/** Shopify CDN: Minification failed

Line 3540:34 Expected "]" to go with "["
Line 3540:71 Unexpected "]"
Line 3786:33 Expected "]" to go with "["
Line 3786:52 Unexpected "]"
Line 3878:29 Expected "]" to go with "["
Line 3878:44 Unexpected "]"
Line 5172:32 Expected "]" to go with "["
Line 5172:59 Unexpected "]"
Line 5179:34 Expected "]" to go with "["
Line 5179:61 Unexpected "]"
... and 12 more hidden warnings

**/
/*!*****************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./src/beta/assets/styles/base.scss ***!
  \*****************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
html {
  /* 10px */
  font-size: 62.5%;
}

body {
  /* 16px */
  font-size: 1.6rem;
  font-family: var(--font-body-family);
  font-weight: var(--font-body-weight);
  font-style: var(--font-body-style);
  text-transform: var(--font-body-transform);
  color: var(--color-text);
  font-style: normal;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
}

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  min-height: 100%;
  scroll-behavior: smooth;
}

body {
  word-wrap: break-word;
  word-break: break-word;
}

*,
::before,
::after {
  background-repeat: no-repeat;
  box-sizing: border-box;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
}

details,
main {
  display: block;
}

main {
  outline: 0;
}

summary {
  display: list-item;
}
summary::-webkit-details-marker {
  display: none;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

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

a {
  background-color: transparent;
  cursor: pointer;
}

a:active,
a:hover {
  outline-width: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
  white-space: normal;
}

b,
strong {
  font-weight: bolder;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  max-width: 100%;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

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

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -0.2rem;
}

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

textarea {
  overflow: auto;
  resize: vertical;
}

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

optgroup {
  font-weight: bold;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit],
[role=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-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

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

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

input[type=number] {
  -moz-appearance: textfield;
}

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

select::-ms-value {
  color: currentColor;
}

[dir="ltr"] fieldset{
  margin-left: 0;
}

[dir="rtl"] fieldset{
  margin-right: 0;
}

[dir="ltr"] fieldset{
  margin-right: 0;
}

[dir="rtl"] fieldset{
  margin-left: 0;
}

[dir="ltr"] fieldset{
  padding-left: 0;
}

[dir="rtl"] fieldset{
  padding-right: 0;
}

[dir="ltr"] fieldset{
  padding-right: 0;
}

[dir="rtl"] fieldset{
  padding-left: 0;
}

fieldset {
  padding-top: 0;
  padding-bottom: 0;
  border: none;
  min-width: -moz-min-content;
  min-width: min-content;
}

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

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

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

*:-internal-direct-focus {
  outline-width: 0;
}

@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    box-shadow: none !important;
    color: #000000 !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]::after {
    content: " (" attr(href) ")";
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .features-bar,
  .hero-basic .img-absolute,
  .hero-basic .shopify-section .section__wrapper-background,
  .shopify-section .hero-basic .section__wrapper-background,
  .hero-basic .img-absolute--logo,
  .hero-basic .img-absolute--no-index,
  .related-articles,
  .recommended-products,
  .footer,
  .template-article .logos,
  .template-product .logos,
  .feature {
    display: none;
  }
  #nav-wrapper {
    position: relative !important;
    margin-top: 0 !important;
  }
  main {
    padding-top: 0;
  }
}
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

summary {
  cursor: pointer;
  list-style: none;
  position: relative;
}

details > * {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  color: var(--color-text-links);
  transition: color 0.2s;
  backface-visibility: hidden;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, strong a, p a, table a, tr a, td a, th a {
  border-bottom: 1px solid;
}
a:hover, a:active, a:focus {
  color: var(--color-text-links-hover);
}
a:hover:not(.button):not(.button--circle):not(.disabled.button--circle):not(.button--circle:disabled):not([aria-disabled=true].button--circle):not(.button.disabled):not(.disabled.button--circle):not(.disabled.button--default):not(.disabled.button--primary):not(.disabled.button--inverted):not(.disabled.button--secondary):not(.disabled.button--pill):not(.disabled.button--add-to-cart--inverted):not(.disabled.button--add-to-cart--secondary):not(.disabled.button--xs):not(.disabled.button--xs-inverted):not(.disabled.button--xs-secondary):not(.disabled.button--sm):not(.disabled.button--sm-inverted):not(.disabled.button--sm-secondary):not(.disabled.button--lg):not(.disabled.button--lg-inverted):not(.disabled.button--lg-secondary):not(.disabled.button--xl):not(.disabled.button--xl-inverted):not(.disabled.button--xl-secondary):not(.button:disabled):not(.button--circle:disabled):not(.button--default:disabled):not(.button--primary:disabled):not(.button--inverted:disabled):not(.button--secondary:disabled):not(.button--pill:disabled):not(.button--add-to-cart--inverted:disabled):not(.button--add-to-cart--secondary:disabled):not(.button--xs:disabled):not(.button--xs-inverted:disabled):not(.button--xs-secondary:disabled):not(.button--sm:disabled):not(.button--sm-inverted:disabled):not(.button--sm-secondary:disabled):not(.button--lg:disabled):not(.button--lg-inverted:disabled):not(.button--lg-secondary:disabled):not(.button--xl:disabled):not(.button--xl-inverted:disabled):not(.button--xl-secondary:disabled):not(.button[aria-disabled=true]):not([aria-disabled=true].button--circle):not([aria-disabled=true].button--default):not([aria-disabled=true].button--primary):not([aria-disabled=true].button--inverted):not([aria-disabled=true].button--secondary):not([aria-disabled=true].button--pill):not([aria-disabled=true].button--add-to-cart--inverted):not([aria-disabled=true].button--add-to-cart--secondary):not([aria-disabled=true].button--xs):not([aria-disabled=true].button--xs-inverted):not([aria-disabled=true].button--xs-secondary):not([aria-disabled=true].button--sm):not([aria-disabled=true].button--sm-inverted):not([aria-disabled=true].button--sm-secondary):not([aria-disabled=true].button--lg):not([aria-disabled=true].button--lg-inverted):not([aria-disabled=true].button--lg-secondary):not([aria-disabled=true].button--xl):not([aria-disabled=true].button--xl-inverted):not([aria-disabled=true].button--xl-secondary):not(.button--xl):not(.button--xl-inverted):not(.button--xl-secondary):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):not(.button--sm):not(.button--sm-inverted):not(.button--sm-secondary):not(.button--xs):not(.button--xs-inverted):not(.button--xs-secondary):not(.button--inverted):not(.button--secondary):not(.button--pill):not(.button--add-to-cart--inverted):not(.button--add-to-cart--secondary):not(.button--xl-inverted):not(.button--xl-secondary):not(.button--lg-inverted):not(.button--lg-secondary):not(.button--sm-inverted):not(.button--sm-secondary):not(.button--xs-inverted):not(.button--xs-secondary):not(.button--default):not(.button--primary):not(.banner__wrapper) .icon, a:active:not(.button):not(.button--circle):not(.disabled.button--circle):not(.button--circle:disabled):not([aria-disabled=true].button--circle):not(.button.disabled):not(.disabled.button--circle):not(.disabled.button--default):not(.disabled.button--primary):not(.disabled.button--inverted):not(.disabled.button--secondary):not(.disabled.button--pill):not(.disabled.button--add-to-cart--inverted):not(.disabled.button--add-to-cart--secondary):not(.disabled.button--xs):not(.disabled.button--xs-inverted):not(.disabled.button--xs-secondary):not(.disabled.button--sm):not(.disabled.button--sm-inverted):not(.disabled.button--sm-secondary):not(.disabled.button--lg):not(.disabled.button--lg-inverted):not(.disabled.button--lg-secondary):not(.disabled.button--xl):not(.disabled.button--xl-inverted):not(.disabled.button--xl-secondary):not(.button:disabled):not(.button--circle:disabled):not(.button--default:disabled):not(.button--primary:disabled):not(.button--inverted:disabled):not(.button--secondary:disabled):not(.button--pill:disabled):not(.button--add-to-cart--inverted:disabled):not(.button--add-to-cart--secondary:disabled):not(.button--xs:disabled):not(.button--xs-inverted:disabled):not(.button--xs-secondary:disabled):not(.button--sm:disabled):not(.button--sm-inverted:disabled):not(.button--sm-secondary:disabled):not(.button--lg:disabled):not(.button--lg-inverted:disabled):not(.button--lg-secondary:disabled):not(.button--xl:disabled):not(.button--xl-inverted:disabled):not(.button--xl-secondary:disabled):not(.button[aria-disabled=true]):not([aria-disabled=true].button--circle):not([aria-disabled=true].button--default):not([aria-disabled=true].button--primary):not([aria-disabled=true].button--inverted):not([aria-disabled=true].button--secondary):not([aria-disabled=true].button--pill):not([aria-disabled=true].button--add-to-cart--inverted):not([aria-disabled=true].button--add-to-cart--secondary):not([aria-disabled=true].button--xs):not([aria-disabled=true].button--xs-inverted):not([aria-disabled=true].button--xs-secondary):not([aria-disabled=true].button--sm):not([aria-disabled=true].button--sm-inverted):not([aria-disabled=true].button--sm-secondary):not([aria-disabled=true].button--lg):not([aria-disabled=true].button--lg-inverted):not([aria-disabled=true].button--lg-secondary):not([aria-disabled=true].button--xl):not([aria-disabled=true].button--xl-inverted):not([aria-disabled=true].button--xl-secondary):not(.button--xl):not(.button--xl-inverted):not(.button--xl-secondary):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):not(.button--sm):not(.button--sm-inverted):not(.button--sm-secondary):not(.button--xs):not(.button--xs-inverted):not(.button--xs-secondary):not(.button--inverted):not(.button--secondary):not(.button--pill):not(.button--add-to-cart--inverted):not(.button--add-to-cart--secondary):not(.button--xl-inverted):not(.button--xl-secondary):not(.button--lg-inverted):not(.button--lg-secondary):not(.button--sm-inverted):not(.button--sm-secondary):not(.button--xs-inverted):not(.button--xs-secondary):not(.button--default):not(.button--primary):not(.banner__wrapper) .icon, a:focus:not(.button):not(.button--circle):not(.disabled.button--circle):not(.button--circle:disabled):not([aria-disabled=true].button--circle):not(.button.disabled):not(.disabled.button--circle):not(.disabled.button--default):not(.disabled.button--primary):not(.disabled.button--inverted):not(.disabled.button--secondary):not(.disabled.button--pill):not(.disabled.button--add-to-cart--inverted):not(.disabled.button--add-to-cart--secondary):not(.disabled.button--xs):not(.disabled.button--xs-inverted):not(.disabled.button--xs-secondary):not(.disabled.button--sm):not(.disabled.button--sm-inverted):not(.disabled.button--sm-secondary):not(.disabled.button--lg):not(.disabled.button--lg-inverted):not(.disabled.button--lg-secondary):not(.disabled.button--xl):not(.disabled.button--xl-inverted):not(.disabled.button--xl-secondary):not(.button:disabled):not(.button--circle:disabled):not(.button--default:disabled):not(.button--primary:disabled):not(.button--inverted:disabled):not(.button--secondary:disabled):not(.button--pill:disabled):not(.button--add-to-cart--inverted:disabled):not(.button--add-to-cart--secondary:disabled):not(.button--xs:disabled):not(.button--xs-inverted:disabled):not(.button--xs-secondary:disabled):not(.button--sm:disabled):not(.button--sm-inverted:disabled):not(.button--sm-secondary:disabled):not(.button--lg:disabled):not(.button--lg-inverted:disabled):not(.button--lg-secondary:disabled):not(.button--xl:disabled):not(.button--xl-inverted:disabled):not(.button--xl-secondary:disabled):not(.button[aria-disabled=true]):not([aria-disabled=true].button--circle):not([aria-disabled=true].button--default):not([aria-disabled=true].button--primary):not([aria-disabled=true].button--inverted):not([aria-disabled=true].button--secondary):not([aria-disabled=true].button--pill):not([aria-disabled=true].button--add-to-cart--inverted):not([aria-disabled=true].button--add-to-cart--secondary):not([aria-disabled=true].button--xs):not([aria-disabled=true].button--xs-inverted):not([aria-disabled=true].button--xs-secondary):not([aria-disabled=true].button--sm):not([aria-disabled=true].button--sm-inverted):not([aria-disabled=true].button--sm-secondary):not([aria-disabled=true].button--lg):not([aria-disabled=true].button--lg-inverted):not([aria-disabled=true].button--lg-secondary):not([aria-disabled=true].button--xl):not([aria-disabled=true].button--xl-inverted):not([aria-disabled=true].button--xl-secondary):not(.button--xl):not(.button--xl-inverted):not(.button--xl-secondary):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):not(.button--sm):not(.button--sm-inverted):not(.button--sm-secondary):not(.button--xs):not(.button--xs-inverted):not(.button--xs-secondary):not(.button--inverted):not(.button--secondary):not(.button--pill):not(.button--add-to-cart--inverted):not(.button--add-to-cart--secondary):not(.button--xl-inverted):not(.button--xl-secondary):not(.button--lg-inverted):not(.button--lg-secondary):not(.button--sm-inverted):not(.button--sm-secondary):not(.button--xs-inverted):not(.button--xs-secondary):not(.button--default):not(.button--primary):not(.banner__wrapper) .icon {
  color: var(--color-icon-hover);
}

p button {
  border-bottom: 1px solid;
  color: inherit;
}

a:empty,
ul:empty,
dl:empty,
div:empty:not(.product-recommendations):not(.swiper-scrollbar-drag):not(#arrow):not(.swiper-lazy-preloader),
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
  display: none;
}

p,
figure {
  margin: 0;
  padding: 0;
}

a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
  touch-action: manipulation;
}

[hreflang] > abbr[title] {
  text-decoration: none;
}

table {
  border-spacing: 0;
}

button {
  cursor: pointer;
  color: var(--color-text-links);
}
button:hover, button:active, button:focus {
  color: var(--color-text-links);
}

img {
  max-width: 100%;
  font-style: italic;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

@media (max-width: 63.99em) {
  .swiper[data-mobile-layout=grid] {
    overflow: visible;
  }
}
@media (max-width: 63.99em) {
  .swiper[data-tablet-layout=grid] {
    overflow: visible;
  }
}
@media (min-width: 64em) {
  .swiper[data-desktop-layout=grid] {
    overflow: visible;
  }
}

.swiper-spacer {
  height: 0;
}

.swiper-button-next,
.swiper-button-prev {
  cursor: pointer;
  padding: 0 0.8rem;
  box-sizing: content-box;
  transition: all 0.4s;
  margin: 0;
  transform: translate(0, 0);
  color: var(--color-icon);
}
.swiper-button-next:hover, .swiper-button-next:active, .swiper-button-next:focus,
.swiper-button-prev:hover,
.swiper-button-prev:active,
.swiper-button-prev:focus {
  color: var(--color-icon-hover);
}
@media (min-width: 64em) {
  .swiper-button-next:hover, .swiper-button-next:active, .swiper-button-next:focus,
  .swiper-button-prev:hover,
  .swiper-button-prev:active,
  .swiper-button-prev:focus {
    transform: translate(0.4rem, 0);
  }
}

.swiper-button-prev {
  transform: translate(0, 0);
}
@media (min-width: 64em) {
  .swiper-button-prev:hover, .swiper-button-prev:active, .swiper-button-prev:focus {
    transform: translate(-0.4rem, 0);
  }
}

.swiper-scrollbar.swiper-scrollbar-horizontal {
  top: 0 !important;
  background: var(--color-background-alt) !important;
  border-radius: var(--border-radius) !important;
  position: relative !important;
  left: 0 !important;
  width: 100% !important;
}
.swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag {
  background: var(--color-icon) !important;
  border-radius: var(--border-radius) !important;
}
.swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag {
  cursor: pointer;
  height: 0.4rem;
}
.swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag:hover, .swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag:active, .swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag:focus {
  background: var(--color-icon-hover) !important;
}

.swiper-pagination {
  text-align: left;
  white-space: nowrap;
}
.swiper-pagination:not(.swiper-pagination-progressbar) {
  position: relative !important;
}
.swiper-pagination.swiper-pagination-fraction {
  padding: 0 1.6rem 0 0;
}
.swiper-pagination-progressbar {
  background: var(--color-background-alt);
  position: absolute;
  width: 100%;
  height: 0.4rem;
  left: 0;
  top: 0;
  border-radius: var(--border-radius);
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--color-icon);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
  border-radius: var(--border-radius);
}
.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic):not(.swiper-pagination-progressbar) span {
  padding: 0.8rem;
}
.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic):not(.swiper-pagination-progressbar) span:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  background: var(--color-icon);
  border-radius: 100%;
  cursor: pointer;
  transform: scale(1);
  transition: all 0.4s;
}
.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic):not(.swiper-pagination-progressbar) span:hover:before, .swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic):not(.swiper-pagination-progressbar) span.swiper-pagination-bullet-active:before {
  transform: scale(1.4);
  background: var(--color-icon-hover);
}
.swiper-pagination-bullets:not(.swiper-pagination-bullets-dynamic) {
  display: flex;
  flex-wrap: wrap;
}
.swiper-pagination-bullets.swiper-pagination-bullets-dynamic span {
  transform: scale(0);
  transition: 200ms transform, 200ms left;
  margin: 0 4px;
  position: relative;
  width: 0.8rem;
  height: 0.8rem;
  display: inline-block;
  border-radius: 50%;
  opacity: 0.2;
  background: var(--color-icon);
  margin: 0.8rem;
}
.swiper-pagination-bullets.swiper-pagination-bullets-dynamic span.swiper-pagination-bullet-active-next-next, .swiper-pagination-bullets.swiper-pagination-bullets-dynamic span.swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}
.swiper-pagination-bullets.swiper-pagination-bullets-dynamic span.swiper-pagination-bullet-active-next, .swiper-pagination-bullets.swiper-pagination-bullets-dynamic span.swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}
.swiper-pagination-bullets.swiper-pagination-bullets-dynamic span.swiper-pagination-bullet-active-main {
  transform: scale(1);
  opacity: 1;
  background: var(--color-icon-hover);
}

.swiper-thumbnails {
  width: 100%;
  overflow: hidden;
}
@media (min-width: 64em) {
  .swiper-thumbnails {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
  }
}
.swiper-thumbnails-nav {
  display: none;
}
@media (min-width: 64em) {
  .swiper-thumbnails-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.8rem;
  }
}
.swiper-thumbnails-nav .icon {
  padding: 0;
}
.swiper-thumbnails-nav .icon:hover, .swiper-thumbnails-nav .icon:active, .swiper-thumbnails-nav .icon:focus {
  cursor: pointer;
  color: var(--color-icon-hover);
}
@media (min-width: 64em) {
  .swiper-thumbnails .swiper {
    overflow: hidden !important;
  }
  .swiper-thumbnails .swiper {
    height: 55rem;
  }
}
.swiper-thumbnails .swiper figure {
  border-radius: var(--border-radius);
  cursor: pointer;
  border: 1px solid transparent;
}
.swiper-thumbnails .swiper figure .icon {
  position: absolute;
  right: 0.4rem;
  bottom: 0.4rem;
  color: var(--color-icon);
  background: var(--color-background-body);
  border-radius: 100%;
  padding: 0.4rem;
  font-size: 1rem;
  width: 1.6rem;
  height: 1.6rem;
}
.swiper-thumbnails .swiper .swiper-slide.swiper-slide-thumb-active figure {
  border-color: var(--color-border);
}

.pagination {
  display: flex;
  flex-direction: row;
  margin: 4rem 0 0;
  padding: 1.6rem 3.2rem;
  background: var(--color-background-alt);
  border-radius: var(--border-radius);
  width: 100%;
  justify-content: center;
  grid-column: 1/-1;
}
.pagination a,
.pagination span {
  color: var(--color-text-links);
  padding: 1.6rem 2.4rem;
  font-weight: 500;
  display: flex;
  line-height: 1.5;
  align-items: center;
  gap: 0.8rem;
}
.pagination a:not(span):hover,
.pagination span:not(span):hover {
  color: var(--color-text-links-hover);
}
.pagination__item--current {
  position: relative;
}
.pagination__item--current:after {
  content: "";
  display: block;
  width: 2rem;
  height: 1px;
  position: absolute;
  bottom: 0.8rem;
  left: 50%;
  transform: translate(-50%);
  background-color: currentColor;
}

.tags {
  flex-wrap: wrap;
  gap: 1.2rem;
}

.usp {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  margin: 0;
}

.grecaptcha-badge {
  z-index: -9999 !important;
}

.tooltip {
  cursor: pointer;
}

.tooltip-content {
  visibility: hidden;
  transition: visibility 0s 0.3s;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.tooltip-content__wrapper {
  opacity: 0;
  width: 30rem;
  transform: translateY(-1rem);
  transition: opacity 0.3s 0s, transform 0.3s 0s;
}
.tooltip-content[data-show] {
  visibility: visible;
  transition: visibility 0s 0s;
  z-index: 10;
}
.tooltip-content[data-show] .tooltip-content__wrapper {
  opacity: 1;
  transform: translateY(0);
}

.gift-card-page {
  padding: 3.2rem 0;
}
.gift-card-page .container .main-product__blocks {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.gift-card-page .container .main-product__blocks > * {
  margin: 0;
  padding: 0;
}
.gift-card-page__copy-success {
  display: flex;
  align-items: center;
  margin: 0;
}
.gift-card-page__number {
  width: 100%;
}
.gift-card-page_buttons.no-print {
  margin: 1.6rem 0 0 0 !important;
}

input.gift-card__number {
  color: var(--color-text);
}

.stock-status p {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  line-height: 1.5;
  margin: 0;
}
.stock-status p span {
  opacity: 1 !important;
}
.stock-status p span {
  margin: 0 0.8rem 0 0;
}
.stock-status p.in-stock .icon {
  color: #00aa00;
}
.stock-status p.low-stock .icon {
  color: #5067b0;
}
.stock-status p.out-of-stock .icon {
  color: #fc7053;
}

.price-item,
.stock-status p {
  opacity: 1;
}

.skeleton-loading {
  pointer-events: none;
  position: relative;
  transition: 1s;
}
.skeleton-loading div,
.skeleton-loading span,
.skeleton-loading .price-item,
.skeleton-loading p {
  opacity: 0;
}

.skeleton-loading::before {
  content: "";
  position: absolute;
  left: 0%;
  top: 0;
  height: 100%;
  width: 100%;
  background: var(--color-text);
  background: linear-gradient(110deg, rgba(var(--color-text-rgb), 0) 8%, rgba(var(--color-text-rgb), 0.16), 40%, rgba(var(--color-text-rgb), 0) 64%);
  background-position-x: 0%;
  border-radius: var(--border-radius);
  background-size: 200% 100%;
  animation: 1.2s shine linear infinite;
}

@keyframes shine {
  to {
    background-position-x: -200%;
  }
}
.product-recommendations .icon {
  opacity: 1 !important;
}

sticky-engine {
  display: block;
  position: sticky;
  top: var(--sticky-engine-padding);
}

swiper-container {
  display: flex;
  gap: var(--gap);
}
@media (max-width: 63.99em) {
  swiper-container[data-mobile-layout=slider] {
    opacity: 0;
  }
  .slider-enabled swiper-container[data-mobile-layout=slider] {
    opacity: 1;
  }
}
@media (min-width: 48em) and (max-width: 63.99em) {
  swiper-container[data-tablet-layout=slider] {
    opacity: 0;
  }
  .slider-enabled swiper-container[data-tablet-layout=slider] {
    opacity: 1;
  }
}
@media (min-width: 64em) {
  swiper-container[data-desktop-layout=slider] {
    opacity: 0;
  }
  .slider-enabled swiper-container[data-desktop-layout=slider] {
    opacity: 1;
  }
}

body {
  background: var(--color-background-body);
}

.container {
  position: relative;
  width: var(--container-width);
  margin: 0 auto;
  max-width: 100%;
}
.container--default {
  position: relative;
  width: var(--container-width);
  margin: 0 auto;
  max-width: calc(100% - var(--gap));
}
@media (min-width: 64em) {
  .container--default {
    max-width: calc(100% - var(--gap) * 2);
  }
}
.container--full_width {
  max-width: 100%;
  margin: 0 calc(var(--gap) / 2);
  position: relative;
  border-radius: var(--border-radius);
}
@media (min-width: 64em) {
  .container--full_width {
    margin: 0 var(--gap);
  }
}
.container--full_bleed {
  border-radius: 0 !important;
}
.container--full_bleed:not(.inset):not(.section--with-background) .grid-content__header, .container--full_bleed:not(.inset):not(.section--with-background) .u-grid .rich-text__wrapper, .container--full_bleed:not(.inset):not(.section--with-background) .hero__wrapper, .container--full_bleed:not(.inset):not(.section--with-background) .slideshow-text-controls__controller,
.container--full_bleed .main-product__blocks, .container--full_bleed.inset {
  padding-left: calc(var(--gap) / 2);
  padding-right: calc(var(--gap) / 2);
}
@media (min-width: 64em) {
  .container--full_bleed:not(.inset):not(.section--with-background) .grid-content__header, .container--full_bleed:not(.inset):not(.section--with-background) .u-grid .rich-text__wrapper, .container--full_bleed:not(.inset):not(.section--with-background) .hero__wrapper, .container--full_bleed:not(.inset):not(.section--with-background) .slideshow-text-controls__controller,
  .container--full_bleed .main-product__blocks, .container--full_bleed.inset {
    padding-left: var(--gap);
    padding-right: var(--gap);
  }
}
.container--full_bleed .section__wrapper--overlay {
  border-radius: 0 !important;
}
.shopify-section.banner .container--full_bleed.container-width--none .banner__wrapper:before,
.shopify-section.banner .container--full_bleed.container-width--none .banner__wrapper,
.shopify-section.banner .container--full_bleed.container-width--none .banner__background {
  border-radius: 0 !important;
}
.shopify-section.banner .container--full_bleed.container-width--none .banner__wrapper:before,
.shopify-section.banner .container--full_bleed.container-width--none .banner__wrapper,
.shopify-section.banner .container--full_bleed.container-width--none .banner__background {
  border-left: 0;
  border-right: 0;
}

.card {
  border-radius: var(--border-radius);
  border: 1px solid var(--color-border-card);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-self: start;
  z-index: 0;
  background: var(--color-background-card);
  transform: scale(1);
  backface-visibility: hidden;
  transition: all 0.4s;
  max-width: 100%;
  overflow: hidden;
}
.card__image {
  height: 100%;
  position: relative;
}
.card__image img, .card__image video {
  transition: all 0.4s;
  background: var(--color-background-card);
}
.card__image figure {
  min-height: auto !important;
}
.card__image figure {
  z-index: 0;
  height: 100%;
  overflow: hidden;
  background: var(--color-background-card);
}
.card__image figure img + img, .card__image figure img + video, .card__image figure img + product-model, .card__image figure img + iframe, .card__image figure video + img, .card__image figure video + video, .card__image figure video + product-model, .card__image figure video + iframe, .card__image figure product-model + img, .card__image figure product-model + video, .card__image figure product-model + product-model, .card__image figure product-model + iframe, .card__image figure iframe + img, .card__image figure iframe + video, .card__image figure iframe + product-model, .card__image figure iframe + iframe {
  opacity: 0 !important;
  position: absolute !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
}
.card__image figure img + img, .card__image figure img + video, .card__image figure img + product-model, .card__image figure img + iframe, .card__image figure video + img, .card__image figure video + video, .card__image figure video + product-model, .card__image figure video + iframe, .card__image figure product-model + img, .card__image figure product-model + video, .card__image figure product-model + product-model, .card__image figure product-model + iframe, .card__image figure iframe + img, .card__image figure iframe + video, .card__image figure iframe + product-model, .card__image figure iframe + iframe {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.card__image figure img + product-model, .card__image figure video + product-model, .card__image figure product-model + product-model, .card__image figure iframe + product-model {
  background: var(--color-background-card);
}
.card__image .swiper {
  overflow: hidden;
}
.card__image .swiper[data-desktop-layout=grid] {
  overflow: hidden !important;
}
.card__image--slider .swiper {
  display: flex;
  flex-direction: column;
}
.card__image--slider .swiper[data-display-pagination=true][data-display-navigation=true] {
  margin-bottom: -1.2rem;
}
@media (min-width: 64em) {
  .card__image--slider .swiper[data-display-pagination=true][data-display-navigation=true] {
    margin-bottom: -1.6rem;
  }
}
.card__image--slider .swiper[data-display-pagination=true][data-display-navigation=false] {
  margin-bottom: -0.6rem;
}
@media (min-width: 64em) {
  .card__image--slider .swiper[data-display-pagination=true][data-display-navigation=false] {
    margin-bottom: -0.8rem;
  }
}
.card__image--slider .swiper-wrapper {
  display: flex;
  height: 100%;
}
.card__image--slider .swiper-slide {
  height: auto;
  flex-shrink: 0;
}
.card__image--slider .gallery-controls {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.2rem;
  margin: 0 0.8rem;
  min-height: 4px;
}
.card__image--slider .gallery-controls .swiper-pagination {
  padding: 0.8rem 0;
}
.card__image--slider .gallery-controls .swiper-pagination.swiper-pagination-progressbar {
  padding: 0;
}
.card__image--slider .gallery-controls.gallery-controls--pagination.gallery-controls--navigation .icon {
  margin-top: 0.4rem;
}
.card__image--slider .gallery-controls .icon {
  padding: 0.8rem 0;
}
.card__image--slider .gallery-controls .swiper-button-prev + .swiper-pagination {
  margin: 0 !important;
}
.card__image--slider .gallery-controls .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute !important;
}
.card__caption {
  color: var(--color-heading-card);
  text-transform: var(--font-caption-transform);
}
.card__description, .card__title {
  transition: 0.2s;
}
.card__title {
  color: var(--color-heading-card);
  font-family: var(--font-card-heading-family);
  font-weight: var(--font-card-heading-weight);
  font-style: var(--font-card-heading-style);
  text-transform: var(--font-card-heading-transform);
  font-size: 2rem;
  line-height: 1.25;
  word-break: break-word;
}
.card__description {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  color: var(--color-text-card);
}
.card__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.2rem;
  gap: 1.6rem;
  z-index: 1;
  flex: 1;
}
@media (min-width: 64em) {
  .card__content {
    padding: 1.6rem;
  }
}
.card__content variant-selects {
  margin: 1.6rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.card__content + .card__bottom {
  padding: 0 1.6rem 1.6rem;
}
.card__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  -moz-column-gap: 1.6rem;
       column-gap: 1.6rem;
  row-gap: 0.8rem;
}
.card__bottom .price {
  flex: 1;
  word-break: normal;
  white-space: nowrap;
}
.card__bottom .price__regular {
  color: inherit;
}
.card__bottom .button--plain, .card__bottom .button--plain-xs, .card__bottom .button--plain-sm {
  color: inherit;
}
.card__blog-title {
  text-transform: var(--font-caption-transform);
  color: var(--color-text-card);
}
.card__badge {
  height: auto !important;
}
.card__badge {
  position: absolute;
  top: 0rem;
  right: 0rem;
  border-radius: 0 0 0 var(--border-radius);
  font-size: 1.2rem;
  font-weight: var(--font-body-weight-bold);
  z-index: 2;
  margin: 0;
  padding: 0.4rem 0.8rem;
  background: var(--color-background-alt);
}
@media (min-width: 64em) {
  .card__badge {
    padding: 0.8rem 1.6rem;
  }
}
.card__badge--out-of-stock {
  color: #fc7053 !important;
}
.card__badge--on-sale {
  color: var(--color-sale) !important;
}
.card shopify-payment-terms {
  display: none;
}
.card--style-banner.card--text-v__top.card--badge .card__content, .card--style-no_image.card--text-v__top.card--badge .card__content {
  padding-bottom: 4.4rem;
}
.card--style-banner.card--text-v__bottom.card--badge .card__content, .card--style-banner.card--text-v__center.card--badge .card__content, .card--style-no_image.card--text-v__bottom.card--badge .card__content, .card--style-no_image.card--text-v__center.card--badge .card__content {
  padding-top: 4.4rem;
}
.card--style-no_padding .card__image--slider .swiper {
  gap: 0;
}
.card--style-no_padding .card__image--slider .swiper .gallery-controls {
  margin: 0;
}
.card--style-padding .card__image--slider {
  margin: 0;
}
.card--style-padding swiper-container swiper-slide {
  padding-top: 0.8rem;
}
.card--style-padding swiper-container swiper-slide:first-child {
  margin-left: 0.8rem;
}
@media (min-width: 64em) {
  .card--style-padding swiper-container[data-desktop-slides-per-view="1"] swiper-slide {
    padding: 0.8rem;
  }
  .card--style-padding swiper-container[data-desktop-slides-per-view="1"] swiper-slide:first-child {
    margin-left: 0;
  }
}
@media (max-width: 63.99em) {
  .card--style-padding swiper-container[data-mobile-slides-per-view="1"] swiper-slide {
    padding: 0.8rem;
  }
  .card--style-padding swiper-container[data-mobile-slides-per-view="1"] swiper-slide:first-child {
    margin-left: 0;
  }
}
.card--style-padding swiper-container[data-animation-style=fade] swiper-slide {
  padding: 0.8rem;
}
.card--style-padding figure {
  height: auto;
  border-radius: var(--border-radius);
}
.card--style-padding .card__image:not(.slider-enabled) {
  padding: 0.8rem;
}
.card--text-h__center {
  text-align: center;
}
.card--text-h__center .main-product__fieldset--pills div.variant_options {
  justify-content: center;
}
.card--text-h__center .card__bottom {
  flex-direction: column;
  align-items: center;
}
.card--text-h__center .card__bottom .button, .card--text-h__center .card__bottom .shopify-payment-button button, .shopify-payment-button .card--text-h__center .card__bottom button, .card--text-h__center .card__bottom .button--circle, .card--text-h__center .card__bottom .button--xl, .card--text-h__center .card__bottom .button--xl-inverted, .card--text-h__center .card__bottom .button--xl-secondary, .card--text-h__center .card__bottom .button--lg, .card--text-h__center .card__bottom .button--lg-inverted, .card--text-h__center .card__bottom .button--lg-secondary, .card--text-h__center .card__bottom .button--sm, .card--text-h__center .card__bottom .button--sm-inverted, .card--text-h__center .card__bottom .button--sm-secondary, .card--text-h__center .card__bottom .button--xs, .card--text-h__center .card__bottom .button--xs-inverted, .card--text-h__center .card__bottom .button--xs-secondary, .card--text-h__center .card__bottom .button--inverted, .card--text-h__center .card__bottom .button--secondary, .card--text-h__center .card__bottom .button--pill, .card--text-h__center .card__bottom .button--add-to-cart--inverted, .card--text-h__center .card__bottom .button--add-to-cart--secondary, .card--text-h__center .card__bottom .button--default, .card--text-h__center .card__bottom .button--primary {
  align-self: center;
}
.card--text-h__right {
  text-align: right;
}
.card--text-h__right .main-product__fieldset--pills div.variant_options {
  justify-content: right;
}
.card--text-h__right .card__badge {
  left: 0;
  right: auto;
  border-radius: 0 0 var(--border-radius) 0;
}
.card--text-h__right .card__bottom {
  justify-content: flex-end;
}
.card--text-v__top .card__content {
  order: 1;
  justify-content: flex-start;
}
.card--text-v__top:not(.card--style-no_image) .card__image {
  order: 2;
}
.card--text-v__top .card__badge {
  top: auto !important;
}
.card--text-v__top .card__badge {
  bottom: 0;
  border-radius: 0 var(--border-radius) 0 0;
}
.card--text-v__top.card--text-h__right .card__badge {
  border-radius: var(--border-radius) 0 0 0;
}
.card--text-v__top.card--style-padding .card__image {
  margin-top: 0;
}
.card--text-v__top swiper-container {
  flex-flow: column-reverse;
}
.card--text-v__center .card__content {
  justify-content: center;
}
.card--text-v__bottom .card__content {
  justify-content: flex-end;
}
.card--text-v__bottom.card--style-padding .card__image {
  margin-bottom: 0;
}
.card--style-banner {
  border: 1px solid var(--color-border-banner);
  background-color: var(--color-background-banner);
  background-image: var(--color-background-gradient-banner);
}
.card--style-banner .card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.card--style-banner .card__image figure {
  width: 100%;
  border-radius: var(--border-radius);
}
.card--style-banner .card__title {
  color: var(--color-heading-banner);
}
.card--style-banner .card__description {
  color: var(--color-text-banner);
}
.card--style-banner .card__content {
  height: auto;
}
.card--style-banner .card__content,
.card--style-banner .card__bottom {
  color: var(--color-text-banner);
}
.card--style-banner .card__content:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: var(--color-overlay-banner);
  background-image: var(--color-overlay-gradient-banner);
  opacity: calc(var(--opacity-overlay-banner) / 100);
}
.card--testimonial {
  box-shadow: none;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.card--testimonial:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.card--testimonial__content {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border-card);
  box-sizing: border-box;
  border-radius: var(--border-radius);
  padding: 3.6rem 3.6rem 4.8rem;
  background: var(--color-background-card);
  flex: 1;
  justify-content: center;
  align-items: center;
}
.card--testimonial__testimonial {
  padding: 1.2rem 0;
  color: var(--color-text-card);
  font-size: 1.6rem;
  line-height: 1.5;
}
.card--testimonial__source {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-text-card);
}
.card--testimonial__shop {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: -4rem 0 0 0;
}
.card--testimonial__shop a {
  font-weight: 500;
  text-decoration: underline;
}
.card--testimonial__image {
  margin: 0 0 1.6rem 0;
  height: 8rem;
  width: 8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-background-card);
}
.card--testimonial__image--rounded_corners {
  border-radius: var(--border-radius);
  overflow: hidden;
}
.card--testimonial__image--circle {
  border: 1px solid var(--color-border-card);
  background: var(--color-background-card);
  padding: 0.8rem;
  border-radius: 100%;
}
.card--testimonial__image--circle img,
.card--testimonial__image--circle svg {
  border-radius: 100%;
}
.card--testimonial__image--border {
  border: 1px solid var(--color-border-card);
}
.card--testimonial__image img {
  width: 100%;
  height: 100%;
}
.card:hover .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] img:first-child, .card:hover .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] video:first-child, .card:hover .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] product-model:first-child, .card:hover .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] iframe:first-child, .card:active .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] img:first-child, .card:active .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] video:first-child, .card:active .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] product-model:first-child, .card:active .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] iframe:first-child, .card:focus .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] img:first-child, .card:focus .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] video:first-child, .card:focus .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] product-model:first-child, .card:focus .card__image:not(.card__image--slider)[*|\:has\(figure\%20\%3E\%20] iframe:first-child {
  opacity: 0 !important;
}
.card:hover .card__image:not(.card__image--slider):has(figure > * + *) img:first-child, .card:hover .card__image:not(.card__image--slider):has(figure > * + *) video:first-child, .card:hover .card__image:not(.card__image--slider):has(figure > * + *) product-model:first-child, .card:hover .card__image:not(.card__image--slider):has(figure > * + *) iframe:first-child, .card:active .card__image:not(.card__image--slider):has(figure > * + *) img:first-child, .card:active .card__image:not(.card__image--slider):has(figure > * + *) video:first-child, .card:active .card__image:not(.card__image--slider):has(figure > * + *) product-model:first-child, .card:active .card__image:not(.card__image--slider):has(figure > * + *) iframe:first-child, .card:focus .card__image:not(.card__image--slider):has(figure > * + *) img:first-child, .card:focus .card__image:not(.card__image--slider):has(figure > * + *) video:first-child, .card:focus .card__image:not(.card__image--slider):has(figure > * + *) product-model:first-child, .card:focus .card__image:not(.card__image--slider):has(figure > * + *) iframe:first-child {
  opacity: 0 !important;
}
.card:hover .card__image:not(.card__image--slider) img + img, .card:hover .card__image:not(.card__image--slider) img + video, .card:hover .card__image:not(.card__image--slider) img + product-model, .card:hover .card__image:not(.card__image--slider) img + iframe, .card:hover .card__image:not(.card__image--slider) video + img, .card:hover .card__image:not(.card__image--slider) video + video, .card:hover .card__image:not(.card__image--slider) video + product-model, .card:hover .card__image:not(.card__image--slider) video + iframe, .card:hover .card__image:not(.card__image--slider) product-model + img, .card:hover .card__image:not(.card__image--slider) product-model + video, .card:hover .card__image:not(.card__image--slider) product-model + product-model, .card:hover .card__image:not(.card__image--slider) product-model + iframe, .card:hover .card__image:not(.card__image--slider) iframe + img, .card:hover .card__image:not(.card__image--slider) iframe + video, .card:hover .card__image:not(.card__image--slider) iframe + product-model, .card:hover .card__image:not(.card__image--slider) iframe + iframe, .card:active .card__image:not(.card__image--slider) img + img, .card:active .card__image:not(.card__image--slider) img + video, .card:active .card__image:not(.card__image--slider) img + product-model, .card:active .card__image:not(.card__image--slider) img + iframe, .card:active .card__image:not(.card__image--slider) video + img, .card:active .card__image:not(.card__image--slider) video + video, .card:active .card__image:not(.card__image--slider) video + product-model, .card:active .card__image:not(.card__image--slider) video + iframe, .card:active .card__image:not(.card__image--slider) product-model + img, .card:active .card__image:not(.card__image--slider) product-model + video, .card:active .card__image:not(.card__image--slider) product-model + product-model, .card:active .card__image:not(.card__image--slider) product-model + iframe, .card:active .card__image:not(.card__image--slider) iframe + img, .card:active .card__image:not(.card__image--slider) iframe + video, .card:active .card__image:not(.card__image--slider) iframe + product-model, .card:active .card__image:not(.card__image--slider) iframe + iframe, .card:focus .card__image:not(.card__image--slider) img + img, .card:focus .card__image:not(.card__image--slider) img + video, .card:focus .card__image:not(.card__image--slider) img + product-model, .card:focus .card__image:not(.card__image--slider) img + iframe, .card:focus .card__image:not(.card__image--slider) video + img, .card:focus .card__image:not(.card__image--slider) video + video, .card:focus .card__image:not(.card__image--slider) video + product-model, .card:focus .card__image:not(.card__image--slider) video + iframe, .card:focus .card__image:not(.card__image--slider) product-model + img, .card:focus .card__image:not(.card__image--slider) product-model + video, .card:focus .card__image:not(.card__image--slider) product-model + product-model, .card:focus .card__image:not(.card__image--slider) product-model + iframe, .card:focus .card__image:not(.card__image--slider) iframe + img, .card:focus .card__image:not(.card__image--slider) iframe + video, .card:focus .card__image:not(.card__image--slider) iframe + product-model, .card:focus .card__image:not(.card__image--slider) iframe + iframe {
  opacity: 1 !important;
}
.card:hover:not(.card--style-banner) .card__title, .card:active:not(.card--style-banner) .card__title, .card:focus:not(.card--style-banner) .card__title {
  color: var(--color-text-links-hover);
}
.card:hover:not(.card--style-banner).card--text-display--text .card__description, .card:active:not(.card--style-banner).card--text-display--text .card__description, .card:focus:not(.card--style-banner).card--text-display--text .card__description {
  color: var(--color-text-links-hover);
}

.form__input-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1;
  position: relative;
  background: var(--color-input-background);
  border: 1px solid var(--color-input-border);
  border-radius: var(--border-radius);
  color: var(--color-input-text);
  box-shadow: 0 1px 0.2rem rgba(16, 24, 40, 0.05);
  overflow: hidden;
}
.form__input-wrapper input[type=email],
.form__input-wrapper input[type=text],
.form__input-wrapper input[type=search],
.form__input-wrapper select {
  outline-offset: 0 !important;
}
.form__input-wrapper input[type=email],
.form__input-wrapper input[type=text],
.form__input-wrapper input[type=search],
.form__input-wrapper select {
  flex: 1;
  width: 100%;
  background: transparent;
  z-index: 1;
  color: inherit;
  border-radius: inherit;
}
.form__input-wrapper input[type=email]::-webkit-search-cancel-button,
.form__input-wrapper input[type=text]::-webkit-search-cancel-button,
.form__input-wrapper input[type=search]::-webkit-search-cancel-button,
.form__input-wrapper select::-webkit-search-cancel-button {
  display: none;
}
.form__input-wrapper input[type=email]::-webkit-input-placeholder,
.form__input-wrapper input[type=text]::-webkit-input-placeholder,
.form__input-wrapper input[type=search]::-webkit-input-placeholder,
.form__input-wrapper select::-webkit-input-placeholder {
  font-size: 1.2rem;
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
@media (min-width: 64em) {
  .form__input-wrapper input[type=email]::-webkit-input-placeholder,
  .form__input-wrapper input[type=text]::-webkit-input-placeholder,
  .form__input-wrapper input[type=search]::-webkit-input-placeholder,
  .form__input-wrapper select::-webkit-input-placeholder {
    font-size: 0.92em;
  }
}
.form__input-wrapper input[type=email]:-moz-placeholder,
.form__input-wrapper input[type=text]:-moz-placeholder,
.form__input-wrapper input[type=search]:-moz-placeholder,
.form__input-wrapper select:-moz-placeholder {
  font-size: 1.2rem;
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
@media (min-width: 64em) {
  .form__input-wrapper input[type=email]:-moz-placeholder,
  .form__input-wrapper input[type=text]:-moz-placeholder,
  .form__input-wrapper input[type=search]:-moz-placeholder,
  .form__input-wrapper select:-moz-placeholder {
    font-size: 0.92em;
  }
}
.form__input-wrapper input[type=email]::-moz-placeholder,
.form__input-wrapper input[type=text]::-moz-placeholder,
.form__input-wrapper input[type=search]::-moz-placeholder,
.form__input-wrapper select::-moz-placeholder {
  font-size: 1.2rem;
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
@media (min-width: 64em) {
  .form__input-wrapper input[type=email]::-moz-placeholder,
  .form__input-wrapper input[type=text]::-moz-placeholder,
  .form__input-wrapper input[type=search]::-moz-placeholder,
  .form__input-wrapper select::-moz-placeholder {
    font-size: 0.92em;
  }
}
.form__input-wrapper input[type=email]:-ms-input-placeholder,
.form__input-wrapper input[type=text]:-ms-input-placeholder,
.form__input-wrapper input[type=search]:-ms-input-placeholder,
.form__input-wrapper select:-ms-input-placeholder {
  font-size: 1.2rem;
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
@media (min-width: 64em) {
  .form__input-wrapper input[type=email]:-ms-input-placeholder,
  .form__input-wrapper input[type=text]:-ms-input-placeholder,
  .form__input-wrapper input[type=search]:-ms-input-placeholder,
  .form__input-wrapper select:-ms-input-placeholder {
    font-size: 0.92em;
  }
}
.form__input-wrapper input[type=email],
.form__input-wrapper input[type=text],
.form__input-wrapper input[type=search] {
  padding: 1.6rem 8rem 1.6rem 4rem;
}
@media (min-width: 64em) {
  .form__input-wrapper input[type=email],
  .form__input-wrapper input[type=text],
  .form__input-wrapper input[type=search] {
    padding: 1.6rem 12rem 1.6rem 4rem;
  }
}
.form__input-wrapper select {
  padding: 1.2rem 4rem 1.2rem 1rem;
}
.form__input-wrapper .icon {
  position: absolute;
  z-index: 0;
  margin: 0 0.8rem;
  color: inherit;
}
.form__input-wrapper .expand {
  margin: 0;
}
.form__input-wrapper .button, .form__input-wrapper .shopify-payment-button button, .shopify-payment-button .form__input-wrapper button, .form__input-wrapper .button--circle, .form__input-wrapper .button--xl, .form__input-wrapper .button--xl-inverted, .form__input-wrapper .button--xl-secondary, .form__input-wrapper .button--lg, .form__input-wrapper .button--lg-inverted, .form__input-wrapper .button--lg-secondary, .form__input-wrapper .button--sm, .form__input-wrapper .button--sm-inverted, .form__input-wrapper .button--sm-secondary, .form__input-wrapper .button--xs, .form__input-wrapper .button--xs-inverted, .form__input-wrapper .button--xs-secondary, .form__input-wrapper .button--inverted, .form__input-wrapper .button--secondary, .form__input-wrapper .button--pill, .form__input-wrapper .button--add-to-cart--inverted, .form__input-wrapper .button--add-to-cart--secondary, .form__input-wrapper .button--default, .form__input-wrapper .button--primary {
  position: absolute;
  z-index: 2;
  padding: 0.8rem 1.2rem;
}
.form__input-wrapper .expand,
.form__input-wrapper .button,
.form__input-wrapper .shopify-payment-button button,
.shopify-payment-button .form__input-wrapper button,
.form__input-wrapper .button--circle,
.form__input-wrapper .button--xl,
.form__input-wrapper .button--xl-inverted,
.form__input-wrapper .button--xl-secondary,
.form__input-wrapper .button--lg,
.form__input-wrapper .button--lg-inverted,
.form__input-wrapper .button--lg-secondary,
.form__input-wrapper .button--sm,
.form__input-wrapper .button--sm-inverted,
.form__input-wrapper .button--sm-secondary,
.form__input-wrapper .button--xs,
.form__input-wrapper .button--xs-inverted,
.form__input-wrapper .button--xs-secondary,
.form__input-wrapper .button--inverted,
.form__input-wrapper .button--secondary,
.form__input-wrapper .button--pill,
.form__input-wrapper .button--add-to-cart--inverted,
.form__input-wrapper .button--add-to-cart--secondary,
.form__input-wrapper .button--default,
.form__input-wrapper .button--primary {
  right: 0.8rem;
  top: 50%;
  transform: translateY(-50%);
}

.form__output-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  z-index: 10;
  padding: 1.2rem;
  font-size: 1.4rem;
  line-height: 2.4rem;
}
.form__output-wrapper span {
  margin: 0 0.8rem 0 0.2rem;
  font-size: 2rem;
}

.input-field {
  display: flex;
  flex-direction: column;
  margin: 0 0 2.4rem 0;
}
.input-field label {
  margin: 0 0 0.8rem 0;
}
.input-field input,
.input-field textarea {
  background: var(--color-input-background);
  border: 1px solid var(--color-input-border);
  color: var(--color-input-text);
  box-shadow: 0 1px 0.2rem rgba(16, 24, 40, 0.05);
  border-radius: var(--border-radius);
  padding: 1.2rem 1.6rem;
}
.input-field input::-webkit-input-placeholder,
.input-field textarea::-webkit-input-placeholder {
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
.input-field input:-moz-placeholder,
.input-field textarea:-moz-placeholder {
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
.input-field input::-moz-placeholder,
.input-field textarea::-moz-placeholder {
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}
.input-field input:-ms-input-placeholder,
.input-field textarea:-ms-input-placeholder {
  color: var(--color-input-placeholder);
  text-transform: var(--font-body-transform);
}

.localization-form--select {
  display: flex;
}
.localization-form--select select {
  width: 100%;
  color: var(--color-text);
}
.localization-form button {
  width: 100%;
  margin: 0.8rem 0 0 0;
}
.localization-form details {
  position: relative;
}
.localization-form details summary {
  display: flex;
  align-items: center;
}
.localization-form details[open] summary .icon {
  transform: rotate(-180deg);
}
.localization-form details ul {
  background: var(--color-background-body);
  width: 100%;
  border: 1px solid var(--color-border);
  box-shadow: 0 2rem 6rem rgba(52, 64, 84, 0.08);
  border-radius: var(--border-radius);
  max-height: 10rem;
  overflow: scroll;
  position: absolute;
  top: -4rem;
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
  font-size: 1.2rem;
  text-align: left;
}
.localization-form details ul li {
  padding: 0.8rem;
  transition: 0.4s;
}
.localization-form details ul li a.active {
  font-weight: var(--font-body-weight-bold);
}
.header .localization-form details ul {
  top: 0;
}
.localization-form details[open] ul {
  opacity: 1;
  visibility: visible;
}
.header .localization-form details[open] ul {
  top: 4.4rem;
}

[data-tooltip-trigger] + [data-tooltip] {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  visibility: visible;
  opacity: 1;
  transition: opacity 0.2s;
}
[data-tooltip-trigger] + [data-tooltip].nav--multi-level {
  width: var(--container-width);
  max-width: calc(100vw - var(--gap) * 2);
  min-width: auto;
}
[data-tooltip-trigger] + [data-tooltip] #arrow {
  position: absolute;
  z-index: 5;
  overflow: hidden;
  width: 20px;
  height: 20px;
}
@media (max-width: 63.99em) {
  [data-tooltip-trigger] + [data-tooltip] #arrow {
    display: none;
  }
}
[data-tooltip-trigger] + [data-tooltip] #arrow:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 100%;
  border: 1px solid var(--color-border);
  background: var(--color-background-body);
  height: 100%;
  transform: rotate(45deg);
  left: 0;
}
[data-tooltip-trigger]:not([open]) + [data-tooltip] {
  top: -9999px;
  left: -9999px;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
  transition: visibility 0s 0.3s, opacity 0.3s;
}
[data-tooltip-trigger]:not([open]) + [data-tooltip] .active {
  visibility: hidden;
  opacity: 0;
  transition: all 0s 0.3s;
}

@media (max-width: 63.99em) {
  [data-mobile-view=fullscreen] [data-tooltip-trigger] + [data-tooltip] {
    position: fixed;
    max-width: calc(100% - var(--gap));
  }
}
.tooltip--search {
  transition: 0s !important;
}

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

.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.visually-hidden:active, .visually-hidden:focus {
  clip: auto;
  -webkit-clip-path: none;
          clip-path: none;
  display: block;
  height: auto;
  width: auto;
  z-index: 100000;
  text-decoration: none;
}

@media (prefers-reduced-motion) {
  .u-motion-reduce {
    transition: none !important;
  }
}
.u-show,
.u-hide-none {
  display: block !important;
  visibility: visible !important;
}

.u-flex,
.u-flex-none {
  display: flex !important;
  visibility: visible !important;
}

.u-grid {
  display: grid !important;
}

.u-grid {
  grid-gap: calc(var(--gap) / 2);
  gap: calc(var(--gap) / 2);
}
@media (max-width: 63.99em) {
  .u-grid {
    grid-template-columns: repeat(var(--column-count-mobile), minmax(0, 1fr));
  }
}
@media (min-width: 64em) {
  .u-grid {
    gap: var(--gap);
    grid-template-columns: repeat(var(--column-count-desktop), minmax(0, 1fr));
  }
}

.u-focus-none {
  box-shadow: none !important;
  outline: 0 !important;
}

.u-visible {
  visibility: visible !important;
  opacity: 1 !important;
}

.u-invisible {
  visibility: hidden !important;
  opacity: 0 !important;
}

.no-scrollbar::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}

.w-100 {
  width: 100% !important;
}

@media (min-width: 64em) {
  .display--fill {
    max-width: none !important;
  }
  .display--fill {
    flex: 1;
  }
}
@media (max-width: 63.99em) {
  .display--fill-mobile {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 63.99em) {
  .hide-mobile {
    display: none !important;
  }
}

@media (min-width: 64em) {
  .hide-desktop {
    display: none !important;
  }
}

.video .container,
.image .container {
  display: flex;
  flex-direction: column;
}
.video .text--caption, .video .swiper-pagination.swiper-pagination-fraction,
.image .text--caption,
.image .swiper-pagination.swiper-pagination-fraction {
  max-width: 100%;
  display: block;
}

truncatable-content {
  position: relative;
  display: block;
}
truncatable-content > div {
  overflow: hidden;
  max-height: 9.6rem;
  transition: 0.5s;
}
.facets__facet truncatable-content > div {
  max-height: 16rem;
}
truncatable-content > div.text-sm, .main-product__blocks .shopify_subscriptions_fieldset truncatable-content > div.shopify_subscriptions_app__title, truncatable-content > div.text--caption-lg, truncatable-content > div.button--plain-sm, truncatable-content > div.button--sm, truncatable-content > div.button--sm-inverted, truncatable-content > div.button--sm-secondary {
  max-height: 8.4rem;
}
truncatable-content > div.text-lg, truncatable-content > div.button--lg, truncatable-content > div.button--lg-inverted, truncatable-content > div.button--lg-secondary {
  max-height: 9rem;
}
truncatable-content > div.text-xl, truncatable-content > div.button--xl, truncatable-content > div.button--xl-inverted, truncatable-content > div.button--xl-secondary {
  max-height: 10.8rem;
}
truncatable-content .shrink,
truncatable-content .expand {
  display: none;
  z-index: 1;
  font-size: 1.4rem;
  line-height: 2.4rem;
  width: 100%;
  margin: 0;
  color: var(--color-text);
  cursor: pointer;
  text-decoration: underline;
  transition: all 0.4s;
}
.facets__facet truncatable-content .shrink,
.facets__facet truncatable-content .expand {
  position: absolute;
  text-align: right;
  bottom: 0;
  right: 0;
  padding: 0 0 0 0.8rem;
  background: rgb(var(--color-background-alt-rgb));
  background: linear-gradient(172deg, rgba(var(--color-background-alt-rgb), 0) 50%, rgba(var(--color-background-alt-rgb), 1) 100%);
}
truncatable-content .shrink:hover, truncatable-content .shrink:active, truncatable-content .shrink:focus,
truncatable-content .expand:hover,
truncatable-content .expand:active,
truncatable-content .expand:focus {
  color: var(--color-text-links-hover);
}
truncatable-content.truncated .expand {
  display: block;
}
.facets__facet truncatable-content.truncated:after {
  content: "";
  z-index: 0;
  position: absolute;
  width: 100%;
  height: 2.4rem;
  right: 0;
  bottom: -1px;
  text-align: right;
  background: rgb(var(--color-background-alt-rgb));
  background: linear-gradient(90deg, rgba(var(--color-background-alt-rgb), 0) 0%, rgba(var(--color-background-alt-rgb), 1) 100%);
}
truncatable-content.expanded {
  margin-bottom: 2.4rem;
}
truncatable-content.expanded > div {
  overflow: visible;
}
truncatable-content.expanded .expand {
  display: none;
}
truncatable-content.expanded .shrink {
  display: block;
  background: transparent;
  bottom: -2.4rem;
}
.facets__facet truncatable-content.expanded:after {
  bottom: -2.4rem;
}

.separators {
  display: block;
  width: 100%;
}

.separator {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

hr {
  width: 100%;
}
hr.none {
  border: none;
}
hr.line {
  border-top: 0;
  border-bottom: 1px;
  border-style: solid;
}
hr.dotted {
  border-top: 0;
  border-bottom: 1px;
  border-style: dotted;
}
hr.dashed {
  border-top: 0;
  border-bottom: 1px;
  border-style: dashed;
}

.no-js .no-js-hidden {
  display: none !important;
}

.has-js .has-js-hidden {
  display: none !important;
}

body.no-scroll {
  overflow: hidden;
}
@media (max-width: 63.99em) {
  body.no-scroll--laptop-down {
    overflow: hidden;
  }
}

.overlay {
  position: fixed;
  top: 0;
  height: 100%;
  width: 100%;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s;
}
.overlay.open {
  visibility: visible;
  opacity: 1;
  z-index: 999;
  transition: opacity 0.2s;
}

.above-overlay {
  z-index: 1000 !important;
}
.above-overlay#nav-wrapper {
  z-index: 1001 !important;
}
.above-overlay#nav-wrapper .main-navigation {
  background: var(--color-background-body);
}

@keyframes ux-shake {
  0%, 50%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-0.2rem);
  }
  75% {
    transform: translateX(0.2rem);
  }
}
.ux-shake {
  display: block;
  animation: ux-shake 0.2s 2 ease-out;
}

@media (max-width: 63.99em) {
  .alignment-horizontal-mobile--left {
    justify-content: flex-start;
    text-align: left;
    align-items: flex-start;
  }
  .alignment-horizontal-mobile--left a {
    align-self: flex-start;
  }
  .alignment-horizontal-mobile--center {
    justify-content: center;
    text-align: center;
    align-items: center;
  }
  .alignment-horizontal-mobile--center .social-accounts ul {
    justify-content: center;
  }
  .alignment-horizontal-mobile--center a {
    align-self: center;
  }
  .alignment-horizontal-mobile--right {
    justify-content: flex-end;
    text-align: right;
    align-items: flex-end;
  }
  .alignment-horizontal-mobile--right .social-accounts ul {
    justify-content: flex-end;
  }
  .alignment-horizontal-mobile--right a {
    align-self: flex-end;
  }
}
@media (min-width: 64em) {
  .alignment-horizontal--left a {
    align-self: flex-start;
  }
  .alignment-horizontal--center {
    justify-content: center;
    text-align: center;
    align-items: center;
  }
  .alignment-horizontal--center .social-accounts ul {
    justify-content: center;
  }
  .alignment-horizontal--center a {
    align-self: center;
  }
  .alignment-horizontal--right {
    justify-content: flex-end;
    text-align: right;
    align-items: flex-end;
  }
  .alignment-horizontal--right localization-form {
    margin-right: -0.4rem;
  }
  .alignment-horizontal--right .social-accounts ul {
    justify-content: flex-end;
  }
  .alignment-horizontal--right a {
    align-self: flex-end;
  }
}
.slider-enabled {
  overflow: hidden;
}

.img-absolute, .shopify-section .section__wrapper-background, .img-absolute--logo, .img-absolute--no-index {
  height: 100% !important;
}

.img-absolute, .shopify-section .section__wrapper-background, .img-absolute--logo, .img-absolute--no-index {
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0;
}
.img-absolute--no-index {
  z-index: 0;
}
.img-absolute--logo {
  -o-object-fit: contain;
     object-fit: contain;
  width: 50%;
  left: 0;
  right: 0;
  top: 50%;
  margin: 0 auto;
  height: auto;
  transform: translateY(-50%);
}

.img-placeholder {
  background: rgba(231, 229, 220, 0.48);
  width: 100%;
  height: 100%;
}
.img-placeholder.sticky-add-to-cart__image {
  width: 10rem;
  height: 10rem;
  margin: 0 0.8rem 0 0;
}

figure {
  max-width: 100%;
  position: relative;
  overflow: hidden;
}
figure > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
figure .img-placeholder,
figure object,
figure embed,
figure video,
figure model-viewer {
  -o-object-fit: cover;
     object-fit: cover;
}
figure .img-placeholder,
figure iframe,
figure object,
figure embed,
figure video,
figure model-viewer {
  width: 100% !important;
  height: 100% !important;
}
figure .img-placeholder,
figure iframe,
figure object,
figure embed,
figure video,
figure model-viewer {
  position: absolute;
  top: 0;
  left: 0;
}
figure iframe,
figure object,
figure embed,
figure video,
figure model-viewer {
  border: 0;
}
figure.style--no_padding {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.figure, .figure--video, .figure--external_video {
  max-width: 100%;
  position: relative;
  overflow: hidden;
}
.figure--default video,
.figure--default img:not(.figure--video__external-poster-image),
.figure--default svg {
  -o-object-fit: contain;
     object-fit: contain;
  position: relative;
}
.card .figure--default {
  aspect-ratio: 1/1;
}
.card .figure--default img {
  -o-object-fit: cover;
     object-fit: cover;
}
.figure--default.figure--model {
  aspect-ratio: 1/1;
}
.figure--default .icon {
  position: absolute;
}
.figure--video, .figure--external_video {
  overflow: hidden;
  border-radius: var(--border-radius);
}
.figure--video__poster, .figure--external_video__poster {
  position: absolute;
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: 0.4s;
}
.figure--video__poster span, .figure--external_video__poster span {
  color: var(--color-background-body) !important;
}
.figure--video__poster span, .figure--external_video__poster span {
  width: 6.4rem;
  height: 6.4rem;
  font-size: 6.4rem;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 48;
  transition: 0.4s;
  z-index: 1;
}
.figure--video__poster:hover span, .figure--video__poster:active span, .figure--video__poster:focus span, .figure--external_video__poster:hover span, .figure--external_video__poster:active span, .figure--external_video__poster:focus span {
  transform: scale(1.1);
  color: var(--color-icon-hover);
}
.figure--video__poster.hidden, .figure--external_video__poster.hidden {
  opacity: 0;
  visibility: hidden;
  z-index: 0;
}
.figure--video__poster img, .figure--external_video__poster img {
  margin: 0 !important;
  height: 100% !important;
}
.figure--video__poster img, .figure--external_video__poster img {
  -o-object-fit: cover;
     object-fit: cover;
}
.figure--square {
  aspect-ratio: 1/1;
}
.figure--landscape {
  aspect-ratio: 16/9;
}
.figure--portrait {
  aspect-ratio: 2/3;
}
.figure--widescreen {
  aspect-ratio: 16/9;
}
@media (min-width: 64em) {
  .figure--widescreen {
    aspect-ratio: 2.35/1;
  }
}
.figure--background {
  background: var(--color-background-alt);
}
.figure--video__poster:before, .figure--overlay:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.figure:not(.aspect-ratio--default) .object-fit--cover, .figure--video:not(.aspect-ratio--default) .object-fit--cover, .figure--external_video:not(.aspect-ratio--default) .object-fit--cover {
  width: 100%;
  height: 100%;
}

.image--circle {
  border-radius: 100%;
}
.image--rounded_corners {
  border-radius: var(--border-radius);
  overflow: hidden;
}

.icon {
  opacity: 0;
  transition: opacity 0.1s, transform 0.2s;
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-flex;
  flex-shrink: 0;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga";
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
  width: 2.4rem;
  height: 2.4rem;
  color: var(--color-icon);
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.no-js .icon, .icon.loaded {
  opacity: 1;
}

details .icon {
  color: inherit;
}
details:hover .icon, details:active .icon, details:focus .icon {
  color: inherit;
}

img.variant-image {
  z-index: 2;
  transition: opacity 0.3s linear, visibility 0s 0s linear;
}
img.variant-image.hidden {
  opacity: 0 !important;
}
img.variant-image.hidden {
  z-index: 1;
  transition: opacity 0.6s linear, visibility 0s 0.6s linear;
  visibility: hidden;
  display: none;
}

.text--uppercase {
  text-transform: uppercase;
}
.text--center {
  text-align: center;
}
.text--light {
  font-weight: 300;
}
.text--center {
  text-align: center;
}
.text--right {
  text-align: right;
}
@media (min-width: 64em) {
  .text--nowrap {
    white-space: nowrap;
  }
}

.aspect-ratio--default {
  aspect-ratio: auto;
  height: -moz-fit-content;
  height: fit-content;
}
.aspect-ratio--default > video,
.aspect-ratio--default > img:not(.figure--video__external-poster-image),
.aspect-ratio--default > svg {
  -o-object-fit: contain;
     object-fit: contain;
  position: relative;
  height: auto;
}
@media (min-width: 64em) {
  .aspect-ratio--default.figure--video-external {
    aspect-ratio: 16/9;
  }
}
.aspect-ratio--default.figure--model {
  aspect-ratio: 1/1;
}
.aspect-ratio--landscape {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 16/9;
}
.aspect-ratio--portrait {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 2/3;
}
.aspect-ratio--square {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1/1;
}
.aspect-ratio--ultrawide {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 4/1;
}
.aspect-ratio--megawide {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 6.4/1;
}
.aspect-ratio--widescreen {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 2.35/1;
}
.aspect-ratio--circle, .button--circle {
  border-radius: 100% !important;
}
.aspect-ratio--circle, .button--circle {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1;
}
@media (max-width: 63.99em) {
  .aspect-ratio__mobile--default {
    aspect-ratio: auto;
    height: -moz-fit-content;
    height: fit-content;
  }
  .aspect-ratio__mobile--default > video:not(.banner__background),
  .aspect-ratio__mobile--default > img:not(.figure--video__external-poster-image):not(.banner__background),
  .aspect-ratio__mobile--default > svg:not(.banner__background) {
    -o-object-fit: contain;
       object-fit: contain;
    position: relative;
  }
  .aspect-ratio__mobile--default > video {
    aspect-ratio: 16/9;
  }
  .aspect-ratio__mobile--default.figure--video-external {
    aspect-ratio: 16/9;
  }
  .aspect-ratio__mobile--square {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 1/1;
  }
  .aspect-ratio__mobile--landscape {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 16/9;
  }
  .aspect-ratio__mobile--portrait {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 9/16;
  }
  .aspect-ratio__mobile--widescreen {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 2.35/1;
  }
  .aspect-ratio__mobile--ultrawide {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 4/1;
  }
  .aspect-ratio__mobile--megawide {
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 6.4/1;
  }
}

.object-fit--cover {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}
.object-fit--contain {
  -o-object-fit: contain !important;
     object-fit: contain !important;
}
.object-fit--default {
  -o-object-fit: none !important;
     object-fit: none !important;
}

.accordion details {
  border-radius: var(--border-radius);
  border: 1px solid var(--color-border);
  margin: 0 0 1.6rem 0;
  background: var(--color-background-card);
}
.accordion details:last-child, .main-product .accordion details {
  margin: 0;
}
.accordion details summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 500;
  padding: 1.6rem 2.4rem;
  position: relative;
  outline-style: none;
}
.accordion details summary:hover, .accordion details summary:active, .accordion details summary:focus {
  outline-style: none;
}
.accordion details summary:hover p, .accordion details summary:active p, .accordion details summary:focus p {
  color: var(--color-text-links-hover);
}
.accordion details summary:hover span, .accordion details summary:active span, .accordion details summary:focus span {
  color: var(--color-icon-hover);
}
.accordion details summary p {
  flex: 1;
  padding: 0 3.2rem 0 0;
  transition: color 0.2s;
  line-height: 1.125;
}
.accordion details summary p:not([class]) {
  font-size: 1.8rem;
}
@media (min-width: 64em) {
  .accordion details summary p:not([class]) {
    font-size: 2rem;
  }
}
.accordion details summary p:last-of-type {
  margin: 0;
}
.accordion details summary span {
  transition: all 0.2s;
}
.accordion details summary span + p {
  padding-left: 1.6rem;
}
.accordion details summary::-webkit-details-marker {
  display: none;
}
.accordion details[open] summary span:last-child {
  transform: rotate(180deg);
}
.accordion details .content {
  padding: 0 2.4rem 2.4rem 2.4rem;
  display: block;
}
.accordion details .content a + .wysiwyg, .accordion details .content a + .shopify-policy__container,
.accordion details .content .wysiwyg + .wysiwyg,
.accordion details .content .shopify-policy__container + .wysiwyg,
.accordion details .content .wysiwyg + .shopify-policy__container,
.accordion details .content .shopify-policy__container + .shopify-policy__container,
.accordion details .content .wysiwyg + a,
.accordion details .content .shopify-policy__container + a {
  margin: 1.6rem 0 0 0;
}
.accordion details figure:first-child {
  margin: 0 0 1.6rem;
}
@media (min-width: 64em) {
  .accordion details figure:first-child {
    margin: 0 0 2.4rem;
  }
}
.accordion details figure:not(:first-child) {
  margin: 1.6rem 0;
}
@media (min-width: 64em) {
  .accordion details figure:not(:first-child) {
    margin: 2.4rem 0;
  }
}
.accordion details figure:last-child {
  margin: 1.6rem 0 0;
}
@media (min-width: 64em) {
  .accordion details figure:last-child {
    margin: 2.4rem 0 0;
  }
}
.accordion .container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 64em) {
  .accordion .container.has-content {
    grid-template-columns: 1fr 2fr;
    grid-gap: 6.4rem;
  }
  .accordion .container.has-content.content-left {
    grid-template-columns: 2fr 1fr;
  }
  .accordion .container.has-content.content-left .accordion__tabs {
    order: 1;
  }
  .accordion .container.has-content.content-left .accordion__content {
    order: 2;
  }
  .accordion .container.has-content:not(.has-fullwidth) .grid-content__header {
    padding: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
  }
  .accordion .container.has-content:not(.has-fullwidth) .grid-content__header--right {
    align-items: flex-end;
  }
  .accordion .container.has-content:not(.has-fullwidth) .grid-content__header--center {
    align-items: center;
  }
  .accordion .container.has-fullwidth {
    grid-template-columns: 1fr;
    grid-gap: 0;
  }
}
@media (min-width: 64em) {
  .accordion__content .sticky {
    position: sticky;
    top: 12rem;
  }
}

.breadcrumbs nav .container {
  width: 100%;
  max-width: 100%;
  padding: 0;
}
.breadcrumbs ol {
  display: flex;
  align-items: center;
  gap: 1rem;
  overflow-x: scroll;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  z-index: 1;
  flex-wrap: wrap;
}
.breadcrumbs ol::-webkit-scrollbar {
  display: none;
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
.breadcrumbs ol li {
  display: flex;
  justify-content: center;
}
.breadcrumbs ol li a,
.breadcrumbs ol li p {
  max-width: 80rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}
@media (max-width: 63.99em) {
  .breadcrumbs ol li a,
  .breadcrumbs ol li p {
    font-size: 1.4rem;
    max-width: 20rem;
  }
}
.breadcrumbs ol li:last-child a,
.breadcrumbs ol li:last-child p {
  max-width: 20rem;
}
@media (min-width: 64em) {
  .breadcrumbs ol li:last-child a,
  .breadcrumbs ol li:last-child p {
    max-width: 30rem;
  }
}
.breadcrumbs.section__wrapper nav {
  margin: 0;
}
.breadcrumbs .container.section__wrapper--background {
  padding: 1.6rem;
}
@media (min-width: 64em) {
  .breadcrumbs .container.section__wrapper--background {
    padding: 2.4rem;
  }
}
.breadcrumbs .container.alignment-horizontal--center ol {
  justify-content: center;
}
.breadcrumbs .container.alignment-horizontal--right ol {
  justify-content: flex-end;
}
@media (max-width: 63.99em) {
  .breadcrumbs .container.alignment-horizontal-mobile--left ol {
    justify-content: flex-start;
  }
  .breadcrumbs .container.alignment-horizontal-mobile--center ol {
    justify-content: center;
  }
  .breadcrumbs .container.alignment-horizontal-mobile--right ol {
    justify-content: flex-end;
  }
}
.breadcrumbs.shopify-section ol {
  flex-wrap: nowrap;
}

.button, .shopify-payment-button button, .shopify-payment-button button.disabled, .shopify-payment-button button:disabled, .shopify-payment-button button[aria-disabled=true], .button--circle, .disabled.button--circle, .button--circle:disabled, [aria-disabled=true].button--circle, .button.disabled, .disabled.button--default, .disabled.button--primary, .disabled.button--inverted, .disabled.button--secondary, .disabled.button--pill, .disabled.button--add-to-cart--inverted, .disabled.button--add-to-cart--secondary, .disabled.button--xs, .disabled.button--xs-inverted, .disabled.button--xs-secondary, .disabled.button--sm, .disabled.button--sm-inverted, .disabled.button--sm-secondary, .disabled.button--lg, .disabled.button--lg-inverted, .disabled.button--lg-secondary, .disabled.button--xl, .disabled.button--xl-inverted, .disabled.button--xl-secondary, .button:disabled, .button--default:disabled, .button--primary:disabled, .button--inverted:disabled, .button--secondary:disabled, .button--pill:disabled, .button--add-to-cart--inverted:disabled, .button--add-to-cart--secondary:disabled, .button--xs:disabled, .button--xs-inverted:disabled, .button--xs-secondary:disabled, .button--sm:disabled, .button--sm-inverted:disabled, .button--sm-secondary:disabled, .button--lg:disabled, .button--lg-inverted:disabled, .button--lg-secondary:disabled, .button--xl:disabled, .button--xl-inverted:disabled, .button--xl-secondary:disabled, .button[aria-disabled=true], [aria-disabled=true].button--default, [aria-disabled=true].button--primary, [aria-disabled=true].button--inverted, [aria-disabled=true].button--secondary, [aria-disabled=true].button--pill, [aria-disabled=true].button--add-to-cart--inverted, [aria-disabled=true].button--add-to-cart--secondary, [aria-disabled=true].button--xs, [aria-disabled=true].button--xs-inverted, [aria-disabled=true].button--xs-secondary, [aria-disabled=true].button--sm, [aria-disabled=true].button--sm-inverted, [aria-disabled=true].button--sm-secondary, [aria-disabled=true].button--lg, [aria-disabled=true].button--lg-inverted, [aria-disabled=true].button--lg-secondary, [aria-disabled=true].button--xl, [aria-disabled=true].button--xl-inverted, [aria-disabled=true].button--xl-secondary, .button--xl, .button--xl-inverted, .button--xl-secondary, .button--lg, .button--lg-inverted, .button--lg-secondary, .button--sm, .button--sm-inverted, .button--sm-secondary, .button--xs, .button--xs-inverted, .button--xs-secondary, .button--inverted, .button--secondary, .button--pill, .button--add-to-cart--inverted, .button--add-to-cart--secondary, .shopify-payment-button button, .button--default, .button--primary {
  font-family: var(--font-button-family);
  font-weight: var(--font-button-weight);
  font-style: var(--font-button-style);
  text-transform: var(--font-button-transform);
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  align-self: start;
  gap: 0.8rem;
  flex-shrink: 0;
  margin: 0;
  text-align: center;
  text-decoration: none;
  border: 0.1rem solid var(--color-border-button-primary);
  border-radius: var(--border-radius);
  padding: 1.2rem 2rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--color-background-button-primary);
  color: var(--color-text-button-primary);
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
  max-width: 100%;
  white-space: normal;
  word-break: break-word;
}
.button .icon, .shopify-payment-button button .icon, .button--circle .icon, .button--xl .icon, .button--xl-inverted .icon, .button--xl-secondary .icon, .button--lg .icon, .button--lg-inverted .icon, .button--lg-secondary .icon, .button--sm .icon, .button--sm-inverted .icon, .button--sm-secondary .icon, .button--xs .icon, .button--xs-inverted .icon, .button--xs-secondary .icon, .button--inverted .icon, .button--secondary .icon, .button--pill .icon, .button--add-to-cart--inverted .icon, .button--add-to-cart--secondary .icon, .button--default .icon, .button--primary .icon {
  font-size: 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
  color: inherit;
}
.button:hover, .shopify-payment-button button:hover, .button--circle:hover, .disabled.button--default:hover, .disabled.button--primary:hover, .disabled.button--inverted:hover, .disabled.button--secondary:hover, .disabled.button--pill:hover, .disabled.button--add-to-cart--inverted:hover, .disabled.button--add-to-cart--secondary:hover, .shopify-payment-button button.disabled:hover, .disabled.button--xs:hover, .disabled.button--xs-inverted:hover, .disabled.button--xs-secondary:hover, .disabled.button--sm:hover, .disabled.button--sm-inverted:hover, .disabled.button--sm-secondary:hover, .disabled.button--lg:hover, .disabled.button--lg-inverted:hover, .disabled.button--lg-secondary:hover, .disabled.button--xl:hover, .disabled.button--xl-inverted:hover, .disabled.button--xl-secondary:hover, .button--default:hover:disabled, .button--primary:hover:disabled, .button--inverted:hover:disabled, .button--secondary:hover:disabled, .button--pill:hover:disabled, .button--add-to-cart--inverted:hover:disabled, .button--add-to-cart--secondary:hover:disabled, .shopify-payment-button button:hover:disabled, .button--xs:hover:disabled, .button--xs-inverted:hover:disabled, .button--xs-secondary:hover:disabled, .button--sm:hover:disabled, .button--sm-inverted:hover:disabled, .button--sm-secondary:hover:disabled, .button--lg:hover:disabled, .button--lg-inverted:hover:disabled, .button--lg-secondary:hover:disabled, .button--xl:hover:disabled, .button--xl-inverted:hover:disabled, .button--xl-secondary:hover:disabled, [aria-disabled=true].button--default:hover, [aria-disabled=true].button--primary:hover, [aria-disabled=true].button--inverted:hover, [aria-disabled=true].button--secondary:hover, [aria-disabled=true].button--pill:hover, [aria-disabled=true].button--add-to-cart--inverted:hover, [aria-disabled=true].button--add-to-cart--secondary:hover, .shopify-payment-button button[aria-disabled=true]:hover, [aria-disabled=true].button--xs:hover, [aria-disabled=true].button--xs-inverted:hover, [aria-disabled=true].button--xs-secondary:hover, [aria-disabled=true].button--sm:hover, [aria-disabled=true].button--sm-inverted:hover, [aria-disabled=true].button--sm-secondary:hover, [aria-disabled=true].button--lg:hover, [aria-disabled=true].button--lg-inverted:hover, [aria-disabled=true].button--lg-secondary:hover, [aria-disabled=true].button--xl:hover, [aria-disabled=true].button--xl-inverted:hover, [aria-disabled=true].button--xl-secondary:hover, .button--xl:hover, .button--xl-inverted:hover, .button--xl-secondary:hover, .button--lg:hover, .button--lg-inverted:hover, .button--lg-secondary:hover, .button--sm:hover, .button--sm-inverted:hover, .button--sm-secondary:hover, .button--xs:hover, .button--xs-inverted:hover, .button--xs-secondary:hover, .button--inverted:hover, .button--secondary:hover, .button--pill:hover, .button--add-to-cart--inverted:hover, .button--add-to-cart--secondary:hover, .shopify-payment-button button:hover, .button--default:hover, .button--primary:hover, .button:active, .shopify-payment-button button:active, .button--circle:active, .disabled.button--default:active, .disabled.button--primary:active, .disabled.button--inverted:active, .disabled.button--secondary:active, .disabled.button--pill:active, .disabled.button--add-to-cart--inverted:active, .disabled.button--add-to-cart--secondary:active, .shopify-payment-button button.disabled:active, .disabled.button--xs:active, .disabled.button--xs-inverted:active, .disabled.button--xs-secondary:active, .disabled.button--sm:active, .disabled.button--sm-inverted:active, .disabled.button--sm-secondary:active, .disabled.button--lg:active, .disabled.button--lg-inverted:active, .disabled.button--lg-secondary:active, .disabled.button--xl:active, .disabled.button--xl-inverted:active, .disabled.button--xl-secondary:active, .button--default:active:disabled, .button--primary:active:disabled, .button--inverted:active:disabled, .button--secondary:active:disabled, .button--pill:active:disabled, .button--add-to-cart--inverted:active:disabled, .button--add-to-cart--secondary:active:disabled, .shopify-payment-button button:active:disabled, .button--xs:active:disabled, .button--xs-inverted:active:disabled, .button--xs-secondary:active:disabled, .button--sm:active:disabled, .button--sm-inverted:active:disabled, .button--sm-secondary:active:disabled, .button--lg:active:disabled, .button--lg-inverted:active:disabled, .button--lg-secondary:active:disabled, .button--xl:active:disabled, .button--xl-inverted:active:disabled, .button--xl-secondary:active:disabled, [aria-disabled=true].button--default:active, [aria-disabled=true].button--primary:active, [aria-disabled=true].button--inverted:active, [aria-disabled=true].button--secondary:active, [aria-disabled=true].button--pill:active, [aria-disabled=true].button--add-to-cart--inverted:active, [aria-disabled=true].button--add-to-cart--secondary:active, .shopify-payment-button button[aria-disabled=true]:active, [aria-disabled=true].button--xs:active, [aria-disabled=true].button--xs-inverted:active, [aria-disabled=true].button--xs-secondary:active, [aria-disabled=true].button--sm:active, [aria-disabled=true].button--sm-inverted:active, [aria-disabled=true].button--sm-secondary:active, [aria-disabled=true].button--lg:active, [aria-disabled=true].button--lg-inverted:active, [aria-disabled=true].button--lg-secondary:active, [aria-disabled=true].button--xl:active, [aria-disabled=true].button--xl-inverted:active, [aria-disabled=true].button--xl-secondary:active, .button--xl:active, .button--xl-inverted:active, .button--xl-secondary:active, .button--lg:active, .button--lg-inverted:active, .button--lg-secondary:active, .button--sm:active, .button--sm-inverted:active, .button--sm-secondary:active, .button--xs:active, .button--xs-inverted:active, .button--xs-secondary:active, .button--inverted:active, .button--secondary:active, .button--pill:active, .button--add-to-cart--inverted:active, .button--add-to-cart--secondary:active, .shopify-payment-button button:active, .button--default:active, .button--primary:active, .button:focus, .shopify-payment-button button:focus, .button--circle:focus, .disabled.button--default:focus, .disabled.button--primary:focus, .disabled.button--inverted:focus, .disabled.button--secondary:focus, .disabled.button--pill:focus, .disabled.button--add-to-cart--inverted:focus, .disabled.button--add-to-cart--secondary:focus, .shopify-payment-button button.disabled:focus, .disabled.button--xs:focus, .disabled.button--xs-inverted:focus, .disabled.button--xs-secondary:focus, .disabled.button--sm:focus, .disabled.button--sm-inverted:focus, .disabled.button--sm-secondary:focus, .disabled.button--lg:focus, .disabled.button--lg-inverted:focus, .disabled.button--lg-secondary:focus, .disabled.button--xl:focus, .disabled.button--xl-inverted:focus, .disabled.button--xl-secondary:focus, .button--default:focus:disabled, .button--primary:focus:disabled, .button--inverted:focus:disabled, .button--secondary:focus:disabled, .button--pill:focus:disabled, .button--add-to-cart--inverted:focus:disabled, .button--add-to-cart--secondary:focus:disabled, .shopify-payment-button button:focus:disabled, .button--xs:focus:disabled, .button--xs-inverted:focus:disabled, .button--xs-secondary:focus:disabled, .button--sm:focus:disabled, .button--sm-inverted:focus:disabled, .button--sm-secondary:focus:disabled, .button--lg:focus:disabled, .button--lg-inverted:focus:disabled, .button--lg-secondary:focus:disabled, .button--xl:focus:disabled, .button--xl-inverted:focus:disabled, .button--xl-secondary:focus:disabled, [aria-disabled=true].button--default:focus, [aria-disabled=true].button--primary:focus, [aria-disabled=true].button--inverted:focus, [aria-disabled=true].button--secondary:focus, [aria-disabled=true].button--pill:focus, [aria-disabled=true].button--add-to-cart--inverted:focus, [aria-disabled=true].button--add-to-cart--secondary:focus, .shopify-payment-button button[aria-disabled=true]:focus, [aria-disabled=true].button--xs:focus, [aria-disabled=true].button--xs-inverted:focus, [aria-disabled=true].button--xs-secondary:focus, [aria-disabled=true].button--sm:focus, [aria-disabled=true].button--sm-inverted:focus, [aria-disabled=true].button--sm-secondary:focus, [aria-disabled=true].button--lg:focus, [aria-disabled=true].button--lg-inverted:focus, [aria-disabled=true].button--lg-secondary:focus, [aria-disabled=true].button--xl:focus, [aria-disabled=true].button--xl-inverted:focus, [aria-disabled=true].button--xl-secondary:focus, .button--xl:focus, .button--xl-inverted:focus, .button--xl-secondary:focus, .button--lg:focus, .button--lg-inverted:focus, .button--lg-secondary:focus, .button--sm:focus, .button--sm-inverted:focus, .button--sm-secondary:focus, .button--xs:focus, .button--xs-inverted:focus, .button--xs-secondary:focus, .button--inverted:focus, .button--secondary:focus, .button--pill:focus, .button--add-to-cart--inverted:focus, .button--add-to-cart--secondary:focus, .shopify-payment-button button:focus, .button--default:focus, .button--primary:focus {
  text-decoration: none;
  background-color: var(--color-background-button-primary-hover);
  color: var(--color-text-button-primary-hover);
  border-color: var(--color-border-button-primary-hover);
}
.button:hover .icon, .shopify-payment-button button:hover .icon, .button--circle:hover .icon, .disabled.button--default:hover .icon, .disabled.button--primary:hover .icon, .disabled.button--inverted:hover .icon, .disabled.button--secondary:hover .icon, .disabled.button--pill:hover .icon, .disabled.button--add-to-cart--inverted:hover .icon, .disabled.button--add-to-cart--secondary:hover .icon, .shopify-payment-button button.disabled:hover .icon, .disabled.button--xs:hover .icon, .disabled.button--xs-inverted:hover .icon, .disabled.button--xs-secondary:hover .icon, .disabled.button--sm:hover .icon, .disabled.button--sm-inverted:hover .icon, .disabled.button--sm-secondary:hover .icon, .disabled.button--lg:hover .icon, .disabled.button--lg-inverted:hover .icon, .disabled.button--lg-secondary:hover .icon, .disabled.button--xl:hover .icon, .disabled.button--xl-inverted:hover .icon, .disabled.button--xl-secondary:hover .icon, .button--default:hover:disabled .icon, .button--primary:hover:disabled .icon, .button--inverted:hover:disabled .icon, .button--secondary:hover:disabled .icon, .button--pill:hover:disabled .icon, .button--add-to-cart--inverted:hover:disabled .icon, .button--add-to-cart--secondary:hover:disabled .icon, .shopify-payment-button button:hover:disabled .icon, .button--xs:hover:disabled .icon, .button--xs-inverted:hover:disabled .icon, .button--xs-secondary:hover:disabled .icon, .button--sm:hover:disabled .icon, .button--sm-inverted:hover:disabled .icon, .button--sm-secondary:hover:disabled .icon, .button--lg:hover:disabled .icon, .button--lg-inverted:hover:disabled .icon, .button--lg-secondary:hover:disabled .icon, .button--xl:hover:disabled .icon, .button--xl-inverted:hover:disabled .icon, .button--xl-secondary:hover:disabled .icon, [aria-disabled=true].button--default:hover .icon, [aria-disabled=true].button--primary:hover .icon, [aria-disabled=true].button--inverted:hover .icon, [aria-disabled=true].button--secondary:hover .icon, [aria-disabled=true].button--pill:hover .icon, [aria-disabled=true].button--add-to-cart--inverted:hover .icon, [aria-disabled=true].button--add-to-cart--secondary:hover .icon, .shopify-payment-button button[aria-disabled=true]:hover .icon, [aria-disabled=true].button--xs:hover .icon, [aria-disabled=true].button--xs-inverted:hover .icon, [aria-disabled=true].button--xs-secondary:hover .icon, [aria-disabled=true].button--sm:hover .icon, [aria-disabled=true].button--sm-inverted:hover .icon, [aria-disabled=true].button--sm-secondary:hover .icon, [aria-disabled=true].button--lg:hover .icon, [aria-disabled=true].button--lg-inverted:hover .icon, [aria-disabled=true].button--lg-secondary:hover .icon, [aria-disabled=true].button--xl:hover .icon, [aria-disabled=true].button--xl-inverted:hover .icon, [aria-disabled=true].button--xl-secondary:hover .icon, .button--xl:hover .icon, .button--xl-inverted:hover .icon, .button--xl-secondary:hover .icon, .button--lg:hover .icon, .button--lg-inverted:hover .icon, .button--lg-secondary:hover .icon, .button--sm:hover .icon, .button--sm-inverted:hover .icon, .button--sm-secondary:hover .icon, .button--xs:hover .icon, .button--xs-inverted:hover .icon, .button--xs-secondary:hover .icon, .button--inverted:hover .icon, .button--secondary:hover .icon, .button--pill:hover .icon, .button--add-to-cart--inverted:hover .icon, .button--add-to-cart--secondary:hover .icon, .shopify-payment-button button:hover .icon, .button--default:hover .icon, .button--primary:hover .icon, .button:active .icon, .shopify-payment-button button:active .icon, .button--circle:active .icon, .disabled.button--default:active .icon, .disabled.button--primary:active .icon, .disabled.button--inverted:active .icon, .disabled.button--secondary:active .icon, .disabled.button--pill:active .icon, .disabled.button--add-to-cart--inverted:active .icon, .disabled.button--add-to-cart--secondary:active .icon, .shopify-payment-button button.disabled:active .icon, .disabled.button--xs:active .icon, .disabled.button--xs-inverted:active .icon, .disabled.button--xs-secondary:active .icon, .disabled.button--sm:active .icon, .disabled.button--sm-inverted:active .icon, .disabled.button--sm-secondary:active .icon, .disabled.button--lg:active .icon, .disabled.button--lg-inverted:active .icon, .disabled.button--lg-secondary:active .icon, .disabled.button--xl:active .icon, .disabled.button--xl-inverted:active .icon, .disabled.button--xl-secondary:active .icon, .button--default:active:disabled .icon, .button--primary:active:disabled .icon, .button--inverted:active:disabled .icon, .button--secondary:active:disabled .icon, .button--pill:active:disabled .icon, .button--add-to-cart--inverted:active:disabled .icon, .button--add-to-cart--secondary:active:disabled .icon, .shopify-payment-button button:active:disabled .icon, .button--xs:active:disabled .icon, .button--xs-inverted:active:disabled .icon, .button--xs-secondary:active:disabled .icon, .button--sm:active:disabled .icon, .button--sm-inverted:active:disabled .icon, .button--sm-secondary:active:disabled .icon, .button--lg:active:disabled .icon, .button--lg-inverted:active:disabled .icon, .button--lg-secondary:active:disabled .icon, .button--xl:active:disabled .icon, .button--xl-inverted:active:disabled .icon, .button--xl-secondary:active:disabled .icon, [aria-disabled=true].button--default:active .icon, [aria-disabled=true].button--primary:active .icon, [aria-disabled=true].button--inverted:active .icon, [aria-disabled=true].button--secondary:active .icon, [aria-disabled=true].button--pill:active .icon, [aria-disabled=true].button--add-to-cart--inverted:active .icon, [aria-disabled=true].button--add-to-cart--secondary:active .icon, .shopify-payment-button button[aria-disabled=true]:active .icon, [aria-disabled=true].button--xs:active .icon, [aria-disabled=true].button--xs-inverted:active .icon, [aria-disabled=true].button--xs-secondary:active .icon, [aria-disabled=true].button--sm:active .icon, [aria-disabled=true].button--sm-inverted:active .icon, [aria-disabled=true].button--sm-secondary:active .icon, [aria-disabled=true].button--lg:active .icon, [aria-disabled=true].button--lg-inverted:active .icon, [aria-disabled=true].button--lg-secondary:active .icon, [aria-disabled=true].button--xl:active .icon, [aria-disabled=true].button--xl-inverted:active .icon, [aria-disabled=true].button--xl-secondary:active .icon, .button--xl:active .icon, .button--xl-inverted:active .icon, .button--xl-secondary:active .icon, .button--lg:active .icon, .button--lg-inverted:active .icon, .button--lg-secondary:active .icon, .button--sm:active .icon, .button--sm-inverted:active .icon, .button--sm-secondary:active .icon, .button--xs:active .icon, .button--xs-inverted:active .icon, .button--xs-secondary:active .icon, .button--inverted:active .icon, .button--secondary:active .icon, .button--pill:active .icon, .button--add-to-cart--inverted:active .icon, .button--add-to-cart--secondary:active .icon, .shopify-payment-button button:active .icon, .button--default:active .icon, .button--primary:active .icon, .button:focus .icon, .shopify-payment-button button:focus .icon, .button--circle:focus .icon, .disabled.button--default:focus .icon, .disabled.button--primary:focus .icon, .disabled.button--inverted:focus .icon, .disabled.button--secondary:focus .icon, .disabled.button--pill:focus .icon, .disabled.button--add-to-cart--inverted:focus .icon, .disabled.button--add-to-cart--secondary:focus .icon, .shopify-payment-button button.disabled:focus .icon, .disabled.button--xs:focus .icon, .disabled.button--xs-inverted:focus .icon, .disabled.button--xs-secondary:focus .icon, .disabled.button--sm:focus .icon, .disabled.button--sm-inverted:focus .icon, .disabled.button--sm-secondary:focus .icon, .disabled.button--lg:focus .icon, .disabled.button--lg-inverted:focus .icon, .disabled.button--lg-secondary:focus .icon, .disabled.button--xl:focus .icon, .disabled.button--xl-inverted:focus .icon, .disabled.button--xl-secondary:focus .icon, .button--default:focus:disabled .icon, .button--primary:focus:disabled .icon, .button--inverted:focus:disabled .icon, .button--secondary:focus:disabled .icon, .button--pill:focus:disabled .icon, .button--add-to-cart--inverted:focus:disabled .icon, .button--add-to-cart--secondary:focus:disabled .icon, .shopify-payment-button button:focus:disabled .icon, .button--xs:focus:disabled .icon, .button--xs-inverted:focus:disabled .icon, .button--xs-secondary:focus:disabled .icon, .button--sm:focus:disabled .icon, .button--sm-inverted:focus:disabled .icon, .button--sm-secondary:focus:disabled .icon, .button--lg:focus:disabled .icon, .button--lg-inverted:focus:disabled .icon, .button--lg-secondary:focus:disabled .icon, .button--xl:focus:disabled .icon, .button--xl-inverted:focus:disabled .icon, .button--xl-secondary:focus:disabled .icon, [aria-disabled=true].button--default:focus .icon, [aria-disabled=true].button--primary:focus .icon, [aria-disabled=true].button--inverted:focus .icon, [aria-disabled=true].button--secondary:focus .icon, [aria-disabled=true].button--pill:focus .icon, [aria-disabled=true].button--add-to-cart--inverted:focus .icon, [aria-disabled=true].button--add-to-cart--secondary:focus .icon, .shopify-payment-button button[aria-disabled=true]:focus .icon, [aria-disabled=true].button--xs:focus .icon, [aria-disabled=true].button--xs-inverted:focus .icon, [aria-disabled=true].button--xs-secondary:focus .icon, [aria-disabled=true].button--sm:focus .icon, [aria-disabled=true].button--sm-inverted:focus .icon, [aria-disabled=true].button--sm-secondary:focus .icon, [aria-disabled=true].button--lg:focus .icon, [aria-disabled=true].button--lg-inverted:focus .icon, [aria-disabled=true].button--lg-secondary:focus .icon, [aria-disabled=true].button--xl:focus .icon, [aria-disabled=true].button--xl-inverted:focus .icon, [aria-disabled=true].button--xl-secondary:focus .icon, .button--xl:focus .icon, .button--xl-inverted:focus .icon, .button--xl-secondary:focus .icon, .button--lg:focus .icon, .button--lg-inverted:focus .icon, .button--lg-secondary:focus .icon, .button--sm:focus .icon, .button--sm-inverted:focus .icon, .button--sm-secondary:focus .icon, .button--xs:focus .icon, .button--xs-inverted:focus .icon, .button--xs-secondary:focus .icon, .button--inverted:focus .icon, .button--secondary:focus .icon, .button--pill:focus .icon, .button--add-to-cart--inverted:focus .icon, .button--add-to-cart--secondary:focus .icon, .shopify-payment-button button:focus .icon, .button--default:focus .icon, .button--primary:focus .icon {
  color: inherit;
}
.button--inverted, .button--secondary, .button--pill, .button--add-to-cart--inverted, .button--add-to-cart--secondary, .shopify-payment-button button, .button--xl-inverted, .button--xl-secondary, .button--lg-inverted, .button--lg-secondary, .button--sm-inverted, .button--sm-secondary, .button--xs-inverted, .button--xs-secondary {
  border: 1px solid var(--color-border-button-secondary);
  color: var(--color-text-button-secondary);
  background-color: var(--color-background-button-secondary);
}
.button--inverted:hover, .button--inverted:active, .button--inverted:focus, .button--secondary:hover, .button--pill:hover, .button--add-to-cart--inverted:hover, .button--add-to-cart--secondary:hover, .shopify-payment-button button:hover, .button--xl-inverted:hover, .button--xl-secondary:hover, .button--lg-inverted:hover, .button--lg-secondary:hover, .button--sm-inverted:hover, .button--sm-secondary:hover, .button--xs-inverted:hover, .button--xs-secondary:hover, .button--secondary:active, .button--pill:active, .button--add-to-cart--inverted:active, .button--add-to-cart--secondary:active, .shopify-payment-button button:active, .button--xl-inverted:active, .button--xl-secondary:active, .button--lg-inverted:active, .button--lg-secondary:active, .button--sm-inverted:active, .button--sm-secondary:active, .button--xs-inverted:active, .button--xs-secondary:active, .button--secondary:focus, .button--pill:focus, .button--add-to-cart--inverted:focus, .button--add-to-cart--secondary:focus, .shopify-payment-button button:focus, .button--xl-inverted:focus, .button--xl-secondary:focus, .button--lg-inverted:focus, .button--lg-secondary:focus, .button--sm-inverted:focus, .button--sm-secondary:focus, .button--xs-inverted:focus, .button--xs-secondary:focus {
  background-color: var(--color-background-button-secondary-hover) !important;
}
.button--inverted:hover, .button--inverted:active, .button--inverted:focus, .button--secondary:hover, .button--pill:hover, .button--add-to-cart--inverted:hover, .button--add-to-cart--secondary:hover, .shopify-payment-button button:hover, .button--xl-inverted:hover, .button--xl-secondary:hover, .button--lg-inverted:hover, .button--lg-secondary:hover, .button--sm-inverted:hover, .button--sm-secondary:hover, .button--xs-inverted:hover, .button--xs-secondary:hover, .button--secondary:active, .button--pill:active, .button--add-to-cart--inverted:active, .button--add-to-cart--secondary:active, .shopify-payment-button button:active, .button--xl-inverted:active, .button--xl-secondary:active, .button--lg-inverted:active, .button--lg-secondary:active, .button--sm-inverted:active, .button--sm-secondary:active, .button--xs-inverted:active, .button--xs-secondary:active, .button--secondary:focus, .button--pill:focus, .button--add-to-cart--inverted:focus, .button--add-to-cart--secondary:focus, .shopify-payment-button button:focus, .button--xl-inverted:focus, .button--xl-secondary:focus, .button--lg-inverted:focus, .button--lg-secondary:focus, .button--sm-inverted:focus, .button--sm-secondary:focus, .button--xs-inverted:focus, .button--xs-secondary:focus {
  border: 1px solid var(--color-border-button-secondary-hover);
  color: var(--color-text-button-secondary-hover);
}
.button--xs, .button--xs-inverted, .button--xs-secondary {
  padding: 0.4rem 0.8rem;
}
.button--sm, .button--sm-inverted, .button--sm-secondary {
  padding: 0.8rem 1.6rem;
}
.button--plain, .button--plain-xs, .button--plain-sm {
  font-family: var(--font-button-family);
  font-weight: var(--font-button-weight);
  font-style: var(--font-button-style);
  text-transform: var(--font-button-transform);
  border-bottom: 1px solid;
  gap: 0.4rem;
  padding: 0 0 0.4rem 0;
  display: inline-flex;
  margin: 0;
}
.button--plain-sm {
  padding: 0;
}
.button--plain-xs {
  padding: 0;
}
.button.disabled, .shopify-payment-button button.disabled, .disabled.button--circle, .disabled.button--default, .disabled.button--primary, .disabled.button--inverted, .disabled.button--secondary, .disabled.button--pill, .disabled.button--add-to-cart--inverted, .disabled.button--add-to-cart--secondary, .disabled.button--xs, .disabled.button--xs-inverted, .disabled.button--xs-secondary, .disabled.button--sm, .disabled.button--sm-inverted, .disabled.button--sm-secondary, .disabled.button--lg, .disabled.button--lg-inverted, .disabled.button--lg-secondary, .disabled.button--xl, .disabled.button--xl-inverted, .disabled.button--xl-secondary, .button:disabled, .shopify-payment-button button:disabled, .button--circle:disabled, .button--default:disabled, .button--primary:disabled, .button--inverted:disabled, .button--secondary:disabled, .button--pill:disabled, .button--add-to-cart--inverted:disabled, .button--add-to-cart--secondary:disabled, .button--xs:disabled, .button--xs-inverted:disabled, .button--xs-secondary:disabled, .button--sm:disabled, .button--sm-inverted:disabled, .button--sm-secondary:disabled, .button--lg:disabled, .button--lg-inverted:disabled, .button--lg-secondary:disabled, .button--xl:disabled, .button--xl-inverted:disabled, .button--xl-secondary:disabled, .button[aria-disabled=true], .shopify-payment-button button[aria-disabled=true], [aria-disabled=true].button--circle, [aria-disabled=true].button--default, [aria-disabled=true].button--primary, [aria-disabled=true].button--inverted, [aria-disabled=true].button--secondary, [aria-disabled=true].button--pill, [aria-disabled=true].button--add-to-cart--inverted, [aria-disabled=true].button--add-to-cart--secondary, [aria-disabled=true].button--xs, [aria-disabled=true].button--xs-inverted, [aria-disabled=true].button--xs-secondary, [aria-disabled=true].button--sm, [aria-disabled=true].button--sm-inverted, [aria-disabled=true].button--sm-secondary, [aria-disabled=true].button--lg, [aria-disabled=true].button--lg-inverted, [aria-disabled=true].button--lg-secondary, [aria-disabled=true].button--xl, [aria-disabled=true].button--xl-inverted, [aria-disabled=true].button--xl-secondary {
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}
.button.disabled .cart-icon, .shopify-payment-button button.disabled .cart-icon, .disabled.button--circle .cart-icon, .disabled.button--default .cart-icon, .disabled.button--primary .cart-icon, .disabled.button--inverted .cart-icon, .disabled.button--secondary .cart-icon, .disabled.button--pill .cart-icon, .disabled.button--add-to-cart--inverted .cart-icon, .disabled.button--add-to-cart--secondary .cart-icon, .disabled.button--xs .cart-icon, .disabled.button--xs-inverted .cart-icon, .disabled.button--xs-secondary .cart-icon, .disabled.button--sm .cart-icon, .disabled.button--sm-inverted .cart-icon, .disabled.button--sm-secondary .cart-icon, .disabled.button--lg .cart-icon, .disabled.button--lg-inverted .cart-icon, .disabled.button--lg-secondary .cart-icon, .disabled.button--xl .cart-icon, .disabled.button--xl-inverted .cart-icon, .disabled.button--xl-secondary .cart-icon, .button:disabled .cart-icon, .shopify-payment-button button:disabled .cart-icon, .button--circle:disabled .cart-icon, .button--default:disabled .cart-icon, .button--primary:disabled .cart-icon, .button--inverted:disabled .cart-icon, .button--secondary:disabled .cart-icon, .button--pill:disabled .cart-icon, .button--add-to-cart--inverted:disabled .cart-icon, .button--add-to-cart--secondary:disabled .cart-icon, .button--xs:disabled .cart-icon, .button--xs-inverted:disabled .cart-icon, .button--xs-secondary:disabled .cart-icon, .button--sm:disabled .cart-icon, .button--sm-inverted:disabled .cart-icon, .button--sm-secondary:disabled .cart-icon, .button--lg:disabled .cart-icon, .button--lg-inverted:disabled .cart-icon, .button--lg-secondary:disabled .cart-icon, .button--xl:disabled .cart-icon, .button--xl-inverted:disabled .cart-icon, .button--xl-secondary:disabled .cart-icon, .button[aria-disabled=true] .cart-icon, .shopify-payment-button button[aria-disabled=true] .cart-icon, [aria-disabled=true].button--circle .cart-icon, [aria-disabled=true].button--default .cart-icon, [aria-disabled=true].button--primary .cart-icon, [aria-disabled=true].button--inverted .cart-icon, [aria-disabled=true].button--secondary .cart-icon, [aria-disabled=true].button--pill .cart-icon, [aria-disabled=true].button--add-to-cart--inverted .cart-icon, [aria-disabled=true].button--add-to-cart--secondary .cart-icon, [aria-disabled=true].button--xs .cart-icon, [aria-disabled=true].button--xs-inverted .cart-icon, [aria-disabled=true].button--xs-secondary .cart-icon, [aria-disabled=true].button--sm .cart-icon, [aria-disabled=true].button--sm-inverted .cart-icon, [aria-disabled=true].button--sm-secondary .cart-icon, [aria-disabled=true].button--lg .cart-icon, [aria-disabled=true].button--lg-inverted .cart-icon, [aria-disabled=true].button--lg-secondary .cart-icon, [aria-disabled=true].button--xl .cart-icon, [aria-disabled=true].button--xl-inverted .cart-icon, [aria-disabled=true].button--xl-secondary .cart-icon {
  display: none;
}
.button--close {
  font-size: 1.2rem;
  color: var(--color-icon-hover);
  width: 1.2rem;
  height: 1.2rem;
  border: 1px solid var(--color-icon-hover);
  transition: 0.4s;
}
.button--close:hover, .button--close:active, .button--close:focus {
  color: var(--color-text-button-primary-hover) !important;
  background: var(--color-background-button-primary-hover) !important;
}
.button--fullwidth {
  width: 100%;
}
.button--add-to-cart, .button--add-to-cart--inverted, .button--add-to-cart--secondary, .shopify-payment-button button {
  width: 100%;
}
@media (min-width: 64em) {
  .button--add-to-cart.scroll-atc, .scroll-atc.button--add-to-cart--inverted, .scroll-atc.button--add-to-cart--secondary, .shopify-payment-button button.scroll-atc {
    width: auto;
  }
}
.button--add-to-cart > *, .button--add-to-cart--inverted > *, .button--add-to-cart--secondary > *, .shopify-payment-button button > * {
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1;
}
.button--add-to-cart .loading-icon, .button--add-to-cart--inverted .loading-icon, .button--add-to-cart--secondary .loading-icon, .shopify-payment-button button .loading-icon,
.button--add-to-cart .cart-icon,
.button--add-to-cart--inverted .cart-icon,
.button--add-to-cart--secondary .cart-icon,
.shopify-payment-button button .cart-icon {
  transition: opacity 0.1s, transform 0.2s;
  font-size: 1.6rem;
  height: 1.6rem;
  color: inherit;
}
.button--card, .button--card:disabled {
  font-family: var(--font-button-family);
  font-weight: var(--font-button-weight);
  font-style: var(--font-button-style);
  text-transform: var(--font-button-transform);
  padding: 0.8rem 1.2rem;
  min-width: 4.8rem;
}
.button--card svg, .button--card:disabled svg {
  height: 1.6rem;
}
@media (min-width: 64em) {
  .button--card svg, .button--card:disabled svg {
    display: none;
  }
}
.button--card span:not(.cart-icon), .button--card:disabled span:not(.cart-icon) {
  font-size: 1.4rem;
}
@media (max-width: 63.99em) {
  .button--card span:not(.cart-icon), .button--card:disabled span:not(.cart-icon) {
    display: none;
  }
}
.button--card span:not(.cart-icon):empty, .button--card:disabled span:not(.cart-icon):empty {
  display: none;
}
.button--card span.cart-icon, .button--card:disabled span.cart-icon {
  font-size: 1.6rem;
  line-height: 1.25;
  height: 1.6rem;
  color: inherit;
}
.button--card .icon, .button--card:disabled .icon {
  transition: opacity 0.1s, transform 0.2s;
}
.button--view-product {
  padding: 0.8rem 1.2rem;
  min-width: 4.8rem;
  align-self: flex-end;
}
.button--view-product__text {
  font-size: 1.4rem;
}
.button--view-product__icon {
  font-size: 1.6rem;
  height: 1.6rem;
  width: 1.6rem;
}
.button--xr {
  position: absolute;
  z-index: 2;
}
.button--xr[data-shopify-xr-hidden] {
  visibility: hidden;
}
.shopify-design-mode .button--xr[data-shopify-xr-hidden] {
  display: none;
}
.button--pill {
  padding: 0.8rem 1.2rem;
}
@media (max-width: 63.99em) {
  .button--pill {
    padding: 0.8rem;
  }
}
.button--pill.is-selected, .button--pill[\:has\(input\:checked\)] {
  background-color: var(--color-background-button-secondary-hover);
  color: var(--color-text-button-secondary-hover);
  border-color: var(--color-border-button-secondary-hover);
}
.button--pill.is-selected, .button--pill:has(input:checked) {
  background-color: var(--color-background-button-secondary-hover);
  color: var(--color-text-button-secondary-hover);
  border-color: var(--color-border-button-secondary-hover);
}
.button--pill.is-disabled, .button--pill[\:has\(input\:disabled\)] {
  text-decoration: line-through;
  opacity: 0.5;
}
.button--pill.is-disabled, .button--pill:has(input:disabled) {
  text-decoration: line-through;
  opacity: 0.5;
}
.button--pill.is-disabled:hover, .button--pill[\:has\(input\:disabled\)]:hover {
  cursor: not-allowed;
}
.button--pill.is-disabled:hover, .button--pill:has(input:disabled):hover {
  cursor: not-allowed;
}
.button--icon_right .icon {
  order: 2;
}
.button--back {
  font-size: 1.6rem;
  color: var(--color-text);
  text-transform: var(--font-button-transform);
  border-bottom: 1px solid var(--color-border);
  padding: 0;
  transition: 0.25s;
  background: transparent;
  border: none;
}
.button--back .icon {
  font-size: 2.4rem;
  height: 2.4rem;
  width: 2.4rem;
}
.button--back:hover, .button--back:active, .button--back:focus {
  color: var(--color-text-links-hover);
  background: transparent;
}
.button--circle {
  border-radius: 100%;
  padding: calc(var(--gap) / 2);
  aspect-ratio: 1/1;
}

a.card__content:hover .button, a.card__content:hover .shopify-payment-button button, .shopify-payment-button a.card__content:hover button, a.card__content:hover .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:hover button.disabled, a.card__content:hover .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:hover button:disabled, a.card__content:hover .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:hover button[aria-disabled=true], a.card__content:hover .button--default, a.card__content:hover .button--primary, a.card__content:hover .button--inverted, a.card__content:hover .button--secondary, a.card__content:hover .button--xs, a.card__content:hover .button--xs-inverted, a.card__content:hover .button--xs-secondary, a.card__content:hover .button--sm, a.card__content:hover .button--sm-inverted, a.card__content:hover .button--sm-secondary, a.card__content:hover .button--lg, a.card__content:hover .button--lg-inverted, a.card__content:hover .button--lg-secondary, a.card__content:hover .button--xl, a.card__content:hover .button--xl-inverted, a.card__content:hover .button--xl-secondary, a.card__content:hover .button.disabled, a.card__content:hover .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:hover button.disabled, a.card__content:hover .disabled.button--default, a.card__content:hover .disabled.button--primary, a.card__content:hover .disabled.button--inverted, a.card__content:hover .disabled.button--secondary, a.card__content:hover .disabled.button--xs, a.card__content:hover .disabled.button--xs-inverted, a.card__content:hover .disabled.button--xs-secondary, a.card__content:hover .disabled.button--sm, a.card__content:hover .disabled.button--sm-inverted, a.card__content:hover .disabled.button--sm-secondary, a.card__content:hover .disabled.button--lg, a.card__content:hover .disabled.button--lg-inverted, a.card__content:hover .disabled.button--lg-secondary, a.card__content:hover .disabled.button--xl, a.card__content:hover .disabled.button--xl-inverted, a.card__content:hover .disabled.button--xl-secondary, a.card__content:hover .button:disabled, a.card__content:hover .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:hover button:disabled, a.card__content:hover .button--default:disabled, a.card__content:hover .button--primary:disabled, a.card__content:hover .button--inverted:disabled, a.card__content:hover .button--secondary:disabled, a.card__content:hover .button--xs:disabled, a.card__content:hover .button--xs-inverted:disabled, a.card__content:hover .button--xs-secondary:disabled, a.card__content:hover .button--sm:disabled, a.card__content:hover .button--sm-inverted:disabled, a.card__content:hover .button--sm-secondary:disabled, a.card__content:hover .button--lg:disabled, a.card__content:hover .button--lg-inverted:disabled, a.card__content:hover .button--lg-secondary:disabled, a.card__content:hover .button--xl:disabled, a.card__content:hover .button--xl-inverted:disabled, a.card__content:hover .button--xl-secondary:disabled, a.card__content:hover .button[aria-disabled=true], a.card__content:hover .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:hover button[aria-disabled=true], a.card__content:hover [aria-disabled=true].button--default, a.card__content:hover [aria-disabled=true].button--primary, a.card__content:hover [aria-disabled=true].button--inverted, a.card__content:hover [aria-disabled=true].button--secondary, a.card__content:hover [aria-disabled=true].button--xs, a.card__content:hover [aria-disabled=true].button--xs-inverted, a.card__content:hover [aria-disabled=true].button--xs-secondary, a.card__content:hover [aria-disabled=true].button--sm, a.card__content:hover [aria-disabled=true].button--sm-inverted, a.card__content:hover [aria-disabled=true].button--sm-secondary, a.card__content:hover [aria-disabled=true].button--lg, a.card__content:hover [aria-disabled=true].button--lg-inverted, a.card__content:hover [aria-disabled=true].button--lg-secondary, a.card__content:hover [aria-disabled=true].button--xl, a.card__content:hover [aria-disabled=true].button--xl-inverted, a.card__content:hover [aria-disabled=true].button--xl-secondary, a.card__content:hover .button--add-to-cart--inverted, a.card__content:hover .button--add-to-cart--secondary, a.card__content:hover .shopify-payment-button button, .shopify-payment-button a.card__content:hover button, a.card__content:hover .disabled.button--add-to-cart--inverted, a.card__content:hover .disabled.button--add-to-cart--secondary, a.card__content:hover .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:hover button.disabled, a.card__content:hover .button--add-to-cart--inverted:disabled, a.card__content:hover .button--add-to-cart--secondary:disabled, a.card__content:hover .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:hover button:disabled, a.card__content:hover [aria-disabled=true].button--add-to-cart--inverted, a.card__content:hover [aria-disabled=true].button--add-to-cart--secondary, a.card__content:hover .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:hover button[aria-disabled=true], a.card__content:hover .button--pill, a.card__content:hover .disabled.button--pill, a.card__content:hover .button--pill:disabled, a.card__content:hover [aria-disabled=true].button--pill, a.card__content:hover .button--circle, a.card__content:hover .disabled.button--circle, a.card__content:hover .button--circle:disabled, a.card__content:hover [aria-disabled=true].button--circle, a.card__content:active .button, a.card__content:active .shopify-payment-button button, .shopify-payment-button a.card__content:active button, a.card__content:active .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:active button.disabled, a.card__content:active .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:active button:disabled, a.card__content:active .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:active button[aria-disabled=true], a.card__content:active .button--default, a.card__content:active .button--primary, a.card__content:active .button--inverted, a.card__content:active .button--secondary, a.card__content:active .button--xs, a.card__content:active .button--xs-inverted, a.card__content:active .button--xs-secondary, a.card__content:active .button--sm, a.card__content:active .button--sm-inverted, a.card__content:active .button--sm-secondary, a.card__content:active .button--lg, a.card__content:active .button--lg-inverted, a.card__content:active .button--lg-secondary, a.card__content:active .button--xl, a.card__content:active .button--xl-inverted, a.card__content:active .button--xl-secondary, a.card__content:active .button.disabled, a.card__content:active .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:active button.disabled, a.card__content:active .disabled.button--default, a.card__content:active .disabled.button--primary, a.card__content:active .disabled.button--inverted, a.card__content:active .disabled.button--secondary, a.card__content:active .disabled.button--xs, a.card__content:active .disabled.button--xs-inverted, a.card__content:active .disabled.button--xs-secondary, a.card__content:active .disabled.button--sm, a.card__content:active .disabled.button--sm-inverted, a.card__content:active .disabled.button--sm-secondary, a.card__content:active .disabled.button--lg, a.card__content:active .disabled.button--lg-inverted, a.card__content:active .disabled.button--lg-secondary, a.card__content:active .disabled.button--xl, a.card__content:active .disabled.button--xl-inverted, a.card__content:active .disabled.button--xl-secondary, a.card__content:active .button:disabled, a.card__content:active .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:active button:disabled, a.card__content:active .button--default:disabled, a.card__content:active .button--primary:disabled, a.card__content:active .button--inverted:disabled, a.card__content:active .button--secondary:disabled, a.card__content:active .button--xs:disabled, a.card__content:active .button--xs-inverted:disabled, a.card__content:active .button--xs-secondary:disabled, a.card__content:active .button--sm:disabled, a.card__content:active .button--sm-inverted:disabled, a.card__content:active .button--sm-secondary:disabled, a.card__content:active .button--lg:disabled, a.card__content:active .button--lg-inverted:disabled, a.card__content:active .button--lg-secondary:disabled, a.card__content:active .button--xl:disabled, a.card__content:active .button--xl-inverted:disabled, a.card__content:active .button--xl-secondary:disabled, a.card__content:active .button[aria-disabled=true], a.card__content:active .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:active button[aria-disabled=true], a.card__content:active [aria-disabled=true].button--default, a.card__content:active [aria-disabled=true].button--primary, a.card__content:active [aria-disabled=true].button--inverted, a.card__content:active [aria-disabled=true].button--secondary, a.card__content:active [aria-disabled=true].button--xs, a.card__content:active [aria-disabled=true].button--xs-inverted, a.card__content:active [aria-disabled=true].button--xs-secondary, a.card__content:active [aria-disabled=true].button--sm, a.card__content:active [aria-disabled=true].button--sm-inverted, a.card__content:active [aria-disabled=true].button--sm-secondary, a.card__content:active [aria-disabled=true].button--lg, a.card__content:active [aria-disabled=true].button--lg-inverted, a.card__content:active [aria-disabled=true].button--lg-secondary, a.card__content:active [aria-disabled=true].button--xl, a.card__content:active [aria-disabled=true].button--xl-inverted, a.card__content:active [aria-disabled=true].button--xl-secondary, a.card__content:active .button--add-to-cart--inverted, a.card__content:active .button--add-to-cart--secondary, a.card__content:active .shopify-payment-button button, .shopify-payment-button a.card__content:active button, a.card__content:active .disabled.button--add-to-cart--inverted, a.card__content:active .disabled.button--add-to-cart--secondary, a.card__content:active .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:active button.disabled, a.card__content:active .button--add-to-cart--inverted:disabled, a.card__content:active .button--add-to-cart--secondary:disabled, a.card__content:active .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:active button:disabled, a.card__content:active [aria-disabled=true].button--add-to-cart--inverted, a.card__content:active [aria-disabled=true].button--add-to-cart--secondary, a.card__content:active .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:active button[aria-disabled=true], a.card__content:active .button--pill, a.card__content:active .disabled.button--pill, a.card__content:active .button--pill:disabled, a.card__content:active [aria-disabled=true].button--pill, a.card__content:active .button--circle, a.card__content:active .disabled.button--circle, a.card__content:active .button--circle:disabled, a.card__content:active [aria-disabled=true].button--circle, a.card__content:focus .button, a.card__content:focus .shopify-payment-button button, .shopify-payment-button a.card__content:focus button, a.card__content:focus .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:focus button.disabled, a.card__content:focus .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:focus button:disabled, a.card__content:focus .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:focus button[aria-disabled=true], a.card__content:focus .button--default, a.card__content:focus .button--primary, a.card__content:focus .button--inverted, a.card__content:focus .button--secondary, a.card__content:focus .button--xs, a.card__content:focus .button--xs-inverted, a.card__content:focus .button--xs-secondary, a.card__content:focus .button--sm, a.card__content:focus .button--sm-inverted, a.card__content:focus .button--sm-secondary, a.card__content:focus .button--lg, a.card__content:focus .button--lg-inverted, a.card__content:focus .button--lg-secondary, a.card__content:focus .button--xl, a.card__content:focus .button--xl-inverted, a.card__content:focus .button--xl-secondary, a.card__content:focus .button.disabled, a.card__content:focus .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:focus button.disabled, a.card__content:focus .disabled.button--default, a.card__content:focus .disabled.button--primary, a.card__content:focus .disabled.button--inverted, a.card__content:focus .disabled.button--secondary, a.card__content:focus .disabled.button--xs, a.card__content:focus .disabled.button--xs-inverted, a.card__content:focus .disabled.button--xs-secondary, a.card__content:focus .disabled.button--sm, a.card__content:focus .disabled.button--sm-inverted, a.card__content:focus .disabled.button--sm-secondary, a.card__content:focus .disabled.button--lg, a.card__content:focus .disabled.button--lg-inverted, a.card__content:focus .disabled.button--lg-secondary, a.card__content:focus .disabled.button--xl, a.card__content:focus .disabled.button--xl-inverted, a.card__content:focus .disabled.button--xl-secondary, a.card__content:focus .button:disabled, a.card__content:focus .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:focus button:disabled, a.card__content:focus .button--default:disabled, a.card__content:focus .button--primary:disabled, a.card__content:focus .button--inverted:disabled, a.card__content:focus .button--secondary:disabled, a.card__content:focus .button--xs:disabled, a.card__content:focus .button--xs-inverted:disabled, a.card__content:focus .button--xs-secondary:disabled, a.card__content:focus .button--sm:disabled, a.card__content:focus .button--sm-inverted:disabled, a.card__content:focus .button--sm-secondary:disabled, a.card__content:focus .button--lg:disabled, a.card__content:focus .button--lg-inverted:disabled, a.card__content:focus .button--lg-secondary:disabled, a.card__content:focus .button--xl:disabled, a.card__content:focus .button--xl-inverted:disabled, a.card__content:focus .button--xl-secondary:disabled, a.card__content:focus .button[aria-disabled=true], a.card__content:focus .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:focus button[aria-disabled=true], a.card__content:focus [aria-disabled=true].button--default, a.card__content:focus [aria-disabled=true].button--primary, a.card__content:focus [aria-disabled=true].button--inverted, a.card__content:focus [aria-disabled=true].button--secondary, a.card__content:focus [aria-disabled=true].button--xs, a.card__content:focus [aria-disabled=true].button--xs-inverted, a.card__content:focus [aria-disabled=true].button--xs-secondary, a.card__content:focus [aria-disabled=true].button--sm, a.card__content:focus [aria-disabled=true].button--sm-inverted, a.card__content:focus [aria-disabled=true].button--sm-secondary, a.card__content:focus [aria-disabled=true].button--lg, a.card__content:focus [aria-disabled=true].button--lg-inverted, a.card__content:focus [aria-disabled=true].button--lg-secondary, a.card__content:focus [aria-disabled=true].button--xl, a.card__content:focus [aria-disabled=true].button--xl-inverted, a.card__content:focus [aria-disabled=true].button--xl-secondary, a.card__content:focus .button--add-to-cart--inverted, a.card__content:focus .button--add-to-cart--secondary, a.card__content:focus .shopify-payment-button button, .shopify-payment-button a.card__content:focus button, a.card__content:focus .disabled.button--add-to-cart--inverted, a.card__content:focus .disabled.button--add-to-cart--secondary, a.card__content:focus .shopify-payment-button button.disabled, .shopify-payment-button a.card__content:focus button.disabled, a.card__content:focus .button--add-to-cart--inverted:disabled, a.card__content:focus .button--add-to-cart--secondary:disabled, a.card__content:focus .shopify-payment-button button:disabled, .shopify-payment-button a.card__content:focus button:disabled, a.card__content:focus [aria-disabled=true].button--add-to-cart--inverted, a.card__content:focus [aria-disabled=true].button--add-to-cart--secondary, a.card__content:focus .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.card__content:focus button[aria-disabled=true], a.card__content:focus .button--pill, a.card__content:focus .disabled.button--pill, a.card__content:focus .button--pill:disabled, a.card__content:focus [aria-disabled=true].button--pill, a.card__content:focus .button--circle, a.card__content:focus .disabled.button--circle, a.card__content:focus .button--circle:disabled, a.card__content:focus [aria-disabled=true].button--circle {
  text-decoration: none;
  background-color: var(--color-background-button-secondary-hover);
  border-color: var(--color-border-button-secondary-hover);
}
a.card__content:hover .button .button--view-product__text, a.card__content:hover .shopify-payment-button button .button--view-product__text, .shopify-payment-button a.card__content:hover button .button--view-product__text, a.card__content:hover .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:hover button.disabled .button--view-product__text, a.card__content:hover .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:hover button:disabled .button--view-product__text, a.card__content:hover .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:hover button[aria-disabled=true] .button--view-product__text, a.card__content:hover .button--default .button--view-product__text, a.card__content:hover .button--primary .button--view-product__text, a.card__content:hover .button--inverted .button--view-product__text, a.card__content:hover .button--secondary .button--view-product__text, a.card__content:hover .button--xs .button--view-product__text, a.card__content:hover .button--xs-inverted .button--view-product__text, a.card__content:hover .button--xs-secondary .button--view-product__text, a.card__content:hover .button--sm .button--view-product__text, a.card__content:hover .button--sm-inverted .button--view-product__text, a.card__content:hover .button--sm-secondary .button--view-product__text, a.card__content:hover .button--lg .button--view-product__text, a.card__content:hover .button--lg-inverted .button--view-product__text, a.card__content:hover .button--lg-secondary .button--view-product__text, a.card__content:hover .button--xl .button--view-product__text, a.card__content:hover .button--xl-inverted .button--view-product__text, a.card__content:hover .button--xl-secondary .button--view-product__text, a.card__content:hover .button.disabled .button--view-product__text, a.card__content:hover .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:hover button.disabled .button--view-product__text, a.card__content:hover .disabled.button--default .button--view-product__text, a.card__content:hover .disabled.button--primary .button--view-product__text, a.card__content:hover .disabled.button--inverted .button--view-product__text, a.card__content:hover .disabled.button--secondary .button--view-product__text, a.card__content:hover .disabled.button--xs .button--view-product__text, a.card__content:hover .disabled.button--xs-inverted .button--view-product__text, a.card__content:hover .disabled.button--xs-secondary .button--view-product__text, a.card__content:hover .disabled.button--sm .button--view-product__text, a.card__content:hover .disabled.button--sm-inverted .button--view-product__text, a.card__content:hover .disabled.button--sm-secondary .button--view-product__text, a.card__content:hover .disabled.button--lg .button--view-product__text, a.card__content:hover .disabled.button--lg-inverted .button--view-product__text, a.card__content:hover .disabled.button--lg-secondary .button--view-product__text, a.card__content:hover .disabled.button--xl .button--view-product__text, a.card__content:hover .disabled.button--xl-inverted .button--view-product__text, a.card__content:hover .disabled.button--xl-secondary .button--view-product__text, a.card__content:hover .button:disabled .button--view-product__text, a.card__content:hover .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:hover button:disabled .button--view-product__text, a.card__content:hover .button--default:disabled .button--view-product__text, a.card__content:hover .button--primary:disabled .button--view-product__text, a.card__content:hover .button--inverted:disabled .button--view-product__text, a.card__content:hover .button--secondary:disabled .button--view-product__text, a.card__content:hover .button--xs:disabled .button--view-product__text, a.card__content:hover .button--xs-inverted:disabled .button--view-product__text, a.card__content:hover .button--xs-secondary:disabled .button--view-product__text, a.card__content:hover .button--sm:disabled .button--view-product__text, a.card__content:hover .button--sm-inverted:disabled .button--view-product__text, a.card__content:hover .button--sm-secondary:disabled .button--view-product__text, a.card__content:hover .button--lg:disabled .button--view-product__text, a.card__content:hover .button--lg-inverted:disabled .button--view-product__text, a.card__content:hover .button--lg-secondary:disabled .button--view-product__text, a.card__content:hover .button--xl:disabled .button--view-product__text, a.card__content:hover .button--xl-inverted:disabled .button--view-product__text, a.card__content:hover .button--xl-secondary:disabled .button--view-product__text, a.card__content:hover .button[aria-disabled=true] .button--view-product__text, a.card__content:hover .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:hover button[aria-disabled=true] .button--view-product__text, a.card__content:hover [aria-disabled=true].button--default .button--view-product__text, a.card__content:hover [aria-disabled=true].button--primary .button--view-product__text, a.card__content:hover [aria-disabled=true].button--inverted .button--view-product__text, a.card__content:hover [aria-disabled=true].button--secondary .button--view-product__text, a.card__content:hover [aria-disabled=true].button--xs .button--view-product__text, a.card__content:hover [aria-disabled=true].button--xs-inverted .button--view-product__text, a.card__content:hover [aria-disabled=true].button--xs-secondary .button--view-product__text, a.card__content:hover [aria-disabled=true].button--sm .button--view-product__text, a.card__content:hover [aria-disabled=true].button--sm-inverted .button--view-product__text, a.card__content:hover [aria-disabled=true].button--sm-secondary .button--view-product__text, a.card__content:hover [aria-disabled=true].button--lg .button--view-product__text, a.card__content:hover [aria-disabled=true].button--lg-inverted .button--view-product__text, a.card__content:hover [aria-disabled=true].button--lg-secondary .button--view-product__text, a.card__content:hover [aria-disabled=true].button--xl .button--view-product__text, a.card__content:hover [aria-disabled=true].button--xl-inverted .button--view-product__text, a.card__content:hover [aria-disabled=true].button--xl-secondary .button--view-product__text, a.card__content:hover .button--add-to-cart--inverted .button--view-product__text, a.card__content:hover .button--add-to-cart--secondary .button--view-product__text, a.card__content:hover .shopify-payment-button button .button--view-product__text, .shopify-payment-button a.card__content:hover button .button--view-product__text, a.card__content:hover .disabled.button--add-to-cart--inverted .button--view-product__text, a.card__content:hover .disabled.button--add-to-cart--secondary .button--view-product__text, a.card__content:hover .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:hover button.disabled .button--view-product__text, a.card__content:hover .button--add-to-cart--inverted:disabled .button--view-product__text, a.card__content:hover .button--add-to-cart--secondary:disabled .button--view-product__text, a.card__content:hover .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:hover button:disabled .button--view-product__text, a.card__content:hover [aria-disabled=true].button--add-to-cart--inverted .button--view-product__text, a.card__content:hover [aria-disabled=true].button--add-to-cart--secondary .button--view-product__text, a.card__content:hover .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:hover button[aria-disabled=true] .button--view-product__text, a.card__content:hover .button--pill .button--view-product__text, a.card__content:hover .disabled.button--pill .button--view-product__text, a.card__content:hover .button--pill:disabled .button--view-product__text, a.card__content:hover [aria-disabled=true].button--pill .button--view-product__text, a.card__content:hover .button--circle .button--view-product__text, a.card__content:hover .disabled.button--circle .button--view-product__text, a.card__content:hover .button--circle:disabled .button--view-product__text, a.card__content:hover [aria-disabled=true].button--circle .button--view-product__text, a.card__content:active .button .button--view-product__text, a.card__content:active .shopify-payment-button button .button--view-product__text, .shopify-payment-button a.card__content:active button .button--view-product__text, a.card__content:active .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:active button.disabled .button--view-product__text, a.card__content:active .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:active button:disabled .button--view-product__text, a.card__content:active .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:active button[aria-disabled=true] .button--view-product__text, a.card__content:active .button--default .button--view-product__text, a.card__content:active .button--primary .button--view-product__text, a.card__content:active .button--inverted .button--view-product__text, a.card__content:active .button--secondary .button--view-product__text, a.card__content:active .button--xs .button--view-product__text, a.card__content:active .button--xs-inverted .button--view-product__text, a.card__content:active .button--xs-secondary .button--view-product__text, a.card__content:active .button--sm .button--view-product__text, a.card__content:active .button--sm-inverted .button--view-product__text, a.card__content:active .button--sm-secondary .button--view-product__text, a.card__content:active .button--lg .button--view-product__text, a.card__content:active .button--lg-inverted .button--view-product__text, a.card__content:active .button--lg-secondary .button--view-product__text, a.card__content:active .button--xl .button--view-product__text, a.card__content:active .button--xl-inverted .button--view-product__text, a.card__content:active .button--xl-secondary .button--view-product__text, a.card__content:active .button.disabled .button--view-product__text, a.card__content:active .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:active button.disabled .button--view-product__text, a.card__content:active .disabled.button--default .button--view-product__text, a.card__content:active .disabled.button--primary .button--view-product__text, a.card__content:active .disabled.button--inverted .button--view-product__text, a.card__content:active .disabled.button--secondary .button--view-product__text, a.card__content:active .disabled.button--xs .button--view-product__text, a.card__content:active .disabled.button--xs-inverted .button--view-product__text, a.card__content:active .disabled.button--xs-secondary .button--view-product__text, a.card__content:active .disabled.button--sm .button--view-product__text, a.card__content:active .disabled.button--sm-inverted .button--view-product__text, a.card__content:active .disabled.button--sm-secondary .button--view-product__text, a.card__content:active .disabled.button--lg .button--view-product__text, a.card__content:active .disabled.button--lg-inverted .button--view-product__text, a.card__content:active .disabled.button--lg-secondary .button--view-product__text, a.card__content:active .disabled.button--xl .button--view-product__text, a.card__content:active .disabled.button--xl-inverted .button--view-product__text, a.card__content:active .disabled.button--xl-secondary .button--view-product__text, a.card__content:active .button:disabled .button--view-product__text, a.card__content:active .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:active button:disabled .button--view-product__text, a.card__content:active .button--default:disabled .button--view-product__text, a.card__content:active .button--primary:disabled .button--view-product__text, a.card__content:active .button--inverted:disabled .button--view-product__text, a.card__content:active .button--secondary:disabled .button--view-product__text, a.card__content:active .button--xs:disabled .button--view-product__text, a.card__content:active .button--xs-inverted:disabled .button--view-product__text, a.card__content:active .button--xs-secondary:disabled .button--view-product__text, a.card__content:active .button--sm:disabled .button--view-product__text, a.card__content:active .button--sm-inverted:disabled .button--view-product__text, a.card__content:active .button--sm-secondary:disabled .button--view-product__text, a.card__content:active .button--lg:disabled .button--view-product__text, a.card__content:active .button--lg-inverted:disabled .button--view-product__text, a.card__content:active .button--lg-secondary:disabled .button--view-product__text, a.card__content:active .button--xl:disabled .button--view-product__text, a.card__content:active .button--xl-inverted:disabled .button--view-product__text, a.card__content:active .button--xl-secondary:disabled .button--view-product__text, a.card__content:active .button[aria-disabled=true] .button--view-product__text, a.card__content:active .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:active button[aria-disabled=true] .button--view-product__text, a.card__content:active [aria-disabled=true].button--default .button--view-product__text, a.card__content:active [aria-disabled=true].button--primary .button--view-product__text, a.card__content:active [aria-disabled=true].button--inverted .button--view-product__text, a.card__content:active [aria-disabled=true].button--secondary .button--view-product__text, a.card__content:active [aria-disabled=true].button--xs .button--view-product__text, a.card__content:active [aria-disabled=true].button--xs-inverted .button--view-product__text, a.card__content:active [aria-disabled=true].button--xs-secondary .button--view-product__text, a.card__content:active [aria-disabled=true].button--sm .button--view-product__text, a.card__content:active [aria-disabled=true].button--sm-inverted .button--view-product__text, a.card__content:active [aria-disabled=true].button--sm-secondary .button--view-product__text, a.card__content:active [aria-disabled=true].button--lg .button--view-product__text, a.card__content:active [aria-disabled=true].button--lg-inverted .button--view-product__text, a.card__content:active [aria-disabled=true].button--lg-secondary .button--view-product__text, a.card__content:active [aria-disabled=true].button--xl .button--view-product__text, a.card__content:active [aria-disabled=true].button--xl-inverted .button--view-product__text, a.card__content:active [aria-disabled=true].button--xl-secondary .button--view-product__text, a.card__content:active .button--add-to-cart--inverted .button--view-product__text, a.card__content:active .button--add-to-cart--secondary .button--view-product__text, a.card__content:active .shopify-payment-button button .button--view-product__text, .shopify-payment-button a.card__content:active button .button--view-product__text, a.card__content:active .disabled.button--add-to-cart--inverted .button--view-product__text, a.card__content:active .disabled.button--add-to-cart--secondary .button--view-product__text, a.card__content:active .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:active button.disabled .button--view-product__text, a.card__content:active .button--add-to-cart--inverted:disabled .button--view-product__text, a.card__content:active .button--add-to-cart--secondary:disabled .button--view-product__text, a.card__content:active .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:active button:disabled .button--view-product__text, a.card__content:active [aria-disabled=true].button--add-to-cart--inverted .button--view-product__text, a.card__content:active [aria-disabled=true].button--add-to-cart--secondary .button--view-product__text, a.card__content:active .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:active button[aria-disabled=true] .button--view-product__text, a.card__content:active .button--pill .button--view-product__text, a.card__content:active .disabled.button--pill .button--view-product__text, a.card__content:active .button--pill:disabled .button--view-product__text, a.card__content:active [aria-disabled=true].button--pill .button--view-product__text, a.card__content:active .button--circle .button--view-product__text, a.card__content:active .disabled.button--circle .button--view-product__text, a.card__content:active .button--circle:disabled .button--view-product__text, a.card__content:active [aria-disabled=true].button--circle .button--view-product__text, a.card__content:focus .button .button--view-product__text, a.card__content:focus .shopify-payment-button button .button--view-product__text, .shopify-payment-button a.card__content:focus button .button--view-product__text, a.card__content:focus .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:focus button.disabled .button--view-product__text, a.card__content:focus .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:focus button:disabled .button--view-product__text, a.card__content:focus .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:focus button[aria-disabled=true] .button--view-product__text, a.card__content:focus .button--default .button--view-product__text, a.card__content:focus .button--primary .button--view-product__text, a.card__content:focus .button--inverted .button--view-product__text, a.card__content:focus .button--secondary .button--view-product__text, a.card__content:focus .button--xs .button--view-product__text, a.card__content:focus .button--xs-inverted .button--view-product__text, a.card__content:focus .button--xs-secondary .button--view-product__text, a.card__content:focus .button--sm .button--view-product__text, a.card__content:focus .button--sm-inverted .button--view-product__text, a.card__content:focus .button--sm-secondary .button--view-product__text, a.card__content:focus .button--lg .button--view-product__text, a.card__content:focus .button--lg-inverted .button--view-product__text, a.card__content:focus .button--lg-secondary .button--view-product__text, a.card__content:focus .button--xl .button--view-product__text, a.card__content:focus .button--xl-inverted .button--view-product__text, a.card__content:focus .button--xl-secondary .button--view-product__text, a.card__content:focus .button.disabled .button--view-product__text, a.card__content:focus .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:focus button.disabled .button--view-product__text, a.card__content:focus .disabled.button--default .button--view-product__text, a.card__content:focus .disabled.button--primary .button--view-product__text, a.card__content:focus .disabled.button--inverted .button--view-product__text, a.card__content:focus .disabled.button--secondary .button--view-product__text, a.card__content:focus .disabled.button--xs .button--view-product__text, a.card__content:focus .disabled.button--xs-inverted .button--view-product__text, a.card__content:focus .disabled.button--xs-secondary .button--view-product__text, a.card__content:focus .disabled.button--sm .button--view-product__text, a.card__content:focus .disabled.button--sm-inverted .button--view-product__text, a.card__content:focus .disabled.button--sm-secondary .button--view-product__text, a.card__content:focus .disabled.button--lg .button--view-product__text, a.card__content:focus .disabled.button--lg-inverted .button--view-product__text, a.card__content:focus .disabled.button--lg-secondary .button--view-product__text, a.card__content:focus .disabled.button--xl .button--view-product__text, a.card__content:focus .disabled.button--xl-inverted .button--view-product__text, a.card__content:focus .disabled.button--xl-secondary .button--view-product__text, a.card__content:focus .button:disabled .button--view-product__text, a.card__content:focus .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:focus button:disabled .button--view-product__text, a.card__content:focus .button--default:disabled .button--view-product__text, a.card__content:focus .button--primary:disabled .button--view-product__text, a.card__content:focus .button--inverted:disabled .button--view-product__text, a.card__content:focus .button--secondary:disabled .button--view-product__text, a.card__content:focus .button--xs:disabled .button--view-product__text, a.card__content:focus .button--xs-inverted:disabled .button--view-product__text, a.card__content:focus .button--xs-secondary:disabled .button--view-product__text, a.card__content:focus .button--sm:disabled .button--view-product__text, a.card__content:focus .button--sm-inverted:disabled .button--view-product__text, a.card__content:focus .button--sm-secondary:disabled .button--view-product__text, a.card__content:focus .button--lg:disabled .button--view-product__text, a.card__content:focus .button--lg-inverted:disabled .button--view-product__text, a.card__content:focus .button--lg-secondary:disabled .button--view-product__text, a.card__content:focus .button--xl:disabled .button--view-product__text, a.card__content:focus .button--xl-inverted:disabled .button--view-product__text, a.card__content:focus .button--xl-secondary:disabled .button--view-product__text, a.card__content:focus .button[aria-disabled=true] .button--view-product__text, a.card__content:focus .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:focus button[aria-disabled=true] .button--view-product__text, a.card__content:focus [aria-disabled=true].button--default .button--view-product__text, a.card__content:focus [aria-disabled=true].button--primary .button--view-product__text, a.card__content:focus [aria-disabled=true].button--inverted .button--view-product__text, a.card__content:focus [aria-disabled=true].button--secondary .button--view-product__text, a.card__content:focus [aria-disabled=true].button--xs .button--view-product__text, a.card__content:focus [aria-disabled=true].button--xs-inverted .button--view-product__text, a.card__content:focus [aria-disabled=true].button--xs-secondary .button--view-product__text, a.card__content:focus [aria-disabled=true].button--sm .button--view-product__text, a.card__content:focus [aria-disabled=true].button--sm-inverted .button--view-product__text, a.card__content:focus [aria-disabled=true].button--sm-secondary .button--view-product__text, a.card__content:focus [aria-disabled=true].button--lg .button--view-product__text, a.card__content:focus [aria-disabled=true].button--lg-inverted .button--view-product__text, a.card__content:focus [aria-disabled=true].button--lg-secondary .button--view-product__text, a.card__content:focus [aria-disabled=true].button--xl .button--view-product__text, a.card__content:focus [aria-disabled=true].button--xl-inverted .button--view-product__text, a.card__content:focus [aria-disabled=true].button--xl-secondary .button--view-product__text, a.card__content:focus .button--add-to-cart--inverted .button--view-product__text, a.card__content:focus .button--add-to-cart--secondary .button--view-product__text, a.card__content:focus .shopify-payment-button button .button--view-product__text, .shopify-payment-button a.card__content:focus button .button--view-product__text, a.card__content:focus .disabled.button--add-to-cart--inverted .button--view-product__text, a.card__content:focus .disabled.button--add-to-cart--secondary .button--view-product__text, a.card__content:focus .shopify-payment-button button.disabled .button--view-product__text, .shopify-payment-button a.card__content:focus button.disabled .button--view-product__text, a.card__content:focus .button--add-to-cart--inverted:disabled .button--view-product__text, a.card__content:focus .button--add-to-cart--secondary:disabled .button--view-product__text, a.card__content:focus .shopify-payment-button button:disabled .button--view-product__text, .shopify-payment-button a.card__content:focus button:disabled .button--view-product__text, a.card__content:focus [aria-disabled=true].button--add-to-cart--inverted .button--view-product__text, a.card__content:focus [aria-disabled=true].button--add-to-cart--secondary .button--view-product__text, a.card__content:focus .shopify-payment-button button[aria-disabled=true] .button--view-product__text, .shopify-payment-button a.card__content:focus button[aria-disabled=true] .button--view-product__text, a.card__content:focus .button--pill .button--view-product__text, a.card__content:focus .disabled.button--pill .button--view-product__text, a.card__content:focus .button--pill:disabled .button--view-product__text, a.card__content:focus [aria-disabled=true].button--pill .button--view-product__text, a.card__content:focus .button--circle .button--view-product__text, a.card__content:focus .disabled.button--circle .button--view-product__text, a.card__content:focus .button--circle:disabled .button--view-product__text, a.card__content:focus [aria-disabled=true].button--circle .button--view-product__text {
  color: var(--color-text-button-primary-hover);
}

a.banner__wrapper:hover .button, a.banner__wrapper:hover .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:hover button, a.banner__wrapper:hover .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:hover button.disabled, a.banner__wrapper:hover .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:hover button:disabled, a.banner__wrapper:hover .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:hover button[aria-disabled=true], a.banner__wrapper:hover .button--default, a.banner__wrapper:hover .button--primary, a.banner__wrapper:hover .button--inverted, a.banner__wrapper:hover .button--secondary, a.banner__wrapper:hover .button--xs, a.banner__wrapper:hover .button--xs-inverted, a.banner__wrapper:hover .button--xs-secondary, a.banner__wrapper:hover .button--sm, a.banner__wrapper:hover .button--sm-inverted, a.banner__wrapper:hover .button--sm-secondary, a.banner__wrapper:hover .button--lg, a.banner__wrapper:hover .button--lg-inverted, a.banner__wrapper:hover .button--lg-secondary, a.banner__wrapper:hover .button--xl, a.banner__wrapper:hover .button--xl-inverted, a.banner__wrapper:hover .button--xl-secondary, a.banner__wrapper:hover .button.disabled, a.banner__wrapper:hover .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:hover button.disabled, a.banner__wrapper:hover .disabled.button--default, a.banner__wrapper:hover .disabled.button--primary, a.banner__wrapper:hover .disabled.button--inverted, a.banner__wrapper:hover .disabled.button--secondary, a.banner__wrapper:hover .disabled.button--xs, a.banner__wrapper:hover .disabled.button--xs-inverted, a.banner__wrapper:hover .disabled.button--xs-secondary, a.banner__wrapper:hover .disabled.button--sm, a.banner__wrapper:hover .disabled.button--sm-inverted, a.banner__wrapper:hover .disabled.button--sm-secondary, a.banner__wrapper:hover .disabled.button--lg, a.banner__wrapper:hover .disabled.button--lg-inverted, a.banner__wrapper:hover .disabled.button--lg-secondary, a.banner__wrapper:hover .disabled.button--xl, a.banner__wrapper:hover .disabled.button--xl-inverted, a.banner__wrapper:hover .disabled.button--xl-secondary, a.banner__wrapper:hover .button:disabled, a.banner__wrapper:hover .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:hover button:disabled, a.banner__wrapper:hover .button--default:disabled, a.banner__wrapper:hover .button--primary:disabled, a.banner__wrapper:hover .button--inverted:disabled, a.banner__wrapper:hover .button--secondary:disabled, a.banner__wrapper:hover .button--xs:disabled, a.banner__wrapper:hover .button--xs-inverted:disabled, a.banner__wrapper:hover .button--xs-secondary:disabled, a.banner__wrapper:hover .button--sm:disabled, a.banner__wrapper:hover .button--sm-inverted:disabled, a.banner__wrapper:hover .button--sm-secondary:disabled, a.banner__wrapper:hover .button--lg:disabled, a.banner__wrapper:hover .button--lg-inverted:disabled, a.banner__wrapper:hover .button--lg-secondary:disabled, a.banner__wrapper:hover .button--xl:disabled, a.banner__wrapper:hover .button--xl-inverted:disabled, a.banner__wrapper:hover .button--xl-secondary:disabled, a.banner__wrapper:hover .button[aria-disabled=true], a.banner__wrapper:hover .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:hover button[aria-disabled=true], a.banner__wrapper:hover [aria-disabled=true].button--default, a.banner__wrapper:hover [aria-disabled=true].button--primary, a.banner__wrapper:hover [aria-disabled=true].button--inverted, a.banner__wrapper:hover [aria-disabled=true].button--secondary, a.banner__wrapper:hover [aria-disabled=true].button--xs, a.banner__wrapper:hover [aria-disabled=true].button--xs-inverted, a.banner__wrapper:hover [aria-disabled=true].button--xs-secondary, a.banner__wrapper:hover [aria-disabled=true].button--sm, a.banner__wrapper:hover [aria-disabled=true].button--sm-inverted, a.banner__wrapper:hover [aria-disabled=true].button--sm-secondary, a.banner__wrapper:hover [aria-disabled=true].button--lg, a.banner__wrapper:hover [aria-disabled=true].button--lg-inverted, a.banner__wrapper:hover [aria-disabled=true].button--lg-secondary, a.banner__wrapper:hover [aria-disabled=true].button--xl, a.banner__wrapper:hover [aria-disabled=true].button--xl-inverted, a.banner__wrapper:hover [aria-disabled=true].button--xl-secondary, a.banner__wrapper:hover .button--add-to-cart--inverted, a.banner__wrapper:hover .button--add-to-cart--secondary, a.banner__wrapper:hover .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:hover button, a.banner__wrapper:hover .disabled.button--add-to-cart--inverted, a.banner__wrapper:hover .disabled.button--add-to-cart--secondary, a.banner__wrapper:hover .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:hover button.disabled, a.banner__wrapper:hover .button--add-to-cart--inverted:disabled, a.banner__wrapper:hover .button--add-to-cart--secondary:disabled, a.banner__wrapper:hover .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:hover button:disabled, a.banner__wrapper:hover [aria-disabled=true].button--add-to-cart--inverted, a.banner__wrapper:hover [aria-disabled=true].button--add-to-cart--secondary, a.banner__wrapper:hover .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:hover button[aria-disabled=true], a.banner__wrapper:hover .button--pill, a.banner__wrapper:hover .disabled.button--pill, a.banner__wrapper:hover .button--pill:disabled, a.banner__wrapper:hover [aria-disabled=true].button--pill, a.banner__wrapper:hover .button--circle, a.banner__wrapper:hover .disabled.button--circle, a.banner__wrapper:hover .button--circle:disabled, a.banner__wrapper:hover [aria-disabled=true].button--circle, a.banner__wrapper:active .button, a.banner__wrapper:active .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:active button, a.banner__wrapper:active .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:active button.disabled, a.banner__wrapper:active .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:active button:disabled, a.banner__wrapper:active .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:active button[aria-disabled=true], a.banner__wrapper:active .button--default, a.banner__wrapper:active .button--primary, a.banner__wrapper:active .button--inverted, a.banner__wrapper:active .button--secondary, a.banner__wrapper:active .button--xs, a.banner__wrapper:active .button--xs-inverted, a.banner__wrapper:active .button--xs-secondary, a.banner__wrapper:active .button--sm, a.banner__wrapper:active .button--sm-inverted, a.banner__wrapper:active .button--sm-secondary, a.banner__wrapper:active .button--lg, a.banner__wrapper:active .button--lg-inverted, a.banner__wrapper:active .button--lg-secondary, a.banner__wrapper:active .button--xl, a.banner__wrapper:active .button--xl-inverted, a.banner__wrapper:active .button--xl-secondary, a.banner__wrapper:active .button.disabled, a.banner__wrapper:active .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:active button.disabled, a.banner__wrapper:active .disabled.button--default, a.banner__wrapper:active .disabled.button--primary, a.banner__wrapper:active .disabled.button--inverted, a.banner__wrapper:active .disabled.button--secondary, a.banner__wrapper:active .disabled.button--xs, a.banner__wrapper:active .disabled.button--xs-inverted, a.banner__wrapper:active .disabled.button--xs-secondary, a.banner__wrapper:active .disabled.button--sm, a.banner__wrapper:active .disabled.button--sm-inverted, a.banner__wrapper:active .disabled.button--sm-secondary, a.banner__wrapper:active .disabled.button--lg, a.banner__wrapper:active .disabled.button--lg-inverted, a.banner__wrapper:active .disabled.button--lg-secondary, a.banner__wrapper:active .disabled.button--xl, a.banner__wrapper:active .disabled.button--xl-inverted, a.banner__wrapper:active .disabled.button--xl-secondary, a.banner__wrapper:active .button:disabled, a.banner__wrapper:active .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:active button:disabled, a.banner__wrapper:active .button--default:disabled, a.banner__wrapper:active .button--primary:disabled, a.banner__wrapper:active .button--inverted:disabled, a.banner__wrapper:active .button--secondary:disabled, a.banner__wrapper:active .button--xs:disabled, a.banner__wrapper:active .button--xs-inverted:disabled, a.banner__wrapper:active .button--xs-secondary:disabled, a.banner__wrapper:active .button--sm:disabled, a.banner__wrapper:active .button--sm-inverted:disabled, a.banner__wrapper:active .button--sm-secondary:disabled, a.banner__wrapper:active .button--lg:disabled, a.banner__wrapper:active .button--lg-inverted:disabled, a.banner__wrapper:active .button--lg-secondary:disabled, a.banner__wrapper:active .button--xl:disabled, a.banner__wrapper:active .button--xl-inverted:disabled, a.banner__wrapper:active .button--xl-secondary:disabled, a.banner__wrapper:active .button[aria-disabled=true], a.banner__wrapper:active .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:active button[aria-disabled=true], a.banner__wrapper:active [aria-disabled=true].button--default, a.banner__wrapper:active [aria-disabled=true].button--primary, a.banner__wrapper:active [aria-disabled=true].button--inverted, a.banner__wrapper:active [aria-disabled=true].button--secondary, a.banner__wrapper:active [aria-disabled=true].button--xs, a.banner__wrapper:active [aria-disabled=true].button--xs-inverted, a.banner__wrapper:active [aria-disabled=true].button--xs-secondary, a.banner__wrapper:active [aria-disabled=true].button--sm, a.banner__wrapper:active [aria-disabled=true].button--sm-inverted, a.banner__wrapper:active [aria-disabled=true].button--sm-secondary, a.banner__wrapper:active [aria-disabled=true].button--lg, a.banner__wrapper:active [aria-disabled=true].button--lg-inverted, a.banner__wrapper:active [aria-disabled=true].button--lg-secondary, a.banner__wrapper:active [aria-disabled=true].button--xl, a.banner__wrapper:active [aria-disabled=true].button--xl-inverted, a.banner__wrapper:active [aria-disabled=true].button--xl-secondary, a.banner__wrapper:active .button--add-to-cart--inverted, a.banner__wrapper:active .button--add-to-cart--secondary, a.banner__wrapper:active .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:active button, a.banner__wrapper:active .disabled.button--add-to-cart--inverted, a.banner__wrapper:active .disabled.button--add-to-cart--secondary, a.banner__wrapper:active .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:active button.disabled, a.banner__wrapper:active .button--add-to-cart--inverted:disabled, a.banner__wrapper:active .button--add-to-cart--secondary:disabled, a.banner__wrapper:active .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:active button:disabled, a.banner__wrapper:active [aria-disabled=true].button--add-to-cart--inverted, a.banner__wrapper:active [aria-disabled=true].button--add-to-cart--secondary, a.banner__wrapper:active .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:active button[aria-disabled=true], a.banner__wrapper:active .button--pill, a.banner__wrapper:active .disabled.button--pill, a.banner__wrapper:active .button--pill:disabled, a.banner__wrapper:active [aria-disabled=true].button--pill, a.banner__wrapper:active .button--circle, a.banner__wrapper:active .disabled.button--circle, a.banner__wrapper:active .button--circle:disabled, a.banner__wrapper:active [aria-disabled=true].button--circle, a.banner__wrapper:focus .button, a.banner__wrapper:focus .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:focus button, a.banner__wrapper:focus .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:focus button.disabled, a.banner__wrapper:focus .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:focus button:disabled, a.banner__wrapper:focus .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:focus button[aria-disabled=true], a.banner__wrapper:focus .button--default, a.banner__wrapper:focus .button--primary, a.banner__wrapper:focus .button--inverted, a.banner__wrapper:focus .button--secondary, a.banner__wrapper:focus .button--xs, a.banner__wrapper:focus .button--xs-inverted, a.banner__wrapper:focus .button--xs-secondary, a.banner__wrapper:focus .button--sm, a.banner__wrapper:focus .button--sm-inverted, a.banner__wrapper:focus .button--sm-secondary, a.banner__wrapper:focus .button--lg, a.banner__wrapper:focus .button--lg-inverted, a.banner__wrapper:focus .button--lg-secondary, a.banner__wrapper:focus .button--xl, a.banner__wrapper:focus .button--xl-inverted, a.banner__wrapper:focus .button--xl-secondary, a.banner__wrapper:focus .button.disabled, a.banner__wrapper:focus .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:focus button.disabled, a.banner__wrapper:focus .disabled.button--default, a.banner__wrapper:focus .disabled.button--primary, a.banner__wrapper:focus .disabled.button--inverted, a.banner__wrapper:focus .disabled.button--secondary, a.banner__wrapper:focus .disabled.button--xs, a.banner__wrapper:focus .disabled.button--xs-inverted, a.banner__wrapper:focus .disabled.button--xs-secondary, a.banner__wrapper:focus .disabled.button--sm, a.banner__wrapper:focus .disabled.button--sm-inverted, a.banner__wrapper:focus .disabled.button--sm-secondary, a.banner__wrapper:focus .disabled.button--lg, a.banner__wrapper:focus .disabled.button--lg-inverted, a.banner__wrapper:focus .disabled.button--lg-secondary, a.banner__wrapper:focus .disabled.button--xl, a.banner__wrapper:focus .disabled.button--xl-inverted, a.banner__wrapper:focus .disabled.button--xl-secondary, a.banner__wrapper:focus .button:disabled, a.banner__wrapper:focus .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:focus button:disabled, a.banner__wrapper:focus .button--default:disabled, a.banner__wrapper:focus .button--primary:disabled, a.banner__wrapper:focus .button--inverted:disabled, a.banner__wrapper:focus .button--secondary:disabled, a.banner__wrapper:focus .button--xs:disabled, a.banner__wrapper:focus .button--xs-inverted:disabled, a.banner__wrapper:focus .button--xs-secondary:disabled, a.banner__wrapper:focus .button--sm:disabled, a.banner__wrapper:focus .button--sm-inverted:disabled, a.banner__wrapper:focus .button--sm-secondary:disabled, a.banner__wrapper:focus .button--lg:disabled, a.banner__wrapper:focus .button--lg-inverted:disabled, a.banner__wrapper:focus .button--lg-secondary:disabled, a.banner__wrapper:focus .button--xl:disabled, a.banner__wrapper:focus .button--xl-inverted:disabled, a.banner__wrapper:focus .button--xl-secondary:disabled, a.banner__wrapper:focus .button[aria-disabled=true], a.banner__wrapper:focus .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:focus button[aria-disabled=true], a.banner__wrapper:focus [aria-disabled=true].button--default, a.banner__wrapper:focus [aria-disabled=true].button--primary, a.banner__wrapper:focus [aria-disabled=true].button--inverted, a.banner__wrapper:focus [aria-disabled=true].button--secondary, a.banner__wrapper:focus [aria-disabled=true].button--xs, a.banner__wrapper:focus [aria-disabled=true].button--xs-inverted, a.banner__wrapper:focus [aria-disabled=true].button--xs-secondary, a.banner__wrapper:focus [aria-disabled=true].button--sm, a.banner__wrapper:focus [aria-disabled=true].button--sm-inverted, a.banner__wrapper:focus [aria-disabled=true].button--sm-secondary, a.banner__wrapper:focus [aria-disabled=true].button--lg, a.banner__wrapper:focus [aria-disabled=true].button--lg-inverted, a.banner__wrapper:focus [aria-disabled=true].button--lg-secondary, a.banner__wrapper:focus [aria-disabled=true].button--xl, a.banner__wrapper:focus [aria-disabled=true].button--xl-inverted, a.banner__wrapper:focus [aria-disabled=true].button--xl-secondary, a.banner__wrapper:focus .button--add-to-cart--inverted, a.banner__wrapper:focus .button--add-to-cart--secondary, a.banner__wrapper:focus .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:focus button, a.banner__wrapper:focus .disabled.button--add-to-cart--inverted, a.banner__wrapper:focus .disabled.button--add-to-cart--secondary, a.banner__wrapper:focus .shopify-payment-button button.disabled, .shopify-payment-button a.banner__wrapper:focus button.disabled, a.banner__wrapper:focus .button--add-to-cart--inverted:disabled, a.banner__wrapper:focus .button--add-to-cart--secondary:disabled, a.banner__wrapper:focus .shopify-payment-button button:disabled, .shopify-payment-button a.banner__wrapper:focus button:disabled, a.banner__wrapper:focus [aria-disabled=true].button--add-to-cart--inverted, a.banner__wrapper:focus [aria-disabled=true].button--add-to-cart--secondary, a.banner__wrapper:focus .shopify-payment-button button[aria-disabled=true], .shopify-payment-button a.banner__wrapper:focus button[aria-disabled=true], a.banner__wrapper:focus .button--pill, a.banner__wrapper:focus .disabled.button--pill, a.banner__wrapper:focus .button--pill:disabled, a.banner__wrapper:focus [aria-disabled=true].button--pill, a.banner__wrapper:focus .button--circle, a.banner__wrapper:focus .disabled.button--circle, a.banner__wrapper:focus .button--circle:disabled, a.banner__wrapper:focus [aria-disabled=true].button--circle {
  text-decoration: none;
  background-color: var(--color-background-button-primary-hover);
  border-color: var(--color-border-button-primary-hover);
}
a.banner__wrapper:hover .button .button__text, a.banner__wrapper:hover .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:hover button .button__text, a.banner__wrapper:hover .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:hover button.disabled .button__text, a.banner__wrapper:hover .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:hover button:disabled .button__text, a.banner__wrapper:hover .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:hover button[aria-disabled=true] .button__text, a.banner__wrapper:hover .button--default .button__text, a.banner__wrapper:hover .button--primary .button__text, a.banner__wrapper:hover .button--inverted .button__text, a.banner__wrapper:hover .button--secondary .button__text, a.banner__wrapper:hover .button--xs .button__text, a.banner__wrapper:hover .button--xs-inverted .button__text, a.banner__wrapper:hover .button--xs-secondary .button__text, a.banner__wrapper:hover .button--sm .button__text, a.banner__wrapper:hover .button--sm-inverted .button__text, a.banner__wrapper:hover .button--sm-secondary .button__text, a.banner__wrapper:hover .button--lg .button__text, a.banner__wrapper:hover .button--lg-inverted .button__text, a.banner__wrapper:hover .button--lg-secondary .button__text, a.banner__wrapper:hover .button--xl .button__text, a.banner__wrapper:hover .button--xl-inverted .button__text, a.banner__wrapper:hover .button--xl-secondary .button__text, a.banner__wrapper:hover .button.disabled .button__text, a.banner__wrapper:hover .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:hover button.disabled .button__text, a.banner__wrapper:hover .disabled.button--default .button__text, a.banner__wrapper:hover .disabled.button--primary .button__text, a.banner__wrapper:hover .disabled.button--inverted .button__text, a.banner__wrapper:hover .disabled.button--secondary .button__text, a.banner__wrapper:hover .disabled.button--xs .button__text, a.banner__wrapper:hover .disabled.button--xs-inverted .button__text, a.banner__wrapper:hover .disabled.button--xs-secondary .button__text, a.banner__wrapper:hover .disabled.button--sm .button__text, a.banner__wrapper:hover .disabled.button--sm-inverted .button__text, a.banner__wrapper:hover .disabled.button--sm-secondary .button__text, a.banner__wrapper:hover .disabled.button--lg .button__text, a.banner__wrapper:hover .disabled.button--lg-inverted .button__text, a.banner__wrapper:hover .disabled.button--lg-secondary .button__text, a.banner__wrapper:hover .disabled.button--xl .button__text, a.banner__wrapper:hover .disabled.button--xl-inverted .button__text, a.banner__wrapper:hover .disabled.button--xl-secondary .button__text, a.banner__wrapper:hover .button:disabled .button__text, a.banner__wrapper:hover .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:hover button:disabled .button__text, a.banner__wrapper:hover .button--default:disabled .button__text, a.banner__wrapper:hover .button--primary:disabled .button__text, a.banner__wrapper:hover .button--inverted:disabled .button__text, a.banner__wrapper:hover .button--secondary:disabled .button__text, a.banner__wrapper:hover .button--xs:disabled .button__text, a.banner__wrapper:hover .button--xs-inverted:disabled .button__text, a.banner__wrapper:hover .button--xs-secondary:disabled .button__text, a.banner__wrapper:hover .button--sm:disabled .button__text, a.banner__wrapper:hover .button--sm-inverted:disabled .button__text, a.banner__wrapper:hover .button--sm-secondary:disabled .button__text, a.banner__wrapper:hover .button--lg:disabled .button__text, a.banner__wrapper:hover .button--lg-inverted:disabled .button__text, a.banner__wrapper:hover .button--lg-secondary:disabled .button__text, a.banner__wrapper:hover .button--xl:disabled .button__text, a.banner__wrapper:hover .button--xl-inverted:disabled .button__text, a.banner__wrapper:hover .button--xl-secondary:disabled .button__text, a.banner__wrapper:hover .button[aria-disabled=true] .button__text, a.banner__wrapper:hover .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:hover button[aria-disabled=true] .button__text, a.banner__wrapper:hover [aria-disabled=true].button--default .button__text, a.banner__wrapper:hover [aria-disabled=true].button--primary .button__text, a.banner__wrapper:hover [aria-disabled=true].button--inverted .button__text, a.banner__wrapper:hover [aria-disabled=true].button--secondary .button__text, a.banner__wrapper:hover [aria-disabled=true].button--xs .button__text, a.banner__wrapper:hover [aria-disabled=true].button--xs-inverted .button__text, a.banner__wrapper:hover [aria-disabled=true].button--xs-secondary .button__text, a.banner__wrapper:hover [aria-disabled=true].button--sm .button__text, a.banner__wrapper:hover [aria-disabled=true].button--sm-inverted .button__text, a.banner__wrapper:hover [aria-disabled=true].button--sm-secondary .button__text, a.banner__wrapper:hover [aria-disabled=true].button--lg .button__text, a.banner__wrapper:hover [aria-disabled=true].button--lg-inverted .button__text, a.banner__wrapper:hover [aria-disabled=true].button--lg-secondary .button__text, a.banner__wrapper:hover [aria-disabled=true].button--xl .button__text, a.banner__wrapper:hover [aria-disabled=true].button--xl-inverted .button__text, a.banner__wrapper:hover [aria-disabled=true].button--xl-secondary .button__text, a.banner__wrapper:hover .button--add-to-cart--inverted .button__text, a.banner__wrapper:hover .button--add-to-cart--secondary .button__text, a.banner__wrapper:hover .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:hover button .button__text, a.banner__wrapper:hover .disabled.button--add-to-cart--inverted .button__text, a.banner__wrapper:hover .disabled.button--add-to-cart--secondary .button__text, a.banner__wrapper:hover .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:hover button.disabled .button__text, a.banner__wrapper:hover .button--add-to-cart--inverted:disabled .button__text, a.banner__wrapper:hover .button--add-to-cart--secondary:disabled .button__text, a.banner__wrapper:hover .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:hover button:disabled .button__text, a.banner__wrapper:hover [aria-disabled=true].button--add-to-cart--inverted .button__text, a.banner__wrapper:hover [aria-disabled=true].button--add-to-cart--secondary .button__text, a.banner__wrapper:hover .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:hover button[aria-disabled=true] .button__text, a.banner__wrapper:hover .button--pill .button__text, a.banner__wrapper:hover .disabled.button--pill .button__text, a.banner__wrapper:hover .button--pill:disabled .button__text, a.banner__wrapper:hover [aria-disabled=true].button--pill .button__text, a.banner__wrapper:hover .button--circle .button__text, a.banner__wrapper:hover .disabled.button--circle .button__text, a.banner__wrapper:hover .button--circle:disabled .button__text, a.banner__wrapper:hover [aria-disabled=true].button--circle .button__text, a.banner__wrapper:active .button .button__text, a.banner__wrapper:active .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:active button .button__text, a.banner__wrapper:active .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:active button.disabled .button__text, a.banner__wrapper:active .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:active button:disabled .button__text, a.banner__wrapper:active .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:active button[aria-disabled=true] .button__text, a.banner__wrapper:active .button--default .button__text, a.banner__wrapper:active .button--primary .button__text, a.banner__wrapper:active .button--inverted .button__text, a.banner__wrapper:active .button--secondary .button__text, a.banner__wrapper:active .button--xs .button__text, a.banner__wrapper:active .button--xs-inverted .button__text, a.banner__wrapper:active .button--xs-secondary .button__text, a.banner__wrapper:active .button--sm .button__text, a.banner__wrapper:active .button--sm-inverted .button__text, a.banner__wrapper:active .button--sm-secondary .button__text, a.banner__wrapper:active .button--lg .button__text, a.banner__wrapper:active .button--lg-inverted .button__text, a.banner__wrapper:active .button--lg-secondary .button__text, a.banner__wrapper:active .button--xl .button__text, a.banner__wrapper:active .button--xl-inverted .button__text, a.banner__wrapper:active .button--xl-secondary .button__text, a.banner__wrapper:active .button.disabled .button__text, a.banner__wrapper:active .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:active button.disabled .button__text, a.banner__wrapper:active .disabled.button--default .button__text, a.banner__wrapper:active .disabled.button--primary .button__text, a.banner__wrapper:active .disabled.button--inverted .button__text, a.banner__wrapper:active .disabled.button--secondary .button__text, a.banner__wrapper:active .disabled.button--xs .button__text, a.banner__wrapper:active .disabled.button--xs-inverted .button__text, a.banner__wrapper:active .disabled.button--xs-secondary .button__text, a.banner__wrapper:active .disabled.button--sm .button__text, a.banner__wrapper:active .disabled.button--sm-inverted .button__text, a.banner__wrapper:active .disabled.button--sm-secondary .button__text, a.banner__wrapper:active .disabled.button--lg .button__text, a.banner__wrapper:active .disabled.button--lg-inverted .button__text, a.banner__wrapper:active .disabled.button--lg-secondary .button__text, a.banner__wrapper:active .disabled.button--xl .button__text, a.banner__wrapper:active .disabled.button--xl-inverted .button__text, a.banner__wrapper:active .disabled.button--xl-secondary .button__text, a.banner__wrapper:active .button:disabled .button__text, a.banner__wrapper:active .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:active button:disabled .button__text, a.banner__wrapper:active .button--default:disabled .button__text, a.banner__wrapper:active .button--primary:disabled .button__text, a.banner__wrapper:active .button--inverted:disabled .button__text, a.banner__wrapper:active .button--secondary:disabled .button__text, a.banner__wrapper:active .button--xs:disabled .button__text, a.banner__wrapper:active .button--xs-inverted:disabled .button__text, a.banner__wrapper:active .button--xs-secondary:disabled .button__text, a.banner__wrapper:active .button--sm:disabled .button__text, a.banner__wrapper:active .button--sm-inverted:disabled .button__text, a.banner__wrapper:active .button--sm-secondary:disabled .button__text, a.banner__wrapper:active .button--lg:disabled .button__text, a.banner__wrapper:active .button--lg-inverted:disabled .button__text, a.banner__wrapper:active .button--lg-secondary:disabled .button__text, a.banner__wrapper:active .button--xl:disabled .button__text, a.banner__wrapper:active .button--xl-inverted:disabled .button__text, a.banner__wrapper:active .button--xl-secondary:disabled .button__text, a.banner__wrapper:active .button[aria-disabled=true] .button__text, a.banner__wrapper:active .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:active button[aria-disabled=true] .button__text, a.banner__wrapper:active [aria-disabled=true].button--default .button__text, a.banner__wrapper:active [aria-disabled=true].button--primary .button__text, a.banner__wrapper:active [aria-disabled=true].button--inverted .button__text, a.banner__wrapper:active [aria-disabled=true].button--secondary .button__text, a.banner__wrapper:active [aria-disabled=true].button--xs .button__text, a.banner__wrapper:active [aria-disabled=true].button--xs-inverted .button__text, a.banner__wrapper:active [aria-disabled=true].button--xs-secondary .button__text, a.banner__wrapper:active [aria-disabled=true].button--sm .button__text, a.banner__wrapper:active [aria-disabled=true].button--sm-inverted .button__text, a.banner__wrapper:active [aria-disabled=true].button--sm-secondary .button__text, a.banner__wrapper:active [aria-disabled=true].button--lg .button__text, a.banner__wrapper:active [aria-disabled=true].button--lg-inverted .button__text, a.banner__wrapper:active [aria-disabled=true].button--lg-secondary .button__text, a.banner__wrapper:active [aria-disabled=true].button--xl .button__text, a.banner__wrapper:active [aria-disabled=true].button--xl-inverted .button__text, a.banner__wrapper:active [aria-disabled=true].button--xl-secondary .button__text, a.banner__wrapper:active .button--add-to-cart--inverted .button__text, a.banner__wrapper:active .button--add-to-cart--secondary .button__text, a.banner__wrapper:active .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:active button .button__text, a.banner__wrapper:active .disabled.button--add-to-cart--inverted .button__text, a.banner__wrapper:active .disabled.button--add-to-cart--secondary .button__text, a.banner__wrapper:active .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:active button.disabled .button__text, a.banner__wrapper:active .button--add-to-cart--inverted:disabled .button__text, a.banner__wrapper:active .button--add-to-cart--secondary:disabled .button__text, a.banner__wrapper:active .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:active button:disabled .button__text, a.banner__wrapper:active [aria-disabled=true].button--add-to-cart--inverted .button__text, a.banner__wrapper:active [aria-disabled=true].button--add-to-cart--secondary .button__text, a.banner__wrapper:active .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:active button[aria-disabled=true] .button__text, a.banner__wrapper:active .button--pill .button__text, a.banner__wrapper:active .disabled.button--pill .button__text, a.banner__wrapper:active .button--pill:disabled .button__text, a.banner__wrapper:active [aria-disabled=true].button--pill .button__text, a.banner__wrapper:active .button--circle .button__text, a.banner__wrapper:active .disabled.button--circle .button__text, a.banner__wrapper:active .button--circle:disabled .button__text, a.banner__wrapper:active [aria-disabled=true].button--circle .button__text, a.banner__wrapper:focus .button .button__text, a.banner__wrapper:focus .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:focus button .button__text, a.banner__wrapper:focus .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:focus button.disabled .button__text, a.banner__wrapper:focus .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:focus button:disabled .button__text, a.banner__wrapper:focus .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:focus button[aria-disabled=true] .button__text, a.banner__wrapper:focus .button--default .button__text, a.banner__wrapper:focus .button--primary .button__text, a.banner__wrapper:focus .button--inverted .button__text, a.banner__wrapper:focus .button--secondary .button__text, a.banner__wrapper:focus .button--xs .button__text, a.banner__wrapper:focus .button--xs-inverted .button__text, a.banner__wrapper:focus .button--xs-secondary .button__text, a.banner__wrapper:focus .button--sm .button__text, a.banner__wrapper:focus .button--sm-inverted .button__text, a.banner__wrapper:focus .button--sm-secondary .button__text, a.banner__wrapper:focus .button--lg .button__text, a.banner__wrapper:focus .button--lg-inverted .button__text, a.banner__wrapper:focus .button--lg-secondary .button__text, a.banner__wrapper:focus .button--xl .button__text, a.banner__wrapper:focus .button--xl-inverted .button__text, a.banner__wrapper:focus .button--xl-secondary .button__text, a.banner__wrapper:focus .button.disabled .button__text, a.banner__wrapper:focus .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:focus button.disabled .button__text, a.banner__wrapper:focus .disabled.button--default .button__text, a.banner__wrapper:focus .disabled.button--primary .button__text, a.banner__wrapper:focus .disabled.button--inverted .button__text, a.banner__wrapper:focus .disabled.button--secondary .button__text, a.banner__wrapper:focus .disabled.button--xs .button__text, a.banner__wrapper:focus .disabled.button--xs-inverted .button__text, a.banner__wrapper:focus .disabled.button--xs-secondary .button__text, a.banner__wrapper:focus .disabled.button--sm .button__text, a.banner__wrapper:focus .disabled.button--sm-inverted .button__text, a.banner__wrapper:focus .disabled.button--sm-secondary .button__text, a.banner__wrapper:focus .disabled.button--lg .button__text, a.banner__wrapper:focus .disabled.button--lg-inverted .button__text, a.banner__wrapper:focus .disabled.button--lg-secondary .button__text, a.banner__wrapper:focus .disabled.button--xl .button__text, a.banner__wrapper:focus .disabled.button--xl-inverted .button__text, a.banner__wrapper:focus .disabled.button--xl-secondary .button__text, a.banner__wrapper:focus .button:disabled .button__text, a.banner__wrapper:focus .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:focus button:disabled .button__text, a.banner__wrapper:focus .button--default:disabled .button__text, a.banner__wrapper:focus .button--primary:disabled .button__text, a.banner__wrapper:focus .button--inverted:disabled .button__text, a.banner__wrapper:focus .button--secondary:disabled .button__text, a.banner__wrapper:focus .button--xs:disabled .button__text, a.banner__wrapper:focus .button--xs-inverted:disabled .button__text, a.banner__wrapper:focus .button--xs-secondary:disabled .button__text, a.banner__wrapper:focus .button--sm:disabled .button__text, a.banner__wrapper:focus .button--sm-inverted:disabled .button__text, a.banner__wrapper:focus .button--sm-secondary:disabled .button__text, a.banner__wrapper:focus .button--lg:disabled .button__text, a.banner__wrapper:focus .button--lg-inverted:disabled .button__text, a.banner__wrapper:focus .button--lg-secondary:disabled .button__text, a.banner__wrapper:focus .button--xl:disabled .button__text, a.banner__wrapper:focus .button--xl-inverted:disabled .button__text, a.banner__wrapper:focus .button--xl-secondary:disabled .button__text, a.banner__wrapper:focus .button[aria-disabled=true] .button__text, a.banner__wrapper:focus .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:focus button[aria-disabled=true] .button__text, a.banner__wrapper:focus [aria-disabled=true].button--default .button__text, a.banner__wrapper:focus [aria-disabled=true].button--primary .button__text, a.banner__wrapper:focus [aria-disabled=true].button--inverted .button__text, a.banner__wrapper:focus [aria-disabled=true].button--secondary .button__text, a.banner__wrapper:focus [aria-disabled=true].button--xs .button__text, a.banner__wrapper:focus [aria-disabled=true].button--xs-inverted .button__text, a.banner__wrapper:focus [aria-disabled=true].button--xs-secondary .button__text, a.banner__wrapper:focus [aria-disabled=true].button--sm .button__text, a.banner__wrapper:focus [aria-disabled=true].button--sm-inverted .button__text, a.banner__wrapper:focus [aria-disabled=true].button--sm-secondary .button__text, a.banner__wrapper:focus [aria-disabled=true].button--lg .button__text, a.banner__wrapper:focus [aria-disabled=true].button--lg-inverted .button__text, a.banner__wrapper:focus [aria-disabled=true].button--lg-secondary .button__text, a.banner__wrapper:focus [aria-disabled=true].button--xl .button__text, a.banner__wrapper:focus [aria-disabled=true].button--xl-inverted .button__text, a.banner__wrapper:focus [aria-disabled=true].button--xl-secondary .button__text, a.banner__wrapper:focus .button--add-to-cart--inverted .button__text, a.banner__wrapper:focus .button--add-to-cart--secondary .button__text, a.banner__wrapper:focus .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:focus button .button__text, a.banner__wrapper:focus .disabled.button--add-to-cart--inverted .button__text, a.banner__wrapper:focus .disabled.button--add-to-cart--secondary .button__text, a.banner__wrapper:focus .shopify-payment-button button.disabled .button__text, .shopify-payment-button a.banner__wrapper:focus button.disabled .button__text, a.banner__wrapper:focus .button--add-to-cart--inverted:disabled .button__text, a.banner__wrapper:focus .button--add-to-cart--secondary:disabled .button__text, a.banner__wrapper:focus .shopify-payment-button button:disabled .button__text, .shopify-payment-button a.banner__wrapper:focus button:disabled .button__text, a.banner__wrapper:focus [aria-disabled=true].button--add-to-cart--inverted .button__text, a.banner__wrapper:focus [aria-disabled=true].button--add-to-cart--secondary .button__text, a.banner__wrapper:focus .shopify-payment-button button[aria-disabled=true] .button__text, .shopify-payment-button a.banner__wrapper:focus button[aria-disabled=true] .button__text, a.banner__wrapper:focus .button--pill .button__text, a.banner__wrapper:focus .disabled.button--pill .button__text, a.banner__wrapper:focus .button--pill:disabled .button__text, a.banner__wrapper:focus [aria-disabled=true].button--pill .button__text, a.banner__wrapper:focus .button--circle .button__text, a.banner__wrapper:focus .disabled.button--circle .button__text, a.banner__wrapper:focus .button--circle:disabled .button__text, a.banner__wrapper:focus [aria-disabled=true].button--circle .button__text {
  color: var(--color-text-button-primary-hover);
}
a.banner__wrapper:hover .button--inverted, a.banner__wrapper:hover .button--secondary, a.banner__wrapper:hover .button--xs-inverted, a.banner__wrapper:hover .button--xs-secondary, a.banner__wrapper:hover .button--sm-inverted, a.banner__wrapper:hover .button--sm-secondary, a.banner__wrapper:hover .button--lg-inverted, a.banner__wrapper:hover .button--lg-secondary, a.banner__wrapper:hover .button--xl-inverted, a.banner__wrapper:hover .button--xl-secondary, a.banner__wrapper:hover .button--add-to-cart--inverted, a.banner__wrapper:hover .button--add-to-cart--secondary, a.banner__wrapper:hover .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:hover button, a.banner__wrapper:hover .button--pill, a.banner__wrapper:active .button--inverted, a.banner__wrapper:active .button--secondary, a.banner__wrapper:active .button--xs-inverted, a.banner__wrapper:active .button--xs-secondary, a.banner__wrapper:active .button--sm-inverted, a.banner__wrapper:active .button--sm-secondary, a.banner__wrapper:active .button--lg-inverted, a.banner__wrapper:active .button--lg-secondary, a.banner__wrapper:active .button--xl-inverted, a.banner__wrapper:active .button--xl-secondary, a.banner__wrapper:active .button--add-to-cart--inverted, a.banner__wrapper:active .button--add-to-cart--secondary, a.banner__wrapper:active .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:active button, a.banner__wrapper:active .button--pill, a.banner__wrapper:focus .button--inverted, a.banner__wrapper:focus .button--secondary, a.banner__wrapper:focus .button--xs-inverted, a.banner__wrapper:focus .button--xs-secondary, a.banner__wrapper:focus .button--sm-inverted, a.banner__wrapper:focus .button--sm-secondary, a.banner__wrapper:focus .button--lg-inverted, a.banner__wrapper:focus .button--lg-secondary, a.banner__wrapper:focus .button--xl-inverted, a.banner__wrapper:focus .button--xl-secondary, a.banner__wrapper:focus .button--add-to-cart--inverted, a.banner__wrapper:focus .button--add-to-cart--secondary, a.banner__wrapper:focus .shopify-payment-button button, .shopify-payment-button a.banner__wrapper:focus button, a.banner__wrapper:focus .button--pill {
  border: 1px solid var(--color-border-button-secondary-hover);
  background-color: var(--color-background-button-secondary-hover);
}
a.banner__wrapper:hover .button--inverted .button__text, a.banner__wrapper:hover .button--secondary .button__text, a.banner__wrapper:hover .button--xs-inverted .button__text, a.banner__wrapper:hover .button--xs-secondary .button__text, a.banner__wrapper:hover .button--sm-inverted .button__text, a.banner__wrapper:hover .button--sm-secondary .button__text, a.banner__wrapper:hover .button--lg-inverted .button__text, a.banner__wrapper:hover .button--lg-secondary .button__text, a.banner__wrapper:hover .button--xl-inverted .button__text, a.banner__wrapper:hover .button--xl-secondary .button__text, a.banner__wrapper:hover .button--add-to-cart--inverted .button__text, a.banner__wrapper:hover .button--add-to-cart--secondary .button__text, a.banner__wrapper:hover .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:hover button .button__text, a.banner__wrapper:hover .button--pill .button__text, a.banner__wrapper:active .button--inverted .button__text, a.banner__wrapper:active .button--secondary .button__text, a.banner__wrapper:active .button--xs-inverted .button__text, a.banner__wrapper:active .button--xs-secondary .button__text, a.banner__wrapper:active .button--sm-inverted .button__text, a.banner__wrapper:active .button--sm-secondary .button__text, a.banner__wrapper:active .button--lg-inverted .button__text, a.banner__wrapper:active .button--lg-secondary .button__text, a.banner__wrapper:active .button--xl-inverted .button__text, a.banner__wrapper:active .button--xl-secondary .button__text, a.banner__wrapper:active .button--add-to-cart--inverted .button__text, a.banner__wrapper:active .button--add-to-cart--secondary .button__text, a.banner__wrapper:active .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:active button .button__text, a.banner__wrapper:active .button--pill .button__text, a.banner__wrapper:focus .button--inverted .button__text, a.banner__wrapper:focus .button--secondary .button__text, a.banner__wrapper:focus .button--xs-inverted .button__text, a.banner__wrapper:focus .button--xs-secondary .button__text, a.banner__wrapper:focus .button--sm-inverted .button__text, a.banner__wrapper:focus .button--sm-secondary .button__text, a.banner__wrapper:focus .button--lg-inverted .button__text, a.banner__wrapper:focus .button--lg-secondary .button__text, a.banner__wrapper:focus .button--xl-inverted .button__text, a.banner__wrapper:focus .button--xl-secondary .button__text, a.banner__wrapper:focus .button--add-to-cart--inverted .button__text, a.banner__wrapper:focus .button--add-to-cart--secondary .button__text, a.banner__wrapper:focus .shopify-payment-button button .button__text, .shopify-payment-button a.banner__wrapper:focus button .button__text, a.banner__wrapper:focus .button--pill .button__text {
  color: var(--color-text-button-secondary-hover);
}

.shopify-payment-button {
  margin: 1.2rem 0 0 0;
  position: relative;
}
.no-js .shopify-payment-button {
  display: none;
}
.shopify-payment-button button {
  min-height: 4.2rem;
  height: 4.2rem;
}
.shopify-payment-button button.shopify-payment-button__more-options {
  text-decoration: none !important;
}
.shopify-payment-button button.shopify-payment-button__more-options {
  margin: 1.2rem 0 0 0;
}

.loading-icon {
  display: none;
}

.buttons__wrapper {
  grid-gap: calc(var(--gap) / 2);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.buttons__wrapper--below {
  margin-top: calc(var(--gap) / 2);
}
.buttons__wrapper--center {
  justify-content: center;
}
.buttons__wrapper--right {
  justify-content: flex-end;
}
@media (max-width: 63.99em) {
  .buttons__wrapper--fullwidth {
    width: 100%;
  }
  .buttons__wrapper--fullwidth a:not(.button--plain):not(.button--plain-sm):not(.button--plain-xs) {
    width: 100%;
  }
}
.buttons__wrapper a {
  align-self: center;
}

.swatch[\:has\(input\:checked\)] {
  box-shadow: 0px 0px 0px 0.2rem var(--color-border-button-primary-hover) !important;
}

.swatch:has(input:checked) {
  box-shadow: 0px 0px 0px 0.2rem var(--color-border-button-primary-hover) !important;
}
.swatch[\:has\(input\:disabled\)] {
  position: relative;
}
.swatch:has(input:disabled) {
  position: relative;
}
.swatch[\:has\(input\:disabled\)]:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: -50%;
  height: 0.1rem;
  width: 200%;
  transform: rotate(-45deg);
  background: var(--color-border-button-primary);
}
.swatch:has(input:disabled):before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: -50%;
  height: 0.1rem;
  width: 200%;
  transform: rotate(-45deg);
  background: var(--color-border-button-primary);
}
.swatch[\:has\(input\:disabled\)]:hover, .swatch[\:has\(input\:disabled\)]:active, .swatch[\:has\(input\:disabled\)]:focus {
  border-color: var(--color-border-button-primary);
}
.swatch:has(input:disabled):hover, .swatch:has(input:disabled):active, .swatch:has(input:disabled):focus {
  border-color: var(--color-border-button-primary);
}
.swatch--image {
  cursor: pointer;
  border-radius: var(--border-radius);
  overflow: hidden;
  transition: all 0.2s;
  position: relative;
  display: grid;
}
.swatch--image span {
  display: inline-grid;
  align-items: center;
  height: 100%;
  width: 100%;
  justify-content: center;
  font-size: 1.4rem;
}
.swatch--image[\:has\(input\:disabled\)] {
  opacity: 0.5;
}
.swatch--image:has(input:disabled) {
  opacity: 0.5;
}
.swatch--image[\:has\(input\:disabled\)] .image_swatch--text_value {
  text-decoration: line-through;
}
.swatch--image:has(input:disabled) .image_swatch--text_value {
  text-decoration: line-through;
}
.swatch--image img {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}
.swatch--image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  grid-row: 1;
  grid-column: 1;
}
.swatch--color {
  cursor: pointer;
  border-radius: var(--border-radius);
  overflow: hidden;
  transition: all 0.2s;
  font-size: 1.4rem;
}

.accelerated-checkout-button {
  border-radius: 8px;
  overflow: hidden;
}

.heading .container.center {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.heading .container.center .grid-content__header {
  flex-direction: column;
  align-items: center;
}
.heading .container.center .icon {
  margin-left: auto;
  margin-right: auto;
}
.heading .container.right {
  text-align: right;
}
.heading .container.right .icon {
  display: inline-block;
  text-align: right;
}
@media (min-width: 64em) {
  .heading .container.right div {
    order: 2;
  }
  .heading .container.right a {
    order: 1;
  }
}
.heading__block, .heading__section {
  position: relative;
}
@media (max-width: 63.99em) {
  .heading__block, .heading__section {
    width: 100%;
  }
}
@media (min-width: 64em) {
  .heading__block, .heading__section {
    flex: 1;
  }
}
.heading__block + div, .heading__section + div {
  flex-shrink: 0;
}
.heading__block > *:last-child, .heading__section > *:last-child {
  margin-bottom: 0;
}
.heading__block > *:not(:last-child):not(.text--caption):not(.swiper-pagination.swiper-pagination-fraction), .heading__section > *:not(:last-child):not(.text--caption):not(.swiper-pagination.swiper-pagination-fraction) {
  margin-bottom: 1.6rem;
}
.heading__block > *.text--caption, .heading__block > .swiper-pagination.swiper-pagination-fraction, .heading__section > *.text--caption, .heading__section > .swiper-pagination.swiper-pagination-fraction {
  margin-bottom: 0.8rem;
}
.heading__block > *:not(:last-child):not(.text--caption):not(.swiper-pagination.swiper-pagination-fraction), .heading__section > *:not(:last-child):not(.text--caption):not(.swiper-pagination.swiper-pagination-fraction) {
  margin-bottom: 1.6rem;
}
.heading__block > *.text--caption, .heading__block > .swiper-pagination.swiper-pagination-fraction, .heading__section > *.text--caption, .heading__section > .swiper-pagination.swiper-pagination-fraction {
  margin-bottom: 0.8rem;
}
.heading__block > *:last-child, .heading__section > *:last-child {
  margin-bottom: 0;
}
.heading.shopify-section .grid-content__header {
  padding: 0;
}

.icons-product {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: space-between;
  align-items: center;
}
.icons-product__icon {
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;
  flex: 1;
}
.icons-product__description {
  -webkit-hyphens: auto;
          hyphens: auto;
}
@media (max-width: 63.99em) {
  .icons-product__description {
    text-align: center;
  }
}
.icons-product__description strong {
  display: block;
}

.nav .features-bar {
  margin: 0 !important;
}

.nav .features-bar {
  overflow: hidden;
  border-radius: var(--border-radius);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top: 1px solid var(--color-border);
  flex-shrink: 0;
}
.nav .features-bar__inner-container {
  margin-bottom: 0;
}
.nav .features-bar__wrapper {
  border-radius: 0;
  max-width: 100%;
  margin: 0;
}
.nav > .container {
  position: relative;
  z-index: 2;
  border: 1px solid var(--color-border);
  box-sizing: border-box;
  border-radius: var(--border-radius);
  background: var(--color-background-body);
  padding: 0;
  -webkit-overflow-scrolling: touch;
  transition: all 0.4s;
  max-width: var(--container-width);
  width: auto;
  overflow: hidden;
  max-height: inherit;
  display: flex;
  flex-direction: column;
}
@media (max-width: 63.99em) {
  .nav > .container {
    padding: 0 !important;
  }
  .nav > .container {
    justify-content: space-between;
    height: 100%;
    overflow-y: scroll;
    box-shadow: 0 1rem 4rem rgba(52, 64, 84, 0.12);
  }
}
@media (min-width: 64em) {
  .nav > .container {
    overflow: hidden;
  }
}
.nav > .container::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
.nav__main-menu--simple_dropdown {
  width: 100%;
  background: var(--color-background);
}
@media (min-width: 64em) {
  .nav__main-menu--simple_dropdown {
    display: grid;
    grid-gap: 3.6rem;
    padding: 2.4rem 4.8rem 2.4rem 3.6rem;
  }
  .nav__main-menu--simple_dropdown ul {
    grid-column: 1;
  }
  .nav__main-menu--simple_dropdown ul ul {
    margin: 0 0 0 1.6rem;
  }
  .nav__main-menu--simple_dropdown .nav__main-menu-column--banner {
    grid-column: 2;
  }
  .nav__main-menu--simple_dropdown .nav__main-menu-column--banner .banner__wrapper > div {
    padding: 2.4rem;
  }
}
.nav__content__outer {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.nav__main-menu-link, .nav__main-menu-link--basic {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  height: 6.4rem;
  padding: 0 1.6rem 0 2.4rem;
  width: 100%;
  text-align: left;
  border-radius: var(--border-radius);
  white-space: normal;
  color: var(--color-text-links);
  background: rgba(0, 0, 0, 0);
  transition: background 0.32s;
}
.nav__main-menu-link--active {
  color: var(--color-text-links-hover) !important;
}
.nav__main-menu-link--active {
  background: var(--color-background-alt);
}
.nav__main-menu-link--basic {
  padding: 0 2.4rem;
}
.nav__main-menu-link--simple {
  line-height: 1.5;
  margin: 1.6rem 0;
  display: block;
  padding-left: 2rem;
  position: relative;
  color: var(--color-text-links);
}
.nav__main-menu-link--simple:before {
  content: "›";
  position: absolute;
  left: 0;
  top: -0.12rem;
  transition: 0.25s;
}
.nav__main-menu-link--simple:hover, .nav__main-menu-link--simple:active, .nav__main-menu-link--simple:focus {
  color: var(--color-text-links-hover);
}
.nav__main-menu-link--simple:hover:before, .nav__main-menu-link--simple:active:before, .nav__main-menu-link--simple:focus:before {
  color: var(--color-text-links-hover);
  left: 0.2rem;
}
.nav__content {
  display: flex;
  position: relative;
  width: 100%;
  overflow: hidden;
  max-height: inherit;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE 10+ */
}
@media (max-width: 63.99em) {
  .nav__content {
    width: 200%;
    transition: transform 0.5s;
  }
}
.nav__content::-webkit-scrollbar {
  background: transparent; /* Chrome/Safari/Webkit */
  width: 0px;
}
.nav__main-menu {
  width: 50%;
}
.nav__main-menu--one_level_megamenu {
  display: grid;
  padding: var(--gap);
  grid-gap: var(--gap);
  white-space: nowrap;
  width: -moz-max-content;
  width: max-content;
}
.nav__main-menu--one_level_megamenu .nav__main-menu-column {
  max-width: 24rem;
}
.nav__main-menu--one_level_megamenu .nav__main-menu-column::-webkit-scrollbar {
  background: transparent; /* Chrome/Safari/Webkit */
  width: 0px;
}
.nav__main-menu--one_level_megamenu a {
  white-space: normal;
  word-break: break-word;
}
.nav__main-menu--one_level_megamenu .nav__main-menu-column--banner {
  grid-row: 1;
}
@media (min-width: 48em) and (max-width: 85.365em) {
  .nav__main-menu--one_level_megamenu .nav__main-menu-column--banner {
    grid-row: auto !important;
    grid-column: auto !important;
  }
}
.nav__main-menu-column--banner {
  padding: var(--gap) var(--gap) var(--gap) 0;
  min-width: 36rem;
  min-height: 36rem;
  background-color: var(--color-background);
}
.nav__main-menu--multi_level_megamenu {
  width: 25%;
  padding: 4rem;
  border-right: 1px solid var(--color-border);
}
.nav__main-menu-column ul li a {
  line-height: 1.5;
  margin: 1.6rem 0;
  display: block;
  padding-left: 2rem;
  position: relative;
  color: var(--color-text-links);
}
.nav__main-menu-column ul li a:before {
  content: "›";
  position: absolute;
  left: 0;
  top: -0.12rem;
  transition: 0.3s;
}
.nav__main-menu-column ul li a:hover, .nav__main-menu-column ul li a:active, .nav__main-menu-column ul li a:focus {
  color: var(--color-text-links-hover);
}
.nav__main-menu-column ul li a:hover:before, .nav__main-menu-column ul li a:active:before, .nav__main-menu-column ul li a:focus:before {
  color: var(--color-text-links-hover);
  left: 0.2rem;
}
.nav__main-menu--multi_level_megamenu {
  background: var(--color-background-body);
}
.nav__main-menu--one_level_megamenu {
  background-color: var(--color-background);
  height: 100%;
  overflow: scroll;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE 10+ */
}
.nav__main-menu--one_level_megamenu::-webkit-scrollbar {
  background: transparent; /* Chrome/Safari/Webkit */
  width: 0px;
}
.nav__main-menu--one_level_megamenu ul li details summary:after, .nav__main-menu--multi_level_megamenu ul li details summary:after {
  display: none;
}
.nav__main-menu--one_level_megamenu ul li details .nav__secondary-menu__item, .nav__main-menu--multi_level_megamenu ul li details .nav__secondary-menu__item {
  position: absolute;
  left: 25%;
  padding: 4rem;
  top: 0;
  width: 75%;
  height: 100%;
  background: var(--color-background-alt);
}
.nav--one-level .nav__content {
  height: 100%;
  overflow: scroll;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE 10+ */
}
.nav--one-level .nav__content::-webkit-scrollbar {
  background: transparent; /* Chrome/Safari/Webkit */
  width: 0px;
}
.nav__secondary-menu {
  width: 75%;
  position: relative;
}
@media (max-width: 63.99em) {
  .nav__secondary-menu {
    width: 100%;
    background: var(--color-background-alt);
    height: 100%;
  }
  .nav__secondary-menu[\:not-has\(.nav__secondary-menu__item--visible\)] {
    display: none;
  }
  .nav__secondary-menu:not(:has(.nav__secondary-menu__item--visible)) {
    display: none;
  }
}
@media (min-width: 64em) {
  .nav__secondary-menu {
    display: flex;
    overflow: hidden;
  }
}
@media (max-width: 63.99em) {
  .nav__secondary-menu .button--sm-secondary {
    width: 100%;
    padding: 1.6rem;
  }
  .nav__secondary-menu .nav__main-menu-link--basic {
    padding: 0 1.6rem;
  }
  .nav__secondary-menu .nav__mobile-dropdown-wrapper--open {
    padding: 0 0 1.2rem;
    border-bottom: 1px solid var(--color-border);
  }
  .nav__secondary-menu .nav__mobile-dropdown-wrapper--open .nav__main-menu-link--basic {
    padding: 0 2.4rem;
    height: 4.8rem;
    font-size: 1.4rem;
  }
}
.nav__secondary-menu__close {
  display: flex;
  align-items: center;
  position: relative;
  color: var(--color-text-links);
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 2rem 0;
  width: 100%;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-background-body);
}
@media (min-width: 64em) {
  .nav__secondary-menu__close {
    display: none;
  }
}
.nav__secondary-menu__item {
  transition: transform 0.3s 0s, opacity 0.3s 0s;
  width: 100%;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE 10+ */
}
.nav__secondary-menu__item::-webkit-scrollbar {
  background: transparent; /* Chrome/Safari/Webkit */
  width: 0px;
}
@media (max-width: 63.99em) {
  .nav__secondary-menu__item {
    display: none;
    padding: calc(var(--gap) / 2);
    padding-top: 0;
    background: var(--color-background-body);
  }
  .nav__secondary-menu__item .nav__secondary-navigation-item-content {
    opacity: 0;
    transition: opacity 0.3s;
  }
}
@media (min-width: 64em) {
  .nav__secondary-menu__item {
    display: flex;
    gap: 4.8rem;
  }
}
.nav__secondary-menu__item--visible {
  display: block;
}
.nav__secondary-menu__item--animate-in {
  transform: none;
  opacity: 1;
  transition: transform 0.3s 0.1s, opacity 0.3s 0.1s;
}
@media (max-width: 63.99em) {
  .nav__secondary-menu__item--animate-in .nav__secondary-navigation-item-content {
    opacity: 1;
    transition: opacity 0.3s;
  }
}
@media (min-width: 64em) {
  .nav__secondary-navigation-item-content {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-gap: 4rem;
    flex: 1;
    overflow-y: scroll;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* Internet Explorer 10+ */
  }
  .nav__secondary-navigation-item-content::-webkit-scrollbar {
    width: 0;
    height: 0;
  }
}
.nav__secondary-navigation-item-content a {
  white-space: normal;
  word-break: break-word;
}
.nav__secondary-navigation-item-content a.button--fullwidth {
  margin: 1.6rem 0 0;
}
@media (min-width: 64em) {
  .nav__secondary-navigation-item-content a.button--fullwidth {
    margin: 0 0 2.4rem 0;
  }
}
.nav__secondary-navigation-item-content .text-lg, .nav__secondary-navigation-item-content .button--lg, .nav__secondary-navigation-item-content .button--lg-inverted, .nav__secondary-navigation-item-content .button--lg-secondary {
  line-height: 1.25;
}
.nav__secondary-navigation-item-content .banner__wrapper > div {
  padding: 2.4rem;
}
.nav__secondary-navigation-item-content .banner__wrapper > div .banner__background {
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 63.99em) {
  .nav__secondary-navigation-item-content__highlights-column {
    margin-top: 2.4rem;
  }
}
@media (min-width: 64em) {
  .nav__secondary-navigation-item-content__highlights-column {
    display: flex;
    flex-direction: column;
    flex: 0;
  }
}
@media (max-width: 63.99em) {
  .nav__secondary-navigation-item-content__highlights-column .text-lg, .nav__secondary-navigation-item-content__highlights-column .button--lg, .nav__secondary-navigation-item-content__highlights-column .button--lg-inverted, .nav__secondary-navigation-item-content__highlights-column .button--lg-secondary {
    display: none;
  }
}
.nav__secondary-navigation-item-content__highlights-column ul li {
  transition: all 0.2s;
}
.nav__secondary-navigation-item-content__highlights-column ul a {
  line-height: 1.25;
  margin: 1.6rem 0;
  display: block;
  padding-left: 2rem;
  position: relative;
  color: var(--color-text-links);
}
.nav__secondary-navigation-item-content__highlights-column ul a::before {
  content: "›";
  position: absolute;
  left: 0;
  top: -0.12rem;
  color: var(--color-text-links);
  transition: 0.3s;
}
.nav__secondary-navigation-item-content__highlights-column ul a:hover, .nav__secondary-navigation-item-content__highlights-column ul a:active, .nav__secondary-navigation-item-content__highlights-column ul a:focus {
  color: var(--color-text-links-hover);
}
.nav__secondary-navigation-item-content__highlights-column ul a:hover:before, .nav__secondary-navigation-item-content__highlights-column ul a:active:before, .nav__secondary-navigation-item-content__highlights-column ul a:focus:before {
  left: 0.2rem;
  color: var(--color-text-links-hover);
}
@media (max-width: 63.99em) {
  .nav__secondary-navigation-item-content__featured-column {
    margin-top: 2.4rem;
  }
}
@media (min-width: 64em) {
  .nav__secondary-navigation-item-content__featured-column {
    flex: 0 33%;
    height: 100%;
  }
}
.nav__mobile-accordion-opener {
  display: flex;
  justify-content: space-between;
  width: 100%;
  text-align: left;
  padding: 2rem 1.2rem 2rem 1.6rem;
  border-top: 1px solid var(--color-border);
  position: relative;
  color: var(--color-text-links);
}
.nav__mobile-dropdown-wrapper:first-child .nav__mobile-accordion-opener {
  border-top: none;
}
@media (min-width: 64em) {
  .nav__mobile-accordion-opener {
    display: none;
  }
}
.nav__mobile-dropdown-wrapper--open .nav__mobile-accordion-opener {
  color: var(--color-text-links);
  background: none;
  border-bottom: 1px solid var(--color-border);
}
.nav__mobile-dropdown-wrapper--open .nav__mobile-accordion-opener span {
  color: var(--color-text);
  transform: rotate(-180deg);
}
.nav__secondary-menu .nav__mobile-dropdown-wrapper--open .nav__mobile-accordion-opener {
  border-bottom: none;
}
.nav__mobile-dropdown-wrapper--open .nav__mobile-dropdown__content-wrapper {
  height: auto;
}
.nav__mobile-dropdown__content-wrapper {
  height: 0;
  overflow: hidden;
}
.nav--mobile__inner-container {
  width: 200%;
  height: 100%;
  display: flex;
  align-items: stretch;
  transition: transform 0.16s;
  overflow: scroll;
}
.nav--mobile__column {
  width: 50%;
}
.nav--mobile.nav--secondary-menu-open .nav--mobile__inner-container {
  transform: translateX(-50%);
}
.nav .megamenu {
  display: flex;
  flex-direction: column;
}
.nav .megamenu__container {
  display: grid;
  grid-template-columns: 1fr 2fr;
  box-sizing: border-box;
  background: var(--color-background-alt);
  overflow: scroll;
  max-height: inherit;
}
.nav .megamenu__container[\:has\(.megamenu__banner\)] {
  grid-template-columns: 1fr 2fr 1fr;
}
.nav .megamenu__container:has(.megamenu__banner) {
  grid-template-columns: 1fr 2fr 1fr;
}
.nav .megamenu__container .banner__wrapper {
  height: 100%;
  aspect-ratio: auto;
}
.nav .megamenu__sidebar {
  border-right: 1px solid var(--color-border);
  background: var(--color-background-body);
}
.nav .megamenu__sidebar, .nav .megamenu__content, .nav .megamenu__banner {
  padding: var(--gap);
}
.nav .megamenu__sidebar::-webkit-scrollbar, .nav .megamenu__content::-webkit-scrollbar, .nav .megamenu__banner::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
.nav .megamenu__banner {
  padding-left: 0;
}
.nav .megamenu__banner .figure.navigation-main, .nav .megamenu__banner .navigation-main.figure--video, .nav .megamenu__banner .navigation-main.figure--external_video {
  width: auto !important;
}
.nav .megamenu__content {
  display: grid;
  grid-template: 1fr/1fr;
  overflow-y: hidden;
  padding: var(--gap) var(--gap) 0 var(--gap);
}
.nav .megamenu__links {
  display: grid;
  grid-area: 1/1;
  grid-gap: 2.4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: max-content;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
  height: 100%;
  overflow-y: scroll;
}
.nav .megamenu__links::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
@media (min-width: 64em) {
  .nav .megamenu__links {
    grid-template-columns: repeat(var(--link-count), minmax(0, 1fr));
  }
}
.nav .megamenu__links.active {
  opacity: 1;
  visibility: visible;
}
.nav .megamenu__links .button, .nav .megamenu__links .button--default, .nav .megamenu__links .button--primary, .nav .megamenu__links .button--inverted, .nav .megamenu__links .button--secondary, .nav .megamenu__links .button--xs, .nav .megamenu__links .button--xs-inverted, .nav .megamenu__links .button--xs-secondary, .nav .megamenu__links .button--sm, .nav .megamenu__links .button--sm-inverted, .nav .megamenu__links .button--sm-secondary, .nav .megamenu__links .button--lg, .nav .megamenu__links .button--lg-inverted, .nav .megamenu__links .button--lg-secondary, .nav .megamenu__links .button--xl, .nav .megamenu__links .button--xl-inverted, .nav .megamenu__links .button--xl-secondary, .nav .megamenu__links .button--add-to-cart--inverted, .nav .megamenu__links .button--add-to-cart--secondary, .nav .megamenu__links .button--pill, .nav .megamenu__links .button--circle, .nav .megamenu__links .shopify-payment-button button, .shopify-payment-button .nav .megamenu__links button {
  grid-column: 1/auto;
  order: 1;
}
.nav .megamenu__links ul + .button, .nav .megamenu__links ul + .button--default, .nav .megamenu__links ul + .button--primary, .nav .megamenu__links ul + .button--inverted, .nav .megamenu__links ul + .button--secondary, .nav .megamenu__links ul + .button--xs, .nav .megamenu__links ul + .button--xs-inverted, .nav .megamenu__links ul + .button--xs-secondary, .nav .megamenu__links ul + .button--sm, .nav .megamenu__links ul + .button--sm-inverted, .nav .megamenu__links ul + .button--sm-secondary, .nav .megamenu__links ul + .button--lg, .nav .megamenu__links ul + .button--lg-inverted, .nav .megamenu__links ul + .button--lg-secondary, .nav .megamenu__links ul + .button--xl, .nav .megamenu__links ul + .button--xl-inverted, .nav .megamenu__links ul + .button--xl-secondary, .nav .megamenu__links ul + .button--add-to-cart--inverted, .nav .megamenu__links ul + .button--add-to-cart--secondary, .nav .megamenu__links ul + .button--pill, .nav .megamenu__links ul + .button--circle, .nav .megamenu__links .shopify-payment-button ul + button, .shopify-payment-button .nav .megamenu__links ul + button {
  margin: 0 0 var(--gap) 0;
}
.nav .megamenu__links ul li a {
  line-height: 1.25;
  margin: 0 0 1.6rem 0;
  display: block;
  position: relative;
  color: var(--color-text-links);
  white-space: normal;
  word-break: break-word;
}
.nav .megamenu__links ul li a:hover, .nav .megamenu__links ul li a:active, .nav .megamenu__links ul li a:focus {
  color: var(--color-text-links-hover);
}
.nav .megamenu__links ul li a:not(.text-lg):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary) {
  padding-left: calc(var(--gap) / 2);
}
.nav .megamenu__links ul li a:not(.text-lg):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):before {
  content: "›";
  position: absolute;
  transform: translateX(calc(var(--gap) / 2 * -1));
  top: -0.12rem;
  color: var(--color-text-links);
  transition: color 0.3s, transform 0.3s;
}
.nav .megamenu__links ul li a:not(.text-lg):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):hover:before, .nav .megamenu__links ul li a:not(.text-lg):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):active:before, .nav .megamenu__links ul li a:not(.text-lg):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary):focus:before {
  transform: translateX(calc(var(--gap) / -2 + 0.2rem));
  color: var(--color-text-links-hover);
}
.nav .megamenu__block[\:has\(.features-bar\)] {
  flex-shrink: 0;
}
.nav .megamenu__block:has(.features-bar) {
  flex-shrink: 0;
}
.nav--mobile {
  width: 100%;
}

.main-navigation {
  overflow: visible;
}

.predictive-search {
  display: flex;
  flex-direction: column;
  background: var(--color-background-body);
  z-index: -1;
  overflow: scroll;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
}
@media (max-width: 63.99em) {
  .predictive-search {
    height: 100%;
    box-shadow: 0 1rem 4rem rgba(52, 64, 84, 0.1215686275);
    border-radius: var(--border-radius);
    background: var(--color-background-body);
    max-width: 100%;
    margin: 0 auto;
  }
}
@media (min-width: 64em) {
  .predictive-search {
    width: var(--container-width);
    max-width: 100%;
    right: 0;
    border: 1px solid var(--color-border);
    box-shadow: 0 0 6.4rem rgba(52, 64, 84, 0.12);
  }
}
.predictive-search img {
  opacity: 1 !important;
}
.predictive-search-container {
  overflow-y: scroll;
}
.predictive-search-container::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
.predictive-search-container .predictive-search__header {
  padding: 1.6rem 0 1.6rem 1.6rem;
  background: var(--color-background-alt);
  border-bottom: 1px solid var(--color-border);
}
@media (min-width: 64em) {
  .predictive-search-container .predictive-search__header--hide-desktop {
    display: none;
  }
}
.predictive-search__results-container {
  background: var(--color-background-alt);
}
@media (min-width: 64em) {
  .predictive-search__results-container {
    display: grid;
    height: 62rem;
    grid-auto-columns: 1fr 2fr 1fr;
  }
}
@media (max-width: 63.99em) {
  .predictive-search__results-container > * {
    padding: 1.6rem;
  }
}
@media (max-width: 63.99em) {
  .predictive-search__results-container > *:not(:last-child) {
    margin: 0 0 1.6rem 0;
  }
}
.predictive-search__results-container.loading {
  opacity: 0.4;
  pointer-events: none;
  transition: opacity 0.8s;
}
.predictive-search__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  background: var(--color-background-body);
  z-index: 1;
}
.predictive-search__header a.button, .predictive-search__header a.button--default, .predictive-search__header a.button--primary, .predictive-search__header a.button--inverted, .predictive-search__header a.button--secondary, .predictive-search__header a.button--xs, .predictive-search__header a.button--xs-inverted, .predictive-search__header a.button--xs-secondary, .predictive-search__header a.button--sm, .predictive-search__header a.button--sm-inverted, .predictive-search__header a.button--sm-secondary, .predictive-search__header a.button--lg, .predictive-search__header a.button--lg-inverted, .predictive-search__header a.button--lg-secondary, .predictive-search__header a.button--xl, .predictive-search__header a.button--xl-inverted, .predictive-search__header a.button--xl-secondary, .predictive-search__header a.button--add-to-cart--inverted, .predictive-search__header a.button--add-to-cart--secondary, .predictive-search__header a.button--pill, .predictive-search__header a.button--circle {
  padding: 0.7rem 1.8rem;
}
.predictive-search__header .predictive-search__close {
  color: var(--color-icon);
  font-size: 1.2rem;
  padding: 0.4rem;
  margin: 0 0.4rem;
  word-break: initial;
  font-size: 2.4rem;
  word-break: initial;
  box-sizing: content-box;
  cursor: pointer;
}
.predictive-search__header .predictive-search__close:hover, .predictive-search__header .predictive-search__close:active, .predictive-search__header .predictive-search__close:focus {
  color: var(--color-icon-hover);
}
.predictive-search .search-products {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
@media (min-width: 64em) {
  .predictive-search .search-products {
    padding: 2.4rem;
    grid-column: 2;
  }
}
.predictive-search .search-products .card {
  height: auto;
}
.predictive-search .search-products__row {
  width: 100%;
}
.predictive-search .search-products__row:not(:last-child) {
  margin: 0 0 2.2rem 0;
}
.predictive-search .search-products__row p:not(.card__title) {
  margin: 0 0 0.8rem 0;
}
.predictive-search .search-products__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1.6rem;
  grid-auto-rows: minmax(min-content, max-content);
}
@media (min-width: 64em) {
  .predictive-search .search-products__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (max-width: 63.99em) {
  .predictive-search .search-products__grid > a {
    grid-column: span 2;
  }
}
.predictive-search .search-products__grid .card__title {
  font-size: 1.6rem;
  line-height: 1.25;
  margin: 0 0 0.8 0;
}
.predictive-search .search-products__grid .card__content {
  padding: 0.8rem 1.2rem 1.2rem;
}
.predictive-search .search-products__grid .card__bottom {
  display: none;
}
.predictive-search .search-sidebar {
  background: var(--color-background-body);
}
@media (min-width: 64em) {
  .predictive-search .search-sidebar {
    padding: 2.4rem;
    grid-column: 1;
    border-right: 1px solid var(--color-border);
  }
}
@media (min-width: 85.375em) {
  .predictive-search .search-sidebar {
    padding: 4rem;
  }
}
.predictive-search .search-sidebar a {
  color: var(--color-text-links);
}
.predictive-search .search-sidebar a:hover, .predictive-search .search-sidebar a:active, .predictive-search .search-sidebar a:focus {
  color: var(--color-text-links-hover);
}
.predictive-search .search-sidebar__list:not(:last-child) {
  padding: 0 0 1.6rem 0;
}
.predictive-search .search-sidebar__list li {
  font-size: 1.2rem;
  line-height: 1.5;
  padding: 0.4rem 0;
}
.predictive-search .search-sidebar__list li button {
  display: flex;
  text-transform: var(--font-body-transform);
}
.predictive-search .search-sidebar__list li .icon {
  font-size: 1.2rem;
  width: 1.2rem;
  height: 1.2rem;
  color: var(--color-icon-hover);
  border: 1px solid var(--color-icon-hover);
  border-radius: 0.4rem;
  transition: all 0.2s;
}
.predictive-search .search-sidebar__list li .icon:hover, .predictive-search .search-sidebar__list li .icon:active, .predictive-search .search-sidebar__list li .icon:focus {
  color: var(--color-text-button-primary-hover);
  background: var(--color-background-button-primary-hover);
}
.predictive-search .search-sidebar__header {
  display: block;
  padding: 0 0 0.4rem;
}
@media (min-width: 64em) {
  .predictive-search .search-banners {
    padding: 2.4rem 2.4rem 2.4rem 0;
    grid-column: 3;
  }
}
@media (min-width: 64em) {
  .predictive-search .search-sidebar,
  .predictive-search .search-products,
  .predictive-search .search-banners {
    height: 62rem;
    overflow-y: scroll;
  }
  .predictive-search .search-sidebar .banner__wrapper,
  .predictive-search .search-products .banner__wrapper,
  .predictive-search .search-banners .banner__wrapper {
    height: 100%;
    aspect-ratio: auto;
  }
}
.predictive-search .search-sidebar::-webkit-scrollbar,
.predictive-search .search-products::-webkit-scrollbar,
.predictive-search .search-banners::-webkit-scrollbar {
  width: 0;
  /* Remove scrollbar space */
  background: transparent;
  /* Optional: just make scrollbar invisible */
}
.predictive-search .search-products {
  overflow-y: scroll;
}
.predictive-search .recent-searches {
  padding: 1.2rem !important;
}
.predictive-search .recent-searches {
  margin: 0 0 1.6rem;
  background: var(--color-background-alt);
  border-radius: var(--border-radius);
}
@media (max-width: 63.99em) {
  .predictive-search .recent-searches {
    display: none;
  }
}
@media (min-width: 64em) {
  .predictive-search .recent-searches {
    padding: 1.6rem !important;
  }
  .predictive-search .recent-searches {
    margin: -1.6rem -1.6rem 2.4rem -1.6rem;
  }
}
.predictive-search .recent-searches__header {
  display: flex;
  justify-content: space-between;
}
.predictive-search .recent-searches__item {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.predictive-search .no-results-notice {
  color: var(--color-text);
  justify-content: center;
  align-items: flex-start;
  text-align: center;
  grid-column: 2;
}
.predictive-search .no-results-notice p {
  width: 100%;
}
.predictive-search .features-bar {
  border-top: 1px solid var(--color-border);
}
.predictive-search .features-bar__wrapper {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  max-width: 100%;
  margin: 0;
}
.predictive-search .search-products > *,
.predictive-search .article-search,
.predictive-search .collection-search,
.predictive-search .searches-search {
  transition: opacity 0.3s;
}
.predictive-search.searching .search-products > *,
.predictive-search.searching .article-search,
.predictive-search.searching .collection-search,
.predictive-search.searching .searches-search {
  opacity: 0;
  visibility: hidden;
}

.price-item--sale {
  color: var(--color-sale);
}
.price--sold-out .price__availability, .price__regular {
  display: inline-block;
}
.price__regular {
  color: var(--color-text);
}
.price__sale, .price__availability, .price__badge-sale, .price__badge-sold-out {
  display: none;
}
.price--on-sale .price__regular,
.price--on-sale .price__availability {
  display: none;
}
.price--on-sale .price__sale {
  display: flex;
  flex-direction: column;
}
.price--on-sale .price-item--regular {
  text-decoration: line-through;
  font-size: 1.2rem;
}

.banner__wrapper {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  color: var(--color-text);
  z-index: 0;
  border-radius: var(--border-radius);
  max-width: 100%;
}
.banner__wrapper > div {
  padding: calc(var(--gap) / 2);
  white-space: normal;
  z-index: 1;
  display: flex;
  flex-direction: column;
  grid-gap: 0.8rem;
  overflow: hidden;
  max-width: 100%;
}
.banner__wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  border-radius: var(--border-radius);
}
.banner__wrapper h1,
.banner__wrapper h2,
.banner__wrapper h3,
.banner__wrapper h4,
.banner__wrapper h5,
.banner__wrapper h6 {
  margin: 0;
  -webkit-hyphens: auto;
          hyphens: auto;
}
.banner__wrapper h1 + .buttons__wrapper,
.banner__wrapper h1 + figure,
.banner__wrapper h1 + a,
.banner__wrapper h2 + .buttons__wrapper,
.banner__wrapper h2 + figure,
.banner__wrapper h2 + a,
.banner__wrapper h3 + .buttons__wrapper,
.banner__wrapper h3 + figure,
.banner__wrapper h3 + a,
.banner__wrapper h4 + .buttons__wrapper,
.banner__wrapper h4 + figure,
.banner__wrapper h4 + a,
.banner__wrapper h5 + .buttons__wrapper,
.banner__wrapper h5 + figure,
.banner__wrapper h5 + a,
.banner__wrapper h6 + .buttons__wrapper,
.banner__wrapper h6 + figure,
.banner__wrapper h6 + a {
  margin: 0.8rem 0 0;
}
.banner__wrapper .button, .banner__wrapper .button--default, .banner__wrapper .button--primary, .banner__wrapper .button--inverted, .banner__wrapper .button--secondary, .banner__wrapper .button--xs, .banner__wrapper .button--xs-inverted, .banner__wrapper .button--xs-secondary, .banner__wrapper .button--sm, .banner__wrapper .button--sm-inverted, .banner__wrapper .button--sm-secondary, .banner__wrapper .button--lg, .banner__wrapper .button--lg-inverted, .banner__wrapper .button--lg-secondary, .banner__wrapper .button--xl, .banner__wrapper .button--xl-inverted, .banner__wrapper .button--xl-secondary, .banner__wrapper .button--add-to-cart--inverted, .banner__wrapper .button--add-to-cart--secondary, .banner__wrapper .button--pill, .banner__wrapper .button--circle, .banner__wrapper .shopify-payment-button button, .shopify-payment-button .banner__wrapper button,
.banner__wrapper .button--plain,
.banner__wrapper .button--plain-sm,
.banner__wrapper .button--plain-xs {
  white-space: pre-wrap;
  word-break: break-word;
}
.banner__subheading > *,
.banner__subheading > * > * {
  color: inherit;
}
.banner__subheading.wysiwyg p, .banner__subheading.shopify-policy__container p {
  margin: 0 0 0.8rem 0;
}
.banner__subheading + .buttons__wrapper,
.banner__subheading + figure,
.banner__subheading + a {
  margin: 0.8rem 0 0;
}
.banner__background {
  margin: 0 !important;
}
.banner__background {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  border-radius: inherit;
  -o-object-fit: cover;
     object-fit: cover;
}
.banner__background img, .banner__background video {
  width: 100% !important;
  height: 100% !important;
}
.banner .buttons__wrapper + figure,
.banner .buttons__wrapper + a {
  margin: 0.8rem 0 0;
}
.banner.shopify-section .banner__wrapper > div {
  max-width: 90%;
}
@media (min-width: 64em) {
  .banner.shopify-section .banner__wrapper > div {
    max-width: 60%;
  }
}
@media (min-width: 64em) {
  .banner.shopify-section .container--full_bleed .banner__wrapper > div {
    padding: var(--gap);
  }
}

_::-webkit-full-page-media .banner__wrapper, _:future .banner__wrapper, :root .safari_only .banner__wrapper {
  min-height: -webkit-fit-content;
}

.rating-product p {
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  font-weight: 500;
}
.rating-product__stars {
  --percent: calc(var(--rating) / 5 * 100%);
  display: inline-block;
  font-size: 1.6rem;
  font-family: Times;
  line-height: 1;
}
.rating-product__stars:before {
  content: "★★★★★";
  background: linear-gradient(90deg, var(--star-color) var(--percent), var(--empty-color) var(--percent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.quantity {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background: var(--color-input-background);
  border: 1px solid var(--color-input-border);
  box-shadow: 0 1px 0.2rem rgba(16, 24, 40, 0.05);
  border-radius: var(--border-radius);
  transition: all 0.2s;
}
.quantity input {
  padding: 1.2rem 0;
  width: 8rem;
  text-align: center;
  background: var(--color-input-background);
  color: var(--color-input-text);
  outline-offset: 0;
  border-radius: var(--border-radius);
}
.quantity input::-webkit-inner-spin-button, .quantity input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.quantity button {
  line-height: 1;
  position: absolute;
}
.quantity button .icon {
  color: var(--color-input-text) !important;
}
.quantity button .icon {
  font-size: 1.6rem;
  padding: 2.4rem 1.6rem;
}
.quantity button .icon:hover, .quantity button .icon:active, .quantity button .icon:focus {
  color: var(--color-icon-hover) !important;
}
.quantity button[name=minus] {
  left: 0;
}
.quantity button[name=plus] {
  right: 0;
}

.social-accounts ul {
  display: flex;
  padding: 0.8rem 0;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.social-accounts ul li a {
  color: var(--color-icon);
}
.social-accounts ul li a svg {
  max-width: 2rem;
}
.social-accounts ul li a:hover {
  color: var(--color-icon-hover);
}

.text-display-2xl,
h1,
.text-display-xl,
h2,
.text-display-lg,
h3,
.text-display-md,
h4,
.text-display-sm,
h5,
h6 {
  text-decoration: none;
  line-height: 1.25;
  color: var(--color-heading);
  margin: 0 0 1.6rem 0;
}

.text-display-2xl {
  font-size: 7.2rem;
}

h1,
.text-display-xl {
  font-family: var(--font-h1-family);
  font-weight: var(--font-h1-weight);
  font-style: var(--font-h1-style);
  text-transform: var(--font-h1-transform);
  font-size: 3.2rem;
}
@media (min-width: 64em) {
  h1,
  .text-display-xl {
    font-size: 4rem;
  }
}

h2,
.text-display-lg {
  font-family: var(--font-h2-family);
  font-weight: var(--font-h2-weight);
  font-style: var(--font-h2-style);
  text-transform: var(--font-h2-transform);
  font-size: 2.4rem;
}
h2 + .text-lg, h2 + .button--lg, h2 + .button--lg-inverted, h2 + .button--lg-secondary,
.text-display-lg + .text-lg,
.text-display-lg + .button--lg,
.text-display-lg + .button--lg-inverted,
.text-display-lg + .button--lg-secondary {
  margin: 1.6rem 0 0 0;
}
@media (min-width: 64em) {
  h2,
  .text-display-lg {
    font-size: 3.2rem;
  }
}

h3,
.text-display-md {
  font-family: var(--font-h3-family);
  font-weight: var(--font-h3-weight);
  font-style: var(--font-h3-style);
  text-transform: var(--font-h3-transform);
  font-size: 2rem;
}
@media (min-width: 64em) {
  h3,
  .text-display-md {
    font-size: 2.4rem;
  }
}

h4,
.text-display-sm {
  font-family: var(--font-h4-family);
  font-weight: var(--font-h4-weight);
  font-style: var(--font-h4-style);
  text-transform: var(--font-h4-transform);
  font-size: 1.8rem;
}

h5 {
  font-family: var(--font-h5-family);
  font-weight: var(--font-h5-weight);
  font-style: var(--font-h5-style);
  text-transform: var(--font-h5-transform);
  font-size: 1.4rem;
}

h6 {
  font-family: var(--font-h6-family);
  font-weight: var(--font-h6-weight);
  font-style: var(--font-h6-style);
  text-transform: var(--font-h6-transform);
  font-size: 1.2rem;
}

.text-xs, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_policy, .main-product__tax-policy, .text--caption-md, .swiper-pagination.swiper-pagination-fraction, .card .main-product__fieldset legend, .button--xs, .button--xs-inverted, .button--xs-secondary, .button--plain-xs, .button--pill, .text-xs p, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_policy p, .main-product__tax-policy p, .text--caption-md p, .swiper-pagination.swiper-pagination-fraction p, .card .main-product__fieldset legend p, .button--xs p, .button--xs-inverted p, .button--xs-secondary p, .button--plain-xs p, .button--pill p {
  font-size: 1.2rem;
}
.text-xs .icon, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_policy .icon, .main-product__tax-policy .icon, .text--caption-md .icon, .swiper-pagination.swiper-pagination-fraction .icon, .card .main-product__fieldset legend .icon, .button--xs .icon, .button--xs-inverted .icon, .button--xs-secondary .icon, .button--plain-xs .icon, .button--pill .icon, .text-xs p .icon {
  font-size: 1.2rem;
  width: 1.2rem;
  height: 1.2rem;
}
.text-xs p, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_policy p, .main-product__tax-policy p, .text--caption-md p, .swiper-pagination.swiper-pagination-fraction p, .card .main-product__fieldset legend p, .button--xs p, .button--xs-inverted p, .button--xs-secondary p, .button--plain-xs p, .button--pill p {
  margin: 0 0 1.2rem 0;
}
.text-sm, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label_children label,
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_purchase_option_wrapper label, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app__title, .footer__menu ul li, .text--caption-lg, .button--sm, .button--sm-inverted, .button--sm-secondary, .button--plain-sm, .text-sm p, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label_children label p,
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_purchase_option_wrapper label p, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app__title p, .footer__menu ul li p, .text--caption-lg p, .button--sm p, .button--sm-inverted p, .button--sm-secondary p, .button--plain-sm p {
  font-size: 1.4rem;
}
.text-sm .icon, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label_children label .icon,
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_purchase_option_wrapper label .icon, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app__title .icon, .footer__menu ul li .icon, .text--caption-lg .icon, .button--sm .icon, .button--sm-inverted .icon, .button--sm-secondary .icon, .button--plain-sm .icon, .text-sm p .icon {
  font-size: 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
}
.text-sm p, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label_children label p,
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_purchase_option_wrapper label p, .main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app__title p, .footer__menu ul li p, .text--caption-lg p, .button--sm p, .button--sm-inverted p, .button--sm-secondary p, .button--plain-sm p {
  margin: 0 0 1.4rem 0;
}
.text-md, .text--caption-xl, .text-md p, .text--caption-xl p {
  font-size: 1.6rem;
}
.text-md .icon, .text--caption-xl .icon, .text-md p .icon {
  font-size: 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
}
.text-md p, .text--caption-xl p {
  margin: 0 0 1.6rem 0;
}
.text-lg, .button--lg, .button--lg-inverted, .button--lg-secondary, .text-lg p, .button--lg p, .button--lg-inverted p, .button--lg-secondary p {
  font-size: 2rem;
}
.text-lg .icon, .button--lg .icon, .button--lg-inverted .icon, .button--lg-secondary .icon, .text-lg p .icon {
  font-size: 2rem;
  width: 2rem;
  height: 2rem;
}
.text-lg p, .button--lg p, .button--lg-inverted p, .button--lg-secondary p {
  margin: 0 0 2rem 0;
}
.text-xl, .button--xl, .button--xl-inverted, .button--xl-secondary, .text-xl p, .button--xl p, .button--xl-inverted p, .button--xl-secondary p {
  font-size: 2.4rem;
}
.text-xl .icon, .button--xl .icon, .button--xl-inverted .icon, .button--xl-secondary .icon, .text-xl p .icon {
  font-size: 2.4rem;
  width: 2.4rem;
  height: 2.4rem;
}
.text-xl p, .button--xl p, .button--xl-inverted p, .button--xl-secondary p {
  margin: 0 0 2.4rem 0;
}
.text--caption, .swiper-pagination.swiper-pagination-fraction {
  font-family: var(--font-caption-family);
  font-weight: var(--font-caption-weight);
  font-style: var(--font-caption-style);
  text-transform: var(--font-caption-transform);
}
.text--caption-sm {
  font-size: 1rem;
}
.text-bold,
b,
strong {
  font-weight: var(--font-body-weight-bold);
}

p,
span,
strong {
  line-height: 1.5;
}

p {
  margin: 0 0 0.8rem;
}
p.intro {
  font-size: 2.4rem;
}
@media (max-width: 63.99em) {
  p.intro {
    font-size: 1.8rem;
  }
}
p.small, p.citation {
  font-style: italic;
}
p strong {
  color: inherit;
}
p:last-of-type {
  margin: 0;
}

figcaption {
  height: auto !important;
}

figcaption {
  font-style: italic;
  font-size: 1.4rem;
  display: block;
  max-width: 100%;
  width: 100%;
}
figcaption a {
  text-decoration: underline;
}

.figure + figcaption, .figure--video + figcaption, .figure--external_video + figcaption,
figure + figcaption {
  padding-top: 1.6rem !important;
}

figcaption + .figure, figcaption + .figure--video, figcaption + .figure--external_video,
figcaption + figure {
  margin-top: 1.6rem !important;
}

.figure + figcaption, .figure--video + figcaption, .figure--external_video + figcaption,
figure + figcaption {
  padding-top: 1.6rem !important;
}

figcaption + .figure, figcaption + .figure--video, figcaption + .figure--external_video,
figcaption + figure {
  margin-top: 1.6rem !important;
}

.wysiwyg p, .shopify-policy__container p,
.wysiwyg h1,
.shopify-policy__container h1,
.wysiwyg h2,
.shopify-policy__container h2,
.wysiwyg h3,
.shopify-policy__container h3,
.wysiwyg h4,
.shopify-policy__container h4,
.wysiwyg h5,
.shopify-policy__container h5,
.wysiwyg h6,
.shopify-policy__container h6,
.wysiwyg blockquote,
.shopify-policy__container blockquote,
.wysiwyg ul,
.shopify-policy__container ul,
.wysiwyg ol,
.shopify-policy__container ol,
.wysiwyg table,
.shopify-policy__container table {
  margin: 0 0 2.4rem;
}
.wysiwyg:not(:empty) > *:last-child, .shopify-policy__container:not(:empty) > *:last-child {
  margin-bottom: 0;
}
.wysiwyg h1, .shopify-policy__container h1 {
  margin: 0 0 4rem;
}
.wysiwyg:not(.banner__subheading) h2, .shopify-policy__container:not(.banner__subheading) h2,
.wysiwyg:not(.banner__subheading) h3,
.shopify-policy__container:not(.banner__subheading) h3,
.wysiwyg:not(.banner__subheading) h4,
.shopify-policy__container:not(.banner__subheading) h4,
.wysiwyg:not(.banner__subheading) h5,
.shopify-policy__container:not(.banner__subheading) h5,
.wysiwyg:not(.banner__subheading) h6,
.shopify-policy__container:not(.banner__subheading) h6 {
  padding: 2.4rem 0 0;
}
.wysiwyg a:hover, .shopify-policy__container a:hover {
  border-color: var(--color-text-links-hover);
}
.wysiwyg iframe, .shopify-policy__container iframe {
  max-width: 100%;
  margin: 0 0 2.4rem 0;
}
.wysiwyg figure, .shopify-policy__container figure {
  width: 100%;
  margin: 2.4rem 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.wysiwyg figure iframe, .shopify-policy__container figure iframe,
.wysiwyg figure video,
.shopify-policy__container figure video {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}
.wysiwyg figure iframe, .shopify-policy__container figure iframe,
.wysiwyg figure video,
.shopify-policy__container figure video {
  width: 100%;
  max-width: 100%;
  border-radius: var(--border-radius);
  height: 100%;
  margin: 0;
}
.wysiwyg figure figcaption, .shopify-policy__container figure figcaption {
  margin: 0.4rem;
  padding: 1.6rem 0 0;
  display: inline-block;
}
.wysiwyg figure:last-child, .shopify-policy__container figure:last-child {
  margin-bottom: 0;
}
.wysiwyg img, .shopify-policy__container img {
  max-width: 100%;
  height: auto;
  border-radius: var(--border-radius);
}
.wysiwyg img:not(:last-child), .shopify-policy__container img:not(:last-child) {
  margin: 0 0 2.4rem;
}
.wysiwyg blockquote, .shopify-policy__container blockquote {
  margin: 4.8rem 0;
  padding: 0 0 0 2.4rem;
  border-left: 1px solid var(--color-border);
}
@media (min-width: 64em) {
  .wysiwyg blockquote, .shopify-policy__container blockquote {
    padding: 0 0 0 3.2rem;
  }
}
.wysiwyg blockquote p, .shopify-policy__container blockquote p {
  font-size: 1.8rem;
  line-height: 1.5;
}
@media (min-width: 64em) {
  .wysiwyg blockquote p, .shopify-policy__container blockquote p {
    font-size: 2rem;
  }
}
.wysiwyg blockquote p:last-child, .shopify-policy__container blockquote p:last-child {
  margin: 3.2rem 0 0 0;
  color: var(--color-text);
  font-weight: 300;
  font-size: 1.4rem;
  line-height: 1.5;
}
@media (min-width: 64em) {
  .wysiwyg blockquote p:last-child, .shopify-policy__container blockquote p:last-child {
    font-size: 1.6rem;
  }
}
.wysiwyg ul, .shopify-policy__container ul,
.wysiwyg ol,
.shopify-policy__container ol {
  padding: 0 0 0 1.2rem;
}
.wysiwyg ul li, .shopify-policy__container ul li,
.wysiwyg ol li,
.shopify-policy__container ol li {
  position: relative;
  line-height: 1.5;
}
.wysiwyg ul li:before, .shopify-policy__container ul li:before,
.wysiwyg ol li:before,
.shopify-policy__container ol li:before {
  border-color: inherit;
  color: inherit;
}
.wysiwyg ul li strong, .shopify-policy__container ul li strong,
.wysiwyg ol li strong,
.shopify-policy__container ol li strong {
  line-height: 1.5;
}
.wysiwyg ul li a, .shopify-policy__container ul li a,
.wysiwyg ol li a,
.shopify-policy__container ol li a {
  display: inline-block;
  border-bottom: 1px solid var(--color-icon);
}
.wysiwyg ul li a:hover, .shopify-policy__container ul li a:hover,
.wysiwyg ol li a:hover,
.shopify-policy__container ol li a:hover {
  border-color: var(--color-icon-hover);
}
.wysiwyg ul li p, .shopify-policy__container ul li p,
.wysiwyg ol li p,
.shopify-policy__container ol li p {
  margin: 0;
  display: inline;
}
.wysiwyg ul li ul, .shopify-policy__container ul li ul, .wysiwyg ul li ol, .shopify-policy__container ul li ol,
.wysiwyg ol li ul,
.shopify-policy__container ol li ul,
.wysiwyg ol li ol,
.shopify-policy__container ol li ol {
  margin: 1.6rem 0;
}
.wysiwyg ul > ul, .shopify-policy__container ul > ul,
.wysiwyg ul > ol,
.shopify-policy__container ul > ol,
.wysiwyg ol > ul,
.shopify-policy__container ol > ul,
.wysiwyg ol > ol,
.shopify-policy__container ol > ol {
  padding: 0 0 0 3.2rem;
  margin: 0 0 1.6rem 0;
}
.wysiwyg ul > li, .shopify-policy__container ul > li {
  padding: 0 0 0 2.4rem;
  margin: 0 0 0.8rem 0;
}
.wysiwyg ul > li:last-child, .shopify-policy__container ul > li:last-child {
  margin: 0;
}
.wysiwyg ul > li:before, .shopify-policy__container ul > li:before {
  content: "⚬";
  font-size: 1.6rem;
  color: var(--color-text-links);
  float: left;
  clear: both;
  margin: 0 0.5rem 0 -2.4rem;
  width: 1rem;
  height: auto;
  transform: scale(1);
  transition: all 0.2s;
}
.wysiwyg ul > li:hover:before, .shopify-policy__container ul > li:hover:before, .wysiwyg ul > li:active:before, .shopify-policy__container ul > li:active:before, .wysiwyg ul > li:focus:before, .shopify-policy__container ul > li:focus:before {
  color: var(--color-text-links);
  transform: scale(1.2);
}
.wysiwyg ul > ul, .shopify-policy__container ul > ul,
.wysiwyg ul > ol,
.shopify-policy__container ul > ol {
  margin: 0.8rem;
}
.wysiwyg ul > ol, .shopify-policy__container ul > ol {
  padding: 0 0 0 3.2rem;
  margin: 1.6rem 0 2.4rem 0;
}
.wysiwyg ol, .shopify-policy__container ol {
  counter-reset: orderedList;
}
.wysiwyg ol > ul li ol, .shopify-policy__container ol > ul li ol,
.wysiwyg ol > ol li ol,
.shopify-policy__container ol > ol li ol {
  padding: 0;
}
.wysiwyg ol > li, .shopify-policy__container ol > li {
  padding: 0 0 0 3.2rem;
  margin: 0 0 1.6rem 0;
  counter-increment: orderedList;
}
.wysiwyg ol > li:last-child, .shopify-policy__container ol > li:last-child {
  margin: 0;
}
.wysiwyg ol > li:before, .shopify-policy__container ol > li:before {
  position: absolute;
  left: -1.2rem;
  top: -0.4rem;
  content: counter(orderedList);
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 500;
  border: 1px solid var(--color-icon);
  color: var(--color-text-links);
  border-radius: 100%;
  width: 3.2rem;
  height: 3.2rem;
  display: flex;
  margin: 0 1.6rem 0 0;
  justify-content: center;
  align-items: center;
  flex: none;
  transform: scale(1);
  transition: 0.4s;
}
.wysiwyg ol > li:hover:before, .shopify-policy__container ol > li:hover:before, .wysiwyg ol > li:active:before, .shopify-policy__container ol > li:active:before, .wysiwyg ol > li:focus:before, .shopify-policy__container ol > li:focus:before {
  border: 1px solid var(--color-icon-hover);
  color: var(--color-text);
  transform: scale(1.12);
}
.wysiwyg ol > ol, .shopify-policy__container ol > ol,
.wysiwyg ol > ol > ul,
.shopify-policy__container ol > ol > ul {
  counter-reset: orderedListChild;
}
.wysiwyg ol > ol li, .shopify-policy__container ol > ol li,
.wysiwyg ol > ol > ul li {
  counter-increment: orderedListChild;
}
.wysiwyg ol > ol li:before, .shopify-policy__container ol > ol li:before,
.wysiwyg ol > ol > ul li:before {
  content: counter(orderedListChild, lower-latin);
  left: -0.8rem;
  top: 0;
  font-size: 1.2rem;
  border: 1px solid var(--color-icon);
  border-radius: 100%;
  color: var(--color-text-links);
  width: 2.4rem;
  height: 2.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.wysiwyg ol > ol > ol, .shopify-policy__container ol > ol > ol,
.wysiwyg ol > ol > ol > ul,
.shopify-policy__container ol > ol > ol > ul,
.wysiwyg ol > ol > ul > ol,
.shopify-policy__container ol > ol > ul > ol,
.wysiwyg ol > ol > ul > ol > ul,
.shopify-policy__container ol > ol > ul > ol > ul {
  counter-reset: orderedListSecondChild;
}
.wysiwyg ol > ol > ol li, .shopify-policy__container ol > ol > ol li,
.wysiwyg ol > ol > ol > ul li,
.wysiwyg ol > ol > ul > ol li,
.shopify-policy__container ol > ol > ul > ol li,
.wysiwyg ol > ol > ul > ol > ul li {
  counter-increment: orderedListSecondChild;
}
.wysiwyg ol > ol > ol li:before, .shopify-policy__container ol > ol > ol li:before,
.wysiwyg ol > ol > ol > ul li:before,
.wysiwyg ol > ol > ul > ol li:before,
.shopify-policy__container ol > ol > ul > ol li:before,
.wysiwyg ol > ol > ul > ol > ul li:before {
  content: counter(orderedListSecondChild, lower-roman);
}
.wysiwyg ol > ol > ol > ol, .shopify-policy__container ol > ol > ol > ol,
.wysiwyg ol > ol > ol > ol > ul,
.shopify-policy__container ol > ol > ol > ol > ul,
.wysiwyg ol > ol > ol > ul > ol,
.shopify-policy__container ol > ol > ol > ul > ol,
.wysiwyg ol > ol > ol > ul > ol > ul,
.shopify-policy__container ol > ol > ol > ul > ol > ul,
.wysiwyg ol > ol > ul > ol > ol,
.shopify-policy__container ol > ol > ul > ol > ol,
.wysiwyg ol > ol > ul > ol > ol > ul,
.shopify-policy__container ol > ol > ul > ol > ol > ul,
.wysiwyg ol > ol > ul > ol > ul > ol,
.shopify-policy__container ol > ol > ul > ol > ul > ol,
.wysiwyg ol > ol > ul > ol > ul > ol > ul,
.shopify-policy__container ol > ol > ul > ol > ul > ol > ul {
  counter-reset: orderedListThirdChild;
}
.wysiwyg ol > ol > ol > ol li, .shopify-policy__container ol > ol > ol > ol li,
.wysiwyg ol > ol > ol > ol > ul li,
.wysiwyg ol > ol > ol > ul > ol li,
.shopify-policy__container ol > ol > ol > ul > ol li,
.wysiwyg ol > ol > ol > ul > ol > ul li,
.wysiwyg ol > ol > ul > ol > ol li,
.shopify-policy__container ol > ol > ul > ol > ol li,
.wysiwyg ol > ol > ul > ol > ol > ul li,
.wysiwyg ol > ol > ul > ol > ul > ol li,
.shopify-policy__container ol > ol > ul > ol > ul > ol li,
.wysiwyg ol > ol > ul > ol > ul > ol > ul li {
  counter-increment: orderedListThirdChild;
}
.wysiwyg ol > ol > ol > ol li:before, .shopify-policy__container ol > ol > ol > ol li:before,
.wysiwyg ol > ol > ol > ol > ul li:before,
.wysiwyg ol > ol > ol > ul > ol li:before,
.shopify-policy__container ol > ol > ol > ul > ol li:before,
.wysiwyg ol > ol > ol > ul > ol > ul li:before,
.wysiwyg ol > ol > ul > ol > ol li:before,
.shopify-policy__container ol > ol > ul > ol > ol li:before,
.wysiwyg ol > ol > ul > ol > ol > ul li:before,
.wysiwyg ol > ol > ul > ol > ul > ol li:before,
.shopify-policy__container ol > ol > ul > ol > ul > ol li:before,
.wysiwyg ol > ol > ul > ol > ul > ol > ul li:before {
  content: counter(orderedListThirdChild, lower-roman);
}
.wysiwyg table, .shopify-policy__container table {
  display: block;
  white-space: nowrap;
  word-break: normal;
  margin: 3.6rem 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 64em) {
  .wysiwyg table, .shopify-policy__container table {
    white-space: break-spaces;
  }
}
.wysiwyg table thead, .shopify-policy__container table thead {
  text-align: left;
  color: var(--color-text);
  font-size: 1.6rem;
}
.wysiwyg table tr, .shopify-policy__container table tr {
  background: var(--color-background-body);
}
.wysiwyg table tr:nth-child(2n), .shopify-policy__container table tr:nth-child(2n) {
  background: var(--color-background-alt);
}
.wysiwyg table tr:nth-child(2n) td, .shopify-policy__container table tr:nth-child(2n) td {
  color: var(--color-text);
}
.wysiwyg table tr td, .shopify-policy__container table tr td {
  color: var(--color-text);
  font-size: 1.4rem;
  font-weight: 500;
  padding: 1.6rem;
  text-align: left;
}
.wysiwyg table tr td:first-child, .shopify-policy__container table tr td:first-child {
  border-top-left-radius: 0.8rem;
  border-bottom-left-radius: 0.8rem;
}
.wysiwyg table tr td:last-child, .shopify-policy__container table tr td:last-child {
  border-top-right-radius: 0.8rem;
  border-bottom-right-radius: 0.8rem;
}
.wysiwyg table tr:first-child td, .shopify-policy__container table tr:first-child td {
  text-align: left;
  color: var(--color-text);
  background-color: var(--color-background-body);
  font-size: 1.4rem;
  font-weight: 500;
}

.ui-share-print {
  position: relative;
  width: 4.8rem;
  height: 4.8rem;
  cursor: pointer;
  color: var(--color-icon);
  display: flex;
  justify-content: center;
  align-items: center;
}
.ui-share-print ul {
  position: absolute;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 4.8rem;
  height: 4.8rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s;
}
@media (max-width: 63.99em) {
  .ui-share-print ul {
    display: none;
  }
}
.ui-share-print ul li {
  text-align: center;
}
.ui-share-print ul a {
  display: block;
  margin: 0;
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  color: var(--color-icon);
}
.ui-share-print ul a:hover, .ui-share-print ul a:active, .ui-share-print ul a:focus {
  color: var(--color-icon-hover) !important;
}
.ui-share-print ul a svg {
  width: 1.6rem;
  height: 1.6rem;
  display: block;
}
.ui-share-print ul a span {
  font-size: 1.6rem;
  line-height: 1.25;
}
.ui-share-print__trigger {
  opacity: 1;
  visibility: visible;
  transition: 0.4s;
}
.ui-share-print:not(:last-child) {
  padding: 0;
  margin: 0;
}
@media (min-width: 64em) {
  .ui-share-print:hover ul {
    opacity: 1;
    visibility: visible;
  }
  .ui-share-print:hover .ui-share-print__trigger {
    opacity: 0;
    visibility: hidden;
  }
}

.usp-product {
  margin: 0 !important;
}

.usp-product {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  border-top: 1px solid var(--color-border);
}
.usp-product strong {
  font-size: 1.4rem;
}
.usp-product svg {
  width: 3.2rem;
  height: auto;
  margin: 0 0 0 0.4rem;
}
.usp-product .icon {
  opacity: 1 !important;
}
.usp-product .icon {
  margin: 0 1rem 0 0;
  font-size: 2rem;
}
*:not(.usp-product) + .usp-product, .usp-product.u-hide + .usp-product {
  border-top: none !important;
}
.usp-product form {
  margin: 0 !important;
}
.usp-product--availability .usp-product {
  border-top: none;
  border-bottom: 1px solid var(--color-border);
}

.shopify-section {
  position: relative;
}
.shopify-section .section__wrapper--overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--border-radius);
}
.shopify-section .section__wrapper:not(.container--full_bleed) {
  border-radius: var(--border-radius);
}
.shopify-section .section__wrapper:not(.container--full_bleed) .section__wrapper-background {
  border-radius: var(--border-radius);
  margin: 0;
}
.shopify-section .section__wrapper:before, .shopify-section .section__wrapper:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  margin: 0 auto;
  left: 0;
  right: 0;
  z-index: 2;
}
.shopify-section .section__wrapper:before {
  top: 0;
}
.shopify-section .section__wrapper:after {
  bottom: 0;
}
.shopify-section .section__wrapper--full_bleed:before, .shopify-section .section__wrapper--full_bleed:after {
  max-width: 100%;
}
.shopify-section[\:has\(\%3E\%20.section--with-background\)] + .shopify-section[\:has\(\%3E\%20.section--with-background\)] {
  margin-top: calc(var(--gap) / 2);
}
.shopify-section:has(> .section--with-background) + .shopify-section:has(> .section--with-background) {
  margin-top: calc(var(--gap) / 2);
}
@media (min-width: 64em) {
  .shopify-section[\:has\(\%3E\%20.section--with-background\)] + .shopify-section[\:has\(\%3E\%20.section--with-background\)] {
    margin-top: var(--gap);
  }
  .shopify-section:has(> .section--with-background) + .shopify-section:has(> .section--with-background) {
    margin-top: var(--gap);
  }
}
.shopify-section[\:has\(\%3E\%20.section--with-background\)][\:has\(\%3E\%20.container--full_bleed\)] + .shopify-section[\:has\(\%3E\%20.container--full_bleed\)][\:has\(\%3E\%20.section--with-background\)] {
  margin-top: 0;
}
.shopify-section:has(> .section--with-background):has(> .container--full_bleed) + .shopify-section:has(> .container--full_bleed):has(> .section--with-background) {
  margin-top: 0;
}
.shopify-section.search-results {
  padding: var(--gap) 0 0 0;
}
@media (min-width: 64em) {
  .shopify-section.search-results {
    padding: calc(var(--gap) * 2) 0 0 0;
  }
}
.shopify-section.video .container--full_bleed.container-width--none .figure, .shopify-section.video .container--full_bleed.container-width--none .figure--video, .shopify-section.video .container--full_bleed.container-width--none .figure--external_video, .shopify-section.image .container--full_bleed.container-width--none .figure, .shopify-section.image .container--full_bleed.container-width--none .figure--video, .shopify-section.image .container--full_bleed.container-width--none .figure--external_video {
  border-radius: 0 !important;
}

.shopify-policy__container {
  max-width: calc(100% - 3.2rem) !important;
}

.shopify-policy__container {
  position: relative;
  width: var(--container-width);
  margin: 0 auto;
  padding: 2.4rem 0;
}
@media (min-width: 64em) {
  .shopify-policy__container {
    max-width: calc(100% - 6.4rem) !important;
  }
  .shopify-policy__container {
    padding: 3.6rem 0;
  }
}
.shopify-policy__title {
  text-align: left !important;
}

.announcement-bar .section__wrapper,
.announcement-bar .section__wrapper-background {
  border-radius: 0 !important;
}

.footer .section__wrapper {
  background: var(--color-background-alt);
  padding: calc(var(--gap) / 2);
}
.footer .section__wrapper-background, .footer .section__wrapper:not(.container--full_bleed) {
  border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
}
.footer .section__wrapper.container--full_bleed {
  padding: calc(var(--gap) / 2);
}
@media (min-width: 64em) {
  .footer .section__wrapper.container--full_bleed {
    padding: var(--gap);
  }
}
.footer .container {
  margin: 0 auto 1.6rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 3.2rem;
}
@media (max-width: 63.99em) {
  .footer .container {
    flex-wrap: wrap;
  }
  .footer .container a.header__logo {
    text-align: inherit;
  }
}
.footer .container .footer__content {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  max-width: 100%;
}
.footer .container .footer__content--fill {
  max-width: 100% !important;
  flex: 1 !important;
}
.footer .container .footer__content .separator--column {
  min-height: 100%;
}
.footer .container .footer__content:empty {
  display: none !important;
}
.footer .container .footer__content > div {
  display: flex;
  flex-direction: column;
}
.footer .container .separator {
  margin: -3.2rem auto;
}
.footer .container:last-of-type {
  margin: 0 auto;
}
.footer__content .social-accounts ul {
  padding: 0;
}
.footer__menu ul {
  margin: 1.6rem 0 0 0;
}
.footer__menu ul li {
  line-height: 1.5;
}
.footer__menu ul li:not(:last-child) {
  padding: 0 0 1.2rem 0;
}
.footer__right {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.8rem 0;
}
@media (max-width: 63.99em) {
  .footer__right {
    width: 100%;
  }
}
.footer__payment-icons {
  max-width: 100%;
  display: flex;
  grid-gap: 0.8rem;
  flex-wrap: wrap;
}
@media (max-width: 63.99em) {
  .footer__payment-icons li svg {
    width: 3rem;
  }
}
.footer__localization {
  flex-direction: row !important;
}
.footer__localization {
  gap: 0.8rem;
  flex-wrap: wrap;
}
.footer--article {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  overflow: hidden;
}
@media (max-width: 63.99em) {
  .footer--article {
    flex-direction: column;
  }
  .footer--article p + .u-flex {
    margin: -0.8rem 0 0 0;
  }
}
@media (min-width: 64em) {
  .footer--article {
    display: grid;
    grid-auto-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    text-align: center;
  }
  .footer--article > *:nth-child(1) {
    grid-column: 1;
    text-align: left;
  }
  .footer--article > *:nth-child(2) {
    grid-column: 2;
    text-align: center;
  }
  .footer--article > *:nth-child(3) {
    grid-column: 3;
    text-align: right;
  }
  .footer--article .share-ui {
    justify-content: flex-end;
  }
}

@media (max-width: 63.99em) {
  .template-product[\:has\(.sticky-add-to-cart\)] .footer-sections {
    margin: 0 0 7.4rem 0;
  }
  .template-product:has(.sticky-add-to-cart) .footer-sections {
    margin: 0 0 7.4rem 0;
  }
}

.features-bar .section__wrapper {
  background: var(--color-background-alt);
}
@media (min-width: 64em) {
  .features-bar swiper-container {
    justify-content: space-around;
  }
}
@media (min-width: 64em) {
  .features-bar swiper-container::part(wrapper) {
    justify-content: space-around;
  }
}
.features-bar swiper-container .swiper-button-prev, .features-bar swiper-container .swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.features-bar swiper-container .swiper-button-prev {
  left: 0;
}
.features-bar swiper-container .swiper-button-next {
  right: 0;
}
.features-bar swiper-container swiper-slide {
  width: auto;
}
.features-bar__item {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-text);
  gap: 0.8rem;
}
.features-bar__item div strong {
  max-width: 30rem;
  white-space: normal;
  display: block;
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--color-heading);
}
@media (min-width: 64em) {
  .features-bar__item div strong {
    font-size: 1.5rem;
    max-width: 21rem;
  }
}
.features-bar__item div p {
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--color-text);
  margin: 0;
  font-weight: 500;
  display: -webkit-box;
  max-width: 21rem;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.features-bar a.features-bar__item .icon {
  transform: scale(1);
  transition: transform 0.3s ease;
}
.features-bar a.features-bar__item:hover strong,
.features-bar a.features-bar__item:hover p, .features-bar a.features-bar__item:active strong,
.features-bar a.features-bar__item:active p, .features-bar a.features-bar__item:focus strong,
.features-bar a.features-bar__item:focus p {
  color: var(--color-text-links);
}
.features-bar a.features-bar__item:hover .icon, .features-bar a.features-bar__item:active .icon, .features-bar a.features-bar__item:focus .icon {
  transform: scale(1.08);
}
.features-bar--text-center {
  text-align: center;
}
.features-bar--text-left {
  text-align: left;
}
@media (min-width: 64em) {
  .features-bar--text-left.features-bar--icon-top .features-bar__item, .features-bar--text-left.features-bar--icon-bottom .features-bar__item {
    align-items: flex-start;
  }
}
.features-bar--text-right {
  text-align: right;
}
@media (min-width: 64em) {
  .features-bar--text-right.features-bar--icon-top .features-bar__item, .features-bar--text-right.features-bar--icon-bottom .features-bar__item {
    align-items: flex-end;
  }
}
.features-bar--icon-bottom .icon, .features-bar--icon-right .icon {
  order: 2;
}
.features-bar--icon-top .features-bar__item, .features-bar--icon-bottom .features-bar__item {
  flex-direction: column;
}
.features-bar--nav .features-bar__wrapper {
  background: var(--color-background-alt);
  padding: 0.8rem 0;
}
@media (min-width: 64em) {
  .features-bar--nav .features-bar__wrapper {
    padding: calc(var(--gap) / 2) 0;
  }
}

.header .sticky {
  position: sticky;
}
.header__menu {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 63.99em) {
  .header__menu {
    display: none;
  }
}
@media (min-width: 64em) {
  .header__menu + .header__menu {
    margin: 0 0 0 -1.6rem;
  }
}
.header__menu .banner__wrapper {
  height: 100%;
  aspect-ratio: auto;
}
.header a.main-nav-item {
  display: flex;
  align-items: center;
  padding: 2rem 0.8rem;
}
.header .main-nav-item {
  transition: 0.4s;
  white-space: nowrap;
  line-height: 1.5;
}
.header .main-nav-item > a {
  cursor: pointer;
  padding: 2rem 0.8rem;
}
.header .main-nav-item > a .icon {
  font-size: 1.6rem;
}
.header .main-nav-item:hover > a, .header .main-nav-item:active > a, .header .main-nav-item:focus > a {
  color: var(--color-text-links-hover);
}
.header .main-nav-item:hover > a .icon, .header .main-nav-item:active > a .icon, .header .main-nav-item:focus > a .icon {
  color: var(--color-text-links-hover);
}
.header .main-nav-item .nav ul li details .nav__secondary-menu__item {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
}
.header .main-nav-item .nav ul li details summary.nav__main-menu-link--active + .nav__secondary-menu__item {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
.header [data-ux=hover] .main-nav-item [data-tooltip-trigger] {
  cursor: pointer;
}
.header [data-ux=hover] .main-nav-item [data-tooltip-trigger][open]:hover .icon {
  transform: rotate(-180deg);
}
.header [data-ux=hover] .main-nav-item [data-tooltip-trigger][open]:hover + .nav {
  left: 0;
  opacity: 1;
  transition: opacity 0.3s 0s, visibility 0s 0s;
  visibility: visible;
}
.header [data-ux=hover] .main-nav-item[focus-within][open] .icon {
  transform: rotate(-180deg);
}
.header [data-ux=hover] .main-nav-item:focus-within[open] .icon {
  transform: rotate(-180deg);
}
.header [data-ux=hover] .main-nav-item[focus-within] .nav {
  left: 0;
  opacity: 1;
  transition: opacity 0.3s 0s;
  visibility: visible;
}
.header [data-ux=hover] .main-nav-item:focus-within .nav {
  left: 0;
  opacity: 1;
  transition: opacity 0.3s 0s;
  visibility: visible;
}
.header [data-ux=click] .main-nav-item [data-tooltip-trigger][open] .icon {
  transform: rotate(-180deg);
}
.header [data-ux=click] .main-nav-item [data-tooltip-trigger][open] + .nav {
  left: 0;
  opacity: 1;
  transition: opacity 0.3s 0s;
  visibility: visible;
}
.header > a {
  position: relative;
  color: var(--color-text-links);
}
.header > a:hover {
  color: var(--color-text-links);
}
.header__logo ~ .header__nav-block {
  margin: 0 0 0 2.4rem;
}
.header__logo.text-lg, .header__logo.button--lg, .header__logo.button--lg-inverted, .header__logo.button--lg-secondary {
  line-height: 1.25;
}
@media (max-width: 63.99em) {
  .header__logo.text-lg, .header__logo.button--lg, .header__logo.button--lg-inverted, .header__logo.button--lg-secondary {
    max-width: none !important;
  }
  .header__logo.text-lg, .header__logo.button--lg, .header__logo.button--lg-inverted, .header__logo.button--lg-secondary {
    text-align: center;
  }
}
.header__logo--mobile {
  text-align: center;
}
.header__logo:not(.text-lg):not(.button--lg):not(.button--lg-inverted):not(.button--lg-secondary) {
  height: auto;
}
.header button:hover .icon, .header button:active .icon, .header button:focus .icon {
  color: var(--color-icon-hover);
}
.header__icons {
  display: flex;
  align-items: center;
  min-width: 2.4rem;
}
.header__icons--cart-open {
  position: relative;
}
.header__icons--cart-open .cart-count {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: -0.8rem;
  right: -0.8rem;
  background: var(--color-background-button-primary);
  color: var(--color-text-button-primary);
  border: 1px solid var(--color-border-button-primary);
  width: 1.8rem;
  height: 1.8rem;
  font-size: 1rem;
  font-weight: var(--font-body-weight-bold);
  line-height: 1;
  border-radius: 100%;
  transform: scale(1);
  transition: all 0.4s ease;
}
@media (min-width: 64em) {
  .header__icons--cart-open .cart-count {
    width: 2.4rem;
    height: 2.4rem;
    top: -1.6rem;
    right: -1.2rem;
  }
}
@keyframes addedToCart {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.1);
    background: var(--color-background-button-primary-hover);
    color: var(--color-text-button-primary-hover);
  }
  50% {
    transform: scale(1.1);
    background: var(--color-background-button-primary-hover);
    color: var(--color-text-button-primary-hover);
  }
  100% {
    transform: scale(1);
  }
}
.added-to-cart .header__icons--cart-open .cart-count {
  animation-name: addedToCart;
  animation-duration: 1.8s;
}
.header__icons--cart-open:hover .cart-count, .header__icons--cart-open:active .cart-count, .header__icons--cart-open:focus .cart-count {
  color: var(--color-text-button-primary-hover) !important;
}
.header__icons--cart-open:hover .cart-count, .header__icons--cart-open:active .cart-count, .header__icons--cart-open:focus .cart-count {
  background-color: var(--color-background-button-primary-hover);
  transform: scale(1.1);
}
.header .search-trigger--mobile {
  line-height: 1;
  height: 2.4rem;
  min-width: 2.4rem;
}
@media (min-width: 64em) {
  .header .search-trigger--mobile {
    display: none;
  }
}
.header .search-trigger--mobile:hover .search-icon, .header .search-trigger--mobile:active .search-icon, .header .search-trigger--mobile:focus .search-icon {
  color: var(--color-icon-hover);
}
@media (min-width: 64em) {
  .header__search--small {
    height: 100%;
  }
}
@media (max-width: 63.99em) {
  .search-layout--fill .header__search--small .form__input-wrapper, .search-layout--small .header__search--small .form__input-wrapper {
    display: none;
  }
}
.search-layout--icon .header__search--small form:first-of-type {
  display: none;
}
.search-layout--icon .header__search--small .predictive-search__header {
  display: flex;
  padding: 1.6rem;
  border-bottom: 1px solid var(--color-border);
}
.header__search--small--fullwidth {
  flex: 1;
}
@media (min-width: 64em) {
  .header__search--small.display--fill toggletip-engine[\:has\(\%23predictive-search-header-navigation-main\)] {
    width: 100%;
  }
  .header__search--small.display--fill toggletip-engine:has(#predictive-search-header-navigation-main) {
    width: 100%;
  }
}
.header__search--small toggletip-engine {
  height: 100%;
}
.header__search--small toggletip-engine .predictive-search-wrapper {
  height: 100%;
}
.header__search--small toggletip-engine .predictive-search-wrapper form[data-tooltip-trigger] {
  align-items: center;
  height: 100%;
  display: flex;
}
.header .search-trigger-mobile {
  line-height: 1;
  height: 2.4rem;
}
@media (min-width: 64em) {
  .header .search-trigger-mobile {
    display: none;
  }
}
.header__localization {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.nav--mobile .header__localization {
  justify-content: center;
  padding: 0.8rem;
  position: relative;
  z-index: 2;
}

.menu-trigger {
  width: 2.4rem;
  height: 2.4rem;
  position: relative;
  cursor: pointer;
  display: inline-block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: none;
  overflow: visible;
  padding: 0;
  transition: all 0.5s 0s;
  margin: 0;
  flex-shrink: 0;
  grid-area: left;
}
@media (min-width: 64em) {
  .menu-trigger {
    display: none;
  }
}
.menu-trigger span {
  width: 100%;
  position: absolute;
  top: 0.4rem;
  left: 0;
  height: 0.2rem;
  background: var(--color-icon);
  transition: 0.4s;
}
.menu-trigger span:nth-of-type(1) {
  transition: all 0.3s 0.3s, transform 0.3s 0s;
}
.menu-trigger span:nth-of-type(2) {
  top: 50%;
  margin-top: -1px;
  left: 0;
  transition: all 0.3s 0.3s;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0.4rem;
  top: auto;
  left: 0;
  transition: all 0.3s 0.3s, transform 0.3s 0s;
}
.menu-trigger[open=true] {
  transform: rotate(45deg);
  transition: all 0.5s 0.3s;
}
.menu-trigger[open=true] span:nth-of-type(1) {
  top: 50%;
  margin-top: -1px;
  transform: rotate(90deg);
  transition: all 0.3s, transform 0.3s 0.3s;
}
.menu-trigger[open=true] span:nth-of-type(2) {
  opacity: 0;
  transition: all 0.3s, opacity 0.3s 0s;
}
.menu-trigger[open=true] span:nth-of-type(3) {
  bottom: 50%;
  margin-bottom: -1px;
  transform: rotate(0deg);
  transition: all 0.3s, transform 0.3s 0.3s;
}

@media (min-width: 64em) {
  button.search-trigger {
    padding: 2rem 0;
  }
}

button.search-trigger,
button#cart-open,
.header__icons > a {
  line-height: 0;
}

#nav-wrapper {
  position: relative;
  z-index: 20;
  width: 100%;
  transition: box-shadow 0.3s, background 0.3s;
  top: 0;
  left: 0;
}
#nav-wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--color-background-body);
  opacity: 0;
  transition: opacity 0.3s ease;
}
#nav-wrapper.sticky {
  position: sticky;
}
#nav-wrapper.header-visible:not(.reached-top) {
  position: fixed;
  box-shadow: 0 0 4rem -0.4rem rgba(52, 64, 84, 0.08);
}
#nav-wrapper.header-visible:not(.reached-top).sticky-active {
  box-shadow: 0 0 4rem -0.4rem rgba(52, 64, 84, 0);
}
#nav-wrapper.header-visible:not(.reached-top):before, #nav-wrapper.header-visible.above-overlay:before, #nav-wrapper.header-visible.above-overlay.reached-top:before, #nav-wrapper.above-overlay:before {
  opacity: 1;
}

#header-spacer {
  height: 0;
  opacity: 0;
  visibility: hidden;
}

.header-grid {
  display: grid !important;
}

.header-grid {
  align-items: center;
  grid-gap: calc(var(--gap) / 2);
  gap: calc(var(--gap) / 2);
  grid-template-columns: auto;
}
.header-grid > div {
  align-items: center;
}
@media (max-width: 63.99em) {
  .header-grid + .container {
    margin: calc(var(--gap) / 2) 0 0 0;
  }
  .header-grid[\:has\(.header-column--center.hide-desktop\)] {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
  .header-grid:has(.header-column--center.hide-desktop) {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
}
@media (min-width: 64em) {
  .header-grid[\:has\(.header-column--center.hide-mobile\)] {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
  .header-grid:has(.header-column--center.hide-mobile) {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  }
}

.header-column {
  display: flex;
  height: 100%;
  gap: calc(var(--gap) / 2);
}
.header-column.hide-mobile {
  align-items: center;
}
.header-column--left {
  grid-column: 1;
  justify-content: flex-start;
}
.header-column--left + .header-column--right {
  grid-column: 2;
}
.header-column--right {
  justify-content: flex-end;
  grid-column: 2;
}
.header-column--center {
  grid-column: 2;
  justify-content: center;
}
.header-column--center + .header-column--right {
  grid-column: 3;
}
.header-column--fullwidth {
  width: 100%;
  flex-wrap: wrap;
}
@media (max-width: 63.99em) {
  .header-column--fullwidth {
    flex-direction: column;
    align-items: flex-start;
  }
}
.header-column--fullwidth .header__search {
  width: 100%;
}

.cart-summary__header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--color-border);
  padding: 1.6rem;
}
.cart-summary__header p {
  font-size: 1.4rem;
  margin: 0;
}
.cart-summary__line-items {
  display: flex;
  justify-content: space-between;
  padding: 1.6rem 1.6rem 0 1.6rem;
}
.cart-summary__line-items p {
  font-size: 1.4rem;
  line-height: 1.5;
}
.cart-summary__line-items p:last-child {
  font-weight: 500;
}
.cart-summary__line-items p:first-child {
  font-weight: 400;
}
.cart-summary__line-items--notice {
  padding: 0 1.6rem 0.8rem;
}
.cart-summary__line-items--notice p:first-child {
  font-weight: 300;
  font-size: 1.2rem;
  line-height: 1.5;
}
.cart-summary__buttons {
  padding: 1.6rem;
}
.cart-summary__buttons .additional-checkout-buttons {
  display: grid;
  grid-gap: 0.8rem;
  margin: 0;
}
.cart-summary__buttons .additional-checkout-buttons div#dynamic-checkout-cart {
  margin: 1.6rem 0 0;
}
.cart-summary__buttons .button, .cart-summary__buttons .button--default, .cart-summary__buttons .button--primary, .cart-summary__buttons .button--inverted, .cart-summary__buttons .button--secondary, .cart-summary__buttons .button--xs, .cart-summary__buttons .button--xs-inverted, .cart-summary__buttons .button--xs-secondary, .cart-summary__buttons .button--sm, .cart-summary__buttons .button--sm-inverted, .cart-summary__buttons .button--sm-secondary, .cart-summary__buttons .button--lg, .cart-summary__buttons .button--lg-inverted, .cart-summary__buttons .button--lg-secondary, .cart-summary__buttons .button--xl, .cart-summary__buttons .button--xl-inverted, .cart-summary__buttons .button--xl-secondary, .cart-summary__buttons .button--add-to-cart--inverted, .cart-summary__buttons .button--add-to-cart--secondary, .cart-summary__buttons .button--pill, .cart-summary__buttons .button--circle, .cart-summary__buttons .shopify-payment-button button, .shopify-payment-button .cart-summary__buttons button {
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 500;
  margin: 0;
}
.cart-summary__buttons .button span, .cart-summary__buttons .button--default span, .cart-summary__buttons .button--primary span, .cart-summary__buttons .button--inverted span, .cart-summary__buttons .button--secondary span, .cart-summary__buttons .button--xs span, .cart-summary__buttons .button--xs-inverted span, .cart-summary__buttons .button--xs-secondary span, .cart-summary__buttons .button--sm span, .cart-summary__buttons .button--sm-inverted span, .cart-summary__buttons .button--sm-secondary span, .cart-summary__buttons .button--lg span, .cart-summary__buttons .button--lg-inverted span, .cart-summary__buttons .button--lg-secondary span, .cart-summary__buttons .button--xl span, .cart-summary__buttons .button--xl-inverted span, .cart-summary__buttons .button--xl-secondary span, .cart-summary__buttons .button--add-to-cart--inverted span, .cart-summary__buttons .button--add-to-cart--secondary span, .cart-summary__buttons .button--pill span, .cart-summary__buttons .button--circle span, .cart-summary__buttons .shopify-payment-button button span, .shopify-payment-button .cart-summary__buttons button span {
  font-size: 1.8rem;
  color: inherit;
}
.cart-summary__buttons .button--secondary, .cart-summary__buttons .button--xs-inverted, .cart-summary__buttons .button--xs-secondary, .cart-summary__buttons .button--sm-inverted, .cart-summary__buttons .button--sm-secondary, .cart-summary__buttons .button--lg-inverted, .cart-summary__buttons .button--lg-secondary, .cart-summary__buttons .button--xl-inverted, .cart-summary__buttons .button--xl-secondary, .cart-summary__buttons .button--add-to-cart--inverted, .cart-summary__buttons .button--add-to-cart--secondary, .cart-summary__buttons .button--pill, .cart-summary__buttons .shopify-payment-button button, .shopify-payment-button .cart-summary__buttons button {
  margin: 0.8rem 0 0 0;
}
.cart-summary__buttons.disabled {
  opacity: 0.3;
  pointer-events: none;
  cursor: not-allowed;
}
.cart-summary__free-shipping p {
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  color: var(--color-text);
  background: var(--color-background-alt);
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.5;
  padding: 0.8rem 1.6rem;
  margin: 0;
}
.cart-summary__free-shipping p .icon {
  font-size: 1.6rem;
  height: 1.2rem;
}
.cart-summary__free-shipping p #amount-left {
  margin: 0 0.3rem;
}
.cart-summary__certificate {
  padding: 0.8rem 1.6rem;
  text-align: center;
  font-size: 1.2rem;
  color: var(--color-text);
}
.cart-summary__certificate p {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}
.cart-summary__certificate p .icon {
  height: 1.6rem;
  font-size: 1.6rem;
}
.cart-summary__meta {
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  overflow: hidden;
}
.cart-summary__note {
  margin: 2.4rem 0 0 0;
}
.cart-summary__note textarea {
  width: 100%;
  color: var(--color-text);
}
.cart-summary__note textarea::-webkit-input-placeholder {
  text-transform: var(--font-body-transform);
}
.cart-summary__note textarea:-moz-placeholder {
  text-transform: var(--font-body-transform);
}
.cart-summary__note textarea::-moz-placeholder {
  text-transform: var(--font-body-transform);
}
.cart-summary__note textarea:-ms-input-placeholder {
  text-transform: var(--font-body-transform);
}

.cart__empty {
  text-align: center;
  padding: 4rem;
  border-radius: var(--border-radius);
}
.cart__empty > *:not(:last-child) {
  margin: 0 0 1.6rem 0;
}
.cart__wrapper {
  container-type: inline-size;
  display: grid;
  grid-gap: 1.6rem;
}
@media (min-width: 64em) {
  .cart__wrapper {
    grid-template-columns: auto 30rem;
  }
}
@media (min-width: 85.375em) {
  .cart__wrapper {
    grid-gap: 3.2rem;
    grid-template-columns: auto 36rem;
  }
}

.cart-content {
  margin: 0 0 1.6rem 0;
}
@media (min-width: 64em) {
  .cart-content {
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
  }
}
@media (min-width: 64em) {
  .cart-content {
    margin: 0 0 4rem 0;
  }
}
.cart-content__header {
  display: none;
}
@media (min-width: 64em) {
  .cart-content__header {
    display: grid;
    grid-gap: 0.8rem;
    gap: 0.8rem;
    grid-template-columns: 10.8rem 2fr 2fr 2fr 2fr 1fr;
    padding: 1.6rem 2.4rem;
    border-bottom: 1px solid var(--color-border);
    font-size: 1.2rem;
  }
  .cart-content__header p:first-child {
    display: block;
  }
}
.cart-content__header p {
  margin: 0;
}
.cart-content__header p:last-child {
  justify-self: center;
}

.cart-item {
  display: grid;
  align-items: center;
  grid-gap: 0.8rem 1.2rem;
  gap: 0.8rem 1.2rem;
  grid-template-areas: "image title remove" "image quantity total";
  grid-template-columns: 10.8rem 1fr 1fr;
  padding: 0;
}
.cart-item__image {
  grid-area: image;
  margin: 0 0.8rem 0 0;
  border-radius: var(--border-radius);
  -o-object-fit: contain;
     object-fit: contain;
}
.cart-item__title {
  grid-area: title;
}
.cart-item__title dl {
  flex-wrap: wrap;
}
.cart-item__title a {
  line-height: 1.25;
}
.cart-item__title .cart-item__discounts {
  margin: 0.8rem 0 0;
}
.cart-item__title .cart-item__discounts,
.cart-item__title .cart-item__discounts span {
  color: var(--color-sale);
}
.cart-item__unit-price {
  grid-area: unit-price;
}
.cart-item__quantity {
  grid-area: quantity;
}
.cart-item__totals {
  grid-area: total;
  align-items: flex-end;
  display: flex;
  flex-direction: column;
}
.cart-item__remove-wrapper, .cart-item__title {
  align-self: center;
}
.cart-item__remove-wrapper {
  grid-area: remove;
  display: grid;
}
.cart-item__remove-wrapper button {
  position: relative;
  text-align: right;
  justify-self: end;
  padding: 0.4rem;
  height: 3.2rem;
}
.mini-cart .cart-item__remove-wrapper button {
  top: -0.8rem;
  right: -0.8rem;
}
.cart-item__remove-wrapper button:hover .icon, .cart-item__remove-wrapper button:active .icon, .cart-item__remove-wrapper button:focus .icon {
  color: var(--color-icon-hover);
}
.cart-item__discounts li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.cart-item__discounts li .icon {
  font-size: 1.4rem;
  width: 1.4rem;
  height: 1.4rem;
}
.cart-item .total-price dl {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.2;
}
.cart-item .show-desktop {
  display: none;
}
.cart-item .show-mobile {
  display: block;
}

@container (min-width: 650px) {
  .cart-item {
    grid-template-areas: "image title unit-price quantity total remove";
    grid-template-columns: 10.8rem 2fr 2fr 2fr 2fr 1fr;
    margin: 2.4rem;
  }
  .cart-item__title a {
    margin: 0 0 0.8rem 0;
  }
  .cart-item__totals {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .cart-item__remove-wrapper button {
    justify-self: center;
  }
  .cart-item .show-desktop {
    display: block;
  }
  .cart-item .show-mobile {
    display: none;
  }
}
.mini-cart {
  z-index: 20;
  position: fixed;
  transform: translateX(100%);
  transition: transform 0.4s, opacity 0.4s, visibility 0s 0.4s;
  top: 0;
  right: 0;
  opacity: 0;
  background: var(--color-background-body);
  max-width: 100%;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}
@media (min-width: 64em) {
  .mini-cart {
    transform: translateX(40rem);
    width: 40rem;
    border-left: 1px solid var(--color-border);
    box-shadow: 0 2rem 4rem rgba(52, 64, 84, 0.08);
    border-radius: var(--border-radius) 0 0 var(--border-radius);
  }
}
.mini-cart::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
.mini-cart--empty {
  background: var(--color-background-alt);
  text-align: center;
  padding: 4rem;
  margin: 0;
  border-radius: var(--border-radius);
}
.mini-cart--empty p {
  margin: 0 0 1.6rem 0;
}
.mini-cart.open {
  container-type: size;
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
  transition: transform 0.4s, opacity 0.4s, visibility 0s;
}
.mini-cart__sidebar {
  z-index: 10;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.mini-cart__close {
  cursor: pointer;
  display: flex;
  align-items: center;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-text);
  border-bottom: 1px solid var(--color-border);
  padding: 1.6rem 2.4rem 1.6rem 1.6rem;
  transition: 0.25s;
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--color-background-body);
}
.mini-cart__close .icon {
  color: var(--color-icon);
}
.mini-cart__close:hover, .mini-cart__close:active, .mini-cart__close:focus {
  padding: 1.6rem 2.6rem 1.6rem 1.4rem;
  color: var(--color-text);
}
.mini-cart__close:hover .icon, .mini-cart__close:active .icon, .mini-cart__close:focus .icon {
  color: var(--color-icon-hover);
}
.mini-cart__content {
  overflow: scroll;
  padding: 1.6rem;
}
.mini-cart__content::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}
.mini-cart__content .cart-items-container {
  opacity: 0;
  transition: 0.5s 0.3s;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.mini-cart.open .mini-cart__content .cart-items-container {
  opacity: 1;
}
.mini-cart__footer {
  padding: 0;
  position: sticky;
  bottom: 0;
  background: var(--color-background-body);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  box-shadow: 0 0 2rem rgba(52, 64, 84, 0.12);
  border-top: 1px solid var(--color-border);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}
.mini-cart__footer .accordion details {
  border: none;
  border-bottom: 1px solid var(--color-border);
}
.mini-cart__footer .accordion details summary {
  padding: 1.6rem;
}
.mini-cart__footer .accordion details .content {
  padding: 0 1.6rem 1.6rem 1.6rem;
}
.mini-cart__footer .cart-summary__note {
  margin: 0;
}
.mini-cart__footer .cart-summary__meta {
  border: none;
}

.rich-text__wrapper {
  display: flex;
  position: relative;
  overflow: hidden;
}
.rich-text__wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.rich-text__wrapper > div {
  display: flex;
  position: relative;
  z-index: 1;
  width: 100%;
}
@media (max-width: 63.99em) {
  .rich-text__wrapper {
    flex-direction: column;
  }
}
.rich-text__wrapper--stretch {
  height: 100%;
}
.rich-text__wrapper.section__wrapper--background {
  border-radius: var(--border-radius);
  padding: 1.6rem;
}
@media (min-width: 64em) {
  .rich-text__wrapper.section__wrapper--background {
    padding: 2.4rem;
  }
}
.rich-text__content {
  height: 100%;
  width: 100%;
  z-index: 1;
}
.rich-text__content__heading {
  margin: 0 0 1.6rem;
}
.rich-text__buttons {
  margin: 2.4rem 0 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.6rem;
}

.grid-content__column--stretch {
  align-self: stretch;
  height: auto;
}
.grid-content__column--stretch > *,
.grid-content__column--stretch > * > * {
  height: 100%;
  max-width: 100%;
}
.grid-content__column--stretch .grid-content__header > *, .grid-content__column--stretch .grid-content__header-block > * {
  height: auto;
  margin: 0;
}
.grid-content__column--stretch .figure, .grid-content__column--stretch .figure--video, .grid-content__column--stretch .figure--external_video {
  flex: 1;
  max-width: 100%;
}
.grid-content__column--stretch .figure img, .grid-content__column--stretch .figure--video img, .grid-content__column--stretch .figure--external_video img, .grid-content__column--stretch .figure video, .grid-content__column--stretch .figure--video video, .grid-content__column--stretch .figure--external_video video, .grid-content__column--stretch .figure iframe, .grid-content__column--stretch .figure--video iframe, .grid-content__column--stretch .figure--external_video iframe {
  -o-object-fit: cover !important;
     object-fit: cover !important;
}
.grid-content__column--stretch .figure img, .grid-content__column--stretch .figure--video img, .grid-content__column--stretch .figure--external_video img, .grid-content__column--stretch .figure video, .grid-content__column--stretch .figure--video video, .grid-content__column--stretch .figure--external_video video, .grid-content__column--stretch .figure iframe, .grid-content__column--stretch .figure--video iframe, .grid-content__column--stretch .figure--external_video iframe {
  width: 100%;
  height: 100%;
}
.grid-content__column > figure {
  max-width: 100%;
}
.grid-content__column > figure img {
  -o-object-fit: cover;
     object-fit: cover;
}
.grid-content__header, .grid-content__header-block {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.grid-content__header > *, .grid-content__header-block > * {
  margin: 0 0 var(--gap) 0;
  align-self: inherit;
}
.shopify-section.heading .grid-content__header > *, .shopify-section.heading .grid-content__header-block > * {
  margin: 0;
}
.shopify-section.heading .grid-content__header, .shopify-section.heading .grid-content__header-block {
  gap: calc(var(--gap) / 2);
}
.grid-content__header .grid-content__slider-nav-wrapper, .grid-content__header-block .grid-content__slider-nav-wrapper {
  display: flex;
  gap: calc(var(--gap) / 2);
}
@media (max-width: 63.99em) {
  .grid-content__header, .grid-content__header-block {
    gap: calc(var(--gap) / 2);
    flex-direction: column;
    margin: 0 0 calc(var(--gap) / 2) 0;
  }
  .grid-content__header > *, .grid-content__header-block > * {
    margin: 0;
  }
  .grid-content__header .grid-content__slider-nav-wrapper, .grid-content__header-block .grid-content__slider-nav-wrapper {
    width: 100%;
    flex-direction: column;
  }
  .grid-content__header .grid-content__slider-nav-wrapper .grid-content__slider-nav, .grid-content__header-block .grid-content__slider-nav-wrapper .grid-content__slider-nav {
    order: 3;
  }
  .grid-content__header .grid-content__slider-nav-wrapper .grid-content__slider-nav.grid-content__slider-nav--both .swiper-button-next, .grid-content__header-block .grid-content__slider-nav-wrapper .grid-content__slider-nav.grid-content__slider-nav--both .swiper-button-next {
    padding-right: 0;
    margin-right: -8px;
  }
}
@media (min-width: 64em) {
  .grid-content__header--button-block-below {
    flex-direction: column !important;
  }
  .grid-content__header--button-block-below.grid-content__header--left {
    align-items: flex-start;
  }
  .grid-content__header--button-block-below.grid-content__header--right {
    align-items: flex-end;
  }
}
@media (max-width: 63.99em) {
  .grid-content__header--button-mobile-block-below {
    flex-direction: column !important;
  }
  .grid-content__header--button-mobile-block-below.grid-content__header--left {
    align-items: flex-start;
  }
  .grid-content__header--button-mobile-block-below.grid-content__header--right {
    align-items: flex-end;
  }
}
.grid-content__header--left {
  text-align: left;
}
@media (max-width: 63.99em) {
  .grid-content__header--left {
    align-items: flex-start;
  }
}
.grid-content__header--left .heading__section {
  padding: 0 var(--gap) 0 0;
}
.grid-content__header--right {
  text-align: right;
}
.grid-content__header--right .heading__section {
  padding: 0 0 0 var(--gap);
}
@media (max-width: 63.99em) {
  .grid-content__header--right {
    align-items: flex-end;
  }
}
@media (min-width: 64em) {
  .grid-content__header--right {
    flex-direction: row-reverse;
  }
}
.grid-content__header--center {
  flex-direction: column;
  text-align: center;
  align-items: center;
}
.grid-content__header--center .heading__section {
  display: flex;
  align-items: center;
  flex-direction: column;
}
@media (min-width: 64em) {
  .grid-content__header--center .grid-content__slider-nav-wrapper[\:has\(.grid-content__slider-nav.hide-desktop\)][\:not-has\(\[class\%5E\%3Dbutton\]\)] {
    margin: 0;
  }
  .grid-content__header--center .grid-content__slider-nav-wrapper:has(.grid-content__slider-nav.hide-desktop):not(:has([class^=button])) {
    margin: 0;
  }
}
.grid-content__header--background {
  padding: 2.4rem;
  border-radius: var(--border-radius);
}
.grid-content__header--background:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.grid-content__header--background div {
  z-index: 2;
}
.grid-content__slider-nav {
  color: var(--color-text);
  display: none;
  align-items: center;
  gap: calc(var(--gap) / 2);
}
.grid-content__slider-nav .swiper-pagination.swiper-pagination-fraction,
.grid-content__slider-nav .swiper-button-next, .grid-content__slider-nav .swiper-button-prev {
  padding: 0;
}
.slider-enabled .grid-content__slider-nav {
  display: flex;
}
@media (max-width: 63.99em) {
  .grid-content__slider-nav:not(.grid-content__slider-nav--below) {
    width: 100%;
    justify-content: space-between;
  }
}
@media (min-width: 64em) {
  .grid-content__slider-nav:not(.grid-content__slider-nav--below) .swiper-pagination {
    order: 1;
  }
  .grid-content__slider-nav:not(.grid-content__slider-nav--below) .swiper-button-prev {
    order: 2;
  }
  .grid-content__slider-nav:not(.grid-content__slider-nav--below) .swiper-button-next {
    order: 3;
  }
}
.grid-content__slider-nav--below {
  justify-content: space-between;
  position: relative;
  margin: calc(var(--gap) / 2) 0 0 0;
}
.grid-content__slider-nav--below .swiper-pagination-bullets {
  text-align: center;
}
.grid-content__slider-nav--below .swiper-pagination.swiper-pagination-fraction {
  padding: 0;
}
.grid-content__slider-nav--below .swiper-button-prev {
  padding-left: 0;
  margin-left: -0.8rem;
}
.grid-content__slider-nav--below .swiper-button-next {
  padding-right: 0;
  margin-right: -0.8rem;
}
@media (max-width: 63.99em) {
  .grid-content__slider-nav .swiper-button-prev {
    padding-left: 0;
    margin-left: -0.8rem;
  }
  .grid-content__slider-nav .swiper-button-next {
    padding-right: 0;
    margin-right: -0.8rem;
  }
}
.grid-content__description {
  color: var(--color-text);
  width: 50rem;
  max-width: 100%;
}
@media (max-width: 63.99em) {
  .grid-content__description {
    display: none;
  }
}
@media (min-width: 64em) {
  .grid-content__column--background {
    padding: 9.6rem;
  }
}
.grid-content__column .grid-content__header > * {
  height: auto;
}
.grid-content swiper-container .swiper-slide.grid-content__column--stretch {
  align-self: stretch;
}
.grid-content swiper-container[data-autoplay=true][data-autoplay-delay="0"] .swiper-wrapper {
  transition-timing-function: linear;
}
@media (max-width: 63.99em) {
  .grid-content swiper-container[data-mobile-layout=grid] {
    display: grid;
    grid-gap: calc(var(--gap) / 2);
    gap: calc(var(--gap) / 2);
  }
}
@media (max-width: 63.99em) {
  .grid-content swiper-container[data-mobile-layout=grid] ::slotted(swiper-slide) {
    grid-column: span var(--column-count-mobile);
  }
}
@media (min-width: 48em) and (max-width: 63.99em) {
  .grid-content swiper-container[data-mobile-layout=grid] ::slotted(swiper-slide) {
    grid-column: span var(--column-count-tablet);
  }
}
@media (max-width: 63.99em) {
  .grid-content swiper-container[data-mobile-layout=grid]::part(wrapper) {
    display: grid;
    grid-template-columns: repeat(var(--column-count-mobile), minmax(0, 1fr));
    grid-gap: calc(var(--gap) / 2);
    gap: calc(var(--gap) / 2);
  }
}
@media (min-width: 48em) and (max-width: 63.99em) {
  .grid-content swiper-container[data-mobile-layout=grid]::part(wrapper) {
    display: grid;
    grid-template-columns: repeat(var(--column-count-tablet), minmax(0, 1fr));
    grid-gap: calc(var(--gap) / 2);
    gap: calc(var(--gap) / 2);
  }
}
@media (min-width: 64em) {
  .grid-content swiper-container[data-desktop-layout=grid] {
    display: grid;
    grid-gap: var(--gap);
    gap: var(--gap);
  }
  .grid-content swiper-container[data-desktop-layout=grid]::part(wrapper) {
    display: grid;
    grid-template-columns: repeat(var(--column-count-desktop), minmax(0, 1fr));
    grid-gap: var(--gap);
    gap: var(--gap);
  }
  .grid-content swiper-container[data-desktop-layout=grid] ::slotted(swiper-slide) {
    grid-column: span var(--column-count-desktop);
  }
}

.collage {
  display: grid;
  grid-gap: calc(var(--gap) / 2);
  gap: calc(var(--gap) / 2);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: min-content;
}
@media (min-width: 64em) {
  .collage {
    gap: var(--gap);
  }
  .collage.collage--blocks-4, .collage.collage--blocks-5 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media (min-width: 64em) {
  .collage--large_left > *:first-child {
    aspect-ratio: auto !important;
  }
  .collage--large_left > *:first-child {
    grid-column: 1/span 1;
    height: 100%;
    grid-row: span 2;
  }
  .collage--large_left > *:first-child > div,
  .collage--large_left > *:first-child .figure,
  .collage--large_left > *:first-child .figure--video,
  .collage--large_left > *:first-child .figure--external_video {
    aspect-ratio: auto !important;
  }
  .collage--large_left > *:first-child > div,
  .collage--large_left > *:first-child .figure,
  .collage--large_left > *:first-child .figure--video,
  .collage--large_left > *:first-child .figure--external_video {
    height: 100%;
  }
  .collage--large_left > *:first-child .banner__wrapper {
    aspect-ratio: auto !important;
  }
  .collage--large_left > *:first-child .banner__wrapper {
    height: 100%;
  }
}
@media (min-width: 64em) {
  .collage--large_left.collage--blocks-4 > *:first-child, .collage--large_left.collage--blocks-5 > *:first-child {
    grid-column: 1/span 2;
  }
}
@media (max-width: 63.99em) {
  .collage--large_left.collage--blocks-3 > *:first-child, .collage--large_left.collage--blocks-5 > *:first-child {
    grid-column: 1/span 2;
  }
}
@media (min-width: 64em) {
  .collage--large_left.collage--blocks-4 > *:last-child {
    grid-column: 3/span 2;
  }
}
@media (min-width: 64em) {
  .collage--large_right > *:first-child {
    aspect-ratio: auto !important;
  }
  .collage--large_right > *:first-child {
    grid-column: 2/span 1;
    grid-row: 1/span 2;
    height: 100%;
  }
  .collage--large_right > *:first-child > div,
  .collage--large_right > *:first-child .figure,
  .collage--large_right > *:first-child .figure--video,
  .collage--large_right > *:first-child .figure--external_video {
    aspect-ratio: auto !important;
  }
  .collage--large_right > *:first-child > div,
  .collage--large_right > *:first-child .figure,
  .collage--large_right > *:first-child .figure--video,
  .collage--large_right > *:first-child .figure--external_video {
    height: 100%;
  }
  .collage--large_right > *:first-child .banner__wrapper {
    aspect-ratio: auto !important;
  }
  .collage--large_right > *:first-child .banner__wrapper {
    height: 100%;
  }
}
@media (min-width: 64em) {
  .collage--large_right.collage--blocks-4 > *:first-child, .collage--large_right.collage--blocks-5 > *:first-child {
    grid-column: 3/span 2;
  }
}
@media (max-width: 63.99em) {
  .collage--large_right.collage--blocks-3 > *:first-child, .collage--large_right.collage--blocks-5 > *:first-child {
    grid-column: span 2;
  }
}
@media (min-width: 64em) {
  .collage--large_right.collage--blocks-4 > *:nth-child(4) {
    grid-column: 1/span 2;
  }
}
.collage.collage--blocks-1 > *, .collage.collage--blocks-2 > * {
  grid-row: span 1;
}
.collage figure,
.collage figure > div {
  height: 100%;
}
.collage .card > a {
  display: flex;
  flex-direction: column;
}
.collage .card > a figure {
  flex: 1;
}

.grid-archive .section__wrapper--background {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.grid-archive__header {
  display: block;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  z-index: 2;
  top: -1px;
}
.grid-archive__header.sticky-subheader {
  position: sticky;
}
.grid-archive__header + .grid-archive {
  margin-top: 1.6rem;
}
.grid-archive__header__inner-container {
  background: transparent;
  border-bottom: 1px solid transparent;
  padding: 1.6rem 0;
  transition: 0.25s;
}
.is-sticky .grid-archive__header__inner-container, .sticky--stuck .grid-archive__header__inner-container {
  background: var(--color-background-body);
  border-bottom: 1px solid var(--color-border);
  border-bottom-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
}
@media (max-width: 63.99em) {
  .grid-archive__header__inner-container {
    padding: 1.2rem 0;
  }
}
.grid-archive__header.is-sticky, .grid-archive__header.sticky--stuck {
  box-shadow: 0 2rem 3rem -2rem rgba(52, 64, 84, 0.08);
}
#nav-wrapper.header-visible ~ .grid-archive__header.is-sticky, #nav-wrapper.header-visible ~ .grid-archive__header.sticky--stuck {
  box-shadow: 0 !important;
}
.grid-archive__header .container {
  display: flex;
  gap: 0.8rem;
}
.grid-archive__filter-triggers {
  display: flex;
  -moz-column-gap: 0.8rem;
       column-gap: 0.8rem;
}
@media (max-width: 63.99em) {
  .grid-archive__filter-triggers {
    justify-content: space-between;
    flex: 1;
  }
}
.grid-archive__content {
  display: grid;
  grid-gap: calc(var(--gap) / 2);
}
@media (min-width: 64em) {
  .grid-archive__content {
    grid-gap: var(--gap);
  }
}
@media (max-width: 63.99em) {
  .grid-archive__content--one-column {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-archive__content--one-column .banner {
    grid-column: span 1 !important;
  }
}
@media (max-width: 63.99em) {
  .grid-archive__content--two-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 64em) {
  .grid-archive__content--three-column {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 64em) {
  .grid-archive__content--four-column {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.grid-archive__content .banner {
  height: 100%;
  width: 100%;
}
.grid-archive__content .banner.banner--large {
  grid-column: span 2;
  grid-row: 2;
}
.grid-archive__content .banner.banner--small {
  grid-column: span 1;
  grid-column-end: -1;
  grid-row: 4;
}
.grid-archive__content .banner.banner--small .banner__wrapper > div {
  padding: 1.6rem;
}
@media (min-width: 64em) {
  .grid-archive__content .banner.banner--small .banner__wrapper > div {
    padding: 2.4rem;
  }
}
.grid-archive__content .banner .banner__wrapper {
  aspect-ratio: inherit;
  overflow: hidden;
  height: 100%;
  width: 100%;
}
.grid-archive__subnav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media (min-width: 64em) {
  .grid-archive__subnav {
    gap: 3rem;
  }
}
.grid-archive__subnav .sort-by {
  position: relative;
}
@media (max-width: 63.99em) {
  .grid-archive__subnav .sort-by {
    display: none;
  }
}
.grid-archive__subnav .sort-by select {
  color: var(--color-input-text);
  padding: 0.8rem 4.6rem 0.8rem 1.6rem;
  cursor: pointer;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2.4rem;
  border: 1px solid var(--color-input-border);
  background-color: var(--color-input-background);
  box-shadow: 0 0.4rem 1rem rgba(74, 74, 74, 0.01);
  border-radius: var(--border-radius);
  cursor: pointer;
  outline-offset: 0;
}
.grid-archive__subnav .sort-by span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
  color: var(--color-input-text);
  pointer-events: none;
}
.grid-archive__subnav .cols {
  display: flex;
  align-items: center;
}
@media (min-width: 64em) {
  .grid-archive__subnav .cols .one-col,
  .grid-archive__subnav .cols .two-col {
    display: none;
  }
}
@media (max-width: 63.99em) {
  .grid-archive__subnav .cols .three-col,
  .grid-archive__subnav .cols .four-col {
    display: none;
  }
}
.grid-archive__subnav .cols p {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.25;
  margin: 0 0.8rem 0 0;
  white-space: nowrap;
}
@media (max-width: 63.99em) {
  .grid-archive__subnav .cols p {
    display: none;
  }
}
.grid-archive__subnav .cols svg {
  width: auto;
  height: 4rem;
  cursor: pointer;
  padding: 0.8rem 0.4rem;
}
.grid-archive__subnav .cols svg path,
.grid-archive__subnav .cols svg rect {
  fill: var(--color-icon);
  transition: 0.2s;
}
.grid-archive__subnav .cols svg.active path,
.grid-archive__subnav .cols svg.active rect {
  fill: var(--color-icon-hover);
}
.grid-archive__subnav .cols svg:hover path,
.grid-archive__subnav .cols svg:hover rect, .grid-archive__subnav .cols svg:active path,
.grid-archive__subnav .cols svg:active rect, .grid-archive__subnav .cols svg:focus path,
.grid-archive__subnav .cols svg:focus rect {
  fill: var(--color-icon-hover);
}
@media (max-width: 63.99em) {
  .grid-archive__subnav .cols svg {
    height: 3.2rem;
    padding: 0.4rem;
  }
}
.grid-archive__subnav .cols + .sort-by {
  margin: 0 0 0 3rem;
}
@media (max-width: 63.99em) {
  .grid-archive__subnav facet-filters-form {
    display: none;
  }
}
@media (max-width: 63.99em) {
  .grid-archive__subnav--mobile-full {
    flex: 1;
    justify-content: space-between;
  }
  .grid-archive__subnav--mobile-full facet-filters-form, .grid-archive__subnav--mobile-full .sort-by {
    display: block;
  }
  .grid-archive__subnav--mobile-full .sort-by select {
    padding: 0.4rem 4rem 0.4rem 1.6rem;
  }
}
.grid-archive__filters-container {
  transition: margin-left 0.3s, opacity 0.3s;
}
@media (max-width: 63.99em) {
  .grid-archive__filters-container {
    position: fixed !important;
  }
  .grid-archive__filters-container {
    left: -9999px;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 30;
    background: rgba(255, 255, 255, 0);
    padding: 1.2rem;
    overflow-y: auto;
    transition: left 0s 0.3s, background 0.3s 0s;
  }
}
.grid-archive__filters-container .facets {
  display: block;
}
@media (max-width: 63.99em) {
  .grid-archive__filters-container .facets {
    transform: translateY(2rem);
    opacity: 0;
    transition: transform 0.3s, opacity 0.3s;
  }
}
@media (max-width: 63.99em) {
  .grid-archive__filters-container .facets {
    background: var(--color-background-alt);
  }
}
@media (min-width: 64em) {
  .grid-archive__filters-container {
    width: 25%;
    margin-left: -25%;
    padding-right: var(--gap);
    opacity: 0;
    pointer-events: none;
  }
}
.grid-archive__products-grid-container {
  transition: all 0.2s;
  opacity: 1;
  width: 100%;
}
.grid-archive__products-grid-container.loading {
  opacity: 0.4;
}
.grid-archive__main-container {
  display: flex;
  justify-content: center;
}
@media (max-width: 63.99em) {
  .grid-archive__main-container-mobile--filters-shown .grid-archive__filters-container {
    left: 0;
    transition: left 0s 0s, background 0.3s 0s;
  }
  .grid-archive__main-container-mobile--filters-shown .grid-archive__filters-container .facets {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width: 64em) {
  .grid-archive__main-container--filters-shown .grid-archive__filters-container {
    margin-left: 0;
    opacity: 1;
    pointer-events: all;
  }
}
@media (min-width: 64em) {
  .grid-archive__main-container--filters-shown .grid-archive__products-grid-container {
    width: 100%;
  }
}
.grid-archive__no-results {
  text-align: center;
  grid-column: span 4;
  padding: 24rem 8rem;
  background: var(--color-background-alt);
  border-radius: var(--border-radius);
  color: var(--color-text);
}
.grid-archive p.nothing_found {
  padding: 6.4rem;
  text-align: center;
  grid-column: span 4;
  background: var(--color-background-alt);
  border-radius: var(--border-radius);
  color: var(--color-text);
}
.grid-archive p.nothing_found strong {
  display: block;
}
.grid-archive #FacetSearchForm {
  margin: 1.6rem 0;
}

.template-search .grid-archive__outer-container h1 {
  margin: 8rem 0;
}

#blog-content {
  scroll-margin: 150px;
}

.shopify-section.blog, .shopify-section.collection {
  padding: 1.6rem 0;
  overflow: visible;
}

.main-product {
  position: relative;
  overflow: visible;
}
.main-product__gallery-controls {
  display: none;
}
.main-product__tax-policy {
  font-style: italic;
  margin: 0.4rem 0 0;
  text-transform: var(--font-body-transform);
}
.main-product__tax-policy a:not(:hover) {
  color: inherit;
}
.main-product.slider-enabled .main-product__gallery-controls {
  display: flex;
  justify-content: space-between;
  font-size: 1.2rem;
  padding: 0.8rem 0 0 0;
  margin: 0.8rem 0 0 0;
  position: relative;
}
@media (max-width: 63.99em) {
  .main-product.slider-enabled .main-product__gallery-controls {
    margin: 0.8rem 0 0 -1.6rem;
  }
}
.main-product.slider-enabled .main-product__gallery-controls .swiper-scrollbar {
  position: absolute !important;
}
@media (max-width: 63.99em) {
  .main-product.slider-enabled .container--full_bleed .main-product__gallery-controls {
    padding: 0 calc(var(--gap) / 2);
  }
}
.main-product.slider-enabled .main-product__gallery figure {
  margin: 0 !important;
  cursor: grab !important;
}
@media (min-width: 64em) {
  .main-product .container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-gap: var(--gap);
  }
}
@media (min-width: 64em) {
  .main-product .container.gallery--right .main-product__media {
    order: 2;
  }
}
@media (min-width: 64em) {
  .main-product .container.left {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  }
}
@media (min-width: 64em) {
  .main-product .container.right {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
}
@media (min-width: 64em) {
  .main-product .container.gallery--desktop-style-none {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
.main-product .container--full_bleed .container {
  grid-gap: 0;
}
.main-product .swiper-thumbnails {
  position: relative;
}
.main-product .swiper-thumbnails .swiper {
  height: 100%;
  width: 60px;
}
@media (max-width: 63.99em) {
  .main-product .swiper-thumbnails .swiper {
    width: 100%;
    height: 60px;
  }
}
@media (min-width: 64em) {
  .main-product .swiper-thumbnails .swiper .swiper-wrapper {
    flex-direction: column;
  }
}
.main-product .swiper-thumbnails .swiper .swiper-slide {
  height: 60px;
  width: 60px;
  opacity: 0.4;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.main-product .swiper-thumbnails .swiper .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
}
.main-product .swiper-thumbnails .swiper .swiper-slide figure {
  margin: 0;
  height: 100%;
  width: 100%;
}
.main-product .swiper-thumbnails-nav {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}
@media (min-width: 64em) {
  .main-product .swiper-thumbnails-nav {
    flex-direction: column;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    z-index: 1;
  }
}
.main-product .swiper-thumbnails-nav .icon {
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.3s ease;
}
.main-product .swiper-thumbnails-nav .icon:hover {
  opacity: 1;
}
.main-product__media {
  position: relative;
}
@media (max-width: 63.99em) {
  .main-product__media {
    padding: 0 0 1.6rem 0;
    margin: 0 -1.6rem 0 0;
  }
  .main-product__media[\:has\(.swiper\[data-mobile-slides-per-view\%3D\%221\%22\]\)], .main-product__media[\:has\(.swiper\[data-mobile-slides-per-view\%3D\%222\%22\]\)], .main-product__media[\:has\(.swiper\[data-mobile-slides-per-view\%3D\%223\%22\]\)], .main-product__media[\:has\(.swiper\[data-mobile-slides-per-view\%3D\%224\%22\]\)], .main-product__media[\:has\(.swiper\[data-mobile-slides-per-view\%3D\%225\%22\]\)] {
    margin: 0;
  }
  .main-product__media:has(.swiper[data-mobile-slides-per-view="1"]), .main-product__media:has(.swiper[data-mobile-slides-per-view="2"]), .main-product__media:has(.swiper[data-mobile-slides-per-view="3"]), .main-product__media:has(.swiper[data-mobile-slides-per-view="4"]), .main-product__media:has(.swiper[data-mobile-slides-per-view="5"]) {
    margin: 0;
  }
  .container--full_bleed .main-product__media {
    margin: 0;
  }
}
.main-product__media-wrapper {
  position: relative;
}
@media (max-width: 63.99em) {
  .main-product__media-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    overflow: hidden;
  }
  .main-product__media-wrapper .swiper-thumbnails {
    order: 2;
  }
}
@media (min-width: 64em) {
  .main-product__media-wrapper .swiper-thumbnails + .main-product__media-gallery {
    width: calc(100% - 68px);
    margin-left: 68px;
  }
}
.main-product__content {
  z-index: 1;
}
.main-product swiper-container figure {
  border-radius: var(--border-radius);
}
@media (min-width: 64em) {
  .main-product swiper-container {
    overflow: hidden;
  }
}
@media (min-width: 64em) {
  .main-product swiper-container[data-desktop-layout=one-column-first]::part(wrapper), .main-product swiper-container[data-desktop-layout=one-column]::part(wrapper), .main-product swiper-container[data-desktop-layout=two-column]::part(wrapper) {
    flex-direction: column;
    grid-gap: 1.6rem;
  }
}
@media (max-width: 63.99em) {
  .main-product swiper-container[data-mobile-layout=one-column-first]::part(wrapper), .main-product swiper-container[data-mobile-layout=one-column]::part(wrapper), .main-product swiper-container[data-mobile-layout=two-column]::part(wrapper) {
    flex-direction: column;
    grid-gap: 1.6rem;
  }
}
@media (min-width: 64em) {
  .main-product swiper-container[data-desktop-layout=one-column-first]::part(wrapper), .main-product swiper-container[data-desktop-layout=two-column]:not([data-variant-style=variant])::part(wrapper) {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .main-product swiper-container[data-desktop-layout=one-column-first] .main-product__gallery-item, .main-product swiper-container[data-desktop-layout=two-column]:not([data-variant-style=variant]) .main-product__gallery-item {
    flex: 0 calc(50% - 0.8rem);
    width: 50%;
    margin: 0;
  }
  .main-product swiper-container[data-desktop-layout=one-column-first] .main-product__gallery-item figure, .main-product swiper-container[data-desktop-layout=two-column]:not([data-variant-style=variant]) .main-product__gallery-item figure {
    margin: 0;
  }
}
@media (max-width: 63.99em) {
  .main-product swiper-container[data-mobile-layout=one-column-first]::part(wrapper), .main-product swiper-container[data-mobile-layout=two-column]:not([data-variant-style=variant])::part(wrapper) {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .main-product swiper-container[data-mobile-layout=one-column-first] .main-product__gallery-item, .main-product swiper-container[data-mobile-layout=two-column]:not([data-variant-style=variant]) .main-product__gallery-item {
    flex: 0 calc(50% - 0.8rem);
    width: 50%;
    margin: 0;
  }
  .main-product swiper-container[data-mobile-layout=one-column-first] .main-product__gallery-item figure, .main-product swiper-container[data-mobile-layout=two-column]:not([data-variant-style=variant]) .main-product__gallery-item figure {
    margin: 0;
  }
}
@media (min-width: 64em) {
  .main-product swiper-container[data-desktop-layout=one-column-first] .main-product__gallery-item:first-child {
    flex: 0 100%;
    width: 100%;
    margin: 0;
  }
}
@media (max-width: 63.99em) {
  .main-product swiper-container[data-mobile-layout=one-column-first] .main-product__gallery-item:first-child {
    flex: 0 100%;
    width: 100%;
    margin: 0;
  }
}
.main-product swiper-container.zoom-lightbox figure {
  cursor: zoom-in;
}
.main-product__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.main-product__title div {
  display: flex;
}
.main-product__title div h1 {
  color: var(--color-heading);
  margin: 0;
}
.main-product__title div:first-child {
  flex-direction: column;
}
.main-product__title + .main-product__price {
  margin: -0.8rem 0 1.6rem 0;
}
@media (min-width: 64em) {
  .main-product__title + .main-product__price {
    margin: -1.6rem 0 2.4rem 0;
  }
}
@media (max-width: 63.99em) {
  .main-product__blocks {
    position: relative !important;
  }
}
.main-product__blocks shopify-payment-terms {
  font-size: 1.2rem;
}
.main-product__blocks > * {
  margin: 1.6rem 0;
}
@media (min-width: 64em) {
  .main-product__blocks > * {
    margin: 2.4rem 0;
  }
}
.main-product__blocks > *:first-child {
  margin-top: 0;
}
.main-product__blocks .accordion + .accordion {
  margin-top: -0.8rem;
}
.main-product__blocks .price {
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.5;
  font-weight: 500;
}
.main-product__blocks variant-selects {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media (min-width: 64em) {
  .main-product__blocks .c-icons-product__icon {
    flex-direction: row;
    text-align: left;
  }
}
.main-product__blocks .c-icons-product__description {
  font-size: 1.3rem;
  padding: 0 0 0 0.8rem;
}
.main-product__blocks .c-icons-product__description strong {
  line-height: 1.25;
}
@media (max-width: 63.99em) {
  .main-product__blocks .c-icons-product__description {
    padding: 0.8rem 0 0 0;
  }
}
.main-product__blocks:not(.sticky) {
  margin-top: 0 !important;
}
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app__title {
  margin: 0 0 0.8rem 0 !important;
}
.main-product__blocks .shopify_subscriptions_fieldset > div {
  border-radius: var(--border-radius) !important;
}
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label label input {
  margin: 0 0.8rem 0 0;
}
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label ul {
  padding: 0.8rem 0 !important;
}
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_block_label ul li:not(:last-child) {
  margin: 0.8rem 0;
}
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_policy {
  margin: 0.8rem 0 0 0 !important;
}
.main-product__blocks .shopify_subscriptions_fieldset .shopify_subscriptions_app_policy {
  display: block;
}
.main-product__blocks truncatable-content .shrink,
.main-product__blocks truncatable-content .expand {
  padding: 0.8rem 0;
}
.main-product__add-to-cart {
  margin-top: 0.8rem;
}
.main-product__add-to-cart form {
  margin: 0 0 2.4rem 0;
}
.main-product__rating {
  margin: 0;
}
.main-product__description p:last-of-type {
  margin: 0;
}
.main-product__fieldset {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.8rem;
  padding: 0;
  margin: 0;
}
.main-product__fieldset fieldset {
  width: 100%;
}
.main-product__fieldset legend {
  margin: 0.8rem 1.6rem 0 0;
  min-width: 8rem;
}
.main-product__fieldset input[type=radio] {
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  position: absolute;
  height: 0;
  width: 0;
}
.main-product__fieldset label {
  margin: 0;
}
.main-product__fieldset--pills {
  display: flex;
  flex-wrap: nowrap;
}
.main-product__fieldset--pills div.variant_options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: flex-start;
}
.main-product__fieldset--image_swatches div.variant_options, .main-product__fieldset--color_swatches div.variant_options {
  display: grid;
  flex: 1;
  grid-gap: 0.8rem;
}
.main-product__dropdown {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.main-product__quantity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.6rem;
}
.main-product__quantity .quantity-picker {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.main-product__error {
  display: flex;
  align-items: center;
  padding: 0.8rem;
  font-size: 1.2rem;
}
.main-product__error p {
  margin: 0 0 0 0.8rem;
}

.shopify-model-viewer-ui {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pdp-lightbox {
  position: fixed;
  top: 0;
  left: -9999px;
  width: 100vw;
  height: 100%;
  background: var(--color-background-body);
  z-index: -1;
  padding: 0 0 4rem;
  overflow: auto;
  opacity: 0;
  left: 0;
  transition: all 0.16s;
}
.pdp-lightbox__close-container {
  position: fixed;
  width: 100vw;
  top: 0;
  left: -100%;
  z-index: 2;
}
.pdp-lightbox__close {
  margin-left: auto;
  display: block;
  margin: 4.8rem 0.8rem 0 auto;
  position: relative;
  background-color: var(--color-background-button-primary);
  color: var(--color-text-button-primary);
  border: 1px solid var(--color-border-button-primary);
  border-radius: 100%;
  width: 4rem;
  height: 4rem;
  line-height: 1rem;
  transform: scale(1);
  transition: all 0.4s;
}
.pdp-lightbox__close .icon {
  color: var(--color-text-button-primary);
}
.pdp-lightbox__close:hover, .pdp-lightbox__close:active, .pdp-lightbox__close:focus {
  transform: scale(1.08);
  background-color: var(--color-background-button-primary-hover);
  color: var(--color-text-button-primary-hover);
  border-color: var(--color-border-button-primary-hover);
}
.pdp-lightbox__close:hover .icon, .pdp-lightbox__close:active .icon, .pdp-lightbox__close:focus .icon {
  color: var(--color-text-button-primary-hover);
}
.pdp-lightbox .container {
  display: block;
}
.pdp-lightbox figure {
  margin: var(--gap);
  border-radius: var(--border-radius);
}
@media (min-width: 64em) {
  .pdp-lightbox figure {
    margin: var(--gap);
  }
}
.pdp-lightbox figure img,
.pdp-lightbox figure svg {
  cursor: zoom-out;
  height: 100%;
}
.pdp-lightbox--open {
  left: 0;
  opacity: 1;
  visibility: visible;
  z-index: 100;
}
.pdp-lightbox--open .pdp-lightbox__close-container {
  left: 0;
}

.sticky-add-to-cart {
  display: block !important;
}

.sticky-add-to-cart {
  pointer-events: none;
  z-index: 19;
  left: 0;
  width: 100%;
  height: 0;
}
@media (max-width: 63.99em) {
  .sticky-add-to-cart {
    bottom: -1px;
    position: fixed;
    z-index: 999999;
  }
}
@media (min-width: 64em) {
  .sticky-add-to-cart {
    top: 0;
    position: sticky;
  }
}
.sticky-add-to-cart__inner {
  background: var(--color-background-body);
  opacity: 0;
  transition: transform 0.3s, opacity 0.3s;
}
@media (min-width: 64em) {
  .sticky-add-to-cart__inner {
    transform: translateY(-100%);
  }
}
.sticky-add-to-cart .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: calc(var(--gap) / 2);
  width: 100%;
}
@media (min-width: 64em) {
  .sticky-add-to-cart .container {
    padding: calc(var(--gap) / 2) calc(var(--gap));
  }
}
.sticky-add-to-cart.active {
  pointer-events: auto;
}
.sticky-add-to-cart.active .sticky-add-to-cart__inner {
  opacity: 1;
  box-shadow: 0 0 4rem -0.4rem rgba(52, 64, 84, 0.08);
}
@media (max-width: 63.99em) {
  .sticky-add-to-cart.active .sticky-add-to-cart__inner {
    transform: translateY(-100%);
  }
}
@media (min-width: 64em) {
  .sticky-add-to-cart.active .sticky-add-to-cart__inner {
    transform: translateY(0);
  }
}
.sticky-add-to-cart__meta {
  display: none;
}
@media (min-width: 64em) {
  .sticky-add-to-cart__meta {
    display: flex;
    align-items: center;
  }
}
.sticky-add-to-cart__meta svg, .sticky-add-to-cart__meta img {
  width: 6.6rem;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--border-radius);
  margin: 0 1.6rem 0 0;
}
.sticky-add-to-cart__meta .price {
  width: -moz-fit-content;
  width: fit-content;
}
.sticky-add-to-cart__controls {
  display: none;
}
@media (min-width: 64em) {
  .sticky-add-to-cart__controls {
    display: flex;
    align-items: flex-end;
    -moz-column-gap: 0.8rem;
         column-gap: 0.8rem;
  }
}
.sticky-add-to-cart__controls .shopify-payment-button {
  display: none !important;
}
.sticky-add-to-cart__controls variant-selects {
  display: flex;
  -moz-column-gap: 0.8rem;
       column-gap: 0.8rem;
}
.sticky-add-to-cart__controls variant-selects .main-product__dropdown {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
}
.sticky-add-to-cart__mobile-controls {
  width: 100%;
}
@media (min-width: 64em) {
  .sticky-add-to-cart__mobile-controls {
    display: none;
  }
}

.hero {
  overflow: visible !important;
}
.hero .grid-content__header {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.hero__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.hero__side-image {
  position: relative;
  border-radius: var(--border-radius);
  margin: 0.8rem 0;
  overflow: hidden;
  height: auto;
  max-height: 80rem;
  min-height: 20rem;
}
.hero__side-image:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.hero--image-left .hero__side-image {
  grid-column: 1;
  grid-row: 1;
}
.hero__wrapper {
  max-width: 100%;
  display: flex;
  flex-direction: column;
  z-index: 2;
  position: relative;
  gap: calc(var(--gap) / 2);
}
.section--with-background .hero__wrapper {
  padding: 1.6rem;
}
.hero__wrapper .grid-content__header > * {
  margin: 0;
}
.hero__wrapper > * {
  position: relative;
  padding: 0;
  margin: 0;
}
.hero__wrapper.align-right {
  text-align: right;
  align-items: flex-end;
}
.hero__wrapper.align-right .tags,
.hero__wrapper.align-right .usp,
.hero__wrapper.align-right .hero__ui-share-print,
.hero__wrapper.align-right .breadcrumbs nav ol {
  justify-content: flex-end;
}
.hero__wrapper.align-right .hero__meta {
  flex-direction: row-reverse;
}
.hero__wrapper.align-right a[class^=button],
.hero__wrapper.align-right a[class*=" button"] {
  align-self: flex-end;
}
.hero__wrapper.align-right .wysiwyg ul, .hero__wrapper.align-right .shopify-policy__container ul,
.hero__wrapper.align-right .wysiwyg ol,
.hero__wrapper.align-right .shopify-policy__container ol {
  display: table;
  margin-left: auto;
}
.hero__wrapper.align-center {
  text-align: center;
  align-items: center;
}
.hero__wrapper.align-center h1 {
  margin-left: auto !important;
  margin-right: auto !important;
}
.hero__wrapper.align-center .hero__meta,
.hero__wrapper.align-center .tags,
.hero__wrapper.align-center .usp,
.hero__wrapper.align-center .hero__ui-share-print,
.hero__wrapper.align-center .breadcrumbs nav ol {
  justify-content: center;
}
.hero__wrapper.align-center .hero__meta {
  gap: 3.2rem;
}
.hero__wrapper.align-center a[class^=button],
.hero__wrapper.align-center a[class*=" button"] {
  align-self: center;
}
.hero__wrapper.align-center .wysiwyg ul, .hero__wrapper.align-center .shopify-policy__container ul,
.hero__wrapper.align-center .wysiwyg ol,
.hero__wrapper.align-center .shopify-policy__container ol {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.hero__bg {
  z-index: 0;
  border-radius: var(--border-radius);
}
.container--full_bleed .hero__bg {
  border-radius: 0;
}
@media (min-width: 64em) {
  .hero__bg--mobile {
    display: none;
  }
}
@media (max-width: 63.99em) {
  .hero__bg--mobile + .hero__bg--desktop {
    display: none;
  }
}
.hero__ui-share-print {
  display: flex;
  margin: 0 0 0 -1.2rem;
}
.hero__ui-share-print .ui-share-print ul {
  left: 1.6rem;
}
.hero__ui-share-print a + .ui-share-print ul {
  left: 0;
}
.hero .breadcrumbs .container {
  padding: 0;
  color: var(--color-text);
  max-width: 100%;
}
.hero .breadcrumbs .container.section__wrapper--background {
  padding: 1.6rem !important;
}
@media (min-width: 64em) {
  .hero .breadcrumbs .container.section__wrapper--background {
    padding: 2.4rem !important;
  }
}
.hero .breadcrumbs .container ol li a {
  color: var(--color-text);
  transition: 0.2s;
}
.hero .breadcrumbs .container ol li a:hover {
  color: var(--color-text-links-hover) !important;
}
.hero .breadcrumbs .container ol li a[aria-current] {
  color: var(--color-text-button-secondary) !important;
}
.hero .breadcrumbs .container ol li a[aria-current] {
  background-color: var(--color-background-button-secondary);
  border-radius: var(--border-radius);
  padding: 0.4rem 0.8rem;
  transition: 0.2s;
}
.hero .breadcrumbs .container ol li a[aria-current]:hover {
  color: var(--color-text-button-secondary-hover) !important;
}
.hero .breadcrumbs .container ol li a[aria-current]:hover {
  background-color: var(--color-background-button-secondary-hover);
}
@media (min-width: 64em) {
  .hero--one-col .hero__description,
  .hero--one-col .heading__section > * {
    max-width: 60%;
  }
}
@media (max-width: 63.99em) {
  .hero--one-col .alignment-horizontal-mobile--center .hero__description,
  .hero--one-col .alignment-horizontal-mobile--center .heading__section > * {
    margin: 0 auto;
  }
  .hero--one-col .alignment-horizontal-mobile--right .hero__description,
  .hero--one-col .alignment-horizontal-mobile--right .heading__section > * {
    margin-left: auto;
  }
}
@media (min-width: 64em) {
  .hero--one-col .alignment-horizontal--center .hero__description,
  .hero--one-col .alignment-horizontal--center .heading__section > * {
    margin: 0 auto;
  }
  .hero--one-col .alignment-horizontal--right .hero__description,
  .hero--one-col .alignment-horizontal--right .heading__section > * {
    margin-left: auto;
  }
}
.hero--two-col {
  display: grid;
  align-items: center;
  grid-auto-columns: 100%;
  grid-gap: 2.4rem;
}
.hero--two-col .img-placeholder,
.hero--two-col video,
.hero--two-col img {
  height: auto;
  max-height: 80rem;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: var(--border-radius);
}
@media (min-width: 64em) {
  .hero--two-col {
    grid-template-columns: repeat(auto-fit, minmax(calc(50% - 8rem), 1fr));
    grid-gap: 4.8rem;
  }
}
.hero--two-col .hero__wrapper {
  width: 100%;
}
.hero-basic h1 {
  color: inherit;
}

.logos__wrapper {
  border-radius: var(--border-radius);
  display: flex;
  gap: calc(var(--gap) / 2);
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media (min-width: 64em) {
  .logos__wrapper {
    gap: var(--gap);
    justify-content: space-between;
  }
}
.logos .button, .logos .button--default, .logos .button--primary, .logos .button--inverted, .logos .button--secondary, .logos .button--xs, .logos .button--xs-inverted, .logos .button--xs-secondary, .logos .button--sm, .logos .button--sm-inverted, .logos .button--sm-secondary, .logos .button--lg, .logos .button--lg-inverted, .logos .button--lg-secondary, .logos .button--xl, .logos .button--xl-inverted, .logos .button--xl-secondary, .logos .button--add-to-cart--inverted, .logos .button--add-to-cart--secondary, .logos .button--pill, .logos .button--circle, .logos .shopify-payment-button button, .shopify-payment-button .logos button {
  white-space: nowrap;
  align-self: auto;
}
.logos__logo {
  overflow: visible;
  flex: 0 calc(100% / var(--mobile-column-count-logo-list) - var(--gap) / 2);
}
@media (min-width: 64em) {
  .logos__logo {
    flex: 0 calc(100% / var(--desktop-column-count-logo-list) - var(--gap));
  }
}
@media (max-width: 63.99em) {
  .logos__logo--text-only {
    flex: 0 100%;
  }
  .container--full_bleed .logos__logo--text-only {
    padding: 0 1.2rem;
  }
}
.logos__logo--image {
  text-align: center;
}
.logos__logo img {
  scale: 1;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  transition: all 0.2s;
}
.logos__logo img + p {
  margin: 0.8rem 0 0 0;
}
.logos__logo a {
  display: inline-block;
}
.logos__logo a:hover img, .logos__logo a:active img, .logos__logo a:focus img {
  scale: 1.04;
}
@media (max-width: 63.99em) {
  .logos__logo--fill-mobile {
    flex: 0 100%;
  }
  .container--full_bleed .logos__logo--fill-mobile {
    padding: 0 1.2rem;
  }
}
.logos__placeholder {
  background-color: #f1f1f1;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0JBQWdCO0FDZWhCO0VBQ0U7RUFDQTtBRGJGOztBQ2dCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEYkY7O0FFWkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7RUFDQTtBRmVGOztBRVpBO0VBQ0U7RUFDQTtBRmVGOztBRVpBOzs7RUFHRTtFQUNBO0FGZUY7O0FFWkE7O0VBRUU7RUFDQTtBRmVGOztBRVpBO0VBQ0U7RUFDQTtBRmVGOztBRVJBO0VBQ0U7RUFDQTtFQUNBO0FGV0Y7O0FFUkE7O0VBRUU7QUZXRjs7QUVSQTtFQUNFO0FGV0Y7O0FFUkE7RUFDRTtBRldGO0FFVEU7RUFDRTtBRldKOztBRVBBO0VBQ0U7QUZVRjs7QUVQQTtFQUNFO0FGVUY7O0FFUEE7RUFDRTtFQUVBO0VBQ0E7RUFBQTtVQUFBO0FGU0Y7O0FFTkE7RUFDRTtFQUNBO0FGU0Y7O0FFTkE7O0VBRUU7QUZTRjs7QUVOQTs7OztFQUlFO0FGU0Y7O0FFTkE7RUFDRTtFQUNBO0FGU0Y7O0FFTkE7O0VBRUU7QUZTRjs7QUVMQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBRlFGOztBRUxBO0VBQ0U7QUZRRjs7QUVMQTtFQUNFO0FGUUY7O0FFTEE7RUFDRTtFQUNBO0FGUUY7O0FFTEE7RUFDRTtBRlFGOztBRURBO0VBQ0U7QUZJRjs7QUVBQTtFQUNFO0FGR0Y7O0FFQUE7O0VBRUU7QUZHRjs7QUVBQTtFQUNFO0VBQ0E7QUZHRjs7QUVBQTtFQUNFO0FGR0Y7O0FFQUE7RUFDRTtFQUNBO0FGR0Y7O0FFQUE7Ozs7O0VBS0U7QUZHRjs7QUVBQTtFQUNFO0FGR0Y7O0FFQUE7RUFDRTtBRkdGOztBRUFBOztFQUVFO0FGR0Y7O0FFQ0E7Ozs7O0VBS0U7QUZFRjs7QUVFQTs7OztFQUlFO0VBQ0E7QUZDRjs7QUVHQTs7OztFQUlFO0FGQUY7O0FFR0E7Ozs7RUFJRTtBRkFGOztBRUlBOzs7O0VBSUU7RUFDQTtBRkRGOztBRUtBO0VBQ0U7RUFDQTtBRkZGOztBRUtBO0VBQ0U7QUZGRjs7QUVLQTtFQUNFO0FGRkY7O0FFS0E7RUFDRTtBRkZGOztBRUtBO0VBQ0U7QUZLRjs7QUVOQTtFQUNFO0FGS0Y7O0FFTkE7RUFFRTtBRklGOztBRU5BO0VBRUU7QUZJRjs7QUVOQTtFQUtFO0FGQ0Y7O0FFTkE7RUFLRTtBRkNGOztBRU5BO0VBTUU7QUZBRjs7QUVOQTtFQU1FO0FGQUY7O0FFTkE7RUFHRTtFQUNBO0VBR0E7RUFDQTtFQUFBO0FGRkY7O0FFS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUZGRjs7QUVLQTtFQUVFO0VBQ0E7RUFDQTtBRkhGOztBRVVBO0VBQ0U7QUZQRjs7QUVXQTtFQUNFO0FGUkY7O0FFZ0JBO0VBQ0U7QUZiRjs7QUVpQkE7RUFDRTtBRmRGOztBRWtCQTtFQUNFO0FGZkY7O0FFa0JBO0VBQ0U7QUZmRjs7QUdoU0E7RUFFRTs7O0lBR0U7SUFDQTtJQUNBO0lBQ0E7RUhrU0Y7RUcvUkE7O0lBRUU7RUhpU0Y7RUc5UkE7SUFDRTtFSGdTRjtFRzdSQTtJQUNFO0VIK1JGO0VHMVJBOztJQUVFO0VINFJGO0VHelJBOztJQUVFO0lBQ0E7RUgyUkY7RUd2UkE7SUFDRTtFSHlSRjtFR3RSQTs7SUFFRTtFSHdSRjtFR3JSQTtJQUNFO0VIdVJGO0VHcFJBOzs7SUFHRTtJQUNBO0VIc1JGO0VHblJBOztJQUVFO0VIcVJGO0VHbFJBOzs7Ozs7Ozs7Ozs7SUFRRTtFSHdSRjtFR3JSQTtJQUNFO0lBQ0E7RUh1UkY7RUdwUkE7SUFDRTtFSHNSRjtBQUNGO0FJeFdBOztFQUVFO0VBQ0E7RUFDQTtBSjBXRjs7QUl2V0E7RUFDRTtFQUNBO0VBQ0E7QUowV0Y7O0FJdldBO0VBQ0U7QUowV0Y7O0FJdldBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QUowV0Y7QUl4V0U7RUFZRTtBSitWSjtBS25WSTtFRFJBO0FKOFZKO0FJMVZRO0VBQ0U7QUo0VlY7O0FJcFZFO0VBQ0U7RUFDQTtBSnVWSjs7QUlsVkE7Ozs7Ozs7Ozs7Ozs7RUFhRTtBSnFWRjs7QUlsVkE7O0VBRUU7RUFDQTtBSnFWRjs7QUloVkE7Ozs7Ozs7O0VBU0U7QUptVkY7O0FJaFZBO0VBQ0U7QUptVkY7O0FJaFZBO0VBQ0U7QUptVkY7O0FJL1VBO0VBQ0U7RUFDQTtBSmtWRjtBSzdZSTtFRDhEQTtBSmtWSjs7QUk1VUE7RUFDRTtFQUNBO0FKK1VGOztBSXpVQTs7Ozs7O0VBTUU7QUo0VUY7O0FNbFNFO0VGdENBO0lBRUk7RUoyVUo7QUFDRjtBTXhTRTtFRmhDQTtJQUVJO0VKMFVKO0FBQ0Y7QU03U0U7RUYxQkE7SUFFSTtFSnlVSjtBQUNGOztBSXJVQTtFQUNFO0FKd1VGOztBSXBVQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSnVVRjtBSzdiSTs7OztFRHlIQTtBSjBVSjtBTXZVRTtFRDVIRTs7OztJRDRIRTtFSjhVSjtBQUNGOztBSTFVQTtFQUNFO0FKNlVGO0FNblZFO0VENUhFO0lEc0lFO0VKNlVKO0FBQ0Y7O0FJelVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKNFVGO0FJMVVFO0VBRUU7RUFDQTtBSjZVSjtBSWhWRTtFQUNFO0VBR0E7QUo0VUo7QUtuZUk7RUQwSkU7QUo0VU47O0FJdlVBO0VBQ0U7RUFDQTtBSjBVRjtBSXhVRTtFQUNFO0FKMFVKO0FJdlVFO0VBQ0U7QUp5VUo7QUlwVUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSnNVSjtBSXBVSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSnNVTjtBSWhVTTtFQUNFO0FKa1VSO0FJaFVRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKa1VWO0FJN1RVO0VBQ0U7RUFDQTtBSitUWjtBSXpUSTtFQUNFO0VBQ0E7QUoyVE47QUluVE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKcVRSO0FJblRRO0VBRUU7QUpvVFY7QUlqVFE7RUFFRTtBSmtUVjtBSS9TUTtFQUNFO0VBQ0E7RUFDQTtBSmlUVjs7QUkxU0E7RUFDRTtFQUNBO0FKNlNGO0FNNWJFO0VGNklGO0lBTUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFSjZTRjtBQUNGO0FJM1NFO0VBQ0U7QUo2U0o7QU14Y0U7RUYwSkE7SUFJSTtJQUNBO0lBQ0E7SUFDQTtFSjhTSjtBQUNGO0FJNVNJO0VBQ0U7QUo4U047QUsva0JJO0VEb1NJO0VBQ0E7QUo4U1I7QU12ZEU7RUY4S0E7SUFHSTtFSjJTSjtFSTlTQTtJQUVJO0VKNFNKO0FBQ0Y7QUl6U0k7RUFDRTtFQUNBO0VBQ0E7QUoyU047QUl6U007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSjJTUjtBSXJTUTtFQUNFO0FKdVNWOztBSWhTQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSm1TRjtBSWpTRTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSm1TSjtBSWpTSTs7RUFDRTtBSm9TTjtBSWhTRTtFQUNFO0FKa1NKO0FJaFNJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKa1NOOztBSTdSQTtFQUNFO0VBQ0E7QUpnU0Y7O0FJN1JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUpnU0Y7O0FJN1JBO0VBQ0U7QUpnU0Y7O0FJN1JBO0VBQ0U7QUpnU0Y7O0FJN1JBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKK1JGO0FJN1JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUorUko7QUk1UkU7RUFDRTtFQUNBO0VBQ0E7QUo4Uko7QUk1Ukk7RUFDRTtFQUNBO0FKOFJOOztBSXpSQTtFQUNFO0FKNFJGO0FJelJJO0VBQ0U7RUFDQTtFQUNBO0FKMlJOO0FJelJNO0VBQ0U7RUFDQTtBSjJSUjtBSXRSRTtFQUNFO0VBQ0E7RUFDQTtBSndSSjtBSXJSRTtFQUNFO0FKdVJKO0FJcFJFO0VBQ0U7QUpzUko7O0FJbFJBO0VBQ0U7QUpxUkY7O0FJalJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSm9SSjtBSWxSSTtFQUNFO0FKcVJOO0FJdFJJO0VBRUU7QUpvUk47QUloUk07RUFDRTtBSmtSUjtBSTdRTTtFQUNFO0FKK1FSO0FJMVFNO0VBQ0U7QUo0UVI7O0FJdFFBOztFQUVFO0FKeVFGOztBSXRRQTtFQUNFO0VBQ0E7RUFDQTtBSnlRRjtBSXZRRTs7OztFQUlFO0FKeVFKOztBSXJRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSnVRRjs7QUlwUUE7RUFDRTtJQUNFO0VKdVFGO0FBQ0Y7QUluUUU7RUFDRTtBSnFRSjs7QUlqUUE7RUFDRTtFQUNBO0VBQ0E7QUpvUUY7O0FJalFBO0VBQ0U7RUFDQTtBSm9RRjtBTTFxQkU7RUZ3YUE7SUFFSTtFSm9RSjtFSWxRSTtJQUNFO0VKb1FOO0FBQ0Y7QU1sckJFO0VGa2JBO0lBRUk7RUprUUo7RUloUUk7SUFDRTtFSmtRTjtBQUNGO0FNMXJCRTtFRjRiQTtJQUVJO0VKZ1FKO0VJOVBJO0lBQ0U7RUpnUU47QUFDRjs7QUF0MkJBO0VBQ0U7QUF5MkJGOztBT3QzQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBUHkzQkY7QU92M0JFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVB5M0JKO0FNbnRCRTtFQzFLQTtJQU9JO0VQMDNCSjtBQUNGO0FPdjNCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FQeTNCSjtBTTl0QkU7RUMvSkE7SUFPSTtFUDAzQko7QUFDRjtBT3YzQkU7RUFDRTtBUHkzQko7QU92M0JJOztFQU1FO0VBQ0E7QVBxM0JOO0FNM3VCRTtFQ2pKRTs7SUFVSTtJQUNBO0VQdTNCTjtBQUNGO0FPcDNCSTtFQUNFO0FQczNCTjtBT2ozQlE7OztFQUdFO0FQcTNCVjtBT3gzQlE7OztFQUlFO0VBQ0E7QVBtM0JWOztBUTU2QkE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUjg2QkY7QVE1NkJFO0VBQ0U7RUFDQTtBUjg2Qko7QVE1NkJJO0VBQ0U7RUFDQTtBUjg2Qk47QVEzNkJJO0VBR0U7QVIrNkJOO0FRbDdCSTtFQUNFO0VBQ0E7RUFFQTtFQUNBO0FSNjZCTjtBUTE2QlE7RUFDRTtFQUNBO0VBQ0E7S0FBQTtBUmc3QlY7QVFuN0JRO0VBSUU7RUFDQTtFQUNBO0VBQ0E7QVI0NkJWO0FRejZCUTtFQUNFO0FSMjZCVjtBUXQ2Qkk7RUFDRTtBUnc2Qk47QVFsNkJNO0VBQ0U7QVJvNkJSO0FRLzVCTTtFQUNFO0VBQ0E7QVJpNkJSO0FROTVCVTtFQUNFO0FSZzZCWjtBTXB6QkU7RUU3R1E7SUFJSTtFUmk2Qlo7QUFDRjtBUTk1QlU7RUFDRTtBUmc2Qlo7QU01ekJFO0VFckdRO0lBSUk7RVJpNkJaO0FBQ0Y7QVE1NUJNO0VBQ0U7RUFDQTtBUjg1QlI7QVEzNUJNO0VBQ0U7RUFDQTtBUjY1QlI7QVExNUJNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVI0NUJSO0FRMTVCUTtFQUNFO0FSNDVCVjtBUTE1QlU7RUFDRTtBUjQ1Qlo7QVF2NUJVO0VBQ0U7QVJ5NUJaO0FRcjVCUTtFQUNFO0FSdTVCVjtBUXA1QlE7RUFDRTtBUnM1QlY7QVFuNUJRO0VBQ0U7QVJxNUJWO0FRLzRCRTtFQUNFO0VBQ0E7QVJpNUJKO0FROTRCRTtFQUVFO0FSKzRCSjtBUTU0QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSODRCSjtBUTM0QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUjY0Qko7QVExNEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVI0NEJKO0FNdjRCRTtFRVpBO0lBVUk7RVI2NEJKO0FBQ0Y7QVEzNEJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVI2NEJOO0FRMTRCSTtFQUNFO0FSNDRCTjtBUXY0QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO09BQUE7RUFDQTtBUnk0Qko7QVF2NEJJO0VBQ0U7RUFDQTtFQUNBO0FSeTRCTjtBUXQ0Qkk7RUFDRTtBUnc0Qk47QVFyNEJJO0VBQ0U7QVJ1NEJOO0FRbjRCRTtFQUNFO0VBQ0E7QVJxNEJKO0FRbDRCRTtFQVdFO0FSbzRCSjtBUS80QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUnE0Qko7QU16N0JFO0VFMENBO0lBY0k7RVJxNEJKO0FBQ0Y7QVFuNEJJO0VBQ0U7QVJxNEJOO0FRbDRCSTtFQUNFO0FSbzRCTjtBUWg0QkU7RUFDRTtBUms0Qko7QVEzM0JRO0VBQ0U7QVI2M0JWO0FRcjNCUTtFQUNFO0FSdTNCVjtBUWgzQkk7RUFDRTtBUmszQk47QVFoM0JNO0VBQ0U7QVJrM0JSO0FRMzJCTTtFQUNFO0FSNjJCUjtBUXgyQk07RUFDRTtBUjAyQlI7QVF4MkJRO0VBQ0U7QVIwMkJWO0FNNTlCRTtFRXdIUTtJQUNFO0VSdTJCVjtFUXAyQlE7SUFDRTtFUnMyQlY7QUFDRjtBTXArQkU7RUVvSVE7SUFDRTtFUm0yQlY7RVFoMkJRO0lBQ0U7RVJrMkJWO0FBQ0Y7QVE3MUJRO0VBQ0U7QVIrMUJWO0FRMTFCSTtFQUNFO0VBQ0E7QVI0MUJOO0FRejFCSTtFQUNFO0FSMjFCTjtBUXAxQk07RUFDRTtBUnMxQlI7QVFwMUJRO0VBQ0U7QVJzMUJWO0FRbjFCUTtFQUNFO0VBQ0E7QVJxMUJWO0FRbjFCVTtFQUNFO0FScTFCWjtBUWgxQk07RUFDRTtBUmsxQlI7QVFoMUJRO0VBQ0U7QVJrMUJWO0FRLzBCUTtFQUNFO0VBQ0E7RUFDQTtBUmkxQlY7QVE5MEJRO0VBQ0U7QVJnMUJWO0FRejBCUTtFQUNFO0VBQ0E7QVIyMEJWO0FRdjBCVTtFQUNFO0FSeTBCWjtBUXIwQlE7RUFFRTtBUncwQlY7QVExMEJRO0VBQ0U7RUFFQTtBUnUwQlY7QVFwMEJRO0VBQ0U7QVJzMEJWO0FRbDBCVTtFQUNFO0FSbzBCWjtBUWgwQlE7RUFDRTtBUmswQlY7QVE3ekJRO0VBQ0U7QVIrekJWO0FRMXpCUTtFQUNFO0FSNHpCVjtBUXh6QlU7RUFDRTtBUjB6Qlo7QVFuekJFO0VBQ0U7RUFDQTtFQUNBO0FScXpCSjtBUW56Qkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FScXpCTjtBUW56Qk07RUFDRTtFQUNBO0FScXpCUjtBUWp6Qkk7RUFDRTtBUm16Qk47QVFoekJJO0VBQ0U7QVJrekJOO0FRL3lCSTtFQUNFO0FSaXpCTjtBUTl5Qkk7O0VBRUU7QVJnekJOO0FRN3lCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSK3lCTjtBUXJ5QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBUnV5Qko7QVFyeUJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJ1eUJOO0FRcHlCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSc3lCTjtBUW55Qkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBUnF5Qk47QVFseUJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVJveUJOO0FRanlCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVJteUJOO0FRanlCTTtFQUNFO0VBQ0E7QVJteUJSO0FRL3hCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSaXlCTjtBUS94Qk07RUFDRTtFQUNBO0FSaXlCUjtBUTl4Qk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBUmd5QlI7QVE5eEJROztFQUVFO0FSZ3lCVjtBUTV4Qk07RUFDRTtBUjh4QlI7QVEzeEJNO0VBQ0U7RUFDQTtBUjZ4QlI7QVFweEJVO0VBQ0U7QVJzeEJaO0FRdnhCVTtFQUNFO0FSc3hCWjtBUWh4QlE7RUFDRTtBUmt4QlY7QVE1d0JNO0VBQ0U7QVI4d0JSO0FRMXdCUTtFQUNFO0FSNHdCVjs7QVNwMkNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHUyQ0Y7QVNyMkNFOzs7O0VBTUU7QVQyMkNKO0FTajNDRTs7OztFQUlFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtBVHUyQ0o7QVNyMkNJOzs7O0VBQ0U7QVQwMkNOO0FLbDBDRTs7OztFSXBDSTtFQUNBO0VBQ0E7QVQ0MkNOO0FNNXRDRTtFRDlHQTs7OztJSS9CTTtFVGczQ047QUFDRjtBSy8wQ0U7Ozs7RUl2Q0k7RUFDQTtFQUNBO0FUNDNDTjtBTTV1Q0U7RUQzR0E7Ozs7SUlsQ007RVRnNENOO0FBQ0Y7QUs1MUNFOzs7O0VJMUNJO0VBQ0E7RUFDQTtBVDQ0Q047QU01dkNFO0VEeEdBOzs7O0lJckNNO0VUZzVDTjtBQUNGO0FLejJDRTs7OztFSTdDSTtFQUNBO0VBQ0E7QVQ0NUNOO0FNNXdDRTtFRHJHQTs7OztJSXhDTTtFVGc2Q047QUFDRjtBUzU1Q0U7OztFQUdFO0FUODVDSjtBTXp4Q0U7RUd4SUE7OztJQU1JO0VUaTZDSjtBQUNGO0FTOTVDRTtFQUNFO0FUZzZDSjtBUzc1Q0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBVCs1Q0o7QVM1NUNFO0VBQ0U7QVQ4NUNKO0FTMzVDRTtFQUNFO0VBQ0E7RUFDQTtBVDY1Q0o7QVMxNUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFFRTtFQUNBO0VBQ0E7QVRrN0NKOztBUzk2Q0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRpN0NGO0FTLzZDRTtFQUNFO0VBQ0E7QVRpN0NKOztBUzc2Q0E7RUFDRTtFQUNBO0VBQ0E7QVRnN0NGO0FTOTZDRTtFQUNFO0FUZzdDSjtBUzc2Q0U7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUKzZDSjtBSzc5Q0U7O0VJaURJO0VBQ0E7QVRnN0NOO0FLLzlDRTs7RUk4Q0k7RUFDQTtBVHE3Q047QUtqK0NFOztFSTJDSTtFQUNBO0FUMDdDTjtBS24rQ0U7O0VJd0NJO0VBQ0E7QVQrN0NOOztBU3o3Q0U7RUFDRTtBVDQ3Q0o7QVMxN0NJO0VBQ0U7RUFDQTtBVDQ3Q047QVN4N0NFO0VBQ0U7RUFDQTtBVDA3Q0o7QVN2N0NFO0VBQ0U7QVR5N0NKO0FTdjdDSTtFQUNFO0VBQ0E7QVR5N0NOO0FTcDdDUTtFQUNFO0FUczdDVjtBU2o3Q0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUbTdDTjtBU2o3Q007RUFDRTtFQUNBO0FUbTdDUjtBU2g3Q1U7RUFDRTtBVGs3Q1o7QVM3NkNNO0VBQ0U7QVQrNkNSO0FTMTZDTTtFQUNFO0VBQ0E7QVQ0NkNSO0FTMTZDUTtFQUNFO0FUNDZDVjs7QVV6bURFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVY0bURKO0FVMW1ESTtFQUNFO0VBQ0E7RUFDQTtBVjRtRE47QVV6bURJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjJtRE47QU1oOUNFO0VJaEtFO0lBUUk7RVY0bUROO0FBQ0Y7QVUxbURNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWNG1EUjtBVXZtREU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZ5bURKO0FVdm1ESTtFQUNFO0VBQ0E7RUFDQTtBVnltRE47O0FNNytDRTtFSXRIQTtJQUNFO0lBQ0E7RVZ1bURGO0FBQ0Y7QVVwbURBO0VBQ0U7QVZzbURGOztBVzFwREE7RUFDRTtBWDZwREY7O0FXdHBEQTtFTlhFO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxxcURGO0FLbnFERTtFQUVFO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxvcURKOztBV3ZxREE7RUFDRTtJQUNFO0VYMHFERjtBQUNGO0FXdHFEQTs7RUFFRTtFQUNBO0FYd3FERjs7QVdycURBOztFQUVFO0VBQ0E7QVh3cURGOztBV3JxREE7RUFDRTtBWHlxREY7O0FXMXFEQTtFQUVFO0VBQUE7QVh3cURGO0FNdmlERTtFS25JRjtJQUtJO0VYeXFERjtBQUNGO0FNNWlERTtFS25JRjtJQVNJO0lBQ0E7RVgwcURGO0FBQ0Y7O0FXdHFEQTtFQUNFO0VBQ0E7QVh5cURGOztBV3JxREE7RUFDRTtFQUNBO0FYd3FERjs7QVdycURBO0VBQ0U7RUFDQTtBWHdxREY7O0FXcHFERTtFQUNFO0VBQ0E7QVh1cURKOztBV25xREE7RUFDRTtBWHNxREY7O0FNMWtERTtFS3hGQTtJQUdJO0VYcXFESjtFV3hxREE7SUFFSTtFWHNxREo7QUFDRjtBTWpsREU7RUtsRkU7SUFFSTtJQUNBO0VYcXFETjtBQUNGOztBTXZsREU7RUt6RUY7SUFFSTtFWG1xREY7QUFDRjs7QU03bERFO0VLbkVGO0lBRUk7RVhtcURGO0FBQ0Y7O0FXOXBERTs7RUFDRTtFQUNBO0FYa3FESjtBVy9wREU7OztFQUNFO0VBQ0E7QVhtcURKOztBVy9wREE7RUFDRTtFQUNBO0FYa3FERjtBV2hxREU7RUFDRTtFQUNBO0VBQ0E7QVhrcURKO0FXaHFESTtFQUNFO0FYa3FETjtBVy9wREk7RUFDRTtBWGlxRE47QVc5cERJO0VBQ0U7QVhncUROO0FXN3BESTtFQUNFO0FYK3BETjtBVzNwREU7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVg2cERKO0FXM3BESTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWDhwRE47QUt4eERJOzs7O0VNa0lFO0FYNHBETjtBV3ZwREk7RUFDRTtBWHlwRE47QVd0cERJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVh3cEROO0FXaHBERTtFQUNFO0FYa3BESjtBV2hwREk7RUFDRTtBWGtwRE47QVcvb0RJO0VBQ0U7QVhpcEROO0FXL29ESTtFQUNFO0VBQ0E7RUFDQTtBWGlwRE47QVc5b0RJO0VBQ0U7QVhncEROOztBVzNvREE7RUFDRTtFQUNBO0FYOG9ERjs7QVczb0RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVg4b0RGOztBVzNvREE7RUFDRTtBWDhvREY7QVc1b0RFO0VBQ0U7QVg4b0RKO0FXM29ERTtFQUNFO0VBQ0E7RUFDQTtBWDZvREo7QVcxb0RFO0VBQ0U7RUFDQTtFQUNBO0FYNG9ESjtBV3pvREU7RUFDRTtFQUNBO0VBQ0E7QVgyb0RKOztBV3RvREU7RUFDRTtBWHlvREo7O0FXcG9ERTtFQUNFO0FYdW9ESjs7QVdsb0RFO0VBQ0U7QVhxb0RKO0FNaHZERTtFSzZHRTtJQUVJO0VYcW9ETjtBQUNGOztBV2hvREE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWG1vREY7QVdqb0RFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVhtb0RKOztBVy9uREE7RUFDRTtBWGtvREY7QVdob0RFO0VBQ0U7QVhrb0RKO0FXaG9ESTtFQUNFO0FYa29ETjs7QVc1bkRBO0VBQ0U7SUFDRTtFWCtuREY7RVc3bkRBO0lBQ0U7RVgrbkRGO0VXN25EQTtJQUNFO0VYK25ERjtBQUNGO0FXNW5EQTtFQUNFO0VBQ0E7QVg4bkRGOztBTWx5REU7RUt3S0E7SUFDRTtJQUNBO0lBQ0E7RVg4bkRGO0VXNW5ERTtJQUNFO0VYOG5ESjtFVzFuREE7SUFDRTtJQUNBO0lBQ0E7RVg0bkRGO0VXMW5ERTtJQUNFO0VYNG5ESjtFV3puREU7SUFDRTtFWDJuREo7RVd2bkRBO0lBQ0U7SUFDQTtJQUNBO0VYeW5ERjtFV3ZuREU7SUFDRTtFWHluREo7RVd0bkRFO0lBQ0U7RVh3bkRKO0FBQ0Y7QU1uMERFO0VLa05FO0lBQ0U7RVhvbkRKO0VXaG5EQTtJQUNFO0lBQ0E7SUFDQTtFWGtuREY7RVdobkRFO0lBQ0U7RVhrbkRKO0VXL21ERTtJQUNFO0VYaW5ESjtFVzdtREE7SUFDRTtJQUNBO0lBQ0E7RVgrbURGO0VXN21ERTtJQUNFO0VYK21ESjtFVzVtREU7SUFDRTtFWDhtREo7RVczbURFO0lBQ0U7RVg2bURKO0FBQ0Y7QVd6bURBO0VBQ0U7QVgybURGOztBWWhoRUE7RUFNRTtBWm9oRUY7O0FZMWhFQTtFQUNFO0VBQ0E7S0FBQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FabWhFRjtBWWpoRUU7RUFFRTtBWmtoRUo7QVkvZ0VFO0VBRUU7S0FBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaZ2hFSjs7QVk1Z0VBO0VBQ0U7RUFDQTtFQUNBO0FaK2dFRjtBWTdnRUU7RUFDRTtFQUNBO0VBQ0E7QVorZ0VKOztBWTNnRUE7RUFDRTtFQUNBO0VBQ0E7QVo4Z0VGO0FZNWdFRTtFQUNFO0VBQ0E7RUFDQTtBWjhnRUo7QVkzZ0VFOzs7OztFQUtFO0tBQUE7QVo2Z0VKO0FZMWdFRTs7Ozs7O0VBU0U7RUFDQTtBWjRnRUo7QVl0aEVFOzs7Ozs7RUFNRTtFQUNBO0VBQ0E7QVo4Z0VKO0FZemdFRTs7Ozs7RUFLRTtBWjJnRUo7QVl4Z0VFO0VBQ0U7RUFDQTtBWjBnRUo7O0FZdGdFQTtFQUNFO0VBQ0E7RUFDQTtBWnlnRUY7QVl0Z0VJOzs7RUFHRTtLQUFBO0VBQ0E7QVp3Z0VOO0FZcmdFSTtFQUNFO0FadWdFTjtBWXJnRU07RUFDRTtLQUFBO0FadWdFUjtBWW5nRUk7RUFDRTtBWnFnRU47QVlsZ0VJO0VBQ0U7QVpvZ0VOO0FZaGdFRTtFQUdFO0VBQ0E7QVpnZ0VKO0FZOS9ESTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVpnZ0VOO0FZOS9ETTtFQUlFO0FabWdFUjtBWXZnRU07RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QVpnZ0VSO0FZNS9EUTtFQUNFO0VBQ0E7QVo4L0RWO0FZMS9ETTtFQUNFO0VBQ0E7RUFDQTtBWjQvRFI7QVl6L0RNO0VBRUU7RUFDQTtBWjIvRFI7QVk5L0RNO0VBQ0U7S0FBQTtBWjYvRFI7QVl0L0RFO0VBQ0U7QVp3L0RKO0FZci9ERTtFQUNFO0FadS9ESjtBWXAvREU7RUFDRTtBWnMvREo7QVluL0RFO0VBR0U7QVptL0RKO0FNNy9ERTtFTU9BO0lBS0k7RVpxL0RKO0FBQ0Y7QVlsL0RFO0VBQ0U7QVpvL0RKO0FZLytESTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaaS9ETjs7QVkxK0RJO0VBQ0U7RUFDQTtBWjYrRE47O0FZditERTtFQUNFO0FaMCtESjtBWXYrREU7RUFDRTtFQUNBO0FaeStESjs7QVlyK0RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVp3K0RGO0FZdCtERTtFQUVFO0FadStESjs7QVlsK0RFO0VBQ0U7QVpxK0RKO0FZaitESTtFQUNFO0FabStETjs7QVk5OURBO0VBQ0U7RUFHQTtBWmkrREY7QVkvOURFO0VBTUU7QVprK0RKO0FZeCtERTtFQUNFO0VBR0E7RUFDQTtFQUVBO0FaaStESjs7QWFod0VFO0VBQ0U7QWJtd0VKO0FhaHdFRTtFQUNFO0Fia3dFSjtBYS92RUU7RUFDRTtBYml3RUo7QWE5dkVFO0VBQ0U7QWJnd0VKO0FhN3ZFRTtFQUNFO0FiK3ZFSjtBTWptRUU7RU8zSkE7SUFFSTtFYjh2RUo7QUFDRjs7QWNyeEVFO0VBQ0U7RUFDQTtFQUFBO0Fkd3hFSjtBY3R4RUk7OztFQUdFO0tBQUE7RUFDQTtFQUNBO0Fkd3hFTjtBTWxuRUU7RVFuS0U7SUFFSTtFZHV4RU47QUFDRjtBY3B4RUk7RUFDRTtBZHN4RU47QWNseEVFO0VBQ0U7RUFBQTtFQUNBO0Fkb3hFSjtBY2p4RUU7RUFDRTtFQUFBO0VBQ0E7QWRteEVKO0FjaHhFRTtFQUNFO0VBQUE7RUFDQTtBZGt4RUo7QWMvd0VFO0VBQ0U7RUFBQTtFQUNBO0FkaXhFSjtBYzl3RUU7RUFDRTtFQUFBO0VBQ0E7QWRneEVKO0FjN3dFRTtFQUNFO0VBQUE7RUFDQTtBZCt3RUo7QWM1d0VFO0VBR0U7QWQ4d0VKO0FjanhFRTtFQUNFO0VBQUE7RUFDQTtBZCt3RUo7QU12cEVFO0VRbEhJO0lBQ0U7SUFDQTtJQUFBO0VkNHdFTjtFY3Z3RVE7OztJQUNFO09BQUE7SUFDQTtFZDJ3RVY7RWN2d0VNO0lBQ0U7RWR5d0VSO0VjdHdFTTtJQUNFO0Vkd3dFUjtFY3B3RUk7SUFDRTtJQUFBO0lBQ0E7RWRzd0VOO0VjbndFSTtJQUNFO0lBQUE7SUFDQTtFZHF3RU47RWNsd0VJO0lBQ0U7SUFBQTtJQUNBO0Vkb3dFTjtFY2p3RUk7SUFDRTtJQUFBO0lBQ0E7RWRtd0VOO0VjaHdFSTtJQUNFO0lBQUE7SUFDQTtFZGt3RU47RWMvdkVJO0lBQ0U7SUFBQTtJQUNBO0VkaXdFTjtBQUNGOztBYzN2RUU7RUFDRTtLQUFBO0FkOHZFSjtBYzN2RUU7RUFDRTtLQUFBO0FkNnZFSjtBYzF2RUU7RUFDRTtLQUFBO0FkNHZFSjs7QWUxM0VFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWY2M0VKO0FlMzNFSTtFQUVFO0FmNDNFTjtBZXozRUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZjIzRU47QUsxMUVJO0VVOUJJO0FmMjNFUjtBZXozRVE7RUFDRTtBZjIzRVY7QWV4M0VRO0VBQ0U7QWYwM0VWO0FldDNFTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FmdzNFUjtBZXQzRVE7RUFDRTtBZnczRVY7QU1odkVFO0VTeklNO0lBSUk7RWZ5M0VWO0FBQ0Y7QWV0M0VRO0VBQ0U7QWZ3M0VWO0FlcDNFTTtFQUNFO0FmczNFUjtBZXAzRVM7RUFDQztBZnMzRVY7QWVsM0VNO0VBQ0U7QWZvM0VSO0FlLzJFTTtFQUNFO0FmaTNFUjtBZTcyRUk7RUFDRTtFQUNBO0FmKzJFTjtBZTcyRU07Ozs7Ozs7RUFHRTtBZm0zRVI7QWU5MkVNO0VBQ0U7QWZnM0VSO0FNcHhFRTtFUzdGSTtJQUlJO0VmaTNFUjtBQUNGO0FlOTJFTTtFQUNFO0FmZzNFUjtBTTV4RUU7RVNyRkk7SUFJSTtFZmkzRVI7QUFDRjtBZTkyRU07RUFDRTtBZmczRVI7QU1weUVFO0VTN0VJO0lBSUk7RWZpM0VSO0FBQ0Y7QWU1MkVFO0VBQ0U7RUFDQTtBZjgyRUo7QU03eUVFO0VTOURJO0lBQ0U7SUFDQTtFZjgyRU47RWU1MkVNO0lBQ0U7RWY4MkVSO0VlNTJFUTtJQUNFO0VmODJFVjtFZTMyRVE7SUFDRTtFZjYyRVY7RWV4MkVRO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWYwMkVWO0VleDJFVTtJQUNFO0VmMDJFWjtFZXYyRVU7SUFDRTtFZnkyRVo7RWVuMkVJO0lBQ0U7SUFDQTtFZnEyRU47QUFDRjtBTTUwRUU7RVNwQkU7SUFFSTtJQUNBO0VmazJFTjtBQUNGOztBZ0JoZ0ZJO0VBQ0U7RUFDQTtFQUNBO0FoQm1nRk47QWdCLy9FRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCaWdGSjtBZ0IvL0VJO0VBQ0U7RUFDQTtFQUNBO0FoQmlnRk47QWdCOS9FSTtFQUNFO0VBQ0E7QWhCZ2dGTjtBZ0I5L0VNOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCZ2dGUjtBTW4zRUU7RVVuSkk7O0lBU0k7SUFDQTtFaEJrZ0ZSO0FBQ0Y7QWdCOS9FUTs7RUFFRTtBaEJnZ0ZWO0FNOTNFRTtFVXBJTTs7SUFLSTtFaEJrZ0ZWO0FBQ0Y7QWdCMy9FSTtFQUNFO0FoQjYvRU47QWdCeC9FSTtFQUNFO0FoQjAvRU47QU0xNEVFO0VVakhFO0lBSUk7RWhCMi9FTjtBQUNGO0FnQnYvRU07RUFDRTtBaEJ5L0VSO0FnQnAvRU07RUFDRTtBaEJzL0VSO0FNcjVFRTtFVTNGTTtJQUNFO0VoQm0vRVI7RWdCOStFTTtJQUNFO0VoQmcvRVI7RWdCMytFTTtJQUNFO0VoQjYrRVI7QUFDRjtBZ0J2K0VJO0VBQ0U7QWhCeStFTjs7QWlCL2tGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7RUFDQTtLQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCa2xGRjtBaUJobEZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpCa2xGSjtBS2prRkk7RVliQTtFQUNBO0VBQ0E7RUFDQTtBakJpbEZKO0FpQi9rRkk7RUFDRTtBakJpbEZOO0FpQnhrRkU7RUFHRTtFQUNBO0VBQ0E7QWpCd2tGSjtBSy9rRkk7RVlZRTtBakJ3a0ZOO0FLcGxGSTtFWVVFO0VBQ0E7QWpCeWtGTjtBaUJwa0ZFO0VBR0U7QWpCb2tGSjtBaUIzakZFO0VBR0U7QWpCMmpGSjtBaUI1aEZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQjhoRko7QWlCNWhGSTtFQUdFO0FqQjRoRk47QWlCemhGSTtFQUdFO0FqQnloRk47QWlCcmhGRTtFQUlFO0VBQ0E7RUFDQTtBakJvaEZKO0FpQmxoRkk7RUFDRTtBakJvaEZOO0FpQmhoRkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCa2hGSjtBSzNuRkk7RVk0R0U7RUFDQTtBakJraEZOO0FpQjlnRkU7RUFDRTtBakJnaEZKO0FpQjdnRkU7RUFDRTtBakIrZ0ZKO0FNemdGRTtFV0pFO0lBRUk7RWpCK2dGTjtBQUNGO0FpQjVnRkk7RUFDRTtFQUNBO0VBQ0E7QWpCOGdGTjtBaUIzZ0ZJOzs7OztFQUVFO0VBQ0E7RUFDQTtFQUNBO0FqQmdoRk47QWlCdGdGRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJ1Z0ZKO0FpQnJnRkk7RUFDRTtBakJ1Z0ZOO0FNeGlGRTtFV2dDRTtJQUlJO0VqQndnRk47QUFDRjtBaUJwZ0ZNO0VBQ0U7QWpCc2dGUjtBTWhqRkU7RVd5Q0k7SUFJSTtFakJ1Z0ZSO0FBQ0Y7QWlCcmdGUTtFQUNFO0FqQnVnRlY7QWlCbmdGTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqQnFnRlI7QWlCamdGSTtFQUNFO0FqQm1nRk47QWlCLy9FRTtFQUNFO0VBQ0E7RUFDQTtBakJpZ0ZKO0FpQi8vRUk7RUFDRTtBakJpZ0ZOO0FpQjkvRUk7RUFDRTtFQUNBO0VBQ0E7QWpCZ2dGTjtBaUI1L0VFO0VBQ0U7RUFDQTtBakI4L0VKO0FpQjUvRUk7RUFDRTtBakI4L0VOO0FpQjEvRU07RUFDRTtBakI0L0VSO0FpQnYvRUU7RUFHRTtBakJ1L0VKO0FNM2xGRTtFV2lHQTtJQU1JO0VqQncvRUo7QUFDRjtBaUJ0L0VJO0VBRUU7RUFDQTtFQUNBO0FqQnUvRU47QWlCMy9FSTtFQUVFO0VBQ0E7RUFDQTtBakJ1L0VOO0FpQnAvRUk7RUFFRTtFQUNBO0FqQnEvRU47QWlCeC9FSTtFQUVFO0VBQ0E7QWpCcS9FTjtBaUJuL0VNO0VBQ0U7QWpCcS9FUjtBaUJ0L0VNO0VBQ0U7QWpCcS9FUjtBaUIvK0VJO0VBQ0U7QWpCaS9FTjtBaUI3K0VFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakIrK0VKO0FpQjcrRUk7RUFDRTtFQUNBO0VBQ0E7QWpCKytFTjtBSzF2Rkk7RVkrUUU7RUFDQTtBakI4K0VOO0FpQjErRUU7RUFFRTtFQUVBO0VBQ0E7QWpCMCtFSjs7QWlCcCtFSTtFQUNFO0VBQ0E7RUFDQTtBakJ1K0VOO0FpQnIrRU07RUFDRTtBakJ1K0VSOztBaUIvOUVJO0VBQ0U7RUFDQTtFQUNBO0FqQmsrRU47QWlCaCtFTTtFQUNFO0FqQmsrRVI7QWlCLzlFTTtFQUVFO0VBQ0E7QWpCZytFUjtBaUI5OUVRO0VBQ0U7QWpCZytFVjs7QWlCejlFQTtFQUNFO0VBQ0E7QWpCNDlFRjtBaUIxOUVFO0VBQ0U7QWpCNDlFSjtBaUJ6OUVFO0VBR0U7RUFDQTtBakJ5OUVKO0FpQnY5RUk7RUFFRTtBakJ5OUVOO0FpQjM5RUk7RUFDRTtBakIwOUVOOztBaUJwOUVBO0VBQ0U7QWpCdTlFRjs7QWlCbjlFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqQnM5RUo7QWlCcDlFSTtFQUNFO0FqQnM5RU47QWlCbjlFSTtFQUNFO0FqQnE5RU47QWlCbDlFSTtFQUNFO0FqQm85RU47QU1wc0ZFO0VXbVBFO0lBRUk7RWpCbTlFTjtFaUJqOUVNO0lBQ0U7RWpCbTlFUjtBQUNGO0FpQi84RUk7RUFDRTtBakJpOUVOOztBaUIzOEVFO0VBQ0U7QWpCODhFSjs7QWlCLzhFRTtFQUNFO0FqQjg4RUo7QWlCMzhFRTtFQUNFO0FqQjY4RUo7QWlCOThFRTtFQUNFO0FqQjY4RUo7QWlCMzhFSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakI2OEVOO0FpQnQ5RUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCNjhFTjtBSzcxRkk7RVlvWkU7QWpCNDhFTjtBS2gyRkk7RVlvWkU7QWpCNDhFTjtBaUJ4OEVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQjA4RUo7QWlCeDhFSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakIwOEVOO0FpQnY4RUk7RUFDRTtBakJ5OEVOO0FpQjE4RUk7RUFDRTtBakJ5OEVOO0FpQnY4RU07RUFDRTtBakJ5OEVSO0FpQjE4RU07RUFDRTtBakJ5OEVSO0FpQnI4RUk7RUFNRTtLQUFBO0FqQnk4RU47QWlCLzhFSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FqQnU4RU47QWlCbjhFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpCcThFSjs7QWlCajhFQTtFQUNFO0VBQ0E7QWpCbzhFRjs7QWtCOTdGSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsQmk4Rk47QWtCLzdGTTtFQUNFO0VBQ0E7QWxCaThGUjtBa0I5N0ZNO0VBQ0U7RUFDQTtBbEJnOEZSO0FrQjU3Rkk7RUFDRTtBbEI4N0ZOO0FrQjU3Rk07RUFDRTtFQUNBO0FsQjg3RlI7QU10eUZFO0VZcEpNO0lBQ0U7RWxCNjdGUjtFa0IxN0ZNO0lBQ0U7RWxCNDdGUjtBQUNGO0FrQnY3RkU7RUFFRTtBbEJ3N0ZKO0FNanpGRTtFWXpJQTtJQUtJO0VsQnk3Rko7QUFDRjtBTXR6RkU7RVl6SUE7SUFTSTtFbEIwN0ZKO0FBQ0Y7QWtCeDdGSTtFQUNFO0FsQjA3Rk47QWtCdDdGTTtFQUNFO0FsQnc3RlI7QWtCcjdGTTtFQUNFO0FsQnU3RlI7QWtCcDdGTTtFQUNFO0FsQnM3RlI7QWtCOTZGTTtFQUNFO0FsQmc3RlI7QWtCNzZGTTtFQUNFO0FsQis2RlI7QWtCNTZGTTtFQUNFO0FsQjg2RlI7QWtCeDZGSTtFQUNFO0FsQjA2Rk47O0FtQi8vRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQmtnR0Y7QW1CaGdHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Ca2dHSjtBbUIvL0ZFO0VBQ0U7VUFBQTtBbkJpZ0dKO0FNcjJGRTtFYTdKQTtJQUlJO0VuQmtnR0o7QUFDRjtBbUJoZ0dJO0VBQ0U7QW5Ca2dHTjs7QW9CNWhHRTtFQU1FO0FwQmdpR0o7O0FvQnRpR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QXBCK2hHSjtBb0I3aEdJO0VBQ0U7QXBCK2hHTjtBb0I1aEdJO0VBQ0U7RUFDQTtFQUNBO0FwQjhoR047QW9CMWhHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEI0aEdKO0FNaDVGRTtFYzNKQTtJQXFCSTtFcEI4aEdKO0VvQm5qR0E7SUFrQkk7SUFDQTtJQUNBO0lBRUE7RXBCNmhHSjtBQUNGO0FNejVGRTtFYzNKQTtJQTBCSTtFcEI4aEdKO0FBQ0Y7QW9CNWhHSTtFQUNFO0VBQ0E7QXBCOGhHTjtBb0J6aEdJO0VBQ0U7RUFDQTtBcEIyaEdOO0FNdDZGRTtFY3ZIRTtJQUtJO0lBQ0E7SUFDQTtFcEI0aEdOO0VvQjFoR007SUFDRTtFcEI0aEdSO0VvQjFoR1E7SUFDRTtFcEI0aEdWO0VvQnhoR007SUFDRTtFcEIwaEdSO0VvQnhoR1E7SUFDRTtFcEIwaEdWO0FBQ0Y7QW9CcGhHRTtFQUNFO0VBQ0E7RUFDQTtBcEJzaEdKO0FvQm5oR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJxaEdKO0FvQm5oR0k7RUFFRTtBcEJxaEdOO0FvQnZoR0k7RUFDRTtBcEJzaEdOO0FvQmxoR0k7RUFFRTtBcEJtaEdOO0FvQmhoR0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCa2hHTjtBb0JoaEdNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJraEdSO0FLL2xHSTtFZWlGSTtBcEJpaEdSO0FvQi9nR1E7RUFDRTtFQUNBO0FwQmloR1Y7QW9CM2dHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQjZnR0o7QU1uL0ZFO0VjakNBO0lBVUk7SUFDQTtFcEI4Z0dKO0FBQ0Y7QW9CNWdHSTtFQUNFO0VBQ0E7QXBCOGdHTjtBb0IxZ0dFO0VBQ0U7QXBCNGdHSjtBb0IxZ0dJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0FwQjRnR047QW9CMWdHTTtFQUNFO0FwQjRnR1I7QW9CMWdHUTtFQUNFO0VBQ0E7QXBCNGdHVjtBb0J4Z0dNO0VBQ0U7RUFDQTtBcEIwZ0dSO0FvQnZnR007RUFDRTtBcEJ5Z0dSO0FNcmhHRTtFY1dJO0lBSUk7SUFDQTtFcEIwZ0dSO0FBQ0Y7QW9CdGdHSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FwQndnR047QW9CcmdHSTtFQUNFO0VBQ0E7RUFDQTtBcEJ1Z0dOO0FvQmpnR1U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCbWdHWjtBb0JqZ0dZO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJtZ0dkO0FLanJHSTtFZWtMVTtBcEJrZ0dkO0FvQmhnR2M7RUFDRTtFQUNBO0FwQmtnR2hCO0FvQnovRkU7RUFDRTtBcEIyL0ZKO0FvQngvRkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQjAvRko7QW9CeC9GSTtFQUNFO0VBQ0E7QXBCMC9GTjtBb0JoL0ZZO0VBQ0U7QXBCay9GZDtBb0I5K0ZVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCZy9GWjtBb0J4K0ZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXBCMCtGTjtBb0J4K0ZNO0VBQ0U7RUFDQTtBcEIwK0ZSO0FvQnIrRkU7RUFDRTtFQUNBO0FwQnUrRko7QU1wbUdFO0VjMkhBO0lBS0k7SUFDQTtJQUNBO0VwQncrRko7RW9CdCtGSTtJQUNFO0VwQncrRk47RW9CeitGSTtJQUNFO0VwQncrRk47QUFDRjtBTTltR0U7RWMySEE7SUFlSTtJQUNBO0VwQncrRko7QUFDRjtBTXBuR0U7RWMrSUk7SUFDRTtJQUNBO0VwQncrRk47RW9CcitGSTtJQUNFO0VwQnUrRk47RW9CcCtGSTtJQUNFO0lBQ0E7RXBCcytGTjtFb0JwK0ZNO0lBQ0U7SUFDQTtJQUNBO0VwQnMrRlI7QUFDRjtBb0JsK0ZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQm8rRk47QU1wcEdFO0Vjb0tFO0lBZUk7RXBCcStGTjtBQUNGO0FvQmwrRkk7RUFDRTtFQUNBO0VBRUE7RUFDQTtBcEJtK0ZOO0FvQmorRk07RUFDRTtFQUNBO0FwQm0rRlI7QU1ucUdFO0VjdUxFO0lBYUk7SUFDQTtJQUNBO0lBQ0E7RXBCbStGTjtFb0JqK0ZNO0lBQ0U7SUFDQTtFcEJtK0ZSO0FBQ0Y7QU0vcUdFO0VjdUxFO0lBeUJJO0lBQ0E7RXBCbStGTjtBQUNGO0FvQmorRk07RUFDRTtBcEJtK0ZSO0FvQmgrRk07RUFDRTtFQUNBO0VBQ0E7QXBCaytGUjtBTTdyR0U7RWM4TlE7SUFDRTtJQUNBO0VwQmsrRlY7QUFDRjtBTW5zR0U7RWN1T0E7SUFFSTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFDQTtFcEI2OUZKO0VvQjM5Rkk7SUFDRTtJQUNBO0VwQjY5Rk47QUFDRjtBb0IxOUZJO0VBQ0U7RUFDQTtBcEI0OUZOO0FvQjE5Rk07RUFDRTtBcEI0OUZSO0FNenRHRTtFYzRQSTtJQUlJO0VwQjY5RlI7QUFDRjtBb0J6OUZJO0VBQ0U7QXBCMjlGTjtBb0J4OUZJO0VBQ0U7QXBCMDlGTjtBb0J4OUZNO0VBQ0U7S0FBQTtBcEIwOUZSO0FNdnVHRTtFY2lSRTtJQUVJO0VwQnc5Rk47QUFDRjtBTTV1R0U7RWNpUkU7SUFNSTtJQUNBO0lBQ0E7RXBCeTlGTjtBQUNGO0FNbnZHRTtFYzRSSTtJQUVJO0VwQnk5RlI7QUFDRjtBb0JyOUZRO0VBQ0U7QXBCdTlGVjtBb0JwOUZRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnM5RlY7QW9CcDlGVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJzOUZaO0FLdjRHSTtFZXFiUTtBcEJxOUZaO0FvQm45Rlk7RUFDRTtFQUNBO0FwQnE5RmQ7QU1seEdFO0Vjb1VFO0lBRUk7RXBCZzlGTjtBQUNGO0FNdnhHRTtFY29VRTtJQU1JO0lBQ0E7RXBCaTlGTjtBQUNGO0FvQjM4RkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQjY4Rko7QW9CMzhGSTtFQUNFO0FwQjY4Rk47QU0xeUdFO0Vja1ZBO0lBZUk7RXBCNjhGSjtBQUNGO0FvQng4Rk07RUFDRTtFQUNBO0VBQ0E7QXBCMDhGUjtBb0J4OEZRO0VBQ0U7RUFDQTtBcEIwOEZWO0FvQnY4RlE7RUFDRTtBcEJ5OEZWO0FvQnI4Rk07RUFDRTtBcEJ1OEZSO0FvQmw4RkU7RUFDRTtFQUNBO0FwQm84Rko7QW9CaDhGSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJrOEZOO0FvQi83Rkk7RUFDRTtBcEJpOEZOO0FvQjc3Rk07RUFDRTtBcEIrN0ZSO0FvQjE3RkU7RUFDRTtFQUNBO0FwQjQ3Rko7QW9CMTdGSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEI0N0ZOO0FvQjE3Rk07RUFDRTtBcEI0N0ZSO0FvQjc3Rk07RUFDRTtBcEI0N0ZSO0FvQno3Rk07RUFDRTtFQUNBO0FwQjI3RlI7QW9CdjdGSTtFQUNFO0VBQ0E7QXBCeTdGTjtBb0J0N0ZJO0VBR0U7QXBCczdGTjtBb0JwN0ZNO0VBQ0U7RUFDQTtBcEJzN0ZSO0FvQmw3Rkk7RUFDRTtBcEJvN0ZOO0FvQmw3Rk07RUFDRTtBcEJvN0ZSO0FvQmg3Rkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcEJrN0ZOO0FvQi82Rkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJpN0ZOO0FvQi82Rk07RUFDRTtFQUNBO0FwQmk3RlI7QU0xNEdFO0VjMmNFO0lBa0JJO0VwQmk3Rk47QUFDRjtBb0IvNkZNO0VBQ0U7RUFDQTtBcEJpN0ZSO0FvQjk2Rk07RUFDRTtFQUNBO0FwQmc3RlI7QW9CNzZGTTtFQUNFO0FwQis2RlI7QW9CMTZGVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQjQ2Rlo7QUsvaEhJO0Vlc25CVTtBcEI0NkZkO0FvQno2Rlk7RUFDRTtBcEIyNkZkO0FvQno2RmM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCMjZGaEI7QW9CdjZGZ0I7RUFDRTtFQUNBO0FwQnk2RmxCO0FvQi81Rk07RUFDRTtBcEJpNkZSO0FvQmw2Rk07RUFDRTtBcEJpNkZSO0FvQjU1RkU7RUFDRTtBcEI4NUZKOztBb0IxNUZBO0VBQ0U7QXBCNjVGRjs7QXFCL21IQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCa25IRjtBTTE4R0U7RWVoTEY7SUFXSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXJCbW5IRjtBQUNGO0FNcDlHRTtFZWhMRjtJQW9CSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VyQm9uSEY7QUFDRjtBcUJsbkhFO0VBQ0U7QXJCb25ISjtBcUJqbkhFO0VBQ0U7QXJCbW5ISjtBcUJqbkhJO0VBQ0U7RUFDQTtBckJtbkhOO0FxQmhuSEk7RUFDRTtFQUNBO0VBQ0E7QXJCa25ITjtBTTUrR0U7RWVwSUk7SUFFSTtFckJrbkhSO0FBQ0Y7QXFCN21IRTtFQUNFO0FyQittSEo7QU1wL0dFO0VlNUhBO0lBSUk7SUFDQTtJQUNBO0VyQmduSEo7QUFDRjtBTTMvR0U7RWVuSEU7SUFFSTtFckJnbkhOO0FBQ0Y7QU1oZ0hFO0VlOUdJO0lBRUk7RXJCZ25IUjtBQUNGO0FxQjVtSEk7RUFDRTtFQUNBO0VBQ0E7QXJCOG1ITjtBcUIxbUhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCNG1ISjtBcUIxbUhJO0VBQ0U7QXJCNG1ITjtBcUJ6bUhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQjJtSE47QUs3cEhJO0VnQnFESTtBckIybUhSO0FxQnRtSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckJ3bUhKO0FNMWlIRTtFZWxFQTtJQU9JO0lBQ0E7RXJCeW1ISjtBQUNGO0FxQnZtSEk7RUFDRTtBckJ5bUhOO0FxQnRtSEk7RUFDRTtBckJ3bUhOO0FxQnRtSE07RUFDRTtBckJ3bUhSO0FxQnJtSE07RUFDRTtBckJ1bUhSO0FxQm5tSEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckJxbUhOO0FNbGtIRTtFZXZDRTtJQU9JO0VyQnNtSE47QUFDRjtBTXZrSEU7RWU1Qk07SUFDRTtFckJzbUhSO0FBQ0Y7QXFCbm1ITTtFQUNFO0VBQ0E7RUFDQTtBckJxbUhSO0FxQmxtSE07RUFDRTtBckJvbUhSO0FxQmptSE07RUFDRTtBckJtbUhSO0FxQjlsSEU7RUFDRTtBckJnbUhKO0FNMWxIRTtFZVBBO0lBSUk7SUFDQTtJQUNBO0VyQmltSEo7QUFDRjtBTWptSEU7RWVQQTtJQVVJO0VyQmttSEo7QUFDRjtBcUJobUhJO0VBQ0U7QXJCa21ITjtBS3J1SEk7RWdCc0lJO0FyQmttSFI7QXFCN2xITTtFQUNFO0FyQitsSFI7QXFCNWxITTtFQUNFO0VBQ0E7RUFDQTtBckI4bEhSO0FxQjVsSFE7RUFDRTtFQUNBO0FyQjhsSFY7QXFCM2xIUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQjZsSFY7QUs3dkhJO0VnQm1LUTtFQUNBO0FyQjZsSFo7QXFCdmxISTtFQUNFO0VBQ0E7QXJCeWxITjtBTXpvSEU7RWVvREE7SUFFSTtJQUNBO0VyQnVsSEo7QUFDRjtBTS9vSEU7RWUyREE7OztJQUlJO0lBQ0E7RXJCc2xISjtFcUJwbEhJOzs7SUFDRTtJQUNBO0VyQndsSE47QUFDRjtBcUJybEhJOzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckJ5bEhOO0FxQnJsSEU7RUFDRTtBckJ1bEhKO0FxQnBsSEU7RUFDRTtBckJ5bEhKO0FxQjFsSEU7RUFFRTtFQUNBO0VBQ0E7QXJCc2xISjtBTTlxSEU7RWVvRkE7SUFPSTtFckJ1bEhKO0FBQ0Y7QU1uckhFO0Vlb0ZBO0lBV0k7RXJCeWxISjtFcUJwbUhBO0lBWUk7RXJCd2xISjtBQUNGO0FxQnRsSEk7RUFDRTtFQUNBO0FyQndsSE47QXFCcmxISTtFQUNFO0VBQ0E7RUFDQTtBckJ1bEhOO0FxQm5sSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQnFsSEo7QXFCbmxISTtFQUNFO0FyQnFsSE47QXFCamxIRTtFQUNFO0FyQm1sSEo7QXFCamxISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FyQm1sSE47QXFCL2tIRTs7OztFQUlFO0FyQmlsSEo7QXFCN2tISTs7OztFQUlFO0VBQ0E7QXJCK2tITjs7QXNCLzRIRTtFQUNFO0F0Qms1SEo7QXNCLzRIRTtFQUVFO0F0Qmc1SEo7QXNCNzRIRTtFQUNFO0F0Qis0SEo7QXNCNTRIRTtFQUlFO0F0QjI0SEo7QXNCdjRISTs7RUFFRTtBdEJ5NEhOO0FzQnQ0SEk7RUFDRTtFQUNBO0F0Qnc0SE47QXNCcjRISTtFQUNFO0VBQ0E7QXRCdTRITjs7QXVCdDZIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Qnk2SEo7QXVCdjZISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCeTZITjtBdUJ0NkhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJ3NkhOO0F1QnI2SEk7Ozs7OztFQU1FO0VBQ0E7VUFBQTtBdkJ1NkhOO0F1QnI2SE07Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdFO0F2QnM3SFI7QXVCbDdISTs7OztFQUVFO0VBQ0E7QXZCczdITjtBdUJqN0hJOztFQUVFO0F2Qm03SE47QXVCLzZITTtFQUNFO0F2Qmk3SFI7QXVCNzZISTs7O0VBR0U7QXZCKzZITjtBdUIxNkhFO0VBT0U7QXZCODZISjtBdUJyN0hFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtLQUFBO0F2QjQ2SEo7QXVCMTZISTtFQUNFO0VBQ0E7QXZCNDZITjtBdUJ4NkhFOztFQUVFO0F2QjA2SEo7QXVCcjZITTtFQUNFO0F2QnU2SFI7QU0vMUhFO0VpQnpFSTtJQUlJO0V2Qnc2SFI7QUFDRjtBTXAySEU7RWlCOURNO0lBQ0U7RXZCcTZIUjtBQUNGOztBdUI3NUhFO0VBQ0U7QXZCZzZISjs7QXdCNWhJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4QitoSUo7QXdCNWhJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCOGhJSjtBd0I1aElJO0VBQ0U7RUFDQTtFQUtBO0VBQ0E7QXhCMGhJTjs7QXlCampJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekJvaklGO0F5QmxqSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekJvaklKO0F5QmxqSUk7RUFFRTtFQUNBO0F6Qm1qSU47QXlCL2lJRTtFQUNFO0VBQ0E7QXpCaWpJSjtBeUIvaUlJO0VBRUU7QXpCa2pJTjtBeUJwaklJO0VBQ0U7RUFFQTtBekJpaklOO0FLL2hJSTtFb0JmSTtBekJpaklSO0F5QjdpSUk7RUFDRTtBekIraUlOO0F5QjVpSUk7RUFDRTtBekI4aUlOOztBMEIzbElFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTFCOGxJSjtBMEIzbElNO0VBQ0U7QTFCNmxJUjtBMEIzbElRO0VBQ0U7QTFCNmxJVjtBMEIxbElRO0VBQ0U7QTFCNGxJVjs7QTJCeG1JQTs7Ozs7Ozs7Ozs7RUFXRTtFQUNBO0VBQ0E7RUFDQTtBM0IybUlGOztBMkJ4bUlBO0VBQ0U7QTNCMm1JRjs7QTJCeG1JQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQjJtSUY7QU0xOUhFO0VxQnZKRjs7SUFTSTtFM0I2bUlGO0FBQ0Y7O0EyQjFtSUE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0I2bUlGO0EyQjNtSUU7Ozs7O0VBQ0U7QTNCaW5JSjtBTWgvSEU7RXFCMUlGOztJQWFJO0UzQmtuSUY7QUFDRjs7QTJCL21JQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQmtuSUY7QU0vL0hFO0VxQnpIRjs7SUFTSTtFM0JvbklGO0FBQ0Y7O0EyQmpuSUE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0JvbklGOztBMkJqbklBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0JvbklGOztBMkJqbklBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0JvbklGOztBMkJobklFO0VBRUU7QTNCa25JSjtBMkJobklJO0VBQ0U7RUFDQTtFQUNBO0EzQmtuSU47QTJCOW1JRTtFQUNFO0EzQmduSUo7QTJCN21JRTs7O0VBRUU7QTNCZ25JSjtBMkI5bUlJOztFQUNFO0VBQ0E7RUFDQTtBM0JpbklOO0EyQjdtSUU7O0VBQ0U7QTNCZ25JSjtBMkI3bUlFO0VBRUU7QTNCOG1JSjtBMkI1bUlJO0VBQ0U7RUFDQTtFQUNBO0EzQjhtSU47QTJCMW1JRTtFQUNFO0EzQjRtSUo7QTJCem1JRTtFQUVFO0EzQjBtSUo7QTJCeG1JSTtFQUNFO0VBQ0E7RUFDQTtBM0IwbUlOO0EyQnRtSUU7RUFDRTtBM0J3bUlKO0EyQnJtSUU7RUFFRTtBM0JzbUlKO0EyQnBtSUk7RUFDRTtFQUNBO0VBQ0E7QTNCc21JTjtBMkJsbUlFO0VBQ0U7QTNCb21JSjtBMkJqbUlFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTNCbW1JSjtBMkJqbUlJO0VBQ0U7QTNCbW1JTjtBMkJsbElBOzs7RUFHRTtBM0JvbElGOztBMkJqbElBOzs7RUFHRTtBM0JvbElGOztBMkJqbElBO0VBQ0U7QTNCb2xJRjtBMkJsbElFO0VBQ0U7QTNCb2xJSjtBTXJuSUU7RXFCZ0NBO0lBSUk7RTNCcWxJSjtBQUNGO0EyQmxsSUU7RUFFRTtBM0JtbElKO0EyQmhsSUU7RUFDRTtBM0JrbElKO0EyQi9rSUU7RUFDRTtBM0JpbElKOztBMkI3a0lBO0VBTUU7QTNCZ2xJRjs7QTJCdGxJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCaWxJRjtBMkI5a0lFO0VBQ0U7QTNCZ2xJSjs7QTJCNWtJQTs7RUFFRTtBM0Ira0lGOztBMkI1a0lBOztFQUVFO0EzQitrSUY7O0EyQjVrSUE7O0VBRUU7QTNCK2tJRjs7QTJCNWtJQTs7RUFFRTtBM0Ira0lGOztBMkIza0lFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFXRTtBM0J3bElKO0EyQnJsSUU7RUFDRTtBM0J1bElKO0EyQnBsSUU7RUFDRTtBM0JzbElKO0EyQmxsSUk7Ozs7Ozs7OztFQUtFO0EzQndsSU47QTJCbmxJSTtFQUNFO0EzQnFsSU47QTJCamxJRTtFQUNFO0VBQ0E7QTNCbWxJSjtBMkJobElFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0JrbElKO0EyQmhsSUk7OztFQU1FO0tBQUE7QTNCb2xJTjtBMkIxbElJOzs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0EzQm1sSU47QTJCaGxJSTtFQUNFO0VBQ0E7RUFDQTtBM0JrbElOO0EyQi9rSUk7RUFDRTtBM0JpbElOO0EyQjdrSUU7RUFDRTtFQUNBO0VBQ0E7QTNCK2tJSjtBMkI3a0lJO0VBQ0U7QTNCK2tJTjtBMkIza0lFO0VBQ0U7RUFDQTtFQUNBO0EzQjZrSUo7QU16dklFO0VxQnlLQTtJQU1JO0UzQjhrSUo7QUFDRjtBMkI1a0lJO0VBQ0U7RUFDQTtBM0I4a0lOO0FNbHdJRTtFcUJrTEU7SUFLSTtFM0Ira0lOO0FBQ0Y7QTJCN2tJTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCK2tJUjtBTTl3SUU7RXFCMExJO0lBUUk7RTNCZ2xJUjtBQUNGO0EyQjNrSUU7OztFQUVFO0EzQjhrSUo7QTJCNWtJSTs7O0VBQ0U7RUFDQTtBM0JnbElOO0EyQjlrSU07OztFQUNFO0VBQ0E7QTNCa2xJUjtBMkIva0lNOzs7RUFDRTtBM0JtbElSO0EyQmhsSU07OztFQUNFO0VBQ0E7QTNCb2xJUjtBMkJsbElROzs7RUFDRTtBM0JzbElWO0EyQmxsSU07OztFQUNFO0VBQ0E7QTNCc2xJUjtBMkJubElNOzs7OztFQUNFO0EzQnlsSVI7QTJCcmxJSTs7Ozs7OztFQUVFO0VBQ0E7QTNCNGxJTjtBMkJ2bElJO0VBQ0U7RUFDQTtBM0J5bElOO0EyQnZsSU07RUFDRTtBM0J5bElSO0EyQnRsSU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0J3bElSO0EyQnBsSVE7RUFDRTtFQUNBO0EzQnNsSVY7QTJCamxJSTs7O0VBRUU7QTNCb2xJTjtBMkJqbElJO0VBQ0U7RUFDQTtBM0JtbElOO0EyQi9rSUU7RUFDRTtBM0JpbElKO0EyQjdrSU07OztFQUNFO0EzQmlsSVI7QTJCN2tJSTtFQUNFO0VBQ0E7RUFDQTtBM0Ira0lOO0EyQjdrSU07RUFDRTtBM0Ira0lSO0EyQjVrSU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0I4a0lSO0EyQjFrSVE7RUFDRTtFQUNBO0VBQ0E7QTNCNGtJVjtBMkJ2a0lJOzs7RUFFRTtBM0Iwa0lOO0EyQnhrSU07O0VBQ0U7QTNCMmtJUjtBMkJ4a0lNOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Iya0lSO0EyQnhrSU07Ozs7Ozs7RUFFRTtBM0Ira0lSO0EyQjdrSVE7Ozs7O0VBQ0U7QTNCbWxJVjtBMkJqbElVOzs7OztFQUNFO0EzQnVsSVo7QTJCbGxJUTs7Ozs7Ozs7Ozs7Ozs7O0VBRUU7QTNCaW1JVjtBMkIvbElVOzs7Ozs7Ozs7OztFQUNFO0EzQjJtSVo7QTJCem1JWTs7Ozs7Ozs7Ozs7RUFDRTtBM0JxbklkO0EyQjdtSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCK21JSjtBTXYvSUU7RXFCa1lBO0lBU0k7RTNCZ25JSjtBQUNGO0EyQjltSUk7RUFDRTtFQUNBO0VBQ0E7QTNCZ25JTjtBMkI3bUlJO0VBQ0U7QTNCK21JTjtBMkI3bUlNO0VBQ0U7QTNCK21JUjtBMkI3bUlRO0VBQ0U7QTNCK21JVjtBMkIzbUlNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0I2bUlSO0EyQjNtSVE7RUFDRTtFQUNBO0EzQjZtSVY7QTJCMW1JUTtFQUNFO0VBQ0E7QTNCNG1JVjtBMkJ2bUlRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0J5bUlWOztBNEJodEpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUJtdEpGO0E0Qmp0SkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Qm10Sko7QU1yakpFO0VzQnRLQTtJQVdJO0U1Qm90Sko7QUFDRjtBNEJsdEpJO0VBQ0U7QTVCb3RKTjtBNEJqdEpJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Qm10Sk47QUtqc0pJO0V1QmZJO0E1Qm10SlI7QTRCaHRKTTtFQUNFO0VBQ0E7RUFDQTtBNUJrdEpSO0E0Qi9zSk07RUFDRTtFQUNBO0E1Qml0SlI7QTRCNXNKRTtFQUNFO0VBQ0E7RUFDQTtBNUI4c0pKO0E0QjNzSkU7RUFDRTtFQUNBO0E1QjZzSko7QU0xbEpFO0VzQjlHSTtJQUNFO0lBQ0E7RTVCMnNKTjtFNEJ4c0pJO0lBQ0U7SUFDQTtFNUIwc0pOO0FBQ0Y7O0E2Qmh4SkE7RUFJRTtBN0JveEpGOztBNkJ4eEpBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7QTdCbXhKRjtBNkJqeEpFO0VBQ0U7QTdCbXhKSjtBNkJoeEpFO0VBQ0U7RUFDQTtFQUNBO0E3Qmt4Sko7QTZCL3dKRTtFQUdFO0E3Qml4Sko7QTZCcHhKRTtFQUNFO0VBQ0E7QTdCa3hKSjtBNkI5d0pFO0VBRUU7QTdCK3dKSjtBNkI1d0pFO0VBQ0U7QTdCOHdKSjtBNkIxd0pJO0VBQ0U7RUFDQTtBN0I0d0pOOztBQXJ3SkE7RUFDRTtBQXd3SkY7QUFyd0pJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBdXdKTjtBQWh3Skk7RUFDRTtBQWt3Sk47QUFod0pNO0VBQ0U7RUFDQTtBQWt3SlI7QUE5dkpJO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQSt2Sk47QUE1dkpJO0VBQ0U7QUE4dkpOO0FBM3ZKSTtFQUNFO0FBNnZKTjtBQXp2Sk07RUFFRTtBQTB2SlI7QUFudkpNO0VBQ0U7QUFxdkpSO0FBdHZKTTtFQUNFO0FBcXZKUjtBTTVxSkU7RU4xRUk7SUFJSTtFQXN2SlI7RUExdkpJO0lBSUk7RUFzdkpSO0FBQ0Y7QUEvdUpVO0VBQ0U7QUFpdkpaO0FBbHZKVTtFQUNFO0FBaXZKWjtBQTF1SkU7RUFDRTtBQTR1Sko7QU12ckpFO0VOdERBO0lBSUk7RUE2dUpKO0FBQ0Y7QUF2dUpNO0VBQ0U7QUF5dUpSOztBQWx1SkU7RUFNRTtBQW91Sko7O0FBMXVKRTtFQUdFO0VBQ0E7RUFDQTtFQUVBO0FBbXVKSjtBTXZzSkU7RU5uQ0E7SUFVSTtFQXF1Sko7RUEvdUpBO0lBV0k7RUFvdUpKO0FBQ0Y7QUFqdUpFO0VBQ0U7QUFtdUpKOztBOEIvM0pFOztFQUVFO0E5Qms0Sko7O0ErQnA0SkU7RUFDRTtFQUNBO0EvQnU0Sko7QStCcjRKSTtFQUVFO0EvQnM0Sk47QStCbjRKSTtFQUNFO0EvQnE0Sk47QU1odUpFO0V5QnRLRTtJQUlJO0UvQnM0Sk47QUFDRjtBK0JsNEpFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0JvNEpKO0FNNXVKRTtFeUI3SkE7SUFRSTtFL0JxNEpKO0UrQm40Skk7SUFDRTtFL0JxNEpOO0FBQ0Y7QStCbDRKSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvQm80Sk47QStCbDRKTTtFQUNFO0VBQ0E7QS9CbzRKUjtBK0JqNEpNO0VBQ0U7QS9CbTRKUjtBK0JoNEpNO0VBQ0U7QS9CazRKUjtBK0IvM0pNO0VBQ0U7RUFDQTtBL0JpNEpSO0ErQjczSkk7RUFDRTtBL0IrM0pOO0ErQjUzSkk7RUFDRTtBL0I4M0pOO0ErQngzSk07RUFDRTtBL0IwM0pSO0ErQnAzSkk7RUFDRTtBL0JzM0pOO0ErQnAzSk07RUFFRTtBL0JxM0pSO0ErQm4zSlE7RUFDRTtBL0JxM0pWO0ErQi8ySkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0JpM0pKO0FNaHlKRTtFeUJyRkE7SUFPSTtFL0JrM0pKO0FBQ0Y7QStCLzJKRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvQmkzSko7QU0zeUpFO0V5Qm5FSTtJQUVJO0UvQmczSlI7QUFDRjtBK0IzMkpFO0VBRUU7QS9CODJKSjtBK0JoM0pFO0VBQ0U7RUFFQTtBL0I2MkpKO0ErQjEySkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CNDJKSjtBTTd6SkU7RXlCckRBO0lBU0k7RS9CNjJKSjtFK0IzMkpJO0lBQ0U7RS9CNjJKTjtBQUNGO0FNcjBKRTtFeUJyREE7SUFpQkk7SUFDQTtJQUNBO0UvQjYySko7RStCMTJKTTtJQUNFO0lBQ0E7RS9CNDJKUjtFK0J6MkpNO0lBQ0U7SUFDQTtFL0IyMkpSO0UrQngySk07SUFDRTtJQUNBO0UvQjAySlI7RStCdDJKSTtJQUNFO0UvQncySk47QUFDRjs7QU0zMUpFO0V5QlBBO0lBRUk7RS9CcTJKSjtFK0J2MkpBO0lBRUk7RS9CcTJKSjtBQUNGOztBZ0M3Z0tFO0VBQ0U7QWhDZ2hLSjtBTXIySkU7RTBCeEtBO0lBRUk7RWhDK2dLSjtBQUNGO0FNMTJKRTtFMEJuS0U7SUFFSTtFaEMrZ0tOO0FBQ0Y7QWdDM2dLTTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FoQzRnS1I7QWdDemdLTTtFQUNFO0FoQzJnS1I7QWdDeGdLTTtFQUNFO0FoQzBnS1I7QWdDdGdLSTtFQUNFO0FoQ3dnS047QWdDcGdLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhDc2dLSjtBZ0NuZ0tNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQ3FnS1I7QU03NEpFO0UwQjlISTtJQVNJO0lBQ0E7RWhDc2dLUjtBQUNGO0FnQ25nS007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaENxZ0tSO0FnQy8vSkk7RUFDRTtFQUNBO0FoQ2lnS047QWdDNy9KTTs7OztFQUVFO0FoQ2lnS1I7QWdDOS9KTTtFQUNFO0FoQ2dnS1I7QWdDMS9KSTtFQUNFO0FoQzQvSk47QWdDei9KSTtFQUNFO0FoQzIvSk47QU1sN0pFO0UwQnJFTTtJQUVJO0VoQ3kvSlY7QUFDRjtBZ0NwL0pJO0VBQ0U7QWhDcy9KTjtBTTE3SkU7RTBCeERNO0lBRUk7RWhDby9KVjtBQUNGO0FnQzMrSk07RUFDRTtBaEM2K0pSO0FnQ3YrSk07RUFDRTtBaEN5K0pSO0FnQ24rSkk7RUFDRTtFQUNBO0FoQ3ErSk47QU16OEpFO0UwQjlCRTtJQUtJO0VoQ3MrSk47QUFDRjs7QWlDN25LRTtFQUNFO0FqQ2dvS0o7QWlDN25LRTtFQUNFO0VBQ0E7QWpDK25LSjtBTXQ5SkU7RTJCM0tBO0lBTUk7RWpDK25LSjtBQUNGO0FNMzlKRTtFMkJqS0k7SUFDRTtFakMrbktOO0FBQ0Y7QWlDNW5LSTtFQUNFO0VBQ0E7QWpDOG5LTjtBaUN0bktFO0VBQ0U7RUFDQTtFQUNBO0FqQ3duS0o7QWlDcm5LRTtFQUNFO0VBQ0E7RUFDQTtBakN1bktKO0FpQ3RuS0k7RUFDRTtFQUNBO0FqQ3duS047QWlDdG5LTTtFQUNFO0FqQ3duS1I7QWlDbm5LTTtFQUNFO0FqQ3FuS1I7QWlDbm5LUTtFQUNFO0FqQ3FuS1Y7QWlDNW1LWTtFQUNFO0VBQ0E7RUFDQTtBakM4bUtkO0FpQ3ptS2dCO0VBQ0U7RUFDQTtFQUNBO0FqQzJtS2xCO0FpQzlsS007RUFDRTtBakNnbUtSO0FpQzVsS1E7RUFDRTtBakM4bEtWO0FpQzNsS1E7RUFDRTtFQUNBO0VBQ0E7RUFFQTtBakM0bEtWO0FpQ3RsS1U7RUFDRTtBakN3bEtaO0FpQ3psS1U7RUFDRTtBakN3bEtaO0FpQ3BsS1E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakNzbEtWO0FpQzFsS1E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakNzbEtWO0FpQzVrS1U7RUFDRTtBakM4a0taO0FpQzNrS1U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakM2a0taO0FpQ3RrS0U7RUFDRTtFQUNBO0FqQ3drS0o7QWlDdGtLSTtFQUNFO0FqQ3drS047QWlDbmtLSTtFQUNFO0FqQ3FrS047QWlDbGtLSTtFQUNFO0FqQ29rS047QU1oaktFO0UyQnJCRTtJQUtJO0VqQ3FrS047RWlDMWtLRTtJQUlJO0VqQ3NrS047QUFDRjtBaUNsa0tJO0VBQ0U7QWpDb2tLTjtBaUNqa0tJO0VBQ0U7QWpDbWtLTjtBaUM3aktNO0VBQ0U7QWpDK2pLUjtBaUMxaktFO0VBQ0U7RUFDQTtFQUNBO0FqQzRqS0o7QWlDMWpLSTtFQUNFO0FqQzRqS047QWlDMWpLTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpDNGpLUjtBTTFsS0U7RTJCYUk7SUFvQkk7SUFDQTtJQUNBO0lBQ0E7RWpDNmpLUjtBQUNGO0FpQzNqS1E7RUFDRTtJQUFNO0VqQzhqS2Q7RWlDN2pLUTtJQUFNO0lBQXNCO0lBQXlEO0VqQ2trSzdGO0VpQ2prS1E7SUFBTTtJQUFzQjtJQUF5RDtFakNza0s3RjtFaUNya0tRO0lBQU07RWpDd2tLZDtBQUNGO0FpQ3RrS1E7RUFDRTtFQUNBO0FqQ3drS1Y7QWlDbmtLUTtFQUVFO0FqQ3NrS1Y7QWlDeGtLUTtFQUNFO0VBRUE7QWpDcWtLVjtBaUMvaktFO0VBQ0U7RUFDQTtFQUNBO0FqQ2lrS0o7QU1sb0tFO0UyQjhEQTtJQU1JO0VqQ2trS0o7QUFDRjtBaUMvaktNO0VBQ0U7QWpDaWtLUjtBTTFvS0U7RTJCOEVBO0lBRUk7RWpDOGpLSjtBQUNGO0FNL29LRTtFMkJxRkk7SUFFSTtFakM0aktSO0FBQ0Y7QWlDdmpLTTtFQUNFO0FqQ3lqS1I7QWlDdGpLTTtFQUNFO0VBQ0E7RUFDQTtBakN3aktSO0FpQ3BqS0k7RUFDRTtBakNzaktOO0FNL3BLRTtFMkI4R007SUFDRTtFakNvaktSO0VpQ3JqS007SUFDRTtFakNvaktSO0FBQ0Y7QWlDaGpLSTtFQUNFO0FqQ2tqS047QWlDaGpLTTtFQUNFO0FqQ2tqS1I7QWlDaGpLUTtFQUNFO0VBQ0E7RUFDQTtBakNraktWO0FpQzVpS0U7RUFDRTtFQUNBO0FqQzhpS0o7QU1ucktFO0UyQm1JQTtJQUtJO0VqQytpS0o7QUFDRjtBaUM1aUtFO0VBQ0U7RUFDQTtFQUNBO0FqQzhpS0o7QWlDNWlLSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqQzhpS047O0FpQ3ppS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakM0aUtGO0FNcHRLRTtFMkIwSkY7SUFpQkk7RWpDNmlLRjtBQUNGO0FpQzNpS0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakM2aUtKO0FpQzNpS0k7RUFDRTtBakM2aUtOO0FpQzFpS0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakM0aUtOO0FpQ3ppS0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakMyaUtOO0FpQ3ZpS0U7RUFDRTtFQUNBO0FqQ3lpS0o7QWlDdmlLSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqQ3lpS047QWlDdGlLSTtFQUNFO0VBQ0E7QWpDd2lLTjtBaUNyaUtJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpDdWlLTjs7QU1yd0tFO0UyQm1PRjtJQUVJO0VqQ3FpS0Y7QUFDRjs7QWlDbGlLQTs7O0VBR0U7QWpDcWlLRjs7QWlDbGlLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNxaUtGO0FpQ25pS0U7RUFDRTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QWpDcWlLSjtBaUNsaUtFO0VBQ0U7QWpDb2lLSjtBaUNqaUtFO0VBQ0U7RUFDQTtBakNtaUtKO0FpQ2ppS0k7RUFDRTtBakNtaUtOO0FpQzNoS0k7RUFDRTtBakM2aEtOOztBaUN4aEtBO0VBQ0U7RUFDQTtFQUNBO0FqQzJoS0Y7O0FpQ3hoS0E7RUFDRTtBakM4aEtGOztBaUMvaEtBO0VBRUU7RUFDQTtFQUFBO0VBQ0E7QWpDMmhLRjtBaUN6aEtFO0VBQ0U7QWpDMmhLSjtBTS96S0U7RTJCd1NFO0lBQ0U7RWpDMGhLSjtFaUN2aEtFO0lBQ0U7RWpDeWhLSjtFaUMxaEtFO0lBQ0U7RWpDeWhLSjtBQUNGO0FNdjBLRTtFMkJrVEU7SUFDRTtFakN3aEtKO0VpQ3poS0U7SUFDRTtFakN3aEtKO0FBQ0Y7O0FpQ3BoS0E7RUFDRTtFQUNBO0VBQ0E7QWpDdWhLRjtBaUNyaEtFO0VBQ0U7QWpDdWhLSjtBaUNwaEtFO0VBQ0U7RUFDQTtBakNzaEtKO0FpQ3BoS0k7RUFDRTtBakNzaEtOO0FpQ2xoS0U7RUFDRTtFQUNBO0FqQ29oS0o7QWlDamhLRTtFQUNFO0VBQ0E7QWpDbWhLSjtBaUNqaEtJO0VBQ0U7QWpDbWhLTjtBaUMvZ0tFO0VBQ0U7RUFDQTtBakNpaEtKO0FNMzJLRTtFMkJ3VkE7SUFLSTtJQUNBO0VqQ2toS0o7QUFDRjtBaUNoaEtJO0VBQ0U7QWpDa2hLTjs7QWtDbmlMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsQ3NpTEo7QWtDcGlMSTtFQUNFO0VBQ0E7QWxDc2lMTjtBa0NsaUxFO0VBQ0U7RUFDQTtFQUNBO0FsQ29pTEo7QWtDbGlMSTtFQUNFO0VBQ0E7QWxDb2lMTjtBa0NsaUxNO0VBQ0U7QWxDb2lMUjtBa0NqaUxNO0VBQ0U7QWxDbWlMUjtBa0MvaExJO0VBQ0U7QWxDaWlMTjtBa0M5aExRO0VBQ0U7RUFDQTtFQUNBO0FsQ2dpTFY7QWtDMWhMRTtFQUNFO0FsQzRoTEo7QWtDMWhMSTtFQUNFO0VBQ0E7RUFDQTtBbEM0aExOO0FrQzFoTE07RUFDRTtBbEM0aExSO0FrQ3hoTEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQzBoTE47QWtDeGhMTTtFQUNFO0VBQ0E7QWxDMGhMUjtBa0N2aExNO0VBQ0U7QWxDeWhMUjtBa0NyaExJO0VBQ0U7RUFDQTtFQUNBO0FsQ3VoTE47QWtDbGhMSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDb2hMTjtBa0NsaExNO0VBQ0U7RUFDQTtBbENvaExSO0FrQ2poTE07RUFDRTtBbENtaExSO0FrQzlnTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbENnaExKO0FrQzlnTEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbENnaExOO0FrQzlnTE07RUFDRTtFQUNBO0FsQ2doTFI7QWtDM2dMRTtFQUNFO0VBQ0E7RUFDQTtBbEM2Z0xKO0FrQzFnTEU7RUFDRTtBbEM0Z0xKO0FrQzFnTEk7RUFDRTtFQUNBO0FsQzRnTE47QUtsbExFO0U2QnlFTTtBbEM0Z0xSO0FLbGxMRTtFNkJzRU07QWxDK2dMUjtBS2xsTEU7RTZCbUVNO0FsQ2toTFI7QUtsbExFO0U2QmdFTTtBbENxaExSOztBa0M5Z0xFO0VBQ0U7RUFDQTtFQUNBO0FsQ2loTEo7QWtDL2dMSTtFQUNFO0FsQ2loTE47QWtDN2dMRTtFQUNFO0VBQ0E7RUFDQTtBbEMrZ0xKO0FNOS9LRTtFNEJwQkE7SUFNSTtFbENnaExKO0FBQ0Y7QU1uZ0xFO0U0QnBCQTtJQVVJO0lBQ0E7RWxDaWhMSjtBQUNGOztBa0M3Z0xBO0VBQ0U7QWxDZ2hMRjtBTTdnTEU7RTRCSkY7SUFJSTtJQUNBO0VsQ2loTEY7QUFDRjtBTW5oTEU7RTRCSkY7SUFTSTtFbENraExGO0FBQ0Y7QWtDaGhMRTtFQUNFO0FsQ2toTEo7QU0zaExFO0U0QlFBO0lBSUk7SUFDQTtJQUFBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxDbWhMSjtFa0NqaExJO0lBQ0U7RWxDbWhMTjtBQUNGO0FrQ2hoTEk7RUFDRTtBbENraExOO0FrQ2hoTE07RUFDRTtBbENraExSOztBa0M1Z0xBO0VBQ0U7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QWxDK2dMRjtBa0M3Z0xFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7S0FBQTtBbEMrZ0xKO0FrQzVnTEU7RUFDRTtBbEM4Z0xKO0FrQzVnTEk7RUFDRTtBbEM4Z0xOO0FrQzNnTEk7RUFDRTtBbEM2Z0xOO0FrQzFnTEk7RUFDRTtBbEM0Z0xOO0FrQzFnTE07O0VBRUU7QWxDNGdMUjtBa0N2Z0xFO0VBQ0U7QWxDeWdMSjtBa0N0Z0xFO0VBQ0U7QWxDd2dMSjtBa0NyZ0xFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxDdWdMSjtBa0NwZ0xFO0VBRUU7QWxDcWdMSjtBa0NsZ0xFO0VBQ0U7RUFDQTtBbENvZ0xKO0FrQ2xnTEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQ29nTE47QWtDbGdMTTtFQUNFO0VBQ0E7QWxDb2dMUjtBa0NoZ0xRO0VBQ0U7QWxDa2dMVjtBa0MzL0tJO0VBQ0U7RUFDQTtFQUNBO0FsQzYvS047QWtDMy9LTTtFQUNFO0VBQ0E7RUFDQTtBbEM2L0tSO0FrQ3YvS0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEN5L0tOO0FrQ3IvS0U7RUFDRTtBbEN1L0tKO0FrQ3AvS0U7RUFDRTtBbENzL0tKOztBa0NsL0tBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RWxDcS9LRjtFa0NuL0tFO0lBQ0U7RWxDcS9LSjtFa0NsL0tFO0lBQ0U7SUFDQTtJQUNBO0VsQ28vS0o7RWtDaC9LSTtJQUNFO0VsQ2svS047RWtDOStLRTtJQUNFO0VsQ2cvS0o7RWtDNytLRTtJQUNFO0VsQysrS0o7QUFDRjtBa0MzK0tBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQzYrS0Y7QU0zcUxFO0U0QmtMRjtJQWVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxDOCtLRjtBQUNGO0FrQzUrS0U7RUFDRTtFQUNBO0FsQzgrS0o7QWtDMytLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDNitLSjtBa0MzK0tJO0VBQ0U7QWxDNitLTjtBa0N6K0tFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEMyK0tKO0FrQ3grS0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDMCtLSjtBa0N2K0tFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEN5K0tKO0FrQ3YrS0k7RUFDRTtBbEN5K0tOO0FLaDJMSTtFNkIyWEU7RUFDQTtBbEN3K0tOO0FrQ3QrS007RUFDRTtBbEN3K0tSO0FrQ24rS0U7RUFDRTtFQUNBO0FsQ3ErS0o7QWtDbitLSTtFQUNFO0VBQ0E7QWxDcStLTjtBa0NsK0tJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbENvK0tOO0FrQ2wrS007RUFDRTtBbENvK0tSO0FrQy85S0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQ2krS0o7QWtDOTlLTTtFQUNFO0VBQ0E7QWxDZytLUjtBa0M5OUtRO0VBQ0U7QWxDZytLVjtBa0M3OUtRO0VBQ0U7QWxDKzlLVjtBa0MxOUtJO0VBQ0U7QWxDNDlLTjtBa0N6OUtJO0VBQ0U7QWxDMjlLTjs7QW1DdDhMRTtFQUNFO0VBQ0E7RUFDQTtBbkN5OExKO0FtQ3Y4TEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkN5OExOO0FtQ3Q4TEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkN3OExOO0FNNXlMRTtFNkIvS0E7SUF1Qkk7RW5DdzhMSjtBQUNGO0FtQ3Q4TEk7RUFDRTtBbkN3OExOO0FtQ3I4TEk7RUFDRTtFQUNBO0FuQ3U4TE47QU14ekxFO0U2QmpKRTtJQUtJO0VuQ3c4TE47QUFDRjtBbUNwOExFO0VBQ0U7RUFDQTtFQUNBO0FuQ3M4TEo7QW1DcDhMSTtFQUNFO0FuQ3M4TE47QW1DbDhMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5DbzhMSjs7QW9DMS9MSTtFQUNFO0VBQ0E7QXBDNi9MTjtBb0N2L0xNOztFQUVFO0VBQ0E7QXBDeS9MUjtBb0NsL0xNO0VBQ0U7RUFDQTtBcENvL0xSO0FvQ2ovTE07RUFDRTtFQUNBO0FwQ20vTFI7QW9Dai9MUTtFQUdFO0tBQUE7QXBDbS9MVjtBb0N0L0xRO0VBQ0U7RUFDQTtBcENvL0xWO0FvQzkrTEk7RUFDRTtBcENnL0xOO0FvQzkrTE07RUFDRTtLQUFBO0FwQ2cvTFI7QW9DMytMRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEM0K0xKO0FvQzErTEk7RUFDRTtFQUNBO0FwQzQrTE47QW9DMStMTTtFQUNFO0FwQzQrTFI7QW9DeCtMSTtFQUNFO0FwQzArTE47QW9DditMSTtFQUNFO0VBQ0E7QXBDeStMTjtBTS8zTEU7RThCbElBO0lBNEJJO0lBQ0E7SUFDQTtFcEN5K0xKO0VvQ3YrTEk7SUFDRTtFcEN5K0xOO0VvQ3QrTEk7SUFDRTtJQUNBO0VwQ3crTE47RW9DdCtMTTtJQUNFO0VwQ3crTFI7RW9DcitMVTtJQUNFO0lBQ0E7RXBDdStMWjtBQUNGO0FNcDVMRTtFOEIzRUU7SUFFSTtFcENpK0xOO0VvQy85TE07SUFDRTtFcENpK0xSO0VvQzk5TE07SUFDRTtFcENnK0xSO0FBQ0Y7QU0vNUxFO0U4QjdERTtJQUVJO0VwQzg5TE47RW9DNTlMTTtJQUNFO0VwQzg5TFI7RW9DMzlMTTtJQUNFO0VwQzY5TFI7QUFDRjtBb0N6OUxJO0VBQ0U7QXBDMjlMTjtBTTc2TEU7RThCL0NFO0lBSUk7RXBDNDlMTjtBQUNGO0FvQzE5TE07RUFDRTtBcEM0OUxSO0FvQ3g5TEk7RUFDRTtBcEMwOUxOO0FvQ3g5TE07RUFDRTtBcEMwOUxSO0FNMzdMRTtFOEJuQ0U7SUFRSTtFcEMwOUxOO0FBQ0Y7QU1oOExFO0U4Qm5DRTtJQVlJO0VwQzI5TE47QUFDRjtBb0N4OUxJO0VBQ0U7RUFDQTtFQUNBO0FwQzA5TE47QW9DejlMTTtFQUNFO0VBQ0E7RUFDQTtBcEMyOUxSO0FNLzhMRTtFOEJUSTtJQUVJO0VwQzA5TFI7RW9DNTlMSTtJQUVJO0VwQzA5TFI7QUFDRjtBb0N0OUxJO0VBQ0U7RUFDQTtBcEN3OUxOO0FvQ3Q5TE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEN3OUxSO0FvQ3I5TE07RUFDRTtBcEN1OUxSO0FvQ2w5TEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcENvOUxKO0FvQ2w5TEk7O0VBRUU7QXBDbzlMTjtBb0NqOUxJO0VBQ0U7QXBDbTlMTjtBTWovTEU7RThCaUNFO0lBRUk7SUFDQTtFcENrOUxOO0FBQ0Y7QU12L0xFO0U4QjBDTTtJQUNFO0VwQ2c5TFI7RW9DNzhMTTtJQUNFO0VwQys4TFI7RW9DNThMTTtJQUNFO0VwQzg4TFI7QUFDRjtBb0MxOExJO0VBQ0U7RUFDQTtFQUNBO0FwQzQ4TE47QW9DMThMTTtFQUNFO0FwQzQ4TFI7QW9DejhMTTtFQUNFO0FwQzI4TFI7QW9DeDhMTTtFQUNFO0VBQ0E7QXBDMDhMUjtBb0N2OExNO0VBQ0U7RUFDQTtBcEN5OExSO0FNcmhNRTtFOEJpRkk7SUFDRTtJQUNBO0VwQ3U4TE47RW9DcDhMSTtJQUNFO0lBQ0E7RXBDczhMTjtBQUNGO0FvQ2w4TEU7RUFDRTtFQUNBO0VBQ0E7QXBDbzhMSjtBTXBpTUU7RThCNkZBO0lBTUk7RXBDcThMSjtBQUNGO0FNemlNRTtFOEJ3R0U7SUFFSTtFcENtOExOO0FBQ0Y7QW9DaDhMSTtFQUNFO0FwQ2s4TE47QW9DNTdMTTtFQUNFO0FwQzg3TFI7QW9DejdMTTtFQUNFO0FwQzI3TFI7QU12ak1FO0U4QmdJRTtJQUVJO0lBQ0E7SUFBQTtFcEN5N0xOO0FBQ0Y7QU03ak1FO0U4QnNJSTtJQUVJO0VwQ3k3TFI7QUFDRjtBTWxrTUU7RThCc0lJO0lBTUk7RXBDMDdMUjtBQUNGO0FNdmtNRTtFOEJnSkk7SUFFSTtJQUNBO0lBQ0E7SUFBQTtFcEN5N0xSO0FBQ0Y7QU05a01FO0U4QmdKSTtJQVFJO0lBQ0E7SUFDQTtJQUFBO0VwQzA3TFI7QUFDRjtBTXJsTUU7RThCK0pFO0lBRUk7SUFDQTtJQUFBO0VwQ3c3TE47RW9DdDdMTTtJQUNFO0lBQ0E7SUFDQTtJQUFBO0VwQ3c3TFI7RW9DcjdMTTtJQUNFO0VwQ3U3TFI7QUFDRjs7QW9DajdMQTtFQUNFO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QXBDbzdMRjtBTTFtTUU7RThCa0xGO0lBT0k7RXBDcTdMRjtFb0NwN0xFO0lBRUU7RXBDcTdMSjtBQUNGO0FNbG5NRTtFOEJpTUU7SUFJSTtFcENvN0xOO0VvQ3g3TEU7SUFFSTtJQUNBO0lBRUE7RXBDbTdMTjtFb0NqN0xNOzs7O0lBRUU7RXBDczdMUjtFb0N4N0xNOzs7O0lBR0U7RXBDcTdMUjtFb0NsN0xNO0lBQ0U7RXBDcTdMUjtFb0N0N0xNO0lBRUU7RXBDbzdMUjtBQUNGO0FNcm9NRTtFOEJ1Tkk7SUFFSTtFcENnN0xSO0FBQ0Y7QU0xb01FO0U4QmdPSTtJQUVJO0VwQzQ2TFI7QUFDRjtBTS9vTUU7RThCd09JO0lBRUk7RXBDeTZMUjtBQUNGO0FNcHBNRTtFOEJpUEU7SUFLSTtFcENxNkxOO0VvQzE2TEU7SUFFSTtJQUNBO0lBQ0E7RXBDczZMTjtFb0NuNkxNOzs7O0lBRUU7RXBDdzZMUjtFb0MxNkxNOzs7O0lBR0U7RXBDdTZMUjtFb0NwNkxNO0lBQ0U7RXBDdTZMUjtFb0N4NkxNO0lBRUU7RXBDczZMUjtBQUNGO0FNdnFNRTtFOEJ1UUk7SUFFSTtFcENrNkxSO0FBQ0Y7QU01cU1FO0U4QmdSSTtJQUVJO0VwQzg1TFI7QUFDRjtBTWpyTUU7RThCd1JJO0lBRUk7RXBDMjVMUjtBQUNGO0FvQ3A1TEk7RUFDRTtBcENzNUxOO0FvQ2w1TEU7O0VBRUU7QXBDbzVMSjtBb0NoNUxJO0VBQ0U7RUFDQTtBcENrNUxOO0FvQ2g1TE07RUFDRTtBcENrNUxSOztBcUNqM01FO0VBQ0U7RUFDQTtBckNvM01KO0FxQ2ozTUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckNtM01KO0FxQ2ozTUk7RUFDRTtBckNtM01OO0FxQ2gzTUk7RUFDRTtBckNrM01OO0FxQy8yTUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBckNpM01OO0FxQy8yTU07RUFFRTtFQUNBO0VBQ0E7RUFDQTtBckNnM01SO0FNanVNRTtFK0IxSkU7SUFlSTtFckNnM01OO0FBQ0Y7QXFDNzJNSTtFQUVFO0FyQzgyTU47QXFDNTJNTTtFQUNFO0FyQzgyTVI7QXFDMTJNSTtFQUNFO0VBQ0E7QXJDNDJNTjtBcUN4Mk1FO0VBQ0U7RUFDQTtPQUFBO0FyQzAyTUo7QU1wdk1FO0UrQnhIQTtJQUtJO0lBQ0E7RXJDMjJNSjtBQUNGO0FxQ3gyTUU7RUFDRTtFQUNBO0FyQzAyTUo7QU05dk1FO0UrQjlHQTtJQUtJO0VyQzIyTUo7QUFDRjtBTW53TUU7RStCdEdFO0lBRUk7RXJDMjJNTjtFcUN6Mk1NO0lBQ0U7RXJDMjJNUjtBQUNGO0FNM3dNRTtFK0I1RkU7SUFFSTtFckN5Mk1OO0FBQ0Y7QU1oeE1FO0UrQnRGRTtJQUVJO0VyQ3cyTU47QUFDRjtBTXJ4TUU7RStCaEZFO0lBRUk7RXJDdTJNTjtBQUNGO0FxQ3AyTUk7RUFDRTtFQUNBO0FyQ3MyTU47QXFDcDJNTTtFQUNFO0VBQ0E7QXJDczJNUjtBcUNuMk1NO0VBQ0U7RUFDQTtFQUNBO0FyQ3EyTVI7QXFDbjJNUTtFQUNFO0FyQ3EyTVY7QU0xeU1FO0UrQjVETTtJQUlJO0VyQ3MyTVY7QUFDRjtBcUNsMk1NO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXJDbzJNUjtBcUMvMU1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXJDaTJNSjtBTTN6TUU7RStCMUNBO0lBT0k7RXJDazJNSjtBQUNGO0FxQ2gyTUk7RUFDRTtBckNrMk1OO0FNbjBNRTtFK0JoQ0U7SUFJSTtFckNtMk1OO0FBQ0Y7QXFDajJNTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckNtMk1SO0FxQ2gyTU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDazJNUjtBcUM5MU1JO0VBQ0U7RUFDQTtBckNnMk1OO0FNbDJNRTtFK0JJSTs7SUFHSTtFckNnMk1SO0FBQ0Y7QU14Mk1FO0UrQldJOztJQUdJO0VyQysxTVI7QUFDRjtBcUM1MU1NO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckM4MU1SO0FNcjNNRTtFK0JrQkk7SUFRSTtFckMrMU1SO0FBQ0Y7QXFDNTFNTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FyQzgxTVI7QXFDNTFNUTs7RUFFRTtFQUNBO0FyQzgxTVY7QXFDMTFNVTs7RUFFRTtBckM0MU1aO0FxQ3YxTVU7Ozs7RUFFRTtBckMyMU1aO0FNLzRNRTtFK0I4Qkk7SUEyQkk7SUFDQTtFckMwMU1SO0FBQ0Y7QXFDdjFNTTtFQUNFO0FyQ3kxTVI7QU14NU1FO0UrQm1FRTtJQUVJO0VyQ3UxTU47QUFDRjtBTTc1TUU7RStCeUVFO0lBRUk7SUFDQTtFckNzMU1OO0VxQ3AxTU07SUFDRTtFckNzMU1SO0VxQ24xTU07SUFDRTtFckNxMU1SO0FBQ0Y7QXFDaDFNRTtFQUNFO0FyQ2sxTUo7QU01Nk1FO0UrQnlGQTtJQUlJO0VyQzQxTUo7RXFDaDJNQTtJQUtJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckNtMU1KO0FBQ0Y7QXFDajFNSTtFQUNFO0FyQ20xTU47QU03N01FO0UrQnlHRTtJQUlJO0lBQ0E7SUFDQTtFckNvMU1OO0FBQ0Y7QU1wOE1FO0UrQm9ISTtJQUNFO0VyQ20xTU47QUFDRjtBTXo4TUU7RStCeUZBO0lBaUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXJDbTFNSjtBQUNGO0FxQ2gxTUU7RUFDRTtFQUNBO0VBQ0E7QXJDazFNSjtBcUNoMU1JO0VBQ0U7QXJDazFNTjtBcUM5ME1FO0VBQ0U7RUFDQTtBckNnMU1KO0FNOTlNRTtFK0JpSkk7SUFFSTtJQUNBO0VyQyswTVI7RXFDNzBNUTtJQUNFO0lBQ0E7RXJDKzBNVjtBQUNGO0FNeCtNRTtFK0IrSkk7SUFFSTtJQUNBO0lBQ0E7RXJDMjBNUjtBQUNGO0FNLytNRTtFK0J1S0k7SUFFSTtFckMwME1SO0FBQ0Y7QXFDcjBNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckN1ME1KO0FxQ3AwTUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDczBNSjtBcUNwME1JO0VBQ0U7QXJDczBNTjtBcUNsME1FO0VBQ0U7QXJDbzBNSjs7QXFDOXpNSTtFQUNFO0FyQ2kwTU47O0FxQzV6TUE7RUFDRTtBckMrek1GOztBcUMzek1FO0VBRUU7RUFDQTtBckM2ek1KOztBc0N2c05BO0VBQ0U7RUFDQTtBdEMwc05GO0FzQ3hzTkU7RUFDRTtBdEMwc05KO0FzQ3ZzTkU7RUFFRTtFQUNBO0VBQ0E7QXRDd3NOSjtBc0N0c05JO0VBQ0U7QXRDd3NOTjtBc0Nuc05JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q3FzTk47QU0vaU5FO0VnQzVKRTtJQVNJO0V0Q3NzTk47QUFDRjtBc0Nwc05NO0VBQ0U7QXRDc3NOUjtBTXZqTkU7RWdDM0lFO0lBRUk7RXRDb3NOTjtBQUNGO0FzQ2hzTk07RUFDRTtFQUNBO0F0Q2tzTlI7QU1oa05FO0VnQzdIQTtJQUVJO0lBQ0E7SUFDQTtFdEMrck5KO0FBQ0Y7QU12a05FO0VnQ3BITTtJQUNFO0V0QzhyTlI7QUFDRjtBTTVrTkU7RWdDOUdFO0lBRUk7RXRDNHJOTjtBQUNGO0FNamxORTtFZ0N4R0U7SUFFSTtFdEMyck5OO0FBQ0Y7QU10bE5FO0VnQ2xHRTtJQUVJO0V0QzByTk47QUFDRjtBc0N0ck5FO0VBQ0U7QXRDd3JOSjtBc0Nyck5FO0VBQ0U7QXRDdXJOSjtBc0Nyck5JO0VBQ0U7RUFDQTtBdEN1ck5OO0FNcm1ORTtFZ0NwRkU7SUFLSTtJQUNBO0V0Q3dyTk47QUFDRjtBTTNtTkU7RWdDM0VJO0lBRUk7RXRDd3JOUjtBQUNGO0FzQ3JyTk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q3VyTlI7QXNDcnJOUTtFQUNFO0F0Q3VyTlY7QXNDcHJOUTtFQUNFO0VBQ0E7RUFDQTtBdENzck5WO0FzQ2pyTkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdENtck5OO0FNcm9ORTtFZ0NsREU7SUFPSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFdENvck5OO0FBQ0Y7QXNDbHJOTTtFQUNFO0VBQ0E7RUFDQTtBdENvck5SO0FzQ2xyTlE7RUFDRTtBdENvck5WO0FzQzlxTkU7RUFDRTtBdENnck5KO0FNM3BORTtFZ0N0QkE7SUFJSTtJQUNBO0V0Q2lyTko7RXNDL3FOSTtJQUtFO0V0QzZxTk47RXNDbHJOSTtJQUtFO0V0QzZxTk47RXNDMXFOSTtJQUNFO0V0QzRxTk47QUFDRjtBc0N6cU5JO0VBQ0U7QXRDMnFOTjtBTTFxTkU7RWdDRkU7SUFJSTtJQUNBO0lBQ0E7SUFDQTtFdEM0cU5OO0VzQzFxTk07SUFDRTtFdEM0cU5SO0FBQ0Y7QU1yck5FO0VnQ2FNO0lBQ0U7SUFDQTtFdEMycU5SO0FBQ0Y7QXNDdHFORTtFQUNFO0F0Q3dxTko7QXNDcHFOSTtFQUNFO0F0Q3NxTk47QU1qc05FO0VnQ3lCQTtJQU1JO0V0Q3NxTko7QUFDRjtBTXRzTkU7RWdDcUNJO0lBRUk7SUFDQTtFdENtcU5SO0FBQ0Y7QU01c05FO0VnQ2dESTtJQUVJO0lBQ0E7RXRDOHBOUjtBQUNGO0FNbHRORTtFZ0MyRE07SUFDRTtJQUNBO0V0QzBwTlI7RXNDdnBOTTtJQUNFO0lBQ0E7SUFDQTtFdEN5cE5SO0VzQ3ZwTlE7SUFDRTtFdEN5cE5WO0FBQ0Y7QU1odU5FO0VnQytFTTtJQUNFO0lBQ0E7RXRDb3BOUjtFc0NqcE5NO0lBQ0U7SUFDQTtJQUNBO0V0Q21wTlI7RXNDanBOUTtJQUNFO0V0Q21wTlY7QUFDRjtBTTl1TkU7RWdDa0dNO0lBQ0U7SUFDQTtJQUNBO0V0QytvTlI7QUFDRjtBTXJ2TkU7RWdDNEdNO0lBQ0U7SUFDQTtJQUNBO0V0QzRvTlI7QUFDRjtBc0N2b05NO0VBQ0U7QXRDeW9OUjtBc0Nwb05FO0VBQ0U7RUFDQTtFQUNBO0F0Q3NvTko7QXNDcG9OSTtFQUNFO0F0Q3NvTk47QXNDcG9OTTtFQUNFO0VBQ0E7QXRDc29OUjtBc0Nub05NO0VBQ0U7QXRDcW9OUjtBc0Nqb05JO0VBQ0U7QXRDbW9OTjtBTWp4TkU7RWdDNklFO0lBSUk7RXRDb29OTjtBQUNGO0FNdHhORTtFZ0NzSkE7SUFFSTtFdENrb05KO0FBQ0Y7QXNDaG9OSTtFQUNFO0F0Q2tvTk47QXNDL25OSTtFQUNFO0F0Q2lvTk47QU1qeU5FO0VnQytKRTtJQUlJO0V0Q2tvTk47QUFDRjtBc0Nob05NO0VBQ0U7QXRDa29OUjtBc0M5bk5JO0VBQ0U7QXRDZ29OTjtBc0M3bk5JO0VBQ0U7RUFBQTtFQUNBO0VBQ0E7QXRDK25OTjtBc0M1bk5JO0VBQ0U7RUFDQTtFQUNBO0F0QzhuTk47QU10ek5FO0VnQzRMSTtJQUVJO0lBQ0E7RXRDNG5OUjtBQUNGO0FzQ3puTk07RUFDRTtFQUNBO0F0QzJuTlI7QXNDem5OUTtFQUNFO0F0QzJuTlY7QU1uME5FO0VnQ21NSTtJQVNJO0V0QzJuTlI7QUFDRjtBc0N2bk5JO0VBQ0U7QXRDeW5OTjtBc0Nybk5NO0VBRUU7QXRDc25OUjtBc0Nubk5NO0VBQ0U7QXRDcW5OUjtBc0N6bU5VO0VBQ0U7QXRDMm1OWjtBc0N2bU5RO0VBQ0U7QXRDeW1OVjtBc0N0bU5ZO0VBQ0U7QXRDd21OZDtBc0NsbU5NO0VBRUU7QXRDb21OUjtBc0N0bU5NO0VBR0U7QXRDbW1OUjtBc0M5bE5NOztFQUVFO0F0Q2dtTlI7QXNDM2xORTtFQUNFO0F0QzZsTko7QXNDM2xOSTtFQUNFO0F0QzZsTk47QXNDemxORTtFQUNFO0F0QzJsTko7QXNDdGxOTTtFQUNFO0F0Q3dsTlI7QXNDbmxORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q3FsTko7QXNDbmxOSTtFQUNFO0F0Q3FsTk47QXNDbGxOSTtFQUNFO0VBQ0E7QXRDb2xOTjtBc0NqbE5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdENtbE5OO0FzQ2hsTkk7RUFDRTtBdENrbE5OO0FzQy9rTkk7RUFDRTtFQUNBO0F0Q2lsTk47QXNDL2tOTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0Q2lsTlI7QXNDM2tOTTtFQUNFO0VBQ0E7RUFDQTtBdEM2a05SO0FzQ3hrTkU7RUFDRTtFQUNBO0VBQ0E7QXRDMGtOSjtBc0N2a05FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEN5a05KO0FzQ3ZrTkk7RUFDRTtFQUNBO0VBQ0E7QXRDeWtOTjtBc0Nya05FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDdWtOSjtBc0Nya05JO0VBQ0U7QXRDdWtOTjs7QXNDbGtOQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDcWtORjs7QXNDbGtOQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdENxa05GO0FzQ2xrTkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q29rTko7QXNDamtORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q21rTko7QXNDamtOSTtFQUNFO0F0Q21rTk47QUs3bE9JO0VpQzhoQkU7RUFDQTtFQUNBO0VBQ0E7QXRDa2tOTjtBc0Noa05NO0VBQ0U7QXRDa2tOUjtBc0M3ak5FO0VBQ0U7QXRDK2pOSjtBc0M1ak5FO0VBQ0U7RUFDQTtBdEM4ak5KO0FNai9ORTtFZ0NpYkE7SUFLSTtFdEMrak5KO0FBQ0Y7QXNDN2pOSTs7RUFFRTtFQUNBO0F0QytqTk47QXNDM2pORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0QzZqTko7QXNDM2pOSTtFQUNFO0F0QzZqTk47O0FzQ3hqTkE7RUFNRTtBdEMyak5GOztBc0Nqa05BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEM0ak5GO0FNN2dPRTtFZ0M0Y0Y7SUFTSTtJQUNBO0lBQ0E7RXRDNGpORjtBQUNGO0FNcGhPRTtFZ0M0Y0Y7SUFlSTtJQUNBO0V0QzZqTkY7QUFDRjtBc0Mzak5FO0VBQ0U7RUFDQTtFQUNBO0F0QzZqTko7QU0vaE9FO0VnQytkQTtJQU1JO0V0QzhqTko7QUFDRjtBc0Mzak5FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEM2ak5KO0FNM2lPRTtFZ0N5ZUE7SUFRSTtFdEM4ak5KO0FBQ0Y7QXNDM2pORTtFQUNFO0F0QzZqTko7QXNDM2pOSTtFQUNFO0VBQ0E7QXRDNmpOTjtBTXZqT0U7RWdDd2ZFO0lBS0k7RXRDOGpOTjtBQUNGO0FNNWpPRTtFZ0N3ZkU7SUFTSTtFdEMrak5OO0FBQ0Y7QXNDM2pORTtFQUNFO0F0QzZqTko7QU1wa09FO0VnQ3NnQkE7SUFJSTtJQUNBO0V0QzhqTko7QUFDRjtBc0M1ak5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0VBQ0E7QXRDOGpOTjtBc0Mzak5JO0VBQ0U7RUFBQTtBdEM2ak5OO0FzQ3pqTkU7RUFDRTtBdEMyak5KO0FNeGxPRTtFZ0M0aEJBO0lBSUk7SUFDQTtJQUNBO1NBQUE7RXRDNGpOSjtBQUNGO0FzQzFqTkk7RUFDRTtBdEM0ak5OO0FzQ3pqTkk7RUFDRTtFQUNBO09BQUE7QXRDMmpOTjtBc0N6ak5NO0VBQ0U7RUFDQTtFQUNBO0F0QzJqTlI7QXNDdGpORTtFQUNFO0F0Q3dqTko7QU05bU9FO0VnQ3FqQkE7SUFJSTtFdEN5ak5KO0FBQ0Y7O0F1Q255T0E7RUFFRTtBdkNxeU9GO0F1Q255T0U7RUFDRTtFQUNBO0F2Q3F5T0o7QXVDbHlPRTtFQUNFO0VBQ0E7RUFDQTtBdkNveU9KO0F1Q2p5T0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkNteU9KO0F1Q2p5T0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkNteU9OO0F1Q2h5T0k7RUFDRTtFQUNBO0F2Q2t5T047QXVDOXhPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkNneU9KO0F1Qzl4T0k7RUFDRTtBdkNneU9OO0F1Qzd4T0k7RUFDRTtBdkMreE9OO0F1QzV4T0k7RUFDRTtFQUNBO0VBQ0E7QXZDOHhPTjtBdUMzeE9JO0VBQ0U7RUFDQTtBdkM2eE9OO0F1QzN4T007Ozs7RUFJRTtBdkM2eE9SO0F1QzF4T007RUFDRTtBdkM0eE9SO0F1Q3p4T007O0VBRUU7QXZDMnhPUjtBdUN2eE9ROzs7RUFFRTtFQUNBO0F2QzB4T1Y7QXVDcnhPSTtFQUNFO0VBQ0E7QXZDdXhPTjtBdUNyeE9NO0VBQ0U7RUFDQTtBdkN1eE9SO0F1Q3B4T007Ozs7O0VBS0U7QXZDc3hPUjtBdUNueE9NO0VBQ0U7QXZDcXhPUjtBdUNseE9NOztFQUVFO0F2Q294T1I7QXVDaHhPUTs7O0VBRUU7RUFDQTtFQUNBO0F2Q214T1Y7QXVDN3dPRTtFQUNFO0VBQ0E7QXZDK3dPSjtBdUM3d09JO0VBQ0U7QXZDK3dPTjtBTXB1T0U7RWlDeENFO0lBRUk7RXZDOHdPTjtBQUNGO0FNenVPRTtFaUNuQ0k7SUFFSTtFdkM4d09SO0FBQ0Y7QXVDendPRTtFQUNFO0VBQ0E7QXZDMndPSjtBdUN6d09JO0VBQ0U7QXZDMndPTjtBdUN4d09JO0VBQ0U7QXZDMHdPTjtBdUNyd09JO0VBQ0U7RUFDQTtFQUNBO0F2Q3V3T047QXVDcndPTTtFQUNFO0F2Q3V3T1I7QU1od09FO0VpQ1JJO0lBSUk7RXZDd3dPUjtBQUNGO0F1Q253T1U7RUFDRTtFQUNBO0F2Q3F3T1o7QXVDbndPWTtFQUNFO0F2Q3F3T2Q7QXVDbHdPWTtFQUNFO0F2Q3d3T2Q7QXVDendPWTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0F2Q293T2Q7QXVDbHdPYztFQUNFO0F2Q3F3T2hCO0F1Q3R3T2M7RUFFRTtBdkNvd09oQjtBTXZ4T0U7RWlDZ0NJOztJQUVFO0V2QzB2T047QUFDRjtBTTd4T0U7RWlDd0NNOztJQUVFO0V2Q3d2T1I7RXVDbnZPTTs7SUFFRTtFdkNxdk9SO0FBQ0Y7QU12eU9FO0VpQ3dETTs7SUFFRTtFdkNrdk9SO0V1Qzd1T007O0lBRUU7RXZDK3VPUjtBQUNGO0F1QzF1T0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdkM0dU9KO0F1QzF1T0k7OztFQUdFO0VBQ0E7RUFDQTtFQUNBO0tBQUE7RUFDQTtBdkM0dU9OO0FNaDBPRTtFaUN1RUE7SUFpQkk7SUFDQTtFdkM0dU9KO0FBQ0Y7QXVDMXVPSTtFQUNFO0F2QzR1T047QXVDdnVPSTtFQUNFO0F2Q3l1T047O0F3QzMvT0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhDOC9PSjtBTXIxT0U7RWtDL0tBO0lBU0k7SUFDQTtFeEMrL09KO0FBQ0Y7QXdDNS9PRTtFQUNFO0VBQ0E7QXhDOC9PSjtBd0MzL09FO0VBQ0U7RUFDQTtBeEM2L09KO0FNbjJPRTtFa0M1SkE7SUFLSTtFeEM4L09KO0FBQ0Y7QU14Mk9FO0VrQ3BKRTtJQUVJO0V4QzgvT047RXdDNS9PTTtJQUNFO0V4QzgvT1I7QUFDRjtBd0MxL09JO0VBQ0U7QXhDNC9PTjtBd0N6L09JO0VBQ0U7RUFDQTtFQUNBO0tBQUE7RUFDQTtBeEMyL09OO0F3Q3ovT007RUFDRTtBeEMyL09SO0F3Q3YvT0k7RUFDRTtBeEN5L09OO0F3Q3QvT1E7RUFDRTtBeEN3L09WO0FNbDRPRTtFa0NqSEU7SUFFSTtFeENxL09OO0V3Q24vT007SUFDRTtFeENxL09SO0FBQ0Y7QXdDaC9PRTtFQUNFO0F4Q2svT0osQyIsInNvdXJjZXMiOlsid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3NldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2dlbmVyaWMvX3Jlc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2dlbmVyaWMvX3ByaW50LnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2dlbmVyaWMvX2VsZW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3Rvb2xzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL25vZGVfbW9kdWxlcy9zYXNzLW1xL19tcS5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9vYmplY3RzL19jb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvb2JqZWN0cy9fY2FyZC5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9vYmplY3RzL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL29iamVjdHMvX3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3V0aWxpdGllcy9faW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3V0aWxpdGllcy9fYXNwZWN0LXJhdGlvLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9faGVhZGluZy5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19pY29ucy1wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX25hdi5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19wcmVkaWN0aXZlLXNlYXJjaC5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19wcmljZS5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL19iYW5uZXIuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvY29tcG9uZW50cy9fcmF0aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX3F1YW50aXR5LnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL2NvbXBvbmVudHMvX3NvY2lhbC1hY2NvdW50cy5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL190eXBlZmFjZS5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL191aS1zaGFyZS5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9jb21wb25lbnRzL191c3AtcHJvZHVjdC5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9zZWN0aW9ucy9fYW5ub3VuY2VtZW50LWJhci5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9zZWN0aW9ucy9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3NlY3Rpb25zL19mZWF0dXJlcy1iYXIuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvc2VjdGlvbnMvX2hlYWRlci5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9zZWN0aW9ucy9fY2FydC5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9zZWN0aW9ucy9fcmljaC10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3NlY3Rpb25zL19ncmlkLWNvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly93b3JrZmxvdy8uL3NyYy9iZXRhL2Fzc2V0cy9zdHlsZXMvc2VjdGlvbnMvX2dyaWQtYXJjaGl2ZS5zY3NzIiwid2VicGFjazovL3dvcmtmbG93Ly4vc3JjL2JldGEvYXNzZXRzL3N0eWxlcy9zZWN0aW9ucy9fbWFpbi1wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3NlY3Rpb25zL19oZXJvLnNjc3MiLCJ3ZWJwYWNrOi8vd29ya2Zsb3cvLi9zcmMvYmV0YS9hc3NldHMvc3R5bGVzL3NlY3Rpb25zL19sb2dvcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIyBMQVlPVVQ6IEJBU0Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gLSBTRVRUSU5HUyAmIFRPT0xTXG5AaW1wb3J0IFwiLi9zZXR0aW5ncy90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiLi9zZXR0aW5ncy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIi4vdG9vbHMvbWl4aW5zXCI7XG5cbkBpbXBvcnQgXCIuL2dlbmVyaWMvcmVzZXRcIjtcbkBpbXBvcnQgXCIuL2dlbmVyaWMvcHJpbnRcIjtcbkBpbXBvcnQgXCIuL2dlbmVyaWMvZWxlbWVudHNcIjtcblxuYm9keSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG59XG5cbi8vLyAtIE9CSkVDVFNcbkBpbXBvcnQgXCIuL29iamVjdHMvY29udGFpbmVyXCI7XG5AaW1wb3J0IFwiLi9vYmplY3RzL2NhcmRcIjtcbkBpbXBvcnQgXCIuL29iamVjdHMvZm9ybVwiO1xuQGltcG9ydCBcIi4vb2JqZWN0cy90b29sdGlwXCI7XG5cbi8vLyAtIFVUSUxJVElFU1xuQGltcG9ydCBcIi4vdXRpbGl0aWVzL2Rpc3BsYXlcIjtcbkBpbXBvcnQgXCIuL3V0aWxpdGllcy9pbWFnZVwiO1xuQGltcG9ydCBcIi4vdXRpbGl0aWVzL3RleHRcIjtcbkBpbXBvcnQgXCIuL3V0aWxpdGllcy9hc3BlY3QtcmF0aW9cIjtcblxuLy8vIC0gQ09NUE9ORU5UU1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9hY2NvcmRpb25cIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvYnJlYWRjcnVtYnNcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvYnV0dG9uXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL2hlYWRpbmdcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvaWNvbnMtcHJvZHVjdFwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9uYXZcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvcHJlZGljdGl2ZS1zZWFyY2hcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvcHJpY2VcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvYmFubmVyXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3JhdGluZ1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9xdWFudGl0eVwiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy9zb2NpYWwtYWNjb3VudHNcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdHlwZWZhY2VcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdWktc2hhcmVcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdXNwLXByb2R1Y3RcIjtcblxuLy8vIC0gU0VDVElPTlNcbi5zaG9waWZ5LXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnNlY3Rpb25fX3dyYXBwZXIge1xuICAgICYtLW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJi1iYWNrZ3JvdW5kIHtcbiAgICAgIEBleHRlbmQgLmltZy1hYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmOm5vdCguY29udGFpbmVyLS1mdWxsX2JsZWVkKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblxuICAgICAgLnNlY3Rpb25fX3dyYXBwZXItYmFja2dyb3VuZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi0tZnVsbF9ibGVlZCB7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpoYXMoPiAuc2VjdGlvbi0td2l0aC1iYWNrZ3JvdW5kKSB7XG4gICAgKyAuc2hvcGlmeS1zZWN0aW9uIHtcbiAgICAgICY6aGFzKD4gLnNlY3Rpb24tLXdpdGgtYmFja2dyb3VuZCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpoYXMoPiAuY29udGFpbmVyLS1mdWxsX2JsZWVkKSB7XG4gICAgICArIC5zaG9waWZ5LXNlY3Rpb24ge1xuICAgICAgICAmOmhhcyg+IC5jb250YWluZXItLWZ1bGxfYmxlZWQpIHtcbiAgICAgICAgICAmOmhhcyg+IC5zZWN0aW9uLS13aXRoLWJhY2tncm91bmQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zZWFyY2gtcmVzdWx0cyB7XG4gICAgcGFkZGluZzogdmFyKC0tZ2FwKSAwIDAgMDtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApICogMikgMCAwIDA7XG4gICAgfVxuICB9XG5cbiAgJi52aWRlbyxcbiAgJi5pbWFnZSB7XG4gICAgLmNvbnRhaW5lci0tZnVsbF9ibGVlZC5jb250YWluZXItd2lkdGgtLW5vbmUge1xuICAgICAgLmZpZ3VyZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNob3BpZnktcG9saWN5IHtcbiAgJl9fY29udGFpbmVyIHtcbiAgICBAZXh0ZW5kIC53eXNpd3lnO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkdGgpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMy4ycmVtKSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDIuNHJlbSAwO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDYuNHJlbSkgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDMuNnJlbSAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGltcG9ydCBcIi4vc2VjdGlvbnMvYW5ub3VuY2VtZW50LWJhclwiO1xuQGltcG9ydCBcIi4vc2VjdGlvbnMvZm9vdGVyXCI7XG5AaW1wb3J0IFwiLi9zZWN0aW9ucy9mZWF0dXJlcy1iYXJcIjtcbkBpbXBvcnQgXCIuL3NlY3Rpb25zL2hlYWRlclwiO1xuQGltcG9ydCBcIi4vc2VjdGlvbnMvY2FydFwiO1xuQGltcG9ydCBcIi4vc2VjdGlvbnMvcmljaC10ZXh0XCI7XG5AaW1wb3J0IFwiLi9zZWN0aW9ucy9ncmlkLWNvbnRlbnRcIjtcbkBpbXBvcnQgXCIuL3NlY3Rpb25zL2dyaWQtYXJjaGl2ZVwiO1xuQGltcG9ydCBcIi4vc2VjdGlvbnMvbWFpbi1wcm9kdWN0XCI7XG5AaW1wb3J0IFwiLi9zZWN0aW9ucy9oZXJvXCI7XG5AaW1wb3J0IFwiLi9zZWN0aW9ucy9sb2dvc1wiO1xuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIFNFVFRJTkdTOiBGT05UU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEBjb250ZW50IEJhc2ljIFRoZW1lIGZvbnQgdmFyaWFibGVzIGV4dHJhY3RlZCBmcm9tIGNzcyBjdXN0b20gcHJvcGVydGllc1xuLy8vIGRlZmluZWQgaW4gdGhlIFwic25pcHBldHMvaGVhZC1zZXR0aW5ncy5saXF1aWRcIiBmaWxlLlxuLy8vXG4vLy8gVGhpcyBmaWxlIHNldHMgdXAgdGhlIHRoZW1lIGZvbnQgdmFyaWFibGVzLlxuLy8vIEJhc2ljYWxseSwgdGFrZSB0aGUgY3VzdG9tIHByb3BlcnRpZXMgZGVmaW5lZCBpbiB0aGUgXCJzbmlwcGV0cy9oZWFkLXNldHRpbmdzLmxpcXVpZFwiXG4vLy8gZmlsZSBhbmQgdHVybmVkIHRoZW0gdG8gU0NTUyAkdmFyaWFibGVzLlxuLy8vXG5cbi8vIFJlc3BlY3RpbmcgRm9udCBTaXplIFByZWZlcmVuY2VzIHdpdGggUmVtcyBhbmQgNjIuNSUgQmFzZSBGb250IFNpemVcbi8vIGh0dHBzOi8vd3d3LmFsZWtzYW5kcmhvdmhhbm5pc3lhbi5jb20vYmxvZy9yZXNwZWN0aW5nLWZvbnQtc2l6ZS1wcmVmZXJlbmNlcy1yZW1zLTYyLTUtcGVyY2VudC9cblxuaHRtbCB7XG4gIC8qIDEwcHggKi9cbiAgZm9udC1zaXplOiA2Mi41JTtcbn1cblxuYm9keSB7XG4gIC8qIDE2cHggKi9cbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHktZmFtaWx5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9keS13ZWlnaHQpO1xuICBmb250LXN0eWxlOiB2YXIoLS1mb250LWJvZHktc3R5bGUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1ib2R5LXRyYW5zZm9ybSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIEdFTkVSSUM6IFJFU0VUXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQGNvbnRlbnQgcmVzcy5jc3Mg4oCiIHY0LjAuMFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9maWxpcGVsaW5oYXJlcy9yZXNzIGZvciBtb3JlIERvY3MuXG4vLy9cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MgLy9cbiAgLW1vei10YWItc2l6ZTogNDtcbiAgdGFiLXNpemU6IDQ7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4qLFxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgLy8gU2V0IGBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0YCB0byBhbGwgZWxlbWVudHMgYW5kIHBzZXVkbyBlbGVtZW50cyAvL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IC8vIEluaGVyaXQgdGV4dC1kZWNvcmF0aW9uIGFuZCB2ZXJ0aWNhbCBhbGlnbiB0byA6OmJlZm9yZSBhbmQgOjphZnRlciBwc2V1ZG8gZWxlbWVudHMgLy9cbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG5cbioge1xuICBwYWRkaW5nOiAwOyAvLyBSZXNldCBgcGFkZGluZ2AgYW5kIGBtYXJnaW5gIG9mIGFsbCBlbGVtZW50cyAvL1xuICBtYXJnaW46IDA7XG59XG5cbi8vICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgIEdlbmVyYWwgZWxlbWVudHNcbi8vICMgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cbmhyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFIC8vXG4gIGhlaWdodDogMDsgLy8gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveCAvL1xuICBjb2xvcjogaW5oZXJpdDsgLy8gQ29ycmVjdCBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gLy9cbn1cblxuZGV0YWlscyxcbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgLy8gUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuIC8vXG59XG5cbm1haW4ge1xuICBvdXRsaW5lOiAwO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMgLy9cblxuICAmOjotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IC8vIFNldCBmb250LXNpemUgdG8gODAlIGluIGBzbWFsbGAgZWxlbWVudHMgLy9cbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAvL1xufVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTcgLy9cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaSAvL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMCAvL1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IC8vIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIGhvdmVyaW5nIGluIGFsbCBicm93c2VycyAvL1xufVxuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gU3BlY2lmeSB0aGUgZm9udCBmYW1pbHkgb2YgY29kZSBlbGVtZW50cyAvL1xufVxuXG5wcmUge1xuICBmb250LXNpemU6IDFlbTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzIC8vXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vQ29ycmVjdCB0aGUgb2RkIHdoaXRlIHNwYWNlIGlzc3VlIHRoYXQgYnJlYWtzIENTUyBncmlkIGxheW91dHNcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgLy9cbn1cblxuLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vdW5ydXRobGVzcy80MTM5MzAgLy9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyAvLyBDb3JyZWN0IGJvcmRlciBjb2xvciBpbiBhbGwgQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLiAvL1xuICB0ZXh0LWluZGVudDogMDsgLy8gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpIC8vXG59XG5cbmlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8gIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyAgRm9ybXNcbi8vICMgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cbmlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gUmVwbGFjZSBwb2ludGVyIGN1cnNvciBpbiBkaXNhYmxlZCBlbGVtZW50cyAvL1xuW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lIC8vXG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpIC8vXG4gIG91dGxpbmUtb2Zmc2V0OiAtMC4ycmVtOyAvLyBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaSAvL1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TIC8vXG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIEludGVybmV0IEV4cGxvcmVyIDExKyAvL1xuICByZXNpemU6IHZlcnRpY2FsOyAvLyBTcGVjaWZ5IHRleHRhcmVhIHJlc2l6YWJpbGl0eSAvL1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0OyAvLyBTcGVjaWZ5IGZvbnQgaW5oZXJpdGFuY2Ugb2YgZm9ybSBlbGVtZW50cyAvL1xufVxuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyAvLyBSZXN0b3JlIHRoZSBmb250IHdlaWdodCB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZSAvL1xufVxuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEgLy9cbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIEZpcmVmb3ggNDArLCBJbnRlcm5ldCBFeHBsb3JlciAxMS0gLy9cbn1cblxuLy8gQXBwbHkgY3Vyc29yIHBvaW50ZXIgdG8gYnV0dG9uIGVsZW1lbnRzIC8vXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSxcbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsgLy9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLyBSZXBsYWNlIGZvY3VzIHN0eWxlIHJlbW92ZWQgaW4gdGhlIGJvcmRlciByZXNldCBhYm92ZSAvL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9J2J1dHRvbiddLCAvLyBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2Bjb250cm9scyBpbiBBbmRyb2lkIDQgLy9cblt0eXBlPSdyZXNldCddLFxuW3R5cGU9J3N1Ym1pdCddIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIC8vXG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBidXR0b24gc3R5bGluZyBpbiBhbGwgYnJvd3NlcnMgLy9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vLyBTdHlsZSBzZWxlY3QgbGlrZSBhIHN0YW5kYXJkIGlucHV0IC8vXG5zZWxlY3Qge1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8vIEZpcmVmb3ggMzYrIC8vXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gQ2hyb21lIDQxKyAvL1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEludGVybmV0IEV4cGxvcmVyIDExKyAvL1xufVxuXG5zZWxlY3Q6Oi1tcy12YWx1ZSB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7IC8vIEludGVybmV0IEV4cGxvcmVyIDExKyAvL1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xuICBwYWRkaW5nLWJsb2NrLWVuZDogMDtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgYm9yZGVyOiBub25lO1xuICBtaW4taW5saW5lLXNpemU6IG1pbi1jb250ZW50O1xufVxuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8vIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMSAvL1xuICBjb2xvcjogaW5oZXJpdDsgLy8gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFIC8vXG4gIGRpc3BsYXk6IHRhYmxlOyAvLyBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFIC8vXG4gIG1heC13aWR0aDogMTAwJTsgLy8gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRSAvL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFIC8vXG4gIG1heC13aWR0aDogMTAwJTsgLy8gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIDE4LSBhbmQgSUUgLy9cbn1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkgLy9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250OiBpbmhlcml0OyAvLyBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBDaHJvbWUgYW5kIFNhZmFyaSAvL1xufVxuXG4vLyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjICBTcGVjaWZ5IG1lZGlhIGVsZW1lbnQgc3R5bGVcbi8vICMgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAgLy9cbn1cblxuLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYSAvL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8vICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMgQWNjZXNzaWJpbGl0eVxuLy8gIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTcGVjaWZ5IHRoZSBwcm9ncmVzcyBjdXJzb3Igb2YgdXBkYXRpbmcgZWxlbWVudHMgLy9cblthcmlhLWJ1c3k9XCJ0cnVlXCJdIHtcbiAgY3Vyc29yOiBwcm9ncmVzcztcbn1cblxuLy8gU3BlY2lmeSB0aGUgcG9pbnRlciBjdXJzb3Igb2YgdHJpZ2dlciBlbGVtZW50cyAvL1xuW2FyaWEtY29udHJvbHNdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBTcGVjaWZ5IHRoZSB1bnN0eWxlZCBjdXJzb3Igb2YgZGlzYWJsZWQsIG5vdC1lZGl0YWJsZSwgb3Igb3RoZXJ3aXNlIGlub3BlcmFibGUgZWxlbWVudHMgLy9cblthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuKjotaW50ZXJuYWwtZGlyZWN0LWZvY3VzIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIyBHRU5FUklDOiBQUklOVFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFZlcnkgY3J1ZGUsIHJlc2V0LWxpa2Ugc3R5bGVzIGZvciB0aGUgcHJpbnQgcXVlcnkuXG5AbWVkaWEgcHJpbnQge1xuICAvLy8gMS4gQmxhY2sgcHJpbnRzIGZhc3RlcjogaHR0cHM6Ly93d3cuc2FuYmVpamkuY29tL2FyY2hpdmVzLzk1M1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OyAvLyBbMV1cbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIGFbaHJlZl06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuXG4gIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG5cbiAgLy8gRG9u4oCZdCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLCBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmBcbiAgLy8gcHNldWRvIHByb3RvY29sLlxuICBhW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG5cbiAgLy8gUHJpbnRpbmcgVGFibGVzOiBodHRwczovL2Nzcy1kaXNjdXNzLmluY3V0aW8uY29tL3dpa2kvUHJpbnRpbmdfVGFibGVzXG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cblxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuXG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cblxuICAuZmVhdHVyZXMtYmFyLFxuICAuaGVyby1iYXNpYyAuaW1nLWFic29sdXRlLFxuICAucmVsYXRlZC1hcnRpY2xlcyxcbiAgLnJlY29tbWVuZGVkLXByb2R1Y3RzLFxuICAuZm9vdGVyLFxuICAudGVtcGxhdGUtYXJ0aWNsZSAubG9nb3MsXG4gIC50ZW1wbGF0ZS1wcm9kdWN0IC5sb2dvcyxcbiAgLmZlYXR1cmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAjbmF2LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIG1haW4ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyMgR0VORVJJQzogRUxFTUVOVFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnVsLFxub2wge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbnN1bW1hcnkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuZGV0YWlscyA+ICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgaDEgJixcbiAgaDIgJixcbiAgaDMgJixcbiAgaDQgJixcbiAgaDUgJixcbiAgaDYgJixcbiAgc3Ryb25nICYsXG4gIHAgJixcbiAgdGFibGUgJixcbiAgdHIgJixcbiAgdGQgJixcbiAgdGggJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICB9XG5cbiAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpO1xuXG4gICAgJjpub3QoLmJ1dHRvbikge1xuICAgICAgJjpub3QoLmJhbm5lcl9fd3JhcHBlcikge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnAge1xuICBidXR0b24ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBIaWRlIGVtcHR5IGVsZW1lbnRzXG5hOmVtcHR5LFxudWw6ZW1wdHksXG5kbDplbXB0eSxcbmRpdjplbXB0eTpub3QoLnByb2R1Y3QtcmVjb21tZW5kYXRpb25zKTpub3QoLnN3aXBlci1zY3JvbGxiYXItZHJhZyk6bm90KCNhcnJvdyk6bm90KC5zd2lwZXItbGF6eS1wcmVsb2FkZXIpLFxuc2VjdGlvbjplbXB0eSxcbmFydGljbGU6ZW1wdHksXG5wOmVtcHR5LFxuaDE6ZW1wdHksXG5oMjplbXB0eSxcbmgzOmVtcHR5LFxuaDQ6ZW1wdHksXG5oNTplbXB0eSxcbmg2OmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxucCxcbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLy8gMS4gU2luZ2xlIHRhcHMgc2hvdWxkIGJlIGRpc3BhdGNoZWQgaW1tZWRpYXRlbHkgb24gY2xpY2thYmxlIGVsZW1lbnRzXG4vLy9cbmEsXG5hcmVhLFxuYnV0dG9uLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnRleHRhcmVhLFxuW3RhYmluZGV4XSB7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgLy8gWzFdXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5baHJlZmxhbmddID4gYWJiclt0aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIC8vYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG5cbiAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuICB9XG59XG5cbi8vIDEuIEZsdWlkIGltYWdlcyBmb3IgcmVzcG9uc2l2ZSBwdXJwb3Nlcy5cbi8vIDIuIE9mZnNldCBgYWx0YCB0ZXh0IGZyb20gc3Vycm91bmRpbmcgY29weS5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gWzFdXG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgLy8gWzJdXG59XG5cbi8vIDMuIFNldHRpbmcgYHZlcnRpY2FsLWFsaWduYCByZW1vdmVzIHRoZSB3aGl0ZXNwYWNlIHRoYXQgYXBwZWFycyB1bmRlciBgaW1nYFxuLy8gZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkIGludG8gYSBwYWdlIGFzLWlzLlxuLy9cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBbM11cbn1cblxuLnN3aXBlciB7XG4gICZbZGF0YS1tb2JpbGUtbGF5b3V0PVwiZ3JpZFwiXSB7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXRhYmxldC1sYXlvdXQ9XCJncmlkXCJdIHtcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtZGVza3RvcC1sYXlvdXQ9XCJncmlkXCJdIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxufVxuXG4uc3dpcGVyLXNwYWNlciB7XG4gIGhlaWdodDogMDtcbn1cblxuLy8gU3dpcGVyIFVJXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMCAwLjhyZW07XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWljb24pO1xuXG4gIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC40cmVtLCAwKTtcbiAgICB9XG4gIH1cbn1cblxuLnN3aXBlci1idXR0b24tcHJldiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTAuNHJlbSwgMCk7XG4gICAgfVxuICB9XG59XG5cbi5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItaG9yaXpvbnRhbCB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAuc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaWNvbikgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMC40cmVtO1xuXG4gICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6bm90KC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XG4gICAgcGFkZGluZzogMCAxLjZyZW0gMCAwO1xuICAgIEBleHRlbmQgLnRleHQteHM7XG4gICAgQGV4dGVuZCAudGV4dC0tY2FwdGlvbjtcbiAgfVxuXG4gICYtcHJvZ3Jlc3NiYXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwLjRyZW07XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pY29uKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYtYnVsbGV0cyB7XG4gICAgJjpub3QoLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyk6bm90KC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcikge1xuICAgICAgc3BhbiB7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMC44cmVtO1xuICAgICAgICAgIGhlaWdodDogMC44cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWljb24pO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgJi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICAgICAgLy93aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLy9mb250LXNpemU6IDA7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDAuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjhyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWljb24pO1xuICAgICAgICBtYXJnaW46IDAuOHJlbTtcblxuICAgICAgICAmLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0LFxuICAgICAgICAmLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQsXG4gICAgICAgICYuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc3dpcGVyLXRodW1ibmFpbHMge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDYwcHg7XG4gIH1cblxuICAmLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnN3aXBlciB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBoZWlnaHQ6IDU1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGZpZ3VyZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDAuNHJlbTtcbiAgICAgICAgYm90dG9tOiAwLjRyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC40cmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIHdpZHRoOiAxLjZyZW07XG4gICAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgJi5zd2lwZXItc2xpZGUtdGh1bWItYWN0aXZlIHtcbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbjogNHJlbSAwIDA7XG4gIHBhZGRpbmc6IDEuNnJlbSAzLjJyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG5cbiAgYSxcbiAgc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuICAgIHBhZGRpbmc6IDEuNnJlbSAyLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuOHJlbTtcblxuICAgICY6bm90KHNwYW4pOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtLS1jdXJyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDAuOHJlbTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udGFncyB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAxLjJyZW07XG59XG5cbi51c3Age1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuOHJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZ3JlY2FwdGNoYS1iYWRnZSB7XG4gIHotaW5kZXg6IC05OTk5ICFpbXBvcnRhbnQ7XG59XG5cbi50b29sdGlwIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udG9vbHRpcC1jb250ZW50IHtcbiAgJHRoaXM6ICY7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyAwLjNzO1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICAmX193cmFwcGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAzMHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFyZW0pO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyAwcywgdHJhbnNmb3JtIDAuM3MgMHM7XG4gIH1cblxuICAmW2RhdGEtc2hvd10ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyAwcztcbiAgICB6LWluZGV4OiAxMDtcblxuICAgICN7JHRoaXN9X193cmFwcGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG59XG5cbi5naWZ0LWNhcmQtcGFnZSB7XG4gIHBhZGRpbmc6IDMuMnJlbSAwO1xuXG4gIC5jb250YWluZXIge1xuICAgIC5tYWluLXByb2R1Y3RfX2Jsb2NrcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMS42cmVtO1xuXG4gICAgICA+ICoge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29weS1zdWNjZXNzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJl9fbnVtYmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfYnV0dG9ucy5uby1wcmludCB7XG4gICAgbWFyZ2luOiAxLjZyZW0gMCAwIDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG5pbnB1dC5naWZ0LWNhcmRfX251bWJlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLnN0b2NrLXN0YXR1cyB7XG4gIHAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogMDtcblxuICAgIHNwYW4ge1xuICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwIDAuOHJlbSAwIDA7XG4gICAgfVxuXG4gICAgJi5pbi1zdG9jayB7XG4gICAgICAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjMDBhYTAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubG93LXN0b2NrIHtcbiAgICAgIC5pY29uIHtcbiAgICAgICAgY29sb3I6ICM1MDY3YjA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vdXQtb2Ytc3RvY2sge1xuICAgICAgLmljb24ge1xuICAgICAgICBjb2xvcjogI2ZjNzA1MztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByaWNlLWl0ZW0sXG4uc3RvY2stc3RhdHVzIHAge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2tlbGV0b24tbG9hZGluZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IDFzO1xuXG4gIGRpdixcbiAgc3BhbixcbiAgLnByaWNlLWl0ZW0sXG4gIHAge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnNrZWxldG9uLWxvYWRpbmc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMCU7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dCk7XG4gIC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTBkZWcsIHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KSA4JSwgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpIDE4JSwgdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KSAzMyUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTEwZGVnLCByZ2JhKHZhcigtLWNvbG9yLXRleHQtcmdiKSwgMCkgOCUsIHJnYmEodmFyKC0tY29sb3ItdGV4dC1yZ2IpLCAwLjE2KSwgNDAlLCByZ2JhKHZhcigtLWNvbG9yLXRleHQtcmdiKSwgMCkgNjQlKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAwJTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICBhbmltYXRpb246IDEuMnMgc2hpbmUgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNoaW5lIHtcbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogLTIwMCU7XG4gIH1cbn1cblxuLnByb2R1Y3QtcmVjb21tZW5kYXRpb25zIHtcbiAgLmljb24ge1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgfVxufVxuXG5zdGlja3ktZW5naW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogdmFyKC0tc3RpY2t5LWVuZ2luZS1wYWRkaW5nKTtcbn1cblxuc3dpcGVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tZ2FwKTtcblxuICAmW2RhdGEtbW9iaWxlLWxheW91dD1cInNsaWRlclwiXSB7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgLnNsaWRlci1lbmFibGVkICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS10YWJsZXQtbGF5b3V0PVwic2xpZGVyXCJdIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWQsICR1bnRpbDogbGcpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgIC5zbGlkZXItZW5hYmxlZCAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2RhdGEtZGVza3RvcC1sYXlvdXQ9XCJzbGlkZXJcIl0ge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgLnNsaWRlci1lbmFibGVkICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIFRPT0xTOiBNSVhJTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIE1peGluIHRvIHF1aWNrbHkgYXBwbHkgYWNjZXNzaWJsZSBoaWRpbmcgdG8gZWxlbWVudHMuXG4vLyAudXNhZ2Uge1xuLy8gICBAaW5jbHVkZSBoaWRkZW5WaXN1YWxseTtcbi8vIH1cblxuQG1peGluIGhpZGRlblZpc3VhbGx5KCkge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMXB4O1xuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgei1pbmRleDogMTAwMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLy8gRXZlbnQgd3JhcHBlclxuLy8vIEBhdXRob3IgSGFycnkgUm9iZXJ0c1xuLy8vIEBwYXJhbSB7Qm9vbH0gJHNlbGYgW2ZhbHNlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgY3VycmVudCBzZWxlY3RvclxuLy8vIEBsaW5rIGh0dHBzOi8vdHdpdHRlci5jb20vY3Nzd2l6YXJkcnkvc3RhdHVzLzQ3ODkzODUzMDM0MjAwNjc4NCBPcmlnaW5hbCB0d2VldCBmcm9tIEhhcnJ5IFJvYmVydHNcbi8vIC51c2FnZSB7XG4vLyAgIEBpbmNsdWRlIG9uRXZlbnQge1xuLy8gICAgIGNvbG9yOiByZWJlY2NhcHVycGxlO1xuLy8gICB9XG4vLyB9XG4vLyB9XG5AbWl4aW4gb25FdmVudCgkc2VsZjogZmFsc2UpIHtcbiAgQGlmICRzZWxmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gdG8gcXVpY2tseSBnZW5lcmF0ZSB0aGUgcGxhY2Vob2xkZXIgc3R5bGluZyB2YWx1ZXNcbi8vIC51c2FnZSB7XG4vLyAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbi8vICAgICAvKiBzdHlsZXMgZm9yIHBsYWNlaG9sZGVyIGhlcmUgKi9cbi8vICAgfVxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOmxpc3QnO1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRicmVha3BvaW50czogKFxuICBtb2JpbGU6IDMyMHB4LFxuICB0YWJsZXQ6IDc0MHB4LFxuICBkZXNrdG9wOiA5ODBweCxcbiAgd2lkZTogMTMwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vL1xuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGguIEZvciBleGFtcGxlOiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgQHVzZSAncGF0aC90by9tcScgd2l0aCAoJHNob3ctYnJlYWtwb2ludHM6ICgnbW9iaWxlJywgJ3RhYmxldCcsICdkZXNrdG9wJykpO1xuLy8vXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRzaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZm9yIGV4YW1wbGU6IGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDigKZgKVxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gb3ZlcnJpZWQgdGhlIG1lZGlhIHR5cGUsIHlvdSBjYW4gdXNlIHRoaXMgb3B0aW9uLlxuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIEB1c2UgJ3BhdGgvdG8vbXEnIHdpdGggKCRtZWRpYS10eXBlOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlXG4kbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkZm9udC1zaXplLWluLWVtczogcHgyZW0oMTZweCk7XG4vLy8gIHAgeyBmb250LXNpemU6IHB4MmVtKDE2cHgpOyB9XG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuXG5AZnVuY3Rpb24gcHgyZW0oJHB4KSB7XG4gIEBpZiBtYXRoLmlzLXVuaXRsZXNzKCRweCkge1xuICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgIEByZXR1cm4gcHgyZW0oJHB4ICogMXB4KTtcbiAgfVxuICAvLyBpZiAkcHggaXMgY29tcGF0aWJsZSB3aXRoIGVtIHVuaXRzLCB0aGVuIHJldHVybiB2YWx1ZSB1bmNoYW5nZWRcbiAgQGlmIG1hdGguY29tcGF0aWJsZSgkcHgsIDFlbSkge1xuICAgIEByZXR1cm4gJHB4O1xuICB9XG4gIEByZXR1cm4gbWF0aC5kaXYoJHB4LCAxNnB4KSAqIDFlbTtcbn1cblxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAkdGFibGV0LXdpZHRoOiBnZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRicmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XG4gICAgQHJldHVybiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIFtmYWxzZV0gLSBPbmUgb2YgJGJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgW2ZhbHNlXSAtIE9uZSBvZiAkYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgW2ZhbHNlXSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSBbJG1lZGlhLXR5cGVdIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskYnJlYWtwb2ludHNdXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRicmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IHB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAdXNlICdwYXRoL3RvL21xJyBhcyAqO1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cykge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICRmcm9tOiBmYWxzZSxcbiAgJHVudGlsOiBmYWxzZSxcbiAgJGFuZDogZmFsc2UsXG4gICRtZWRpYS10eXBlOiAkbWVkaWEtdHlwZSxcbiAgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHNcbikge1xuICAkbWluLXdpZHRoOiAwO1xuICAkbWF4LXdpZHRoOiAwO1xuICAkbWVkaWEtcXVlcnk6ICcnO1xuXG4gIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICBAaWYgJGZyb20ge1xuICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgJG1pbi13aWR0aDogcHgyZW0oJGZyb20pO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG1pbi13aWR0aDogcHgyZW0oZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgQGlmICR1bnRpbCB7XG4gICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgJG1heC13aWR0aDogcHgyZW0oJHVudGlsKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXgtd2lkdGg6IHB4MmVtKGdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAwLjAxZW07XG4gICAgfVxuICB9XG5cbiAgQGlmICRtaW4td2lkdGggIT0gMCB7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7XG4gIH1cbiAgQGlmICRtYXgtd2lkdGggIT0gMCB7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7XG4gIH1cbiAgQGlmICRhbmQge1xuICAgICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7XG4gIH1cblxuICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XG4gIH1cblxuICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBRdWljayBzb3J0XG4vLy9cbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcbkBmdW5jdGlvbiBfcXVpY2stc29ydCgkbGlzdCkge1xuICAkbGVzczogKCk7XG4gICRlcXVhbDogKCk7XG4gICRsYXJnZTogKCk7XG5cbiAgQGlmIGxlbmd0aCgkbGlzdCkgPiAxIHtcbiAgICAkc2VlZDogbGlzdC5udGgoJGxpc3QsIG1hdGguY2VpbChtYXRoLmRpdihsZW5ndGgoJGxpc3QpLCAyKSkpO1xuXG4gICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xuICAgICAgICAkZXF1YWw6IGxpc3QuYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xuICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xuICAgICAgICAkbGVzczogbGlzdC5hcHBlbmQoJGxlc3MsICRpdGVtKTtcbiAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcbiAgICAgICAgJGxhcmdlOiBsaXN0LmFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIGpvaW4oam9pbihfcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9xdWljay1zb3J0KCRsYXJnZSkpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXG5AZnVuY3Rpb24gX21hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcbiAgJG1hcC1zb3J0ZWQ6ICgpO1xuICAkbWFwLWtleXM6IG1hcC5rZXlzKCRtYXApO1xuICAkbWFwLXZhbHVlczogbWFwLnZhbHVlcygkbWFwKTtcbiAgJG1hcC12YWx1ZXMtc29ydGVkOiBfcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XG5cbiAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xuICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcbiAgICAkaW5kZXg6IGluZGV4KCRtYXAtdmFsdWVzLCAkdmFsdWUpO1xuICAgICRrZXk6IGxpc3QubnRoKCRtYXAta2V5cywgJGluZGV4KTtcbiAgICAkbWFwLXNvcnRlZDogbWFwLm1lcmdlKFxuICAgICAgJG1hcC1zb3J0ZWQsXG4gICAgICAoXG4gICAgICAgICRrZXk6ICR2YWx1ZSxcbiAgICAgIClcbiAgICApO1xuXG4gICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcbiAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcbiAgICAkbWFwLXZhbHVlczogbGlzdC5zZXQtbnRoKCRtYXAtdmFsdWVzLCAkaW5kZXgsIDApO1xuICB9XG5cbiAgQHJldHVybiAkbWFwLXNvcnRlZDtcbn1cblxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAaW5jbHVkZSBhZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XG5AbWl4aW4gYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xuICAkbmV3LWJyZWFrcG9pbnQ6IChcbiAgICAkbmFtZTogJHdpZHRoLFxuICApO1xuICAkYnJlYWtwb2ludHM6IG1hcC5tZXJnZSgkYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcbiAgJGJyZWFrcG9pbnRzOiBfbWFwLXNvcnQtYnktdmFsdWUoJGJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyBbJHNob3ctYnJlYWtwb2ludHNdIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJGJyZWFrcG9pbnRzXSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBzaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIHNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIHNob3ctYnJlYWtwb2ludHMoXG4gICRzaG93LWJyZWFrcG9pbnRzOiAkc2hvdy1icmVha3BvaW50cyxcbiAgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHNcbikge1xuICBib2R5OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZiZWVkNTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmYmVlZDU7XG4gICAgY29sb3I6ICNjMDk4NTM7XG4gICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xuICAgICAgJHdpZHRoOiBnZXQtYnJlYWtwb2ludC13aWR0aCgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgY29udGVudDogJyN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3tweDJlbSgkd2lkdGgpfSknO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaWYgbGlzdC5sZW5ndGgoJHNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gIEBpbmNsdWRlIHNob3ctYnJlYWtwb2ludHM7XG59XG4iLCIuY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoKTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAmLS1kZWZhdWx0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1nYXApKTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSBjYWxjKHZhcigtLWdhcCkgKiAyKSk7XG4gICAgfVxuICB9XG5cbiAgJi0tZnVsbF93aWR0aCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIG1hcmdpbjogMCB2YXIoLS1nYXApO1xuICAgIH1cbiAgfVxuXG4gICYtLWZ1bGxfYmxlZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcblxuICAgICY6bm90KC5pbnNldCk6bm90KC5zZWN0aW9uLS13aXRoLWJhY2tncm91bmQpIC5ncmlkLWNvbnRlbnRfX2hlYWRlcixcbiAgICAmOm5vdCguaW5zZXQpOm5vdCguc2VjdGlvbi0td2l0aC1iYWNrZ3JvdW5kKSAudS1ncmlkIC5yaWNoLXRleHRfX3dyYXBwZXIsXG4gICAgJjpub3QoLmluc2V0KTpub3QoLnNlY3Rpb24tLXdpdGgtYmFja2dyb3VuZCkgLmhlcm9fX3dyYXBwZXIsXG4gICAgJjpub3QoLmluc2V0KTpub3QoLnNlY3Rpb24tLXdpdGgtYmFja2dyb3VuZCkgLnNsaWRlc2hvdy10ZXh0LWNvbnRyb2xzX19jb250cm9sbGVyLFxuICAgIC5tYWluLXByb2R1Y3RfX2Jsb2NrcyxcbiAgICAmLmluc2V0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbl9fd3JhcHBlci0tb3ZlcmxheSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3BpZnktc2VjdGlvbi5iYW5uZXIgJiB7XG4gICAgICAmLmNvbnRhaW5lci13aWR0aC0tbm9uZSB7XG4gICAgICAgIC5iYW5uZXJfX3dyYXBwZXI6YmVmb3JlLFxuICAgICAgICAuYmFubmVyX193cmFwcGVyLFxuICAgICAgICAuYmFubmVyX19iYWNrZ3JvdW5kIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2FyZCB7XG4gICR0aGlzOiAmO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWNhcmQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xuICB6LWluZGV4OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWNhcmQpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJl9faW1hZ2Uge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpbWcsIHZpZGVvIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1jYXJkKTtcbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWNhcmQpO1xuXG4gICAgICBpbWcsIHZpZGVvLCBwcm9kdWN0LW1vZGVsLCBpZnJhbWUge1xuICAgICAgICArIGltZywgKyB2aWRlbywgKyBwcm9kdWN0LW1vZGVsLCArIGlmcmFtZSB7XG4gICAgICAgICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgKyBwcm9kdWN0LW1vZGVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWNhcmQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXBlciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICAvL2Rpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJltkYXRhLWRlc2t0b3AtbGF5b3V0PVwiZ3JpZFwiXSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zbGlkZXIge1xuICAgICAgLnN3aXBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgJltkYXRhLWRpc3BsYXktcGFnaW5hdGlvbj1cInRydWVcIl0ge1xuICAgICAgICAgICZbZGF0YS1kaXNwbGF5LW5hdmlnYXRpb249XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xLjJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMS42cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICZbZGF0YS1kaXNwbGF5LW5hdmlnYXRpb249XCJmYWxzZVwiXSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMC42cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmdhbGxlcnktY29udHJvbHMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIG1hcmdpbjogMCAuOHJlbTtcbiAgICAgICAgbWluLWhlaWdodDogNHB4O1xuXG4gICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICAgICAgcGFkZGluZzogMC44cmVtIDA7XG5cbiAgICAgICAgICAmLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5nYWxsZXJ5LWNvbnRyb2xzLS1wYWdpbmF0aW9uLmdhbGxlcnktY29udHJvbHMtLW5hdmlnYXRpb24ge1xuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNHJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgcGFkZGluZzogMC44cmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2ICsgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItaG9yaXpvbnRhbCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jYXB0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGVhZGluZy1jYXJkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1jYXB0aW9uLXRyYW5zZm9ybSk7XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbixcbiAgJl9fdGl0bGUge1xuICAgIHRyYW5zaXRpb246IDAuMnM7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhlYWRpbmctY2FyZCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtY2FyZC1oZWFkaW5nLWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtY2FyZC1oZWFkaW5nLXdlaWdodCk7XG4gICAgZm9udC1zdHlsZTogdmFyKC0tZm9udC1jYXJkLWhlYWRpbmctc3R5bGUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1mb250LWNhcmQtaGVhZGluZy10cmFuc2Zvcm0pO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgIGxpbmUtY2xhbXA6IDM7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1jYXJkKTtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMS4ycmVtO1xuICAgIGdhcDogMS42cmVtO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZmxleDogMTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgIH1cblxuICAgIHZhcmlhbnQtc2VsZWN0cyB7XG4gICAgICBtYXJnaW46IDEuNnJlbSAwIDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMC44cmVtO1xuICAgIH1cblxuICAgICsgLmNhcmRfX2JvdHRvbSB7XG4gICAgICBwYWRkaW5nOiAwIDEuNnJlbSAxLjZyZW07XG4gICAgfVxuICB9XG5cblxuICAmX19ib3R0b20ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGNvbHVtbi1nYXA6IDEuNnJlbTtcbiAgICByb3ctZ2FwOiAwLjhyZW07XG5cbiAgICAucHJpY2Uge1xuICAgICAgZmxleDogMTtcbiAgICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnByaWNlX19yZWd1bGFyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5idXR0b24tLXBsYWluIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gICZfX2Jsb2ctdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1mb250LWNhcHRpb24tdHJhbnNmb3JtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1jYXJkKTtcbiAgfVxuXG4gICZfX2JhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcmVtO1xuICAgIHJpZ2h0OiAwcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvZHktd2VpZ2h0LWJvbGQpO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpO1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBwYWRkaW5nOiAwLjhyZW0gMS42cmVtO1xuICAgIH1cblxuICAgICYtLW91dC1vZi1zdG9jayB7XG4gICAgICBjb2xvcjogI2ZjNzA1MyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYtLW9uLXNhbGUge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXNhbGUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgc2hvcGlmeS1wYXltZW50LXRlcm1zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJi0tc3R5bGUtYmFubmVyLFxuICAmLS1zdHlsZS1ub19pbWFnZSB7XG4gICAgJi5jYXJkLS10ZXh0LXZfX3RvcCB7XG4gICAgICAmLmNhcmQtLWJhZGdlIHtcbiAgICAgICAgLmNhcmRfX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0LjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNhcmQtLXRleHQtdl9fYm90dG9tLFxuICAgICYuY2FyZC0tdGV4dC12X19jZW50ZXIge1xuICAgICAgJi5jYXJkLS1iYWRnZSB7XG4gICAgICAgIC5jYXJkX19jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNC40cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tc3R5bGUtbm9fcGFkZGluZyB7XG4gICAgI3skdGhpc31fX2ltYWdlLS1zbGlkZXIgLnN3aXBlciB7XG4gICAgICBnYXA6IDA7XG5cbiAgICAgIC5nYWxsZXJ5LWNvbnRyb2xzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXN0eWxlLXBhZGRpbmcge1xuICAgICN7JHRoaXN9X19pbWFnZSB7XG4gICAgICAmLS1zbGlkZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgICBzd2lwZXItc2xpZGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC44cmVtO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjhyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJltkYXRhLWRlc2t0b3Atc2xpZGVzLXBlci12aWV3PVwiMVwiXSB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIHN3aXBlci1zbGlkZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmW2RhdGEtbW9iaWxlLXNsaWRlcy1wZXItdmlldz1cIjFcIl0ge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZbZGF0YS1hbmltYXRpb24tc3R5bGU9XCJmYWRlXCJdIHtcbiAgICAgICAgc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjhyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgLmNhcmRfX2ltYWdlOm5vdCguc2xpZGVyLWVuYWJsZWQpIHtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICB9XG4gIH1cblxuICAmLS10ZXh0IHtcbiAgICAmLWgge1xuXG4gICAgICAmX19jZW50ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLm1haW4tcHJvZHVjdF9fZmllbGRzZXQtLXBpbGxzIGRpdi52YXJpYW50X29wdGlvbnMge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skdGhpc31fX2JvdHRvbSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX3JpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgLm1haW4tcHJvZHVjdF9fZmllbGRzZXQtLXBpbGxzIGRpdi52YXJpYW50X29wdGlvbnMge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyR0aGlzfV9fYmFkZ2Uge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyR0aGlzfV9fYm90dG9tIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi12IHtcbiAgICAgICZfX3RvcCB7XG4gICAgICAgICN7JHRoaXN9X19jb250ZW50IHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCgjeyR0aGlzfS0tc3R5bGUtbm9faW1hZ2UpIHtcbiAgICAgICAgICAjeyR0aGlzfV9faW1hZ2Uge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skdGhpc31fX2JhZGdlIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmI3skdGhpc30tLXRleHQtaF9fcmlnaHQgI3skdGhpc31fX2JhZGdlIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYjeyR0aGlzfS0tc3R5bGUtcGFkZGluZyB7XG4gICAgICAgICAgI3skdGhpc31fX2ltYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19jZW50ZXIge1xuICAgICAgICAjeyR0aGlzfV9fY29udGVudCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fYm90dG9tIHtcbiAgICAgICAgI3skdGhpc31fX2NvbnRlbnQge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAmI3skdGhpc30tLXN0eWxlLXBhZGRpbmcge1xuICAgICAgICAgICN7JHRoaXN9X19pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXN0eWxlLWJhbm5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWJhbm5lcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1iYW5uZXIpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZ3JhZGllbnQtYmFubmVyKTtcblxuICAgICN7JHRoaXN9X19pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjeyR0aGlzfV9fdGl0bGUge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhlYWRpbmctYmFubmVyKTtcbiAgICB9XG5cbiAgICAjeyR0aGlzfV9fZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYmFubmVyKTtcbiAgICB9XG5cbiAgICAjeyR0aGlzfV9fY29udGVudCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgI3skdGhpc31fX2NvbnRlbnQsXG4gICAgI3skdGhpc31fX2JvdHRvbSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1iYW5uZXIpO1xuICAgIH1cblxuICAgICN7JHRoaXN9X19jb250ZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1vdmVybGF5LWJhbm5lcik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1jb2xvci1vdmVybGF5LWdyYWRpZW50LWJhbm5lcik7XG4gICAgICBvcGFjaXR5OiBjYWxjKHZhcigtLW9wYWNpdHktb3ZlcmxheS1iYW5uZXIpIC8gMTAwKTtcbiAgICB9XG4gIH1cblxuICAubWFpbi1wcm9kdWN0X19maWVsZHNldCB7XG4gICAgbGVnZW5kIHtcbiAgICAgIEBleHRlbmQgLnRleHQteHM7XG4gICAgfVxuICB9XG5cbiAgJi0tdGVzdGltb25pYWwge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWNhcmQpO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgcGFkZGluZzogMy42cmVtIDMuNnJlbSA0LjhyZW07XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWNhcmQpO1xuICAgICAgZmxleDogMTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX190ZXN0aW1vbmlhbCB7XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWNhcmQpO1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgICZfX3NvdXJjZSB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtY2FyZCk7XG4gICAgfVxuXG4gICAgJl9fc2hvcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogLTRyZW0gMCAwIDA7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBtYXJnaW46IDAgMCAxLjZyZW0gMDtcbiAgICAgIGhlaWdodDogOHJlbTtcbiAgICAgIHdpZHRoOiA4cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtY2FyZCk7XG5cbiAgICAgICYtLXJvdW5kZWRfY29ybmVycyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAmLS1jaXJjbGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItY2FyZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtY2FyZCk7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcblxuICAgICAgICBpbWcsXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1ib3JkZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItY2FyZCk7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgI3skdGhpc31fX2ltYWdlOm5vdCguY2FyZF9faW1hZ2UtLXNsaWRlcikge1xuICAgICAgJjpoYXMoZmlndXJlID4gKiArICopIHtcbiAgICAgICAgaW1nLCB2aWRlbywgcHJvZHVjdC1tb2RlbCwgaWZyYW1lIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW1nLCB2aWRlbywgcHJvZHVjdC1tb2RlbCwgaWZyYW1lIHtcbiAgICAgICAgKyBpbWcsICsgdmlkZW8sICsgcHJvZHVjdC1tb2RlbCwgKyBpZnJhbWUge1xuICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5jYXJkLS1zdHlsZS1iYW5uZXIpIHtcbiAgICAgICN7JHRoaXN9X190aXRsZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcbiAgICAgIH1cblxuICAgICAgJi5jYXJkLS10ZXh0LWRpc3BsYXktLXRleHQge1xuICAgICAgICAjeyR0aGlzfV9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmZvcm1fX2lucHV0LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5wdXQtYmFja2dyb3VuZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWlucHV0LWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtdGV4dCk7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAuMnJlbSByZ2JhKDE2LCAyNCwgNDAsIDAuMDUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gIHNlbGVjdCB7XG4gICAgZmxleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdXRsaW5lLW9mZnNldDogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcblxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlcik7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1ib2R5LXRyYW5zZm9ybSk7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBmb250LXNpemU6IDAuOTJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICBwYWRkaW5nOiAxLjZyZW0gOHJlbSAxLjZyZW0gNHJlbTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgcGFkZGluZzogMS42cmVtIDEycmVtIDEuNnJlbSA0cmVtO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdCB7XG4gICAgcGFkZGluZzogMS4ycmVtIDRyZW0gMS4ycmVtIDFyZW07XG4gIH1cblxuICAuaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgbWFyZ2luOiAwIDAuOHJlbTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC5leHBhbmQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxLjJyZW07XG4gIH1cblxuICAuZXhwYW5kLFxuICAuYnV0dG9uIHtcbiAgICByaWdodDogMC44cmVtO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG4uZm9ybV9fb3V0cHV0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxLjJyZW07XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMi40cmVtO1xuXG4gIHNwYW4ge1xuICAgIG1hcmdpbjogMCAwLjhyZW0gMCAwLjJyZW07XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbi5pbnB1dC1maWVsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMCAwIDIuNHJlbSAwO1xuXG4gIGxhYmVsIHtcbiAgICBtYXJnaW46IDAgMCAwLjhyZW0gMDtcbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5wdXQtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItaW5wdXQtYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtdGV4dCk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMC4ycmVtIHJnYmEoMTYsIDI0LCA0MCwgMC4wNSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgcGFkZGluZzogMS4ycmVtIDEuNnJlbTtcblxuICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlcik7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1ib2R5LXRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG59XG5cbi5sb2NhbGl6YXRpb24tZm9ybSB7XG4gICYtLXNlbGVjdCB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIHNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB9XG4gIH1cblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMC44cmVtIDAgMCAwO1xuICB9XG5cbiAgZGV0YWlscyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmW29wZW5dIHtcbiAgICAgIHN1bW1hcnkge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgICAgYm94LXNoYWRvdzogMCAycmVtIDZyZW0gcmdiKDUyIDY0IDg0IC8gOCUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICBtYXgtaGVpZ2h0OiAxMHJlbTtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC00cmVtO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IDAuNHM7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjRzO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvZHktd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaGVhZGVyICYge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltvcGVuXSB7XG4gICAgICB1bCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgLmhlYWRlciAmIHtcbiAgICAgICAgICB0b3A6IDQuNHJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiW2RhdGEtdG9vbHRpcC10cmlnZ2VyXSB7XG4gICsgW2RhdGEtdG9vbHRpcF0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcblxuICAgICYubmF2LS1tdWx0aS1sZXZlbCB7XG4gICAgICB3aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoKTtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIGNhbGModmFyKC0tZ2FwKSAqIDIpKTtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAjYXJyb3cge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcblxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6bm90KFtvcGVuXSkgKyBbZGF0YS10b29sdGlwXSB7XG4gICAgdG9wOiAtOTk5OXB4O1xuICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyAuM3MsIG9wYWNpdHkgLjNzO1xuXG4gICAgLmFjdGl2ZSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDBzIC4zcztcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICBbZGF0YS1tb2JpbGUtdmlldz1cImZ1bGxzY3JlZW5cIl0gW2RhdGEtdG9vbHRpcC10cmlnZ2VyXSArIFtkYXRhLXRvb2x0aXBdIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1nYXApKTtcbiAgfVxufVxuXG4udG9vbHRpcC0tc2VhcmNoIHtcbiAgdHJhbnNpdGlvbjogMHMgIWltcG9ydGFudDtcbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyMgVVRJTElUSUVTOiBESVNQTEFZXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQGNvbnRlbnQgVXRpbGl0eSBjbGFzc2VzIHRvIGhpZGUvc2hvdyBlbGVtZW50cy5cbi8vL1xuLy8vICAgLnUtaGlkZGVuLXZpc3VhbGx5IHt9ICAgLSBoaWRlIGFuZCB2aXNpYmxlIGZvciBhMTF5LlxuLy8vICAgLnUtaGlkZSB7fSAgICAgICAgICAgICAgLSBhbHdheXMgaGlkZGVuLlxuLy8vICAgLnUtdmlzaWJsZSB7fSAgICAgICAgICAgLSBhbHdheXMgdmlzaWJsZS5cbi8vLyAgIGFuZCBvdGhlcnMuLi5cbi8vL1xuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50LlxuLnUtaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8vIFJlcG9uc2l2ZSBoaWRpbmcgdXRpbGl0eSBjbGFzc2VzLlxuLy8vIEB0b2RvXG5cbi8vIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVycy5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBAaW5jbHVkZSBoaWRkZW5WaXN1YWxseTtcbn1cblxuLy8gUmVkdWNlIG1vdGlvbiBmb3IgYWNjZXNzaWJpbGl0eVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XG4gIC51LW1vdGlvbi1yZWR1Y2Uge1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBBbHdheXMgc2hvdyBhbiBlbGVtZW50LlxuLnUtc2hvdyxcbi51LWhpZGUtbm9uZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLnUtZmxleCxcbi51LWZsZXgtbm9uZSB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4udS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICBnYXA6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW4tY291bnQtbW9iaWxlKSwgbWlubWF4KDAsIDFmcikpO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgZ2FwOiB2YXIoLS1nYXApO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWNvbHVtbi1jb3VudC1kZXNrdG9wKSwgbWlubWF4KDAsIDFmcikpO1xuICB9XG59XG5cbi8vLyBAdGhyb3cgRGFuZ2Vyb3VzIGZvciBhMTF5IC0gVXNlIHdpdGggY2FyZVxuLnUtZm9jdXMtbm9uZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG4vLyBDb250cm9sIHZpc2liaWxpdHkgd2l0aG91dCBhZmZlY3RpbmcgZmxvdy5cbi51LXZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuLnUtaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbn1cblxuLm5vLXNjcm9sbGJhciB7XG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMDsgLyogUmVtb3ZlIHNjcm9sbGJhciBzcGFjZSAqL1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBPcHRpb25hbDoganVzdCBtYWtlIHNjcm9sbGJhciBpbnZpc2libGUgKi9cbiAgfVxufVxuXG4udy0xMDAge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uZGlzcGxheSB7XG4gICYtLWZpbGwge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZmxleDogMTtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYtbW9iaWxlIHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaGlkZS1tb2JpbGUge1xuICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRlLWRlc2t0b3Age1xuICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpZGVvLFxuLmltYWdlIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLnRleHQtLWNhcHRpb24ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG50cnVuY2F0YWJsZS1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcblxuICA+IGRpdiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiA5LjZyZW07XG4gICAgdHJhbnNpdGlvbjogMC41cztcblxuICAgIC5mYWNldHNfX2ZhY2V0ICYge1xuICAgICAgbWF4LWhlaWdodDogMTZyZW07XG4gICAgfVxuXG4gICAgJi50ZXh0LXNtIHtcbiAgICAgIG1heC1oZWlnaHQ6IDguNHJlbTtcbiAgICB9XG5cbiAgICAmLnRleHQtbGcge1xuICAgICAgbWF4LWhlaWdodDogOXJlbTtcbiAgICB9XG5cbiAgICAmLnRleHQteGwge1xuICAgICAgbWF4LWhlaWdodDogMTAuOHJlbTtcbiAgICB9XG4gIH1cblxuICAuc2hyaW5rLFxuICAuZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcblxuICAgIC5mYWNldHNfX2ZhY2V0ICYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDAuOHJlbTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdC1yZ2IpKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTcyZGVnLFxuICAgICAgICByZ2JhKHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0LXJnYiksIDApIDUwJSxcbiAgICAgICAgcmdiYSh2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdC1yZ2IpLCAxKSAxMDAlXG4gICAgICApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpO1xuICAgIH1cbiAgfVxuXG4gICYudHJ1bmNhdGVkIHtcbiAgICAuZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5mYWNldHNfX2ZhY2V0ICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMi40cmVtO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdC1yZ2IpKTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgOTBkZWcsXG4gICAgICAgIHJnYmEodmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQtcmdiKSwgMCkgMCUsXG4gICAgICAgIHJnYmEodmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQtcmdiKSwgMSkgMTAwJVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAmLmV4cGFuZGVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG5cbiAgICA+IGRpdiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAuZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5zaHJpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvdHRvbTogLTIuNHJlbTtcbiAgICB9XG5cbiAgICAuZmFjZXRzX19mYWNldCAmOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogLTIuNHJlbTtcbiAgICB9XG4gIH1cbn1cblxuLnNlcGFyYXRvcnMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZXBhcmF0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmhyIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi5ub25lIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICAmLmxpbmUge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cblxuICAmLmRvdHRlZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG4gIH1cblxuICAmLmRhc2hlZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIH1cbn1cblxuLm5vLWpzIHtcbiAgLm5vLWpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oYXMtanMge1xuICAuaGFzLWpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbmJvZHkge1xuICAmLm5vLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYtLWxhcHRvcC1kb3duIHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcblxuICAmLm9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnM7XG4gIH1cbn1cblxuLmFib3ZlLW92ZXJsYXkge1xuICB6LWluZGV4OiAxMDAwICFpbXBvcnRhbnQ7XG5cbiAgJiNuYXYtd3JhcHBlciB7XG4gICAgei1pbmRleDogMTAwMSAhaW1wb3J0YW50O1xuXG4gICAgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICAgIH1cbiAgfVxufVxuXG5cbkBrZXlmcmFtZXMgdXgtc2hha2Uge1xuICAwJSwgNTAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTAuMnJlbSk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC4ycmVtKTtcbiAgfVxufVxuXG4udXgtc2hha2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYW5pbWF0aW9uOiB1eC1zaGFrZSAwLjJzIDIgZWFzZS1vdXQ7XG59XG5cbkBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgLmFsaWdubWVudC1ob3Jpem9udGFsLW1vYmlsZS0tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICBhIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgLmFsaWdubWVudC1ob3Jpem9udGFsLW1vYmlsZS0tY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5zb2NpYWwtYWNjb3VudHMgdWwge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmFsaWdubWVudC1ob3Jpem9udGFsLW1vYmlsZS0tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgLnNvY2lhbC1hY2NvdW50cyB1bCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxuICB9XG59XG5cblxuQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gIC5hbGlnbm1lbnQtaG9yaXpvbnRhbC0tbGVmdCB7XG4gICAgYSB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIC5hbGlnbm1lbnQtaG9yaXpvbnRhbC0tY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5zb2NpYWwtYWNjb3VudHMgdWwge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmFsaWdubWVudC1ob3Jpem9udGFsLS1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgICBsb2NhbGl6YXRpb24tZm9ybSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjRyZW07XG4gICAgfVxuXG4gICAgLnNvY2lhbC1hY2NvdW50cyB1bCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxuICB9XG59XG5cbi5zbGlkZXItZW5hYmxlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIFVUSUxJVElFUzogSU1BR0Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5pbWctYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgei1pbmRleDogMDtcblxuICAmLS1uby1pbmRleCB7XG4gICAgQGV4dGVuZCAuaW1nLWFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICAmLS1sb2dvIHtcbiAgICBAZXh0ZW5kIC5pbWctYWJzb2x1dGU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB3aWR0aDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG4uaW1nLXBsYWNlaG9sZGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzEsIDIyOSwgMjIwLCAwLjQ4KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICAmLnN0aWNreS1hZGQtdG8tY2FydF9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMHJlbTtcbiAgICBoZWlnaHQ6IDEwcmVtO1xuICAgIG1hcmdpbjogMCAwLjhyZW0gMCAwO1xuICB9XG59XG5cbmZpZ3VyZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gID4gZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmltZy1wbGFjZWhvbGRlcixcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8sXG4gIG1vZGVsLXZpZXdlciB7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cblxuICAuaW1nLXBsYWNlaG9sZGVyLFxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvLFxuICBtb2RlbC12aWV3ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyxcbiAgbW9kZWwtdmlld2VyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAmLnN0eWxlLS1ub19wYWRkaW5nIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG59XG5cbi5maWd1cmUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmLS1kZWZhdWx0IHtcbiAgICB2aWRlbyxcbiAgICBpbWc6bm90KC5maWd1cmUtLXZpZGVvX19leHRlcm5hbC1wb3N0ZXItaW1hZ2UpLFxuICAgIHN2ZyB7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5jYXJkICYge1xuICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5maWd1cmUtLW1vZGVsIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAmLS12aWRlbyxcbiAgJi0tZXh0ZXJuYWxfdmlkZW8ge1xuICAgIEBleHRlbmQgLmZpZ3VyZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgJl9fcG9zdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogMC40cztcblxuICAgICAgc3BhbiB7XG4gICAgICAgIHdpZHRoOiA2LjRyZW07XG4gICAgICAgIGhlaWdodDogNi40cmVtO1xuICAgICAgICBmb250LXNpemU6IDYuNHJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSkgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IFwiRklMTFwiIDEsIFwid2dodFwiIDQwMCwgXCJHUkFEXCIgMCwgXCJvcHN6XCIgNDg7XG4gICAgICAgIHRyYW5zaXRpb246IDAuNHM7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXNxdWFyZSB7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIH1cblxuICAmLS1sYW5kc2NhcGUge1xuICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgfVxuXG4gICYtLXBvcnRyYWl0IHtcbiAgICBhc3BlY3QtcmF0aW86IDIvMztcbiAgfVxuXG4gICYtLXdpZGVzY3JlZW4ge1xuICAgIC8vdGhpcyBhc3BlY3QgcmF0aW8gaXNuJ3QgZ3JlYXQgb24gbW9iaWxlXG4gICAgLy93ZSBuZWVkIHRvIHN0YXkgb3BpbmlvbmF0ZWQgb24gdGhpc1xuICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogMi4zNS8xO1xuICAgIH1cbiAgfVxuXG4gICYtLWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgfVxuXG4gICYtLXZpZGVvX19wb3N0ZXIsXG4gICYtLW92ZXJsYXkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4uZmlndXJlIHtcbiAgJjpub3QoLmFzcGVjdC1yYXRpby0tZGVmYXVsdCkge1xuICAgIC5vYmplY3QtZml0LS1jb3ZlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmltYWdlIHtcbiAgJi0tY2lyY2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB9XG5cbiAgJi0tcm91bmRlZF9jb3JuZXJzIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi5pY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzLCB0cmFuc2Zvcm0gMC4ycztcbiAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZFwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJsaWdhXCI7XG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBcIkZJTExcIiAwLCBcIndnaHRcIiA0MDAsIFwiR1JBRFwiIDAsIFwib3BzelwiIDQ4O1xuICB3aWR0aDogMi40cmVtO1xuICBoZWlnaHQ6IDIuNHJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWljb24pO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubm8tanMgJixcbiAgJi5sb2FkZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuZGV0YWlscyB7XG4gIC5pY29uIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgIC5pY29uIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG5pbWcudmFyaWFudC1pbWFnZSB7XG4gIHotaW5kZXg6IDI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgbGluZWFyLCB2aXNpYmlsaXR5IDBzIDBzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBsaW5lYXIsIHZpc2liaWxpdHkgMHMgMHMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBsaW5lYXIsIHZpc2liaWxpdHkgMHMgMHMgbGluZWFyO1xuXG4gICYuaGlkZGVuIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuNnMgbGluZWFyLCB2aXNpYmlsaXR5IDBzIC42cyBsaW5lYXI7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC42cyBsaW5lYXIsIHZpc2liaWxpdHkgMHMgLjZzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC42cyBsaW5lYXIsIHZpc2liaWxpdHkgMHMgLjZzIGxpbmVhcjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMCFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLnRleHQge1xuICAmLS11cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmLS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICYtLWxpZ2h0IHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG5cbiAgJi0tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmLS1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAmLS1ub3dyYXAge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cbn1cbiIsIi5hc3BlY3QtcmF0aW8ge1xuICAmLS1kZWZhdWx0IHtcbiAgICBhc3BlY3QtcmF0aW86IGF1dG87XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcblxuICAgID4gdmlkZW8sXG4gICAgPiBpbWc6bm90KC5maWd1cmUtLXZpZGVvX19leHRlcm5hbC1wb3N0ZXItaW1hZ2UpLFxuICAgID4gc3ZnIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5maWd1cmUtLXZpZGVvLWV4dGVybmFsIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZpZ3VyZS0tbW9kZWwge1xuICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICB9XG4gIH1cblxuICAmLS1sYW5kc2NhcGUge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICB9XG5cbiAgJi0tcG9ydHJhaXQge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgYXNwZWN0LXJhdGlvOiAyLzM7XG4gIH1cblxuICAmLS1zcXVhcmUge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIH1cblxuICAmLS11bHRyYXdpZGUge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgYXNwZWN0LXJhdGlvOiA0LzE7XG4gIH1cblxuICAmLS1tZWdhd2lkZSB7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBhc3BlY3QtcmF0aW86IDYuNC8xO1xuICB9XG5cbiAgJi0td2lkZXNjcmVlbiB7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBhc3BlY3QtcmF0aW86IDIuMzUvMTtcbiAgfVxuXG4gICYtLWNpcmNsZSB7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJl9fbW9iaWxlIHtcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAmLS1kZWZhdWx0IHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG4gICAgICAgID4gdmlkZW8sXG4gICAgICAgID4gaW1nOm5vdCguZmlndXJlLS12aWRlb19fZXh0ZXJuYWwtcG9zdGVyLWltYWdlKSxcbiAgICAgICAgPiBzdmcge1xuICAgICAgICAgICY6bm90KC5iYW5uZXJfX2JhY2tncm91bmQpIHtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiB2aWRlbyB7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpZ3VyZS0tdmlkZW8tZXh0ZXJuYWwge1xuICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLXNxdWFyZSB7XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgICAgfVxuXG4gICAgICAmLS1sYW5kc2NhcGUge1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gICAgICB9XG5cbiAgICAgICYtLXBvcnRyYWl0IHtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiA5LzE2O1xuICAgICAgfVxuXG4gICAgICAmLS13aWRlc2NyZWVuIHtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAyLjM1LzE7XG4gICAgICB9XG5cbiAgICAgICYtLXVsdHJhd2lkZSB7XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogNC8xO1xuICAgICAgfVxuXG4gICAgICAmLS1tZWdhd2lkZSB7XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogNi40LzE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5vYmplY3QtZml0IHtcbiAgJi0tY292ZXIge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLS1jb250YWluIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLS1kZWZhdWx0IHtcbiAgICBvYmplY3QtZml0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5hY2NvcmRpb24ge1xuICBkZXRhaWxzIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIG1hcmdpbjogMCAwIDEuNnJlbSAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtY2FyZCk7XG5cbiAgICAmOmxhc3QtY2hpbGQsXG4gICAgLm1haW4tcHJvZHVjdCAmIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbSAyLjRyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdXRsaW5lLXN0eWxlOiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgb3V0bGluZS1zdHlsZTogbm9uZTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3Zlcik7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIHBhZGRpbmc6IDAgMy4ycmVtIDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuXG4gICAgICAgICY6bm90KFtjbGFzc10pIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG4gICAgICAgICArIHAge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMS42cmVtO1xuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW29wZW5dIHN1bW1hcnkge1xuICAgICAgc3BhbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwIDIuNHJlbSAyLjRyZW0gMi40cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIGEgKyAud3lzaXd5ZyxcbiAgICAgIC53eXNpd3lnICsgLnd5c2l3eWcsXG4gICAgICAud3lzaXd5ZyArIGEge1xuICAgICAgICBtYXJnaW46IDEuNnJlbSAwIDAgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAyLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbjogMS42cmVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgbWFyZ2luOiAyLjRyZW0gMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW46IDEuNnJlbSAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgbWFyZ2luOiAyLjRyZW0gMCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAmLmhhcy1jb250ZW50IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyO1xuICAgICAgICBncmlkLWdhcDogNi40cmVtO1xuXG4gICAgICAgICYuY29udGVudC1sZWZ0IHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7XG5cbiAgICAgICAgICAuYWNjb3JkaW9uX190YWJzIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmhhcy1mdWxsd2lkdGgpIHtcbiAgICAgICAgICAuZ3JpZC1jb250ZW50X19oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWNlbnRlciB7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaGFzLWZ1bGx3aWR0aCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBncmlkLWdhcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICAuc3RpY2t5IHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDEycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmJyZWFkY3J1bWJzIHtcbiAgbmF2IHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICBvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMXJlbTtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBJRSBhbmQgRWRnZSAqL1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICAgIHotaW5kZXg6IDE7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAwOyAvKiBSZW1vdmUgc2Nyb2xsYmFyIHNwYWNlICovXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLyogT3B0aW9uYWw6IGp1c3QgbWFrZSBzY3JvbGxiYXIgaW52aXNpYmxlICovXG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICBhLFxuICAgICAgcCB7XG4gICAgICAgIG1heC13aWR0aDogODByZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgIG1heC13aWR0aDogMjByZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYSxcbiAgICAgICAgcCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNlY3Rpb25fX3dyYXBwZXIge1xuICAgIG5hdiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgJi5zZWN0aW9uX193cmFwcGVyLS1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbTtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWdubWVudC1ob3Jpem9udGFsLS1jZW50ZXIge1xuICAgICAgb2wge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWdubWVudC1ob3Jpem9udGFsLS1yaWdodCB7XG4gICAgICBvbCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgJi5hbGlnbm1lbnQtaG9yaXpvbnRhbC1tb2JpbGUtLWxlZnQge1xuICAgICAgICBvbCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWxpZ25tZW50LWhvcml6b250YWwtbW9iaWxlLS1jZW50ZXIge1xuICAgICAgICBvbCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5hbGlnbm1lbnQtaG9yaXpvbnRhbC1tb2JpbGUtLXJpZ2h0IHtcbiAgICAgICAgb2wge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNob3BpZnktc2VjdGlvbiB7XG4gICAgb2wge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIyMgQ09NUE9ORU5UOiBCVVRUT05cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5idXR0b24ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1idXR0b24tZmFtaWx5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYnV0dG9uLXdlaWdodCk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtYnV0dG9uLXN0eWxlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtYnV0dG9uLXRyYW5zZm9ybSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgZ2FwOiAwLjhyZW07XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItYnV0dG9uLXByaW1hcnkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgcGFkZGluZzogMS4ycmVtIDJyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJ1dHRvbi1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXByaW1hcnkpO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGJvcmRlci1jb2xvciAwLjJzO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cbiAgLmljb24ge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHdpZHRoOiAxLjZyZW07XG4gICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1idXR0b24tcHJpbWFyeS1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXByaW1hcnktaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKTtcblxuICAgIC5pY29uIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gICYtLWRlZmF1bHQsXG4gICYtLXByaW1hcnkge1xuICAgIEBleHRlbmQgLmJ1dHRvbjsgLy9uZWNlc3NhcnkgdG8gaGFuZGxlIGNhc2VzIHdoZXJlIHBsYWluIGJ1dHRvbiBpcyB1c2VkXG4gIH1cblxuICAmLS1pbnZlcnRlZCxcbiAgJi0tc2Vjb25kYXJ5IHtcbiAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWJ1dHRvbi1zZWNvbmRhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1zZWNvbmRhcnkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXNlY29uZGFyeSk7XG5cbiAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKSAhaW1wb3J0YW50OyAvL2ltcG9ydGFudCBpcyBhZGRlZCBmb3IgdGhlIHNob3BpZnkgcGF5bWVudCBidXR0b24gb3ZlcnJpZGVcbiAgICB9XG4gIH1cblxuICAmLS14cyB7XG4gICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgIEBleHRlbmQgLnRleHQteHM7XG4gICAgcGFkZGluZzogMC40cmVtIDAuOHJlbTtcblxuICAgICYtaW52ZXJ0ZWQsXG4gICAgJi1zZWNvbmRhcnkge1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS14cztcbiAgICAgIEBleHRlbmQgLmJ1dHRvbi0tc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gICYtLXNtIHtcbiAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgQGV4dGVuZCAudGV4dC1zbTtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMS42cmVtO1xuXG4gICAgJi1pbnZlcnRlZCxcbiAgICAmLXNlY29uZGFyeSB7XG4gICAgICBAZXh0ZW5kIC5idXR0b24tLXNtO1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS1zZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgJi0tbGcge1xuICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICBAZXh0ZW5kIC50ZXh0LWxnO1xuXG4gICAgJi1pbnZlcnRlZCxcbiAgICAmLXNlY29uZGFyeSB7XG4gICAgICBAZXh0ZW5kIC5idXR0b24tLWxnO1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS1zZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgJi0teGwge1xuICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICBAZXh0ZW5kIC50ZXh0LXhsO1xuXG4gICAgJi1pbnZlcnRlZCxcbiAgICAmLXNlY29uZGFyeSB7XG4gICAgICBAZXh0ZW5kIC5idXR0b24tLXhsO1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS1zZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgJi0tcGxhaW4ge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJ1dHRvbi1mYW1pbHkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJ1dHRvbi13ZWlnaHQpO1xuICAgIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtYnV0dG9uLXN0eWxlKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1idXR0b24tdHJhbnNmb3JtKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgZ2FwOiAwLjRyZW07XG4gICAgcGFkZGluZzogMCAwIDAuNHJlbSAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbjogMDtcblxuICAgICYtc20ge1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS1wbGFpbjtcbiAgICAgIEBleHRlbmQgLnRleHQtc207XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICYteHMge1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS1wbGFpbjtcbiAgICAgIEBleHRlbmQgLnRleHQteHM7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQsXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC5jYXJ0LWljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLS1jbG9zZSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgdHJhbnNpdGlvbjogMC40cztcblxuICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXByaW1hcnktaG92ZXIpICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYtLWZ1bGx3aWR0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmLS1hZGQtdG8tY2FydCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLnNjcm9sbC1hdGMge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gKiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC5sb2FkaW5nLWljb24sXG4gICAgLmNhcnQtaWNvbiB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMsIHRyYW5zZm9ybSAwLjJzO1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICYtLWludmVydGVkLFxuICAgICYtLXNlY29uZGFyeSB7XG4gICAgICBAZXh0ZW5kIC5idXR0b24tLWFkZC10by1jYXJ0O1xuICAgICAgQGV4dGVuZCAuYnV0dG9uLS1zZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgJi0tY2FyZCxcbiAgJi0tY2FyZDpkaXNhYmxlZCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYnV0dG9uLWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYnV0dG9uLXdlaWdodCk7XG4gICAgZm9udC1zdHlsZTogdmFyKC0tZm9udC1idXR0b24tc3R5bGUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1mb250LWJ1dHRvbi10cmFuc2Zvcm0pO1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxLjJyZW07XG4gICAgbWluLXdpZHRoOiA0LjhyZW07XG5cbiAgICBzdmcge1xuICAgICAgaGVpZ2h0OiAxLjZyZW07XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgJjpub3QoLmNhcnQtaWNvbikge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5jYXJ0LWljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMsIHRyYW5zZm9ybSAwLjJzO1xuICAgIH1cbiAgfVxuXG4gICYtLXZpZXctcHJvZHVjdCB7XG4gICAgcGFkZGluZzogMC44cmVtIDEuMnJlbTtcbiAgICBtaW4td2lkdGg6IDQuOHJlbTtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblxuICAgICZfX3RleHQge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGhlaWdodDogMS42cmVtO1xuICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICB9XG4gIH1cblxuICAmLS14ciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmW2RhdGEtc2hvcGlmeS14ci1oaWRkZW5dIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmW2RhdGEtc2hvcGlmeS14ci1oaWRkZW5dIHtcbiAgICAgIC5zaG9waWZ5LWRlc2lnbi1tb2RlICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXBpbGwge1xuICAgIEBleHRlbmQgLmJ1dHRvbi0tc2Vjb25kYXJ5O1xuICAgIEBleHRlbmQgLnRleHQteHM7XG4gICAgcGFkZGluZzogMC44cmVtIDEuMnJlbTtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbTtcbiAgICB9XG5cbiAgICAmLmlzLXNlbGVjdGVkLFxuICAgICY6aGFzKGlucHV0OmNoZWNrZWQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpO1xuICAgIH1cblxuICAgICYuaXMtZGlzYWJsZWQsXG4gICAgJjpoYXMoaW5wdXQ6ZGlzYWJsZWQpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgb3BhY2l0eTogLjU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWljb25fcmlnaHQge1xuICAgIC5pY29uIHtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cbiAgfVxuXG4gICYtLWJhY2sge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1idXR0b24tdHJhbnNmb3JtKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRyYW5zaXRpb246IDAuMjVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIC5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgICB3aWR0aDogMi40cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgJi0tY2lyY2xlIHtcbiAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBAZXh0ZW5kIC5hc3BlY3QtcmF0aW8tLWNpcmNsZTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICB9XG59XG5cbmEuY2FyZF9fY29udGVudCB7XG4gIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgIC5idXR0b24ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpO1xuXG4gICAgICAuYnV0dG9uLS12aWV3LXByb2R1Y3RfX3RleHQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1idXR0b24tcHJpbWFyeS1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmEuYmFubmVyX193cmFwcGVyIHtcbiAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKTtcblxuICAgICAgLmJ1dHRvbl9fdGV4dCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1wcmltYXJ5LWhvdmVyKTtcbiAgICAgIH1cblxuICAgICAgJi0taW52ZXJ0ZWQsXG4gICAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItYnV0dG9uLXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcik7XG5cbiAgICAgICAgLmJ1dHRvbl9fdGV4dCB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNob3BpZnktcGF5bWVudC1idXR0b24ge1xuICBtYXJnaW46IDEuMnJlbSAwIDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5uby1qcyAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgQGV4dGVuZCAuYnV0dG9uLS1hZGQtdG8tY2FydC0tc2Vjb25kYXJ5O1xuICAgIG1pbi1oZWlnaHQ6IDQuMnJlbTtcbiAgICBoZWlnaHQ6IDQuMnJlbTtcblxuICAgICYuc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fbW9yZS1vcHRpb25zIHtcbiAgICAgIG1hcmdpbjogMS4ycmVtIDAgMCAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5sb2FkaW5nLWljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYnV0dG9ucyB7XG4gICZfX3dyYXBwZXIge1xuICAgIGdyaWQtZ2FwOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJi0tYmVsb3cge1xuICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gICAgfVxuXG4gICAgJi0tY2VudGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICYtLXJpZ2h0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgJi0tZnVsbHdpZHRoIHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgYTpub3QoLmJ1dHRvbi0tcGxhaW4pIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG4uc3dhdGNoIHtcbiAgJjpoYXMoaW5wdXQ6Y2hlY2tlZCkge1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDAuMnJlbSB2YXIoLS1jb2xvci1ib3JkZXItYnV0dG9uLXByaW1hcnktaG92ZXIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOmhhcyhpbnB1dDpkaXNhYmxlZCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAtNTAlO1xuICAgICAgaGVpZ2h0OiAwLjFyZW07XG4gICAgICB3aWR0aDogMjAwJTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItYnV0dG9uLXByaW1hcnkpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItYnV0dG9uLXByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gICYtLWltYWdlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIH1cblxuICAgICY6aGFzKGlucHV0OmRpc2FibGVkKSB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG5cbiAgICAgIC5pbWFnZV9zd2F0Y2gtLXRleHRfdmFsdWUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgfVxuICB9XG5cbiAgJi0tY29sb3Ige1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG59XG5cbi5hY2NlbGVyYXRlZC1jaGVja291dC1idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59IiwiLmhlYWRpbmcge1xuICAuY29udGFpbmVyIHtcbiAgICAmLmNlbnRlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuZ3JpZC1jb250ZW50X19oZWFkZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgLmljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYmxvY2ssXG4gICZfX3NlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICArIGRpdiB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICA+ICoge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOm5vdCgudGV4dC0tY2FwdGlvbikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XG4gICAgICB9XG5cbiAgICAgICYudGV4dC0tY2FwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ibG9jayxcbiAgJl9fc2VjdGlvbiB7XG4gICAgPiAqIHtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTpub3QoLnRleHQtLWNhcHRpb24pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xuICAgICAgfVxuXG4gICAgICAmLnRleHQtLWNhcHRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zaG9waWZ5LXNlY3Rpb24ge1xuICAgIC5ncmlkLWNvbnRlbnRfX2hlYWRlciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIENPTVBPTkVOVDogUFJPRFVDVCBJQ09OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmljb25zLXByb2R1Y3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC44cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgJl9faWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXg6IDE7XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgaHlwaGVuczogYXV0bztcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIubmF2IHtcbiAgLmZlYXR1cmVzLWJhciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgJl9faW5uZXItY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gID4gLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG4gICAgcGFkZGluZzogMDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkdGgpO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiAwIDFyZW0gNHJlbSByZ2JhKDUyLCA2NCwgODQsIDAuMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICB3aWR0aDogMDsgLyogUmVtb3ZlIHNjcm9sbGJhciBzcGFjZSAqL1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIE9wdGlvbmFsOiBqdXN0IG1ha2Ugc2Nyb2xsYmFyIGludmlzaWJsZSAqL1xuICAgIH1cbiAgfVxuXG4gICZfX21haW4tbWVudSB7XG4gICAgJi0tc2ltcGxlX2Ryb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogMy42cmVtO1xuICAgICAgICBwYWRkaW5nOiAyLjRyZW0gNC44cmVtIDIuNHJlbSAzLjZyZW07IC8vIG9mZnNldCBmb3IgY2FycmF0c1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMTtcblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMS42cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZfX21haW4tbWVudS1jb2x1bW4tLWJhbm5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG5cbiAgICAgICAgICAuYmFubmVyX193cmFwcGVyID4gZGl2IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50X19vdXRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICZfX21haW4tbWVudS1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDYuNHJlbTtcbiAgICBwYWRkaW5nOiAwIDEuNnJlbSAwIDIuNHJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjMycztcblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3ZlcikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLS1iYXNpYyB7XG4gICAgICBAZXh0ZW5kIC5uYXZfX21haW4tbWVudS1saW5rO1xuICAgICAgcGFkZGluZzogMCAyLjRyZW07XG4gICAgfVxuXG4gICAgJi0tc2ltcGxlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBtYXJnaW46IDEuNnJlbSAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDIwM2FcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IC0wLjEycmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpO1xuICAgICAgICAgIGxlZnQ6IDAuMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIDEwKyAqL1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgd2lkdGg6IDIwMCU7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLyogQ2hyb21lL1NhZmFyaS9XZWJraXQgKi9cbiAgICAgIHdpZHRoOiAwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbWFpbi1tZW51IHtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgJi0tb25lX2xldmVsX21lZ2FtZW51IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1nYXApO1xuICAgICAgZ3JpZC1nYXA6IHZhcigtLWdhcCk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuXG4gICAgICAubmF2X19tYWluLW1lbnUtY29sdW1uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNHJlbTtcblxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIENocm9tZS9TYWZhcmkvV2Via2l0ICovXG4gICAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgIH1cblxuICAgICAgLm5hdl9fbWFpbi1tZW51LWNvbHVtbi0tYmFubmVyIHtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1kLCAkdW50aWw6IHhsKSB7XG4gICAgICAgICAgZ3JpZC1yb3c6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1jb2x1bW4tLWJhbm5lciB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1nYXApIHZhcigtLWdhcCkgdmFyKC0tZ2FwKSAwO1xuICAgICAgbWluLXdpZHRoOiAzNnJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDM2cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgfVxuXG4gICAgJi0tbXVsdGlfbGV2ZWxfbWVnYW1lbnUge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIHBhZGRpbmc6IDRyZW07XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIH1cblxuICAgICYtY29sdW1uIHtcbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIG1hcmdpbjogMS42cmVtIDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMjAzYVwiO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIHRvcDogLTAuMTJyZW07XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3Zlcik7XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwLjJyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tYWluLW1lbnUtLW11bHRpX2xldmVsX21lZ2FtZW51IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICB9XG5cbiAgJl9fbWFpbi1tZW51LS1vbmVfbGV2ZWxfbWVnYW1lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUgMTArICovXG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLyogQ2hyb21lL1NhZmFyaS9XZWJraXQgKi9cbiAgICAgIHdpZHRoOiAwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbWFpbi1tZW51LS1vbmVfbGV2ZWxfbWVnYW1lbnUsXG4gICZfX21haW4tbWVudS0tbXVsdGlfbGV2ZWxfbWVnYW1lbnUge1xuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGV0YWlscyB7XG4gICAgICAgICAgc3VtbWFyeSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmF2X19zZWNvbmRhcnktbWVudV9faXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAyNSU7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cmVtO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1vbmUtbGV2ZWwge1xuICAgIC5uYXZfX2NvbnRlbnQge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBJRSAxMCsgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLyogQ2hyb21lL1NhZmFyaS9XZWJraXQgKi9cbiAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zZWNvbmRhcnktbWVudSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgJjpub3QoOmhhcygubmF2X19zZWNvbmRhcnktbWVudV9faXRlbS0tdmlzaWJsZSkpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIC5idXR0b24tLXNtLXNlY29uZGFyeSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxLjZyZW07XG4gICAgICB9XG5cbiAgICAgIC5uYXZfX21haW4tbWVudS1saW5rLS1iYXNpYyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS42cmVtO1xuICAgICAgfVxuXG4gICAgICAubmF2X19tb2JpbGUtZHJvcGRvd24td3JhcHBlci0tb3BlbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxLjJyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuXG4gICAgICAgIC5uYXZfX21haW4tbWVudS1saW5rLS1iYXNpYyB7XG4gICAgICAgICAgcGFkZGluZzogMCAyLjRyZW07XG4gICAgICAgICAgaGVpZ2h0OiA0LjhyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcGFkZGluZzogMnJlbSAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIDBzLCBvcGFjaXR5IDAuM3MgMHM7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vaGVpZ2h0OiAxMDAlO1xuICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIDEwKyAqL1xuXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBDaHJvbWUvU2FmYXJpL1dlYmtpdCAqL1xuICAgICAgICB3aWR0aDogMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcblxuICAgICAgICAubmF2X19zZWNvbmRhcnktbmF2aWdhdGlvbi1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDQuOHJlbTtcbiAgICAgIH1cblxuICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmLS1hbmltYXRlLWluIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyAwLjFzLCBvcGFjaXR5IDAuM3MgMC4xcztcblxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgLm5hdl9fc2Vjb25kYXJ5LW5hdmlnYXRpb24taXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc2Vjb25kYXJ5LW5hdmlnYXRpb24taXRlbS1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBncmlkLWdhcDogNHJlbTtcbiAgICAgIC8vaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleDogMTtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMCsgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cbiAgICAgICYuYnV0dG9uLS1mdWxsd2lkdGgge1xuICAgICAgICBtYXJnaW46IDEuNnJlbSAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMi40cmVtIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dC1sZyB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB9XG5cbiAgICAuYmFubmVyX193cmFwcGVyID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDIuNHJlbTtcblxuICAgICAgLmJhbm5lcl9fYmFja2dyb3VuZCB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2hpZ2hsaWdodHMtY29sdW1uIHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMDtcbiAgICAgIH1cblxuICAgICAgLnRleHQtbGcge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgIG1hcmdpbjogMS42cmVtIDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwM0FcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IC0wLjEycmVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBsZWZ0OiAwLjJyZW07XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mZWF0dXJlZC1jb2x1bW4ge1xuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBmbGV4OiAwIDMzJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIG1vYmlsZSBkcm9wZG93bnNcblxuICAmX19tb2JpbGUtYWNjb3JkaW9uLW9wZW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAycmVtIDEuMnJlbSAycmVtIDEuNnJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuXG4gICAgLm5hdl9fbW9iaWxlLWRyb3Bkb3duLXdyYXBwZXI6Zmlyc3QtY2hpbGQgJiB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19tb2JpbGUtZHJvcGRvd24td3JhcHBlciB7XG4gICAgJi0tb3BlbiB7XG4gICAgICAubmF2X19tb2JpbGUtYWNjb3JkaW9uLW9wZW5lciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdl9fc2Vjb25kYXJ5LW1lbnUgJiB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubmF2X19tb2JpbGUtZHJvcGRvd25fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tb2JpbGUtZHJvcGRvd25fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmLS1tb2JpbGUge1xuICAgICZfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMjAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE2cztcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgJl9fY29sdW1uIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgJi5uYXYtLXNlY29uZGFyeS1tZW51LW9wZW4ge1xuICAgICAgLm5hdi0tbW9iaWxlX19pbm5lci1jb250YWluZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZ2FtZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmcjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgbWF4LWhlaWdodDogaW5oZXJpdDtcblxuICAgICAgJjpoYXMoLm1lZ2FtZW51X19iYW5uZXIpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyIDFmcjtcbiAgICAgIH1cblxuICAgICAgLmJhbm5lcl9fd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3NpZGViYXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG4gICAgfVxuXG4gICAgJl9fc2lkZWJhcixcbiAgICAmX19jb250ZW50LFxuICAgICZfX2Jhbm5lciB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1nYXApO1xuXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiAwOyAvKiBSZW1vdmUgc2Nyb2xsYmFyIHNwYWNlICovXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBPcHRpb25hbDoganVzdCBtYWtlIHNjcm9sbGJhciBpbnZpc2libGUgKi9cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAuZmlndXJlLm5hdmlnYXRpb24tbWFpbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogMWZyIC8gMWZyO1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgcGFkZGluZzogdmFyKC0tZ2FwKSB2YXIoLS1nYXApIDAgdmFyKC0tZ2FwKTtcbiAgICB9XG5cbiAgICAmX19saW5rcyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1hcmVhOiAxIC8gMTtcbiAgICAgIGdyaWQtZ2FwOiAyLjRyZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBncmlkLWF1dG8tcm93czogbWF4LWNvbnRlbnQ7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDA7IC8qIFJlbW92ZSBzY3JvbGxiYXIgc3BhY2UgKi9cbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIE9wdGlvbmFsOiBqdXN0IG1ha2Ugc2Nyb2xsYmFyIGludmlzaWJsZSAqL1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tbGluay1jb3VudCksIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBhdXRvO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cblxuICAgICAgdWwgKyAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgdmFyKC0tZ2FwKSAwO1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS42cmVtIDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCgudGV4dC1sZykge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMjAzYVwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygodmFyKC0tZ2FwKSAvIDIpICogLTEpKTtcbiAgICAgICAgICAgICAgICB0b3A6IC0wLjEycmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKCh2YXIoLS1nYXApIC8gLTIpICsgMC4ycmVtKSk7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3Zlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmxvY2sge1xuICAgICAgJjpoYXMoLmZlYXR1cmVzLWJhcikge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1tb2JpbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5tYWluLW5hdmlnYXRpb24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuIiwiLnByZWRpY3RpdmUtc2VhcmNoIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcbiAgei1pbmRleDogLTE7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAxcmVtIDRyZW0gIzM0NDA1NDFmO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aCk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYm94LXNoYWRvdzogMCAwIDYuNHJlbSByZ2JhKDUyLCA2NCwgODQsIDAuMTIpO1xuICB9XG5cbiAgaW1nIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgd2lkdGg6IDA7IC8qIFJlbW92ZSBzY3JvbGxiYXIgc3BhY2UgKi9cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBPcHRpb25hbDoganVzdCBtYWtlIHNjcm9sbGJhciBpbnZpc2libGUgKi9cbiAgICB9XG5cbiAgICAucHJlZGljdGl2ZS1zZWFyY2hfX2hlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxLjZyZW0gMCAxLjZyZW0gMS42cmVtO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG5cbiAgICAgICYtLWhpZGUtZGVza3RvcCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19yZXN1bHRzLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgaGVpZ2h0OiA2MnJlbTtcbiAgICAgIGdyaWQtYXV0by1jb2x1bW5zOiAxZnIgMmZyIDFmcjtcbiAgICB9XG5cbiAgICAmID4gKiB7XG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuNnJlbTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDEuNnJlbSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sb2FkaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzO1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBhLmJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwLjdyZW0gMS44cmVtO1xuICAgIH1cblxuICAgIC5wcmVkaWN0aXZlLXNlYXJjaF9fY2xvc2Uge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWljb24pO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBwYWRkaW5nOiAwLjRyZW07XG4gICAgICBtYXJnaW46IDAgMC40cmVtO1xuICAgICAgd29yZC1icmVhazogaW5pdGlhbDtcbiAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgd29yZC1icmVhazogaW5pdGlhbDtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2gtcHJvZHVjdHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmX19yb3cge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIuMnJlbSAwO1xuICAgICAgfVxuXG4gICAgICAmIHA6bm90KC5jYXJkX190aXRsZSkge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjhyZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBncmlkLWdhcDogMS42cmVtO1xuICAgICAgZ3JpZC1hdXRvLXJvd3M6IG1pbm1heChtaW4tY29udGVudCwgbWF4LWNvbnRlbnQpO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNhcmRfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBtYXJnaW46IDAgMCAwLjggMDtcbiAgICAgIH1cblxuICAgICAgLmNhcmRfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwLjhyZW0gMS4ycmVtIDEuMnJlbTtcbiAgICAgIH1cblxuICAgICAgLmNhcmRfX2JvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHhsKSB7XG4gICAgICBwYWRkaW5nOiA0cmVtO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuXG4gICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MtaG92ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDEuNnJlbSAwO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtYm9keS10cmFuc2Zvcm0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWljb24taG92ZXIpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcblxuICAgICAgICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXByaW1hcnktaG92ZXIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1idXR0b24tcHJpbWFyeS1ob3Zlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMCAwIDAuNHJlbTtcbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLWJhbm5lcnMge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgcGFkZGluZzogMi40cmVtIDIuNHJlbSAyLjRyZW0gMDtcbiAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2gtc2lkZWJhcixcbiAgLnNlYXJjaC1wcm9kdWN0cyxcbiAgLnNlYXJjaC1iYW5uZXJzIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGhlaWdodDogNjJyZW07XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICAgIC5iYW5uZXJfX3dyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIC8qIFJlbW92ZSBzY3JvbGxiYXIgc3BhY2UgKi9cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgLyogT3B0aW9uYWw6IGp1c3QgbWFrZSBzY3JvbGxiYXIgaW52aXNpYmxlICovXG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1wcm9kdWN0cyB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB9XG5cbiAgLnJlY2VudC1zZWFyY2hlcyB7XG4gICAgcGFkZGluZzogMS4ycmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgMS42cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBwYWRkaW5nOiAxLjZyZW0gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogLTEuNnJlbSAtMS42cmVtIDIuNHJlbSAtMS42cmVtOyAvLyBvZmZzZXQgdG8gYWxpZ24gbGVmdCBtYXJnaW4gd2l0aCByZXN1bHRzXG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMC44cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5uby1yZXN1bHRzLW5vdGljZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBncmlkLWNvbHVtbjogMjtcblxuICAgIHAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmZlYXR1cmVzLWJhciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLXByb2R1Y3RzID4gKixcbiAgLmFydGljbGUtc2VhcmNoLFxuICAuY29sbGVjdGlvbi1zZWFyY2gsXG4gIC5zZWFyY2hlcy1zZWFyY2gge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzO1xuICB9XG5cbiAgJi5zZWFyY2hpbmcge1xuICAgIC5zZWFyY2gtcHJvZHVjdHMgPiAqLFxuICAgIC5hcnRpY2xlLXNlYXJjaCxcbiAgICAuY29sbGVjdGlvbi1zZWFyY2gsXG4gICAgLnNlYXJjaGVzLXNlYXJjaCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuIiwiLnByaWNlIHtcbiAkdGhpczogJjtcblxuICAmLWl0ZW0tLXNhbGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zYWxlKTtcbiAgfVxuXG4gICYtLXNvbGQtb3V0ICZfX2F2YWlsYWJpbGl0eSxcbiAgJl9fcmVndWxhciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgJl9fcmVndWxhciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB9XG5cbiAgJl9fc2FsZSxcbiAgJl9fYXZhaWxhYmlsaXR5LFxuICAmX19iYWRnZS1zYWxlLFxuICAmX19iYWRnZS1zb2xkLW91dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYtLW9uLXNhbGUge1xuICAgICN7JHRoaXMgfV9fcmVndWxhcixcbiAgICAjeyR0aGlzIH1fX2F2YWlsYWJpbGl0eSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICN7JHRoaXMgfV9fc2FsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAjeyR0aGlzIH0taXRlbS0tcmVndWxhciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIENPTVBPTkVOVDogYmFubmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYmFubmVyIHtcbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB6LWluZGV4OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdyaWQtZ2FwOiAwLjhyZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgaHlwaGVuczogYXV0bztcblxuICAgICAgKyAuYnV0dG9uc19fd3JhcHBlcixcbiAgICAgICsgZmlndXJlLFxuICAgICAgKyBhIHtcbiAgICAgICAgbWFyZ2luOiAwLjhyZW0gMCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24sXG4gICAgLmJ1dHRvbi0tcGxhaW4ge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG4gIH1cblxuICAmX19zdWJoZWFkaW5nIHtcbiAgICA+ICosXG4gICAgPiAqID4gKiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmLnd5c2l3eWcge1xuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuOHJlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICsgLmJ1dHRvbnNfX3dyYXBwZXIsXG4gICAgKyBmaWd1cmUsXG4gICAgKyBhIHtcbiAgICAgIG1hcmdpbjogMC44cmVtIDAgMDtcbiAgICB9XG5cbiAgfVxuXG4gICZfX2JhY2tncm91bmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuXG4gICAgaW1nLCB2aWRlbyB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbnNfX3dyYXBwZXIgKyBmaWd1cmUsXG4gIC5idXR0b25zX193cmFwcGVyICsgYSB7XG4gICAgbWFyZ2luOiAwLjhyZW0gMCAwO1xuICB9XG5cbiAgJi5zaG9waWZ5LXNlY3Rpb24ge1xuICAgIC5iYW5uZXJfX3dyYXBwZXIge1xuICAgICAgPiBkaXYge1xuICAgICAgICBtYXgtd2lkdGg6IDkwJTtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXItLWZ1bGxfYmxlZWQge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIC5iYW5uZXJfX3dyYXBwZXIgPiBkaXYge1xuICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWdhcCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9zYWZhcmkgaGFjayBmb3IgdGhlIGJhbm5lclxuXzo6LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEsIF86ZnV0dXJlLCA6cm9vdCAuc2FmYXJpX29ubHkge1xuICAuYmFubmVyX193cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiAtd2Via2l0LWZpdC1jb250ZW50O1xuICB9XG59XG4iLCIucmF0aW5nLXByb2R1Y3Qge1xuICBwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gICZfX3N0YXJzIHtcbiAgICAtLXBlcmNlbnQ6IGNhbGModmFyKC0tcmF0aW5nKSAvIDUgKiAxMDAlKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC1mYW1pbHk6IFRpbWVzOyAvLyBtYWtlIHN1cmUg4piFIGFwcGVhcnMgY29ycmVjdGx5XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKYheKYheKYheKYheKYhVwiO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICA5MGRlZyxcbiAgICAgICAgdmFyKC0tc3Rhci1jb2xvcikgdmFyKC0tcGVyY2VudCksXG4gICAgICAgIHZhcigtLWVtcHR5LWNvbG9yKSB2YXIoLS1wZXJjZW50KVxuICAgICAgKTtcbiAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLnF1YW50aXR5IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbnB1dC1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItaW5wdXQtYm9yZGVyKTtcbiAgYm94LXNoYWRvdzogMCAxcHggMC4ycmVtIHJnYigxNiAyNCA0MCAvIDUlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG4gIGlucHV0IHtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMDtcbiAgICB3aWR0aDogOHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5wdXQtYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWlucHV0LXRleHQpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICBidXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIC5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWlucHV0LXRleHQpICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAyLjRyZW0gMS42cmVtO1xuXG4gICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWljb24taG92ZXIpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltuYW1lPVwibWludXNcIl0ge1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmW25hbWU9XCJwbHVzXCJdIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLnNvY2lhbC1hY2NvdW50cyB7XG4gIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDAuOHJlbSAwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuOHJlbTtcblxuICAgIGxpIHtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbik7XG5cbiAgICAgICAgJiBzdmcge1xuICAgICAgICAgIG1heC13aWR0aDogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICMjIENPTVBPTkVOVDogVFlQRUZBQ0Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi50ZXh0LWRpc3BsYXktMnhsLFxuaDEsXG4udGV4dC1kaXNwbGF5LXhsLFxuaDIsXG4udGV4dC1kaXNwbGF5LWxnLFxuaDMsXG4udGV4dC1kaXNwbGF5LW1kLFxuaDQsXG4udGV4dC1kaXNwbGF5LXNtLFxuaDUsXG5oNiB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1oZWFkaW5nKTtcbiAgbWFyZ2luOiAwIDAgMS42cmVtIDA7XG59XG5cbi50ZXh0LWRpc3BsYXktMnhsIHtcbiAgZm9udC1zaXplOiA3LjJyZW07XG59XG5cbmgxLFxuLnRleHQtZGlzcGxheS14bCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWgxLWZhbWlseSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWgxLXdlaWdodCk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtaDEtc3R5bGUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1oMS10cmFuc2Zvcm0pO1xuICBmb250LXNpemU6IDMuMnJlbTtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cbn1cblxuaDIsXG4udGV4dC1kaXNwbGF5LWxnIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaDItZmFtaWx5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtaDItd2VpZ2h0KTtcbiAgZm9udC1zdHlsZTogdmFyKC0tZm9udC1oMi1zdHlsZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1mb250LWgyLXRyYW5zZm9ybSk7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuXG4gICsgLnRleHQtbGcge1xuICAgIG1hcmdpbjogMS42cmVtIDAgMCAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgZm9udC1zaXplOiAzLjJyZW07XG4gIH1cbn1cblxuaDMsXG4udGV4dC1kaXNwbGF5LW1kIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaDMtZmFtaWx5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtaDMtd2VpZ2h0KTtcbiAgZm9udC1zdHlsZTogdmFyKC0tZm9udC1oMy1zdHlsZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1mb250LWgzLXRyYW5zZm9ybSk7XG4gIGZvbnQtc2l6ZTogMnJlbTtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfVxufVxuXG5oNCxcbi50ZXh0LWRpc3BsYXktc20ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oNC1mYW1pbHkpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC1oNC13ZWlnaHQpO1xuICBmb250LXN0eWxlOiB2YXIoLS1mb250LWg0LXN0eWxlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtaDQtdHJhbnNmb3JtKTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG59XG5cbmg1IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaDUtZmFtaWx5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtaDUtd2VpZ2h0KTtcbiAgZm9udC1zdHlsZTogdmFyKC0tZm9udC1oNS1zdHlsZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1mb250LWg1LXRyYW5zZm9ybSk7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWg2LWZhbWlseSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWg2LXdlaWdodCk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtaDYtc3R5bGUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1oNi10cmFuc2Zvcm0pO1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cblxuLnRleHQge1xuICAmLXhzLFxuICAmLXhzIHAge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgLmljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgfVxuICB9XG5cbiAgJi14cyBwIHtcbiAgICBtYXJnaW46IDAgMCAxLjJyZW0gMDtcbiAgfVxuXG4gICYtc20sXG4gICYtc20gcCB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAuaWNvbiB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIHdpZHRoOiAxLjZyZW07XG4gICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICB9XG4gIH1cblxuICAmLXNtIHAge1xuICAgIG1hcmdpbjogMCAwIDEuNHJlbSAwO1xuICB9XG5cbiAgJi1tZCxcbiAgJi1tZCBwIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcblxuICAgIC5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgIGhlaWdodDogMS42cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtbWQgcCB7XG4gICAgbWFyZ2luOiAwIDAgMS42cmVtIDA7XG4gIH1cblxuICAmLWxnLFxuICAmLWxnIHAge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcblxuICAgIC5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgaGVpZ2h0OiAycmVtO1xuICAgIH1cbiAgfVxuXG4gICYtbGcgcCB7XG4gICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICB9XG5cbiAgJi14bCxcbiAgJi14bCBwIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcblxuICAgIC5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgIGhlaWdodDogMi40cmVtO1xuICAgIH1cbiAgfVxuXG4gICYteGwgcCB7XG4gICAgbWFyZ2luOiAwIDAgMi40cmVtIDA7XG4gIH1cblxuICAmLS1jYXB0aW9uIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1jYXB0aW9uLWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtY2FwdGlvbi13ZWlnaHQpO1xuICAgIGZvbnQtc3R5bGU6IHZhcigtLWZvbnQtY2FwdGlvbi1zdHlsZSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtY2FwdGlvbi10cmFuc2Zvcm0pO1xuXG4gICAgJi1zbSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuXG4gICAgJi1tZCB7XG4gICAgICBAZXh0ZW5kIC50ZXh0LXhzO1xuICAgIH1cblxuICAgICYtbGcge1xuICAgICAgQGV4dGVuZCAudGV4dC1zbTtcbiAgICB9XG5cbiAgICAmLXhsIHtcbiAgICAgIEBleHRlbmQgLnRleHQtbWQ7XG4gICAgfVxuICB9XG59XG5cbi50ZXh0LWJvbGQsXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9keS13ZWlnaHQtYm9sZCk7XG59XG5cbnAsXG5zcGFuLFxuc3Ryb25nIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxucCB7XG4gIG1hcmdpbjogMCAwIDAuOHJlbTtcblxuICAmLmludHJvIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIH1cbiAgfVxuXG4gICYuc21hbGwsXG4gICYuY2l0YXRpb24ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIHN0cm9uZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbmZpZ2NhcHRpb24ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLmZpZ3VyZSArIGZpZ2NhcHRpb24sXG5maWd1cmUgKyBmaWdjYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDEuNnJlbSAhaW1wb3J0YW50O1xufVxuXG5maWdjYXB0aW9uICsgLmZpZ3VyZSxcbmZpZ2NhcHRpb24gKyBmaWd1cmUge1xuICBtYXJnaW4tdG9wOiAxLjZyZW0gIWltcG9ydGFudDtcbn1cblxuLmZpZ3VyZSArIGZpZ2NhcHRpb24sXG5maWd1cmUgKyBmaWdjYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDEuNnJlbSAhaW1wb3J0YW50O1xufVxuXG5maWdjYXB0aW9uICsgLmZpZ3VyZSxcbmZpZ2NhcHRpb24gKyBmaWd1cmUge1xuICBtYXJnaW4tdG9wOiAxLjZyZW0gIWltcG9ydGFudDtcbn1cblxuLnd5c2l3eWcge1xuICBwLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBibG9ja3F1b3RlLFxuICB1bCxcbiAgb2wsXG4gIHRhYmxlIHtcbiAgICBtYXJnaW46IDAgMCAyLjRyZW07XG4gIH1cblxuICAmOm5vdCg6ZW1wdHkpID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaDEge1xuICAgIG1hcmdpbjogMCAwIDRyZW07XG4gIH1cblxuICAmOm5vdCguYmFubmVyX19zdWJoZWFkaW5nKSB7XG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYge1xuICAgICAgcGFkZGluZzogMi40cmVtIDAgMDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3Zlcik7XG4gICAgfVxuICB9XG5cbiAgaWZyYW1lIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMi40cmVtIDA7XG4gIH1cblxuICBmaWd1cmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMi40cmVtIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBoYW5kbGVyIGZvciBjYXB0aW9uXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gc3dpdGNoIGZvciBhbHQgc3R5bGVcblxuICAgIGlmcmFtZSxcbiAgICB2aWRlbyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIG1hcmdpbjogMC40cmVtO1xuICAgICAgcGFkZGluZzogMS42cmVtIDAgMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luOiAwIDAgMi40cmVtO1xuICAgIH1cbiAgfVxuXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogNC44cmVtIDA7XG4gICAgcGFkZGluZzogMCAwIDAgMi40cmVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgcGFkZGluZzogMCAwIDAgMy4ycmVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW46IDMuMnJlbSAwIDAgMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVsLFxuICBvbCB7XG4gICAgcGFkZGluZzogMCAwIDAgMS4ycmVtO1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItaWNvbik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG5cbiAgICAgIHVsLCBvbCB7XG4gICAgICAgIG1hcmdpbjogMS42cmVtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiB1bCxcbiAgICA+IG9sIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDMuMnJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDEuNnJlbSAwO1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDIuNHJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDAuOHJlbSAwO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDI2QUNcIjtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW46IDAgMC41cmVtIDAgLTIuNHJlbTtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgID4gdWwsXG4gICAgPiBvbCB7XG4gICAgICBtYXJnaW46IDAuOHJlbTtcbiAgICB9XG5cbiAgICA+IG9sIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDMuMnJlbTtcbiAgICAgIG1hcmdpbjogMS42cmVtIDAgMi40cmVtIDA7XG4gICAgfVxuICB9XG5cbiAgb2wge1xuICAgIGNvdW50ZXItcmVzZXQ6IG9yZGVyZWRMaXN0O1xuXG4gICAgPiB1bCxcbiAgICA+IG9sIHtcbiAgICAgIGxpIG9sIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDMuMnJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDEuNnJlbSAwO1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG9yZGVyZWRMaXN0O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMS4ycmVtO1xuICAgICAgICB0b3A6IC0wLjRyZW07XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob3JkZXJlZExpc3QpO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItaWNvbik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjJyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMCAxLjZyZW0gMCAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC40cztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgID4gb2wsXG4gICAgPiBvbCA+IHVsIHtcbiAgICAgIGNvdW50ZXItcmVzZXQ6IG9yZGVyZWRMaXN0Q2hpbGQ7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG9yZGVyZWRMaXN0Q2hpbGQ7XG4gICAgICB9XG5cbiAgICAgIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob3JkZXJlZExpc3RDaGlsZCwgbG93ZXItbGF0aW4pO1xuICAgICAgICBsZWZ0OiAtMC44cmVtO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1pY29uKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgID4gb2wsXG4gICAgICA+IG9sID4gdWwge1xuICAgICAgICBjb3VudGVyLXJlc2V0OiBvcmRlcmVkTGlzdFNlY29uZENoaWxkO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogb3JkZXJlZExpc3RTZWNvbmRDaGlsZDtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob3JkZXJlZExpc3RTZWNvbmRDaGlsZCwgbG93ZXItcm9tYW4pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgPiBvbCxcbiAgICAgICAgPiBvbCA+IHVsIHtcbiAgICAgICAgICBjb3VudGVyLXJlc2V0OiBvcmRlcmVkTGlzdFRoaXJkQ2hpbGQ7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogb3JkZXJlZExpc3RUaGlyZENoaWxkO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob3JkZXJlZExpc3RUaGlyZENoaWxkLCBsb3dlci1yb21hbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgIG1hcmdpbjogMy42cmVtIDA7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBicmVhay1zcGFjZXM7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIH1cblxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRkIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuOHJlbTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjhyZW07XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuOHJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgdGQge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnVpLXNoYXJlLXByaW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNC44cmVtO1xuICBoZWlnaHQ6IDQuOHJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIHVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIHdpZHRoOiA0LjhyZW07XG4gICAgaGVpZ2h0OiA0LjhyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IDIuNHJlbTtcbiAgICAgIGhlaWdodDogMi40cmVtO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uKTtcblxuICAgICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogMS42cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdHJpZ2dlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IDAuNHM7XG4gIH1cblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICB1bCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG5cbiAgICAgIC51aS1zaGFyZS1wcmludF9fdHJpZ2dlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAjIyBDT01QT05FTlQ6IFBST0RVQ1QgVVNQU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnVzcC1wcm9kdWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMXJlbSAwO1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG5cbiAgc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDMuMnJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIDAgMCAwLjRyZW07XG4gIH1cblxuICAuaWNvbiB7XG4gICAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAqOm5vdCgudXNwLXByb2R1Y3QpICsgJixcbiAgJi51LWhpZGUgKyAmIHtcbiAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBmb3JtIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gICYtLWF2YWlsYWJpbGl0eSB7XG4gICAgLnVzcC1wcm9kdWN0IHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5hbm5vdW5jZW1lbnQtYmFyIHtcbiAgLnNlY3Rpb25fX3dyYXBwZXIsXG4gIC5zZWN0aW9uX193cmFwcGVyLWJhY2tncm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLmZvb3RlciB7XG4gIC5zZWN0aW9uX193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApIC8gMik7XG5cbiAgICAmLWJhY2tncm91bmQsXG4gICAgJjpub3QoLmNvbnRhaW5lci0tZnVsbF9ibGVlZCkge1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5jb250YWluZXItLWZ1bGxfYmxlZWQge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApIC8gMik7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1nYXApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIG1hcmdpbjogMCBhdXRvIDEuNnJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAzLjJyZW07XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgIGEuaGVhZGVyX19sb2dvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAxLjZyZW07XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICYtLWZpbGwge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZmxleDogMSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuc2VwYXJhdG9yLS1jb2x1bW4ge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlcGFyYXRvciB7XG4gICAgICBtYXJnaW46IC0zLjJyZW0gYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICAuc29jaWFsLWFjY291bnRzIHtcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tZW51IHtcbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDEuNnJlbSAwIDAgMDtcblxuICAgICAgbGkge1xuICAgICAgICBAZXh0ZW5kIC50ZXh0LXNtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDEuMnJlbSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuOHJlbSAwO1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJl9fcGF5bWVudC1pY29ucyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ3JpZC1nYXA6IDAuOHJlbTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBsaSB7XG4gICAgICBzdmcge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19sb2NhbGl6YXRpb24ge1xuICAgIGdhcDogMC44cmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAmLS1hcnRpY2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEuNnJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgcCArIC51LWZsZXgge1xuICAgICAgICBtYXJnaW46IC0wLjhyZW0gMCAwIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1hdXRvLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICA+ICoge1xuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNoYXJlLXVpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRlbXBsYXRlLXByb2R1Y3Q6aGFzKC5zdGlja3ktYWRkLXRvLWNhcnQpIHtcbiAgLmZvb3Rlci1zZWN0aW9ucyB7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgbWFyZ2luOiAwIDAgNy40cmVtIDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc2V0dGluZ3MvYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCIuLi90b29scy9taXhpbnNcIjtcblxuLmZlYXR1cmVzLWJhciB7XG4gIC5zZWN0aW9uX193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG4gIH1cblxuICBzd2lwZXItY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cblxuICAgICY6OnBhcnQod3JhcHBlcikge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXItYnV0dG9uIHtcbiAgICAgICYtcHJldixcbiAgICAgICYtbmV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cblxuICAgICAgJi1wcmV2IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJi1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dpcGVyLXNsaWRlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgZ2FwOiAwLjhyZW07XG5cbiAgICBkaXYge1xuICAgICAgc3Ryb25nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGVhZGluZyk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgbWF4LXdpZHRoOiAyMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMXJlbTtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEuZmVhdHVyZXMtYmFyX19pdGVtIHtcbiAgICAuaWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgIHN0cm9uZyxcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcyk7XG4gICAgICB9XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS10ZXh0IHtcbiAgICAmLWNlbnRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi1sZWZ0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICYuZmVhdHVyZXMtYmFyLS1pY29uLXRvcCxcbiAgICAgICYuZmVhdHVyZXMtYmFyLS1pY29uLWJvdHRvbSB7XG4gICAgICAgIC5mZWF0dXJlcy1iYXJfX2l0ZW0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgJi5mZWF0dXJlcy1iYXItLWljb24tdG9wLFxuICAgICAgJi5mZWF0dXJlcy1iYXItLWljb24tYm90dG9tIHtcbiAgICAgICAgLmZlYXR1cmVzLWJhcl9faXRlbSB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0taWNvbiB7XG4gICAgJi1ib3R0b20sXG4gICAgJi1yaWdodCB7XG4gICAgICAuaWNvbiB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtdG9wLFxuICAgICYtYm90dG9tIHtcbiAgICAgIC5mZWF0dXJlcy1iYXJfX2l0ZW0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLW5hdiB7XG4gICAgLmZlYXR1cmVzLWJhcl9fd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG4gICAgICBwYWRkaW5nOiAwLjhyZW0gMDtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAvIDIpIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuaGVhZGVyIHtcbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgfVxuXG4gICZfX21lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8vaGVpZ2h0OiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICsgLmhlYWRlcl9fbWVudSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgLTEuNnJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFubmVyX193cmFwcGVye1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgIH1cblxuICAgID4gdG9nZ2xldGlwLWVuZ2luZSB7XG4gICAgICAvL2hlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBhLm1haW4tbmF2LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAycmVtIDAuOHJlbTtcbiAgfVxuXG4gIC5tYWluLW5hdi1pdGVtIHtcbiAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICA+IGEge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcGFkZGluZzogMnJlbSAwLjhyZW07XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3Zlcik7XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzLWhvdmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYge1xuICAgICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgZGV0YWlscyB7XG4gICAgICAgICAgICAubmF2X19zZWNvbmRhcnktbWVudV9faXRlbSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdW1tYXJ5IHtcbiAgICAgICAgICAgICAgJi5uYXZfX21haW4tbWVudS1saW5rLS1hY3RpdmUgKyB7XG4gICAgICAgICAgICAgICAgLm5hdl9fc2Vjb25kYXJ5LW1lbnVfX2l0ZW0ge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIFtkYXRhLXV4PVwiaG92ZXJcIl0ge1xuICAgIC5tYWluLW5hdi1pdGVtIHtcblxuICAgICAgW2RhdGEtdG9vbHRpcC10cmlnZ2VyXSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgW2RhdGEtdG9vbHRpcC10cmlnZ2VyXVtvcGVuXTpob3ZlciB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICsgLm5hdiB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyAwcyxcbiAgICAgICAgICAgIHZpc2liaWxpdHkgMHMgMHM7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICZbb3Blbl0ge1xuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXYge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgMHM7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIFtkYXRhLXV4PVwiY2xpY2tcIl0ge1xuICAgIC5tYWluLW5hdi1pdGVtIHtcbiAgICAgIFtkYXRhLXRvb2x0aXAtdHJpZ2dlcl0ge1xuICAgICAgICAmW29wZW5dIHtcbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICArIC5uYXYge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgMHM7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpbmtzKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlua3MpO1xuICAgIH1cbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIH4gLmhlYWRlcl9fbmF2LWJsb2NrIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMi40cmVtO1xuICAgIH1cblxuICAgICYudGV4dC1sZyB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcblxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLW1vYmlsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJjpub3QoLnRleHQtbGcpIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIG9uRXZlbnQge1xuICAgICAgLmljb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faWNvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDIuNHJlbTtcblxuICAgICYtLWNhcnQtb3BlbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5jYXJ0LWNvdW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdG9wOiAtMC44cmVtO1xuICAgICAgICByaWdodDogLTAuOHJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1idXR0b24tcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1wcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWJ1dHRvbi1wcmltYXJ5KTtcbiAgICAgICAgd2lkdGg6IDEuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjhyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9keS13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIHdpZHRoOiAyLjRyZW07XG4gICAgICAgICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgICAgdG9wOiAtMS42cmVtO1xuICAgICAgICAgIHJpZ2h0OiAtMS4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGtleWZyYW1lcyBhZGRlZFRvQ2FydCB7XG4gICAgICAgICAgMCUgICB7dHJhbnNmb3JtOiBzY2FsZSgxKX1cbiAgICAgICAgICAyNSUgIHt0cmFuc2Zvcm06IHNjYWxlKDEuMSk7YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1idXR0b24tcHJpbWFyeS1ob3Zlcik7Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXByaW1hcnktaG92ZXIpO31cbiAgICAgICAgICA1MCUgIHt0cmFuc2Zvcm06IHNjYWxlKDEuMSk7YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1idXR0b24tcHJpbWFyeS1ob3Zlcik7Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXByaW1hcnktaG92ZXIpO31cbiAgICAgICAgICAxMDAlIHt0cmFuc2Zvcm06IHNjYWxlKDEpfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFkZGVkLXRvLWNhcnQgJiB7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGFkZGVkVG9DYXJ0O1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS44cztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgLmNhcnQtY291bnQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXByaW1hcnktaG92ZXIpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSAhaW1wb3J0YW50O1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2gtdHJpZ2dlci0tbW9iaWxlIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICBtaW4td2lkdGg6IDIuNHJlbTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgIC5zZWFyY2gtaWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zZWFyY2gtLXNtYWxsIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWxheW91dC0tZmlsbCAmLFxuICAgIC5zZWFyY2gtbGF5b3V0LS1zbWFsbCAmIHtcbiAgICAgIC5mb3JtX19pbnB1dC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLWxheW91dC0taWNvbiAmIHtcbiAgICAgIGZvcm06Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5wcmVkaWN0aXZlLXNlYXJjaF9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mdWxsd2lkdGgge1xuICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAmLmRpc3BsYXktLWZpbGwge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIHRvZ2dsZXRpcC1lbmdpbmU6aGFzKCNwcmVkaWN0aXZlLXNlYXJjaC1oZWFkZXItbmF2aWdhdGlvbi1tYWluKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGV0aXAtZW5naW5lIHtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgLnByZWRpY3RpdmUtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgZm9ybVtkYXRhLXRvb2x0aXAtdHJpZ2dlcl0ge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLXRyaWdnZXItbW9iaWxlIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBoZWlnaHQ6IDIuNHJlbTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19sb2NhbGl6YXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuOHJlbTtcblxuICAgIC5uYXYtLW1vYmlsZSAmIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogMC44cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbn1cblxuLm1lbnUtdHJpZ2dlciB7XG4gIHdpZHRoOiAyLjRyZW07XG4gIGhlaWdodDogMi40cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyAwcztcbiAgbWFyZ2luOiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgZ3JpZC1hcmVhOiBsZWZ0O1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBzcGFuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjRyZW07XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pY29uKTtcbiAgICB0cmFuc2l0aW9uOiAwLjRzO1xuXG4gICAgJjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwLjNzLCB0cmFuc2Zvcm0gMC4zcyAwcztcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyAwLjNzO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgYm90dG9tOiAwLjRyZW07XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgMC4zcywgdHJhbnNmb3JtIDAuM3MgMHM7XG4gICAgfVxuICB9XG5cbiAgJltvcGVuPVwidHJ1ZVwiXXtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgMC4zcztcblxuICAgIHNwYW46bnRoLW9mLXR5cGUoMSkge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MsIHRyYW5zZm9ybSAwLjNzIDAuM3M7XG4gICAgfVxuXG4gICAgc3BhbjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MsIG9wYWNpdHkgMC4zcyAwcztcbiAgICB9XG5cbiAgICBzcGFuOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIGJvdHRvbTogNTAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MsIHRyYW5zZm9ybSAwLjNzIDAuM3M7XG4gICAgfVxuICB9XG59XG5cbmJ1dHRvbi5zZWFyY2gtdHJpZ2dlciB7XG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgfVxufVxuXG5idXR0b24uc2VhcmNoLXRyaWdnZXIsXG5idXR0b24jY2FydC1vcGVuLFxuLmhlYWRlcl9faWNvbnMgPiBhIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbiNuYXYtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjA7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MsIGJhY2tncm91bmQgMC4zcztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICB9XG5cbiAgJi5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gIH1cblxuICAmLmhlYWRlci12aXNpYmxlOm5vdCgucmVhY2hlZC10b3ApIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDRyZW0gLTAuNHJlbSByZ2IoNTIgNjQgODQgLyA4JSk7XG5cbiAgICAmLnN0aWNreS1hY3RpdmUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDRyZW0gLTAuNHJlbSByZ2IoNTIgNjQgODQgLyAwKTtcbiAgICB9XG4gIH1cblxuICAmLmhlYWRlci12aXNpYmxlOm5vdCgucmVhY2hlZC10b3ApLFxuICAmLmhlYWRlci12aXNpYmxlLmFib3ZlLW92ZXJsYXksXG4gICYuaGVhZGVyLXZpc2libGUuYWJvdmUtb3ZlcmxheS5yZWFjaGVkLXRvcCxcbiAgJi5hYm92ZS1vdmVybGF5IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4jaGVhZGVyLXNwYWNlciB7XG4gIGhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uaGVhZGVyLWdyaWQge1xuICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcblxuICA+IGRpdiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICArIC5jb250YWluZXIge1xuICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLWdhcCkgLyAyKSAwIDAgMDtcbiAgICB9XG5cbiAgICAmOmhhcyguaGVhZGVyLWNvbHVtbi0tY2VudGVyLmhpZGUtZGVza3RvcCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwxZnIpIGF1dG8gbWlubWF4KDAsMWZyKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAmOmhhcyguaGVhZGVyLWNvbHVtbi0tY2VudGVyLmhpZGUtbW9iaWxlKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLDFmcikgYXV0byBtaW5tYXgoMCwxZnIpO1xuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyLWNvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgZ2FwOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcblxuICAmLmhpZGUtbW9iaWxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJi0tbGVmdCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgKyAuaGVhZGVyLWNvbHVtbi0tcmlnaHQge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgfVxuICB9XG5cbiAgJi0tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gIH1cblxuICAmLS1jZW50ZXIge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgKyAuaGVhZGVyLWNvbHVtbi0tcmlnaHQge1xuICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgfVxuICB9XG5cbiAgJi0tZnVsbHdpZHRoIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fc2VhcmNoIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwiLmNhcnQtc3VtbWFyeSB7XG4gICZfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZzogMS42cmVtO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAmX19saW5lLWl0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAxLjZyZW0gMS42cmVtIDAgMS42cmVtO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLW5vdGljZSB7XG4gICAgICBwYWRkaW5nOiAwIDEuNnJlbSAwLjhyZW07XG5cbiAgICAgIHAge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19idXR0b25zIHtcbiAgICBwYWRkaW5nOiAxLjZyZW07XG5cbiAgICAuYWRkaXRpb25hbC1jaGVja291dC1idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMC44cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBkaXYjZHluYW1pYy1jaGVja291dC1jYXJ0IHtcbiAgICAgICAgbWFyZ2luOiAxLjZyZW0gMCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICBtYXJnaW46IDAuOHJlbSAwIDAgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cblxuICAmX19mcmVlLXNoaXBwaW5nIHtcbiAgICBwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbSAxLjZyZW07XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGhlaWdodDogMS4ycmVtO1xuICAgICAgfVxuXG4gICAgICAjYW1vdW50LWxlZnQge1xuICAgICAgICBtYXJnaW46IDAgMC4zcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NlcnRpZmljYXRlIHtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMS42cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG5cbiAgICBwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX21ldGEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICZfX25vdGUge1xuICAgIG1hcmdpbjogMi40cmVtIDAgMCAwO1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG5cbiAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWZvbnQtYm9keS10cmFuc2Zvcm0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2FydCB7XG4gICZfX2VtcHR5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblxuICAgID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuNnJlbSAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAxLjZyZW07XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAzMHJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogeGwpIHtcbiAgICAgIGdyaWQtZ2FwOiAzLjJyZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMzZyZW07XG4gICAgfVxuICB9XG59XG5cbi5jYXJ0LWNvbnRlbnQge1xuICBtYXJnaW46IDAgMCAxLjZyZW0gMDtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgbWFyZ2luOiAwIDAgNHJlbSAwO1xuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwLjhyZW0gMmZyIDJmciAyZnIgMmZyIDFmcjtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbSAyLjRyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgICBwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2FydC1pdGVtIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjhyZW0gMS4ycmVtO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImltYWdlIHRpdGxlIHJlbW92ZVwiIFwiaW1hZ2UgcXVhbnRpdHkgdG90YWxcIjtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMC44cmVtIDFmciAxZnI7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJl9faW1hZ2Uge1xuICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgbWFyZ2luOiAwIDAuOHJlbSAwIDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBncmlkLWFyZWE6IHRpdGxlO1xuXG4gICAgZGwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgfVxuXG4gICAgLmNhcnQtaXRlbV9fZGlzY291bnRzIHtcbiAgICAgIG1hcmdpbjogMC44cmVtIDAgMDtcblxuICAgICAgJixcbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itc2FsZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdW5pdC1wcmljZSB7XG4gICAgZ3JpZC1hcmVhOiB1bml0LXByaWNlO1xuICB9XG5cbiAgJl9fcXVhbnRpdHkge1xuICAgIGdyaWQtYXJlYTogcXVhbnRpdHk7XG4gIH1cblxuICAmX190b3RhbHMge1xuICAgIGdyaWQtYXJlYTogdG90YWw7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICZfX3JlbW92ZS13cmFwcGVyLFxuICAmX190aXRsZSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG5cbiAgJl9fcmVtb3ZlLXdyYXBwZXIge1xuICAgIGdyaWQtYXJlYTogcmVtb3ZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG5cbiAgICBidXR0b24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgIHBhZGRpbmc6IDAuNHJlbTtcbiAgICAgIGhlaWdodDogMy4ycmVtO1xuXG4gICAgICAubWluaS1jYXJ0ICYge1xuICAgICAgICB0b3A6IC0wLjhyZW07XG4gICAgICAgIHJpZ2h0OiAtMC44cmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2Rpc2NvdW50cyB7XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuNHJlbTtcblxuICAgICAgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgd2lkdGg6IDEuNHJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRvdGFsLXByaWNlIHtcbiAgICBkbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuICB9XG5cbiAgLnNob3ctZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5zaG93LW1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQGNvbnRhaW5lciAobWluLXdpZHRoOiA2NTBweCkge1xuICAuY2FydC1pdGVtIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImltYWdlIHRpdGxlIHVuaXQtcHJpY2UgcXVhbnRpdHkgdG90YWwgcmVtb3ZlXCI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMC44cmVtIDJmciAyZnIgMmZyIDJmciAxZnI7XG4gICAgbWFyZ2luOiAyLjRyZW07XG5cbiAgICAmX190aXRsZSBhIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuOHJlbSAwO1xuICAgIH1cblxuICAgICZfX3RvdGFscyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgJl9fcmVtb3ZlLXdyYXBwZXIge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3ctZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2hvdy1tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLm1pbmktY2FydCB7XG4gIHotaW5kZXg6IDIwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cywgb3BhY2l0eSAuNHMsIHZpc2liaWxpdHkgMHMgLjRzO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDByZW0pO1xuICAgIHdpZHRoOiA0MHJlbTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYm94LXNoYWRvdzogMCAycmVtIDRyZW0gcmdiYSg1MiwgNjQsIDg0LCAwLjA4KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDA7IC8qIFJlbW92ZSBzY3JvbGxiYXIgc3BhY2UgKi9cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgLyogT3B0aW9uYWw6IGp1c3QgbWFrZSBzY3JvbGxiYXIgaW52aXNpYmxlICovXG4gIH1cblxuICAmLS1lbXB0eSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA0cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIDAgMS42cmVtIDA7XG4gICAgfVxuICB9XG5cbiAgJi5vcGVuIHtcbiAgICBjb250YWluZXItdHlwZTogc2l6ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMsIG9wYWNpdHkgLjRzLCB2aXNpYmlsaXR5IDBzO1xuICB9XG5cbiAgJl9fc2lkZWJhciB7XG4gICAgei1pbmRleDogMTA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJl9fY2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZzogMS42cmVtIDIuNHJlbSAxLjZyZW0gMS42cmVtO1xuICAgIHRyYW5zaXRpb246IDAuMjVzO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ib2R5KTtcblxuICAgIC5pY29uIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pY29uKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbSAyLjZyZW0gMS42cmVtIDEuNHJlbTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcblxuICAgICAgLmljb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICBwYWRkaW5nOiAxLjZyZW07XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICB3aWR0aDogMDsgLyogUmVtb3ZlIHNjcm9sbGJhciBzcGFjZSAqL1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIE9wdGlvbmFsOiBqdXN0IG1ha2Ugc2Nyb2xsYmFyIGludmlzaWJsZSAqL1xuICAgIH1cblxuICAgIC5jYXJ0LWl0ZW1zLWNvbnRhaW5lciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogMC41cyAwLjNzO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDIuNHJlbTtcblxuICAgICAgLm1pbmktY2FydC5vcGVuICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2Zvb3RlciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJvZHkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMnJlbSByZ2JhKDUyLCA2NCwgODQsIDAuMTIpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMDtcblxuICAgIC5hY2NvcmRpb24ge1xuICAgICAgZGV0YWlscyB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG5cbiAgICAgICAgc3VtbWFyeSB7XG4gICAgICAgICAgcGFkZGluZzogMS42cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMS42cmVtIDEuNnJlbSAxLjZyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1zdW1tYXJ5X19ub3RlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuY2FydC1zdW1tYXJ5X19tZXRhIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5yaWNoLXRleHQge1xuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgICYtLXN0cmV0Y2gge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICYuc2VjdGlvbl9fd3JhcHBlci0tYmFja2dyb3VuZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbTtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgbWFyZ2luOiAwIDAgMS42cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbnMge1xuICAgIG1hcmdpbjogMi40cmVtIDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMS42cmVtO1xuICB9XG59XG4iLCIuZ3JpZC1jb250ZW50IHtcbiAgJl9fY29sdW1uIHtcbiAgICAmLS1zdHJldGNoIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgLy9hc3BlY3QtcmF0aW86IGF1dG87XG4gICAgICB9XG5cbiAgICAgID4gKixcbiAgICAgID4gKiA+ICoge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgLy9hc3BlY3QtcmF0aW86IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdyaWQtY29udGVudF9faGVhZGVyID4gKiwgLmdyaWQtY29udGVudF9faGVhZGVyLWJsb2NrID4gKiB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAuZmlndXJlIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGltZywgdmlkZW8sIGlmcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGZpZ3VyZSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRlcixcbiAgJl9faGVhZGVyLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICA+ICoge1xuICAgICAgbWFyZ2luOiAwIDAgdmFyKC0tZ2FwKSAwO1xuICAgICAgYWxpZ24tc2VsZjogaW5oZXJpdDtcblxuICAgICAgLnNob3BpZnktc2VjdGlvbi5oZWFkaW5nICYge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3BpZnktc2VjdGlvbi5oZWFkaW5nICYge1xuICAgICAgZ2FwOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgICB9XG5cbiAgICAuZ3JpZC1jb250ZW50X19zbGlkZXItbmF2LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgZ2FwOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWdhcCkgLyAyKSAwO1xuXG4gICAgICA+ICoge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLWNvbnRlbnRfX3NsaWRlci1uYXYtd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC5ncmlkLWNvbnRlbnRfX3NsaWRlci1uYXYge1xuICAgICAgICAgIG9yZGVyOiAzO1xuXG4gICAgICAgICAgJi5ncmlkLWNvbnRlbnRfX3NsaWRlci1uYXYtLWJvdGgge1xuICAgICAgICAgICAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgICYtLWJ1dHRvbi1ibG9jay1iZWxvdyB7XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuXG4gICAgICAgICYuZ3JpZC1jb250ZW50X19oZWFkZXItLWxlZnQge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ncmlkLWNvbnRlbnRfX2hlYWRlci0tcmlnaHQge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWJ1dHRvbi1tb2JpbGUtYmxvY2stYmVsb3cge1xuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJi5ncmlkLWNvbnRlbnRfX2hlYWRlci0tbGVmdCB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmdyaWQtY29udGVudF9faGVhZGVyLS1yaWdodCB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAuaGVhZGluZ19fc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tZ2FwKSAwIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIC5oZWFkaW5nX19zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgdmFyKC0tZ2FwKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tY2VudGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLmhlYWRpbmdfX3NlY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1jb250ZW50X19zbGlkZXItbmF2LXdyYXBwZXI6aGFzKC5ncmlkLWNvbnRlbnRfX3NsaWRlci1uYXYuaGlkZS1kZXNrdG9wKTpub3QoOmhhcyhbY2xhc3NePVwiYnV0dG9uXCJdKSkge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cblxuICAgICAgZGl2IHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zbGlkZXItbmF2IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG5cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXG4gICAgLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5zbGlkZXItZW5hYmxlZCAmIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJjpub3QoLmdyaWQtY29udGVudF9fc2xpZGVyLW5hdi0tYmVsb3cpIHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZ3JpZC1jb250ZW50X19zbGlkZXItbmF2LS1iZWxvdykge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tYmVsb3cge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLWdhcCkgLyAyKSAwIDAgMDtcblxuICAgICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC44cmVtO1xuICAgICAgfVxuXG4gICAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC44cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC44cmVtO1xuICAgICAgfVxuXG4gICAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC44cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgd2lkdGg6IDUwcmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fY29sdW1uIHtcbiAgICAmLS1iYWNrZ3JvdW5kIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBwYWRkaW5nOiA5LjZyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdyaWQtY29udGVudF9faGVhZGVyPioge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIHN3aXBlci1jb250YWluZXIge1xuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgJi5ncmlkLWNvbnRlbnRfX2NvbHVtbi0tc3RyZXRjaCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWF1dG9wbGF5PVwidHJ1ZVwiXVtkYXRhLWF1dG9wbGF5LWRlbGF5PVwiMFwiXSAge1xuICAgICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtbW9iaWxlLWxheW91dD1cImdyaWRcIl0ge1xuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuICAgICAgfVxuXG4gICAgICA6OnNsb3R0ZWQoc3dpcGVyLXNsaWRlKSB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiB2YXIoLS1jb2x1bW4tY291bnQtbW9iaWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZCwgJHVudGlsOiBsZykge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIHZhcigtLWNvbHVtbi1jb3VudC10YWJsZXQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6OnBhcnQod3JhcHBlcikge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW4tY291bnQtbW9iaWxlKSwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWQsICR1bnRpbDogbGcpIHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWNvbHVtbi1jb3VudC10YWJsZXQpLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZbZGF0YS1kZXNrdG9wLWxheW91dD1cImdyaWRcIl0ge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogdmFyKC0tZ2FwKTtcblxuICAgICAgICAmOjpwYXJ0KHdyYXBwZXIpIHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWNvbHVtbi1jb3VudC1kZXNrdG9wKSwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICAgIGdhcDogdmFyKC0tZ2FwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIDo6c2xvdHRlZChzd2lwZXItc2xpZGUpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiB2YXIoLS1jb2x1bW4tY291bnQtZGVza3RvcCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNvbGxhZ2Uge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbi1jb250ZW50O1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgIGdhcDogdmFyKC0tZ2FwKTtcbiAgICAmLmNvbGxhZ2UtLWJsb2Nrcy00LFxuICAgICYuY29sbGFnZS0tYmxvY2tzLTUge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG4gIH1cblxuICAmLS1sYXJnZV9sZWZ0IHtcbiAgICA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXJvdzogc3BhbiAyO1xuXG4gICAgICAgID4gZGl2LFxuICAgICAgICAuZmlndXJlIHtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYmFubmVyX193cmFwcGVyIHtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbGxhZ2UtLWJsb2Nrcy00LFxuICAgICYuY29sbGFnZS0tYmxvY2tzLTUge1xuICAgICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbGxhZ2UtLWJsb2Nrcy0zLFxuICAgICYuY29sbGFnZS0tYmxvY2tzLTUge1xuICAgICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb2xsYWdlLS1ibG9ja3MtNCB7XG4gICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tbGFyZ2VfcmlnaHQge1xuICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAgID4gZGl2LFxuICAgICAgICAuZmlndXJlIHtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYmFubmVyX193cmFwcGVyIHtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbGxhZ2UtLWJsb2Nrcy00LFxuICAgICYuY29sbGFnZS0tYmxvY2tzLTUge1xuICAgICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyBzcGFuIDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbGxhZ2UtLWJsb2Nrcy0zLFxuICAgICYuY29sbGFnZS0tYmxvY2tzLTUge1xuICAgICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbGxhZ2UtLWJsb2Nrcy00IHtcbiAgICAgID4gKjpudGgtY2hpbGQoNCkge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuY29sbGFnZS0tYmxvY2tzLTEsXG4gICYuY29sbGFnZS0tYmxvY2tzLTIge1xuICAgID4gKiB7XG4gICAgICBncmlkLXJvdzogc3BhbiAxO1xuICAgIH1cbiAgfVxuXG4gIGZpZ3VyZSxcbiAgZmlndXJlID4gZGl2IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuY2FyZCB7XG4gICAgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICBmaWd1cmUge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmdyaWQtYXJjaGl2ZSB7XG4gICR0aGlzOiAmO1xuXG4gIC5zZWN0aW9uX193cmFwcGVyLS1iYWNrZ3JvdW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogLTFweDtcblxuICAgICYuc3RpY2t5LXN1YmhlYWRlciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIH1cblxuICAgICsgLmdyaWQtYXJjaGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjZyZW07XG4gICAgfVxuXG4gICAgJl9faW5uZXItY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogMS42cmVtIDA7XG4gICAgICB0cmFuc2l0aW9uOiAwLjI1cztcblxuICAgICAgLmlzLXN0aWNreSAmLFxuICAgICAgLnN0aWNreS0tc3R1Y2sgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtc3RpY2t5LFxuICAgICYuc3RpY2t5LS1zdHVjayB7XG4gICAgICBib3gtc2hhZG93OiAwIDJyZW0gM3JlbSAtMnJlbSByZ2IoNTIgNjQgODQgLyA4JSk7XG5cbiAgICAgICNuYXYtd3JhcHBlci5oZWFkZXItdmlzaWJsZSB+ICYge1xuICAgICAgICBib3gtc2hhZG93OiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAwLjhyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fZmlsdGVyLXRyaWdnZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGNvbHVtbi1nYXA6IDAuOHJlbTtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXg6IDE7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWdhcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGdyaWQtZ2FwOiB2YXIoLS1nYXApO1xuICAgIH1cblxuICAgICYtLW9uZS1jb2x1bW4ge1xuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XG5cbiAgICAgICAgLmJhbm5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdHdvLWNvbHVtbiB7XG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10aHJlZS1jb2x1bW4ge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mb3VyLWNvbHVtbiB7XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5iYW5uZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICYuYmFubmVyLS1sYXJnZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgfVxuXG4gICAgICAmLmJhbm5lci0tc21hbGwge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAxO1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IC0xO1xuICAgICAgICBncmlkLXJvdzogNDtcblxuICAgICAgICAuYmFubmVyX193cmFwcGVyID4gZGl2IHtcbiAgICAgICAgICBwYWRkaW5nOiAxLjZyZW07XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJhbm5lcl9fd3JhcHBlciB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogaW5oZXJpdDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zdWJuYXYge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuOHJlbTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZ2FwOiAzcmVtO1xuICAgIH1cblxuICAgIC5zb3J0LWJ5IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtdGV4dCk7XG4gICAgICAgIHBhZGRpbmc6IDAuOHJlbSA0LjZyZW0gMC44cmVtIDEuNnJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItaW5wdXQtYm9yZGVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtYmFja2dyb3VuZCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMC40cmVtIDFyZW0gcmdiYSg3NCwgNzQsIDc0LCAwLjAxKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtdGV4dCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2xzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAub25lLWNvbCxcbiAgICAgIC50d28tY29sIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGhyZWUtY29sLFxuICAgICAgLmZvdXItY29sIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIG1hcmdpbjogMCAwLjhyZW0gMCAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcGFkZGluZzogMC44cmVtIDAuNHJlbTtcblxuICAgICAgICBwYXRoLFxuICAgICAgICByZWN0IHtcbiAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci1pY29uKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgcmVjdCB7XG4gICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci1pY29uLWhvdmVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIHJlY3Qge1xuICAgICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItaWNvbi1ob3Zlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAgIGhlaWdodDogMy4ycmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNHJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmICsgLnNvcnQtYnkge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDNyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmFjZXQtZmlsdGVycy1mb3JtIHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tb2JpbGUtZnVsbCB7XG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBmYWNldC1maWx0ZXJzLWZvcm0sIC5zb3J0LWJ5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5zb3J0LWJ5IHNlbGVjdCB7XG4gICAgICAgICAgcGFkZGluZzogMC40cmVtIDRyZW0gMC40cmVtIDEuNnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ZpbHRlcnMtY29udGFpbmVyIHtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCAwLjNzLCBvcGFjaXR5IDAuM3M7XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDMwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB0cmFuc2l0aW9uOiBsZWZ0IDBzIDAuM3MsIGJhY2tncm91bmQgMC4zcyAwcztcbiAgICB9XG5cbiAgICAuZmFjZXRzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycmVtKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4zcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAuZmFjZXRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1hbHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjUlO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19wcm9kdWN0cy1ncmlkLWNvbnRhaW5lciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgb3BhY2l0eTogMTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYubG9hZGluZyB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxuICB9XG5cbiAgJl9fbWFpbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmLW1vYmlsZS0tZmlsdGVycy1zaG93biB7XG4gICAgICAjeyR0aGlzfV9fZmlsdGVycy1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDBzIDBzLCBiYWNrZ3JvdW5kIDAuM3MgMHM7XG5cbiAgICAgICAgICAuZmFjZXRzIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZmlsdGVycy1zaG93biB7XG4gICAgICAjeyR0aGlzfV9fZmlsdGVycy1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI3skdGhpc31fX3Byb2R1Y3RzLWdyaWQtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19uby1yZXN1bHRzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgICBwYWRkaW5nOiAyNHJlbSA4cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIH1cblxuICBwLm5vdGhpbmdfZm91bmQge1xuICAgIHBhZGRpbmc6IDYuNHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFsdCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuXG4gICAgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICNGYWNldFNlYXJjaEZvcm0ge1xuICAgIG1hcmdpbjogMS42cmVtIDA7XG4gIH1cbn1cblxuLnRlbXBsYXRlLXNlYXJjaCB7XG4gIC5ncmlkLWFyY2hpdmVfX291dGVyLWNvbnRhaW5lciB7XG4gICAgaDEge1xuICAgICAgbWFyZ2luOiA4cmVtIDA7XG4gICAgfVxuICB9XG59XG5cbiNibG9nLWNvbnRlbnQge1xuICBzY3JvbGwtbWFyZ2luOiAxNTBweDtcbn1cblxuLnNob3BpZnktc2VjdGlvbiB7XG4gICYuYmxvZyxcbiAgJi5jb2xsZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxLjZyZW0gMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuIiwiLm1haW4tcHJvZHVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgJl9fZ2FsbGVyeS1jb250cm9scyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZfX3RheC1wb2xpY3kge1xuICAgIEBleHRlbmQgLnRleHQteHM7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbjogMC40cmVtIDAgMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tZm9udC1ib2R5LXRyYW5zZm9ybSk7XG5cbiAgICBhOm5vdCg6aG92ZXIpIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gICYuc2xpZGVyLWVuYWJsZWQge1xuICAgIC5tYWluLXByb2R1Y3RfX2dhbGxlcnktY29udHJvbHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgcGFkZGluZzogMC44cmVtIDAgMCAwO1xuICAgICAgbWFyZ2luOiAwLjhyZW0gMCAwIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgbWFyZ2luOiAwLjhyZW0gMCAwIC0xLjZyZW07XG4gICAgICB9XG5cbiAgICAgIC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lci0tZnVsbF9ibGVlZCAubWFpbi1wcm9kdWN0X19nYWxsZXJ5LWNvbnRyb2xzIHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1wcm9kdWN0X19nYWxsZXJ5IHtcbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBjdXJzb3I6IGdyYWIgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgICAgZ3JpZC1nYXA6IHZhcigtLWdhcCk7XG4gICAgfVxuXG4gICAgJi5nYWxsZXJ5LS1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgLm1haW4tcHJvZHVjdF9fbWVkaWEge1xuICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAyZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYucmlnaHQge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDJmcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5nYWxsZXJ5LS1kZXNrdG9wLXN0eWxlLW5vbmUge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyLS1mdWxsX2JsZWVkIC5jb250YWluZXIge1xuICAgIGdyaWQtZ2FwOiAwO1xuICB9XG5cbiAgLnN3aXBlci10aHVtYm5haWxzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuc3dpcGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiA2MHB4O1xuXG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB9XG5cbiAgICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcblxuICAgICAgICAmLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLW5hdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBnYXA6IDhweDtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cblxuICAgICAgLmljb24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX21lZGlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMS42cmVtIDA7XG4gICAgICBtYXJnaW46IDAgLTEuNnJlbSAwIDA7XG5cbiAgICAgICY6aGFzKC5zd2lwZXJbZGF0YS1tb2JpbGUtc2xpZGVzLXBlci12aWV3PVwiMVwiXSksXG4gICAgICAmOmhhcyguc3dpcGVyW2RhdGEtbW9iaWxlLXNsaWRlcy1wZXItdmlldz1cIjJcIl0pLFxuICAgICAgJjpoYXMoLnN3aXBlcltkYXRhLW1vYmlsZS1zbGlkZXMtcGVyLXZpZXc9XCIzXCJdKSxcbiAgICAgICY6aGFzKC5zd2lwZXJbZGF0YS1tb2JpbGUtc2xpZGVzLXBlci12aWV3PVwiNFwiXSksXG4gICAgICAmOmhhcyguc3dpcGVyW2RhdGEtbW9iaWxlLXNsaWRlcy1wZXItdmlldz1cIjVcIl0pIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAuY29udGFpbmVyLS1mdWxsX2JsZWVkICYge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuOHJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAuc3dpcGVyLXRodW1ibmFpbHMge1xuICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICAuc3dpcGVyLXRodW1ibmFpbHMgKyAubWFpbi1wcm9kdWN0X19tZWRpYS1nYWxsZXJ5IHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjhweCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDY4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgZmlndXJlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmW2RhdGEtZGVza3RvcC1sYXlvdXQ9XCJvbmUtY29sdW1uLWZpcnN0XCJdLFxuICAgICZbZGF0YS1kZXNrdG9wLWxheW91dD1cIm9uZS1jb2x1bW5cIl0sXG4gICAgJltkYXRhLWRlc2t0b3AtbGF5b3V0PVwidHdvLWNvbHVtblwiXSB7XG4gICAgICAmOjpwYXJ0KHdyYXBwZXIpIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBncmlkLWdhcDogMS42cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLW1vYmlsZS1sYXlvdXQ9XCJvbmUtY29sdW1uLWZpcnN0XCJdLFxuICAgICZbZGF0YS1tb2JpbGUtbGF5b3V0PVwib25lLWNvbHVtblwiXSxcbiAgICAmW2RhdGEtbW9iaWxlLWxheW91dD1cInR3by1jb2x1bW5cIl0ge1xuICAgICAgJjo6cGFydCh3cmFwcGVyKSB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGdyaWQtZ2FwOiAxLjZyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtZGVza3RvcC1sYXlvdXQ9XCJvbmUtY29sdW1uLWZpcnN0XCJdLFxuICAgICZbZGF0YS1kZXNrdG9wLWxheW91dD1cInR3by1jb2x1bW5cIl06bm90KFtkYXRhLXZhcmlhbnQtc3R5bGU9XCJ2YXJpYW50XCJdKSB7XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgJjo6cGFydCh3cmFwcGVyKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1wcm9kdWN0X19nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICAgIGZsZXg6IDAgY2FsYyg1MCUgLSAwLjhyZW0pO1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtbW9iaWxlLWxheW91dD1cIm9uZS1jb2x1bW4tZmlyc3RcIl0sXG4gICAgJltkYXRhLW1vYmlsZS1sYXlvdXQ9XCJ0d28tY29sdW1uXCJdOm5vdChbZGF0YS12YXJpYW50LXN0eWxlPVwidmFyaWFudFwiXSkge1xuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICAmOjpwYXJ0KHdyYXBwZXIpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLXByb2R1Y3RfX2dhbGxlcnktaXRlbSB7XG4gICAgICAgICAgZmxleDogMCBjYWxjKDUwJSAtIDAuOHJlbSk7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZbZGF0YS1kZXNrdG9wLWxheW91dD1cIm9uZS1jb2x1bW4tZmlyc3RcIl0ge1xuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICAgIC5tYWluLXByb2R1Y3RfX2dhbGxlcnktaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZmxleDogMCAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZbZGF0YS1tb2JpbGUtbGF5b3V0PVwib25lLWNvbHVtbi1maXJzdFwiXSB7XG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIC5tYWluLXByb2R1Y3RfX2dhbGxlcnktaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZmxleDogMCAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuem9vbS1saWdodGJveCB7XG4gICAgICBmaWd1cmUge1xuICAgICAgICBjdXJzb3I6IHpvb20taW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgJiBoMSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oZWFkaW5nKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICArIC5tYWluLXByb2R1Y3RfX3ByaWNlIHtcbiAgICAgIG1hcmdpbjogLTAuOHJlbSAwIDEuNnJlbSAwO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgbWFyZ2luOiAtMS42cmVtIDAgMi40cmVtIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYmxvY2tzIHtcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBzaG9waWZ5LXBheW1lbnQtdGVybXMge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgfVxuXG4gICAgPiAqIHtcbiAgICAgIG1hcmdpbjogMS42cmVtIDA7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICBtYXJnaW46IDIuNHJlbSAwO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uICsgLmFjY29yZGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAgLTAuOHJlbVxuICAgIH1cblxuICAgIC5wcmljZSB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICB2YXJpYW50LXNlbGVjdHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDEuNnJlbTtcbiAgICB9XG5cbiAgICAuYy1pY29ucy1wcm9kdWN0IHtcbiAgICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMC44cmVtO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgcGFkZGluZzogMC44cmVtIDAgMCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLnN0aWNreSkge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG9waWZ5X3N1YnNjcmlwdGlvbnNfZmllbGRzZXQge1xuICAgICAgLnNob3BpZnlfc3Vic2NyaXB0aW9uc19hcHBfX3RpdGxlIHtcbiAgICAgICAgQGV4dGVuZCAudGV4dC1zbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC44cmVtIDAgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgPiBkaXYge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuc2hvcGlmeV9zdWJzY3JpcHRpb25zX2FwcF9ibG9ja19sYWJlbF9jaGlsZHJlbixcbiAgICAgIC5zaG9waWZ5X3N1YnNjcmlwdGlvbnNfcHVyY2hhc2Vfb3B0aW9uX3dyYXBwZXIge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgQGV4dGVuZCAudGV4dC1zbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2hvcGlmeV9zdWJzY3JpcHRpb25zX2FwcF9ibG9ja19sYWJlbCB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC44cmVtIDAgMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgcGFkZGluZzogMC44cmVtIDAgICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICBtYXJnaW46IDAuOHJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2hvcGlmeV9zdWJzY3JpcHRpb25zX2FwcF9wb2xpY3kge1xuICAgICAgICBAZXh0ZW5kIC50ZXh0LXhzO1xuICAgICAgICBtYXJnaW46IDAuOHJlbSAwIDAgMCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cnVuY2F0YWJsZS1jb250ZW50IHtcbiAgICAgIC5zaHJpbmssXG4gICAgICAuZXhwYW5kIHtcbiAgICAgICAgcGFkZGluZzogMC44cmVtIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYWRkLXRvLWNhcnQge1xuICAgIG1hcmdpbi10b3A6IDAuOHJlbTtcblxuICAgIGZvcm0ge1xuICAgICAgbWFyZ2luOiAwIDAgMi40cmVtIDA7XG4gICAgfVxuICB9XG5cbiAgJl9fcmF0aW5nIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgcCB7XG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19maWVsZHNldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuOHJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGxlZ2VuZCB7XG4gICAgICBtYXJnaW46IDAuOHJlbSAxLjZyZW0gMCAwO1xuICAgICAgbWluLXdpZHRoOiA4cmVtO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYtLXBpbGxzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgZGl2LnZhcmlhbnRfb3B0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiAwLjhyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1pbWFnZV9zd2F0Y2hlcyxcbiAgICAmLS1jb2xvcl9zd2F0Y2hlcyB7XG4gICAgICBkaXYudmFyaWFudF9vcHRpb25zIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZ3JpZC1nYXA6IDAuOHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19kcm9wZG93biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC44cmVtO1xuICB9XG5cbiAgJl9fcXVhbnRpdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMS42cmVtO1xuXG4gICAgLnF1YW50aXR5LXBpY2tlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMS42cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX2Vycm9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC44cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAgMCAwIDAuOHJlbTtcbiAgICB9XG4gIH1cbn1cblxuLnNob3BpZnktbW9kZWwtdmlld2VyLXVpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5wZHAtbGlnaHRib3gge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogLTk5OTlweDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG4gIHotaW5kZXg6IC0xO1xuICBwYWRkaW5nOiAwIDAgNHJlbTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE2cztcbiAgJHRoaXM6ICY7XG5cbiAgJl9fY2xvc2UtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgJl9fY2xvc2Uge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNC44cmVtIDAuOHJlbSAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWJ1dHRvbi1wcmltYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItYnV0dG9uLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgd2lkdGg6IDRyZW07XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG5cbiAgICAuaWNvbiB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1idXR0b24tcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgb25FdmVudCB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1idXR0b24tcHJpbWFyeS1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1idXR0b24tcHJpbWFyeS1ob3Zlcik7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1idXR0b24tcHJpbWFyeS1ob3Zlcik7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXByaW1hcnktaG92ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IHZhcigtLWdhcCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tZ2FwKTtcbiAgICB9XG5cbiAgICBpbWcsXG4gICAgc3ZnIHtcbiAgICAgIGN1cnNvcjogem9vbS1vdXQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi0tb3BlbiB7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgI3skdGhpc31fX2Nsb3NlLWNvbnRhaW5lciB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uc3RpY2t5LWFkZC10by1jYXJ0IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDE5O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICBib3R0b206IC0xcHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5OTk5OTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgIHRvcDogMDtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYm9keSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgb3BhY2l0eSAwLjNzO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApIC8gMik7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAvIDIpIGNhbGModmFyKC0tZ2FwKSk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgLnN0aWNreS1hZGQtdG8tY2FydF9faW5uZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCA0cmVtIC0wLjRyZW0gcmdiKDUyIDY0IDg0IC8gOCUpO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbWV0YSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgc3ZnLCBpbWcge1xuICAgICAgd2lkdGg6IDYuNnJlbTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgIG1hcmdpbjogMCAxLjZyZW0gMCAwO1xuICAgIH1cblxuICAgIC5wcmljZSB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udHJvbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBjb2x1bW4tZ2FwOiAwLjhyZW07XG4gICAgfVxuXG4gICAgLnNob3BpZnktcGF5bWVudC1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHZhcmlhbnQtc2VsZWN0cyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgY29sdW1uLWdhcDogMC44cmVtO1xuXG4gICAgICAubWFpbi1wcm9kdWN0X19kcm9wZG93biB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDAuOHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tb2JpbGUtY29udHJvbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4iLCIuaGVybyB7XG4gICR0aGlzOiAmO1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuXG4gIC5ncmlkLWNvbnRlbnRfX2hlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJl9fbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICZfX3NpZGUtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBtYXJnaW46IDAuOHJlbSAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDgwcmVtO1xuICAgIG1pbi1oZWlnaHQ6IDIwcmVtO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmhlcm8tLWltYWdlLWxlZnQgJiB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgIH1cbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgei1pbmRleDogMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcblxuICAgIC5zZWN0aW9uLS13aXRoLWJhY2tncm91bmQgJiB7XG4gICAgICBwYWRkaW5nOiAxLjZyZW07XG4gICAgfVxuXG4gICAgLmdyaWQtY29udGVudF9faGVhZGVyPioge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYgPiAqIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgICAgLnRhZ3MsXG4gICAgICAudXNwLFxuICAgICAgLmhlcm9fX3VpLXNoYXJlLXByaW50LFxuICAgICAgLmJyZWFkY3J1bWJzIG5hdiBvbCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG5cbiAgICAgIC5oZXJvX19tZXRhIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgfVxuXG4gICAgICBhW2NsYXNzXj1cImJ1dHRvblwiXSxcbiAgICAgIGFbY2xhc3MqPVwiIGJ1dHRvblwiXSB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgfVxuXG4gICAgICAud3lzaXd5ZyB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBoMSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuaGVyb19fbWV0YSxcbiAgICAgIC50YWdzLFxuICAgICAgLnVzcCxcbiAgICAgIC5oZXJvX191aS1zaGFyZS1wcmludCxcbiAgICAgIC5icmVhZGNydW1icyBuYXYgb2wge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmhlcm9fX21ldGEge1xuICAgICAgICBnYXA6IDMuMnJlbTtcbiAgICAgIH1cblxuICAgICAgYVtjbGFzc149XCJidXR0b25cIl0sXG4gICAgICBhW2NsYXNzKj1cIiBidXR0b25cIl0ge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC53eXNpd3lnIHtcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19iZyB7XG4gICAgei1pbmRleDogMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblxuICAgIC5jb250YWluZXItLWZ1bGxfYmxlZWQgJiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgICYtLW1vYmlsZSB7XG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgKyAuaGVyb19fYmctLWRlc2t0b3Age1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxnKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3VpLXNoYXJlLXByaW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCAwIDAgLTEuMnJlbTtcblxuICAgIC51aS1zaGFyZS1wcmludCB1bCB7XG4gICAgICBsZWZ0OiAxLjZyZW07XG4gICAgfVxuXG4gICAgYSArIC51aS1zaGFyZS1wcmludCB1bCB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5icmVhZGNydW1icyB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAmLnNlY3Rpb25fX3dyYXBwZXItLWJhY2tncm91bmQge1xuICAgICAgICBwYWRkaW5nOiAxLjZyZW0gIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICAgICBwYWRkaW5nOiAyLjRyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBvbCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnM7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saW5rcy1ob3ZlcikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJlthcmlhLWN1cnJlbnRdIHtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXNlY29uZGFyeSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1idXR0b24tc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnM7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcikgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgICAgICAgICAtLWNvbG9yLWJhY2tncm91bmQtYnV0dG9uLXNlY29uZGFyeS1ob3ZlclxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1vbmUtY29sIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGcpIHtcbiAgICAgICN7JHRoaXN9X19kZXNjcmlwdGlvbixcbiAgICAgIC5oZWFkaW5nX19zZWN0aW9uID4gKiB7XG4gICAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgIC5hbGlnbm1lbnQtaG9yaXpvbnRhbC1tb2JpbGUtLWNlbnRlciB7XG4gICAgICAgICN7JHRoaXN9X19kZXNjcmlwdGlvbixcbiAgICAgICAgLmhlYWRpbmdfX3NlY3Rpb24gPiAqIHtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYWxpZ25tZW50LWhvcml6b250YWwtbW9iaWxlLS1yaWdodCB7XG4gICAgICAgICN7JHRoaXN9X19kZXNjcmlwdGlvbixcbiAgICAgICAgLmhlYWRpbmdfX3NlY3Rpb24gPiAqIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgLmFsaWdubWVudC1ob3Jpem9udGFsLS1jZW50ZXIge1xuICAgICAgICAjeyR0aGlzfV9fZGVzY3JpcHRpb24sXG4gICAgICAgIC5oZWFkaW5nX19zZWN0aW9uID4gKiB7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFsaWdubWVudC1ob3Jpem9udGFsLS1yaWdodCB7XG4gICAgICAgICN7JHRoaXN9X19kZXNjcmlwdGlvbixcbiAgICAgICAgLmhlYWRpbmdfX3NlY3Rpb24gPiAqIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXR3by1jb2wge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBncmlkLWF1dG8tY29sdW1uczogMTAwJTtcbiAgICBncmlkLWdhcDogMi40cmVtO1xuXG4gICAgLmltZy1wbGFjZWhvbGRlcixcbiAgICB2aWRlbyxcbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogODByZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KGNhbGMoNTAlIC0gOHJlbSksIDFmcikpO1xuICAgICAgZ3JpZC1nYXA6IDQuOHJlbTtcbiAgICB9XG5cbiAgICAuaGVyb19fd3JhcHBlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmLWJhc2ljIHtcbiAgICBoMSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cbiIsIi5sb2dvcyB7XG4gICZfX3dyYXBwZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWdhcCkgLyAyKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsZykge1xuICAgICAgZ2FwOiB2YXIoLS1nYXApO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYWxpZ24tc2VsZjogYXV0bztcbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGZsZXg6IDAgY2FsYygxMDAlIC8gdmFyKC0tbW9iaWxlLWNvbHVtbi1jb3VudC1sb2dvLWxpc3QpIC0gY2FsYyh2YXIoLS1nYXApIC8gMikpO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxnKSB7XG4gICAgICBmbGV4OiAwIGNhbGMoMTAwJSAvIHZhcigtLWRlc2t0b3AtY29sdW1uLWNvdW50LWxvZ28tbGlzdCkgLSB2YXIoLS1nYXApKTtcbiAgICB9XG5cbiAgICAmLS10ZXh0LW9ubHkge1xuICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBsZykge1xuICAgICAgICBmbGV4OiAwIDEwMCU7XG5cbiAgICAgICAgLmNvbnRhaW5lci0tZnVsbF9ibGVlZCAmIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWltYWdlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgc2NhbGU6IDE7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG5cbiAgICAgICsgcCB7XG4gICAgICAgIG1hcmdpbjogMC44cmVtIDAgMCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBAaW5jbHVkZSBvbkV2ZW50IHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBzY2FsZTogMS4wNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWZpbGwtbW9iaWxlIHtcbiAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbGcpIHtcbiAgICAgICAgZmxleDogMCAxMDAlO1xuXG4gICAgICAgIC5jb250YWluZXItLWZ1bGxfYmxlZWQgJiB7XG4gICAgICAgICAgcGFkZGluZzogMCAxLjJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19wbGFjZWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/