/** Shopify CDN: Minification failed

Line 6810:0 Unexpected "<"
Line 6815:58 Comments in CSS use "/* ... */" instead of "//"

**/
*, ::before, ::after {
      --tw-border-spacing-x: 0;
      --tw-border-spacing-y: 0;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-rotate: 0;
      --tw-skew-x: 0;
      --tw-skew-y: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-pan-x:  ;
      --tw-pan-y:  ;
      --tw-pinch-zoom:  ;
      --tw-scroll-snap-strictness: proximity;
      --tw-gradient-from-position:  ;
      --tw-gradient-via-position:  ;
      --tw-gradient-to-position:  ;
      --tw-ordinal:  ;
      --tw-slashed-zero:  ;
      --tw-numeric-figure:  ;
      --tw-numeric-spacing:  ;
      --tw-numeric-fraction:  ;
      --tw-ring-inset:  ;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-color: rgb(59 130 246 / 0.5);
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-ring-shadow: 0 0 #0000;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-colored: 0 0 #0000;
      --tw-blur:  ;
      --tw-brightness:  ;
      --tw-contrast:  ;
      --tw-grayscale:  ;
      --tw-hue-rotate:  ;
      --tw-invert:  ;
      --tw-saturate:  ;
      --tw-sepia:  ;
      --tw-drop-shadow:  ;
      --tw-backdrop-blur:  ;
      --tw-backdrop-brightness:  ;
      --tw-backdrop-contrast:  ;
      --tw-backdrop-grayscale:  ;
      --tw-backdrop-hue-rotate:  ;
      --tw-backdrop-invert:  ;
      --tw-backdrop-opacity:  ;
      --tw-backdrop-saturate:  ;
      --tw-backdrop-sepia:  ;
}
::backdrop {
      --tw-border-spacing-x: 0;
      --tw-border-spacing-y: 0;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-rotate: 0;
      --tw-skew-x: 0;
      --tw-skew-y: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-pan-x:  ;
      --tw-pan-y:  ;
      --tw-pinch-zoom:  ;
      --tw-scroll-snap-strictness: proximity;
      --tw-gradient-from-position:  ;
      --tw-gradient-via-position:  ;
      --tw-gradient-to-position:  ;
      --tw-ordinal:  ;
      --tw-slashed-zero:  ;
      --tw-numeric-figure:  ;
      --tw-numeric-spacing:  ;
      --tw-numeric-fraction:  ;
      --tw-ring-inset:  ;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-color: rgb(59 130 246 / 0.5);
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-ring-shadow: 0 0 #0000;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-colored: 0 0 #0000;
      --tw-blur:  ;
      --tw-brightness:  ;
      --tw-contrast:  ;
      --tw-grayscale:  ;
      --tw-hue-rotate:  ;
      --tw-invert:  ;
      --tw-saturate:  ;
      --tw-sepia:  ;
      --tw-drop-shadow:  ;
      --tw-backdrop-blur:  ;
      --tw-backdrop-brightness:  ;
      --tw-backdrop-contrast:  ;
      --tw-backdrop-grayscale:  ;
      --tw-backdrop-hue-rotate:  ;
      --tw-backdrop-invert:  ;
      --tw-backdrop-opacity:  ;
      --tw-backdrop-saturate:  ;
      --tw-backdrop-sepia:  ;
}
.container {
      width: 100%;
}
@media (min-width: 640px) {
      .container {
            max-width: 640px;
      }
}
@media (min-width: 768px) {
      .container {
            max-width: 768px;
      }
}
@media (min-width: 1024px) {
      .container {
            max-width: 1024px;
      }
}
@media (min-width: 1280px) {
      .container {
            max-width: 1280px;
      }
}
@media (min-width: 1536px) {
      .container {
            max-width: 1536px;
      }
}
.pointer-events-none {
      pointer-events: none;
}
.visible {
      visibility: visible;
}
.static {
      position: static;
}
.fixed {
      position: fixed;
}
.absolute {
      position: absolute;
}
.relative {
      position: relative;
}
.sticky {
      position: sticky;
}
.bottom-0 {
      bottom: 0px;
}
.bottom-12 {
      bottom: 3rem;
}
.left-0 {
      left: 0px;
}
.right-0 {
      right: 0px;
}
.right-2 {
      right: 0.5rem;
}
.top-0 {
      top: 0px;
}
.top-1\/2 {
      top: 50%;
}
.top-2 {
      top: 0.5rem;
}
.isolate {
      isolation: isolate;
}
.z-0 {
      z-index: 0;
}
.z-10 {
      z-index: 10;
}
.z-2 {
      z-index: 2;
}
.z-50 {
      z-index: 50;
}
.mx-2 {
      margin-left: 0.5rem;
      margin-right: 0.5rem;
}
.mx-6 {
      margin-left: 1.5rem;
      margin-right: 1.5rem;
}
.mx-8 {
      margin-left: 2rem;
      margin-right: 2rem;
}
.mx-auto {
      margin-left: auto;
      margin-right: auto;
}
.my-6 {
      margin-top: 1.5rem;
      margin-bottom: 1.5rem;
}
.mb-0 {
      margin-bottom: 0px;
}
.mb-0\.5 {
      margin-bottom: 0.125rem;
}
.mb-10 {
      margin-bottom: 2.5rem;
}
.mb-12 {
      margin-bottom: 3rem;
}
.mb-2 {
      margin-bottom: 0.5rem;
}
.mb-3 {
      margin-bottom: 0.75rem;
}
.mb-4 {
      margin-bottom: 1rem;
}
.mb-5 {
      margin-bottom: 1.25rem;
}
.mb-6 {
      margin-bottom: 1.5rem;
}
.ml-3 {
      margin-left: 0.75rem;
}
.mr-12 {
      margin-right: 3rem;
}
.mr-2 {
      margin-right: 0.5rem;
}
.mr-4 {
      margin-right: 1rem;
}
.mt-1 {
      margin-top: 0.25rem;
}
.mt-12 {
      margin-top: 3rem;
}
.mt-16 {
      margin-top: 4rem;
}
.mt-3 {
      margin-top: 0.75rem;
}
.mt-6 {
      margin-top: 1.5rem;
}
.mt-8 {
      margin-top: 2rem;
}
.block {
      display: block;
}
.inline-block {
      display: inline-block;
}
.inline {
      display: inline;
}
.flex {
      display: flex;
}
.inline-flex {
      display: inline-flex;
}
.table {
      display: table;
}
.grid {
      display: grid;
}
.contents {
      display: contents;
}
.hidden {
      display: none;
}
.h-10 {
      height: 2.5rem;
}
.h-12 {
      height: 3rem;
}
.h-5 {
      height: 1.25rem;
}
.h-6 {
      height: 1.5rem;
}
.h-\[10rem\] {
      height: 10rem;
}
.h-\[4px\] {
      height: 4px;
}
.h-fit {
      height: -moz-fit-content;
      height: fit-content;
}
.h-full {
      height: 100%;
}
.w-1\/3 {
      width: 33.333333%;
}
.w-1\/4 {
      width: 25%;
}
.w-10 {
      width: 2.5rem;
}
.w-12 {
      width: 3rem;
}
.w-14 {
      width: 3.5rem;
}
.w-5 {
      width: 1.25rem;
}
.w-6 {
      width: 1.5rem;
}
.w-\[10rem\] {
      width: 10rem;
}
.w-\[16rem\] {
      width: 16rem;
}
.w-\[180px\] {
      width: 180px;
}
.w-full {
      width: 100%;
}
.min-w-\[140px\] {
      min-width: 140px;
}
.min-w-fit {
      min-width: -moz-fit-content;
      min-width: fit-content;
}
.max-w-\[45px\] {
      max-width: 45px;
}
.max-w-\[90\%\] {
      max-width: 90%;
}
.max-w-full {
      max-width: 100%;
}
.flex-1 {
      flex: 1 1 0%;
}
.shrink-0 {
      flex-shrink: 0;
}
.flex-grow {
      flex-grow: 1;
}
.grow {
      flex-grow: 1;
}
.border-collapse {
      border-collapse: collapse;
}
.-translate-y-1\/2 {
      --tw-translate-y: -50%;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0 {
      --tw-translate-y: 0px;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-full {
      --tw-translate-y: 100%;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
      --tw-rotate: 180deg;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
}
.flex-col {
      flex-direction: column;
}
.flex-wrap {
      flex-wrap: wrap;
}
.flex-nowrap {
      flex-wrap: nowrap;
}
.items-start {
      align-items: flex-start;
}
.items-end {
      align-items: flex-end;
}
.items-center {
      align-items: center;
}
.items-baseline {
      align-items: baseline;
}
.justify-start {
      justify-content: flex-start;
}
.justify-end {
      justify-content: flex-end;
}
.justify-center {
      justify-content: center;
}
.justify-between {
      justify-content: space-between;
}
.gap-1 {
      gap: 0.25rem;
}
.gap-1\.5 {
      gap: 0.375rem;
}
.gap-10 {
      gap: 2.5rem;
}
.gap-3 {
      gap: 0.75rem;
}
.gap-6 {
      gap: 1.5rem;
}
.gap-8 {
      gap: 2rem;
}
.gap-x-3 {
      -moz-column-gap: 0.75rem;
           column-gap: 0.75rem;
}
.gap-x-6 {
      -moz-column-gap: 1.5rem;
           column-gap: 1.5rem;
}
.gap-y-12 {
      row-gap: 3rem;
}
.space-x-8 > :not([hidden]) ~ :not([hidden]) {
      --tw-space-x-reverse: 0;
      margin-right: calc(2rem * var(--tw-space-x-reverse));
      margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
      --tw-space-y-reverse: 0;
      margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
      margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.divide-x > :not([hidden]) ~ :not([hidden]) {
      --tw-divide-x-reverse: 0;
      border-right-width: calc(1px * var(--tw-divide-x-reverse));
      border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
      --tw-divide-y-reverse: 0;
      border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
      border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-\[\#232221\] > :not([hidden]) ~ :not([hidden]) {
      --tw-divide-opacity: 1;
      border-color: rgb(35 34 33 / var(--tw-divide-opacity));
}
.divide-light > :not([hidden]) ~ :not([hidden]) {
      border-color: rgb(var(--color-foreground), .25);
}
.overflow-auto {
      overflow: auto;
}
.overflow-hidden {
      overflow: hidden;
}
.overflow-x-scroll {
      overflow-x: scroll;
}
.truncate {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
}
.rounded-full {
      border-radius: 9999px;
}
.border {
      border-width: 1px;
}
.border-b {
      border-bottom-width: 1px;
}
.border-r {
      border-right-width: 1px;
}
.border-dark {
      border-color: rgb(var(--color-foreground));
}
.border-light {
      border-color: rgb(var(--color-foreground), .25);
}
.bg-white {
      --tw-bg-opacity: 1;
      background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.p-1 {
      padding: 0.25rem;
}
.p-2 {
      padding: 0.5rem;
}
.p-2\.5 {
      padding: 0.625rem;
}
.p-3 {
      padding: 0.75rem;
}
.\!px-5 {
      padding-left: 1.25rem !important;
      padding-right: 1.25rem !important;
}
.px-1 {
      padding-left: 0.25rem;
      padding-right: 0.25rem;
}
.px-2 {
      padding-left: 0.5rem;
      padding-right: 0.5rem;
}
.px-3 {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
}
.px-5 {
      padding-left: 1.25rem;
      padding-right: 1.25rem;
}
.px-6 {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
}
.px-8 {
      padding-left: 2rem;
      padding-right: 2rem;
}
.py-1 {
      padding-top: 0.25rem;
      padding-bottom: 0.25rem;
}
.py-12 {
      padding-top: 3rem;
      padding-bottom: 3rem;
}
.py-14 {
      padding-top: 3.5rem;
      padding-bottom: 3.5rem;
}
.py-16 {
      padding-top: 4rem;
      padding-bottom: 4rem;
}
.py-2 {
      padding-top: 0.5rem;
      padding-bottom: 0.5rem;
}
.py-3 {
      padding-top: 0.75rem;
      padding-bottom: 0.75rem;
}
.py-4 {
      padding-top: 1rem;
      padding-bottom: 1rem;
}
.py-5 {
      padding-top: 1.25rem;
      padding-bottom: 1.25rem;
}
.py-6 {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
}
.py-7 {
      padding-top: 1.75rem;
      padding-bottom: 1.75rem;
}
.py-8 {
      padding-top: 2rem;
      padding-bottom: 2rem;
}
.pb-1 {
      padding-bottom: 0.25rem;
}
.pb-1\.5 {
      padding-bottom: 0.375rem;
}
.pb-10 {
      padding-bottom: 2.5rem;
}
.pb-16 {
      padding-bottom: 4rem;
}
.pb-24 {
      padding-bottom: 6rem;
}
.pb-3 {
      padding-bottom: 0.75rem;
}
.pb-5 {
      padding-bottom: 1.25rem;
}
.pl-10 {
      padding-left: 2.5rem;
}
.pl-2 {
      padding-left: 0.5rem;
}
.pl-5 {
      padding-left: 1.25rem;
}
.pl-8 {
      padding-left: 2rem;
}
.pr-0 {
      padding-right: 0px;
}
.pr-5 {
      padding-right: 1.25rem;
}
.pt-0 {
      padding-top: 0px;
}
.pt-1 {
      padding-top: 0.25rem;
}
.pt-12 {
      padding-top: 3rem;
}
.pt-14 {
      padding-top: 3.5rem;
}
.pt-16 {
      padding-top: 4rem;
}
.pt-2 {
      padding-top: 0.5rem;
}
.pt-3 {
      padding-top: 0.75rem;
}
.pt-4 {
      padding-top: 1rem;
}
.pt-6 {
      padding-top: 1.5rem;
}
.pt-7 {
      padding-top: 1.75rem;
}
.text-left {
      text-align: left;
}
.text-center {
      text-align: center;
}
.text-right {
      text-align: right;
}
.text-2xl {
      font-size: 2.6rem;
}
.text-4xl {
      font-size: 4rem;
}
.text-6xl {
      font-size: 6rem;
}
.text-lg {
      font-size: 1.8rem;
}
.text-sm {
      font-size: 1.4rem;
}
.text-xl {
      font-size: 2rem;
}
.text-xs {
      font-size: 1.2rem;
}
.text-xxs {
      font-size: 1rem;
}
.font-semibold {
      font-weight: 600;
}
.uppercase {
      text-transform: uppercase;
}
.capitalize {
      text-transform: capitalize;
}
.italic {
      font-style: italic;
}
.leading-snug {
      line-height: 1.375;
}
.leading-tight {
      line-height: 1.25;
}
.underline {
      text-decoration-line: underline;
}
.underline-offset-2 {
      text-underline-offset: 2px;
}
.opacity-100 {
      opacity: 1;
}
.opacity-50 {
      opacity: 0.5;
}
.shadow {
      --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
      --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
      box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline {
      outline-style: solid;
}
.ring-2 {
      --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
      --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
      box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-offset-2 {
      --tw-ring-offset-width: 2px;
}
.blur {
      --tw-blur: blur(8px);
      filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
      filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.transition {
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
}
.duration-1000 {
      transition-duration: 1000ms;
}
.duration-150 {
      transition-duration: 150ms;
}
.ease-in-out {
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
/* Hide scrollbar for Chrome, Safari and Opera */
.no-scrollbar::-webkit-scrollbar {
      display: none;
    }
/* Hide scrollbar for IE, Edge and Firefox */
.no-scrollbar {
      -ms-overflow-style: none; /* IE and Edge */
      scrollbar-width: none; /* Firefox */
    }
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: rgb(var(--color-foreground)); /* 2 */
}

::before,
::after {
  --tw-content: "";
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
*/
html {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}

/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/
button,
[role=button] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}

/*
Ensure the default browser behavior of the `hidden` attribute.
*/
[hidden] {
  display: none;
}

.font-heading {
  font-family: var(--font-heading-family);
}
.font-heading.small {
      font-size: 1.6rem;
      letter-spacing: 0.025em;
}
.font-heading.medium {
      font-size: 1.8rem;
}
@media (min-width: 1024px) {
      .font-heading.medium {
            font-size: 2rem;
      }
}
.font-heading.large {
      font-size: 2rem;
}
@media (min-width: 1024px) {
      .font-heading.large {
            font-size: 2.6rem;
      }
}
.font-heading.xlarge {
  font-size: clamp(4.5rem, 6vw, 12rem);
}

.image-with-text__text--caption {
  font-family: var(--font-heading-family);
}

b, strong {
  font-family: var(--font-heading-family);
  font-weight: var(--font-heading-weight);
}

hr {
  border: none;
  height: 0.1rem;
  background-color: rgba(var(--color-foreground), 0.2);
  display: block;
  margin: 5rem 0;
}

@media screen and (min-width: 750px) {
  hr {
    margin: 7rem 0;
  }
}
.product__info-inner .product__description p + p {
  padding: 0.8rem 0;
}
.product__info-inner .product__description ul {
  list-style-type: disc;
  list-style-position: outside;
  padding-left: 0.9rem;
}
.product__info-inner .product__description ul li + li {
  padding: 0.8rem 0;
}

.accordion__content a:link {
      text-decoration-line: underline;
      text-underline-offset: 2px;
}

.collection_description h2, .collection_description h3, .collection_description h4, .collection_description h5 {
  font-family: var(--font-heading-family);
  margin-bottom: 0.8rem;
}
.collection_description p, .collection_description li, .collection_description a:not(.link) {
  font-size: 1.6rem;
}
.collection_description a[href] {
      text-decoration-line: underline;
      text-underline-offset: 2px;
}
.collection_description h2 {
  font-size: 2.2rem;
}
.collection_description h3 {
  font-size: 2rem;
}
.collection_description h4 {
  font-size: 1.8rem;
}
.collection_description h2 + p {
  margin-bottom: 1.6rem;
}
.collection_description p + h3 {
  margin-top: 1.6rem;
}
.collection_description p + h4 {
  margin-top: 1.6rem;
}
.collection_description h3 + p, .collection_description h2 + h3, .collection_description h3 + h4 {
  margin-bottom: 1.6rem;
}
.collection_description p + p {
  margin-bottom: 0.8rem;
}
.collection_description ul {
  list-style-type: disc;
  list-style-position: outside;
  padding-left: 0.9rem;
}
.collection_description ul li + li {
  padding: 0.8rem 0;
}

.loading__spinner {
  position: absolute;
  z-index: 1;
  width: 1.8rem;
}

.loading__spinner.hidden {
  display: none;
}

.loading__spinner {
  width: 1.8rem;
  display: inline-block;
}

.spinner {
  animation: rotator 1.4s linear infinite;
}

@keyframes rotator {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(270deg);
  }
}
.path {
  stroke-dasharray: 280;
  stroke-dashoffset: 0;
  transform-origin: center;
  stroke: rgb(var(--color-foreground));
  animation: dash 1.4s ease-in-out infinite;
}

@media screen and (forced-colors: active) {
  .path {
    stroke: CanvasText;
  }
}
@keyframes dash {
  0% {
    stroke-dashoffset: 280;
  }
  50% {
    stroke-dashoffset: 75;
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 280;
    transform: rotate(450deg);
  }
}
.loading__spinner:not(.hidden) + .cart-item__price-wrapper,
.loading__spinner:not(.hidden) ~ cart-remove-button {
  opacity: 50%;
}

.loading__spinner:not(.hidden) ~ cart-remove-button {
  pointer-events: none;
  cursor: default;
}

.shopify-policy__container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 1.5rem;
  border-bottom: 1px solid rgb(var(--color-foreground));
}

.shopify-policy__body {
  max-width: 80rem;
  margin: 4rem auto 2rem;
  padding: 0 1.5rem;
}

.shopify-policy__body p {
  line-height: 1.6;
}

.shopify-policy__container h5 {
      padding-top: 3rem;
      padding-bottom: 2rem;
  font-family: var(--font-heading-family);
}

.shopify-policy__container h5.small {
      font-size: 1.6rem;
      letter-spacing: 0.025em;
}

.shopify-policy__container h5.medium {
      font-size: 1.8rem;
}

@media (min-width: 1024px) {
      .shopify-policy__container h5.medium {
            font-size: 2rem;
      }
}

.shopify-policy__container h5.large {
      font-size: 2rem;
}

@media (min-width: 1024px) {
      .shopify-policy__container h5.large {
            font-size: 2.6rem;
      }
}

.shopify-policy__container h5.xlarge {
  font-size: clamp(4.5rem, 6vw, 12rem);
}

@media (min-width: 1024px) {
      .shopify-policy__container h5 {
            font-size: 1.8rem;
      }
}

.shopify-policy__title {
      padding-top: 8rem;
      padding-bottom: 8rem;
      font-size: 2rem;
  font-family: var(--font-heading-family);
}

.shopify-policy__title.small {
      font-size: 1.6rem;
      letter-spacing: 0.025em;
}

.shopify-policy__title.medium {
      font-size: 1.8rem;
}

@media (min-width: 1024px) {
      .shopify-policy__title.medium {
            font-size: 2rem;
      }
}

.shopify-policy__title.large {
      font-size: 2rem;
}

@media (min-width: 1024px) {
      .shopify-policy__title.large {
            font-size: 2.6rem;
      }
}

.shopify-policy__title.xlarge {
  font-size: clamp(4.5rem, 6vw, 12rem);
}

@media (min-width: 1024px) {
      .shopify-policy__title {
            font-size: 2.6rem;
      }
}

.shopify-policy__title {
  border-bottom: 1px solid rgb(var(--color-foreground));
}

/* component-button */
/* Button - default */
.button--secondary,
.button--tertiary {
  --color-button: var(--color-secondary-button);
  --color-button-text: var(--color-secondary-button-text);
}

.button--tertiary {
  font-size: 1.2rem;
  padding: 1rem 1.5rem;
  min-width: calc(9rem + var(--buttons-border-width) * 2);
  min-height: calc(3.5rem + var(--buttons-border-width) * 2);
  --alpha-button-background: 0;
  --alpha-button-border: 0.2;
}

.button--arrow {
  font-family: var(--font-heading-family);
  display: inline-flex;
  align-items: center;
  font-size: 1.4rem;
  -moz-column-gap: 0.8rem;
       column-gap: 0.8rem;
}

.button,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded,
.shopify-payment-button [role=button],
.cart__dynamic-checkout-buttons [role=button],
.cart__dynamic-checkout-buttons iframe {
  --shadow-horizontal-offset: var(--buttons-shadow-horizontal-offset);
  --shadow-vertical-offset: var(--buttons-shadow-vertical-offset);
  --shadow-blur-radius: var(--buttons-shadow-blur-radius);
  --shadow-opacity: var(--buttons-shadow-opacity);
  --shadow-visible: var(--buttons-shadow-visible);
  --border-offset: var(--buttons-border-offset); /* reduce radius edge artifacts */
  --border-opacity: calc(1 - var(--buttons-border-opacity));
  border-radius: var(--buttons-radius-outset);
  position: relative;
}

.button,
.shopify-challenge__button,
.customer button,
button.shopify-payment-button__button--unbranded {
  min-width: calc(12rem + var(--buttons-border-width) * 2);
  min-height: calc(4.5rem + var(--buttons-border-width) * 2);
}

.shopify-payment-button__button--branded {
  z-index: auto;
}

.cart__dynamic-checkout-buttons iframe {
  box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius) rgba(var(--color-shadow), var(--shadow-opacity));
}

.button,
.shopify-challenge__button,
.customer button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 0;
  padding: 0 3rem;
  cursor: pointer;
  font: inherit;
  font-family: var(--font-heading-family);
  font-size: 1.4rem;
  text-decoration: none;
  color: rgb(var(--color-button-text));
  transition: box-shadow var(--duration-short) ease;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background-color: rgba(var(--color-button), var(--alpha-button-background));
}

.button:before,
.shopify-challenge__button:before,
.customer button:before,
.shopify-payment-button__button--unbranded:before,
.shopify-payment-button [role=button]:before,
.cart__dynamic-checkout-buttons [role=button]:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  border-radius: var(--buttons-radius-outset);
  box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius) rgba(var(--color-shadow), var(--shadow-opacity));
}

.button:after,
.shopify-challenge__button:after,
.customer button:after,
.shopify-payment-button__button--unbranded:after {
  content: "";
  position: absolute;
  top: var(--buttons-border-width);
  right: var(--buttons-border-width);
  bottom: var(--buttons-border-width);
  left: var(--buttons-border-width);
  z-index: 1;
  border-radius: var(--buttons-radius);
  box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset)) rgba(var(--color-button-text), var(--border-opacity)), 0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
  transition: box-shadow var(--duration-short) ease;
}

.button:not([disabled]):hover::after,
.shopify-challenge__button:hover::after,
.customer button:hover::after,
.shopify-payment-button__button--unbranded:hover::after {
  --border-offset: 1.3px;
  box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset)) rgba(var(--color-button-text), var(--border-opacity)), 0 0 0 calc(var(--buttons-border-width) + 1px) rgba(var(--color-button), var(--alpha-button-background));
}

.button--secondary {
  --color-button: var(--color-secondary-button);
  --color-button-text: var(--color-secondary-button-text);
  background-color: transparent;
}

.button--secondary:after {
  --border-opacity: var(--buttons-border-opacity);
}

.button:focus-visible,
.button:focus,
.button.focused,
.shopify-payment-button__button--unbranded:focus-visible,
.shopify-payment-button [role=button]:focus-visible,
.shopify-payment-button__button--unbranded:focus,
.shopify-payment-button [role=button]:focus {
  outline: 0;
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.5), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

.button:focus:not(:focus-visible):not(.focused),
.shopify-payment-button__button--unbranded:focus:not(:focus-visible):not(.focused),
.shopify-payment-button [role=button]:focus:not(:focus-visible):not(.focused) {
  box-shadow: inherit;
}

.button::-moz-selection, .shopify-challenge__button::-moz-selection, .customer button::-moz-selection {
  background-color: rgba(var(--color-button-text), 0.3);
}

.button::selection,
.shopify-challenge__button::selection,
.customer button::selection {
  background-color: rgba(var(--color-button-text), 0.3);
}

.button,
.button-label,
.shopify-challenge__button,
.customer button {
  line-height: calc(1 + 0.2 / var(--font-body-scale));
}

.button--tertiary {
  font-size: 1.2rem;
  padding: 1rem 1.5rem;
  min-width: calc(9rem + var(--buttons-border-width) * 2);
  min-height: calc(3.5rem + var(--buttons-border-width) * 2);
}

.button--small {
  min-height: auto;
  min-width: auto;
  padding: 0.8rem 1rem;
}

/* Button - other */
.button:disabled,
.button[aria-disabled=true],
.button--arrow[aria-disabled=true],
.button.disabled,
.customer button:disabled,
.customer button[aria-disabled=true],
.customer button.disabled,
.quantity__button.disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.button--full-width {
  display: flex;
  width: 100%;
}

.button.loading {
  color: transparent;
  position: relative;
}

@media screen and (forced-colors: active) {
  .button.loading {
    color: rgb(var(--color-foreground));
  }
}
.button.loading > .loading__spinner {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  height: 100%;
  display: flex;
  align-items: center;
}

.button.loading > .loading__spinner .spinner {
  width: -moz-fit-content;
  width: fit-content;
}

.button.loading > .loading__spinner .path {
  stroke: rgb(var(--color-button-text));
}

/*
  --product-grid-horizontal-spacing: 3.5%;
  --product-grid-max-horizontal-spacing: 52px;
  --product-grid-vertical-spacing: 36px;

grid--col-1 grid--lg-col-3
*/
.product-grid {
  gap: var(--product-grid-vertical-spacing) var(--horizontal-gap);
}

.product-grid--small {
  gap: 1.5rem 1.5rem;
}

.product-grid.grid--col-1 .grid__item {
  width: 100%;
}

.product-grid.grid--col-2 .grid__item {
  width: calc(50% - var(--horizontal-gap) * 1 / 2);
}

@media screen and (min-width: 640px) {
  .product-grid.grid--col-1 .grid__item {
    width: calc(50% - var(--horizontal-gap) * 1 / 2);
  }
}
@media screen and (min-width: 990px) {
  .product-grid.grid--lg-col-2 .grid__item,
  .product-grid.grid--lg-col-3 .grid__item,
  .product-grid.grid--lg-col-4 .grid__item {
    width: calc(50% - var(--horizontal-gap) * 1 / 2);
    max-width: calc(50% - var(--horizontal-gap) * 1 / 2);
  }
}
@media screen and (min-width: 1024px) {
  .product-grid.grid--lg-col-2 .grid__item {
    width: calc(50% - var(--horizontal-gap) * 1 / 2);
    max-width: calc(50% - var(--horizontal-gap) * 1 / 2);
  }
  .product-grid.grid--lg-col-3 .grid__item {
    width: calc(33.33% - var(--horizontal-gap) * 2 / 3);
    max-width: calc(33.33% - var(--horizontal-gap) * 2 / 3);
  }
  .product-grid.grid--lg-col-4 .grid__item {
    width: calc(25% - var(--horizontal-gap) * 3 / 4);
    max-width: calc(25% - var(--horizontal-gap) * 3 / 4);
  }
}
.card-wrapper {
  color: inherit;
  height: 100%;
  position: relative;
  text-decoration: none;
}

.card {
  text-decoration: none;
  text-align: var(--text-alignment);
}

.card:not(.ratio) {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card.card--horizontal {
  --text-alignment: left;
  --image-padding: 0rem;
  flex-direction: row;
  align-items: flex-start;
  gap: 1.5rem;
}

.card--horizontal.ratio:before {
  padding-bottom: 0;
}

.card--product .card__inner {
  position: relative;
  box-sizing: border-box;
  border-radius: var(--border-radius);
  border: var(--border-width) solid rgba(var(--color-foreground), var(--border-opacity));
}

.card--product .card__inner:after {
  content: "";
  position: absolute;
  z-index: -1;
  width: calc(var(--border-width) * 2 + 100%);
  height: calc(var(--border-width) * 2 + 100%);
  top: calc(var(--border-width) * -1);
  left: calc(var(--border-width) * -1);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) var(--shadow-blur-radius) rgba(var(--color-shadow), var(--shadow-opacity));
}

/* Needed for gradient continuity with or without animation, the transform scopes the gradient to its container which happens already when animation are turned on */
.card__inner.gradient {
  transform: perspective(0);
}

/* Needed for gradient continuity with or without animation so that transparent PNG images come up as we would expect */
.card__inner.color-background-1 {
  background: transparent;
}

.card .card__inner .card__media {
  overflow: hidden;
  /* Fix for Safari border bug on hover */
  z-index: 0;
  border-radius: calc(var(--border-radius) - var(--border-width) - var(--image-padding));
}

.card--product.card--text {
  background-color: transparent;
}

.card-information {
  text-align: var(--text-alignment);
}

.card__media,
.card .media {
  bottom: 0;
  position: absolute;
  top: 0;
}

.card .media {
  width: 100%;
}

.card__media {
  margin: var(--image-padding);
  width: calc(100% - 2 * var(--image-padding));
}

.card--standard .card__media {
  margin: var(--image-padding);
}

.card__inner {
  width: 100%;
}

.card--media .card__inner .card__content {
  position: relative;
  padding: calc(var(--image-padding) + 1rem);
}

.card__content {
  width: 100%;
  display: block;
  margin-top: 1.3rem;
}

@media screen and (min-width: 750px) {
  .card__content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.cart-drawer__collection .card__content {
  align-items: flex-end;
}

.card__badge {
  margin: 1.2rem;
}

@media screen and (min-width: 990px) {
  .product .card__badge {
    margin: 3rem;
  }
}
.card__badge.top {
  top: 0;
}

.card__badge.bottom {
  bottom: 0;
}

.card__badge.right {
  right: 0;
}

.card:not(.card--horizontal) > .card__content > .card__badge {
  margin: 1.3rem;
}

.card__media .media img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
}

.card__inner:not(.ratio) > .card__content {
  height: 100%;
}

.card__heading {
  font-family: var(--font-heading-family);
  font-size: 1.4rem;
}

.card__information {
  line-height: 2.4rem;
}

.card--horizontal .card-information > *:not(.visually-hidden:first-child) + *:not(.rating):not(.card__information-volume-pricing-note) {
  margin-top: 0;
}

.card--horizontal__quick-add:before {
  box-shadow: none;
}

.card--product.card--text a::after {
  bottom: calc(var(--border-width) * -1);
  left: calc(var(--border-width) * -1);
  right: calc(var(--border-width) * -1);
  top: calc(var(--border-width) * -1);
}

.card__heading a::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.card__heading a:after {
  outline-offset: 0.3rem;
}

.card__heading a:focus:after {
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
}

.card__heading a:focus-visible:after {
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
}

.card__heading a:focus:not(:focus-visible):after {
  box-shadow: none;
  outline: 0;
}

.card__heading a:focus {
  box-shadow: none;
  outline: 0;
}

@media screen and (min-width: 990px) {
  .card .media.media--hover-effect > img:only-child,
  .card-wrapper .media.media--hover-effect > img:only-child {
    transition: transform var(--duration-long) ease;
  }
  .card:hover .media.media--hover-effect > img:first-child:only-child,
  .card-wrapper:hover .media.media--hover-effect > img:first-child:only-child {
    transform: scale(1.03);
  }
  .card-wrapper:hover .media.media--hover-effect > img:first-child:not(:only-child) {
    opacity: 0;
  }
  .card-wrapper:hover .media.media--hover-effect > img + img {
    opacity: 1;
    transition: transform var(--duration-long) ease;
    transform: scale(1.03);
  }
  .underline-links-hover:hover a {
    text-decoration: underline;
    text-underline-offset: 0.3rem;
  }
}
.card--standard:not(.card--horizontal) .placeholder-svg {
  height: auto;
  width: 100%;
}

.card--horizontal .card__badge,
.card--horizontal.card--text .card__inner {
  display: none;
}

.card--extend-height {
  height: 100%;
}

.card--extend-height.card--standard.card--text,
.card--extend-height.card--media {
  display: flex;
  flex-direction: column;
}

.card--extend-height.card--standard.card--text .card__inner,
.card--extend-height.card--media .card__inner {
  flex-grow: 1;
}

.card .icon-wrap {
  margin-left: 0.8rem;
  white-space: nowrap;
  transition: transform var(--duration-short) ease;
  overflow: hidden;
}

.card-information {
  width: 100%;
}

.card-information > * {
  line-height: calc(1 + 0.4 / var(--font-body-scale));
  color: rgb(var(--color-foreground));
}

.card-information > .price {
  color: rgb(var(--color-foreground));
  font-size: 1.4rem;
}

.card--horizontal .card-information > .price {
  color: rgba(var(--color-foreground), 1);
}

.card-information > .rating {
  margin-top: 0.4rem;
}

.card-article-info {
  margin-top: 1rem;
}

.card-information svg.loox-icon {
  width: 0.8em;
  height: 0.8em;
}

.card-information .loox-rating-label {
  font-size: 1.2rem;
  padding-top: 2px;
}

/* Section image banner */
.banner {
  display: flex;
  position: relative;
  flex-direction: column;
}

.banner__box {
  text-align: center;
}

/* Needed for gradient continuity with or without animation, the transform scopes the gradient to its container which happens already when animation are turned on */
.banner__box.gradient {
  transform: perspective(0);
}

@media only screen and (max-width: 749px) {
  .banner--content-align-mobile-right .banner__box {
    text-align: right;
  }
  .banner--content-align-mobile-left .banner__box {
    text-align: left;
  }
}
@media only screen and (min-width: 750px) {
  .banner--content-align-right .banner__box {
    text-align: right;
  }
  .banner--content-align-left .banner__box {
    text-align: left;
  }
  .banner--content-align-left.banner--desktop-transparent .banner__box,
  .banner--content-align-right.banner--desktop-transparent .banner__box,
  .banner--medium.banner--desktop-transparent .banner__box {
    max-width: 68rem;
  }
  .banner--content-align-left.banner--desktop-transparent .banner__box.content-container--narrow-width-desktop,
  .banner--content-align-right.banner--desktop-transparent .banner__box.content-container--narrow-width-desktop,
  .banner--medium.banner--desktop-transparent .banner__box.content-container--narrow-width-desktop {
    max-width: 40rem;
  }
}
.banner__media.animate--zoom-in {
  -webkit-clip-path: inset(0px);
          clip-path: inset(0px);
}

.banner__media.animate--zoom-in > img:not(.zoom):not(.deferred-media__poster-button),
.banner__media.animate--zoom-in > svg:not(.zoom):not(.deferred-media__poster-button) {
  position: fixed;
  height: 100vh;
}

@media screen and (max-width: 749px) {
  .banner--small.banner--mobile-bottom:not(.banner--adapt) .banner__media,
  .banner--small.banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt) > .banner__media {
    height: 28rem;
  }
  .banner--medium.banner--mobile-bottom:not(.banner--adapt) .banner__media,
  .banner--medium.banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt) > .banner__media {
    height: 34rem;
  }
  .banner--large.banner--mobile-bottom:not(.banner--adapt) .banner__media,
  .banner--large.banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt) > .banner__media {
    height: 39rem;
  }
  .banner--small:not(.banner--mobile-bottom):not(.banner--adapt) .banner__content {
    min-height: 28rem;
  }
  .banner--medium:not(.banner--mobile-bottom):not(.banner--adapt) .banner__content {
    min-height: 34rem;
  }
  .banner--large:not(.banner--mobile-bottom):not(.banner--adapt) .banner__content {
    min-height: 39rem;
  }
  .collection-hero.banner--small:not(.banner--mobile-bottom):not(.banner--adapt) .banner__content {
    min-height: 24rem;
  }
}
.banner--xlarge:not(.banner--adapt) {
  min-height: calc(100vh - 120px);
}

@media screen and (max-width: 749px) {
  .banner--xlarge .banner__box {
    padding: 3rem 1rem;
    max-width: 90%;
  }
}
@media screen and (min-width: 750px) {
  .banner {
    flex-direction: row;
  }
  .banner--small:not(.banner--adapt) {
    min-height: 42rem;
  }
  .banner--medium:not(.banner--adapt) {
    min-height: 56rem;
  }
  .banner--large:not(.banner--adapt) {
    min-height: 72rem;
  }
  .collection-hero.banner--small:not(.banner--adapt) {
    min-height: 30rem;
  }
  .collection-hero.banner--medium:not(.banner--adapt) {
    min-height: 42rem;
  }
  .collection-hero.banner--large:not(.banner--adapt) {
    min-height: 56rem;
  }
  .banner__content.banner__content--top-left {
    align-items: flex-start;
    justify-content: flex-start;
  }
  .banner__content.banner__content--top-center {
    align-items: flex-start;
    justify-content: center;
  }
  .banner__content.banner__content--top-right {
    align-items: flex-start;
    justify-content: flex-end;
  }
  .banner__content.banner__content--middle-left {
    align-items: center;
    justify-content: flex-start;
  }
  .banner__content.banner__content--middle-center {
    align-items: center;
    justify-content: center;
  }
  .banner__content.banner__content--middle-right {
    align-items: center;
    justify-content: flex-end;
  }
  .banner__content.banner__content--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
  }
  .banner__content.banner__content--bottom-center {
    align-items: flex-end;
    justify-content: center;
  }
  .banner__content.banner__content--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
  }
}
@media screen and (max-width: 749px) {
  .banner:not(.banner--stacked) {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .banner--stacked {
    height: auto;
  }
  .banner--stacked .banner__media {
    flex-direction: column;
  }
}
.banner__media {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}

.banner__media-half {
  width: 50%;
}

.banner__media-half + .banner__media-half {
  right: 0;
  left: auto;
}

.banner__media-half.animate--fixed:first-child > img,
.banner__media-half.animate--zoom-in:first-child > img {
  width: 50%;
}

.banner__media-half.animate--fixed:nth-child(2) > img,
.banner__media-half.animate--zoom-in:nth-child(2) > img {
  left: 50%;
  width: 50%;
}

@media screen and (max-width: 749px) {
  .banner--stacked .animate--fixed:first-child > img,
  .banner--stacked .animate--zoom-in:first-child > img {
    width: 100%;
  }
  .banner--stacked .banner__media-half.animate--fixed:nth-child(2) > img,
  .banner--stacked .banner__media-half.animate--zoom-in:nth-child(2) > img {
    left: 0;
    width: 100%;
  }
  .banner--stacked .banner__media-half {
    width: 100%;
  }
  .banner--stacked .banner__media-half + .banner__media-half {
    order: 1;
  }
}
@media screen and (min-width: 750px) {
  .banner__media {
    height: 100%;
  }
}
.banner--adapt,
.banner--adapt_image.banner--mobile-bottom .banner__media:not(.placeholder) {
  height: auto;
}

@media screen and (max-width: 749px) {
  .banner--mobile-bottom .banner__media,
  .banner--stacked:not(.banner--mobile-bottom) .banner__media {
    position: relative;
  }
  .banner--stacked.banner--adapt .banner__content {
    height: auto;
  }
  .banner:not(.banner--mobile-bottom):not(.email-signup-banner) .banner__box {
    background: transparent;
  }
  .banner:not(.banner--mobile-bottom) .banner__box {
    border: none;
    border-radius: 0;
    box-shadow: none;
  }
  .banner:not(.banner--mobile-bottom) .button--secondary {
    --alpha-button-background: 0;
  }
  .banner--stacked:not(.banner--mobile-bottom):not(.banner--adapt) .banner__content {
    position: absolute;
    height: auto;
  }
  .banner--stacked.banner--adapt:not(.banner--mobile-bottom) .banner__content {
    max-height: 100%;
    overflow: hidden;
    position: absolute;
  }
  .banner--stacked:not(.banner--adapt) .banner__media {
    position: relative;
  }
  .banner::before {
    display: none !important;
  }
  .banner--stacked .banner__media-image-half {
    width: 100%;
  }
}
.banner__content {
  padding: 0;
  display: flex;
  position: relative;
  width: 100%;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

@media screen and (min-width: 750px) {
  .banner__content {
    padding: 5rem;
  }
  .collection-hero .banner__content {
    padding: 0;
  }
  .banner__content--top-left {
    align-items: flex-start;
    justify-content: flex-start;
  }
  .banner__content--top-center {
    align-items: flex-start;
    justify-content: center;
  }
  .banner__content--top-right {
    align-items: flex-start;
    justify-content: flex-end;
  }
  .banner__content--middle-left {
    align-items: center;
    justify-content: flex-start;
  }
  .banner__content--middle-center {
    align-items: center;
    justify-content: center;
  }
  .banner__content--middle-right {
    align-items: center;
    justify-content: flex-end;
  }
  .banner__content--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
  }
  .banner__content--bottom-center {
    align-items: flex-end;
    justify-content: center;
  }
  .banner__content--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
  }
}
@media screen and (max-width: 749px) {
  .banner--mobile-bottom:not(.banner--stacked) .banner__content {
    order: 2;
  }
  .banner:not(.banner--mobile-bottom) .field__input,
  .banner--mobile-bottom:not(.banner--stacked) .banner__box.color-background-1 {
    background: transparent;
  }
}
.banner__box {
  padding: 4rem 3.5rem;
  position: relative;
  height: -moz-fit-content;
  height: fit-content;
  align-items: center;
  text-align: center;
  width: 100%;
  word-wrap: break-word;
  z-index: 1;
}

@media screen and (min-width: 750px) {
  .banner--desktop-transparent .banner__box {
    background: transparent;
    max-width: 89rem;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }
  .banner--desktop-transparent .button--secondary {
    --alpha-button-background: 0;
  }
  .banner--desktop-transparent .content-container:after {
    display: none;
  }
}
@media screen and (max-width: 749px) {
  .banner--mobile-bottom::after,
  .banner--mobile-bottom .banner__media::after {
    display: none;
  }
}
.banner::after,
.banner__media::after {
  content: "";
  position: absolute;
  top: 0;
  background: #000000;
  opacity: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.banner__box > * + .banner__text {
  margin-top: 1.5rem;
}

@media screen and (min-width: 750px) {
  .banner__box > * + .banner__text {
    margin-top: 2rem;
  }
}
.banner__box > * + * {
  margin-top: 1rem;
}

.banner__box > *:first-child {
  margin-top: 0;
}

@media screen and (max-width: 749px) {
  .banner--stacked .banner__box {
    width: 100%;
  }
}
@media screen and (min-width: 750px) {
  .banner__box {
    width: auto;
    max-width: 71rem;
    min-width: 45rem;
  }
}
@media screen and (min-width: 1400px) {
  .banner__box {
    max-width: 90rem;
  }
}
.banner__heading {
  margin-bottom: 0;
}

.banner__box .banner__heading + * {
  margin-top: 1rem;
}

.banner__buttons {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 1rem;
  max-width: 45rem;
  word-break: break-word;
}

@media screen and (max-width: 749px) {
  .banner--content-align-mobile-right .banner__buttons--multiple {
    justify-content: flex-end;
  }
  .banner--content-align-mobile-center .banner__buttons--multiple > * {
    flex-grow: 1;
    min-width: 22rem;
  }
}
@media screen and (min-width: 750px) {
  .banner--content-align-center .banner__buttons--multiple > * {
    flex-grow: 1;
    min-width: 22rem;
  }
  .banner--content-align-right .banner__buttons--multiple {
    justify-content: flex-end;
  }
}
.banner__box > * + .banner__buttons {
  margin-top: 2rem;
}

@media screen and (max-width: 749px) {
  .banner:not(.slideshow) .rte a,
  .banner:not(.slideshow) .inline-richtext a:hover,
  .banner:not(.slideshow) .rte a:hover {
    color: currentColor;
  }
}
@media screen and (min-width: 750px) {
  .banner--desktop-transparent .rte a,
  .banner--desktop-transparent .inline-richtext a:hover,
  .banner--desktop-transparent .rte a:hover {
    color: currentColor;
  }
}
.image-with-text .grid {
  margin-bottom: 0;
}

.image-with-text .grid__item {
  position: relative;
}

@media screen and (min-width: 750px) {
  .image-with-text__grid--reverse .image-with-text__media-item {
    order: 1;
  }
}
.image-with-text__media {
  min-height: 100%;
  overflow: visible;
}

.zeta-text-on-image .image-with-text__media--small,
.zeta-text-on-image .image-with-text__media--medium,
.zeta-text-on-image .image-with-text__media--large {
  height: 64rem;
}

.image-with-text__media--small,
.image-with-text__media--medium,
.image-with-text__media--large {
  height: 100vw;
  max-height: 64rem;
}

@media screen and (min-width: 768px) {
  .image-with-text__media--small,
  .zeta-text-on-image .image-with-text__media--small {
    height: 30vw;
  }
  .image-with-text__media--medium,
  .zeta-text-on-image .image-with-text__media--medium {
    height: 45vw;
  }
  .image-with-text__media--large,
  .zeta-text-on-image .image-with-text__media--large {
    height: 57vw;
    max-height: 75.9rem;
  }
}
.image-with-text__media--placeholder {
  position: relative;
  overflow: hidden;
}

.image-with-text__media--placeholder:after {
  content: "";
  position: absolute;
  background: rgba(var(--color-foreground), 0.04);
}

.image-with-text__media--placeholder.image-with-text__media--adapt {
  height: 20rem;
}

@media screen and (min-width: 750px) {
  .image-with-text__media--placeholder.image-with-text__media--adapt {
    height: 30rem;
  }
}
.image-with-text__media--placeholder > svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.image-with-text__media--placeholder:is(.animate--ambient, .animate--zoom-in) > svg {
  top: 0;
  left: 0;
  transform: translate(0);
}

.image-with-text__content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  align-self: center;
  padding: 4rem calc(4rem / var(--font-body-scale)) 5rem;
  position: relative;
  z-index: 1;
}

.image-with-text .grid__item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.image-with-text:not(.image-with-text--overlap) .image-with-text__media-item:after {
  border-radius: var(--media-radius);
  box-shadow: var(--media-shadow-horizontal-offset) var(--media-shadow-vertical-offset) var(--media-shadow-blur-radius) rgba(var(--color-shadow), var(--media-shadow-opacity));
}

.image-with-text:not(.image-with-text--overlap) .image-with-text__text-item:after {
  border-radius: var(--text-boxes-radius);
  box-shadow: var(--text-boxes-shadow-horizontal-offset) var(--text-boxes-shadow-vertical-offset) var(--text-boxes-shadow-blur-radius) rgba(var(--color-shadow), var(--text-boxes-shadow-opacity));
}

.image-with-text .image-with-text__media-item > * {
  border-radius: var(--media-radius);
  overflow: hidden;
  box-shadow: var(--media-shadow-horizontal-offset) var(--media-shadow-vertical-offset) var(--media-shadow-blur-radius) rgba(var(--color-shadow), var(--media-shadow-opacity));
}

.image-with-text .global-media-settings {
  overflow: hidden !important;
}

.image-with-text .image-with-text__text-item > * {
  border-radius: var(--text-boxes-radius);
  overflow: hidden;
  box-shadow: var(--text-boxes-shadow-horizontal-offset) var(--text-boxes-shadow-vertical-offset) var(--text-boxes-shadow-blur-radius) rgba(var(--color-shadow), var(--text-boxes-shadow-opacity));
}

.image-with-text:not(.image-with-text--overlap) .image-with-text__media-item > *,
.image-with-text:not(.image-with-text--overlap) .image-with-text__text-item > * {
  box-shadow: none;
}

@media screen and (max-width: 749px) {
  .image-with-text.collapse-corners:not(.image-with-text--overlap) .image-with-text__media-item:after,
  .image-with-text.collapse-corners:not(.image-with-text--overlap) .grid__item .image-with-text__media,
  .image-with-text.collapse-corners:not(.image-with-text--overlap) .image-with-text__media img,
  .image-with-text.collapse-corners:not(.image-with-text--overlap) .image-with-text__media .placeholder-svg {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
  .image-with-text.collapse-corners:not(.image-with-text--overlap) .image-with-text__text-item:after,
  .image-with-text.collapse-corners:not(.image-with-text--overlap) .grid__item .image-with-text__content {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  .image-with-text.collapse-borders:not(.image-with-text--overlap) .image-with-text__content {
    border-top: 0;
  }
}
.image-with-text__content--mobile-right > * {
  align-self: flex-end;
  text-align: right;
}

.image-with-text__content--mobile-center > * {
  align-self: center;
  text-align: center;
}

.image-with-text--overlap .image-with-text__content {
  width: 90%;
  margin: -3rem auto 0;
}

.image-with-text__content--bottom {
  justify-content: flex-end;
  align-self: flex-end;
}

.image-with-text__content--top {
  justify-content: flex-start;
  align-self: flex-start;
}

@media screen and (min-width: 750px) {
  .image-with-text__grid--reverse .image-with-text__content {
    margin-left: auto;
  }
  .image-with-text__content--desktop-right > * {
    align-self: flex-end;
    text-align: right;
  }
  .image-with-text__content--desktop-left > * {
    align-self: flex-start;
    text-align: left;
  }
  .image-with-text__content--desktop-center > * {
    align-self: center;
    text-align: center;
  }
  .image-with-text__content--desktop-narrow {
    max-width: max(75%, 40rem);
    margin: 0 auto;
  }
  /*
    .image-with-text--overlap .image-with-text__text-item {
      display: flex;
      padding: 3rem 0;
    }

    .image-with-text--overlap .image-with-text__content {
      height: auto;
      width: calc(100% + 4rem);
      min-width: calc(100% + 4rem);
      margin-top: 0;
      margin-left: -4rem;
    }

    .image-with-text--overlap .image-with-text__grid--reverse .image-with-text__content {
      margin-left: 0;
      margin-right: -4rem;
    }

    .image-with-text--overlap .image-with-text__grid--reverse .image-with-text__text-item {
      justify-content: flex-end;
    }

    .image-with-text--overlap .image-with-text__media-item--top {
      align-self: flex-start;
    }

    .image-with-text--overlap .image-with-text__media-item--middle {
      align-self: center;
    }

    .image-with-text--overlap .image-with-text__media-item--bottom {
      align-self: flex-end;
    }
    */
  .image-with-text__media-item--small,
  .image-with-text__media-item--large + .image-with-text__text-item {
    flex-grow: 0;
  }
  /*
    .image-with-text.collapse-borders:not(.image-with-text--overlap)
      .grid:not(.image-with-text__grid--reverse)
      .image-with-text__content {
      border-left: 0;
    }

    .image-with-text.collapse-borders:not(.image-with-text--overlap)
      .image-with-text__grid--reverse
      .image-with-text__content {
      border-right: 0;
    }*/
}
.image-with-text:not(.collapse-corners, .image-with-text--overlap) .image-with-text__media-item {
  z-index: 2;
}

/* Needed for gradient continuity with or without animation so that transparent PNG images come up as we would expect */
.image-with-text.image-with-text--overlap .backround-transparent,
.image-with-text:not(.image-with-text--overlap) .background-transparent {
  background: transparent;
}

/* Needed for gradient continuity with or without animation, the transform scopes the gradient to its container which happens already when animation are turned on */
.image-with-text .gradient {
  transform: perspective(0);
}

.image-with-text__content {
  border-radius: var(--text-boxes-radius);
  box-shadow: var(--text-boxes-shadow-horizontal-offset) var(--text-boxes-shadow-vertical-offset) var(--text-boxes-shadow-blur-radius) rgba(var(--color-shadow), var(--text-boxes-shadow-opacity));
  word-break: break-word;
}

@media screen and (min-width: 990px) {
  .image-with-text__content {
    padding: 6rem 7rem 7rem;
  }
}
.image-with-text__content > * + * {
  margin-top: 2rem;
}

.image-with-text__content > .image-with-text__text:empty ~ a {
  margin-top: 2rem;
}

.image-with-text__content > :first-child:is(.image-with-text__heading),
.image-with-text__text--caption + .image-with-text__heading,
.image-with-text__text--caption:first-child {
  margin-top: 0;
}

.image-with-text__content :last-child:is(.image-with-text__heading),
.image-with-text__text--caption {
  margin-bottom: 2rem;
}

.image-with-text__content .button + .image-with-text__text {
  margin-top: 2rem;
}

.image-with-text__content .image-with-text__text + .button {
  margin-top: 3rem;
}

.image-with-text__heading {
  margin-bottom: 0;
}

.image-with-text__text p {
  margin-top: 0;
  margin-bottom: 1rem;
}

.image-with-text__list ol {
  list-style: outside;
  list-style-type: decimal;
  padding-left: 1.6rem;
}
.image-with-text__list ol li {
  position: relative;
  padding: 1rem 0;
}
.image-with-text__list ol li::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: -1.6rem;
  background-color: rgba(var(--color-foreground), 0.25);
  height: 1px;
  width: calc(100% + 1.5rem);
}
.image-with-text__list ul {
  list-style-type: disc;
}

@media screen and (max-width: 749px) {
  .collapse-padding .image-with-text__grid .image-with-text__content {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 750px) {
  .collapse-padding .image-with-text__grid:not(.image-with-text__grid--reverse) .image-with-text__content:not(.image-with-text__content--desktop-center) {
    padding-right: 0;
  }
  .collapse-padding .image-with-text__grid--reverse .image-with-text__content:not(.image-with-text__content--desktop-center) {
    padding-left: 0;
  }
}
/* check for flexbox gap in older Safari versions */
@supports not (inset: 10px) {
  .image-with-text .grid {
    margin-left: 0;
  }
}
.looping-tabs--vertical {
      text-align: center;
}

.looping-tabs--vertical .looping-tabs__images {
      margin-left: auto;
      margin-right: auto;
      max-width: 56rem;
}

.looping-tabs--vertical .tab-features__controls-list {
  display: inline-flex;
  justify-content: center;
}

.looping-tabs--horizontal {
      gap: 1.5rem;
}

@media (min-width: 1024px) {
      .looping-tabs--horizontal {
            display: flex;
      }
}

.looping-tabs--horizontal .looping-tabs__images {
      width: 100%;
}

@media (min-width: 1024px) {
      .looping-tabs--horizontal .looping-tabs__images {
            width: 50%;
      }
}

.looping-tabs--horizontal .looping-tabs__tabs {
      margin-top: 1rem;
      width: 100%;
      padding-left: 1.5rem;
      padding-right: 1.5rem;
}

@media (min-width: 1024px) {
      .looping-tabs--horizontal .looping-tabs__tabs {
            margin-top: 0px;
            width: 50%;
            padding-left: 7rem;
      }
}

.image-with-text__grid--2 {
      display: grid;
}

.image-with-text .image-with-text__grid--2 {
  margin-bottom: 0;
}

@supports not (inset: 10px) {
  .image-with-text .image-with-text__grid--2 {
    margin-left: 0;
  }
}

.collections-banner.image-with-text__grid--2 {
  grid-template-columns: 55% 45%;
}

@media (min-width: 768px) {
      .image-with-text__grid--2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
      }
}

.image-with-text__grid--3 {
      display: grid;
}

.image-with-text .image-with-text__grid--3 {
  margin-bottom: 0;
}

@supports not (inset: 10px) {
  .image-with-text .image-with-text__grid--3 {
    margin-left: 0;
  }
}

.collections-banner.image-with-text__grid--3 {
  grid-template-columns: 55% 45%;
}

@media (min-width: 768px) {
      .image-with-text__grid--3 {
            grid-template-columns: repeat(3, minmax(0, 1fr));
      }
}

@media (max-width: 1023px) {
  .collection-list__wrapper {
    display: flex;
    height: -moz-fit-content;
    height: fit-content;
    grid-column-gap: 1rem;
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .collection-list__wrapper::-webkit-scrollbar {
    display: none;
    -webkit-overflow-scrolling: touch;
  }
  .collections-banner__wrapper {
    width: 25%;
    min-width: 250px;
    margin: 1rem 0;
  }
  .collections-banner__wrapper:last-of-type {
    margin-right: 1.5rem;
  }
}
.collection-list__wrapper--scrollable {
  display: flex;
  height: -moz-fit-content;
  height: fit-content;
  grid-column-gap: 1.6rem;
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.collection-list__wrapper--scrollable::-webkit-scrollbar {
  display: none;
  -webkit-overflow-scrolling: touch;
}

.collection-list__wrapper--scrollable .collections-banner__wrapper {
  min-width: 220px;
  margin: 1rem 0;
}

.collection-list__wrapper--scrollable .collections-banner__wrapper:last-of-type {
  margin-right: 1.6rem;
}

@media (min-width: 990px) {
  .collection-list__wrapper--scrollable .collections-banner__wrapper {
    min-width: 23%;
    max-width: 300px;
  }
  .collection-list__wrapper--scrollable .collections-banner__wrapper:last-of-type {
    margin-right: 0;
  }
}
@media screen and (max-width: 749px) {
  .collection .grid__item:only-child {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 989px) {
  .collection .slider.slider--tablet {
    margin-bottom: 1.5rem;
  }
}
.collection .loading-overlay {
  position: absolute;
  z-index: 1;
  width: 1.8rem;
}

@media screen and (max-width: 749px) {
  .collection .loading-overlay {
    top: 0;
    right: 0;
  }
}
@media screen and (min-width: 750px) {
  .collection .loading-overlay {
    left: 0;
  }
}
.collection .loading-overlay {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  width: 100%;
  padding: 0 1.5rem;
  opacity: 0.7;
}

@media screen and (min-width: 750px) {
  .collection .loading-overlay {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
.collection.loading .loading-overlay {
  display: block;
}

.collection--empty .title-wrapper {
  margin-top: 10rem;
  margin-bottom: 15rem;
}

@media screen and (max-width: 989px) {
  .collection .slider--tablet.product-grid {
    scroll-padding-left: 1.5rem;
  }
}
.collection__description > * {
  margin: 0;
}

.collection__title.title-wrapper {
  margin-bottom: 2.5rem;
  min-height: 44px;
  display: flex;
  align-items: center;
}

.collection__title .title:not(:only-child) {
  margin-bottom: 0;
}

@media screen and (min-width: 990px) {
  .collection__title--desktop-slider .title {
    margin-bottom: 2.5rem;
  }
  .collection slider-component:not(.page-width-desktop) {
    padding: 0;
  }
  .collection--full-width slider-component:not(.slider-component-desktop) {
    padding: 0 1.5rem;
    max-width: none;
  }
}
.collection__view-all a:not(.link) {
  margin-top: 1rem;
}

.complementary-products__block {
  border-bottom: 1px solid rgb(var(--color-foreground), 0.25);
}

.complementary-products__accessory {
  padding: 0 2rem;
}

.complementary-products__collection .card__content {
  display: block;
}
.complementary-products__collection .card__information {
  margin-bottom: 0.8rem;
}

.complementary-products__accessory-link {
  padding-bottom: 4rem;
}

@media (min-width: 768px) {
  .complementary-products {
    border-bottom: 1px solid rgb(var(--color-foreground), 0.25);
  }
  .complementary-products__wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .complementary-products__block {
    border-bottom: none;
  }
  .complementary-products__accessory {
    padding: 0 4rem 0 0;
    border-right: 1px solid rgb(var(--color-foreground), 0.25);
  }
  .complementary-products__collection {
    padding-left: 4rem;
  }
}
@media (min-width: 1024px) {
  .complementary-products__accessory-infos {
    width: 100%;
    height: 0;
    padding-bottom: 100%;
  }
  .complementary-products__accessory-link {
    position: absolute;
    bottom: 0;
    z-index: 10;
  }
}
summary .faq__arrow .icon--circle-plus,
summary .faq__arrow .icon--circle-minus {
  position: absolute;
  height: 3rem;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
}

.faq__details summary .faq__arrow .icon--circle-plus,
.faq__details[open] summary .faq__arrow .icon--circle-minus {
  opacity: 1;
}

.faq__details summary .faq__arrow .icon--circle-minus,
.faq__details[open] summary .faq__arrow .icon--circle-plus {
  opacity: 0;
}

.sidenav__link.sidenav__link--selected {
  font-family: var(--font-heading-family);
  text-decoration: underline;
  text-underline-offset: 0.5rem;
}

.accordion__content ul {
  list-style: disc;
  margin-left: 1.2rem;
}
.accordion__content p + ul,
.accordion__content ul + p,
.accordion__content p + p,
.accordion__content p {
  margin-bottom: 0.8rem;
}

mcp-sidenav .selected__wrapper {
  background-color: #fff;
  border: 1px solid rgb(var(--color-foreground), 0.25);
  height: 60px;
  order: 0;
  padding: 0 1.5rem;
  width: calc(100% + 3rem);
  margin-left: -1.5rem;
}
mcp-sidenav .selected__link {
  position: relative;
}
mcp-sidenav .sidenav__container {
  background-color: #fff;
}
@media screen and (max-width: 750px) {
  mcp-sidenav .sidenav__list {
    border: 1px solid rgb(var(--color-foreground), 0.25);
    border-top: none;
    background: rgb(var(--color-background));
    padding: 0 1.5rem;
    order: 1;
    overflow: hidden;
    position: absolute;
    top: 60px;
    transition: all 0.4s;
    width: calc(100% + 3rem);
    margin-left: -1.5rem;
    max-height: 0;
    opacity: 0;
  }
  mcp-sidenav .sidenav__list.dropdown--expanded {
    max-height: 180px;
    opacity: 1;
    overflow-y: scroll;
  }
}

.accordion summary {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.accordion__title {
  display: inline-block;
  margin: 0;
  max-width: calc(100% - 3rem);
  min-height: 1.6rem;
  word-break: break-word;
}

.cart-content__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.cart-content__overlay:empty {
  display: block;
}

.content-drawer .drawer__inner {
  padding: 0 1rem;
}

.drawer__page {
  overflow: auto;
  flex: 1;
}

.drawer__page-inner {
  padding: 0 3rem 4rem;
}

.drawer__page h4 {
  font-family: var(--font-heading-family);
  margin-bottom: 1.6rem;
}
.drawer__page p {
  margin-bottom: 1.2rem;
}
.drawer__page p ~ h4 {
  margin-top: 2rem;
}
.drawer__page .flex {
  overflow-y: scroll;
  padding-bottom: 1rem;
}
.drawer__page .flex::-webkit-scrollbar {
  display: none;
}
.drawer__page .flex p {
  font-size: 1.2rem;
  margin-bottom: 0;
}
.drawer__page .flex > div {
  min-width: 44%;
  text-align: center;
}

.drawer__page table {
  font-family: var(--font-heading-family);
  box-shadow: none !important;
}
.drawer__page table tr {
  border-right: 0.1rem solid transparent;
}
.drawer__page table td {
  padding: 0.5em 1em !important;
  border-right: 0.1rem solid transparent !important;
}

body.overflow-hidden-mobile #dummy-chat-button-iframe {
  display: none;
}

slider-component {
  --desktop-margin-left-first-item: max(1.5rem, calc((100vw - var(--page-width)) / 2 + 1.5rem));
  position: relative;
  display: block;
}

slider-component.slider-component-full-width {
  --desktop-margin-left-first-item: 1.5rem;
}

@media screen and (max-width: 749px) {
  slider-component.page-width {
    padding: 0 1.5rem;
  }
}
@media screen and (min-width: 749px) and (max-width: 990px) {
  slider-component.page-width {
    padding: 0 5rem;
  }
}
@media screen and (max-width: 989px) {
  .no-js slider-component .slider {
    padding-bottom: 3rem;
  }
}
.slider__slide {
  --focus-outline-padding: 0.5rem;
  --shadow-padding-top: calc((var(--shadow-vertical-offset) * -1 + var(--shadow-blur-radius)) * var(--shadow-visible));
  --shadow-padding-bottom: calc((var(--shadow-vertical-offset) + var(--shadow-blur-radius)) * var(--shadow-visible));
  scroll-snap-align: start;
  flex-shrink: 0;
  padding-bottom: 0;
}

.slider__slide[aria-hidden=true] {
  visibility: hidden;
}

@media screen and (max-width: 749px) {
  .slider.slider--mobile {
    --gap: 1.6rem;
    position: relative;
    flex-wrap: inherit;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scroll-padding-left: 1.5rem;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1rem;
    gap: var(--gap);
  }
  /* Fix to show some space at the end of our sliders in all browsers */
  .slider--mobile:after {
    content: "";
    width: 0;
    padding-left: 1.5rem;
  }
  .slider.slider--mobile .slider__slide {
    margin-bottom: 0;
    padding-top: max(var(--focus-outline-padding), var(--shadow-padding-top));
    padding-bottom: max(var(--focus-outline-padding), var(--shadow-padding-bottom));
  }
  .slider.slider--mobile.contains-card--standard .slider__slide:not(.collection-list__item--no-media) {
    padding-bottom: var(--focus-outline-padding);
  }
  .slider.slider--mobile.contains-content-container .slider__slide {
    --focus-outline-padding: 0rem;
  }
}
.grid--2-col-desktop .grid__item,
.grid--3-col-desktop .grid__item,
.grid--5-col-desktop .grid__item {
  --gap: 1.6rem;
  width: calc(80% - var(--gap) + var(--gap) / 1.25);
}

@media screen and (max-width: 750px) {
  .grid--peek.slider .grid__item:first-of-type {
    margin-left: 2rem;
  }
}
@media screen and (min-width: 750px) {
  .slider.slider--tablet-up {
    --gap: 1.6rem;
    position: relative;
    flex-wrap: inherit;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scroll-padding-left: 1rem;
    -webkit-overflow-scrolling: touch;
    gap: var(--gap);
  }
  .grid--3-col-desktop .grid__item {
    --gap: 4rem;
    width: calc(33.33% - var(--gap) + var(--gap) / 3);
  }
  .grid--4-col-desktop .grid__item {
    --gap: 4rem;
    width: calc(25% - var(--gap) + var(--gap) / 4);
  }
  .slider.slider--tablet-up .slider__slide {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 989px) {
  .slider.slider--tablet {
    position: relative;
    flex-wrap: inherit;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scroll-padding-left: 1.5rem;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1rem;
  }
  /* Fix to show some space at the end of our sliders in all browsers */
  .slider--tablet:after {
    content: "";
    width: 0;
    /*padding-left: 1.5rem;*/
    margin-left: calc(-1 * var(--grid-desktop-horizontal-spacing));
  }
  .slider.slider--tablet .slider__slide {
    margin-bottom: 0;
    padding-top: max(var(--focus-outline-padding), var(--shadow-padding-top));
    padding-bottom: max(var(--focus-outline-padding), var(--shadow-padding-bottom));
  }
  .slider.slider--tablet.contains-card--standard .slider__slide:not(.collection-list__item--no-media) {
    padding-bottom: var(--focus-outline-padding);
  }
  .slider.slider--tablet.contains-content-container .slider__slide {
    --focus-outline-padding: 0rem;
  }
}
.slider--everywhere {
  position: relative;
  flex-wrap: inherit;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1rem;
}

.slider.slider--everywhere .slider__slide {
  margin-bottom: 0;
  scroll-snap-align: center;
}

@media screen and (min-width: 990px) {
  .slider-component-desktop.page-width {
    max-width: none;
  }
  .slider--desktop {
    position: relative;
    flex-wrap: inherit;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1rem;
  }
  /* Fix to show some space at the end of our sliders in all browsers */
  /*.slider--desktop:after {
    content: '';
    width: 0;
    padding-left: 5rem;
    margin-left: calc(-1 * var(--grid-desktop-horizontal-spacing));
  }*/
  .slider.slider--desktop .slider__slide {
    margin-bottom: 0;
    padding-top: max(var(--focus-outline-padding), var(--shadow-padding-top));
    padding-bottom: max(var(--focus-outline-padding), var(--shadow-padding-bottom));
  }
  /*.slider-component-full-width .slider--desktop {
    scroll-padding-left: 1.5rem;
  }*/
  /*.slider-component-full-width .slider--desktop .slider__slide:first-child {
    margin-left: 1.5rem;
    scroll-margin-left: 1.5rem;
  }*/
  /* Fix to show some space at the end of our sliders in all browsers */
  .slider-component-full-width .slider--desktop:after {
    padding-left: 1.5rem;
  }
  .slider--desktop.grid--5-col-desktop .grid__item {
    width: calc((100% - var(--desktop-margin-left-first-item)) / 5 - var(--grid-desktop-horizontal-spacing) * 2);
  }
  /*.slider--desktop.grid--4-col-desktop .grid__item {
    width: calc((100% - var(--desktop-margin-left-first-item)) / 3 - var(--grid-desktop-horizontal-spacing) * 4);
  }*/
  /*.slider--desktop.grid--3-col-desktop .grid__item {
    width: calc((100% - var(--gap)) / 3 - var(--gap) * 2);
  }*/
  .slider--desktop:not(.complementary-products-slider).grid--2-col-desktop .grid__item {
    width: calc((100% - var(--desktop-margin-left-first-item)) / 2 - var(--grid-desktop-horizontal-spacing) * 5);
  }
  .slider--desktop.grid--1-col-desktop .grid__item {
    width: calc(100% - var(--desktop-margin-left-first-item) - var(--grid-desktop-horizontal-spacing) * 9);
  }
  .slider.slider--desktop.contains-card--standard .slider__slide:not(.collection-list__item--no-media) {
    padding-bottom: var(--focus-outline-padding);
  }
  .slider.slider--desktop.contains-content-container .slider__slide {
    --focus-outline-padding: 0rem;
  }
}
@media (prefers-reduced-motion) {
  .slider {
    scroll-behavior: auto;
  }
}
/* Scrollbar */
.slider {
  scrollbar-color: rgb(var(--color-foreground)) rgba(var(--color-foreground), 0.04);
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.slider::-webkit-scrollbar {
  height: 0.4rem;
  width: 0.4rem;
  display: none;
}

.no-js .slider {
  -ms-overflow-style: auto;
  scrollbar-width: auto;
}

.no-js .slider::-webkit-scrollbar {
  display: initial;
}

.slider::-webkit-scrollbar-thumb {
  background-color: rgb(var(--color-foreground));
  border-radius: 0.4rem;
  border: 0;
}

.slider::-webkit-scrollbar-track {
  background: rgba(var(--color-foreground), 0.04);
  border-radius: 0.4rem;
}

.slider-counter {
  display: flex;
  justify-content: center;
  min-width: 4.4rem;
}

@media screen and (min-width: 750px) {
  .slider-counter--dots {
    margin: 0 1.2rem;
  }
}
.slider-counter__link {
  padding: 1rem;
}

@media screen and (max-width: 749px) {
  .slider-counter__link {
    padding: 0.7rem;
  }
}
.slider-counter__link--dots .dot {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  border: 0.1rem solid rgba(var(--color-foreground), 0.5);
  padding: 0;
  display: block;
}

.slider-counter__link--active.slider-counter__link--dots .dot {
  background-color: rgb(var(--color-foreground));
}

@media screen and (forced-colors: active) {
  .slider-counter__link--active.slider-counter__link--dots .dot {
    background-color: CanvasText;
  }
}
.slider-counter__link--dots:not(.slider-counter__link--active):hover .dot {
  border-color: rgb(var(--color-foreground));
}

.slider-counter__link--dots .dot,
.slider-counter__link--numbers {
  transition: transform 0.2s ease-in-out;
}

.slider-counter__link--active.slider-counter__link--numbers,
.slider-counter__link--dots:not(.slider-counter__link--active):hover .dot,
.slider-counter__link--numbers:hover {
  transform: scale(1.1);
}

.slider-counter__link--numbers {
  color: rgba(var(--color-foreground), 0.5);
  text-decoration: none;
}

.slider-counter__link--numbers:hover {
  color: rgb(var(--color-foreground));
}

.slider-counter__link--active.slider-counter__link--numbers {
  text-decoration: underline;
  color: rgb(var(--color-foreground));
}

.slider-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 990px) {
  .slider:not(.slider--everywhere):not(.slider--desktop) + .slider-buttons {
    display: none;
  }
}
@media screen and (max-width: 989px) {
  .slider--desktop:not(.slider--tablet) + .slider-buttons {
    display: none;
  }
}
/*@media screen and (min-width: 750px) {
  .slider--mobile + .slider-buttons {
    display: none;
  }
}*/
.slider-button {
  color: rgba(var(--color-foreground), 1);
  background: transparent;
  border: none;
  cursor: pointer;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.announcement-bar-slider .slider-button {
  width: 0;
}

.slider-button:not([disabled]):hover {
  color: rgb(var(--color-foreground));
}

.slider-button[disabled] .icon {
  color: rgba(var(--color-foreground), 0.3);
  opacity: 0.5;
  cursor: not-allowed;
}

.slider-button--next:not([disabled]):hover .icon {
  transform: scale(1.1);
}

.slider-button--prev:not([disabled]):hover .icon {
  transform: rotate(180deg) scale(1.1);
}

.slider-button--next .icon.icon--caret,
.slider-button--next:hover .icon.icon--caret {
  transform: rotate(-90deg);
}

.slider-button--prev .icon.icon--caret,
.slider-button--prev:hover .icon.icon--caret {
  transform: rotate(90deg);
}

/* Color picker slider */
.slider--custom {
  position: relative;
  flex-wrap: inherit;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1rem;
}

/* Fix to show some space at the end of our sliders in all browsers */
.color-picker-slider .product-grid {
  gap: 0;
}

.color-picker-slider.is-slider .product-grid {
  background-color: #f0f0f0;
}

.slider.slider--custom .slider__slide {
  margin-bottom: 0;
  padding-top: max(var(--focus-outline-padding), var(--shadow-padding-top));
  padding-bottom: max(var(--focus-outline-padding), var(--shadow-padding-bottom));
}

.slider--custom.is-slider .slider__slide:first-child {
  margin-left: 46px;
  scroll-margin-left: 46px;
}

.slider--custom .slider__slide:last-child {
  margin-right: 46px;
  scroll-margin-right: 46px;
}

.slider--custom.grid--5-col .grid__item {
  width: 20%;
  max-width: 76px;
}

.tab-features__controls-list {
  counter-reset: tab-features-list;
}

.tab-features__control-wrapper {
  counter-increment: tab-features-list;
}

.tab-features__control {
  opacity: 0.8;
}

.tab-features__control[aria-selected=true] {
  opacity: 1;
  font-family: var(--font-heading-family);
}

.tab-features__control[aria-selected=true]::after {
  background-color: rgb(var(--color-foreground));
}

.tab-features__panel {
  display: none;
  opacity: 0;
}

.tabs--no-interaction .tab-features__panel {
  animation-duration: 0s;
  animation-delay: 0s;
}

.tab-features__panel--display {
  opacity: 0;
  display: block;
  animation: tab-features-panel-entry-anim 0.5s 0.2s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}

.tab-features__panel--hide {
  position: absolute;
  visibility: hidden;
  top: 0;
  width: 100%;
  transition: position 0s 0.5s, visibility 0s 0.5s;
  animation: tab-features-panel-exit-anim 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.tab__image--hidden {
  position: absolute;
  top: 0;
  width: 100%;
  opacity: 0;
  z-index: 0;
}

.tab__image:hover {
  cursor: pointer;
}

.tab-features__panel p {
  margin-bottom: 1rem;
}
.tab-features__panel hr {
  margin: 1.5rem 0;
}
.tab-features__panel .row-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.tab-features__panel ul li {
  padding: 1.2rem 0;
}
.tab-features__panel ul li:not(:last-child) {
  border-bottom: 1px solid rgba(var(--color-foreground), 0.2);
}

@keyframes tab-features-panel-entry-anim {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes tab-features-panel-exit-anim {
  0% {
    opacity: 1;
    transform: translateY(0px);
  }
  100% {
    opacity: 0;
    transform: translateY(-20px);
  }
}
.product__title h1 {
  font-size: 2.6rem;
  font-weight: 400;
  text-transform: lowercase;
}

.product__title .loox-icon {
  display: none;
}
.product__title .loox-custom {
  letter-spacing: -0.5px;
}
.product__title .loox-rating {
  line-height: 1;
}
.product__title .loox-rating span.custom-rating {
  font-size: 1.4rem;
  font-family: var(--font-heading-family);
  padding-right: 4px;
}
.product__title .loox-rating span.custom-reviews {
  text-decoration: underline;
  font-size: 0.8em;
}

.product__description {
  font-size: 1.4rem;
}

.product__description br {
  display: block;
  content: "";
}

@media screen and (min-width: 850px) {
  .product__column-sticky {
    display: block;
    position: sticky;
    top: 0;
    z-index: 2;
  }
}
:root {
  --product-media-gap: 0.5rem;
  --product-info-width: 462px;
}

.product--large .product__media-wrapper {
  width: 100%;
  max-width: 100%;
  flex-grow: 1;
  flex-shrink: 0;
}

.product--large .product__info-wrapper {
  width: 100%;
  max-width: 100%;
  flex-grow: 1;
  flex-shrink: 0;
}

.product--large .product__info-container {
  display: flex;
  width: 100%;
}

.slider--product {
  width: 100%;
}

.product--large .product__info-inner {
  width: 380px;
  max-width: 380px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2rem;
  padding-bottom: 3rem;
}

@media (min-width: 1024px) {
      .product--large .product__info-inner {
            padding-top: 3rem;
      }
}

.product__media-list {
  -moz-column-gap: var(--product-media-gap);
       column-gap: var(--product-media-gap);
}

@media screen and (min-width: 850px) {
  .product--large .product__media-wrapper {
    width: auto;
    flex-grow: 1;
    flex-shrink: 1;
  }
  .product--large .product__info-wrapper {
    width: max(var(--product-info-width), 35%);
    max-width: max(var(--product-info-width), 35%);
    flex-grow: 1;
    flex-shrink: 0;
  }
  .product__media-list {
    row-gap: var(--product-media-gap);
  }
  .product--stacked .product__media-item {
    width: 100%;
    max-width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .product--stacked .product__media-item {
    width: calc(50% - var(--product-media-gap));
    max-width: calc(50% - var(--product-media-gap));
  }
}
@media screen and (max-width: 849px) {
  .slider.slider--product {
    position: relative;
    flex-wrap: inherit;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scroll-padding-left: 0;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 0;
    gap: var(--product-media-gap);
  }
  .slider--product .grid__item:last-of-type {
    margin-right: calc(3rem + var(--product-media-gap));
  }
}
@media screen and (max-width: 449px) {
  .product__media-list .product__media-item {
    width: calc(100% - 3rem - var(--product-media-gap));
  }
}
@media screen and (min-width: 450px) and (max-width: 649px) {
  .product__media-list .product__media-item {
    width: calc(75% - 3rem - var(--product-media-gap));
  }
}
@media screen and (min-width: 650px) and (max-width: 849px) {
  .product__media-list .product__media-item {
    width: calc(60% - 3rem - var(--product-media-gap));
  }
}
@media screen and (min-width: 850px) {
  .slider.slider--product + .slider-buttons {
    display: none;
  }
}
.product__media-wrapper .slider-buttons {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.pagination-bullet {
  width: 10px;
  height: 10px;
  background: rgb(var(--color-foreground), 0.25);
  border-radius: 50%;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.pagination-bullet.pagination-bullet-active {
  background: rgb(var(--color-foreground));
}

/* Dynamic checkout */
.shopify-payment-button__button {
  font-family: inherit;
  min-height: 4.6rem;
}

.shopify-payment-button__button [role=button].focused,
.no-js .shopify-payment-button__button [role=button]:focus {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5) !important;
  outline-offset: 0.3rem;
  box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border)), 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3) !important;
}

.shopify-payment-button__button [role=button]:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: none !important;
}

.shopify-payment-button__button [role=button]:focus-visible {
  outline: 0.2rem solid rgba(var(--color-foreground), 0.5) !important;
  box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border)), 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3) !important;
}

.shopify-payment-button__button--unbranded {
  color: rgb(var(--color-button));
  font-size: 1.4rem;
  line-height: calc(1 + 0.2 / var(--font-body-scale));
  letter-spacing: 0.07rem;
}

.shopify-payment-button__button--unbranded::-moz-selection {
  background-color: rgba(var(--color-button-text), 0.3);
}

.shopify-payment-button__button--unbranded::selection {
  background-color: rgba(var(--color-button-text), 0.3);
}

.shopify-payment-button__button--unbranded:hover,
.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  background-color: rgba(var(--color-button), var(--alpha-button-background));
}

.shopify-payment-button__more-options {
  margin: 1.6rem 0 1rem;
  font-size: 1.2rem;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
  letter-spacing: 0.05rem;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.shopify-payment-button__button + .shopify-payment-button__button--hidden {
  display: none;
}

/* Product form */
.product-form {
  display: block;
}

.product-form__error-message-wrapper:not([hidden]) {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
}

.product-form__error-message-wrapper svg {
  flex-shrink: 0;
  width: 1.4rem;
  height: 1.4rem;
  margin-right: 0.5rem;
}

/* Form Elements */
.product-form__input {
  flex: 0 0 100%;
  padding: 0;
  margin: 0 0 1.2rem 0;
  max-width: 44rem;
  min-width: -moz-fit-content;
  min-width: fit-content;
  border: none;
}

variant-radios,
variant-selects {
  display: block;
}

.product-form__input--dropdown {
  margin-bottom: 1.6rem;
}

.product-form__input .form__label {
  padding-left: 0;
}

fieldset.product-form__input .form__label {
  margin-bottom: 0.2rem;
}

.product-form__input input[type=radio] {
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  position: absolute;
  height: 1px;
  width: 1px;
}

.product-form__input input[type=radio] + label {
  border: var(--variant-pills-border-width) solid rgba(var(--color-foreground), var(--variant-pills-border-opacity));
  background-color: rgb(var(--color-background));
  color: rgba(var(--color-foreground));
  border-radius: var(--variant-pills-radius);
  color: rgb(var(--color-foreground));
  display: inline-block;
  margin: 0.7rem 0.5rem 0.2rem 0;
  padding: 1rem 2rem;
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
  line-height: 1;
  text-align: center;
  transition: border var(--duration-short) ease;
  cursor: pointer;
  position: relative;
}

.product-form__input input[type=radio] + label:before {
  content: "";
  position: absolute;
  top: calc(var(--variant-pills-border-width) * -1);
  right: calc(var(--variant-pills-border-width) * -1);
  bottom: calc(var(--variant-pills-border-width) * -1);
  left: calc(var(--variant-pills-border-width) * -1);
  z-index: -1;
  border-radius: var(--variant-pills-radius);
  box-shadow: var(--variant-pills-shadow-horizontal-offset) var(--variant-pills-shadow-vertical-offset) var(--variant-pills-shadow-blur-radius) rgba(var(--color-shadow), var(--variant-pills-shadow-opacity));
}

.product-form__input input[type=radio] + label:hover {
  border-color: rgb(var(--color-foreground));
}

.product-form__input input[type=radio]:checked + label {
  background-color: rgb(var(--color-foreground));
  color: rgb(var(--color-background));
}

.product-form__input input[type=radio]:not(.disabled) + label > .visually-hidden {
  display: none;
}

@media screen and (forced-colors: active) {
  .product-form__input input[type=radio]:checked + label {
    text-decoration: underline;
  }
}
.product-form__input input[type=radio]:checked + label::-moz-selection {
  background-color: rgba(var(--color-background), 0.3);
}
.product-form__input input[type=radio]:checked + label::selection {
  background-color: rgba(var(--color-background), 0.3);
}

.product-form__input input[type=radio]:disabled + label,
.product-form__input input[type=radio].disabled + label {
  border-color: rgba(var(--color-foreground), 0.1);
  color: rgba(var(--color-foreground), 0.6);
  text-decoration: line-through;
}

.product-form__input input[type=radio].disabled:checked + label,
.product-form__input input[type=radio]:disabled:checked + label {
  color: rgba(var(--color-background), 0.6);
}

.product-form__input input[type=radio]:focus-visible + label {
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.55);
}

/* Fallback */
.product-form__input input[type=radio].focused + label,
.no-js .shopify-payment-button__button [role=button]:focus + label {
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.55);
}

/* No outline when focus-visible is available in the browser */
.no-js .product-form__input input[type=radio]:focus:not(:focus-visible) + label {
  box-shadow: none;
}

.product-form__input .select {
  max-width: 25rem;
}

.product-form__submit {
  margin-bottom: 1rem;
}

.no-js .product-form__submit.button--secondary {
  --color-button: inherit;
  --color-button-text: inherit;
  --alpha-button-background: 1;
}

.product-form__submit[aria-disabled=true] + .shopify-payment-button .shopify-payment-button__button[disabled],
.product-form__submit[disabled] + .shopify-payment-button .shopify-payment-button__button[disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}

@media screen and (forced-colors: active) {
  .product-form__submit[aria-disabled=true] {
    color: Window;
  }
}
/* Overrides */
.shopify-payment-button__more-options {
  color: rgb(var(--color-foreground));
}

.shopify-payment-button__button {
  font-size: 1.5rem;
  letter-spacing: 0.1rem;
}

/* Product info */
.product__info-container > * + * {
  margin-bottom: 1.5rem;
}

.product__info-container iframe {
  max-width: 100%;
}

.product__text {
  margin-bottom: 0;
}

a.product__text {
  display: block;
  text-decoration: none;
  color: rgba(var(--color-foreground), 1);
}

.product__text.caption-with-letter-spacing {
  text-transform: uppercase;
}

.product__title > a {
  display: none;
}

.product__title + .product__text.caption-with-letter-spacing {
  margin-top: -1.5rem;
}

.product__text.caption-with-letter-spacing + .product__title {
  margin-top: 0;
}

.product .price dl {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.product .price--sold-out .price__badge-sale {
  display: none;
}

@media screen and (min-width: 750px) {
  .product__info-container .price--on-sale .price-item--regular {
    font-size: 1.8rem;
  }
  .product__info-container > *:first-child {
    margin-top: 0;
  }
}
.product__description-title {
  font-weight: 600;
}

.product--no-media .product__title,
.product--no-media .product__text,
.product--no-media noscript .product-form__input,
.product--no-media .product__tax,
.product--no-media .product__sku,
.product--no-media shopify-payment-terms {
  text-align: center;
}

.product--no-media .product__media-wrapper,
.product--no-media .product__info-wrapper {
  padding: 0;
}

.product__tax {
  margin-top: -1.4rem;
}

.product--no-media noscript .product-form__input,
.product--no-media .share-button {
  max-width: 100%;
}

.product--no-media fieldset.product-form__input,
.product--no-media .product-form__quantity,
.product--no-media .product-form__input--dropdown,
.product--no-media .share-button,
.product--no-media .product__view-details,
.product--no-media .product__pickup-availabilities,
.product--no-media .product-form {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.product--no-media .product-form {
  flex-direction: column;
}

.product--no-media .product-form > .form {
  max-width: 30rem;
  width: 100%;
}

.product--no-media .product-form__quantity,
.product--no-media .product-form__input--dropdown {
  flex-direction: column;
  max-width: 100%;
}

.product-form__quantity .form__label {
  margin-bottom: 0.6rem;
}

.price-per-item__label.form__label {
  margin-bottom: 0rem;
}

.product-form__quantity-top .form__label {
  margin-bottom: 1.2rem;
}

.product--no-media fieldset.product-form__input {
  flex-wrap: wrap;
  margin: 0 auto 1.2rem auto;
}

.product--no-media .product__info-container > modal-opener {
  display: block;
  text-align: center;
}

.product--no-media .product-popup-modal__button {
  padding-right: 0;
}

.product--no-media .price {
  text-align: center;
}

/* Product media */
.product__media-list video {
  border-radius: calc(var(--media-radius) - var(--media-border-width));
}

@media screen and (max-width: 749px) {
  .product__media-wrapper slider-component:not(.thumbnail-slider--no-slide) {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
  .slider.product__media-list::-webkit-scrollbar {
    height: 0.2rem;
    width: 0.2rem;
  }
  .product__media-list::-webkit-scrollbar-thumb {
    background-color: rgb(var(--color-foreground));
  }
  .product__media-list::-webkit-scrollbar-track {
    background-color: rgba(var(--color-foreground), 0.2);
  }
  .product--mobile-columns .product__media-item {
    width: calc(50% - 1.5rem - var(--grid-mobile-horizontal-spacing));
  }
}
@media screen and (min-width: 750px) {
  .product--thumbnail .product__media-list,
  .product--thumbnail_slider .product__media-list {
    padding-bottom: calc(var(--media-shadow-vertical-offset) * var(--media-shadow-visible));
  }
  .product__media-list {
    padding-right: calc(var(--media-shadow-horizontal-offset) * var(--media-shadow-visible));
  }
  .product--thumbnail .product__media-item:not(.is-active),
  .product--thumbnail_slider .product__media-item:not(.is-active) {
    display: none;
  }
  .product-media-modal__content > .product__media-item--variant.product__media-item--variant {
    display: none;
  }
  .product-media-modal__content > .product__media-item--variant:first-child {
    display: block;
  }
}
.product__media-item.product__media-item--variant {
  display: none;
}

.product__media-item--variant:first-child {
  display: block;
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .product__media-list .product__media-item:first-child {
    padding-left: 0;
  }
  .product--thumbnail_slider .product__media-list {
    margin-left: 0;
  }
}
.product__media-icon .icon {
  width: 1.2rem;
  height: 1.4rem;
}

.product__media-icon,
.thumbnail__badge {
  background-color: rgb(var(--color-background));
  border-radius: 50%;
  border: 0.1rem solid rgba(var(--color-foreground), 0.1);
  color: rgb(var(--color-foreground));
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3rem;
  width: 3rem;
  position: absolute;
  left: 1.2rem;
  top: 1.2rem;
  z-index: 1;
  transition: color var(--duration-short) ease, opacity var(--duration-short) ease;
}

.product__media-video .product__media-icon {
  opacity: 1;
}

.product__modal-opener--image .product__media-toggle:hover {
  cursor: zoom-in;
}

.product__modal-opener:hover .product__media-icon {
  border: 0.1rem solid rgba(var(--color-foreground), 0.1);
}

@media screen and (min-width: 750px) {
  .grid__item.product__media-item--full {
    width: 100%;
  }
  .product--columns .product__media-item:not(.product__media-item--single):not(:only-child) {
    max-width: calc(50% - var(--grid-desktop-horizontal-spacing) / 2);
  }
  .product--large.product--columns .product__media-item--full .deferred-media__poster-button {
    height: 5rem;
    width: 5rem;
  }
}
@media screen and (min-width: 990px) {
  .product__modal-opener .product__media-icon {
    opacity: 0;
  }
  .product__modal-opener:hover .product__media-icon,
  .product__modal-opener:focus .product__media-icon {
    opacity: 1;
  }
}
.product__media-item > * {
  display: block;
  position: relative;
}

.product__media-toggle {
  display: flex;
  border: none;
  background-color: transparent;
  color: currentColor;
  padding: 0;
}

.product__media-toggle::after {
  content: "";
  cursor: pointer;
  display: block;
  margin: 0;
  padding: 0;
  position: absolute;
  top: calc(var(--border-width) * -1);
  right: calc(var(--border-width) * -1);
  bottom: calc(var(--border-width) * -1);
  left: calc(var(--border-width) * -1);
  z-index: 2;
}

.product__media-toggle:focus-visible {
  outline: 0;
  box-shadow: none;
}

/* outline styling for Windows High Contrast Mode */
@media (forced-colors: active) {
  .product__media-toggle:focus-visible,
  .product__media-toggle:focus-visible:after,
  .product-form__input input[type=radio]:focus-visible + label {
    outline: transparent solid 1px;
    outline-offset: 2px;
  }
}
.product__media-toggle.focused {
  outline: 0;
  box-shadow: none;
}

.product__media-toggle:focus-visible:after {
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0rem 0.5rem rgba(var(--color-foreground), 0.5);
  border-radius: var(--media-radius);
}

.product__media-toggle.focused:after {
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0rem 0.5rem rgba(var(--color-foreground), 0.5);
  border-radius: var(--media-radius);
}

.product-media-modal {
  background-color: rgb(var(--color-background));
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
}

.product-media-modal[open] {
  visibility: visible;
  opacity: 1;
  z-index: 101;
}

.product-media-modal__dialog {
  display: flex;
  align-items: center;
  height: 100vh;
}

.product-media-modal__content {
  max-height: 100vh;
  width: 100%;
  overflow: auto;
}

.product-media-modal__content > *:not(.active) {
  display: none;
}

/*.product-media-modal__content > *:not(.active),
.product__media-list .deferred-media {
  display: none;
}*/
@media screen and (min-width: 750px) {
  .product-media-modal__content {
    padding-bottom: 2rem;
  }
  .product-media-modal__content > *:not(.active) {
    display: block;
  }
  .product__modal-opener:not(.product__modal-opener--image) {
    display: none;
  }
  .product__media-list .deferred-media {
    display: block;
  }
}
@media screen and (max-width: 749px) {
  .product--thumbnail .is-active .product__modal-opener:not(.product__modal-opener--image),
  .product--thumbnail_slider .is-active .product__modal-opener:not(.product__modal-opener--image) {
    display: none;
  }
  .product--thumbnail .is-active .deferred-media,
  .product--thumbnail_slider .is-active .deferred-media {
    display: block;
    width: 100%;
  }
}
.product-media-modal__content > * {
  display: block;
  height: auto;
  margin: auto;
}

.product-media-modal__content .media {
  background: none;
}

.product-media-modal__model {
  width: 100%;
}

.product-media-modal__toggle {
  background-color: rgb(var(--color-background));
  border: 0.1rem solid rgba(var(--color-foreground), 0.1);
  border-radius: 50%;
  color: rgba(var(--color-foreground), 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  right: 2rem;
  padding: 1.2rem;
  position: fixed;
  z-index: 2;
  top: 2rem;
  width: 4rem;
}

.product-media-modal__content .deferred-media {
  width: 100%;
}

@media screen and (min-width: 750px) {
  .product-media-modal__content {
    padding: 2rem 11rem;
  }
  .product-media-modal__content > * {
    width: 100%;
  }
  .product-media-modal__content > * + * {
    margin-top: 2rem;
  }
  .product-media-modal__toggle {
    right: 5rem;
    top: 2.2rem;
  }
}
@media screen and (min-width: 990px) {
  .product-media-modal__content {
    padding: 2rem 11rem;
  }
  .product-media-modal__content > * + * {
    margin-top: 1.5rem;
  }
  .product-media-modal__content {
    padding-bottom: 1.5rem;
  }
  .product-media-modal__toggle {
    right: 5rem;
  }
}
.product-media-modal__toggle:hover {
  color: rgba(var(--color-foreground), 1);
}

.product-media-modal__toggle .icon {
  height: auto;
  margin: 0;
  width: 2.2rem;
}

/* Product popup */
.product-popup-modal {
  box-sizing: border-box;
  opacity: 0;
  position: fixed;
  visibility: hidden;
  z-index: -1;
  margin: 0 auto;
  top: 0;
  left: 0;
  overflow: auto;
  width: 100%;
  background: rgba(var(--color-foreground), 0.2);
  height: 100%;
}

.product-popup-modal[open] {
  opacity: 1;
  visibility: visible;
  z-index: 101;
}

.product-popup-modal__content {
  border-radius: var(--popup-corner-radius);
  background-color: rgb(var(--color-background));
  overflow: auto;
  height: 80%;
  margin: 0 auto;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 5rem;
  width: 92%;
  position: absolute;
  top: 0;
  padding: 0 1.5rem 0 3rem;
  border-color: rgba(var(--color-foreground), var(--popup-border-opacity));
  border-style: solid;
  border-width: var(--popup-border-width);
  box-shadow: var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) var(--popup-shadow-blur-radius) rgba(var(--color-shadow), var(--popup-shadow-opacity));
}

.product-popup-modal__content.focused {
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3), var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) var(--popup-shadow-blur-radius) rgba(var(--color-shadow), var(--popup-shadow-opacity));
}

.product-popup-modal__content:focus-visible {
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3), var(--popup-shadow-horizontal-offset) var(--popup-shadow-vertical-offset) var(--popup-shadow-blur-radius) rgba(var(--color-shadow), var(--popup-shadow-opacity));
}

@media screen and (min-width: 750px) {
  .product-popup-modal__content {
    padding-right: 1.5rem;
    margin-top: 10rem;
    width: 70%;
    padding: 0 3rem;
  }
  .product-media-modal__dialog .global-media-settings--no-shadow {
    overflow: visible !important;
  }
}
.product-popup-modal__content img {
  max-width: 100%;
}

@media screen and (max-width: 749px) {
  .product-popup-modal__content table {
    display: block;
    max-width: -moz-fit-content;
    max-width: fit-content;
    overflow-x: auto;
    white-space: nowrap;
    margin: 0;
  }
  .product-media-modal__dialog .global-media-settings,
  .product-media-modal__dialog .global-media-settings video,
  .product-media-modal__dialog .global-media-settings model-viewer,
  .product-media-modal__dialog .global-media-settings iframe,
  .product-media-modal__dialog .global-media-settings img {
    border: none;
    border-radius: 0;
  }
}
.product-popup-modal__opener {
  display: inline-block;
  width: 100%;
  text-align: right;
  margin-top: -1rem;
}

.product-popup-modal__button {
  font-size: 1.6rem;
  padding-right: 1.3rem;
  padding-left: 0;
  min-height: 4rem;
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.1rem;
  transition: text-decoration-thickness var(--duration-short) ease;
}

.product-popup-modal__button:hover {
  text-decoration-thickness: 0.2rem;
}

.product-popup-modal__content-info {
  padding-right: 4.4rem;
}

.product-popup-modal__content-info > * {
  height: auto;
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
}

@media screen and (max-width: 749px) {
  .product-popup-modal__content-info > * {
    max-height: 100%;
  }
}
.product-popup-modal__toggle {
  background-color: rgb(var(--color-background));
  border: 0.1rem solid rgba(var(--color-foreground), 0.1);
  border-radius: 50%;
  color: rgba(var(--color-foreground), 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: sticky;
  padding: 1.2rem;
  z-index: 2;
  top: 1.5rem;
  width: 4rem;
  margin: 0 0 0 auto;
}

.product-popup-modal__toggle:hover {
  color: rgba(var(--color-foreground), 1);
}

.product-popup-modal__toggle .icon {
  height: auto;
  margin: 0;
  width: 2.2rem;
}

.product__media-list .media > * {
  overflow: hidden;
}

@media screen and (min-width: 750px) {
  .product--stacked .thumbnail-list {
    display: none;
  }
  .thumbnail-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 749px) {
  .product__media-item {
    display: flex;
    align-items: center;
  }
  .product__modal-opener {
    width: 100%;
  }
  .thumbnail-slider {
    display: flex;
    align-items: center;
  }
  .thumbnail-slider .thumbnail-list.slider {
    display: flex;
    padding: 0.5rem;
    flex: 1;
    scroll-padding-left: 0.5rem;
  }
  .thumbnail-list__item.slider__slide {
    width: calc(33% - 0.6rem);
  }
}
@media screen and (min-width: 850px) {
  .product--thumbnail_slider .thumbnail-slider {
    display: flex;
    align-items: center;
  }
  .thumbnail-slider .thumbnail-list.slider--tablet-up {
    display: flex;
    padding: 0.5rem;
    flex: 1;
    scroll-padding-left: 0.5rem;
  }
  .product__media-wrapper .slider-mobile-gutter .slider-button {
    display: none;
  }
  .thumbnail-list.slider--tablet-up .thumbnail-list__item.slider__slide {
    width: calc(25% - 0.8rem);
  }
  .product--thumbnail_slider .slider-mobile-gutter .slider-button {
    display: flex;
  }
}
@media screen and (min-width: 900px) {
  .thumbnail-list.slider--tablet-up .thumbnail-list__item.slider__slide {
    width: calc(20% - 0.8rem);
  }
}
.thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  height: 100%;
  width: 100%;
  padding: 0;
  color: rgb(var(--color-foreground));
  cursor: pointer;
  background-color: transparent;
}

.thumbnail:hover {
  opacity: 0.7;
}

.thumbnail.global-media-settings img {
  border-radius: 0;
}

.thumbnail[aria-current] {
  box-shadow: 0 0 0rem 0.1rem rgb(var(--color-foreground));
  border-color: rgb(var(--color-foreground));
}

.image-magnify-full-size {
  cursor: zoom-out;
  z-index: 1;
  margin: 0;
  border-radius: calc(var(--media-radius) - var(--media-border-width));
}

.image-magnify-hover {
  cursor: zoom-in;
}

.product__modal-opener--image .product__media-zoom-none,
.product__media-icon--none {
  display: none;
}

.product__modal-opener > .loading__spinner {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  display: flex;
  align-items: center;
  height: 48px;
  width: 48px;
}

.product__modal-opener .path {
  stroke: rgb(var(--color-button));
  opacity: 0.75;
}

@media (hover: hover) {
  .product__media-zoom-hover,
  .product__media-icon--hover {
    display: none;
  }
}
@media screen and (max-width: 749px) {
  .product__media-zoom-hover,
  .product__media-icon--hover {
    display: flex;
  }
}
.js .product__media {
  overflow: hidden !important;
}

.thumbnail[aria-current]:focus-visible {
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0rem 0.5rem rgba(var(--color-foreground), 0.5);
}

.thumbnail[aria-current]:focus,
.thumbnail.focused {
  outline: 0;
  box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0rem 0.5rem rgba(var(--color-foreground), 0.5);
}

/* outline styling for Windows High Contrast Mode */
@media (forced-colors: active) {
  .thumbnail[aria-current]:focus,
  .thumbnail.focused {
    outline: transparent solid 1px;
  }
}
.thumbnail[aria-current]:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: 0 0 0 0.1rem rgb(var(--color-foreground));
}

.thumbnail img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.thumbnail__badge .icon {
  width: 1rem;
  height: 1rem;
}

.thumbnail__badge .icon-3d-model {
  width: 1.2rem;
  height: 1.2rem;
}

.thumbnail__badge {
  color: rgb(var(--color-foreground), 0.6);
  height: 2rem;
  width: 2rem;
  left: auto;
  right: calc(0.4rem + var(--media-border-width));
  top: calc(0.4rem + var(--media-border-width));
}

@media screen and (min-width: 750px) {
  .product .thumbnail__badge {
    height: 3rem;
    width: 3rem;
  }
  .product .thumbnail__badge .icon {
    width: 1.2rem;
    height: 1.2rem;
  }
  .product .thumbnail__badge .icon-3d-model {
    width: 1.4rem;
    height: 1.4rem;
  }
}
.thumbnail-list__item {
  position: relative;
}

.thumbnail-list__item::before {
  content: "";
  display: block;
  padding-bottom: 100%;
}

.product:not(.featured-product) .product__view-details {
  display: none;
}

.product__view-details {
  display: block;
  text-decoration: none;
}

.product__view-details:hover {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.product__view-details .icon {
  width: 1.2rem;
  margin-left: 1.2rem;
  flex-shrink: 0;
}

/* Inventory status */
.product__inventory {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.product--no-media .product__inventory {
  justify-content: center;
}

/* This keeps the container from getting display: none; applied to it and to make sure we're not introducing some layout shift when switching to an unavailable variant */
.product__inventory.visibility-hidden:empty {
  display: block;
}

.product__inventory.visibility-hidden:empty::after {
  content: "#";
}

/* Icon with text */
.icon-with-text {
  --icon-size: calc(var(--font-heading-scale) * 3rem);
  --icon-spacing: calc(var(--font-heading-scale) * 1rem);
}

.icon-with-text--horizontal {
  display: flex;
  justify-content: center;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  flex-direction: row;
}

.icon-with-text--vertical {
  --icon-size: calc(var(--font-heading-scale) * 2rem);
}

.icon-with-text .icon {
  fill: rgb(var(--color-foreground));
  height: var(--icon-size);
  width: var(--icon-size);
}

.icon-with-text--horizontal .icon,
.icon-with-text--horizontal img {
  margin-bottom: var(--icon-spacing);
}

.icon-with-text--vertical .icon {
  min-height: var(--icon-size);
  min-width: var(--icon-size);
  margin-right: var(--icon-spacing);
}

.icon-with-text img {
  height: var(--icon-size);
  width: var(--icon-size);
  -o-object-fit: contain;
     object-fit: contain;
}

.icon-with-text--vertical img {
  margin-right: var(--icon-spacing);
}

.icon-with-text--horizontal .h4 {
  padding-top: calc(var(--icon-size) + var(--icon-spacing));
  text-align: center;
}

.icon-with-text--horizontal svg + .h4,
.icon-with-text--horizontal img + .h4,
.icon-with-text--horizontal.icon-with-text--text-only .h4 {
  padding-top: 0;
}

.icon-with-text__item {
  display: flex;
  align-items: center;
}

.icon-with-text--horizontal .icon-with-text__item {
  flex-direction: column;
  width: 33%;
}

.icon-with-text--vertical .icon-with-text__item {
  margin-bottom: var(--icon-size);
}

/* SKU block */
.product__sku.visibility-hidden::after {
  content: "#";
}

/* Product-thumbnail snippet */
.product-media-container {
  --aspect-ratio: var(--preview-ratio);
  --ratio-percent: calc(1 / var(--aspect-ratio) * 100%);
  position: relative;
  width: 100%;
  max-width: calc(100% - var(--media-border-width) * 2);
}

.product-media-container.constrain-height {
  /* arbitrary offset value based on average theme spacing and header height */
  --viewport-offset: 400px;
  --constrained-min-height: 300px;
  --constrained-height: max(var(--constrained-min-height), calc(100vh - var(--viewport-offset)));
  margin-right: auto;
  margin-left: auto;
}

.product-media-container.constrain-height.media-fit-contain {
  --contained-width: calc(var(--constrained-height) * var(--aspect-ratio));
  width: min(var(--contained-width), 100%);
}

.product-media-container .media {
  padding-top: var(--ratio-percent);
}

.product-media-container.constrain-height .media {
  padding-top: min(var(--constrained-height), var(--ratio-percent));
}

@media screen and (max-width: 749px) {
  .product-media-container.media-fit-cover {
    display: flex;
    align-self: stretch;
  }
  .product-media-container.media-fit-cover .media {
    /* allow media img element to scale relative to modal-opener/product-media-container */
    position: initial;
  }
}
@media screen and (min-width: 850px) {
  .product-media-container {
    max-width: 100%;
  }
  .product-media-container:not(.media-type-image) {
    /* override to use actual media ratio (not poster ratio) for video/models on desktop */
    --aspect-ratio: var(--ratio);
  }
  .product-media-container.constrain-height {
    --viewport-offset: 170px;
    --constrained-min-height: 500px;
  }
  .product-media-container.media-fit-cover,
  .product-media-container.media-fit-cover .product__modal-opener,
  .product-media-container.media-fit-cover .media {
    height: 100%;
  }
  .product-media-container.media-fit-cover .deferred-media__poster img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
}
.product-media-container .product__modal-opener {
  display: block;
  position: relative;
}

@media screen and (min-width: 850px) {
  .product-media-container .product__modal-opener:not(.product__modal-opener--image) {
    display: none;
  }
}
/* Recipient form */
.recipient-form {
  /* (2.88[line-height] - 1.6rem) / 2 */
  --recipient-checkbox-margin-top: 0.64rem;
  display: block;
  position: relative;
  max-width: 44rem;
  margin-bottom: 2.5rem;
}

.recipient-form-field-label {
  margin: 0.6rem 0;
}

.recipient-form-field-label--space-between {
  display: flex;
  justify-content: space-between;
}

.recipient-checkbox {
  flex-grow: 1;
  font-size: 1.6rem;
  display: flex;
  word-break: break-word;
  align-items: flex-start;
  max-width: inherit;
  position: relative;
  cursor: pointer;
}

.no-js .recipient-checkbox {
  display: none;
}

.recipient-form > input[type=checkbox] {
  position: absolute;
  width: 1.6rem;
  height: 1.6rem;
  margin: var(--recipient-checkbox-margin-top) 0;
  top: 0;
  left: 0;
  z-index: -1;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
}

.recipient-fields__field {
  margin: 0 0 2rem 0;
}

.recipient-fields .field__label {
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: calc(100% - 3.5rem);
  overflow: hidden;
}

.recipient-checkbox > svg {
  margin-top: var(--recipient-checkbox-margin-top);
  margin-right: 1.2rem;
  flex-shrink: 0;
}

.recipient-form .icon-checkmark {
  visibility: hidden;
  position: absolute;
  left: 0.28rem;
  z-index: 5;
  top: 0.4rem;
}

.recipient-form > input[type=checkbox]:checked + label .icon-checkmark {
  visibility: visible;
}

.js .recipient-fields {
  display: none;
}

.recipient-fields hr {
  margin: 1.6rem auto;
}

.recipient-form > input[type=checkbox]:checked ~ .recipient-fields {
  display: block;
  animation: animateMenuOpen var(--duration-default) ease;
}

.recipient-form > input[type=checkbox]:not(:checked, :disabled) ~ .recipient-fields,
.recipient-email-label {
  display: none;
}

.js .recipient-email-label.required,
.no-js .recipient-email-label.optional {
  display: inline;
}

.recipient-form ul {
  line-height: calc(1 + 0.6 / var(--font-body-scale));
  padding-left: 4.4rem;
  text-align: left;
}

.recipient-form ul a {
  display: inline;
}

.recipient-form .error-message::first-letter {
  text-transform: capitalize;
}

@media screen and (forced-colors: active) {
  .recipient-fields > hr {
    border-top: 0.1rem solid rgb(var(--color-background));
  }
  .recipient-checkbox > svg {
    background-color: inherit;
    border: 0.1rem solid rgb(var(--color-background));
  }
  .recipient-form > input[type=checkbox]:checked + label .icon-checkmark {
    border: none;
  }
}
/* price */
.price {
  font-size: 1.6rem;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
  color: rgb(var(--color-foreground));
}

.price > * {
  display: inline-block;
  vertical-align: top;
}

.price.price--unavailable {
  visibility: hidden;
}

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

.price .price-item {
  display: inline-block;
  margin: 0 0.5rem 0 0;
}

.price__regular .price-item--regular {
  margin-right: 0;
}

.price:not(.price--show-badge) .price-item--last:last-of-type {
  margin: 0;
}

@media screen and (min-width: 750px) {
  .price {
    margin-bottom: 0;
  }
}
.price--large {
  font-size: 1.6rem;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
}

@media screen and (min-width: 750px) {
  .price--large {
    font-size: 1.8rem;
  }
}
.price--sold-out .price__availability,
.price__regular {
  display: block;
}

.price__sale,
.price__availability,
.price .price__badge-sale,
.price .price__badge-sold-out,
.price--on-sale .price__regular,
.price--on-sale .price__availability {
  display: none;
}

.price--sold-out .price__badge-sold-out,
.price--on-sale .price__badge-sale,
.volume-pricing--sale-badge .price__badge-sale {
  display: inline-block;
}

.volume-pricing--sale-badge .price__badge-sale {
  margin-left: 0.5rem;
}

.price--on-sale .price__sale {
  display: initial;
  flex-direction: row;
  flex-wrap: wrap;
}

.price--center {
  display: initial;
  justify-content: center;
}

.price--on-sale .price-item--regular {
  text-decoration: line-through;
  color: rgba(var(--color-foreground), 1);
}

.unit-price {
  display: block;
  font-size: 1.1rem;
  letter-spacing: 0.04rem;
  line-height: calc(1 + 0.2 / var(--font-body-scale));
  margin-top: 0.2rem;
  text-transform: uppercase;
  color: rgba(var(--color-foreground), 0.7);
}

.pnda-delivery-info {
  font-family: var(--font-heading-family);
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
}

.drawer {
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  background-color: rgba(var(--color-foreground), 0.5);
  transition: visibility var(--duration-default) ease;
}

.drawer.active {
  visibility: visible;
}

.drawer__inner {
  height: 100%;
  width: 46rem;
  max-width: 100vw;
  border-right: 0;
  background-color: rgb(var(--color-background));
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform var(--duration-default) ease;
}

.drawer__inner-empty {
  height: 100%;
  /*padding: 0 1.5rem;*/
  background-color: rgb(var(--color-background));
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.cart-drawer__warnings {
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: center;
}

/*
cart-drawer.is-empty .drawer__inner {
  display: grid;
  grid-template-rows: 1fr;
  align-items: center;
  padding: 0;
}

cart-drawer.is-empty .drawer__header {
  display: none;
}
*/
cart-drawer-items:not(.is-empty) .drawer__inner-empty,
cart-drawer-items:not(.is-empty) .cart-drawer__warnings,
cart-drawer-items:not(.is-empty) .cart-drawer__collection {
  display: none;
}

.cart-drawer__warnings--has-collection .cart__login-title {
  margin-top: 2.5rem;
}

.drawer.active .drawer__inner {
  transform: translateX(0);
}

.drawer__header {
  position: relative;
  background-color: rgb(var(--color-background));
  padding: 1rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cart-drawer .drawer__header {
  border-bottom: 1px solid rgb(var(--color-foreground), 0.1);
}

.drawer__close {
  display: inline-block;
  padding: 0;
  min-width: 4.4rem;
  min-height: 4.4rem;
  box-shadow: 0 0 0 0.2rem rgba(var(--color-button), 0);
  position: absolute;
  top: 0;
  right: -10px;
  color: rgb(var(--color-foreground));
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.cart-drawer__warnings .drawer__close {
  right: 5px;
}

.drawer__close svg {
  height: 2.4rem;
  width: 2.4rem;
}

.drawer__contents {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.drawer__footer {
  background-color: rgb(var(--color-background));
  padding: 1.5rem 0;
}

cart-drawer-items.is-empty + .drawer__footer {
  display: none;
}

.drawer__footer > details {
  margin-top: -1.5rem;
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.1);
}

.drawer__footer > details[open] {
  padding-bottom: 1.5rem;
}

.drawer__footer summary {
  display: flex;
  position: relative;
  line-height: 1;
  padding: 1.5rem 0;
}

.drawer__footer > details + .cart-drawer__footer {
  padding-top: 1.5rem;
}

cart-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
}

.cart-drawer__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.cart-drawer__overlay:empty {
  display: block;
}

.cart-drawer__form {
  flex-grow: 1;
  display: flex;
  flex-wrap: wrap;
}

.cart-drawer__collection {
  padding: 2rem 0;
}

.cart-drawer__collection .h4 {
  margin-bottom: 1rem;
}

.cart-drawer .drawer__cart-items-wrapper {
  flex-grow: 1;
}

.cart-drawer .cart-items,
.cart-drawer tbody {
  display: block;
  width: 100%;
}

.cart-drawer thead {
  display: inline-table;
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: rgb(var(--color-background));
}

cart-drawer-items {
  overflow: auto;
  flex: 1;
}

@media screen and (max-height: 650px) {
  cart-drawer-items {
    overflow: visible;
  }
  .drawer__inner {
    overflow: scroll;
  }
}
.cart-drawer .cart-item {
  width: 100%;
  gap: 1.8rem;
  margin-bottom: 0;
  padding-top: 1.5rem;
  border-bottom: 1px solid rgba(var(--color-foreground), 0.1);
}

.cart-drawer .cart-item__wrapper {
  width: 100%;
  display: flex;
  gap: 1.8rem;
}

.cart-drawer .cart-item__wrapper .cart-item__media {
  min-width: 82px;
}

.cart-drawer .cart-item__image {
  max-width: 100%;
}

.cart-drawer .cart-items thead {
  margin-bottom: 0.5rem;
}

.cart-drawer .cart-items thead th:first-child,
.cart-drawer .cart-items thead th:last-child {
  width: 0;
  padding: 0;
}

.cart-drawer .cart-items thead th:nth-child(2) {
  width: 50%;
  padding-left: 0;
}

.cart-drawer .cart-items thead tr {
  display: table-row;
  margin-bottom: 0;
}

.cart-drawer .cart-items th {
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

.cart-drawer .cart-item:last-child {
  margin-bottom: 1.5rem;
}

.cart-drawer .cart-item .loading__spinner {
  right: 5px;
  top: -2px;
  padding-top: 0;
}

.cart-drawer .cart-item__details {
  width: auto;
}

.cart-drawer .cart-item__totals {
  pointer-events: none;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.cart-drawer.cart-drawer .cart-item__price-wrapper > *:only-child {
  margin-top: 0;
}

.cart-drawer .cart-item__price-wrapper .cart-item__discounted-prices {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.cart-drawer .unit-price {
  margin-top: 0.6rem;
}

@media screen and (max-width: 749px) {
  .cart-drawer .cart-item cart-remove-button {
    margin-left: 0;
  }
}
.cart-drawer__footer > * + * {
  margin-top: 1rem;
}

.cart-drawer .price {
  line-height: 1;
}

.cart-drawer .tax-note {
  font-size: 1.1rem;
  margin: 1rem 0 0;
  text-align: center;
}

.cart-drawer .product-option dd {
  word-break: break-word;
}

.cart-drawer details[open] > summary .icon--caret {
  transform: rotate(180deg);
}

.cart-drawer .cart__checkout-button {
  max-width: none;
}

.drawer__footer .cart__dynamic-checkout-buttons {
  max-width: 100%;
}

.drawer__footer #dynamic-checkout-cart ul {
  flex-wrap: wrap !important;
  flex-direction: row !important;
  margin: 0.5rem -0.5rem 0 0 !important;
  gap: 0.5rem;
}

.drawer__footer [data-shopify-buttoncontainer] {
  justify-content: flex-start;
}

.drawer__footer #dynamic-checkout-cart ul > li {
  flex-basis: calc(50% - 0.5rem) !important;
  margin: 0 !important;
}

.drawer__footer #dynamic-checkout-cart ul > li:only-child {
  flex-basis: 100% !important;
  margin-right: 0.5rem !important;
}

@media screen and (min-width: 750px) {
  .drawer__footer #dynamic-checkout-cart ul > li {
    flex-basis: calc(33.3333333333% - 0.5rem) !important;
    margin: 0 !important;
  }
  .drawer__footer #dynamic-checkout-cart ul > li:first-child:nth-last-child(2),
  .drawer__footer #dynamic-checkout-cart ul > li:first-child:nth-last-child(2) ~ li,
  .drawer__footer #dynamic-checkout-cart ul > li:first-child:nth-last-child(4),
  .drawer__footer #dynamic-checkout-cart ul > li:first-child:nth-last-child(4) ~ li {
    flex-basis: calc(50% - 0.5rem) !important;
  }
}
cart-drawer-items::-webkit-scrollbar {
  width: 3px;
}

cart-drawer-items::-webkit-scrollbar-thumb {
  background-color: rgba(var(--color-foreground), 0.7);
  border-radius: 100px;
}

cart-drawer-items::-webkit-scrollbar-track-piece {
  margin-top: 31px;
}

.cart-drawer .quantity-popover-container {
  padding: 0;
}

.cart-drawer .quantity-popover__info.global-settings-popup {
  transform: translateY(0);
  right: 0;
}

.cart-drawer .cart-item__error {
  margin: 0.75rem 0;
}

.cart-drawer .quantity-popover__info + .cart-item__error {
  margin-top: 0.2rem;
}

@media screen and (min-width: 750px) {
  .cart-drawer .cart-item__quantity--info quantity-popover > * {
    padding-left: 0;
  }
}
body.overflow-hidden #dummy-chat-button-iframe {
  visibility: hidden;
}

.drawer__padding {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

mcp-cross-sells .cart-item {
  background-color: #f5f5f5;
  padding: 1.5rem 0;
}

.cart-item__quantity-wrapper {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cart-item__totals {
  position: relative;
}

.cart-items *.right {
  text-align: right;
}

.cart-item__image-container {
  display: inline-flex;
  align-items: flex-start;
}

.cart-item__image-container:after {
  content: none;
}

.cart-item__image {
  height: auto;
  max-width: calc(10rem / var(--font-body-scale));
}

@media screen and (min-width: 750px) {
  .cart-item__image {
    max-width: 100%;
  }
}
.cart-item__details {
  font-size: 1.6rem;
  line-height: calc(1 + 0.4 / var(--font-body-scale));
}

.cart-item__media {
  position: relative;
}

.cart-item__link {
  display: block;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.cart-item__name {
  text-decoration: none;
  display: block;
}

.cart-item__name:hover {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.2rem;
}

.cart-item__price-wrapper > * {
  display: block;
  margin: 0;
  padding: 0;
}

.cart-item__discounted-prices dd {
  margin: 0;
}

.cart-item__discounted-prices .cart-item__old-price {
  font-size: 1.4rem;
}

.cart-item__old-price {
  opacity: 0.7;
}

.cart-item__final-price {
  font-weight: 400;
}

.product-option {
  font-size: 1.4rem;
  word-break: break-word;
  line-height: calc(1 + 0.5 / var(--font-body-scale));
}

.cart-item cart-remove-button {
  display: flex;
}

.cart-item .cart-remove-button {
  padding: 0;
  min-width: 40px;
  min-height: 40px;
}

.cart-item .cart-remove-button--change {
  min-height: 20px;
}

cart-remove-button .button:before,
cart-remove-button .button:after {
  content: none;
}

.cart-item .loading__spinner {
  top: 0;
  left: auto;
  right: auto;
  bottom: 0;
  padding: 0;
}

@media screen and (min-width: 750px) {
  .cart-item .loading__spinner {
    right: 0;
    padding-top: 4.5rem;
    bottom: auto;
  }
}
.cart-item .loading__spinner:not(.hidden) ~ * {
  visibility: hidden;
}

.cart-item__error {
  display: flex;
  align-items: flex-start;
  margin-top: 0.2rem;
  width: -moz-min-content;
  width: min-content;
  min-width: 100%;
}

.cart-item__error-text {
  font-size: 1.2rem;
  line-height: calc(1 + 0.2 / var(--font-body-scale));
  order: 1;
}

.cart-item__error-text + svg {
  flex-shrink: 0;
  width: 1.2rem;
  margin-right: 0.5rem;
  margin-top: 0.1rem;
}

.cart-item__error-text:empty + svg {
  display: none;
}

.product-option + .product-option {
  margin-top: 0.4rem;
}

.product-option * {
  display: inline;
  margin: 0;
}

@media screen and (max-width: 749px) {
  .cart-items {
    display: block;
    width: 100%;
  }
  .cart-item {
    gap: 1.5rem;
    margin-bottom: 3.5rem;
  }
  .cart-item:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 750px) {
  .cart-item__price-wrapper > *:only-child:not(.cart-item__discounted-prices) {
    margin-top: 1rem;
  }
}
@media screen and (min-width: 749px) and (max-width: 990px) {
  .cart-items .quantity-popover__info-button {
    padding-left: 1.5rem;
  }
}
.cart__progress-bar {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.cart__progress-bar--header {
  padding-top: 0.8rem;
  padding-bottom: 0.7rem;
  background: #faf3db;
  border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

.cart__progress-bar--footer {
  padding-top: 0;
  padding-bottom: 0;
  border-bottom: 1px solid rgb(var(--color-foreground), 0.5);
}

.mcp-upsell-progress-bar {
  position: relative;
  margin: 0;
  z-index: 0;
  font-size: 14px;
  padding-top: 20px;
}

.mcp-upsell-progress-bar .upsell__msg {
  margin: 1rem auto 0;
}

.upsell__msg p {
  font-size: 13px;
}

.mcp-upsell-progress-bar .upsell__list-wrapper {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 0;
  list-style: none;
  height: 23px;
  width: 90%;
  margin-top: 5px;
}

.mcp-upsell-progress-bar .upsell__list-item {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 45px;
  transform: translateX(-22px);
}

.mcp-upsell-progress-bar .upsell__image {
  display: block;
  width: auto;
  max-height: 40px;
  padding-bottom: 2px;
}

.mcp-upsell-progress-bar .upsell__price {
  font-size: 11px;
  font-weight: bold;
  position: absolute;
  bottom: 8px;
  margin: 0;
  display: block;
  transform: translateX(-40%);
}

.mcp-upsell-progress-bar .upsell__marker {
  position: absolute;
  top: -2px;
  display: block;
  margin: 0 0 0 -1px;
  overflow: hidden;
  width: 2px;
  height: 10px;
  background: rgba(var(--color-foreground));
}

.mcp-upsell-progress-bar .upsell__bar,
.mcp-upsell-progress-bar .upsell__progress {
  min-height: 5px;
  padding: 0;
}

.mcp-upsell-progress-bar .upsell__bar-wrapper {
  height: 5px;
  background: rgba(var(--color-foreground), 0.2);
  margin: 0;
}

.mcp-upsell-progress-bar .upsell__bar {
  position: relative;
  z-index: 1;
  height: 6px;
  margin: 0;
  max-width: 90%;
}

.mcp-upsell-progress-bar .upsell__progress {
  background: rgba(var(--color-foreground));
}

.mcp-upsell-progress-bar .upsell__title {
  font-size: 10px;
  line-height: 1;
  max-width: 60px;
}

.cart-cross-sells__slider {
  display: flex;
  position: relative;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  margin-right: -3rem;
  padding-right: 3rem;
  list-style: none;
  flex-wrap: inherit;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
}

.cart-collection-empty__slider {
  display: flex;
  position: relative;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  margin-right: -3rem;
  padding-right: 3rem;
  list-style: none;
  flex-wrap: inherit;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
}

.cart-collection-empty__slide:last-of-type {
  margin-right: 1.5rem;
}

.cart-cross-sells__slide {
  flex: 0 0 30rem;
}

.cart-collection-empty__slide {
  flex: 0 0 16rem;
}

.cart-cross-sells__slide:last-of-type {
  padding-right: 1.5rem;
}

@media screen and (min-width: 750px) {
  .cart-cross-sells__slide {
    flex: 0 0 33rem;
  }
  .cart-cross-sells__slider,
  .cart-collection-empty__slider {
    margin-right: -7rem;
    padding-right: 7rem;
  }
}
/* Hide scrollbar for Chrome, Safari and Opera */
.scroll-wrapper::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.scroll-wrapper {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

.cart-upsell__price .price-item {
  font-size: 12px;
}

.cart-product-slider .cart-cross-sell__wrapper {
  border: 1px solid rgb(var(--color-background));
}
.cart-product-slider .product-form__input .select {
  max-width: -moz-fit-content;
  max-width: fit-content;
}
.cart-product-slider .select__select {
  height: 25px;
  padding: 0.1rem 3rem 0 1rem;
}
.cart-product-slider .select .icon--caret {
  right: 1rem;
}
.cart-product-slider .product-form__input {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cart-product-slider .form__label,
.cart-product-slider .product-form__input--dropdown {
  margin-bottom: 0;
}
.cart-product-slider .loading__spinner {
  left: -20px;
  z-index: 1;
  top: 2px;
  width: 1.4rem;
}

.cart-product-slider--gift .cart-cross-sell__wrapper {
  border: 1px solid rgb(var(--color-foreground), 0.25);
}

:root {
  --mega-nav-height: 55px;
  /*--mega-nav-content-max-width: calc(var(--page-width) - 3rem);*/
  --mega-nav-content-max-width: var(--page-width);
  /* set max-width for navigation content */
}

@media (min-width: 1024px) {
  :root {
    --mega-nav-height: 80px;
  }
}
.mega-nav {
  height: var(--mega-nav-height);
  width: 100%;
  z-index: 3;
  margin-left: auto;
  margin-right: auto;
}

.mega-nav__container {
  display: grid;
  align-items: center;
  width: calc(100% - 2.5rem);
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1280px) {
  .mega-nav__container {
    max-width: calc(var(--mega-nav-content-max-width) - 2.5rem);
  }
  .mega-nav--desktop .mega-nav__sub-nav {
    max-width: var(--mega-nav-content-max-width);
  }
}
/* logo */
.mega-nav__logo {
  display: inline-block;
  padding: 0.75rem;
  text-decoration: none;
  word-break: break-word;
}

/* mobile buttons */
.mega-nav__icon-btns {
  display: flex;
  align-items: center;
}

@media (min-width: 1024px) {
  header-drawer {
    display: none;
  }
  .mega-nav__icon-btns {
    padding-top: 1rem;
  }
}
.mega-nav__icon-btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 24px;
  cursor: pointer;
  transition: 0.2s;
}

/* label/divider */
.mega-nav__label,
.mega-nav__sub-item.mega-nav__sub-item--level-1 {
  font-family: var(--font-heading-family);
  font-size: 1.4rem;
}

/* card */
.mega-nav__card-title {
  position: absolute;
  font-family: var(--font-heading-family);
  display: flex;
  align-items: flex-end;
  padding: 1.5rem;
  width: 100%;
  height: 100%;
  color: white;
  z-index: 1;
}

.mega-nav__card-title:hover,
.mega-nav__sub-link--active .mega-nav__card-title {
  text-decoration: underline;
  text-underline-offset: 0.5rem;
}

.mega-nav__sub-items {
      padding-left: 2rem;
      padding-right: 2rem;
      padding-top: 3rem;
      padding-bottom: 3.5rem;
}

.mega-nav__sub-items-collections {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem;
      padding-left: 0.75rem;
      padding-right: 0.75rem;
}

.mega-nav__sub-items--border {
  border-right: 1px solid rgba(var(--color-foreground), 0.08);
}

.mega-nav--desktop .mega-nav__sub-nav-wrapper,
.mega-nav--desktop .mega-nav__label {
  display: none;
}

.mega-nav--desktop .mega-nav__sub-nav-wrapper {
  border-top: 1px solid rgba(var(--color-foreground), 0.08);
}

.mega-nav__sub-nav-wrapper .collections-banner__wrapper {
  border-bottom: 1px solid rgba(var(--color-foreground), 0.08);
}

.collections-banner.grid {
  grid-template-columns: 55% 45%;
}

.mega-nav--desktop .mega-nav__nav-inner {
  height: 100%;
  display: flex;
}

@media screen and (max-width: 1023px) {
  .mega-nav--desktop .mega-nav__nav {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .mega-nav--desktop .mega-nav__nav {
    display: flex;
    height: 100%;
  }
  .mega-nav--desktop .mega-nav__items {
    display: flex;
    height: 100%;
  }
  .mega-nav--desktop .mega-nav__nav-inner {
    display: flex;
    width: 100%;
    justify-content: space-between;
  }
}
.mega-nav--desktop .mega-nav__icons {
  display: flex;
  justify-content: flex-end;
  height: 100%;
  -moz-column-gap: 0.8rem;
       column-gap: 0.8rem;
}

.mega-nav__icons .shopify-app-block {
  max-width: 4.4rem;
  max-height: 4.4rem;
  overflow: hidden;
}

.mega-nav--desktop .mega-nav__item {
  display: flex;
  align-items: center;
}

.mega-nav--desktop .mega-nav__control {
  position: relative;
  font-family: var(--font-heading-family);
  display: flex;
  align-items: center;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-bottom: 0px;
  padding-top: 1rem;
  font-size: 1.4rem;
  height: 100%;
  transition: 0.2s;
}

.mega-nav--desktop .mega-nav__control::after {
  /* marker */
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100%;
  height: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity));
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;
}

.mega-nav--desktop .mega-nav__control .mega-nav__arrow-icon {
      margin-left: 0.5rem;
}

.mega-nav--desktop .mega-nav__control:hover {
  cursor: pointer;
}

.mega-nav--desktop .mega-nav__sub-nav-wrapper {
  position: absolute;
  top: var(--mega-nav-height);
  left: 0;
  width: 100%;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  max-height: calc(100vh - var(--mega-nav-height) - var(--mega-nav-offset-y, 0px));
  /* set --mega-nav-offset-y in JS */
  overflow: auto;
}

.mega-nav--desktop .mega-nav__sub-nav .mega-nav__label {
  display: block;
}

.mega-nav--desktop .mega-nav__sub-item:not(:last-child),
.mega-nav--desktop .mega-nav__label {
      margin-bottom: 0.5rem;
}

.mega-nav--desktop .mega-nav__sub-link {
      font-size: 1.4rem;
}

.mega-nav__sub-link:hover,
.mega-nav__sub-link--active {
  color: rgb(var(--color-foreground));
  text-decoration: underline;
  text-underline-offset: 0.5rem;
}

.mega-nav__sub-link--active:hover {
  text-decoration-thickness: 0.2rem;
}

.header__active-menu-item {
  text-decoration: underline;
  text-underline-offset: 0.5rem;
  transition: text-decoration-thickness var(--duration-short) ease;
}

.mega-nav__control:hover .header__active-menu-item {
  text-decoration: underline;
  text-underline-offset: 0.5rem;
  text-decoration-thickness: 0.2rem;
}

.header__menu-item:hover .header__active-menu-item {
  text-decoration-thickness: 0.2rem;
}

.mega-nav__control:hover span {
  text-decoration: underline;
  text-underline-offset: 0.5rem;
}

.mega-nav__control span {
  transition: -webkit-text-decoration var(--duration-short) ease;
  transition: text-decoration var(--duration-short) ease;
  transition: text-decoration var(--duration-short) ease, -webkit-text-decoration var(--duration-short) ease;
}

.mega-nav--desktop .mega-nav__sub-nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0 auto;
}

.mega-nav--desktop .mega-nav__item--expanded .mega-nav__sub-nav-wrapper {
  display: block;
}

.mega-nav--desktop .mega-nav__item--expanded .mega-nav__sub-nav {
  animation: mega-nav-entry-animation 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.mega-nav--desktop .mega-nav__icon-btn {
  border-radius: 50%;
}

.mega-nav--desktop .mega-nav__icon-btn:hover,
.mega-nav--desktop .mega-nav__icon-btn--state-b {
      background-color: rgb(17 24 39 / 0.05);
}

.menu-link--caps {
  font-size: 0.8em !important;
}

/* animations */
@keyframes mega-nav-entry-animation {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
#gtx-trans {
  visibility: hidden;
}

.locale-selectors__container {
  display: none;
}

.block__wrapper + .block__wrapper {
      margin-top: 1.5rem;
}

@media (min-width: 1024px) {
      .block__wrapper + .block__wrapper {
            margin-top: 1.5rem;
      }
}

.block__wrapper + .block__wrapper.button__wrapper--arrow {
      margin-top: 0.75rem;
}

@media (min-width: 1024px) {
      .block__wrapper + .block__wrapper.button__wrapper--arrow {
            margin-top: 0.75rem;
      }
}

.product-block__wrapper + .product-block__wrapper {
      margin-top: 1.5rem;
}

@media (min-width: 1024px) {
      .product-block__wrapper + .product-block__wrapper {
            margin-top: 1.5rem;
      }
}

.after\:absolute::after {
      content: var(--tw-content);
      position: absolute;
}

.after\:bottom-0::after {
      content: var(--tw-content);
      bottom: 0px;
}

.after\:left-0::after {
      content: var(--tw-content);
      left: 0px;
}

.after\:h-px::after {
      content: var(--tw-content);
      height: 1px;
}

.after\:w-full::after {
      content: var(--tw-content);
      width: 100%;
}

.after\:bg-gray-900\/10::after {
      content: var(--tw-content);
      background-color: rgb(17 24 39 / 0.1);
}

.after\:content-\[\'\'\]::after {
      --tw-content: '';
      content: var(--tw-content);
}

.hover\:border:hover {
      border-width: 1px;
}

.hover\:opacity-100:hover {
      opacity: 1;
}

.hover\:opacity-70:hover {
      opacity: 0.7;
}

.focus\:outline-none:focus {
      outline: 2px solid transparent;
      outline-offset: 2px;
}

@media (min-width: 640px) {
      .sm\:max-w-fit {
            max-width: -moz-fit-content;
            max-width: fit-content;
      }
      .sm\:text-xs {
            font-size: 1.2rem;
      }
}

@media (min-width: 768px) {
      .md\:top-6 {
            top: 1.5rem;
      }
      .md\:float-left {
            float: left;
      }
      .md\:mx-4 {
            margin-left: 1rem;
            margin-right: 1rem;
      }
      .md\:hidden {
            display: none;
      }
      .md\:w-\[23rem\] {
            width: 23rem;
      }
      .md\:max-w-\[60\%\] {
            max-width: 60%;
      }
      .md\:justify-center {
            justify-content: center;
      }
      .md\:border-l {
            border-left-width: 1px;
      }
      .md\:px-28 {
            padding-left: 7rem;
            padding-right: 7rem;
      }
      .md\:py-8 {
            padding-top: 2rem;
            padding-bottom: 2rem;
      }
      .md\:pb-6 {
            padding-bottom: 1.5rem;
      }
      .md\:pl-12 {
            padding-left: 3rem;
      }
      .md\:pl-\[20\%\] {
            padding-left: 20%;
      }
      .md\:pr-0 {
            padding-right: 0px;
      }
      .md\:text-2xl {
            font-size: 2.6rem;
      }
      .md\:text-4xl {
            font-size: 4rem;
      }
      .md\:text-lg {
            font-size: 1.8rem;
      }
}

@media (min-width: 1024px) {
      .lg\:top-14 {
            top: 3.5rem;
      }
      .lg\:mx-12 {
            margin-left: 3rem;
            margin-right: 3rem;
      }
      .lg\:mb-0 {
            margin-bottom: 0px;
      }
      .lg\:mr-0 {
            margin-right: 0px;
      }
      .lg\:mt-0 {
            margin-top: 0px;
      }
      .lg\:mt-1 {
            margin-top: 0.25rem;
      }
      .lg\:flex {
            display: flex;
      }
      .lg\:hidden {
            display: none;
      }
      .lg\:w-1\/2 {
            width: 50%;
      }
      .lg\:w-16 {
            width: 4rem;
      }
      .lg\:max-w-\[80\%\] {
            max-width: 80%;
      }
      .lg\:flex-row {
            flex-direction: row;
      }
      .lg\:flex-row-reverse {
            flex-direction: row-reverse;
      }
      .lg\:items-start {
            align-items: flex-start;
      }
      .lg\:justify-start {
            justify-content: flex-start;
      }
      .lg\:justify-between {
            justify-content: space-between;
      }
      .lg\:gap-40 {
            gap: 10rem;
      }
      .lg\:space-x-20 > :not([hidden]) ~ :not([hidden]) {
            --tw-space-x-reverse: 0;
            margin-right: calc(5rem * var(--tw-space-x-reverse));
            margin-left: calc(5rem * calc(1 - var(--tw-space-x-reverse)));
      }
      .lg\:p-14 {
            padding: 3.5rem;
      }
      .lg\:px-10 {
            padding-left: 2.5rem;
            padding-right: 2.5rem;
      }
      .lg\:px-16 {
            padding-left: 4rem;
            padding-right: 4rem;
      }
      .lg\:px-2 {
            padding-left: 0.5rem;
            padding-right: 0.5rem;
      }
      .lg\:px-24 {
            padding-left: 6rem;
            padding-right: 6rem;
      }
      .lg\:py-1 {
            padding-top: 0.25rem;
            padding-bottom: 0.25rem;
      }
      .lg\:py-10 {
            padding-top: 2.5rem;
            padding-bottom: 2.5rem;
      }
      .lg\:pb-1 {
            padding-bottom: 0.25rem;
      }
      .lg\:pb-16 {
            padding-bottom: 4rem;
      }
      .lg\:pt-10 {
            padding-top: 2.5rem;
      }
      .lg\:pt-12 {
            padding-top: 3rem;
      }
      .lg\:pt-3 {
            padding-top: 0.75rem;
      }
      .lg\:pt-8 {
            padding-top: 2rem;
      }
      .lg\:text-left {
            text-align: left;
      }
      .lg\:text-2xl {
            font-size: 2.6rem;
      }
      .lg\:text-3xl {
            font-size: 3.2rem;
      }
      .lg\:text-4xl {
            font-size: 4rem;
      }
      .lg\:text-6xl {
            font-size: 6rem;
      }
      .lg\:text-8xl {
            font-size: 8rem;
      }
      .lg\:text-lg {
            font-size: 1.8rem;
      }
      .lg\:text-xl {
            font-size: 2rem;
      }
}

@media (min-width: 1280px) {
      .xl\:px-16 {
            padding-left: 4rem;
            padding-right: 4rem;
      }
      .xl\:text-2xl {
            font-size: 2.6rem;
      }
      .xl\:text-base {
            font-size: 1.6rem;
      }
}

.\[\&\.active\]\:border-dark.active {
      border-color: rgb(var(--color-foreground));
}
<script>
document.addEventListener("DOMContentLoaded", function() {
    document.querySelectorAll(".visual-display__child").forEach(el => {
        let style = el.getAttribute("style");
        if (style && style.includes("conic-gradient")) {
            let match = style.match(/#([0-9a-fA-F]{6})/); // Extrait la couleur hexadécimale
            if (match) {
                el.style.background = "none !important";
                el.style.backgroundColor = match[0] + " !important";
            }
        }
    });
});
</script>

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL3pldGEtdGhlbWUuY3NzIiwibWFwcGluZ3MiOiJBQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO0FBQUE7QUFDQTtNQUFBO0FBQUE7QUFBQTtNQUFBO1lBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtZQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7WUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO1lBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtZQUFBO01BQUE7QUFBQTtBQUNBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO1dBQUE7QUFBQTtBQUFBO01BQUE7V0FBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO0FBQUE7QUFBQTtNQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7QUFBQTtBQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBQUE7TUFBQTtBQUFBO0FBT1U7QUFESjtNQUlBO0lBSkY7QUFPTTtBQUZKO01BQ0k7TUFDQTtJQUZOO0FDYko7OztDQUFBO0FBS0E7OztFQUdFO0VBQ0E7RUFDQTtFQUNBO0FEZ0JGOztBQ2JBOztFQUVFO0FEZ0JGOztBQ2JBOzs7OztDQUFBO0FBT0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7QURlRjs7QUNaQTs7O0NBQUE7QUFLQTtFQUNFO0VBQ0E7QURjRjs7QUNYQTs7OztDQUFBO0FBTUE7RUFDRTtFQUNBO0VBQ0E7QURhRjs7QUNWQTs7Q0FBQTtBQUlBO0VBQ0U7VUFBQTtBRFlGOztBQ1RBOztDQUFBO0FBSUE7Ozs7OztFQU1FO0VBQ0E7QURXRjs7QUNSQTs7Q0FBQTtBQUlBO0VBQ0U7RUFDQTtBRFVGOztBQ1BBOzs7Q0FBQTtBQUtBOzs7O0VBSUU7RUFDQTtBRFNGOztBQ05BOztDQUFBO0FBSUE7RUFDRTtBRFFGOztBQ0xBOztDQUFBO0FBSUE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7QURPRjs7QUNKQTtFQUNFO0FET0Y7O0FDSkE7RUFDRTtBRE9GOztBQ0pBOzs7O0NBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtBRE1GOztBQ0hBOzs7O0NBQUE7QUFNQTs7Ozs7RUFLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURLRjs7QUNGQTs7Q0FBQTtBQUlBOztFQUVFO0FESUY7O0FDREE7OztDQUFBO0FBS0E7Ozs7RUFJRTtFQUNBO0VBQ0E7QURHRjs7QUNBQTs7Q0FBQTtBQUlBO0VBQ0U7QURFRjs7QUNDQTs7Q0FBQTtBQUlBO0VBQ0U7QURDRjs7QUNFQTs7Q0FBQTtBQUlBO0VBQ0U7QURBRjs7QUNHQTs7Q0FBQTtBQUlBOztFQUVFO0FEREY7O0FDSUE7OztDQUFBO0FBS0E7RUFDRTtFQUNBO0FERkY7O0FDS0E7O0NBQUE7QUFJQTtFQUNFO0FESEY7O0FDTUE7OztDQUFBO0FBS0E7RUFDRTtFQUNBO0FESkY7O0FDT0E7O0NBQUE7QUFJQTtFQUNFO0FETEY7O0FDUUE7O0NBQUE7QUFJQTs7Ozs7Ozs7Ozs7OztFQWFFO0FETkY7O0FDU0E7RUFDRTtFQUNBO0FETkY7O0FDU0E7RUFDRTtBRE5GOztBQ1NBOzs7RUFHRTtFQUNBO0VBQ0E7QURORjs7QUNTQTs7Q0FBQTtBQUlBO0VBQ0U7QURQRjs7QUNVQTs7O0NBQUE7QUFLQTtFQUVFO0VBQ0E7QURSRjtBQ0tBOztFQUVFO0VBQ0E7QURSRjs7QUNXQTs7Q0FBQTtBQUlBOztFQUVFO0FEVEY7O0FDWUE7O0NBQUE7QUFHQTtFQUNFO0FEVEY7O0FDWUE7Ozs7Q0FBQTtBQU1BOzs7Ozs7OztFQVFFO0VBQ0E7QURWRjs7QUNhQTs7Q0FBQTtBQUlBOztFQUVFO0VBQ0E7QURYRjs7QUNjQTs7Q0FBQTtBQUlBO0VBQ0U7QURaRjs7QUV4VkE7RUFDRTtBRjJWRjtBRXpWSTtNQUFBO01BQUE7QUFBQTtBQUdBO01BQUE7QUFBQTtBQUFBO01BQUE7WUFBQTtNQUFBO0FBQUE7QUFHQTtNQUFBO0FBQUE7QUFBQTtNQUFBO1lBQUE7TUFBQTtBQUFBO0FBRUY7RUFDRTtBRjRWSjs7QUV4VkE7RUFDRTtBRjJWRjs7QUV4VkE7RUFDRTtFQUNBO0FGMlZGOztBRXhWQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUYyVkY7O0FFeFZBO0VBQ0U7SUFDRTtFRjJWRjtBQUNGO0FFdlZFO0VBQ0U7QUZ5Vko7QUV2VkU7RUFDRTtFQUNBO0VBQ0E7QUZ5Vko7QUV4Vkk7RUFDRTtBRjBWTjs7QUVuVkk7TUFBQTtNQUFBO0FBQUE7O0FBS0Y7RUFDRTtFQUNBO0FGcVZKO0FFblZFO0VBQ0U7QUZxVko7QUVsVkk7TUFBQTtNQUFBO0FBQUE7QUFFRjtFQUNFO0FGcVZKO0FFblZFO0VBQ0U7QUZxVko7QUVuVkU7RUFDRTtBRnFWSjtBRW5WRTtFQUNFO0FGcVZKO0FFblZFO0VBQ0U7QUZxVko7QUVuVkU7RUFDRTtBRnFWSjtBRW5WRTtFQUNFO0FGcVZKO0FFblZFO0VBQ0U7QUZxVko7QUVuVkU7RUFDRTtFQUNBO0VBQ0E7QUZxVko7QUVwVkk7RUFDRTtBRnNWTjs7QUVqVkE7RUFDSTtFQUNBO0VBQ0E7QUZvVko7O0FFalZFO0VBQ0U7QUZvVko7O0FFalZFO0VBQ0U7RUFDQTtBRm9WSjs7QUVqVkU7RUFDRTtBRm9WSjs7QUVqVkU7RUFDRTtJQUNFO0VGb1ZKO0VFbFZFO0lBQ0U7RUZvVko7QUFDRjtBRWpWRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUZtVko7O0FFaFZFO0VBQ0U7SUFDRTtFRm1WSjtBQUNGO0FFaFZFO0VBQ0U7SUFDRTtFRmtWSjtFRWhWRTtJQUNFO0lBQ0E7RUZrVko7RUVoVkU7SUFDRTtJQUNBO0VGa1ZKO0FBQ0Y7QUUvVUU7O0VBRUU7QUZpVko7O0FFOVVFO0VBQ0U7RUFDQTtBRmlWSjs7QUU5VUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBRmlWSjs7QUU5VUU7RUFDRTtFQUNBO0VBQ0E7QUZpVko7O0FFOVVFO0VBQ0U7QUZpVko7O0FFN1VJO01BQUE7TUFBQTtFQUFBO0FBQUE7O0FBQUE7TUFBQTtNQUFBO0FBQUE7O0FBQUE7TUFBQTtBQUFBOztBQUFBO01BQUE7WUFBQTtNQUFBO0FBQUE7O0FBQUE7TUFBQTtBQUFBOztBQUFBO01BQUE7WUFBQTtNQUFBO0FBQUE7O0FBQUE7RUFBQTtBQUFBOztBQUFBO01BQUE7WUFBQTtNQUFBO0FBQUE7O0FBSUE7TUFBQTtNQUFBO01BQUE7RUFBQTtBQUFBOztBQUFBO01BQUE7TUFBQTtBQUFBOztBQUFBO01BQUE7QUFBQTs7QUFBQTtNQUFBO1lBQUE7TUFBQTtBQUFBOztBQUFBO01BQUE7QUFBQTs7QUFBQTtNQUFBO1lBQUE7TUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtNQUFBO1lBQUE7TUFBQTtBQUFBOztBQURGO0VBRUU7QUZpVko7O0FHbGhCQTtBQUNBO0FBRUE7O0VBRUU7RUFDQTtBSG9oQkY7O0FHamhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSG9oQko7O0FHamhCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7T0FBQTtBSG9oQko7O0FHamhCQTs7Ozs7OztFQU9JO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSG9oQko7O0FHamhCQTs7OztFQUlJO0VBQ0E7QUhvaEJKOztBR2poQkE7RUFDSTtBSG9oQko7O0FHamhCQTtFQUNJO0FIb2hCSjs7QUdoaEJBOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO09BQUE7RUFDQTtBSG1oQko7O0FHaGhCQTs7Ozs7O0VBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIbWhCSjs7QUcvZ0JBOzs7O0VBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7QUhnaEJKOztBRzdnQkE7Ozs7RUFJSTtFQUNBO0FIZ2hCSjs7QUczZ0JBO0VBQ0k7RUFDQTtFQUNBO0FIOGdCSjs7QUczZ0JBO0VBQ0k7QUg4Z0JKOztBRzNnQkE7Ozs7Ozs7RUFPSTtFQUNBO0FIOGdCSjs7QUcxZ0JBOzs7RUFHSTtBSDZnQko7O0FHMWdCQTtFQUdJO0FINmdCSjs7QUdoaEJBOzs7RUFHSTtBSDZnQko7O0FHMWdCQTs7OztFQUlJO0FINmdCSjs7QUcxZ0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUg2Z0JKOztBRzFnQkE7RUFDSTtFQUNBO0VBQ0E7QUg2Z0JKOztBRzFnQkE7QUFFQTs7Ozs7Ozs7RUFRQTtFQUNJO0FINGdCSjs7QUd6Z0JBO0VBQ0k7RUFDQTtBSDRnQko7O0FHemdCQTtFQUNJO0VBQ0E7QUg0Z0JKOztBR3pnQkE7RUFDSTtJQUNJO0VINGdCTjtBQUNGO0FHemdCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIMmdCSjs7QUd4Z0JBO0VBQ0k7RUFBQTtBSDJnQko7O0FHeGdCQTtFQUNJO0FIMmdCSjs7QUk3dUJBOzs7Ozs7Q0FBQTtBQVFBO0VBQ0U7QUordUJGOztBSTV1QkE7RUFDRTtBSit1QkY7O0FJNXVCQTtFQUNFO0FKK3VCRjs7QUk1dUJBO0VBQ0U7QUordUJGOztBSTV1QkE7RUFDRTtJQUNFO0VKK3VCRjtBQUNGO0FJNXVCQTtFQUNFOzs7SUFHRTtJQUNBO0VKOHVCRjtBQUNGO0FJM3VCQTtFQUNFO0lBQ0U7SUFDQTtFSjZ1QkY7RUkzdUJBO0lBQ0U7SUFDQTtFSjZ1QkY7RUkzdUJBO0lBQ0U7SUFDQTtFSjZ1QkY7QUFDRjtBSTF1QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBSjR1QkY7O0FJenVCQTtFQUNFO0VBQ0E7QUo0dUJGOztBSXp1QkE7RUFDRTtFQUNBO0VBQ0E7QUo0dUJGOztBSXp1QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKNHVCRjs7QUl6dUJBO0VBQ0U7QUo0dUJGOztBSXp1QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBSjR1QkY7O0FJenVCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSjR1QkY7O0FJeHVCQTtBQUNBO0VBQ0U7QUoydUJGOztBSXh1QkE7QUFDQTtFQUNFO0FKMnVCRjs7QUl4dUJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUoydUJGOztBSXh1QkE7RUFDRTtBSjJ1QkY7O0FJeHVCQTtFQUNFO0FKMnVCRjs7QUl4dUJBOztFQUVFO0VBQ0E7RUFDQTtBSjJ1QkY7O0FJeHVCQTtFQUNFO0FKMnVCRjs7QUl4dUJBO0VBQ0U7RUFDQTtBSjJ1QkY7O0FJeHVCQTtFQUNFO0FKMnVCRjs7QUl4dUJBO0VBQ0U7QUoydUJGOztBSXh1QkE7RUFDRTtFQUNBO0FKMnVCRjs7QUl4dUJBO0VBQ0U7RUFDQTtFQUNBO0FKMnVCRjs7QUl4dUJBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RUoydUJGO0FBQ0Y7QUl4dUJBO0VBQ0U7QUowdUJGOztBSXZ1QkE7RUFDRTtBSjB1QkY7O0FJdnVCQTtFQUNFO0lBQ0U7RUowdUJGO0FBQ0Y7QUl2dUJBO0VBQ0U7QUp5dUJGOztBSXR1QkE7RUFDRTtBSnl1QkY7O0FJdHVCQTtFQUNFO0FKeXVCRjs7QUl0dUJBO0VBQ0U7QUp5dUJGOztBSXR1QkE7RUFDRTtFQUNBO0tBQUE7RUFDQTtLQUFBO0VBQ0E7QUp5dUJGOztBSXR1QkE7RUFDRTtBSnl1QkY7O0FJdHVCQTtFQUNFO0VBQ0E7QUp5dUJGOztBSXR1QkE7RUFDRTtBSnl1QkY7O0FJdHVCQTtFQUlFO0FKc3VCRjs7QUludUJBO0VBQ0U7QUpzdUJGOztBSW51QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBSnN1QkY7O0FJbHVCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKcXVCRjs7QUlsdUJBO0VBQ0U7QUpxdUJGOztBSWp1QkE7RUFDRTtFQUNBO0FKb3VCRjs7QUlqdUJBO0VBQ0U7RUFDQTtBSm91QkY7O0FJanVCQTtFQUNFO0VBQ0E7QUpvdUJGOztBSWp1QkE7RUFDRTtFQUNBO0FKb3VCRjs7QUlqdUJBO0VBQ0U7O0lBRUU7RUpvdUJGO0VJanVCQTs7SUFFRTtFSm11QkY7RUlodUJBO0lBQ0U7RUprdUJGO0VJL3RCQTtJQUNFO0lBQ0E7SUFDQTtFSml1QkY7RUk5dEJBO0lBQ0U7SUFDQTtFSmd1QkY7QUFDRjtBSTd0QkE7RUFDRTtFQUNBO0FKK3RCRjs7QUk1dEJBOztFQUVFO0FKK3RCRjs7QUk1dEJBO0VBQ0U7QUordEJGOztBSTV0QkE7O0VBRUU7RUFDQTtBSit0QkY7O0FJNXRCQTs7RUFFRTtBSit0QkY7O0FJNXRCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FKK3RCRjs7QUk1dEJBO0VBQ0U7QUordEJGOztBSTV0QkE7RUFDRTtFQUNBO0FKK3RCRjs7QUk1dEJBO0VBQ0U7RUFDQTtBSit0QkY7O0FJNXRCQTtFQUNFO0FKK3RCRjs7QUk1dEJBO0VBQ0U7QUordEJGOztBSTV0QkE7RUFDRTtBSit0QkY7O0FJNXRCQTtFQUNFO0VBQ0E7QUordEJGOztBSTV0QkE7RUFDRTtFQUNBO0FKK3RCRjs7QUsva0NBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QUxrbENGOztBSy9rQ0E7RUFDRTtBTGtsQ0Y7O0FLL2tDQTtBQUNBO0VBQ0U7QUxrbENGOztBSy9rQ0E7RUFDRTtJQUNFO0VMa2xDRjtFSy9rQ0E7SUFDRTtFTGlsQ0Y7QUFDRjtBSzlrQ0E7RUFDRTtJQUNFO0VMZ2xDRjtFSzdrQ0E7SUFDRTtFTCtrQ0Y7RUs1a0NBOzs7SUFHRTtFTDhrQ0Y7RUsza0NBOzs7SUFHRTtFTDZrQ0Y7QUFDRjtBSzFrQ0E7RUFDRTtVQUFBO0FMNGtDRjs7QUt6a0NBOztFQUVFO0VBQ0E7QUw0a0NGOztBS3prQ0E7RUFDRTs7SUFFRTtFTDRrQ0Y7RUt6a0NBOztJQUVFO0VMMmtDRjtFS3hrQ0E7O0lBRUU7RUwwa0NGO0VLdmtDQTtJQUNFO0VMeWtDRjtFS3RrQ0E7SUFDRTtFTHdrQ0Y7RUtya0NBO0lBQ0U7RUx1a0NGO0VLcGtDQTtJQUNFO0VMc2tDRjtBQUNGO0FLbmtDQTtFQUNFO0FMcWtDRjs7QUtsa0NBO0VBQ0U7SUFDRTtJQUNBO0VMcWtDRjtBQUNGO0FLbGtDQTtFQUNFO0lBQ0U7RUxva0NGO0VLamtDQTtJQUNFO0VMbWtDRjtFS2hrQ0E7SUFDRTtFTGtrQ0Y7RUsvakNBO0lBQ0U7RUxpa0NGO0VLOWpDQTtJQUNFO0VMZ2tDRjtFSzdqQ0E7SUFDRTtFTCtqQ0Y7RUs1akNBO0lBQ0U7RUw4akNGO0VLM2pDQTtJQUNFO0lBQ0E7RUw2akNGO0VLMWpDQTtJQUNFO0lBQ0E7RUw0akNGO0VLempDQTtJQUNFO0lBQ0E7RUwyakNGO0VLeGpDQTtJQUNFO0lBQ0E7RUwwakNGO0VLdmpDQTtJQUNFO0lBQ0E7RUx5akNGO0VLdGpDQTtJQUNFO0lBQ0E7RUx3akNGO0VLcmpDQTtJQUNFO0lBQ0E7RUx1akNGO0VLcGpDQTtJQUNFO0lBQ0E7RUxzakNGO0VLbmpDQTtJQUNFO0lBQ0E7RUxxakNGO0FBQ0Y7QUtsakNBO0VBQ0U7SUFDRTtJQUNBO0VMb2pDRjtFS2pqQ0E7SUFDRTtFTG1qQ0Y7RUtoakNBO0lBQ0U7RUxrakNGO0FBQ0Y7QUsvaUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTGlqQ0Y7O0FLOWlDQTtFQUNFO0FMaWpDRjs7QUs5aUNBO0VBQ0U7RUFDQTtBTGlqQ0Y7O0FLOWlDQTs7RUFFRTtBTGlqQ0Y7O0FLOWlDQTs7RUFFRTtFQUNBO0FMaWpDRjs7QUs5aUNBO0VBQ0U7O0lBRUU7RUxpakNGO0VLOWlDQTs7SUFFRTtJQUNBO0VMZ2pDRjtFSzdpQ0E7SUFDRTtFTCtpQ0Y7RUs1aUNBO0lBQ0U7RUw4aUNGO0FBQ0Y7QUszaUNBO0VBQ0U7SUFDRTtFTDZpQ0Y7QUFDRjtBSzFpQ0E7O0VBRUU7QUw0aUNGOztBS3ppQ0E7RUFDRTs7SUFFRTtFTDRpQ0Y7RUt6aUNBO0lBQ0U7RUwyaUNGO0VLeGlDQTtJQUNFO0VMMGlDRjtFS3ZpQ0E7SUFDRTtJQUNBO0lBQ0E7RUx5aUNGO0VLdGlDQTtJQUNFO0VMd2lDRjtFS3JpQ0E7SUFDRTtJQUNBO0VMdWlDRjtFS3BpQ0E7SUFDRTtJQUNBO0lBQ0E7RUxzaUNGO0VLbmlDQTtJQUNFO0VMcWlDRjtFS2xpQ0E7SUFDRTtFTG9pQ0Y7RUtqaUNBO0lBQ0U7RUxtaUNGO0FBQ0Y7QUtoaUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxraUNGOztBSy9oQ0E7RUFDRTtJQUNFO0VMa2lDRjtFSy9oQ0E7SUFDRTtFTGlpQ0Y7RUs5aENBO0lBQ0U7SUFDQTtFTGdpQ0Y7RUs3aENBO0lBQ0U7SUFDQTtFTCtoQ0Y7RUs1aENBO0lBQ0U7SUFDQTtFTDhoQ0Y7RUszaENBO0lBQ0U7SUFDQTtFTDZoQ0Y7RUsxaENBO0lBQ0U7SUFDQTtFTDRoQ0Y7RUt6aENBO0lBQ0U7SUFDQTtFTDJoQ0Y7RUt4aENBO0lBQ0U7SUFDQTtFTDBoQ0Y7RUt2aENBO0lBQ0U7SUFDQTtFTHloQ0Y7RUt0aENBO0lBQ0U7SUFDQTtFTHdoQ0Y7QUFDRjtBS3JoQ0E7RUFDRTtJQUNFO0VMdWhDRjtFS3BoQ0E7O0lBRUU7RUxzaENGO0FBQ0Y7QUtuaENBO0VBQ0U7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMcWhDRjs7QUtsaENBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VMcWhDRjtFS2xoQ0E7SUFDRTtFTG9oQ0Y7RUtqaENBO0lBQ0U7RUxtaENGO0FBQ0Y7QUtoaENBO0VBQ0U7O0lBRUU7RUxraENGO0FBQ0Y7QUsvZ0NBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxpaENGOztBSzlnQ0E7RUFDRTtBTGloQ0Y7O0FLOWdDQTtFQUNFO0lBQ0U7RUxpaENGO0FBQ0Y7QUs5Z0NBO0VBQ0U7QUxnaENGOztBSzdnQ0E7RUFDRTtBTGdoQ0Y7O0FLN2dDQTtFQUNFO0lBQ0U7RUxnaENGO0FBQ0Y7QUs3Z0NBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RUwrZ0NGO0FBQ0Y7QUs1Z0NBO0VBQ0U7SUFDRTtFTDhnQ0Y7QUFDRjtBSzNnQ0E7RUFDRTtBTDZnQ0Y7O0FLMWdDQTtFQUNFO0FMNmdDRjs7QUsxZ0NBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTDZnQ0Y7O0FLMWdDQTtFQUNFO0lBQ0U7RUw2Z0NGO0VLMWdDQTtJQUNFO0lBQ0E7RUw0Z0NGO0FBQ0Y7QUt6Z0NBO0VBQ0U7SUFDRTtJQUNBO0VMMmdDRjtFS3hnQ0E7SUFDRTtFTDBnQ0Y7QUFDRjtBS3ZnQ0E7RUFDRTtBTHlnQ0Y7O0FLdGdDQTtFQUNFOzs7SUFHRTtFTHlnQ0Y7QUFDRjtBS3RnQ0E7RUFDRTs7O0lBR0U7RUx3Z0NGO0FBQ0Y7QUtyZ0NBO0VBQ0U7QUx1Z0NGOztBS3BnQ0E7RUFDRTtBTHVnQ0Y7O0FLcGdDQTtFQUNFO0lBQ0U7RUx1Z0NGO0FBQ0Y7QUtwZ0NBO0VBQ0U7RUFDQTtBTHNnQ0Y7O0FLbmdDQTs7O0VBR0U7QUxzZ0NGOztBS25nQ0E7OztFQUdFO0VBQ0E7QUxzZ0NGOztBS25nQ0E7RUFDRTs7SUFFRTtFTHNnQ0Y7RUtuZ0NBOztJQUVFO0VMcWdDRjtFS2xnQ0E7O0lBRUU7SUFDQTtFTG9nQ0Y7QUFDRjtBS2pnQ0E7RUFDRTtFQUNBO0FMbWdDRjs7QUtoZ0NBO0VBQ0U7RUFDQTtFQUNBO0FMbWdDRjs7QUtoZ0NBO0VBQ0U7QUxtZ0NGOztBS2hnQ0E7RUFDRTtJQUNFO0VMbWdDRjtBQUNGO0FLaGdDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMa2dDRjs7QUsvL0JBO0VBQ0U7RUFDQTtFQUNBO0FMa2dDRjs7QUsvL0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMa2dDRjs7QUsvL0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxrZ0NGOztBSy8vQkE7RUFDRTtFQUNBO0FMa2dDRjs7QUs5L0JBO0VBQ0U7RUFDQTtBTGlnQ0Y7O0FLNy9CQTtFQUNFO0VBQ0E7RUFDQTtBTGdnQ0Y7O0FLNS9CQTtFQUNFO0FMKy9CRjs7QUs1L0JBO0VBQ0U7RUFDQTtFQUNBO0FMKy9CRjs7QUszL0JBOztFQUVFO0FMOC9CRjs7QUszL0JBO0VBQ0U7Ozs7SUFJRTtJQUNBO0VMOC9CRjtFSzMvQkE7O0lBRUU7SUFDQTtFTDYvQkY7RUsxL0JBO0lBQ0U7RUw0L0JGO0FBQ0Y7QUt6L0JBO0VBQ0U7RUFDQTtBTDIvQkY7O0FLeC9CQTtFQUNFO0VBQ0E7QUwyL0JGOztBS3gvQkE7RUFDRTtFQUNBO0FMMi9CRjs7QUt4L0JBO0VBQ0U7RUFDQTtBTDIvQkY7O0FLeC9CQTtFQUNFO0VBQ0E7QUwyL0JGOztBS3gvQkE7RUFDRTtJQUNFO0VMMi9CRjtFS3gvQkE7SUFDRTtJQUNBO0VMMC9CRjtFS3YvQkE7SUFDRTtJQUNBO0VMeS9CRjtFS3QvQkE7SUFDRTtJQUNBO0VMdy9CRjtFS3IvQkE7SUFDRTtJQUNBO0VMdS9CRjtFS3AvQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FBQTtFQW9DQTs7SUFFRTtFTHEvQkY7RUtsL0JBOzs7Ozs7Ozs7OztNQUFBO0FMKy9CRjtBS2ovQkE7RUFDRTtBTG0vQkY7O0FLaC9CQTtBQUNBOztFQUVFO0FMbS9CRjs7QUtoL0JBO0FBQ0E7RUFDRTtBTG0vQkY7O0FLaC9CQTtFQUNFO0VBQ0E7RUFFQTtBTGsvQkY7O0FLLytCQTtFQUNFO0lBQ0U7RUxrL0JGO0FBQ0Y7QUsvK0JBO0VBQ0U7QUxpL0JGOztBSzkrQkE7RUFDRTtBTGkvQkY7O0FLOStCQTs7O0VBR0U7QUxpL0JGOztBSzkrQkE7O0VBRUU7QUxpL0JGOztBSzkrQkE7RUFDRTtBTGkvQkY7O0FLOStCQTtFQUNFO0FMaS9CRjs7QUs5K0JBO0VBQ0U7QUxpL0JGOztBSzkrQkE7RUFDRTtFQUNBO0FMaS9CRjs7QUs3K0JFO0VBQ0U7RUFDQTtFQUNBO0FMZy9CSjtBSy8rQkk7RUFDRTtFQUNBO0FMaS9CTjtBSy8rQkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMaS9CTjtBSzkrQkU7RUFDRTtBTGcvQko7O0FLNStCQTtFQUNFO0lBQ0U7SUFDQTtFTCsrQkY7QUFDRjtBSzUrQkE7RUFDRTtJQUdFO0VMNCtCRjtFS3orQkE7SUFHRTtFTHkrQkY7QUFDRjtBS3QrQkE7QUFDQTtFQUNFO0lBQ0U7RUx3K0JGO0FBQ0Y7QUtwK0JFO01BQUE7QUFBQTs7QUFJQTtNQUFBO01BQUE7TUFBQTtBQUFBOztBQUdGO0VBQ0U7RUFDQTtBTHUrQkY7O0FLbitCRTtNQUFBO0FBQUE7O0FBQUE7TUFBQTtZQUFBO01BQUE7QUFBQTs7QUFJQTtNQUFBO0FBQUE7O0FBQUE7TUFBQTtZQUFBO01BQUE7QUFBQTs7QUFJQTtNQUFBO01BQUE7TUFBQTtNQUFBO0FBQUE7O0FBQUE7TUFBQTtZQUFBO1lBQUE7WUFBQTtNQUFBO0FBQUE7O0FBSUE7TUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0lBQUE7RUFBQTtBQUFBOztBQUFBO0VBQUE7QUFBQTs7QUFBQTtNQUFBO1lBQUE7TUFBQTtBQUFBOztBQUlBO01BQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7RUFBQTtJQUFBO0VBQUE7QUFBQTs7QUFBQTtFQUFBO0FBQUE7O0FBQUE7TUFBQTtZQUFBO01BQUE7QUFBQTs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtJQUFBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUx1K0JGO0VLcitCQTtJQUNFO0lBQ0E7RUx1K0JGO0VLcitCQTtJQUNFO0lBQ0E7SUFDQTtFTHUrQkY7RUtyK0JBO0lBQ0U7RUx1K0JGO0FBQ0Y7QUtuK0JBO0VBQ0U7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxxK0JGOztBS24rQkE7RUFDRTtFQUNBO0FMcytCRjs7QUtwK0JBO0VBQ0U7RUFDQTtBTHUrQkY7O0FLcitCQTtFQUNFO0FMdytCRjs7QUtyK0JBO0VBQ0U7SUFDRTtJQUNBO0VMdytCRjtFS3QrQkE7SUFDRTtFTHcrQkY7QUFDRjtBTXQ4REE7RUFDRTtJQUNFO0lBQ0E7RU53OERGO0FBQ0Y7QU1yOERBO0VBQ0U7SUFDRTtFTnU4REY7QUFDRjtBTXA4REE7RUFDRTtFQUNBO0VBQ0E7QU5zOERGOztBTW44REE7RUFDRTtJQUNFO0lBQ0E7RU5zOERGO0FBQ0Y7QU1uOERBO0VBQ0U7SUFDRTtFTnE4REY7QUFDRjtBTWw4REE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FObzhERjs7QU1qOERBO0VBQ0U7SUFDRTtJQUNBO0VObzhERjtBQUNGO0FNajhEQTtFQUNFO0FObThERjs7QU1oOERBO0VBQ0U7RUFDQTtBTm04REY7O0FNaDhEQTtFQUNFO0lBQ0U7RU5tOERGO0FBQ0Y7QU1oOERBO0VBQ0U7QU5rOERGOztBTS83REE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBTms4REY7O0FNLzdEQTtFQUNFO0FOazhERjs7QU0vN0RBO0VBQ0U7SUFDRTtFTms4REY7RU0vN0RBO0lBQ0U7RU5pOERGO0VNOTdEQTtJQUNFO0lBQ0E7RU5nOERGO0FBQ0Y7QU03N0RBO0VBQ0U7QU4rN0RGOztBTTU3REE7RUFDRTtBTis3REY7O0FNNTdEQTtFQUNFO0FOKzdERjs7QU0zN0RFO0VBQ0U7QU44N0RKO0FNNTdERTtFQUNFO0FOODdESjs7QU0xN0RBO0VBQ0U7QU42N0RGOztBTTE3REE7RUFDRTtJQUNFO0VONjdERjtFTTM3REE7SUFDRTtJQUNBO0VONjdERjtFTTE3REE7SUFDRTtFTjQ3REY7RU0xN0RBO0lBQ0U7SUFDQTtFTjQ3REY7RU16N0RBO0lBQ0U7RU4yN0RGO0FBQ0Y7QU14N0RBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RU4wN0RGO0VNeDdEQTtJQUNFO0lBQ0E7SUFDQTtFTjA3REY7QUFDRjtBT2xsRUE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUG9sRUY7O0FPamxFQTs7RUFFRTtBUG9sRUY7O0FPamxFQTs7RUFFRTtBUG9sRUY7O0FPamxFQTtFQUNFO0VBQ0E7RUFDQTtBUG9sRUY7O0FPaGxFRTtFQUNFO0VBQ0E7QVBtbEVKO0FPamxFRTs7OztFQUlFO0FQbWxFSjs7QU85a0VFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBpbEVKO0FPOWtFRTtFQUNFO0FQZ2xFSjtBTzdrRUU7RUFDRTtBUCtrRUo7QU81a0VFO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFUDhrRUo7RU8za0VFO0lBQ0U7SUFDQTtJQUNBO0VQNmtFSjtBQUNGOztBT3prRUE7RUFDRTtFQUNBO0VBQ0E7QVA0a0VGOztBT3prRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQNGtFRjs7QVF4cUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUjJxRUo7O0FReHFFQTtFQUNJO0FSMnFFSjs7QVF4cUVBO0VBQ0k7QVIycUVKOztBUXhxRUE7RUFDSTtFQUNBO0FSMnFFSjs7QVF4cUVBO0VBQ0c7QVIycUVIOztBUXZxRUk7RUFDSTtFQUNBO0FSMHFFUjtBUXhxRUk7RUFDSTtBUjBxRVI7QVF4cUVJO0VBQ0k7QVIwcUVSO0FReHFFSTtFQUNJO0VBQ0E7QVIwcUVSO0FReHFFSTtFQUNJO0FSMHFFUjtBUXhxRUk7RUFDSTtFQUNBO0FSMHFFUjtBUXhxRUk7RUFDSTtFQUNBO0FSMHFFUjs7QVFycUVBO0VBQ1E7RUFDQTtBUndxRVI7QVF2cUVJO0VBQ0k7QVJ5cUVSO0FRdnFFSTtFQUNJO0VBQ0E7QVJ5cUVSOztBUXJxRUE7RUFDSTtBUndxRUo7O0FTNXVFQTtFQUNFO0VBQ0E7RUFDQTtBVCt1RUY7O0FTNXVFQTtFQUNFO0FUK3VFRjs7QVM1dUVBO0VBQ0U7SUFDRTtFVCt1RUY7QUFDRjtBUzV1RUE7RUFDRTtJQUNFO0VUOHVFRjtBQUNGO0FTM3VFQTtFQUNFO0lBQ0U7RVQ2dUVGO0FBQ0Y7QVMxdUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUNHVFRjs7QVN6dUVBO0VBQ0U7QVQ0dUVGOztBU3p1RUE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VUNHVFRjtFU3p1RUE7RUFDQTtJQUNFO0lBQ0E7SUFDQTtFVDJ1RUY7RVN4dUVBO0lBQ0U7SUFDQTtJQUNBO0VUMHVFRjtFU3Z1RUE7SUFDRTtFVHl1RUY7RVN0dUVBO0lBQ0U7RVR3dUVGO0FBQ0Y7QVNydUVBOzs7RUFHRTtFQUNBO0FUdXVFRjs7QVNwdUVBO0VBQ0U7SUFDRTtFVHV1RUY7QUFDRjtBU3B1RUE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFVHN1RUY7RVNudUVBO0lBQ0U7SUFDQTtFVHF1RUY7RVNsdUVBO0lBQ0U7SUFDQTtFVG91RUY7RVNqdUVBO0lBQ0U7RVRtdUVGO0FBQ0Y7QVNodUVBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VUa3VFRjtFUy90RUE7RUFDQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VUaXVFRjtFUzl0RUE7SUFDRTtJQUNBO0lBQ0E7RVRndUVGO0VTN3RFQTtJQUNFO0VUK3RFRjtFUzV0RUE7SUFDRTtFVDh0RUY7QUFDRjtBUzN0RUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVDZ0RUY7O0FTMXRFQTtFQUNFO0VBQ0E7QVQ2dEVGOztBUzF0RUE7RUFDRTtJQUNFO0VUNnRFRjtFUzF0RUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFVDR0RUY7RVN6dEVBO0VBQ0E7Ozs7O0lBQUE7RUFPQTtJQUNFO0lBQ0E7SUFDQTtFVDB0RUY7RVN2dEVBOztJQUFBO0VBSUE7OztJQUFBO0VBS0E7RUFDQTtJQUNFO0VUdXRFRjtFU3B0RUE7SUFDRTtFVHN0RUY7RVNudEVBOztJQUFBO0VBSUE7O0lBQUE7RUFJQTtJQUNFO0VUbXRFRjtFU2h0RUE7SUFDRTtFVGt0RUY7RVMvc0VBO0lBQ0U7RVRpdEVGO0VTOXNFQTtJQUNFO0VUZ3RFRjtBQUNGO0FTN3NFQTtFQUNFO0lBQ0U7RVQrc0VGO0FBQ0Y7QVM1c0VBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7QVQ2c0VGOztBUzFzRUE7RUFDRTtFQUNBO0VBQ0E7QVQ2c0VGOztBUzFzRUE7RUFDRTtFQUNBO0FUNnNFRjs7QVMxc0VBO0VBQ0U7QVQ2c0VGOztBUzFzRUE7RUFDRTtFQUNBO0VBQ0E7QVQ2c0VGOztBUzFzRUE7RUFDRTtFQUNBO0FUNnNFRjs7QVMxc0VBO0VBQ0U7RUFDQTtFQUNBO0FUNnNFRjs7QVMxc0VBO0VBQ0U7SUFDRTtFVDZzRUY7QUFDRjtBUzFzRUE7RUFDRTtBVDRzRUY7O0FTenNFQTtFQUNFO0lBQ0U7RVQ0c0VGO0FBQ0Y7QVN6c0VBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUMnNFRjs7QVN4c0VBO0VBQ0U7QVQyc0VGOztBU3hzRUE7RUFDRTtJQUNFO0VUMnNFRjtBQUNGO0FTeHNFQTtFQUNFO0FUMHNFRjs7QVN2c0VBOztFQUVFO0FUMHNFRjs7QVN2c0VBOzs7RUFHRTtBVDBzRUY7O0FTdnNFQTtFQUNFO0VBQ0E7QVQwc0VGOztBU3ZzRUE7RUFDRTtBVDBzRUY7O0FTdnNFQTtFQUNFO0VBQ0E7QVQwc0VGOztBU3ZzRUE7RUFDRTtFQUNBO0VBQ0E7QVQwc0VGOztBU3ZzRUE7RUFDRTtJQUNFO0VUMHNFRjtBQUNGO0FTdnNFQTtFQUNFO0lBQ0U7RVR5c0VGO0FBQ0Y7QVN0c0VBOzs7O0VBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUdXNFRjs7QVNwc0VBO0VBQ0U7QVR1c0VGOztBU3BzRUE7RUFDRTtBVHVzRUY7O0FTcHNFQTtFQUNFO0VBQ0E7RUFDQTtBVHVzRUY7O0FTcHNFQTtFQUNFO0FUdXNFRjs7QVNwc0VBO0VBQ0U7QVR1c0VGOztBU3BzRUE7O0VBRUU7QVR1c0VGOztBU3JzRUE7O0VBRUU7QVR3c0VGOztBU3JzRUE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUd3NFRjs7QVNyc0VBO0FBQ0E7RUFDRTtBVHdzRUY7O0FTcnNFQTtFQUNFO0FUd3NFRjs7QVNyc0VBO0VBQ0U7RUFDQTtFQUNBO0FUd3NFRjs7QVNyc0VBO0VBQ0U7RUFDQTtBVHdzRUY7O0FTcnNFQTtFQUNFO0VBQ0E7QVR3c0VGOztBU3JzRUE7RUFDRTtFQUNBO0FUd3NFRjs7QVVocEZBO0VBQ0U7QVZtcEZGOztBVWhwRkE7RUFDRTtBVm1wRkY7O0FVaHBGQTtFQUNFO0FWbXBGRjs7QVVocEZBO0VBQ0U7RUFDQTtBVm1wRkY7O0FVaHBGQTtFQUNFO0FWbXBGRjs7QVVocEZBO0VBQ0U7RUFDQTtBVm1wRkY7O0FVaHBGQTtFQUNFO0VBQ0E7QVZtcEZGOztBVWhwRkE7RUFDRTtFQUNBO0VBQ0E7QVZtcEZGOztBVWhwRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZtcEZGOztBVWhwRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWbXBGRjs7QVVocEZBO0VBQ0U7QVZtcEZGOztBVS9vRkU7RUFDRTtBVmtwRko7QVVocEZFO0VBQ0U7QVZrcEZKO0FVaHBGRTtFQUNFO0VBQ0E7RUFDQTtBVmtwRko7QVVocEZFO0VBQ0U7QVZrcEZKO0FVaHBGRTtFQUNFO0FWa3BGSjs7QVU5b0ZBO0VBQ0U7SUFDRTtJQUNBO0VWaXBGRjtFVS9vRkE7SUFDRTtJQUNBO0VWaXBGRjtBQUNGO0FVOW9GQTtFQUNFO0lBQ0U7SUFDQTtFVmdwRkY7RVU5b0ZBO0lBQ0U7SUFDQTtFVmdwRkY7QUFDRjtBV2p2RkE7RUFDRTtFQUNBO0VBQ0E7QVhtdkZGOztBV2h2RkU7RUFDRTtBWG12Rko7QVdqdkZFO0VBQ0U7QVhtdkZKO0FXanZGRTtFQUNFO0FYbXZGSjtBV2x2Rkk7RUFDRTtFQUNBO0VBQ0E7QVhvdkZOO0FXbHZGSTtFQUNFO0VBQ0E7QVhvdkZOOztBVy91RkE7RUFDRTtBWGt2RkY7O0FXaHZGQTtFQUNFO0VBQ0E7QVhtdkZGOztBVzl1RkE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VYaXZGRjtBQUNGO0FXOXVGQTtFQUNFO0VBQ0E7QVhndkZGOztBVzd1RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBWGd2RkY7O0FXN3VGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FYZ3ZGRjs7QVc3dUZBO0VBQ0U7RUFDQTtBWGd2RkY7O0FXN3VGQTtFQUNFO0FYZ3ZGRjs7QVc3dUZBO0VBQ0U7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUFBO0FYZ3ZGRjs7QVdodkZFO01BQUE7WUFBQTtNQUFBO0FBQUE7O0FBR0Y7RUFDRTtPQUFBO0FYZ3ZGRjs7QVc3dUZBO0VBQ0U7SUFDRTtJQUVBO0lBQ0E7RVgrdUZGO0VXNXVGQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VYOHVGRjtFVzN1RkE7SUFDRTtFWDZ1RkY7RVcxdUZBO0lBQ0U7SUFDQTtFWDR1RkY7QUFDRjtBV3p1RkE7RUFDRTtJQUNFO0lBQ0E7RVgydUZGO0FBQ0Y7QVd4dUZBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVgwdUZGO0VXdnVGQTtJQUNFO0VYeXVGRjtBQUNGO0FXdHVGQTtFQUNFO0lBQ0U7RVh3dUZGO0FBQ0Y7QVdydUZBO0VBQ0U7SUFDRTtFWHV1RkY7QUFDRjtBV3B1RkE7RUFDRTtJQUNFO0VYc3VGRjtBQUNGO0FXbnVGQTtFQUNFO0lBQ0U7RVhxdUZGO0FBQ0Y7QVdsdUZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVhvdUZGOztBV2p1RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtBWG91RkY7O0FXanVGQTtFQUNFO0FYb3VGRjs7QVdqdUZBO0FBQ0E7RUFDRTtFQUNBO0FYb3VGRjs7QVdqdUZBOztFQUVFO0VBQ0E7RUFDQTtBWG91RkY7O0FXaHVGQTtFQUNFO0VBQ0E7QVhtdUZGOztBV2h1RkE7RUFDRTtFQUNBO0FYbXVGRjs7QVcvdEZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVhrdUZGOztBVy90RkE7RUFDRTtBWGt1RkY7O0FXbnVGQTtFQUNFO0FYa3VGRjs7QVcvdEZBOztFQUVFO0FYa3VGRjs7QVcvdEZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYa3VGRjs7QVcvdEZBO0VBQ0U7QVhrdUZGOztBVy90RkE7QUFFQTtFQUNFO0FYaXVGRjs7QVc5dEZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVhpdUZGOztBVzl0RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBWGl1RkY7O0FXOXRGQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7QVhpdUZGOztBVzl0RkE7O0VBRUU7QVhpdUZGOztBVzl0RkE7RUFDRTtBWGl1RkY7O0FXOXRGQTtFQUNFO0FYaXVGRjs7QVc5dEZBO0VBQ0U7QVhpdUZGOztBVzl0RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYaXVGRjs7QVc5dEZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYaXVGRjs7QVc5dEZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYaXVGRjs7QVc3dEZBO0VBQ0U7QVhndUZGOztBVzd0RkE7RUFDRTtFQUNBO0FYZ3VGRjs7QVc3dEZBO0VBQ0U7QVhndUZGOztBVzd0RkE7RUFDRTtJQUNFO0VYZ3VGRjtBQUNGO0FXN3RGQTtFQUNFO0FYK3RGRjtBV2h1RkE7RUFDRTtBWCt0RkY7O0FXNXRGQTs7RUFFRTtFQUNBO0VBQ0E7QVgrdEZGOztBVzV0RkE7O0VBRUU7QVgrdEZGOztBVzd0RkE7RUFDRTtBWGd1RkY7O0FXN3RGQTtBQUNBOztFQUVFO0FYZ3VGRjs7QVc3dEZBO0FBQ0E7RUFDRTtBWGd1RkY7O0FXN3RGQTtFQUNFO0FYZ3VGRjs7QVc3dEZBO0VBQ0U7QVhndUZGOztBVzd0RkE7RUFDRTtFQUNBO0VBQ0E7QVhndUZGOztBVzd0RkE7O0VBRUU7RUFDQTtBWGd1RkY7O0FXN3RGQTtFQUNFO0lBQ0U7RVhndUZGO0FBQ0Y7QVc3dEZBO0FBQ0E7RUFDRTtBWCt0RkY7O0FXNXRGQTtFQUNFO0VBQ0E7QVgrdEZGOztBVzV0RkE7QUFDQTtFQUNFO0FYK3RGRjs7QVc1dEZBO0VBQ0U7QVgrdEZGOztBVzV0RkE7RUFDRTtBWCt0RkY7O0FXNXRGQTtFQUNFO0VBQ0E7RUFDQTtBWCt0RkY7O0FXNXRGQTtFQUNFO0FYK3RGRjs7QVc1dEZBO0VBQ0U7QVgrdEZGOztBVzV0RkE7RUFDRTtBWCt0RkY7O0FXNXRGQTtFQUNFO0FYK3RGRjs7QVc1dEZBO0VBQ0U7RUFDQTtBWCt0RkY7O0FXNXRGQTtFQUNFO0FYK3RGRjs7QVc1dEZBO0VBQ0U7SUFDRTtFWCt0RkY7RVc1dEZBO0lBQ0U7RVg4dEZGO0FBQ0Y7QVczdEZBO0VBQ0U7QVg2dEZGOztBVzF0RkE7Ozs7OztFQU1FO0FYNnRGRjs7QVcxdEZBOztFQUVFO0FYNnRGRjs7QVcxdEZBO0VBQ0U7QVg2dEZGOztBVzF0RkE7O0VBRUU7QVg2dEZGOztBVzF0RkE7Ozs7Ozs7RUFPRTtFQUNBO0VBQ0E7RUFDQTtBWDZ0RkY7O0FXMXRGQTtFQUNFO0FYNnRGRjs7QVcxdEZBO0VBQ0U7RUFDQTtBWDZ0RkY7O0FXMXRGQTs7RUFFRTtFQUNBO0FYNnRGRjs7QVcxdEZBO0VBQ0U7QVg2dEZGOztBVzF0RkE7RUFDRTtBWDZ0RkY7O0FXMXRGQTtFQUNFO0FYNnRGRjs7QVcxdEZBO0VBQ0U7RUFDQTtBWDZ0RkY7O0FXMXRGQTtFQUNFO0VBQ0E7QVg2dEZGOztBVzF0RkE7RUFDRTtBWDZ0RkY7O0FXMXRGQTtFQUNFO0FYNnRGRjs7QVcxdEZBO0FBQ0E7RUFDRTtBWDZ0RkY7O0FXMXRGQTtFQUNFO0lBQ0U7SUFDQTtFWDZ0RkY7RVcxdEZBO0lBQ0U7SUFDQTtFWDR0RkY7RVd6dEZBO0lBQ0U7RVgydEZGO0VXeHRGQTtJQUNFO0VYMHRGRjtFV3Z0RkE7SUFDRTtFWHl0RkY7QUFDRjtBV3R0RkE7RUFDRTs7SUFFRTtFWHd0RkY7RVdydEZBO0lBQ0U7RVh1dEZGO0VXcHRGQTs7SUFFRTtFWHN0RkY7RVdudEZBO0lBQ0U7RVhxdEZGO0VXbHRGQTtJQUNFO0VYb3RGRjtBQUNGO0FXanRGQTtFQUNFO0FYbXRGRjs7QVdodEZBO0VBQ0U7QVhtdEZGOztBV2h0RkE7RUFDRTtJQUNFO0VYbXRGRjtFV2h0RkE7SUFDRTtFWGt0RkY7QUFDRjtBVy9zRkE7RUFDRTtFQUNBO0FYaXRGRjs7QVc5c0ZBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhpdEZGOztBVzlzRkE7RUFDRTtBWGl0RkY7O0FXOXNGQTtFQUNFO0FYaXRGRjs7QVc5c0ZBO0VBQ0U7QVhpdEZGOztBVzlzRkE7RUFDRTtJQUNFO0VYaXRGRjtFVzlzRkE7SUFDRTtFWGd0RkY7RVc3c0ZBO0lBQ0U7SUFDQTtFWCtzRkY7QUFDRjtBVzVzRkE7RUFDRTtJQUNFO0VYOHNGRjtFVzNzRkE7O0lBRUU7RVg2c0ZGO0FBQ0Y7QVcxc0ZBO0VBQ0U7RUFDQTtBWDRzRkY7O0FXenNGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVg0c0ZGOztBV3pzRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYNHNGRjs7QVd6c0ZBO0VBQ0U7RUFDQTtBWDRzRkY7O0FXenNGQTtBQUNBO0VBQ0U7OztJQUdFO0lBQ0E7RVg0c0ZGO0FBQ0Y7QVcxc0ZBO0VBQ0U7RUFDQTtBWDRzRkY7O0FXenNGQTtFQUNFO0VBQ0E7QVg0c0ZGOztBV3pzRkE7RUFDRTtFQUNBO0FYNHNGRjs7QVd6c0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYNHNGRjs7QVd6c0ZBO0VBQ0U7RUFDQTtFQUNBO0FYNHNGRjs7QVd6c0ZBO0VBQ0U7RUFDQTtFQUNBO0FYNHNGRjs7QVd6c0ZBO0VBQ0U7RUFDQTtFQUNBO0FYNHNGRjs7QVd6c0ZBO0VBQ0U7QVg0c0ZGOztBV3pzRkE7OztFQUFBO0FBS0E7RUFDRTtJQUNFO0VYMnNGRjtFV3hzRkE7SUFDRTtFWDBzRkY7RVd2c0ZBO0lBQ0U7RVh5c0ZGO0VXdHNGQTtJQUNFO0VYd3NGRjtBQUNGO0FXcnNGQTtFQUNFOztJQUVFO0VYdXNGRjtFV3BzRkE7O0lBRUU7SUFDQTtFWHNzRkY7QUFDRjtBV25zRkE7RUFDRTtFQUNBO0VBQ0E7QVhxc0ZGOztBV2xzRkE7RUFDRTtBWHFzRkY7O0FXbHNGQTtFQUNFO0FYcXNGRjs7QVdsc0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHFzRkY7O0FXbHNGQTtFQUNFO0FYcXNGRjs7QVdsc0ZBO0VBQ0U7SUFDRTtFWHFzRkY7RVdsc0ZBO0lBQ0U7RVhvc0ZGO0VXanNGQTtJQUNFO0VYbXNGRjtFV2hzRkE7SUFDRTtJQUNBO0VYa3NGRjtBQUNGO0FXL3JGQTtFQUNFO0lBQ0U7RVhpc0ZGO0VXOXJGQTtJQUNFO0VYZ3NGRjtFVzdyRkE7SUFDRTtFWCtyRkY7RVc1ckZBO0lBQ0U7RVg4ckZGO0FBQ0Y7QVczckZBO0VBQ0U7QVg2ckZGOztBVzFyRkE7RUFDRTtFQUNBO0VBQ0E7QVg2ckZGOztBVzFyRkE7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWDRyRkY7O0FXenJGQTtFQUNFO0VBQ0E7RUFDQTtBWDRyRkY7O0FXenJGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYNHJGRjs7QVd4ckZBO0VBQ0U7QVgyckZGOztBV3RyRkE7RUFDRTtBWHlyRkY7O0FXcHJGQTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RVh1ckZGO0VXcHJGQTtJQUNFO0VYc3JGRjtBQUNGO0FXbnJGQTtFQUNFO0FYcXJGRjs7QVdsckZBO0VBQ0U7SUFDRTtJQUNBO0lBQUE7SUFDQTtJQUNBO0lBQ0E7RVhxckZGO0VXbHJGQTs7Ozs7SUFLRTtJQUNBO0VYb3JGRjtBQUNGO0FXanJGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FYbXJGRjs7QVdockZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhtckZGOztBV2hyRkE7RUFDRTtBWG1yRkY7O0FXaHJGQTtFQUNFO0FYbXJGRjs7QVdockZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVhtckZGOztBV2hyRkE7RUFDRTtJQUNFO0VYbXJGRjtBQUNGO0FXaHJGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhrckZGOztBVy9xRkE7RUFDRTtBWGtyRkY7O0FXL3FGQTtFQUNFO0VBQ0E7RUFDQTtBWGtyRkY7O0FXL3FGQTtFQUNFO0FYa3JGRjs7QVcvcUZBO0VBQ0U7SUFDRTtFWGtyRkY7RVcvcUZBO0lBQ0U7SUFDQTtFWGlyRkY7QUFDRjtBVzlxRkE7RUFDRTtJQUNFO0lBQ0E7RVhnckZGO0VXN3FGQTtJQUNFO0VYK3FGRjtFVzVxRkE7SUFDRTtJQUNBO0VYOHFGRjtFVzNxRkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFWDZxRkY7RVcxcUZBO0lBQ0U7RVg0cUZGO0FBQ0Y7QVd6cUZBO0VBQ0U7SUFDRTtJQUNBO0VYMnFGRjtFV3hxRkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFWDBxRkY7RVd2cUZBO0lBQ0U7RVh5cUZGO0VXdHFGQTtJQUNFO0VYd3FGRjtFV3JxRkE7SUFDRTtFWHVxRkY7QUFDRjtBV3BxRkE7RUFDRTtJQUNFO0VYc3FGRjtBQUNGO0FXbnFGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYcXFGRjs7QVdscUZBO0VBQ0U7QVhxcUZGOztBV2xxRkE7RUFDRTtBWHFxRkY7O0FXbHFGQTtFQUNFO0VBQ0E7QVhxcUZGOztBV2xxRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBWHFxRkY7O0FXbHFGQTtFQUNFO0FYcXFGRjs7QVdscUZBOztFQUVFO0FYcXFGRjs7QVdscUZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWHFxRkY7O0FXbHFGQTtFQUNFO0VBQ0E7QVhxcUZGOztBV2xxRkE7RUFDRTs7SUFFRTtFWHFxRkY7QUFDRjtBV2xxRkE7RUFDRTs7SUFFRTtFWG9xRkY7QUFDRjtBV2pxRkE7RUFDRTtBWG1xRkY7O0FXaHFGQTtFQUNFO0FYbXFGRjs7QVdocUZBOztFQUVFO0VBQ0E7QVhtcUZGOztBV2hxRkE7QUFDQTtFQUNFOztJQUVFO0VYbXFGRjtBQUNGO0FXanFGQTtFQUNFO0VBQ0E7QVhtcUZGOztBV2hxRkE7RUFDRTtLQUFBO0VBQ0E7RUFDQTtFQUNBO0FYbXFGRjs7QVdocUZBO0VBQ0U7RUFDQTtBWG1xRkY7O0FXaHFGQTtFQUNFO0VBQ0E7QVhtcUZGOztBV2hxRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhtcUZGOztBV2hxRkE7RUFDRTtJQUNFO0lBQ0E7RVhtcUZGO0VXaHFGQTtJQUNFO0lBQ0E7RVhrcUZGO0VXL3BGQTtJQUNFO0lBQ0E7RVhpcUZGO0FBQ0Y7QVc5cEZBO0VBQ0U7QVhncUZGOztBVzdwRkE7RUFDRTtFQUNBO0VBQ0E7QVhncUZGOztBVzdwRkE7RUFDRTtBWGdxRkY7O0FXN3BGQTtFQUNFO0VBQ0E7QVhncUZGOztBVzdwRkE7RUFDRTtFQUNBO0FYZ3FGRjs7QVc3cEZBO0VBQ0U7RUFDQTtFQUNBO0FYZ3FGRjs7QVc3cEZBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7QVgrcEZGOztBVzVwRkE7RUFDRTtBWCtwRkY7O0FXNXBGQTtBQUNBO0VBQ0U7QVgrcEZGOztBVzVwRkE7RUFDRTtBWCtwRkY7O0FXNXBGQTtBQUNBO0VBQ0U7RUFDQTtBWCtwRkY7O0FXNXBGQTtFQUNFO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7QVgrcEZGOztBVzVwRkE7RUFDRTtBWCtwRkY7O0FXNXBGQTtFQUNFO0VBQ0E7RUFDQTtBWCtwRkY7O0FXNXBGQTs7RUFFRTtBWCtwRkY7O0FXNXBGQTtFQUNFO0VBQ0E7RUFDQTtBWCtwRkY7O0FXNXBGQTtFQUNFO0VBQ0E7RUFDQTtLQUFBO0FYK3BGRjs7QVc1cEZBO0VBQ0U7QVgrcEZGOztBVzVwRkE7RUFDRTtFQUNBO0FYK3BGRjs7QVc1cEZBOzs7RUFHRTtBWCtwRkY7O0FXNXBGQTtFQUNFO0VBQ0E7QVgrcEZGOztBVzVwRkE7RUFDRTtFQUNBO0FYK3BGRjs7QVc1cEZBO0VBQ0U7QVgrcEZGOztBVzVwRkE7QUFFQTtFQUNFO0FYOHBGRjs7QVczcEZBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYNnBGRjs7QVcxcEZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYNnBGRjs7QVcxcEZBO0VBQ0U7RUFDQTtBWDZwRkY7O0FXMXBGQTtFQUNFO0FYNnBGRjs7QVcxcEZBO0VBQ0U7QVg2cEZGOztBVzFwRkE7RUFDRTtJQUNFO0lBQ0E7RVg2cEZGO0VXMXBGQTtJQUNFO0lBQ0E7RVg0cEZGO0FBQ0Y7QVd6cEZBO0VBQ0U7SUFDRTtFWDJwRkY7RVd4cEZBO0lBQ0U7SUFDQTtFWDBwRkY7RVd2cEZBO0lBQ0U7SUFDQTtFWHlwRkY7RVd0cEZBOzs7SUFHRTtFWHdwRkY7RVdycEZBO0lBQ0U7T0FBQTtJQUNBO0VYdXBGRjtBQUNGO0FXcHBGQTtFQUNFO0VBQ0E7QVhzcEZGOztBV25wRkE7RUFDRTtJQUNFO0VYc3BGRjtBQUNGO0FXbnBGQTtBQUNBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0FYb3BGRjs7QVdqcEZBO0VBQ0U7QVhvcEZGOztBV2pwRkE7RUFDRTtFQUNBO0FYb3BGRjs7QVdqcEZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWG9wRkY7O0FXanBGQTtFQUNFO0FYb3BGRjs7QVdqcEZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7QVhvcEZGOztBV2pwRkE7RUFDRTtBWG9wRkY7O0FXanBGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FYb3BGRjs7QVdqcEZBO0VBQ0U7RUFDQTtFQUNBO0FYb3BGRjs7QVdqcEZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWG9wRkY7O0FXanBGQTtFQUNFO0FYb3BGRjs7QVdqcEZBO0VBQ0U7QVhvcEZGOztBV2pwRkE7RUFDRTtBWG9wRkY7O0FXanBGQTtFQUNFO0VBQ0E7QVhvcEZGOztBV2xwRkE7O0VBRUU7QVhxcEZGOztBV2xwRkE7O0VBRUU7QVhxcEZGOztBV2xwRkE7RUFDRTtFQUNBO0VBQ0E7QVhxcEZGOztBV2xwRkE7RUFDRTtBWHFwRkY7O0FXbHBGQTtFQUNFO0FYcXBGRjs7QVdscEZBO0VBQ0U7SUFDRTtFWHFwRkY7RVdscEZBO0lBQ0U7SUFDQTtFWG9wRkY7RVdqcEZBO0lBQ0U7RVhtcEZGO0FBQ0Y7QVdocEZBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QVhrcEZGOztBVy9vRkE7RUFDRTtFQUNBO0FYa3BGRjs7QVcvb0ZBO0VBQ0U7QVhrcEZGOztBVy9vRkE7RUFDRTtBWGtwRkY7O0FXL29GQTtFQUNFO0VBQ0E7QVhrcEZGOztBVy9vRkE7RUFDRTtBWGtwRkY7O0FXL29GQTtFQUNFO0FYa3BGRjs7QVcvb0ZBO0VBQ0U7SUFDRTtFWGtwRkY7QUFDRjtBVy9vRkE7RUFDRTtFQUNBO0FYaXBGRjs7QVc5b0ZBO0VBQ0U7SUFDRTtFWGlwRkY7QUFDRjtBVzlvRkE7O0VBRUU7QVhncEZGOztBVzdvRkE7Ozs7OztFQU1FO0FYZ3BGRjs7QVc3b0ZBOzs7RUFHRTtBWGdwRkY7O0FXN29GQTtFQUNFO0FYZ3BGRjs7QVc3b0ZBO0VBQ0U7RUFDQTtFQUNBO0FYZ3BGRjs7QVc3b0ZBO0VBQ0U7RUFDQTtBWGdwRkY7O0FXN29GQTtFQUNFO0VBQ0E7QVhncEZGOztBVzdvRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWGdwRkY7O0FXN29GQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhncEZGOztBWTN5SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjh5SUY7O0FZM3lJQTtFQUNFO0FaOHlJRjs7QVkzeUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVo4eUlGOztBWTN5SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjh5SUY7O0FZM3lJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FaOHlJRjs7QVkzeUlBOzs7Ozs7Ozs7OztDQUFBO0FBYUE7OztFQUdFO0FaNnlJRjs7QVkxeUlBO0VBQ0U7QVo2eUlGOztBWTF5SUE7RUFDRTtBWjZ5SUY7O0FZMXlJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjZ5SUY7O0FZMXlJQTtFQUNFO0FaNnlJRjs7QVkxeUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaNnlJRjs7QVkxeUlBO0VBQ0U7QVo2eUlGOztBWTF5SUE7RUFDRTtFQUNBO0FaNnlJRjs7QVkxeUlBO0VBQ0U7RUFDQTtFQUNBO0FaNnlJRjs7QVkxeUlBO0VBQ0U7RUFDQTtBWjZ5SUY7O0FZMXlJQTtFQUNFO0FaNnlJRjs7QVkxeUlBO0VBQ0U7RUFDQTtBWjZ5SUY7O0FZMXlJQTtFQUNFO0FaNnlJRjs7QVkxeUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVo2eUlGOztBWTF5SUE7RUFDRTtBWjZ5SUY7O0FZMXlJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVo2eUlGOztBWTF5SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaNnlJRjs7QVkxeUlBO0VBQ0U7QVo2eUlGOztBWTF5SUE7RUFDRTtFQUNBO0VBQ0E7QVo2eUlGOztBWTF5SUE7RUFDRTtBWjZ5SUY7O0FZMXlJQTtFQUNFO0FaNnlJRjs7QVkxeUlBO0VBQ0U7QVo2eUlGOztBWTF5SUE7O0VBRUU7RUFDQTtBWjZ5SUY7O0FZMXlJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjZ5SUY7O0FZMXlJQTtFQUNFO0VBQ0E7QVo2eUlGOztBWTF5SUE7RUFDRTtJQUNFO0VaNnlJRjtFWTF5SUE7SUFDRTtFWjR5SUY7QUFDRjtBWXp5SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaMnlJRjs7QVl4eUlBO0VBQ0U7RUFDQTtFQUNBO0FaMnlJRjs7QVl4eUlBO0VBQ0U7QVoyeUlGOztBWXh5SUE7RUFDRTtBWjJ5SUY7O0FZeHlJQTtFQUNFO0FaMnlJRjs7QVl4eUlBOztFQUVFO0VBQ0E7QVoyeUlGOztBWXh5SUE7RUFDRTtFQUNBO0FaMnlJRjs7QVl4eUlBO0VBQ0U7RUFDQTtBWjJ5SUY7O0FZeHlJQTtFQUNFO0FaMnlJRjs7QVl4eUlBO0VBQ0U7QVoyeUlGOztBWXh5SUE7RUFDRTtFQUNBO0VBQ0E7QVoyeUlGOztBWXh5SUE7RUFDRTtBWjJ5SUY7O0FZeHlJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FaMnlJRjs7QVl4eUlBO0VBQ0U7QVoyeUlGOztBWXh5SUE7RUFDRTtFQUNBO0VBQ0E7QVoyeUlGOztBWXh5SUE7RUFDRTtBWjJ5SUY7O0FZeHlJQTtFQUNFO0lBQ0U7RVoyeUlGO0FBQ0Y7QVl4eUlBO0VBQ0U7QVoweUlGOztBWXZ5SUE7RUFDRTtBWjB5SUY7O0FZdnlJQTtFQUNFO0VBQ0E7RUFDQTtBWjB5SUY7O0FZdnlJQTtFQUNFO0FaMHlJRjs7QVl2eUlBO0VBQ0U7QVoweUlGOztBWXZ5SUE7RUFDRTtBWjB5SUY7O0FZdnlJQTtFQUNFO0FaMHlJRjs7QVl2eUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVoweUlGOztBWXZ5SUE7RUFDRTtBWjB5SUY7O0FZdnlJQTtFQUNFO0VBQ0E7QVoweUlGOztBWXZ5SUE7RUFDRTtFQUNBO0FaMHlJRjs7QVl2eUlBO0VBQ0U7SUFDRTtJQUNBO0VaMHlJRjtFWXZ5SUE7Ozs7SUFJRTtFWnl5SUY7QUFDRjtBWXR5SUE7RUFDRTtBWnd5SUY7O0FZcnlJQTtFQUNFO0VBQ0E7QVp3eUlGOztBWXJ5SUE7RUFDRTtBWnd5SUY7O0FZcnlJQTtFQUNFO0Fad3lJRjs7QVlyeUlBO0VBQ0U7RUFDQTtBWnd5SUY7O0FZcnlJQTtFQUNFO0Fad3lJRjs7QVlyeUlBO0VBQ0U7QVp3eUlGOztBWXJ5SUE7RUFDRTtJQUNFO0Vad3lJRjtBQUNGO0FZcnlJQTtFQUNFO0FadXlJRjs7QVlweUlBO0VBQ0U7RUFDQTtBWnV5SUY7O0FZbnlJRTtFQUNFO0VBQ0E7QVpzeUlKOztBWWx5SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBWnF5SUY7O0FZbHlJQTtFQUNFO0FacXlJRjs7QVlseUlBO0VBQ0U7QVpxeUlGOztBWWx5SUE7RUFDRTtFQUNBO0FacXlJRjs7QVlseUlBO0VBQ0U7QVpxeUlGOztBWWx5SUE7RUFDRTtFQUNBO0FacXlJRjs7QVlseUlBO0VBQ0U7SUFDRTtFWnF5SUY7QUFDRjtBWWx5SUE7RUFDRTtFQUNBO0Fab3lJRjs7QVlqeUlBO0VBQ0U7QVpveUlGOztBWWp5SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fab3lJRjs7QVlqeUlBO0VBQ0U7RUFDQTtBWm95SUY7O0FZanlJQTtFQUNFO0VBQ0E7RUFDQTtBWm95SUY7O0FZanlJQTtFQUNFO0VBQ0E7RUFDQTtBWm95SUY7O0FZanlJQTtFQUNFO0Fab3lJRjs7QVlqeUlBO0VBQ0U7QVpveUlGOztBWWp5SUE7RUFDRTtBWm95SUY7O0FZanlJQTtFQUNFO0Fab3lJRjs7QVlqeUlBO0VBQ0U7RUFDQTtFQUNBO0Fab3lJRjs7QVlqeUlBO0VBQ0U7QVpveUlGOztBWWp5SUE7RUFDRTtFQUNBO0VBQ0E7QVpveUlGOztBWWp5SUE7RUFDRTtBWm95SUY7O0FZanlJQTs7RUFFRTtBWm95SUY7O0FZanlJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVpveUlGOztBWWp5SUE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFWm95SUY7QUFDRjtBWWp5SUE7RUFDRTtBWm15SUY7O0FZaHlJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtBWm15SUY7O0FZaHlJQTtFQUNFO0VBQ0E7RUFDQTtBWm15SUY7O0FZaHlJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FabXlJRjs7QVloeUlBO0VBQ0U7QVpteUlGOztBWWh5SUE7RUFDRTtBWm15SUY7O0FZaHlJQTtFQUNFO0VBQ0E7QVpteUlGOztBWWh5SUE7RUFDRTtJQUNFO0lBQ0E7RVpteUlGO0VZaHlJQTtJQUNFO0lBQ0E7RVpreUlGO0VZL3hJQTtJQUNFO0VaaXlJRjtBQUNGO0FZOXhJQTtFQUNFO0lBQ0U7RVpneUlGO0FBQ0Y7QVk3eElBO0VBQ0U7SUFDRTtFWit4SUY7QUFDRjtBWTV4SUE7RUFDRTtFQUNBO0FaOHhJRjs7QVkzeElBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVo4eElGOztBWTN4SUE7RUFDRTtFQUNBO0VBQ0E7QVo4eElGOztBWTN4SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaOHhJRjs7QVkzeElBO0VBQ0U7QVo4eElGOztBWTN4SUE7RUFDRTtBWjh4SUY7O0FZM3hJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVo4eElGOztBWTN4SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjh4SUY7O0FZM3hJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FaOHhJRjs7QVkzeElBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVo4eElGOztBWTN4SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaOHhJRjs7QVkzeElBOztFQUVFO0VBQ0E7QVo4eElGOztBWTN4SUE7RUFDRTtFQUNBO0VBQ0E7QVo4eElGOztBWTN4SUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaOHhJRjs7QVkzeElBO0VBQ0U7QVo4eElGOztBWTN4SUE7RUFDRTtFQUNBO0VBQ0E7QVo4eElGOztBWTN4SUE7RUFDRTtFQUNBO0VBQ0E7T0FBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaOHhJRjs7QVkzeElBO0VBQ0U7RUFDQTtFQUNBO09BQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjh4SUY7O0FZM3hJQTtFQUNFO0FaOHhJRjs7QVkzeElBO0VBQ0U7QVo4eElGOztBWTN4SUE7RUFDRTtBWjh4SUY7O0FZM3hJQTtFQUNFO0FaOHhJRjs7QVkzeElBO0VBQ0U7SUFDRTtFWjh4SUY7RVkzeElBOztJQUVFO0lBQ0E7RVo2eElGO0FBQ0Y7QVkxeElBO0FBQ0E7RUFDRTtBWjR4SUY7O0FZenhJQTtBQUNBO0VBQ0U7RUFDQTtBWjR4SUY7O0FZenhJQTtFQUNFO0FaNHhJRjs7QVl4eElFO0VBQ0U7QVoyeElKO0FZenhJRTtFQUNFO0VBQUE7QVoyeElKO0FZenhJRTtFQUNFO0VBQ0E7QVoyeElKO0FZenhJRTtFQUNFO0FaMnhJSjtBWXp4SUU7RUFDRTtFQUNBO0VBQ0E7QVoyeElKO0FZenhJRTs7RUFFRTtBWjJ4SUo7QVl6eElFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVoyeElKOztBWXR4SUU7RUFDRTtBWnl4SUo7O0FhcmxLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0Fid2xLRjs7QWF0bEtBO0VBQ0U7SUFDRTtFYnlsS0Y7QUFDRjtBYXRsS0E7RUFDRTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0Fid2xLRjs7QWFybEtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fid2xLRjs7QWFybEtBO0VBQ0U7SUFDRTtFYndsS0Y7RWF0bEtBO0lBQ0U7RWJ3bEtGO0FBQ0Y7QWFybEtBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBYnVsS0Y7O0FhcGxLQTtBQUNBO0VBQ0U7RUFDQTtBYnVsS0Y7O0FhcGxLQTtFQUNFO0lBQ0U7RWJ1bEtGO0VhcmxLQTtJQUNFO0VidWxLRjtBQUNGO0FhcGxLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnNsS0Y7O0FhbmxLQTtBQUNBOztFQUVFO0VBQ0E7QWJzbEtGOztBYW5sS0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnNsS0Y7O0FhbmxLQTs7RUFFRTtFQUNBO0Fic2xLRjs7QWFsbEtFO01BQUE7TUFBQTtNQUFBO01BQUE7QUFBQTs7QUFJQTtNQUFBO01BQUE7TUFBQTtNQUFBO0FBQUE7O0FBR0Y7RUFDRTtBYnNsS0Y7O0FhbmxLQTs7RUFFRTtBYnNsS0Y7O0FhbmxLQTtFQUNFO0Fic2xLRjs7QWFubEtBO0VBQ0U7QWJzbEtGOztBYW5sS0E7RUFDRTtBYnNsS0Y7O0FhbmxLQTtFQUNFO0VBQ0E7QWJzbEtGOztBYW5sS0E7RUFDRTtJQUNFO0Vic2xLRjtBQUNGO0FhbmxLQTtFQUNFO0lBQ0U7SUFDQTtFYnFsS0Y7RWFsbEtBO0lBQ0U7SUFDQTtFYm9sS0Y7RWFqbEtBO0lBQ0U7SUFDQTtJQUNBO0VibWxLRjtBQUNGO0FhaGxLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO09BQUE7QWJrbEtGOztBYS9rS0E7RUFDRTtFQUNBO0VBQ0E7QWJrbEtGOztBYS9rS0E7RUFDRTtFQUNBO0Fia2xLRjs7QWEva0tBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQ0E7RUFDQTtBYmtsS0Y7O0FhL2tLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7RUFDQTtBYmtsS0Y7O0FhOWtLRTtNQUFBO0FBQUE7O0FBR0Y7RUFDRTtBYmtsS0Y7O0FhL2tLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0Fia2xLRjs7QWEva0tBO0VBQ0U7QWJrbEtGOztBYTdrS0U7O01BQUE7QUFBQTs7QUFJQTtNQUFBO0FBQUE7O0FBR0Y7O0VBRUU7RUFDQTtFQUNBO0Fia2xLRjs7QWEva0tBO0VBQ0U7QWJrbEtGOztBYS9rS0E7RUFDRTtFQUNBO0VBQ0E7QWJrbEtGOztBYS9rS0E7RUFDRTtFQUNBO0VBQ0E7QWJrbEtGOztBYS9rS0E7RUFDRTtBYmtsS0Y7O0FhL2tLQTtFQUNFO0VBQ0E7QWJrbEtGOztBYS9rS0E7RUFDRTtFQUFBO0VBQUE7QWJrbEtGOztBYS9rS0E7RUFDRTtFQUNBO0VBQ0E7QWJrbEtGOztBYS9rS0E7RUFDRTtBYmtsS0Y7O0FhL2tLQTtFQUVFO0Fia2xLRjs7QWEva0tBO0VBQ0U7QWJrbEtGOztBYTdrS0U7O01BQUE7QUFBQTs7QUFHRjtFQUNFO0Fia2xLRjs7QWEva0tBO0FBWUE7RUFDRTtJQUNFO0lBRUE7RWJrbEtGO0VhaGxLQTtJQUNFO0lBQ0E7RWJrbEtGO0FBQ0Y7QUN6M0tBO0VBQUE7QUQ0M0tBOztBQzUzS0E7RUFBQTtBRGc0S0E7O0FDdDNLRTtNQUFBO0FBQUE7O0FBQUE7TUFBQTtZQUFBO01BQUE7QUFBQTs7QURrQkE7TUFBQTtBQUFBOztBQUFBO01BQUE7WUFBQTtNQUFBO0FBQUE7O0FDYkY7TUFBQTtBQUFBOztBQUFBO01BQUE7WUFBQTtNQUFBO0FBQUE7O0FEbENBO01BQUEsMEJBKzVLQztNQS81S0Q7QUErNUtDOztBQS81S0Q7TUFBQSwwQkErNUtDO01BLzVLRDtBQSs1S0M7O0FBLzVLRDtNQUFBLDBCQSs1S0M7TUEvNUtEO0FBKzVLQzs7QUEvNUtEO01BQUEsMEJBKzVLQztNQS81S0Q7QUErNUtDOztBQS81S0Q7TUFBQSwwQkErNUtDO01BLzVLRDtBQSs1S0M7O0FBLzVLRDtNQUFBLDBCQSs1S0M7TUEvNUtEO0FBKzVLQzs7QUEvNUtEO01BQUEsZ0JBKzVLQztNQS81S0Q7QUErNUtDOztBQS81S0Q7TUFBQTtBQSs1S0M7O0FBLzVLRDtNQUFBO0FBKzVLQzs7QUEvNUtEO01BQUE7QUErNUtDOztBQS81S0Q7TUFBQSw4QkErNUtDO01BLzVLRDtBQSs1S0M7O0FBLzVLRDtNQUFBO1lBQUEsMkJBKzVLQztZQS81S0Q7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztBQUFBOztBQS81S0Q7TUFBQTtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUEsaUJBKzVLQztZQS81S0Q7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUEsa0JBKzVLQztZQS81S0Q7TUErNUtDO01BLzVLRDtZQUFBLGlCQSs1S0M7WUEvNUtEO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7QUFBQTs7QUEvNUtEO01BQUE7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUEsaUJBKzVLQztZQS81S0Q7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBLHVCQSs1S0M7WUEvNUtELG9EQSs1S0M7WUEvNUtEO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUEsb0JBKzVLQztZQS81S0Q7TUErNUtDO01BLzVLRDtZQUFBLGtCQSs1S0M7WUEvNUtEO01BKzVLQztNQS81S0Q7WUFBQSxvQkErNUtDO1lBLzVLRDtNQSs1S0M7TUEvNUtEO1lBQUEsa0JBKzVLQztZQS81S0Q7TUErNUtDO01BLzVLRDtZQUFBLG9CQSs1S0M7WUEvNUtEO01BKzVLQztNQS81S0Q7WUFBQSxtQkErNUtDO1lBLzVLRDtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO01BLzVLRDtZQUFBO01BKzVLQztBQUFBOztBQS81S0Q7TUFBQTtZQUFBLGtCQSs1S0M7WUEvNUtEO01BKzVLQztNQS81S0Q7WUFBQTtNQSs1S0M7TUEvNUtEO1lBQUE7TUErNUtDO0FBQUE7O0FBLzVLRDtNQUFBO0FBKzVLQyxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vemV0YS1zaG9lcy1tY3AtZ2l0Ly4vdGhlbWUtc291cmNlcy9zY3NzL3pldGEtdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly96ZXRhLXNob2VzLW1jcC1naXQvLi90aGVtZS1zb3VyY2VzL3Njc3MvX3Jlc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vemV0YS1zaG9lcy1tY3AtZ2l0Ly4vdGhlbWUtc291cmNlcy9zY3NzL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vemV0YS1zaG9lcy1tY3AtZ2l0Ly4vdGhlbWUtc291cmNlcy9zY3NzL19idXR0b24uc2NzcyIsIndlYnBhY2s6Ly96ZXRhLXNob2VzLW1jcC1naXQvLi90aGVtZS1zb3VyY2VzL3Njc3MvX2NhcmQuc2NzcyIsIndlYnBhY2s6Ly96ZXRhLXNob2VzLW1jcC1naXQvLi90aGVtZS1zb3VyY2VzL3Njc3MvX3NlY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vemV0YS1zaG9lcy1tY3AtZ2l0Ly4vdGhlbWUtc291cmNlcy9zY3NzL19jb2xsZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vemV0YS1zaG9lcy1tY3AtZ2l0Ly4vdGhlbWUtc291cmNlcy9zY3NzL19mYXEuc2NzcyIsIndlYnBhY2s6Ly96ZXRhLXNob2VzLW1jcC1naXQvLi90aGVtZS1zb3VyY2VzL3Njc3MvX2RyYXdlcnMuc2NzcyIsIndlYnBhY2s6Ly96ZXRhLXNob2VzLW1jcC1naXQvLi90aGVtZS1zb3VyY2VzL3Njc3MvX2Rhd24tc2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vemV0YS1zaG9lcy1tY3AtZ2l0Ly4vdGhlbWUtc291cmNlcy9zY3NzL190YWJzLnNjc3MiLCJ3ZWJwYWNrOi8vemV0YS1zaG9lcy1tY3AtZ2l0Ly4vdGhlbWUtc291cmNlcy9zY3NzL19wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vemV0YS1zaG9lcy1tY3AtZ2l0Ly4vdGhlbWUtc291cmNlcy9zY3NzL19jYXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vemV0YS1zaG9lcy1tY3AtZ2l0Ly4vdGhlbWUtc291cmNlcy9zY3NzL19oZWFkZXIuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdGFpbHdpbmQgYmFzZTtcbkB0YWlsd2luZCBjb21wb25lbnRzO1xuQHRhaWx3aW5kIHV0aWxpdGllcztcblxuLy8gYWRkIHRoZSBjb2RlIGJlbGxvd1xuQGxheWVyIHV0aWxpdGllcyB7XG4gICAgQHZhcmlhbnRzIHJlc3BvbnNpdmUge1xuICAgICAgLyogSGlkZSBzY3JvbGxiYXIgZm9yIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYSAqL1xuICAgICAgLm5vLXNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8qIEhpZGUgc2Nyb2xsYmFyIGZvciBJRSwgRWRnZSBhbmQgRmlyZWZveCAqL1xuICAgICAgLm5vLXNjcm9sbGJhciB7XG4gICAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAgLyogSUUgYW5kIEVkZ2UgKi9cbiAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7ICAvKiBGaXJlZm94ICovXG4gICAgICB9XG4gICAgfVxuICB9XG5cbkBpbXBvcnQgJ3Jlc2V0JztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuQGltcG9ydCAnYnV0dG9uJztcbkBpbXBvcnQgJ2NhcmQnO1xuQGltcG9ydCAnc2VjdGlvbnMnO1xuQGltcG9ydCAnY29sbGVjdGlvbic7XG5AaW1wb3J0ICdmYXEnO1xuQGltcG9ydCAnZHJhd2Vycyc7XG5AaW1wb3J0ICdkYXduLXNsaWRlcic7XG5AaW1wb3J0ICd0YWJzJztcbkBpbXBvcnQgJ3Byb2R1Y3QnO1xuQGltcG9ydCAnY2FydCc7XG5AaW1wb3J0ICdoZWFkZXInO1xuXG4jZ3R4LXRyYW5zIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ubG9jYWxlLXNlbGVjdG9yc19fY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJsb2NrX193cmFwcGVyICsgLmJsb2NrX193cmFwcGVyIHtcbiAgQGFwcGx5IG10LTYgbGc6bXQtNjtcbn1cblxuLmJsb2NrX193cmFwcGVyICsgLmJsb2NrX193cmFwcGVyLmJ1dHRvbl9fd3JhcHBlci0tYXJyb3cge1xuICBAYXBwbHkgbXQtMyBsZzptdC0zO1xufVxuXG4ucHJvZHVjdC1ibG9ja19fd3JhcHBlciArIC5wcm9kdWN0LWJsb2NrX193cmFwcGVyIHtcbiAgQGFwcGx5IG10LTYgbGc6bXQtNjtcbn1cblxuXG4iLCIvKlxuMS4gUHJldmVudCBwYWRkaW5nIGFuZCBib3JkZXIgZnJvbSBhZmZlY3RpbmcgZWxlbWVudCB3aWR0aC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvNClcbjIuIEFsbG93IGFkZGluZyBhIGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGp1c3QgYWRkaW5nIGEgYm9yZGVyLXdpZHRoLiAoaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kY3NzL3RhaWx3aW5kY3NzL3B1bGwvMTE2KVxuKi9cblxuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgYm9yZGVyLXdpZHRoOiAwOyAvKiAyICovXG4gIGJvcmRlci1zdHlsZTogc29saWQ7IC8qIDIgKi9cbiAgYm9yZGVyLWNvbG9yOiB0aGVtZSgnYm9yZGVyQ29sb3IuREVGQVVMVCcsIGN1cnJlbnRDb2xvcik7IC8qIDIgKi9cbn1cblxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgLS10dy1jb250ZW50OiAnJztcbn1cblxuLypcbjEuIFVzZSBhIGNvbnNpc3RlbnQgc2Vuc2libGUgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4zLiBVc2UgYSBtb3JlIHJlYWRhYmxlIHRhYiBzaXplLlxuNC4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgYnkgZGVmYXVsdC5cbiovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS41OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtbW96LXRhYi1zaXplOiA0OyAvKiAzICovXG4gIHRhYi1zaXplOiA0OyAvKiAzICovXG4gIGZvbnQtZmFtaWx5OiB0aGVtZSgnZm9udEZhbWlseS5zYW5zJywgdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIpOyAvKiA0ICovXG59XG5cbi8qXG4xLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4yLiBJbmhlcml0IGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhcyBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cbiovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLypcbjEuIEFkZCB0aGUgY29ycmVjdCBoZWlnaHQgaW4gRmlyZWZveC5cbjIuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIG9mIGJvcmRlciBjb2xvciBpbiBGaXJlZm94LiAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNjU1KVxuMy4gRW5zdXJlIGhvcml6b250YWwgcnVsZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdC5cbiovXG5cbmhyIHtcbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDsgLyogMyAqL1xufVxuXG4vKlxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4qL1xuXG5hYmJyOndoZXJlKFt0aXRsZV0pIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG4vKlxuUmVtb3ZlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBhbmQgd2VpZ2h0IGZvciBoZWFkaW5ncy5cbiovXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qXG5SZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZiBvcHQtb3V0LlxuKi9cblxuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG59XG5cbi8qXG4xLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBtb25vYCBmb250IGZhbWlseSBieSBkZWZhdWx0LlxuMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxuY29kZSxcbmtiZCxcbnNhbXAsXG5wcmUge1xuICBmb250LWZhbWlseTogdGhlbWUoJ2ZvbnRGYW1pbHkubW9ubycsIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSk7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLypcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLypcblByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKlxuMS4gUmVtb3ZlIHRleHQgaW5kZW50YXRpb24gZnJvbSB0YWJsZSBjb250ZW50cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTk5OTA4OCwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI5NylcbjIuIENvcnJlY3QgdGFibGUgYm9yZGVyIGNvbG9yIGluaGVyaXRhbmNlIGluIGFsbCBDaHJvbWUgYW5kIFNhZmFyaS4gKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTkzNTcyOSwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxNilcbjMuIFJlbW92ZSBnYXBzIGJldHdlZW4gdGFibGUgYm9yZGVycyBieSBkZWZhdWx0LlxuKi9cblxudGFibGUge1xuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMyAqL1xufVxuXG4vKlxuMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4yLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4zLiBSZW1vdmUgZGVmYXVsdCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cbiovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xufVxuXG4vKlxuUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlIGFuZCBGaXJlZm94LlxuKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuMi4gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIHN0eWxlcy5cbiovXG5cbmJ1dHRvbixcblt0eXBlPSdidXR0b24nXSxcblt0eXBlPSdyZXNldCddLFxuW3R5cGU9J3N1Ym1pdCddIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLyogMiAqL1xufVxuXG4vKlxuVXNlIHRoZSBtb2Rlcm4gRmlyZWZveCBmb2N1cyBzdHlsZSBmb3IgYWxsIGZvY3VzYWJsZSBlbGVtZW50cy5cbiovXG5cbjotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IGF1dG87XG59XG5cbi8qXG5SZW1vdmUgdGhlIGFkZGl0aW9uYWwgYDppbnZhbGlkYCBzdHlsZXMgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3KVxuKi9cblxuOi1tb3otdWktaW52YWxpZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cbiovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKlxuQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gU2FmYXJpLlxuKi9cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKlxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiovXG5cblt0eXBlPSdzZWFyY2gnXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4qL1xuXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLypcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxuKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLypcblJlbW92ZXMgdGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgYm9yZGVyIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy5cbiovXG5cbmJsb2NrcXVvdGUsXG5kbCxcbmRkLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuaHIsXG5maWd1cmUsXG5wLFxucHJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxubGVnZW5kIHtcbiAgcGFkZGluZzogMDtcbn1cblxub2wsXG51bCxcbm1lbnUge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qXG5QcmV2ZW50IHJlc2l6aW5nIHRleHRhcmVhcyBob3Jpem9udGFsbHkgYnkgZGVmYXVsdC5cbiovXG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLypcbjEuIFJlc2V0IHRoZSBkZWZhdWx0IHBsYWNlaG9sZGVyIG9wYWNpdHkgaW4gRmlyZWZveC4gKGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvaXNzdWVzLzMzMDApXG4yLiBTZXQgdGhlIGRlZmF1bHQgcGxhY2Vob2xkZXIgY29sb3IgdG8gdGhlIHVzZXIncyBjb25maWd1cmVkIGdyYXkgNDAwIGNvbG9yLlxuKi9cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMTsgLyogMSAqL1xuICBjb2xvcjogdGhlbWUoJ2NvbG9ycy5ncmF5LjQwMCcsICM5Y2EzYWYpOyAvKiAyICovXG59XG5cbi8qXG5TZXQgdGhlIGRlZmF1bHQgY3Vyc29yIGZvciBidXR0b25zLlxuKi9cblxuYnV0dG9uLFxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qXG5NYWtlIHN1cmUgZGlzYWJsZWQgYnV0dG9ucyBkb24ndCBnZXQgdGhlIHBvaW50ZXIgY3Vyc29yLlxuKi9cbjpkaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLypcbjEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNClcbjIuIEFkZCBgdmVydGljYWwtYWxpZ246IG1pZGRsZWAgdG8gYWxpZ24gcmVwbGFjZWQgZWxlbWVudHMgbW9yZSBzZW5zaWJseSBieSBkZWZhdWx0LiAoaHR0cHM6Ly9naXRodWIuY29tL2plbnNpbW1vbnMvY3NzcmVtZWR5L2lzc3Vlcy8xNCNpc3N1ZWNvbW1lbnQtNjM0OTM0MjEwKVxuICAgVGhpcyBjYW4gdHJpZ2dlciBhIHBvb3JseSBjb25zaWRlcmVkIGxpbnQgZXJyb3IgaW4gc29tZSB0b29scyBidXQgaXMgaW5jbHVkZWQgYnkgZGVzaWduLlxuKi9cblxuaW1nLFxuc3ZnLFxudmlkZW8sXG5jYW52YXMsXG5hdWRpbyxcbmlmcmFtZSxcbmVtYmVkLFxub2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMiAqL1xufVxuXG4vKlxuQ29uc3RyYWluIGltYWdlcyBhbmQgdmlkZW9zIHRvIHRoZSBwYXJlbnQgd2lkdGggYW5kIHByZXNlcnZlIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uIChodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzE0KVxuKi9cblxuaW1nLFxudmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLypcbkVuc3VyZSB0aGUgZGVmYXVsdCBicm93c2VyIGJlaGF2aW9yIG9mIHRoZSBgaGlkZGVuYCBhdHRyaWJ1dGUuXG4qL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiLmZvbnQtaGVhZGluZyB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmctZmFtaWx5KTtcbiAgJi5zbWFsbCB7XG4gICAgQGFwcGx5IHRleHQtYmFzZSB0cmFja2luZy13aWRlO1xuICB9XG4gICYubWVkaXVtIHtcbiAgICBAYXBwbHkgdGV4dC1sZyBsZzp0ZXh0LXhsO1xuICB9XG4gICYubGFyZ2Uge1xuICAgIEBhcHBseSB0ZXh0LXhsIGxnOnRleHQtMnhsO1xuICB9XG4gICYueGxhcmdlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDQuNXJlbSwgNnZ3LCAxMnJlbSk7XG4gIH1cbn1cblxuLmltYWdlLXdpdGgtdGV4dF9fdGV4dC0tY2FwdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmctZmFtaWx5KTtcbn1cblxuYiwgc3Ryb25nIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZy1mYW1pbHkpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC1oZWFkaW5nLXdlaWdodCk7XG59XG5cbmhyIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDAuMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNXJlbSAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICBociB7XG4gICAgbWFyZ2luOiA3cmVtIDA7XG4gIH1cbn1cblxuLnByb2R1Y3RfX2luZm8taW5uZXIgLnByb2R1Y3RfX2Rlc2NyaXB0aW9uIHtcbiAgcCArIHAge1xuICAgIHBhZGRpbmc6IC44cmVtIDA7XG4gIH1cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICAgIHBhZGRpbmctbGVmdDogLjlyZW07XG4gICAgbGkgKyBsaSB7XG4gICAgICBwYWRkaW5nOiAuOHJlbSAwO1xuICAgIH1cbiAgfVxufVxuXG4uYWNjb3JkaW9uX19jb250ZW50IHtcbiAgYTpsaW5rIHtcbiAgICBAYXBwbHkgdW5kZXJsaW5lIHVuZGVybGluZS1vZmZzZXQtMjtcbiAgfVxufVxuXG4uY29sbGVjdGlvbl9kZXNjcmlwdGlvbiB7XG4gIGgyLGgzLGg0LGg1IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nLWZhbWlseSk7XG4gICAgbWFyZ2luLWJvdHRvbTogLjhyZW07XG4gIH1cbiAgcCwgbGksIGE6bm90KC5saW5rKSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbiAgYVtocmVmXSB7XG4gICAgQGFwcGx5IHVuZGVybGluZSB1bmRlcmxpbmUtb2Zmc2V0LTI7XG4gIH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG4gIGgyICsgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xuICB9XG4gIHAgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMS42cmVtO1xuICB9XG4gIHAgKyBoNCB7XG4gICAgbWFyZ2luLXRvcDogMS42cmVtO1xuICB9XG4gIGgzICsgcCwgaDIgKyBoMywgaDMgKyBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xuICB9XG4gIHAgKyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuOHJlbTtcbiAgfVxuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gICAgcGFkZGluZy1sZWZ0OiAuOXJlbTtcbiAgICBsaSArIGxpIHtcbiAgICAgIHBhZGRpbmc6IC44cmVtIDA7XG4gICAgfVxuICB9XG59XG5cbi5sb2FkaW5nX19zcGlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMS44cmVtO1xuICB9XG4gIFxuICAubG9hZGluZ19fc3Bpbm5lci5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gIC5sb2FkaW5nX19zcGlubmVyIHtcbiAgICB3aWR0aDogMS44cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICBcbiAgLnNwaW5uZXIge1xuICAgIGFuaW1hdGlvbjogcm90YXRvciAxLjRzIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxuICBcbiAgQGtleWZyYW1lcyByb3RhdG9yIHtcbiAgICAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgIH1cbiAgfVxuICBcbiAgLnBhdGgge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDI4MDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgc3Ryb2tlOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xuICAgIGFuaW1hdGlvbjogZGFzaCAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB9XG4gIFxuICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLnBhdGgge1xuICAgICAgc3Ryb2tlOiBDYW52YXNUZXh0O1xuICAgIH1cbiAgfVxuICBcbiAgQGtleWZyYW1lcyBkYXNoIHtcbiAgICAwJSB7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogMjgwO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDc1O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogMjgwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDUwZGVnKTtcbiAgICB9XG4gIH1cbiAgXG4gIC5sb2FkaW5nX19zcGlubmVyOm5vdCguaGlkZGVuKSArIC5jYXJ0LWl0ZW1fX3ByaWNlLXdyYXBwZXIsXG4gIC5sb2FkaW5nX19zcGlubmVyOm5vdCguaGlkZGVuKSB+IGNhcnQtcmVtb3ZlLWJ1dHRvbiB7XG4gICAgb3BhY2l0eTogNTAlO1xuICB9XG4gIFxuICAubG9hZGluZ19fc3Bpbm5lcjpub3QoLmhpZGRlbikgfiBjYXJ0LXJlbW92ZS1idXR0b24ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC5zaG9waWZ5LXBvbGljeV9fY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG4gIH1cblxuICAuc2hvcGlmeS1wb2xpY3lfX2JvZHkge1xuICAgIG1heC13aWR0aDogODByZW07XG4gICAgbWFyZ2luOiA0cmVtIGF1dG8gMnJlbTtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgfVxuXG4gIC5zaG9waWZ5LXBvbGljeV9fYm9keSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG5cbiAgLnNob3BpZnktcG9saWN5X19jb250YWluZXIgaDUge1xuICAgIEBhcHBseSBmb250LWhlYWRpbmcgbGc6dGV4dC1sZyBwdC0xMiBwYi04O1xuICB9XG4gIFxuICAuc2hvcGlmeS1wb2xpY3lfX3RpdGxlIHtcbiAgICBAYXBwbHkgZm9udC1oZWFkaW5nIHRleHQteGwgbGc6dGV4dC0yeGwgcHktMzI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG4gIH0iLCIvKiBjb21wb25lbnQtYnV0dG9uICovXG4vKiBCdXR0b24gLSBkZWZhdWx0ICovXG5cbi5idXR0b24tLXNlY29uZGFyeSxcbi5idXR0b24tLXRlcnRpYXJ5IHtcbiAgLS1jb2xvci1idXR0b246IHZhcigtLWNvbG9yLXNlY29uZGFyeS1idXR0b24pO1xuICAtLWNvbG9yLWJ1dHRvbi10ZXh0OiB2YXIoLS1jb2xvci1zZWNvbmRhcnktYnV0dG9uLXRleHQpO1xufVxuXG4uYnV0dG9uLS10ZXJ0aWFyeSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgbWluLXdpZHRoOiBjYWxjKDlyZW0gKyB2YXIoLS1idXR0b25zLWJvcmRlci13aWR0aCkgKiAyKTtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDMuNXJlbSArIHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKSAqIDIpO1xuICAgIC0tYWxwaGEtYnV0dG9uLWJhY2tncm91bmQ6IDA7XG4gICAgLS1hbHBoYS1idXR0b24tYm9yZGVyOiAwLjI7XG59XG5cbi5idXR0b24tLWFycm93IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nLWZhbWlseSk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBjb2x1bW4tZ2FwOiAuOHJlbTtcbn1cbiAgXG4uYnV0dG9uLFxuLnNob3BpZnktY2hhbGxlbmdlX19idXR0b24sXG4uY3VzdG9tZXIgYnV0dG9uLFxuYnV0dG9uLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbi0tdW5icmFuZGVkLFxuLnNob3BpZnktcGF5bWVudC1idXR0b24gW3JvbGU9J2J1dHRvbiddLFxuLmNhcnRfX2R5bmFtaWMtY2hlY2tvdXQtYnV0dG9ucyBbcm9sZT0nYnV0dG9uJ10sXG4uY2FydF9fZHluYW1pYy1jaGVja291dC1idXR0b25zIGlmcmFtZSB7XG4gICAgLS1zaGFkb3ctaG9yaXpvbnRhbC1vZmZzZXQ6IHZhcigtLWJ1dHRvbnMtc2hhZG93LWhvcml6b250YWwtb2Zmc2V0KTtcbiAgICAtLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQ6IHZhcigtLWJ1dHRvbnMtc2hhZG93LXZlcnRpY2FsLW9mZnNldCk7XG4gICAgLS1zaGFkb3ctYmx1ci1yYWRpdXM6IHZhcigtLWJ1dHRvbnMtc2hhZG93LWJsdXItcmFkaXVzKTtcbiAgICAtLXNoYWRvdy1vcGFjaXR5OiB2YXIoLS1idXR0b25zLXNoYWRvdy1vcGFjaXR5KTtcbiAgICAtLXNoYWRvdy12aXNpYmxlOiB2YXIoLS1idXR0b25zLXNoYWRvdy12aXNpYmxlKTtcbiAgICAtLWJvcmRlci1vZmZzZXQ6IHZhcigtLWJ1dHRvbnMtYm9yZGVyLW9mZnNldCk7IC8qIHJlZHVjZSByYWRpdXMgZWRnZSBhcnRpZmFjdHMgKi9cbiAgICAtLWJvcmRlci1vcGFjaXR5OiBjYWxjKDEgLSB2YXIoLS1idXR0b25zLWJvcmRlci1vcGFjaXR5KSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9ucy1yYWRpdXMtb3V0c2V0KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5idXR0b24sXG4uc2hvcGlmeS1jaGFsbGVuZ2VfX2J1dHRvbixcbi5jdXN0b21lciBidXR0b24sXG5idXR0b24uc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uLS11bmJyYW5kZWQge1xuICAgIG1pbi13aWR0aDogY2FsYygxMnJlbSArIHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKSAqIDIpO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoNC41cmVtICsgdmFyKC0tYnV0dG9ucy1ib3JkZXItd2lkdGgpICogMik7XG59XG5cbi5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b24tLWJyYW5kZWQge1xuICAgIHotaW5kZXg6IGF1dG87XG59XG5cbi5jYXJ0X19keW5hbWljLWNoZWNrb3V0LWJ1dHRvbnMgaWZyYW1lIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctaG9yaXpvbnRhbC1vZmZzZXQpIHZhcigtLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpIHZhcigtLXNoYWRvdy1ibHVyLXJhZGl1cylcbiAgICByZ2JhKHZhcigtLWNvbG9yLXNoYWRvdyksIHZhcigtLXNoYWRvdy1vcGFjaXR5KSk7XG59XG5cbi5idXR0b24sXG4uc2hvcGlmeS1jaGFsbGVuZ2VfX2J1dHRvbixcbi5jdXN0b21lciBidXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nLWZhbWlseSk7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiByZ2IodmFyKC0tY29sb3ItYnV0dG9uLXRleHQpKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLWR1cmF0aW9uLXNob3J0KSBlYXNlO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tY29sb3ItYnV0dG9uKSwgdmFyKC0tYWxwaGEtYnV0dG9uLWJhY2tncm91bmQpKTtcbn1cblxuLmJ1dHRvbjpiZWZvcmUsXG4uc2hvcGlmeS1jaGFsbGVuZ2VfX2J1dHRvbjpiZWZvcmUsXG4uY3VzdG9tZXIgYnV0dG9uOmJlZm9yZSxcbi5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b24tLXVuYnJhbmRlZDpiZWZvcmUsXG4uc2hvcGlmeS1wYXltZW50LWJ1dHRvbiBbcm9sZT0nYnV0dG9uJ106YmVmb3JlLFxuLmNhcnRfX2R5bmFtaWMtY2hlY2tvdXQtYnV0dG9ucyBbcm9sZT0nYnV0dG9uJ106YmVmb3JlIHtcbmNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnV0dG9ucy1yYWRpdXMtb3V0c2V0KTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctaG9yaXpvbnRhbC1vZmZzZXQpIHZhcigtLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpIHZhcigtLXNoYWRvdy1ibHVyLXJhZGl1cylcbiAgICAgICAgcmdiYSh2YXIoLS1jb2xvci1zaGFkb3cpLCB2YXIoLS1zaGFkb3ctb3BhY2l0eSkpO1xufVxuXG4uYnV0dG9uOmFmdGVyLFxuLnNob3BpZnktY2hhbGxlbmdlX19idXR0b246YWZ0ZXIsXG4uY3VzdG9tZXIgYnV0dG9uOmFmdGVyLFxuLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbi0tdW5icmFuZGVkOmFmdGVyIHtcbmNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKTtcbiAgICByaWdodDogdmFyKC0tYnV0dG9ucy1ib3JkZXItd2lkdGgpO1xuICAgIGJvdHRvbTogdmFyKC0tYnV0dG9ucy1ib3JkZXItd2lkdGgpO1xuICAgIGxlZnQ6IHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbnMtcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCBjYWxjKHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKSArIHZhcigtLWJvcmRlci1vZmZzZXQpKVxuICAgICAgICByZ2JhKHZhcigtLWNvbG9yLWJ1dHRvbi10ZXh0KSwgdmFyKC0tYm9yZGVyLW9wYWNpdHkpKSxcbiAgICAgICAgMCAwIDAgdmFyKC0tYnV0dG9ucy1ib3JkZXItd2lkdGgpIHJnYmEodmFyKC0tY29sb3ItYnV0dG9uKSwgdmFyKC0tYWxwaGEtYnV0dG9uLWJhY2tncm91bmQpKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLWR1cmF0aW9uLXNob3J0KSBlYXNlO1xufVxuXG4uYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpob3Zlcjo6YWZ0ZXIsXG4uc2hvcGlmeS1jaGFsbGVuZ2VfX2J1dHRvbjpob3Zlcjo6YWZ0ZXIsXG4uY3VzdG9tZXIgYnV0dG9uOmhvdmVyOjphZnRlcixcbi5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b24tLXVuYnJhbmRlZDpob3Zlcjo6YWZ0ZXIge1xuICAgIC0tYm9yZGVyLW9mZnNldDogMS4zcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgY2FsYyh2YXIoLS1idXR0b25zLWJvcmRlci13aWR0aCkgKyB2YXIoLS1ib3JkZXItb2Zmc2V0KSlcbiAgICAgICAgcmdiYSh2YXIoLS1jb2xvci1idXR0b24tdGV4dCksIHZhcigtLWJvcmRlci1vcGFjaXR5KSksXG4gICAgICAgIDAgMCAwIGNhbGModmFyKC0tYnV0dG9ucy1ib3JkZXItd2lkdGgpICsgMXB4KSByZ2JhKHZhcigtLWNvbG9yLWJ1dHRvbiksIHZhcigtLWFscGhhLWJ1dHRvbi1iYWNrZ3JvdW5kKSk7XG59XG5cbi5idXR0b24tLXNlY29uZGFyeSB7XG4gICAgLS1jb2xvci1idXR0b246IHZhcigtLWNvbG9yLXNlY29uZGFyeS1idXR0b24pO1xuICAgIC0tY29sb3ItYnV0dG9uLXRleHQ6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1idXR0b24tdGV4dCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24tLXNlY29uZGFyeTphZnRlciB7XG4gICAgLS1ib3JkZXItb3BhY2l0eTogdmFyKC0tYnV0dG9ucy1ib3JkZXItb3BhY2l0eSk7XG59XG5cbi5idXR0b246Zm9jdXMtdmlzaWJsZSxcbi5idXR0b246Zm9jdXMsXG4uYnV0dG9uLmZvY3VzZWQsXG4uc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uLS11bmJyYW5kZWQ6Zm9jdXMtdmlzaWJsZSxcbi5zaG9waWZ5LXBheW1lbnQtYnV0dG9uIFtyb2xlPSdidXR0b24nXTpmb2N1cy12aXNpYmxlLFxuLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbi0tdW5icmFuZGVkOmZvY3VzLFxuLnNob3BpZnktcGF5bWVudC1idXR0b24gW3JvbGU9J2J1dHRvbiddOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuM3JlbSByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpLCAwIDAgMCAwLjVyZW0gcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC41KSxcbiAgICAgICAgMCAwIDAuNXJlbSAwLjRyZW0gcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4zKTtcbn1cblxuLmJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOm5vdCguZm9jdXNlZCksXG4uc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uLS11bmJyYW5kZWQ6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTpub3QoLmZvY3VzZWQpLFxuLnNob3BpZnktcGF5bWVudC1idXR0b24gW3JvbGU9J2J1dHRvbiddOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6bm90KC5mb2N1c2VkKSB7XG4gICAgYm94LXNoYWRvdzogaW5oZXJpdDtcbn1cblxuLmJ1dHRvbjo6c2VsZWN0aW9uLFxuLnNob3BpZnktY2hhbGxlbmdlX19idXR0b246OnNlbGVjdGlvbixcbi5jdXN0b21lciBidXR0b246OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1jb2xvci1idXR0b24tdGV4dCksIDAuMyk7XG59XG5cbi5idXR0b24sXG4uYnV0dG9uLWxhYmVsLFxuLnNob3BpZnktY2hhbGxlbmdlX19idXR0b24sXG4uY3VzdG9tZXIgYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogY2FsYygxICsgMC4yIC8gdmFyKC0tZm9udC1ib2R5LXNjYWxlKSk7XG59XG5cbi5idXR0b24tLXRlcnRpYXJ5IHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICBtaW4td2lkdGg6IGNhbGMoOXJlbSArIHZhcigtLWJ1dHRvbnMtYm9yZGVyLXdpZHRoKSAqIDIpO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMy41cmVtICsgdmFyKC0tYnV0dG9ucy1ib3JkZXItd2lkdGgpICogMik7XG59XG5cbi5idXR0b24tLXNtYWxsIHtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAuOHJlbSAxcmVtO1xufVxuXG4vKiBCdXR0b24gLSBvdGhlciAqL1xuXG4uYnV0dG9uOmRpc2FibGVkLFxuLmJ1dHRvblthcmlhLWRpc2FibGVkPSd0cnVlJ10sXG4uYnV0dG9uLS1hcnJvd1thcmlhLWRpc2FibGVkPSd0cnVlJ10sXG4uYnV0dG9uLmRpc2FibGVkLFxuLmN1c3RvbWVyIGJ1dHRvbjpkaXNhYmxlZCxcbi5jdXN0b21lciBidXR0b25bYXJpYS1kaXNhYmxlZD0ndHJ1ZSddLFxuLmN1c3RvbWVyIGJ1dHRvbi5kaXNhYmxlZCxcbi5xdWFudGl0eV9fYnV0dG9uLmRpc2FibGVkIHtcbmN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC42O1xufVxuXG4uYnV0dG9uLS1mdWxsLXdpZHRoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYnV0dG9uLmxvYWRpbmcge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAuYnV0dG9uLmxvYWRpbmcge1xuICAgICAgICBjb2xvcjogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbiAgICB9XG59XG5cbi5idXR0b24ubG9hZGluZyA+IC5sb2FkaW5nX19zcGlubmVyIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5idXR0b24ubG9hZGluZyA+IC5sb2FkaW5nX19zcGlubmVyIC5zcGlubmVyIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi5idXR0b24ubG9hZGluZyA+IC5sb2FkaW5nX19zcGlubmVyIC5wYXRoIHtcbiAgICBzdHJva2U6IHJnYih2YXIoLS1jb2xvci1idXR0b24tdGV4dCkpO1xufVxuIiwiLypcbiAgLS1wcm9kdWN0LWdyaWQtaG9yaXpvbnRhbC1zcGFjaW5nOiAzLjUlO1xuICAtLXByb2R1Y3QtZ3JpZC1tYXgtaG9yaXpvbnRhbC1zcGFjaW5nOiA1MnB4O1xuICAtLXByb2R1Y3QtZ3JpZC12ZXJ0aWNhbC1zcGFjaW5nOiAzNnB4O1xuXG5ncmlkLS1jb2wtMSBncmlkLS1sZy1jb2wtM1xuKi9cblxuLnByb2R1Y3QtZ3JpZCB7XG4gIGdhcDogdmFyKC0tcHJvZHVjdC1ncmlkLXZlcnRpY2FsLXNwYWNpbmcpIHZhcigtLWhvcml6b250YWwtZ2FwKTtcbn1cblxuLnByb2R1Y3QtZ3JpZC0tc21hbGwge1xuICBnYXA6IDEuNXJlbSAxLjVyZW07XG59XG5cbi5wcm9kdWN0LWdyaWQuZ3JpZC0tY29sLTEgLmdyaWRfX2l0ZW0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3QtZ3JpZC5ncmlkLS1jb2wtMiAuZ3JpZF9faXRlbSB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLWhvcml6b250YWwtZ2FwKSAqIDEgLyAyKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnByb2R1Y3QtZ3JpZC5ncmlkLS1jb2wtMSAuZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0taG9yaXpvbnRhbC1nYXApICogMSAvIDIpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC5wcm9kdWN0LWdyaWQuZ3JpZC0tbGctY29sLTIgLmdyaWRfX2l0ZW0sXG4gIC5wcm9kdWN0LWdyaWQuZ3JpZC0tbGctY29sLTMgLmdyaWRfX2l0ZW0sXG4gIC5wcm9kdWN0LWdyaWQuZ3JpZC0tbGctY29sLTQgLmdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLWhvcml6b250YWwtZ2FwKSAqIDEgLyAyKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gdmFyKC0taG9yaXpvbnRhbC1nYXApICogMSAvIDIpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucHJvZHVjdC1ncmlkLmdyaWQtLWxnLWNvbC0yIC5ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSB2YXIoLS1ob3Jpem9udGFsLWdhcCkgKiAxIC8gMik7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLWhvcml6b250YWwtZ2FwKSAqIDEgLyAyKTtcbiAgfVxuICAucHJvZHVjdC1ncmlkLmdyaWQtLWxnLWNvbC0zIC5ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMyUgLSB2YXIoLS1ob3Jpem9udGFsLWdhcCkgKiAyIC8gMyk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDMzLjMzJSAtIHZhcigtLWhvcml6b250YWwtZ2FwKSAqIDIgLyAzKTtcbiAgfVxuICAucHJvZHVjdC1ncmlkLmdyaWQtLWxnLWNvbC00IC5ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSB2YXIoLS1ob3Jpem9udGFsLWdhcCkgKiAzIC8gNCk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDI1JSAtIHZhcigtLWhvcml6b250YWwtZ2FwKSAqIDMgLyA0KTtcbiAgfVxufVxuXG4uY2FyZC13cmFwcGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jYXJkIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiB2YXIoLS10ZXh0LWFsaWdubWVudCk7XG59XG5cbi5jYXJkOm5vdCgucmF0aW8pIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uY2FyZC5jYXJkLS1ob3Jpem9udGFsIHtcbiAgLS10ZXh0LWFsaWdubWVudDogbGVmdDtcbiAgLS1pbWFnZS1wYWRkaW5nOiAwcmVtO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxLjVyZW07XG59XG5cbi5jYXJkLS1ob3Jpem9udGFsLnJhdGlvOmJlZm9yZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uY2FyZC0tcHJvZHVjdCAuY2FyZF9faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgdmFyKC0tYm9yZGVyLW9wYWNpdHkpKTtcbn1cblxuLmNhcmQtLXByb2R1Y3QgLmNhcmRfX2lubmVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiBjYWxjKHZhcigtLWJvcmRlci13aWR0aCkgKiAyICsgMTAwJSk7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgpICogMiArIDEwMCUpO1xuICB0b3A6IGNhbGModmFyKC0tYm9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgbGVmdDogY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgpICogLTEpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWhvcml6b250YWwtb2Zmc2V0KSB2YXIoLS1zaGFkb3ctdmVydGljYWwtb2Zmc2V0KSB2YXIoLS1zaGFkb3ctYmx1ci1yYWRpdXMpXG4gICAgcmdiYSh2YXIoLS1jb2xvci1zaGFkb3cpLCB2YXIoLS1zaGFkb3ctb3BhY2l0eSkpO1xufVxuXG4vKiBOZWVkZWQgZm9yIGdyYWRpZW50IGNvbnRpbnVpdHkgd2l0aCBvciB3aXRob3V0IGFuaW1hdGlvbiwgdGhlIHRyYW5zZm9ybSBzY29wZXMgdGhlIGdyYWRpZW50IHRvIGl0cyBjb250YWluZXIgd2hpY2ggaGFwcGVucyBhbHJlYWR5IHdoZW4gYW5pbWF0aW9uIGFyZSB0dXJuZWQgb24gKi9cbi5jYXJkX19pbm5lci5ncmFkaWVudCB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMCk7XG59XG5cbi8qIE5lZWRlZCBmb3IgZ3JhZGllbnQgY29udGludWl0eSB3aXRoIG9yIHdpdGhvdXQgYW5pbWF0aW9uIHNvIHRoYXQgdHJhbnNwYXJlbnQgUE5HIGltYWdlcyBjb21lIHVwIGFzIHdlIHdvdWxkIGV4cGVjdCAqL1xuLmNhcmRfX2lubmVyLmNvbG9yLWJhY2tncm91bmQtMSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uY2FyZCAuY2FyZF9faW5uZXIgLmNhcmRfX21lZGlhIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogRml4IGZvciBTYWZhcmkgYm9yZGVyIGJ1ZyBvbiBob3ZlciAqL1xuICB6LWluZGV4OiAwO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tYm9yZGVyLXdpZHRoKSAtIHZhcigtLWltYWdlLXBhZGRpbmcpKTtcbn1cblxuLmNhcmQtLXByb2R1Y3QuY2FyZC0tdGV4dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uY2FyZC1pbmZvcm1hdGlvbiB7XG4gIHRleHQtYWxpZ246IHZhcigtLXRleHQtYWxpZ25tZW50KTtcbn1cblxuLmNhcmRfX21lZGlhLFxuLmNhcmQgLm1lZGlhIHtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cblxuLmNhcmQgLm1lZGlhIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXJkX19tZWRpYSB7XG4gIG1hcmdpbjogdmFyKC0taW1hZ2UtcGFkZGluZyk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0taW1hZ2UtcGFkZGluZykpO1xufVxuXG4uY2FyZC0tc3RhbmRhcmQgLmNhcmRfX21lZGlhIHtcbiAgbWFyZ2luOiB2YXIoLS1pbWFnZS1wYWRkaW5nKTtcbn1cblxuLmNhcmRfX2lubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXJkLS1tZWRpYSAuY2FyZF9faW5uZXIgLmNhcmRfX2NvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0taW1hZ2UtcGFkZGluZykgKyAxcmVtKTtcbn1cblxuLmNhcmRfX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEuM3JlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmNhcmRfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi5jYXJ0LWRyYXdlcl9fY29sbGVjdGlvbiAuY2FyZF9fY29udGVudCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmNhcmRfX2JhZGdlIHtcbiAgbWFyZ2luOiAxLjJyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC5wcm9kdWN0IC5jYXJkX19iYWRnZSB7XG4gICAgbWFyZ2luOiAzcmVtO1xuICB9XG59XG5cbi5jYXJkX19iYWRnZS50b3Age1xuICB0b3A6IDA7XG59XG5cbi5jYXJkX19iYWRnZS5ib3R0b20ge1xuICBib3R0b206IDA7XG59XG5cbi5jYXJkX19iYWRnZS5yaWdodCB7XG4gIHJpZ2h0OiAwO1xufVxuXG4uY2FyZDpub3QoLmNhcmQtLWhvcml6b250YWwpID4gLmNhcmRfX2NvbnRlbnQgPiAuY2FyZF9fYmFkZ2Uge1xuICBtYXJnaW46IDEuM3JlbTtcbn1cblxuLmNhcmRfX21lZGlhIC5tZWRpYSBpbWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2FyZF9faW5uZXI6bm90KC5yYXRpbykgPiAuY2FyZF9fY29udGVudCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmNhcmRfX2hlYWRpbmcge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nLWZhbWlseSk7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG4uY2FyZF9faW5mb3JtYXRpb24ge1xuICBsaW5lLWhlaWdodDogMi40cmVtO1xufVxuXG4uY2FyZC0taG9yaXpvbnRhbFxuICAuY2FyZC1pbmZvcm1hdGlvblxuICA+ICo6bm90KC52aXN1YWxseS1oaWRkZW46Zmlyc3QtY2hpbGQpXG4gICsgKjpub3QoLnJhdGluZyk6bm90KC5jYXJkX19pbmZvcm1hdGlvbi12b2x1bWUtcHJpY2luZy1ub3RlKSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jYXJkLS1ob3Jpem9udGFsX19xdWljay1hZGQ6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmNhcmQtLXByb2R1Y3QuY2FyZC0tdGV4dCBhOjphZnRlciB7XG4gIGJvdHRvbTogY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgpICogLTEpO1xuICBsZWZ0OiBjYWxjKHZhcigtLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gIHRvcDogY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgpICogLTEpO1xufVxuXG5cbi5jYXJkX19oZWFkaW5nIGE6OmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICBjb250ZW50OiAnJztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxO1xufVxuXG4uY2FyZF9faGVhZGluZyBhOmFmdGVyIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDAuM3JlbTtcbn1cblxuXG4uY2FyZF9faGVhZGluZyBhOmZvY3VzOmFmdGVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4zcmVtIHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSksIDAgMCAwLjVyZW0gMC40cmVtIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMyk7XG4gIG91dGxpbmU6IDAuMnJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjUpO1xufVxuXG4uY2FyZF9faGVhZGluZyBhOmZvY3VzLXZpc2libGU6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjNyZW0gcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKSwgMCAwIDAuNXJlbSAwLjRyZW0gcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4zKTtcbiAgb3V0bGluZTogMC4ycmVtIHNvbGlkIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNSk7XG59XG5cbi5jYXJkX19oZWFkaW5nIGE6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5jYXJkX19oZWFkaW5nIGE6Zm9jdXMge1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdXRsaW5lOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTBweCkge1xuICAuY2FyZCAubWVkaWEubWVkaWEtLWhvdmVyLWVmZmVjdCA+IGltZzpvbmx5LWNoaWxkLFxuICAuY2FyZC13cmFwcGVyIC5tZWRpYS5tZWRpYS0taG92ZXItZWZmZWN0ID4gaW1nOm9ubHktY2hpbGQge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1kdXJhdGlvbi1sb25nKSBlYXNlO1xuICB9XG5cbiAgLmNhcmQ6aG92ZXIgLm1lZGlhLm1lZGlhLS1ob3Zlci1lZmZlY3QgPiBpbWc6Zmlyc3QtY2hpbGQ6b25seS1jaGlsZCxcbiAgLmNhcmQtd3JhcHBlcjpob3ZlciAubWVkaWEubWVkaWEtLWhvdmVyLWVmZmVjdCA+IGltZzpmaXJzdC1jaGlsZDpvbmx5LWNoaWxkIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB9XG5cbiAgLmNhcmQtd3JhcHBlcjpob3ZlciAubWVkaWEubWVkaWEtLWhvdmVyLWVmZmVjdCA+IGltZzpmaXJzdC1jaGlsZDpub3QoOm9ubHktY2hpbGQpIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLmNhcmQtd3JhcHBlcjpob3ZlciAubWVkaWEubWVkaWEtLWhvdmVyLWVmZmVjdCA+IGltZyArIGltZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tbG9uZykgZWFzZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB9XG5cbiAgLnVuZGVybGluZS1saW5rcy1ob3Zlcjpob3ZlciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuM3JlbTtcbiAgfVxufVxuXG4uY2FyZC0tc3RhbmRhcmQ6bm90KC5jYXJkLS1ob3Jpem9udGFsKSAucGxhY2Vob2xkZXItc3ZnIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhcmQtLWhvcml6b250YWwgLmNhcmRfX2JhZGdlLFxuLmNhcmQtLWhvcml6b250YWwuY2FyZC0tdGV4dCAuY2FyZF9faW5uZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2FyZC0tZXh0ZW5kLWhlaWdodCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmNhcmQtLWV4dGVuZC1oZWlnaHQuY2FyZC0tc3RhbmRhcmQuY2FyZC0tdGV4dCxcbi5jYXJkLS1leHRlbmQtaGVpZ2h0LmNhcmQtLW1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmNhcmQtLWV4dGVuZC1oZWlnaHQuY2FyZC0tc3RhbmRhcmQuY2FyZC0tdGV4dCAuY2FyZF9faW5uZXIsXG4uY2FyZC0tZXh0ZW5kLWhlaWdodC5jYXJkLS1tZWRpYSAuY2FyZF9faW5uZXIge1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi5jYXJkIC5pY29uLXdyYXAge1xuICBtYXJnaW4tbGVmdDogMC44cmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tc2hvcnQpIGVhc2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jYXJkLWluZm9ybWF0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXJkLWluZm9ybWF0aW9uID4gKiB7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKyAwLjQgLyB2YXIoLS1mb250LWJvZHktc2NhbGUpKTtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG59XG5cbi5jYXJkLWluZm9ybWF0aW9uID4gLnByaWNlIHtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG4uY2FyZC0taG9yaXpvbnRhbCAuY2FyZC1pbmZvcm1hdGlvbiA+IC5wcmljZSB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAxKTtcbn1cblxuLmNhcmQtaW5mb3JtYXRpb24gPiAucmF0aW5nIHtcbiAgbWFyZ2luLXRvcDogMC40cmVtO1xufVxuXG4uY2FyZC1hcnRpY2xlLWluZm8ge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uY2FyZC1pbmZvcm1hdGlvbiBzdmcubG9veC1pY29uIHtcbiAgd2lkdGg6IDAuOGVtO1xuICBoZWlnaHQ6IDAuOGVtO1xufVxuXG4uY2FyZC1pbmZvcm1hdGlvbiAubG9veC1yYXRpbmctbGFiZWwge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgcGFkZGluZy10b3A6IDJweDtcbn1cbiIsIi8qIFNlY3Rpb24gaW1hZ2UgYmFubmVyICovXG4uYmFubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uYmFubmVyX19ib3gge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE5lZWRlZCBmb3IgZ3JhZGllbnQgY29udGludWl0eSB3aXRoIG9yIHdpdGhvdXQgYW5pbWF0aW9uLCB0aGUgdHJhbnNmb3JtIHNjb3BlcyB0aGUgZ3JhZGllbnQgdG8gaXRzIGNvbnRhaW5lciB3aGljaCBoYXBwZW5zIGFscmVhZHkgd2hlbiBhbmltYXRpb24gYXJlIHR1cm5lZCBvbiAqL1xuLmJhbm5lcl9fYm94LmdyYWRpZW50IHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgwKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDlweCkge1xuICAuYmFubmVyLS1jb250ZW50LWFsaWduLW1vYmlsZS1yaWdodCAuYmFubmVyX19ib3gge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmJhbm5lci0tY29udGVudC1hbGlnbi1tb2JpbGUtbGVmdCAuYmFubmVyX19ib3gge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAuYmFubmVyLS1jb250ZW50LWFsaWduLXJpZ2h0IC5iYW5uZXJfX2JveCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuYmFubmVyLS1jb250ZW50LWFsaWduLWxlZnQgLmJhbm5lcl9fYm94IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLmJhbm5lci0tY29udGVudC1hbGlnbi1sZWZ0LmJhbm5lci0tZGVza3RvcC10cmFuc3BhcmVudCAuYmFubmVyX19ib3gsXG4gIC5iYW5uZXItLWNvbnRlbnQtYWxpZ24tcmlnaHQuYmFubmVyLS1kZXNrdG9wLXRyYW5zcGFyZW50IC5iYW5uZXJfX2JveCxcbiAgLmJhbm5lci0tbWVkaXVtLmJhbm5lci0tZGVza3RvcC10cmFuc3BhcmVudCAuYmFubmVyX19ib3gge1xuICAgIG1heC13aWR0aDogNjhyZW07XG4gIH1cblxuICAuYmFubmVyLS1jb250ZW50LWFsaWduLWxlZnQuYmFubmVyLS1kZXNrdG9wLXRyYW5zcGFyZW50IC5iYW5uZXJfX2JveC5jb250ZW50LWNvbnRhaW5lci0tbmFycm93LXdpZHRoLWRlc2t0b3AsXG4gIC5iYW5uZXItLWNvbnRlbnQtYWxpZ24tcmlnaHQuYmFubmVyLS1kZXNrdG9wLXRyYW5zcGFyZW50IC5iYW5uZXJfX2JveC5jb250ZW50LWNvbnRhaW5lci0tbmFycm93LXdpZHRoLWRlc2t0b3AsXG4gIC5iYW5uZXItLW1lZGl1bS5iYW5uZXItLWRlc2t0b3AtdHJhbnNwYXJlbnQgLmJhbm5lcl9fYm94LmNvbnRlbnQtY29udGFpbmVyLS1uYXJyb3ctd2lkdGgtZGVza3RvcCB7XG4gICAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgfVxufVxuXG4uYmFubmVyX19tZWRpYS5hbmltYXRlLS16b29tLWluIHtcbiAgY2xpcC1wYXRoOiBpbnNldCgwcHgpO1xufVxuXG4uYmFubmVyX19tZWRpYS5hbmltYXRlLS16b29tLWluID4gaW1nOm5vdCguem9vbSk6bm90KC5kZWZlcnJlZC1tZWRpYV9fcG9zdGVyLWJ1dHRvbiksXG4uYmFubmVyX19tZWRpYS5hbmltYXRlLS16b29tLWluID4gc3ZnOm5vdCguem9vbSk6bm90KC5kZWZlcnJlZC1tZWRpYV9fcG9zdGVyLWJ1dHRvbikge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGhlaWdodDogMTAwdmg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XG4gIC5iYW5uZXItLXNtYWxsLmJhbm5lci0tbW9iaWxlLWJvdHRvbTpub3QoLmJhbm5lci0tYWRhcHQpIC5iYW5uZXJfX21lZGlhLFxuICAuYmFubmVyLS1zbWFsbC5iYW5uZXItLXN0YWNrZWQ6bm90KC5iYW5uZXItLW1vYmlsZS1ib3R0b20pOm5vdCguYmFubmVyLS1hZGFwdCkgPiAuYmFubmVyX19tZWRpYSB7XG4gICAgaGVpZ2h0OiAyOHJlbTtcbiAgfVxuXG4gIC5iYW5uZXItLW1lZGl1bS5iYW5uZXItLW1vYmlsZS1ib3R0b206bm90KC5iYW5uZXItLWFkYXB0KSAuYmFubmVyX19tZWRpYSxcbiAgLmJhbm5lci0tbWVkaXVtLmJhbm5lci0tc3RhY2tlZDpub3QoLmJhbm5lci0tbW9iaWxlLWJvdHRvbSk6bm90KC5iYW5uZXItLWFkYXB0KSA+IC5iYW5uZXJfX21lZGlhIHtcbiAgICBoZWlnaHQ6IDM0cmVtO1xuICB9XG5cbiAgLmJhbm5lci0tbGFyZ2UuYmFubmVyLS1tb2JpbGUtYm90dG9tOm5vdCguYmFubmVyLS1hZGFwdCkgLmJhbm5lcl9fbWVkaWEsXG4gIC5iYW5uZXItLWxhcmdlLmJhbm5lci0tc3RhY2tlZDpub3QoLmJhbm5lci0tbW9iaWxlLWJvdHRvbSk6bm90KC5iYW5uZXItLWFkYXB0KSA+IC5iYW5uZXJfX21lZGlhIHtcbiAgICBoZWlnaHQ6IDM5cmVtO1xuICB9XG5cbiAgLmJhbm5lci0tc21hbGw6bm90KC5iYW5uZXItLW1vYmlsZS1ib3R0b20pOm5vdCguYmFubmVyLS1hZGFwdCkgLmJhbm5lcl9fY29udGVudCB7XG4gICAgbWluLWhlaWdodDogMjhyZW07XG4gIH1cblxuICAuYmFubmVyLS1tZWRpdW06bm90KC5iYW5uZXItLW1vYmlsZS1ib3R0b20pOm5vdCguYmFubmVyLS1hZGFwdCkgLmJhbm5lcl9fY29udGVudCB7XG4gICAgbWluLWhlaWdodDogMzRyZW07XG4gIH1cblxuICAuYmFubmVyLS1sYXJnZTpub3QoLmJhbm5lci0tbW9iaWxlLWJvdHRvbSk6bm90KC5iYW5uZXItLWFkYXB0KSAuYmFubmVyX19jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiAzOXJlbTtcbiAgfVxuXG4gIC5jb2xsZWN0aW9uLWhlcm8uYmFubmVyLS1zbWFsbDpub3QoLmJhbm5lci0tbW9iaWxlLWJvdHRvbSk6bm90KC5iYW5uZXItLWFkYXB0KSAuYmFubmVyX19jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiAyNHJlbTtcbiAgfVxufVxuXG4uYmFubmVyLS14bGFyZ2U6bm90KC5iYW5uZXItLWFkYXB0KSB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjBweCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XG4gIC5iYW5uZXItLXhsYXJnZSAuYmFubmVyX19ib3gge1xuICAgIHBhZGRpbmc6IDNyZW0gMXJlbTtcbiAgICBtYXgtd2lkdGg6IDkwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAuYmFubmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLmJhbm5lci0tc21hbGw6bm90KC5iYW5uZXItLWFkYXB0KSB7XG4gICAgbWluLWhlaWdodDogNDJyZW07XG4gIH1cblxuICAuYmFubmVyLS1tZWRpdW06bm90KC5iYW5uZXItLWFkYXB0KSB7XG4gICAgbWluLWhlaWdodDogNTZyZW07XG4gIH1cblxuICAuYmFubmVyLS1sYXJnZTpub3QoLmJhbm5lci0tYWRhcHQpIHtcbiAgICBtaW4taGVpZ2h0OiA3MnJlbTtcbiAgfVxuXG4gIC5jb2xsZWN0aW9uLWhlcm8uYmFubmVyLS1zbWFsbDpub3QoLmJhbm5lci0tYWRhcHQpIHtcbiAgICBtaW4taGVpZ2h0OiAzMHJlbTtcbiAgfVxuXG4gIC5jb2xsZWN0aW9uLWhlcm8uYmFubmVyLS1tZWRpdW06bm90KC5iYW5uZXItLWFkYXB0KSB7XG4gICAgbWluLWhlaWdodDogNDJyZW07XG4gIH1cblxuICAuY29sbGVjdGlvbi1oZXJvLmJhbm5lci0tbGFyZ2U6bm90KC5iYW5uZXItLWFkYXB0KSB7XG4gICAgbWluLWhlaWdodDogNTZyZW07XG4gIH1cblxuICAuYmFubmVyX19jb250ZW50LmJhbm5lcl9fY29udGVudC0tdG9wLWxlZnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuXG4gIC5iYW5uZXJfX2NvbnRlbnQuYmFubmVyX19jb250ZW50LS10b3AtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5iYW5uZXJfX2NvbnRlbnQuYmFubmVyX19jb250ZW50LS10b3AtcmlnaHQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAuYmFubmVyX19jb250ZW50LmJhbm5lcl9fY29udGVudC0tbWlkZGxlLWxlZnQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgLmJhbm5lcl9fY29udGVudC5iYW5uZXJfX2NvbnRlbnQtLW1pZGRsZS1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAuYmFubmVyX19jb250ZW50LmJhbm5lcl9fY29udGVudC0tbWlkZGxlLXJpZ2h0IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAuYmFubmVyX19jb250ZW50LmJhbm5lcl9fY29udGVudC0tYm90dG9tLWxlZnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAuYmFubmVyX19jb250ZW50LmJhbm5lcl9fY29udGVudC0tYm90dG9tLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLmJhbm5lcl9fY29udGVudC5iYW5uZXJfX2NvbnRlbnQtLWJvdHRvbS1yaWdodCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcbiAgLmJhbm5lcjpub3QoLmJhbm5lci0tc3RhY2tlZCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLmJhbm5lci0tc3RhY2tlZCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmJhbm5lci0tc3RhY2tlZCAuYmFubmVyX19tZWRpYSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4uYmFubmVyX19tZWRpYSB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYmFubmVyX19tZWRpYS1oYWxmIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmJhbm5lcl9fbWVkaWEtaGFsZiArIC5iYW5uZXJfX21lZGlhLWhhbGYge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLmJhbm5lcl9fbWVkaWEtaGFsZi5hbmltYXRlLS1maXhlZDpmaXJzdC1jaGlsZCA+IGltZyxcbi5iYW5uZXJfX21lZGlhLWhhbGYuYW5pbWF0ZS0tem9vbS1pbjpmaXJzdC1jaGlsZCA+IGltZyB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5iYW5uZXJfX21lZGlhLWhhbGYuYW5pbWF0ZS0tZml4ZWQ6bnRoLWNoaWxkKDIpID4gaW1nLFxuLmJhbm5lcl9fbWVkaWEtaGFsZi5hbmltYXRlLS16b29tLWluOm50aC1jaGlsZCgyKSA+IGltZyB7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDUwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcbiAgLmJhbm5lci0tc3RhY2tlZCAuYW5pbWF0ZS0tZml4ZWQ6Zmlyc3QtY2hpbGQgPiBpbWcsXG4gIC5iYW5uZXItLXN0YWNrZWQgLmFuaW1hdGUtLXpvb20taW46Zmlyc3QtY2hpbGQgPiBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmJhbm5lci0tc3RhY2tlZCAuYmFubmVyX19tZWRpYS1oYWxmLmFuaW1hdGUtLWZpeGVkOm50aC1jaGlsZCgyKSA+IGltZyxcbiAgLmJhbm5lci0tc3RhY2tlZCAuYmFubmVyX19tZWRpYS1oYWxmLmFuaW1hdGUtLXpvb20taW46bnRoLWNoaWxkKDIpID4gaW1nIHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmJhbm5lci0tc3RhY2tlZCAuYmFubmVyX19tZWRpYS1oYWxmIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5iYW5uZXItLXN0YWNrZWQgLmJhbm5lcl9fbWVkaWEtaGFsZiArIC5iYW5uZXJfX21lZGlhLWhhbGYge1xuICAgIG9yZGVyOiAxO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5iYW5uZXJfX21lZGlhIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmJhbm5lci0tYWRhcHQsXG4uYmFubmVyLS1hZGFwdF9pbWFnZS5iYW5uZXItLW1vYmlsZS1ib3R0b20gLmJhbm5lcl9fbWVkaWE6bm90KC5wbGFjZWhvbGRlcikge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XG4gIC5iYW5uZXItLW1vYmlsZS1ib3R0b20gLmJhbm5lcl9fbWVkaWEsXG4gIC5iYW5uZXItLXN0YWNrZWQ6bm90KC5iYW5uZXItLW1vYmlsZS1ib3R0b20pIC5iYW5uZXJfX21lZGlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuYmFubmVyLS1zdGFja2VkLmJhbm5lci0tYWRhcHQgLmJhbm5lcl9fY29udGVudCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmJhbm5lcjpub3QoLmJhbm5lci0tbW9iaWxlLWJvdHRvbSk6bm90KC5lbWFpbC1zaWdudXAtYmFubmVyKSAuYmFubmVyX19ib3gge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLmJhbm5lcjpub3QoLmJhbm5lci0tbW9iaWxlLWJvdHRvbSkgLmJhbm5lcl9fYm94IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLmJhbm5lcjpub3QoLmJhbm5lci0tbW9iaWxlLWJvdHRvbSkgLmJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgICAtLWFscGhhLWJ1dHRvbi1iYWNrZ3JvdW5kOiAwO1xuICB9XG5cbiAgLmJhbm5lci0tc3RhY2tlZDpub3QoLmJhbm5lci0tbW9iaWxlLWJvdHRvbSk6bm90KC5iYW5uZXItLWFkYXB0KSAuYmFubmVyX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmJhbm5lci0tc3RhY2tlZC5iYW5uZXItLWFkYXB0Om5vdCguYmFubmVyLS1tb2JpbGUtYm90dG9tKSAuYmFubmVyX19jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmJhbm5lci0tc3RhY2tlZDpub3QoLmJhbm5lci0tYWRhcHQpIC5iYW5uZXJfX21lZGlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuYmFubmVyOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5iYW5uZXItLXN0YWNrZWQgLmJhbm5lcl9fbWVkaWEtaW1hZ2UtaGFsZiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmJhbm5lcl9fY29udGVudCB7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAuYmFubmVyX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiA1cmVtO1xuICB9XG5cbiAgLmNvbGxlY3Rpb24taGVybyAuYmFubmVyX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmJhbm5lcl9fY29udGVudC0tdG9wLWxlZnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuXG4gIC5iYW5uZXJfX2NvbnRlbnQtLXRvcC1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLmJhbm5lcl9fY29udGVudC0tdG9wLXJpZ2h0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG5cbiAgLmJhbm5lcl9fY29udGVudC0tbWlkZGxlLWxlZnQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgLmJhbm5lcl9fY29udGVudC0tbWlkZGxlLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5iYW5uZXJfX2NvbnRlbnQtLW1pZGRsZS1yaWdodCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG5cbiAgLmJhbm5lcl9fY29udGVudC0tYm90dG9tLWxlZnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAuYmFubmVyX19jb250ZW50LS1ib3R0b20tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAuYmFubmVyX19jb250ZW50LS1ib3R0b20tcmlnaHQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XG4gIC5iYW5uZXItLW1vYmlsZS1ib3R0b206bm90KC5iYW5uZXItLXN0YWNrZWQpIC5iYW5uZXJfX2NvbnRlbnQge1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgLmJhbm5lcjpub3QoLmJhbm5lci0tbW9iaWxlLWJvdHRvbSkgLmZpZWxkX19pbnB1dCxcbiAgLmJhbm5lci0tbW9iaWxlLWJvdHRvbTpub3QoLmJhbm5lci0tc3RhY2tlZCkgLmJhbm5lcl9fYm94LmNvbG9yLWJhY2tncm91bmQtMSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLmJhbm5lcl9fYm94IHtcbiAgcGFkZGluZzogNHJlbSAzLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB6LWluZGV4OiAxO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAuYmFubmVyLS1kZXNrdG9wLXRyYW5zcGFyZW50IC5iYW5uZXJfX2JveCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbWF4LXdpZHRoOiA4OXJlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLmJhbm5lci0tZGVza3RvcC10cmFuc3BhcmVudCAuYnV0dG9uLS1zZWNvbmRhcnkge1xuICAgIC0tYWxwaGEtYnV0dG9uLWJhY2tncm91bmQ6IDA7XG4gIH1cblxuICAuYmFubmVyLS1kZXNrdG9wLXRyYW5zcGFyZW50IC5jb250ZW50LWNvbnRhaW5lcjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDlweCkge1xuICAuYmFubmVyLS1tb2JpbGUtYm90dG9tOjphZnRlcixcbiAgLmJhbm5lci0tbW9iaWxlLWJvdHRvbSAuYmFubmVyX19tZWRpYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmJhbm5lcjo6YWZ0ZXIsXG4uYmFubmVyX19tZWRpYTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5iYW5uZXJfX2JveCA+ICogKyAuYmFubmVyX190ZXh0IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAuYmFubmVyX19ib3ggPiAqICsgLmJhbm5lcl9fdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgfVxufVxuXG4uYmFubmVyX19ib3ggPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5iYW5uZXJfX2JveCA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDlweCkge1xuICAuYmFubmVyLS1zdGFja2VkIC5iYW5uZXJfX2JveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmJhbm5lcl9fYm94IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDcxcmVtO1xuICAgIG1pbi13aWR0aDogNDVyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5iYW5uZXJfX2JveCB7XG4gICAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgfVxufVxuXG4uYmFubmVyX19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJhbm5lcl9fYm94IC5iYW5uZXJfX2hlYWRpbmcgKyAqIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmJhbm5lcl9fYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMXJlbTtcbiAgbWF4LXdpZHRoOiA0NXJlbTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcbiAgLmJhbm5lci0tY29udGVudC1hbGlnbi1tb2JpbGUtcmlnaHQgLmJhbm5lcl9fYnV0dG9ucy0tbXVsdGlwbGUge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAuYmFubmVyLS1jb250ZW50LWFsaWduLW1vYmlsZS1jZW50ZXIgLmJhbm5lcl9fYnV0dG9ucy0tbXVsdGlwbGUgPiAqIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWluLXdpZHRoOiAyMnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAuYmFubmVyLS1jb250ZW50LWFsaWduLWNlbnRlciAuYmFubmVyX19idXR0b25zLS1tdWx0aXBsZSA+ICoge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtaW4td2lkdGg6IDIycmVtO1xuICB9XG5cbiAgLmJhbm5lci0tY29udGVudC1hbGlnbi1yaWdodCAuYmFubmVyX19idXR0b25zLS1tdWx0aXBsZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuXG4uYmFubmVyX19ib3ggPiAqICsgLmJhbm5lcl9fYnV0dG9ucyB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XG4gIC5iYW5uZXI6bm90KC5zbGlkZXNob3cpIC5ydGUgYSxcbiAgLmJhbm5lcjpub3QoLnNsaWRlc2hvdykgLmlubGluZS1yaWNodGV4dCBhOmhvdmVyLFxuICAuYmFubmVyOm5vdCguc2xpZGVzaG93KSAucnRlIGE6aG92ZXIge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmJhbm5lci0tZGVza3RvcC10cmFuc3BhcmVudCAucnRlIGEsXG4gIC5iYW5uZXItLWRlc2t0b3AtdHJhbnNwYXJlbnQgLmlubGluZS1yaWNodGV4dCBhOmhvdmVyLFxuICAuYmFubmVyLS1kZXNrdG9wLXRyYW5zcGFyZW50IC5ydGUgYTpob3ZlciB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxufVxuXG4uaW1hZ2Utd2l0aC10ZXh0IC5ncmlkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmltYWdlLXdpdGgtdGV4dCAuZ3JpZF9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmltYWdlLXdpdGgtdGV4dF9fZ3JpZC0tcmV2ZXJzZSAuaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS1pdGVtIHtcbiAgICBvcmRlcjogMTtcbiAgfVxufVxuXG4uaW1hZ2Utd2l0aC10ZXh0X19tZWRpYSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uemV0YS10ZXh0LW9uLWltYWdlIC5pbWFnZS13aXRoLXRleHRfX21lZGlhLS1zbWFsbCxcbi56ZXRhLXRleHQtb24taW1hZ2UgLmltYWdlLXdpdGgtdGV4dF9fbWVkaWEtLW1lZGl1bSxcbi56ZXRhLXRleHQtb24taW1hZ2UgLmltYWdlLXdpdGgtdGV4dF9fbWVkaWEtLWxhcmdlIHtcbiAgaGVpZ2h0OiA2NHJlbTtcbn1cblxuLmltYWdlLXdpdGgtdGV4dF9fbWVkaWEtLXNtYWxsLFxuLmltYWdlLXdpdGgtdGV4dF9fbWVkaWEtLW1lZGl1bSxcbi5pbWFnZS13aXRoLXRleHRfX21lZGlhLS1sYXJnZSB7XG4gIGhlaWdodDogMTAwdnc7XG4gIG1heC1oZWlnaHQ6IDY0cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS0tc21hbGwsXG4gIC56ZXRhLXRleHQtb24taW1hZ2UgLmltYWdlLXdpdGgtdGV4dF9fbWVkaWEtLXNtYWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoNTB2dyAqIDAuNik7XG4gIH1cblxuICAuaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS0tbWVkaXVtLFxuICAuemV0YS10ZXh0LW9uLWltYWdlIC5pbWFnZS13aXRoLXRleHRfX21lZGlhLS1tZWRpdW0ge1xuICAgIGhlaWdodDogY2FsYyg1MHZ3ICogMC45KTtcbiAgfVxuXG4gIC5pbWFnZS13aXRoLXRleHRfX21lZGlhLS1sYXJnZSxcbiAgLnpldGEtdGV4dC1vbi1pbWFnZSAuaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS0tbGFyZ2Uge1xuICAgIGhlaWdodDogY2FsYyg1MHZ3ICogMS4xNCk7XG4gICAgbWF4LWhlaWdodDogNzUuOXJlbTtcbiAgfVxufVxuXG4uaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS0tcGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pbWFnZS13aXRoLXRleHRfX21lZGlhLS1wbGFjZWhvbGRlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMDQpO1xufVxuXG4uaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS0tcGxhY2Vob2xkZXIuaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS0tYWRhcHQge1xuICBoZWlnaHQ6IDIwcmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAuaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS0tcGxhY2Vob2xkZXIuaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS0tYWRhcHQge1xuICAgIGhlaWdodDogMzByZW07XG4gIH1cbn1cblxuLmltYWdlLXdpdGgtdGV4dF9fbWVkaWEtLXBsYWNlaG9sZGVyID4gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS0tcGxhY2Vob2xkZXI6aXMoLmFuaW1hdGUtLWFtYmllbnQsIC5hbmltYXRlLS16b29tLWluKSA+IHN2ZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG59XG5cbi5pbWFnZS13aXRoLXRleHRfX2NvbnRlbnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBwYWRkaW5nOiA0cmVtIGNhbGMoNHJlbSAvIHZhcigtLWZvbnQtYm9keS1zY2FsZSkpIDVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLmltYWdlLXdpdGgtdGV4dCAuZ3JpZF9faXRlbTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uaW1hZ2Utd2l0aC10ZXh0Om5vdCguaW1hZ2Utd2l0aC10ZXh0LS1vdmVybGFwKSAuaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS1pdGVtOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbWVkaWEtcmFkaXVzKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tbWVkaWEtc2hhZG93LWhvcml6b250YWwtb2Zmc2V0KSB2YXIoLS1tZWRpYS1zaGFkb3ctdmVydGljYWwtb2Zmc2V0KSB2YXIoLS1tZWRpYS1zaGFkb3ctYmx1ci1yYWRpdXMpXG4gICAgcmdiYSh2YXIoLS1jb2xvci1zaGFkb3cpLCB2YXIoLS1tZWRpYS1zaGFkb3ctb3BhY2l0eSkpO1xufVxuXG4uaW1hZ2Utd2l0aC10ZXh0Om5vdCguaW1hZ2Utd2l0aC10ZXh0LS1vdmVybGFwKSAuaW1hZ2Utd2l0aC10ZXh0X190ZXh0LWl0ZW06YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS10ZXh0LWJveGVzLXJhZGl1cyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXRleHQtYm94ZXMtc2hhZG93LWhvcml6b250YWwtb2Zmc2V0KSB2YXIoLS10ZXh0LWJveGVzLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpXG4gICAgdmFyKC0tdGV4dC1ib3hlcy1zaGFkb3ctYmx1ci1yYWRpdXMpIHJnYmEodmFyKC0tY29sb3Itc2hhZG93KSwgdmFyKC0tdGV4dC1ib3hlcy1zaGFkb3ctb3BhY2l0eSkpO1xufVxuXG4uaW1hZ2Utd2l0aC10ZXh0IC5pbWFnZS13aXRoLXRleHRfX21lZGlhLWl0ZW0gPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbWVkaWEtcmFkaXVzKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogdmFyKC0tbWVkaWEtc2hhZG93LWhvcml6b250YWwtb2Zmc2V0KSB2YXIoLS1tZWRpYS1zaGFkb3ctdmVydGljYWwtb2Zmc2V0KSB2YXIoLS1tZWRpYS1zaGFkb3ctYmx1ci1yYWRpdXMpXG4gICAgcmdiYSh2YXIoLS1jb2xvci1zaGFkb3cpLCB2YXIoLS1tZWRpYS1zaGFkb3ctb3BhY2l0eSkpO1xufVxuXG4uaW1hZ2Utd2l0aC10ZXh0IC5nbG9iYWwtbWVkaWEtc2V0dGluZ3Mge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5pbWFnZS13aXRoLXRleHQgLmltYWdlLXdpdGgtdGV4dF9fdGV4dC1pdGVtID4gKiB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXRleHQtYm94ZXMtcmFkaXVzKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogdmFyKC0tdGV4dC1ib3hlcy1zaGFkb3ctaG9yaXpvbnRhbC1vZmZzZXQpIHZhcigtLXRleHQtYm94ZXMtc2hhZG93LXZlcnRpY2FsLW9mZnNldClcbiAgICB2YXIoLS10ZXh0LWJveGVzLXNoYWRvdy1ibHVyLXJhZGl1cykgcmdiYSh2YXIoLS1jb2xvci1zaGFkb3cpLCB2YXIoLS10ZXh0LWJveGVzLXNoYWRvdy1vcGFjaXR5KSk7XG59XG5cbi5pbWFnZS13aXRoLXRleHQ6bm90KC5pbWFnZS13aXRoLXRleHQtLW92ZXJsYXApIC5pbWFnZS13aXRoLXRleHRfX21lZGlhLWl0ZW0gPiAqLFxuLmltYWdlLXdpdGgtdGV4dDpub3QoLmltYWdlLXdpdGgtdGV4dC0tb3ZlcmxhcCkgLmltYWdlLXdpdGgtdGV4dF9fdGV4dC1pdGVtID4gKiB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XG4gIC5pbWFnZS13aXRoLXRleHQuY29sbGFwc2UtY29ybmVyczpub3QoLmltYWdlLXdpdGgtdGV4dC0tb3ZlcmxhcCkgLmltYWdlLXdpdGgtdGV4dF9fbWVkaWEtaXRlbTphZnRlcixcbiAgLmltYWdlLXdpdGgtdGV4dC5jb2xsYXBzZS1jb3JuZXJzOm5vdCguaW1hZ2Utd2l0aC10ZXh0LS1vdmVybGFwKSAuZ3JpZF9faXRlbSAuaW1hZ2Utd2l0aC10ZXh0X19tZWRpYSxcbiAgLmltYWdlLXdpdGgtdGV4dC5jb2xsYXBzZS1jb3JuZXJzOm5vdCguaW1hZ2Utd2l0aC10ZXh0LS1vdmVybGFwKSAuaW1hZ2Utd2l0aC10ZXh0X19tZWRpYSBpbWcsXG4gIC5pbWFnZS13aXRoLXRleHQuY29sbGFwc2UtY29ybmVyczpub3QoLmltYWdlLXdpdGgtdGV4dC0tb3ZlcmxhcCkgLmltYWdlLXdpdGgtdGV4dF9fbWVkaWEgLnBsYWNlaG9sZGVyLXN2ZyB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgfVxuXG4gIC5pbWFnZS13aXRoLXRleHQuY29sbGFwc2UtY29ybmVyczpub3QoLmltYWdlLXdpdGgtdGV4dC0tb3ZlcmxhcCkgLmltYWdlLXdpdGgtdGV4dF9fdGV4dC1pdGVtOmFmdGVyLFxuICAuaW1hZ2Utd2l0aC10ZXh0LmNvbGxhcHNlLWNvcm5lcnM6bm90KC5pbWFnZS13aXRoLXRleHQtLW92ZXJsYXApIC5ncmlkX19pdGVtIC5pbWFnZS13aXRoLXRleHRfX2NvbnRlbnQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIH1cblxuICAuaW1hZ2Utd2l0aC10ZXh0LmNvbGxhcHNlLWJvcmRlcnM6bm90KC5pbWFnZS13aXRoLXRleHQtLW92ZXJsYXApIC5pbWFnZS13aXRoLXRleHRfX2NvbnRlbnQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmltYWdlLXdpdGgtdGV4dF9fY29udGVudC0tbW9iaWxlLXJpZ2h0ID4gKiB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmltYWdlLXdpdGgtdGV4dF9fY29udGVudC0tbW9iaWxlLWNlbnRlciA+ICoge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmltYWdlLXdpdGgtdGV4dC0tb3ZlcmxhcCAuaW1hZ2Utd2l0aC10ZXh0X19jb250ZW50IHtcbiAgd2lkdGg6IDkwJTtcbiAgbWFyZ2luOiAtM3JlbSBhdXRvIDA7XG59XG5cbi5pbWFnZS13aXRoLXRleHRfX2NvbnRlbnQtLWJvdHRvbSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuXG4uaW1hZ2Utd2l0aC10ZXh0X19jb250ZW50LS10b3Age1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5pbWFnZS13aXRoLXRleHRfX2dyaWQtLXJldmVyc2UgLmltYWdlLXdpdGgtdGV4dF9fY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuaW1hZ2Utd2l0aC10ZXh0X19jb250ZW50LS1kZXNrdG9wLXJpZ2h0ID4gKiB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuaW1hZ2Utd2l0aC10ZXh0X19jb250ZW50LS1kZXNrdG9wLWxlZnQgPiAqIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuaW1hZ2Utd2l0aC10ZXh0X19jb250ZW50LS1kZXNrdG9wLWNlbnRlciA+ICoge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaW1hZ2Utd2l0aC10ZXh0X19jb250ZW50LS1kZXNrdG9wLW5hcnJvdyB7XG4gICAgbWF4LXdpZHRoOiBtYXgoNzUlLCA0MHJlbSk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAvKlxuICAgIC5pbWFnZS13aXRoLXRleHQtLW92ZXJsYXAgLmltYWdlLXdpdGgtdGV4dF9fdGV4dC1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiAzcmVtIDA7XG4gICAgfVxuICBcbiAgICAuaW1hZ2Utd2l0aC10ZXh0LS1vdmVybGFwIC5pbWFnZS13aXRoLXRleHRfX2NvbnRlbnQge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDRyZW0pO1xuICAgICAgbWluLXdpZHRoOiBjYWxjKDEwMCUgKyA0cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogLTRyZW07XG4gICAgfVxuICBcbiAgICAuaW1hZ2Utd2l0aC10ZXh0LS1vdmVybGFwIC5pbWFnZS13aXRoLXRleHRfX2dyaWQtLXJldmVyc2UgLmltYWdlLXdpdGgtdGV4dF9fY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTRyZW07XG4gICAgfVxuICBcbiAgICAuaW1hZ2Utd2l0aC10ZXh0LS1vdmVybGFwIC5pbWFnZS13aXRoLXRleHRfX2dyaWQtLXJldmVyc2UgLmltYWdlLXdpdGgtdGV4dF9fdGV4dC1pdGVtIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICBcbiAgICAuaW1hZ2Utd2l0aC10ZXh0LS1vdmVybGFwIC5pbWFnZS13aXRoLXRleHRfX21lZGlhLWl0ZW0tLXRvcCB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgXG4gICAgLmltYWdlLXdpdGgtdGV4dC0tb3ZlcmxhcCAuaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS1pdGVtLS1taWRkbGUge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgXG4gICAgLmltYWdlLXdpdGgtdGV4dC0tb3ZlcmxhcCAuaW1hZ2Utd2l0aC10ZXh0X19tZWRpYS1pdGVtLS1ib3R0b20ge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxuICAgICovXG5cbiAgLmltYWdlLXdpdGgtdGV4dF9fbWVkaWEtaXRlbS0tc21hbGwsXG4gIC5pbWFnZS13aXRoLXRleHRfX21lZGlhLWl0ZW0tLWxhcmdlICsgLmltYWdlLXdpdGgtdGV4dF9fdGV4dC1pdGVtIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gIH1cblxuICAvKlxuICAgIC5pbWFnZS13aXRoLXRleHQuY29sbGFwc2UtYm9yZGVyczpub3QoLmltYWdlLXdpdGgtdGV4dC0tb3ZlcmxhcClcbiAgICAgIC5ncmlkOm5vdCguaW1hZ2Utd2l0aC10ZXh0X19ncmlkLS1yZXZlcnNlKVxuICAgICAgLmltYWdlLXdpdGgtdGV4dF9fY29udGVudCB7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIFxuICAgIC5pbWFnZS13aXRoLXRleHQuY29sbGFwc2UtYm9yZGVyczpub3QoLmltYWdlLXdpdGgtdGV4dC0tb3ZlcmxhcClcbiAgICAgIC5pbWFnZS13aXRoLXRleHRfX2dyaWQtLXJldmVyc2VcbiAgICAgIC5pbWFnZS13aXRoLXRleHRfX2NvbnRlbnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIH0qL1xufVxuXG4uaW1hZ2Utd2l0aC10ZXh0Om5vdCguY29sbGFwc2UtY29ybmVycywgLmltYWdlLXdpdGgtdGV4dC0tb3ZlcmxhcCkgLmltYWdlLXdpdGgtdGV4dF9fbWVkaWEtaXRlbSB7XG4gIHotaW5kZXg6IDI7XG59XG5cbi8qIE5lZWRlZCBmb3IgZ3JhZGllbnQgY29udGludWl0eSB3aXRoIG9yIHdpdGhvdXQgYW5pbWF0aW9uIHNvIHRoYXQgdHJhbnNwYXJlbnQgUE5HIGltYWdlcyBjb21lIHVwIGFzIHdlIHdvdWxkIGV4cGVjdCAqL1xuLmltYWdlLXdpdGgtdGV4dC5pbWFnZS13aXRoLXRleHQtLW92ZXJsYXAgLmJhY2tyb3VuZC10cmFuc3BhcmVudCxcbi5pbWFnZS13aXRoLXRleHQ6bm90KC5pbWFnZS13aXRoLXRleHQtLW92ZXJsYXApIC5iYWNrZ3JvdW5kLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIE5lZWRlZCBmb3IgZ3JhZGllbnQgY29udGludWl0eSB3aXRoIG9yIHdpdGhvdXQgYW5pbWF0aW9uLCB0aGUgdHJhbnNmb3JtIHNjb3BlcyB0aGUgZ3JhZGllbnQgdG8gaXRzIGNvbnRhaW5lciB3aGljaCBoYXBwZW5zIGFscmVhZHkgd2hlbiBhbmltYXRpb24gYXJlIHR1cm5lZCBvbiAqL1xuLmltYWdlLXdpdGgtdGV4dCAuZ3JhZGllbnQge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDApO1xufVxuXG4uaW1hZ2Utd2l0aC10ZXh0X19jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tdGV4dC1ib3hlcy1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS10ZXh0LWJveGVzLXNoYWRvdy1ob3Jpem9udGFsLW9mZnNldCkgdmFyKC0tdGV4dC1ib3hlcy1zaGFkb3ctdmVydGljYWwtb2Zmc2V0KVxuICAgIHZhcigtLXRleHQtYm94ZXMtc2hhZG93LWJsdXItcmFkaXVzKSByZ2JhKHZhcigtLWNvbG9yLXNoYWRvdyksIHZhcigtLXRleHQtYm94ZXMtc2hhZG93LW9wYWNpdHkpKTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkwcHgpIHtcbiAgLmltYWdlLXdpdGgtdGV4dF9fY29udGVudCB7XG4gICAgcGFkZGluZzogNnJlbSA3cmVtIDdyZW07XG4gIH1cbn1cblxuLmltYWdlLXdpdGgtdGV4dF9fY29udGVudCA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmltYWdlLXdpdGgtdGV4dF9fY29udGVudCA+IC5pbWFnZS13aXRoLXRleHRfX3RleHQ6ZW1wdHkgfiBhIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmltYWdlLXdpdGgtdGV4dF9fY29udGVudCA+IDpmaXJzdC1jaGlsZDppcyguaW1hZ2Utd2l0aC10ZXh0X19oZWFkaW5nKSxcbi5pbWFnZS13aXRoLXRleHRfX3RleHQtLWNhcHRpb24gKyAuaW1hZ2Utd2l0aC10ZXh0X19oZWFkaW5nLFxuLmltYWdlLXdpdGgtdGV4dF9fdGV4dC0tY2FwdGlvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5pbWFnZS13aXRoLXRleHRfX2NvbnRlbnQgOmxhc3QtY2hpbGQ6aXMoLmltYWdlLXdpdGgtdGV4dF9faGVhZGluZyksXG4uaW1hZ2Utd2l0aC10ZXh0X190ZXh0LS1jYXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLmltYWdlLXdpdGgtdGV4dF9fY29udGVudCAuYnV0dG9uICsgLmltYWdlLXdpdGgtdGV4dF9fdGV4dCB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5cbi5pbWFnZS13aXRoLXRleHRfX2NvbnRlbnQgLmltYWdlLXdpdGgtdGV4dF9fdGV4dCArIC5idXR0b24ge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xufVxuXG4uaW1hZ2Utd2l0aC10ZXh0X19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmltYWdlLXdpdGgtdGV4dF9fdGV4dCBwIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmltYWdlLXdpdGgtdGV4dF9fbGlzdCB7XG4gIG9sIHtcbiAgICBsaXN0LXN0eWxlOiBvdXRzaWRlO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNnJlbTtcbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgfVxuICAgIGxpOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLTEuNnJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMjUpO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMS41cmVtKTtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDlweCkge1xuICAuY29sbGFwc2UtcGFkZGluZyAuaW1hZ2Utd2l0aC10ZXh0X19ncmlkIC5pbWFnZS13aXRoLXRleHRfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5jb2xsYXBzZS1wYWRkaW5nXG4gICAgLmltYWdlLXdpdGgtdGV4dF9fZ3JpZDpub3QoLmltYWdlLXdpdGgtdGV4dF9fZ3JpZC0tcmV2ZXJzZSlcbiAgICAuaW1hZ2Utd2l0aC10ZXh0X19jb250ZW50Om5vdCguaW1hZ2Utd2l0aC10ZXh0X19jb250ZW50LS1kZXNrdG9wLWNlbnRlcikge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuY29sbGFwc2UtcGFkZGluZ1xuICAgIC5pbWFnZS13aXRoLXRleHRfX2dyaWQtLXJldmVyc2VcbiAgICAuaW1hZ2Utd2l0aC10ZXh0X19jb250ZW50Om5vdCguaW1hZ2Utd2l0aC10ZXh0X19jb250ZW50LS1kZXNrdG9wLWNlbnRlcikge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4vKiBjaGVjayBmb3IgZmxleGJveCBnYXAgaW4gb2xkZXIgU2FmYXJpIHZlcnNpb25zICovXG5Ac3VwcG9ydHMgbm90IChpbnNldDogMTBweCkge1xuICAuaW1hZ2Utd2l0aC10ZXh0IC5ncmlkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4ubG9vcGluZy10YWJzLS12ZXJ0aWNhbCB7XG4gIEBhcHBseSB0ZXh0LWNlbnRlcjtcbn1cblxuLmxvb3BpbmctdGFicy0tdmVydGljYWwgLmxvb3BpbmctdGFic19faW1hZ2VzIHtcbiAgQGFwcGx5IG1heC13LTR4bCBteC1hdXRvO1xufVxuXG4ubG9vcGluZy10YWJzLS12ZXJ0aWNhbCAudGFiLWZlYXR1cmVzX19jb250cm9scy1saXN0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubG9vcGluZy10YWJzLS1ob3Jpem9udGFsIHtcbiAgQGFwcGx5IGxnOmZsZXggZ2FwLTY7XG59XG5cbi5sb29waW5nLXRhYnMtLWhvcml6b250YWwgLmxvb3BpbmctdGFic19faW1hZ2VzIHtcbiAgQGFwcGx5IHctZnVsbCBsZzp3LTEvMjtcbn1cblxuLmxvb3BpbmctdGFicy0taG9yaXpvbnRhbCAubG9vcGluZy10YWJzX190YWJzIHtcbiAgQGFwcGx5IHctZnVsbCBsZzp3LTEvMiBtdC00IGxnOm10LTAgbGc6cGwtMjggcHgtNjtcbn1cblxuLmltYWdlLXdpdGgtdGV4dF9fZ3JpZC0tMiB7XG4gIEBhcHBseSBncmlkIG1kOmdyaWQtY29scy0yO1xufVxuXG4uaW1hZ2Utd2l0aC10ZXh0X19ncmlkLS0zIHtcbiAgQGFwcGx5IGdyaWQgbWQ6Z3JpZC1jb2xzLTM7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmNvbGxlY3Rpb24tbGlzdF9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIGdyaWQtY29sdW1uLWdhcDogMXJlbTtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgfVxuICAuY29sbGVjdGlvbi1saXN0X193cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbiAgLmNvbGxlY3Rpb25zLWJhbm5lcl9fd3JhcHBlciB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICB9XG4gIC5jb2xsZWN0aW9ucy1iYW5uZXJfX3dyYXBwZXI6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgfVxufVxuXG5cbi5jb2xsZWN0aW9uLWxpc3RfX3dyYXBwZXItLXNjcm9sbGFibGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBncmlkLWNvbHVtbi1nYXA6IDEuNnJlbTtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbi5jb2xsZWN0aW9uLWxpc3RfX3dyYXBwZXItLXNjcm9sbGFibGU6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLmNvbGxlY3Rpb24tbGlzdF9fd3JhcHBlci0tc2Nyb2xsYWJsZSAuY29sbGVjdGlvbnMtYmFubmVyX193cmFwcGVyIHtcbiAgbWluLXdpZHRoOiAyMjBweDtcbiAgbWFyZ2luOiAxcmVtIDA7XG59XG4uY29sbGVjdGlvbi1saXN0X193cmFwcGVyLS1zY3JvbGxhYmxlIC5jb2xsZWN0aW9ucy1iYW5uZXJfX3dyYXBwZXI6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjZyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTBweCkge1xuICAuY29sbGVjdGlvbi1saXN0X193cmFwcGVyLS1zY3JvbGxhYmxlIC5jb2xsZWN0aW9ucy1iYW5uZXJfX3dyYXBwZXIge1xuICAgIG1pbi13aWR0aDogMjMlO1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gIH1cbiAgLmNvbGxlY3Rpb24tbGlzdF9fd3JhcHBlci0tc2Nyb2xsYWJsZSAuY29sbGVjdGlvbnMtYmFubmVyX193cmFwcGVyOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4iLCJAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDlweCkge1xuICAuY29sbGVjdGlvbiAuZ3JpZF9faXRlbTpvbmx5LWNoaWxkIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTg5cHgpIHtcbiAgLmNvbGxlY3Rpb24gLnNsaWRlci5zbGlkZXItLXRhYmxldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG59XG5cbi5jb2xsZWN0aW9uIC5sb2FkaW5nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxLjhyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XG4gIC5jb2xsZWN0aW9uIC5sb2FkaW5nLW92ZXJsYXkge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAuY29sbGVjdGlvbiAubG9hZGluZy1vdmVybGF5IHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi5jb2xsZWN0aW9uIC5sb2FkaW5nLW92ZXJsYXkge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgb3BhY2l0eTogMC43O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAuY29sbGVjdGlvbiAubG9hZGluZy1vdmVybGF5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVyZW07XG4gICAgcGFkZGluZy1yaWdodDogNXJlbTtcbiAgfVxufVxuXG4uY29sbGVjdGlvbi5sb2FkaW5nIC5sb2FkaW5nLW92ZXJsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvbGxlY3Rpb24tLWVtcHR5IC50aXRsZS13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMTByZW07XG4gIG1hcmdpbi1ib3R0b206IDE1cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5ODlweCkge1xuICAuY29sbGVjdGlvbiAuc2xpZGVyLS10YWJsZXQucHJvZHVjdC1ncmlkIHtcbiAgICBzY3JvbGwtcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIH1cbn1cblxuLmNvbGxlY3Rpb25fX2Rlc2NyaXB0aW9uID4gKiB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNvbGxlY3Rpb25fX3RpdGxlLnRpdGxlLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jb2xsZWN0aW9uX190aXRsZSAudGl0bGU6bm90KDpvbmx5LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC5jb2xsZWN0aW9uX190aXRsZS0tZGVza3RvcC1zbGlkZXIgLnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIH1cblxuICAuY29sbGVjdGlvbiBzbGlkZXItY29tcG9uZW50Om5vdCgucGFnZS13aWR0aC1kZXNrdG9wKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5jb2xsZWN0aW9uLS1mdWxsLXdpZHRoIHNsaWRlci1jb21wb25lbnQ6bm90KC5zbGlkZXItY29tcG9uZW50LWRlc2t0b3ApIHtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxlY3Rpb25fX3ZpZXctYWxsIGE6bm90KC5saW5rKSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5jb21wbGVtZW50YXJ5LXByb2R1Y3RzX19ibG9jayB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMjUpO1xufVxuXG4uY29tcGxlbWVudGFyeS1wcm9kdWN0c19fYWNjZXNzb3J5IHtcbiAgcGFkZGluZzogMCAycmVtO1xufVxuXG4uY29tcGxlbWVudGFyeS1wcm9kdWN0c19fY29sbGVjdGlvbiB7XG4gIC5jYXJkX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuY2FyZF9faW5mb3JtYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IC44cmVtO1xuICB9XG59XG5cbi5jb21wbGVtZW50YXJ5LXByb2R1Y3RzX19hY2Nlc3NvcnktbGluayB7XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbXBsZW1lbnRhcnktcHJvZHVjdHMge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMjUpO1xuICB9XG4gIC5jb21wbGVtZW50YXJ5LXByb2R1Y3RzX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxuXG4gIC5jb21wbGVtZW50YXJ5LXByb2R1Y3RzX19ibG9jayB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuICAuY29tcGxlbWVudGFyeS1wcm9kdWN0c19fYWNjZXNzb3J5IHtcbiAgICBwYWRkaW5nOiAwIDRyZW0gMCAwO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4yNSk7XG4gIH1cblxuICAuY29tcGxlbWVudGFyeS1wcm9kdWN0c19fY29sbGVjdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbXBsZW1lbnRhcnktcHJvZHVjdHNfX2FjY2Vzc29yeS1pbmZvcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICB9XG4gIC5jb21wbGVtZW50YXJ5LXByb2R1Y3RzX19hY2Nlc3NvcnktbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxufVxuIiwic3VtbWFyeSAuZmFxX19hcnJvdyAuaWNvbi0tY2lyY2xlLXBsdXMsXG5zdW1tYXJ5IC5mYXFfX2Fycm93IC5pY29uLS1jaXJjbGUtbWludXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogM3JlbTtcbiAgcmlnaHQ6IDAuNXJlbTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLmZhcV9fZGV0YWlscyBzdW1tYXJ5IC5mYXFfX2Fycm93IC5pY29uLS1jaXJjbGUtcGx1cyxcbi5mYXFfX2RldGFpbHNbb3Blbl0gc3VtbWFyeSAuZmFxX19hcnJvdyAuaWNvbi0tY2lyY2xlLW1pbnVzIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZhcV9fZGV0YWlscyBzdW1tYXJ5IC5mYXFfX2Fycm93IC5pY29uLS1jaXJjbGUtbWludXMsXG4uZmFxX19kZXRhaWxzW29wZW5dIHN1bW1hcnkgLmZhcV9fYXJyb3cgLmljb24tLWNpcmNsZS1wbHVzIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNpZGVuYXZfX2xpbmsuc2lkZW5hdl9fbGluay0tc2VsZWN0ZWQge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nLWZhbWlseSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuNXJlbTtcbn1cblxuLmFjY29yZGlvbl9fY29udGVudCB7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW07XG4gIH1cbiAgcCArIHVsLFxuICB1bCArIHAsXG4gIHAgKyBwLFxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIH1cbn1cblxubWNwLXNpZGVuYXYge1xuICAuc2VsZWN0ZWRfX3dyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjI1KTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgb3JkZXI6IDA7XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDNyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICB9XG5cbiAgLnNlbGVjdGVkX19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc2lkZW5hdl9fY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAuc2lkZW5hdl9fbGlzdCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMjUpO1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSk7XG4gICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNjBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDNyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuc2lkZW5hdl9fbGlzdC5kcm9wZG93bi0tZXhwYW5kZWQge1xuICAgICAgbWF4LWhlaWdodDogMTgwcHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cbiAgfVxufVxuXG4uYWNjb3JkaW9uIHN1bW1hcnkge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5hY2NvcmRpb25fX3RpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gIG1pbi1oZWlnaHQ6IDEuNnJlbTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cbiIsIlxuLmNhcnQtY29udGVudF9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLmNhcnQtY29udGVudF9fb3ZlcmxheTplbXB0eSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb250ZW50LWRyYXdlciAuZHJhd2VyX19pbm5lciB7XG4gICAgcGFkZGluZzogMCAxcmVtO1xufVxuXG4uZHJhd2VyX19wYWdlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBmbGV4OiAxO1xufVxuXG4uZHJhd2VyX19wYWdlLWlubmVyIHtcbiAgIHBhZGRpbmc6IDAgM3JlbSA0cmVtO1xufVxuXG4uZHJhd2VyX19wYWdlIHtcbiAgICBoNCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmctZmFtaWx5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIH1cbiAgICBwIH4gaDQge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgICAuZmxleCB7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgfVxuICAgIC5mbGV4Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5mbGV4IHAge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLmZsZXg+ZGl2IHtcbiAgICAgICAgbWluLXdpZHRoOiA0NCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cblxuLmRyYXdlcl9fcGFnZSB0YWJsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmctZmFtaWx5KTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwLjFyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogMC41ZW0gMWVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMC4xcmVtIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5ib2R5Lm92ZXJmbG93LWhpZGRlbi1tb2JpbGUgI2R1bW15LWNoYXQtYnV0dG9uLWlmcmFtZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy9ncmFkaWVudCBhbmltYXRlLS1ob3Zlci1kZWZhdWx0IG92ZXJmbG93LWhpZGRlbiIsInNsaWRlci1jb21wb25lbnQge1xuICAtLWRlc2t0b3AtbWFyZ2luLWxlZnQtZmlyc3QtaXRlbTogbWF4KDEuNXJlbSwgY2FsYygoMTAwdncgLSB2YXIoLS1wYWdlLXdpZHRoKSkgLyAyICsgMS41cmVtKSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnNsaWRlci1jb21wb25lbnQuc2xpZGVyLWNvbXBvbmVudC1mdWxsLXdpZHRoIHtcbiAgLS1kZXNrdG9wLW1hcmdpbi1sZWZ0LWZpcnN0LWl0ZW06IDEuNXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcbiAgc2xpZGVyLWNvbXBvbmVudC5wYWdlLXdpZHRoIHtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NDlweCkgYW5kIChtYXgtd2lkdGg6IDk5MHB4KSB7XG4gIHNsaWRlci1jb21wb25lbnQucGFnZS13aWR0aCB7XG4gICAgcGFkZGluZzogMCA1cmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk4OXB4KSB7XG4gIC5uby1qcyBzbGlkZXItY29tcG9uZW50IC5zbGlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICB9XG59XG5cbi5zbGlkZXJfX3NsaWRlIHtcbiAgLS1mb2N1cy1vdXRsaW5lLXBhZGRpbmc6IDAuNXJlbTtcbiAgLS1zaGFkb3ctcGFkZGluZy10b3A6IGNhbGMoKHZhcigtLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpICogLTEgKyB2YXIoLS1zaGFkb3ctYmx1ci1yYWRpdXMpKSAqIHZhcigtLXNoYWRvdy12aXNpYmxlKSk7XG4gIC0tc2hhZG93LXBhZGRpbmctYm90dG9tOiBjYWxjKCh2YXIoLS1zaGFkb3ctdmVydGljYWwtb2Zmc2V0KSArIHZhcigtLXNoYWRvdy1ibHVyLXJhZGl1cykpICogdmFyKC0tc2hhZG93LXZpc2libGUpKTtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xuICBmbGV4LXNocmluazogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5zbGlkZXJfX3NsaWRlW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XG4gIC5zbGlkZXIuc2xpZGVyLS1tb2JpbGUge1xuICAgIC0tZ2FwOiAxLjZyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIHNjcm9sbC1wYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBnYXA6IHZhcigtLWdhcCk7XG4gIH1cblxuICAvKiBGaXggdG8gc2hvdyBzb21lIHNwYWNlIGF0IHRoZSBlbmQgb2Ygb3VyIHNsaWRlcnMgaW4gYWxsIGJyb3dzZXJzICovXG4gIC5zbGlkZXItLW1vYmlsZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIH1cblxuICAuc2xpZGVyLnNsaWRlci0tbW9iaWxlIC5zbGlkZXJfX3NsaWRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiBtYXgodmFyKC0tZm9jdXMtb3V0bGluZS1wYWRkaW5nKSwgdmFyKC0tc2hhZG93LXBhZGRpbmctdG9wKSk7XG4gICAgcGFkZGluZy1ib3R0b206IG1heCh2YXIoLS1mb2N1cy1vdXRsaW5lLXBhZGRpbmcpLCB2YXIoLS1zaGFkb3ctcGFkZGluZy1ib3R0b20pKTtcbiAgfVxuXG4gIC5zbGlkZXIuc2xpZGVyLS1tb2JpbGUuY29udGFpbnMtY2FyZC0tc3RhbmRhcmQgLnNsaWRlcl9fc2xpZGU6bm90KC5jb2xsZWN0aW9uLWxpc3RfX2l0ZW0tLW5vLW1lZGlhKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWZvY3VzLW91dGxpbmUtcGFkZGluZyk7XG4gIH1cblxuICAuc2xpZGVyLnNsaWRlci0tbW9iaWxlLmNvbnRhaW5zLWNvbnRlbnQtY29udGFpbmVyIC5zbGlkZXJfX3NsaWRlIHtcbiAgICAtLWZvY3VzLW91dGxpbmUtcGFkZGluZzogMHJlbTtcbiAgfVxufVxuXG4uZ3JpZC0tMi1jb2wtZGVza3RvcCAuZ3JpZF9faXRlbSxcbi5ncmlkLS0zLWNvbC1kZXNrdG9wIC5ncmlkX19pdGVtLFxuLmdyaWQtLTUtY29sLWRlc2t0b3AgLmdyaWRfX2l0ZW0ge1xuICAtLWdhcDogMS42cmVtO1xuICB3aWR0aDogY2FsYyg4MCUgLSB2YXIoLS1nYXApICsgKHZhcigtLWdhcCkgLyAxLjI1KSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc1MHB4KSB7XG4gIC5ncmlkLS1wZWVrLnNsaWRlciAuZ3JpZF9faXRlbTpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAuc2xpZGVyLnNsaWRlci0tdGFibGV0LXVwIHtcbiAgICAtLWdhcDogMS42cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICBzY3JvbGwtcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBnYXA6IHZhcigtLWdhcCk7XG4gIH1cblxuICAuZ3JpZC0tMy1jb2wtZGVza3RvcCAuZ3JpZF9faXRlbSB7XG4gICAgLS1nYXA6IDRyZW07XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gdmFyKC0tZ2FwKSArICh2YXIoLS1nYXApIC8gMykpO1xuICB9XG5cbiAgLmdyaWQtLTQtY29sLWRlc2t0b3AgLmdyaWRfX2l0ZW0ge1xuICAgIC0tZ2FwOiA0cmVtO1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIHZhcigtLWdhcCkgKyAodmFyKC0tZ2FwKSAvIDQpKTtcbiAgfVxuXG4gIC5zbGlkZXIuc2xpZGVyLS10YWJsZXQtdXAgLnNsaWRlcl9fc2xpZGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTg5cHgpIHtcbiAgLnNsaWRlci5zbGlkZXItLXRhYmxldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIHNjcm9sbC1wYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIC8qIEZpeCB0byBzaG93IHNvbWUgc3BhY2UgYXQgdGhlIGVuZCBvZiBvdXIgc2xpZGVycyBpbiBhbGwgYnJvd3NlcnMgKi9cbiAgLnNsaWRlci0tdGFibGV0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMDtcbiAgICAvKnBhZGRpbmctbGVmdDogMS41cmVtOyovXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKSk7XG4gIH1cblxuICAuc2xpZGVyLnNsaWRlci0tdGFibGV0IC5zbGlkZXJfX3NsaWRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiBtYXgodmFyKC0tZm9jdXMtb3V0bGluZS1wYWRkaW5nKSwgdmFyKC0tc2hhZG93LXBhZGRpbmctdG9wKSk7XG4gICAgcGFkZGluZy1ib3R0b206IG1heCh2YXIoLS1mb2N1cy1vdXRsaW5lLXBhZGRpbmcpLCB2YXIoLS1zaGFkb3ctcGFkZGluZy1ib3R0b20pKTtcbiAgfVxuXG4gIC5zbGlkZXIuc2xpZGVyLS10YWJsZXQuY29udGFpbnMtY2FyZC0tc3RhbmRhcmQgLnNsaWRlcl9fc2xpZGU6bm90KC5jb2xsZWN0aW9uLWxpc3RfX2l0ZW0tLW5vLW1lZGlhKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWZvY3VzLW91dGxpbmUtcGFkZGluZyk7XG4gIH1cblxuICAuc2xpZGVyLnNsaWRlci0tdGFibGV0LmNvbnRhaW5zLWNvbnRlbnQtY29udGFpbmVyIC5zbGlkZXJfX3NsaWRlIHtcbiAgICAtLWZvY3VzLW91dGxpbmUtcGFkZGluZzogMHJlbTtcbiAgfVxufVxuXG4uc2xpZGVyLS1ldmVyeXdoZXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uc2xpZGVyLnNsaWRlci0tZXZlcnl3aGVyZSAuc2xpZGVyX19zbGlkZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MHB4KSB7XG4gIC5zbGlkZXItY29tcG9uZW50LWRlc2t0b3AucGFnZS13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgLnNsaWRlci0tZGVza3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgLyogRml4IHRvIHNob3cgc29tZSBzcGFjZSBhdCB0aGUgZW5kIG9mIG91ciBzbGlkZXJzIGluIGFsbCBicm93c2VycyAqL1xuICAvKi5zbGlkZXItLWRlc2t0b3A6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAwO1xuICAgIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWdyaWQtZGVza3RvcC1ob3Jpem9udGFsLXNwYWNpbmcpKTtcbiAgfSovXG5cbiAgLnNsaWRlci5zbGlkZXItLWRlc2t0b3AgLnNsaWRlcl9fc2xpZGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IG1heCh2YXIoLS1mb2N1cy1vdXRsaW5lLXBhZGRpbmcpLCB2YXIoLS1zaGFkb3ctcGFkZGluZy10b3ApKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWF4KHZhcigtLWZvY3VzLW91dGxpbmUtcGFkZGluZyksIHZhcigtLXNoYWRvdy1wYWRkaW5nLWJvdHRvbSkpO1xuICB9XG5cbiAgLyouc2xpZGVyLWNvbXBvbmVudC1mdWxsLXdpZHRoIC5zbGlkZXItLWRlc2t0b3Age1xuICAgIHNjcm9sbC1wYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgfSovXG5cbiAgLyouc2xpZGVyLWNvbXBvbmVudC1mdWxsLXdpZHRoIC5zbGlkZXItLWRlc2t0b3AgLnNsaWRlcl9fc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgc2Nyb2xsLW1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gIH0qL1xuXG4gIC8qIEZpeCB0byBzaG93IHNvbWUgc3BhY2UgYXQgdGhlIGVuZCBvZiBvdXIgc2xpZGVycyBpbiBhbGwgYnJvd3NlcnMgKi9cbiAgLnNsaWRlci1jb21wb25lbnQtZnVsbC13aWR0aCAuc2xpZGVyLS1kZXNrdG9wOmFmdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgfVxuXG4gIC5zbGlkZXItLWRlc2t0b3AuZ3JpZC0tNS1jb2wtZGVza3RvcCAuZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSB2YXIoLS1kZXNrdG9wLW1hcmdpbi1sZWZ0LWZpcnN0LWl0ZW0pKSAvIDUgLSB2YXIoLS1ncmlkLWRlc2t0b3AtaG9yaXpvbnRhbC1zcGFjaW5nKSAqIDIpO1xuICB9XG5cbiAgLyouc2xpZGVyLS1kZXNrdG9wLmdyaWQtLTQtY29sLWRlc2t0b3AgLmdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gdmFyKC0tZGVza3RvcC1tYXJnaW4tbGVmdC1maXJzdC1pdGVtKSkgLyAzIC0gdmFyKC0tZ3JpZC1kZXNrdG9wLWhvcml6b250YWwtc3BhY2luZykgKiA0KTtcbiAgfSovXG5cbiAgLyouc2xpZGVyLS1kZXNrdG9wLmdyaWQtLTMtY29sLWRlc2t0b3AgLmdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gdmFyKC0tZ2FwKSkgLyAzIC0gdmFyKC0tZ2FwKSAqIDIpO1xuICB9Ki9cblxuICAuc2xpZGVyLS1kZXNrdG9wOm5vdCguY29tcGxlbWVudGFyeS1wcm9kdWN0cy1zbGlkZXIpLmdyaWQtLTItY29sLWRlc2t0b3AgLmdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gdmFyKC0tZGVza3RvcC1tYXJnaW4tbGVmdC1maXJzdC1pdGVtKSkgLyAyIC0gdmFyKC0tZ3JpZC1kZXNrdG9wLWhvcml6b250YWwtc3BhY2luZykgKiA1KTtcbiAgfVxuXG4gIC5zbGlkZXItLWRlc2t0b3AuZ3JpZC0tMS1jb2wtZGVza3RvcCAuZ3JpZF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSB2YXIoLS1kZXNrdG9wLW1hcmdpbi1sZWZ0LWZpcnN0LWl0ZW0pKSAtIHZhcigtLWdyaWQtZGVza3RvcC1ob3Jpem9udGFsLXNwYWNpbmcpICogOSk7XG4gIH1cblxuICAuc2xpZGVyLnNsaWRlci0tZGVza3RvcC5jb250YWlucy1jYXJkLS1zdGFuZGFyZCAuc2xpZGVyX19zbGlkZTpub3QoLmNvbGxlY3Rpb24tbGlzdF9faXRlbS0tbm8tbWVkaWEpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZm9jdXMtb3V0bGluZS1wYWRkaW5nKTtcbiAgfVxuXG4gIC5zbGlkZXIuc2xpZGVyLS1kZXNrdG9wLmNvbnRhaW5zLWNvbnRlbnQtY29udGFpbmVyIC5zbGlkZXJfX3NsaWRlIHtcbiAgICAtLWZvY3VzLW91dGxpbmUtcGFkZGluZzogMHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb24pIHtcbiAgLnNsaWRlciB7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvO1xuICB9XG59XG5cbi8qIFNjcm9sbGJhciAqL1xuXG4uc2xpZGVyIHtcbiAgc2Nyb2xsYmFyLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMDQpO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cblxuLnNsaWRlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBoZWlnaHQ6IDAuNHJlbTtcbiAgd2lkdGg6IDAuNHJlbTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5vLWpzIC5zbGlkZXIge1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogYXV0bztcbn1cblxuLm5vLWpzIC5zbGlkZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogaW5pdGlhbDtcbn1cblxuLnNsaWRlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xuICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gIGJvcmRlcjogMDtcbn1cblxuLnNsaWRlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjA0KTtcbiAgYm9yZGVyLXJhZGl1czogMC40cmVtO1xufVxuXG4uc2xpZGVyLWNvdW50ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLXdpZHRoOiA0LjRyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5zbGlkZXItY291bnRlci0tZG90cyB7XG4gICAgbWFyZ2luOiAwIDEuMnJlbTtcbiAgfVxufVxuXG4uc2xpZGVyLWNvdW50ZXJfX2xpbmsge1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDlweCkge1xuICAuc2xpZGVyLWNvdW50ZXJfX2xpbmsge1xuICAgIHBhZGRpbmc6IDAuN3JlbTtcbiAgfVxufVxuXG4uc2xpZGVyLWNvdW50ZXJfX2xpbmstLWRvdHMgLmRvdCB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC41KTtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zbGlkZXItY291bnRlcl9fbGluay0tYWN0aXZlLnNsaWRlci1jb3VudGVyX19saW5rLS1kb3RzIC5kb3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5zbGlkZXItY291bnRlcl9fbGluay0tYWN0aXZlLnNsaWRlci1jb3VudGVyX19saW5rLS1kb3RzIC5kb3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IENhbnZhc1RleHQ7XG4gIH1cbn1cblxuLnNsaWRlci1jb3VudGVyX19saW5rLS1kb3RzOm5vdCguc2xpZGVyLWNvdW50ZXJfX2xpbmstLWFjdGl2ZSk6aG92ZXIgLmRvdCB7XG4gIGJvcmRlci1jb2xvcjogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbn1cblxuLnNsaWRlci1jb3VudGVyX19saW5rLS1kb3RzIC5kb3QsXG4uc2xpZGVyLWNvdW50ZXJfX2xpbmstLW51bWJlcnMge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLnNsaWRlci1jb3VudGVyX19saW5rLS1hY3RpdmUuc2xpZGVyLWNvdW50ZXJfX2xpbmstLW51bWJlcnMsXG4uc2xpZGVyLWNvdW50ZXJfX2xpbmstLWRvdHM6bm90KC5zbGlkZXItY291bnRlcl9fbGluay0tYWN0aXZlKTpob3ZlciAuZG90LFxuLnNsaWRlci1jb3VudGVyX19saW5rLS1udW1iZXJzOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4uc2xpZGVyLWNvdW50ZXJfX2xpbmstLW51bWJlcnMge1xuICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC41KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2xpZGVyLWNvdW50ZXJfX2xpbmstLW51bWJlcnM6aG92ZXIge1xuICBjb2xvcjogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbn1cblxuLnNsaWRlci1jb3VudGVyX19saW5rLS1hY3RpdmUuc2xpZGVyLWNvdW50ZXJfX2xpbmstLW51bWJlcnMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG59XG5cbi5zbGlkZXItYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTBweCkge1xuICAuc2xpZGVyOm5vdCguc2xpZGVyLS1ldmVyeXdoZXJlKTpub3QoLnNsaWRlci0tZGVza3RvcCkgKyAuc2xpZGVyLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTg5cHgpIHtcbiAgLnNsaWRlci0tZGVza3RvcDpub3QoLnNsaWRlci0tdGFibGV0KSArIC5zbGlkZXItYnV0dG9ucyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5zbGlkZXItLW1vYmlsZSArIC5zbGlkZXItYnV0dG9ucyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSovXG5cbi5zbGlkZXItYnV0dG9uIHtcbiAgY29sb3I6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDEpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAxO1xufVxuXG4uYW5ub3VuY2VtZW50LWJhci1zbGlkZXIgLnNsaWRlci1idXR0b24ge1xuICB3aWR0aDogMDtcbn1cblxuLnNsaWRlci1idXR0b246bm90KFtkaXNhYmxlZF0pOmhvdmVyIHtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG59XG5cbi5zbGlkZXItYnV0dG9uW2Rpc2FibGVkXSAuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjMpO1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5zbGlkZXItYnV0dG9uLS1uZXh0Om5vdChbZGlzYWJsZWRdKTpob3ZlciAuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLnNsaWRlci1idXR0b24tLXByZXY6bm90KFtkaXNhYmxlZF0pOmhvdmVyIC5pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSBzY2FsZSgxLjEpO1xufVxuXG4uc2xpZGVyLWJ1dHRvbi0tbmV4dCAuaWNvbi5pY29uLS1jYXJldCxcbi5zbGlkZXItYnV0dG9uLS1uZXh0OmhvdmVyIC5pY29uLmljb24tLWNhcmV0IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cbi5zbGlkZXItYnV0dG9uLS1wcmV2IC5pY29uLmljb24tLWNhcmV0LFxuLnNsaWRlci1idXR0b24tLXByZXY6aG92ZXIgLmljb24uaWNvbi0tY2FyZXQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi8qIENvbG9yIHBpY2tlciBzbGlkZXIgKi9cbi5zbGlkZXItLWN1c3RvbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBpbmhlcml0O1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLyogRml4IHRvIHNob3cgc29tZSBzcGFjZSBhdCB0aGUgZW5kIG9mIG91ciBzbGlkZXJzIGluIGFsbCBicm93c2VycyAqL1xuLmNvbG9yLXBpY2tlci1zbGlkZXIgLnByb2R1Y3QtZ3JpZCB7XG4gIGdhcDogMDtcbn1cblxuLmNvbG9yLXBpY2tlci1zbGlkZXIuaXMtc2xpZGVyIC5wcm9kdWN0LWdyaWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xufVxuXG4uc2xpZGVyLnNsaWRlci0tY3VzdG9tIC5zbGlkZXJfX3NsaWRlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IG1heCh2YXIoLS1mb2N1cy1vdXRsaW5lLXBhZGRpbmcpLCB2YXIoLS1zaGFkb3ctcGFkZGluZy10b3ApKTtcbiAgcGFkZGluZy1ib3R0b206IG1heCh2YXIoLS1mb2N1cy1vdXRsaW5lLXBhZGRpbmcpLCB2YXIoLS1zaGFkb3ctcGFkZGluZy1ib3R0b20pKTtcbn1cblxuLnNsaWRlci0tY3VzdG9tLmlzLXNsaWRlciAuc2xpZGVyX19zbGlkZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiA0NnB4O1xuICBzY3JvbGwtbWFyZ2luLWxlZnQ6IDQ2cHg7XG59XG5cbi5zbGlkZXItLWN1c3RvbSAuc2xpZGVyX19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiA0NnB4O1xuICBzY3JvbGwtbWFyZ2luLXJpZ2h0OiA0NnB4O1xufVxuXG4uc2xpZGVyLS1jdXN0b20uZ3JpZC0tNS1jb2wgLmdyaWRfX2l0ZW0ge1xuICB3aWR0aDogMjAlO1xuICBtYXgtd2lkdGg6IDc2cHg7XG59XG4iLCIudGFiLWZlYXR1cmVzX19jb250cm9scy1saXN0IHtcbiAgY291bnRlci1yZXNldDogdGFiLWZlYXR1cmVzLWxpc3Q7XG59XG5cbi50YWItZmVhdHVyZXNfX2NvbnRyb2wtd3JhcHBlciB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiB0YWItZmVhdHVyZXMtbGlzdDtcbn1cblxuLnRhYi1mZWF0dXJlc19fY29udHJvbCB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLnRhYi1mZWF0dXJlc19fY29udHJvbFthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICBvcGFjaXR5OiAxO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nLWZhbWlseSk7XG59XG5cbi50YWItZmVhdHVyZXNfX2NvbnRyb2xbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG59XG5cbi50YWItZmVhdHVyZXNfX3BhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnRhYnMtLW5vLWludGVyYWN0aW9uIC50YWItZmVhdHVyZXNfX3BhbmVsIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbn1cblxuLnRhYi1mZWF0dXJlc19fcGFuZWwtLWRpc3BsYXkge1xuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYW5pbWF0aW9uOiB0YWItZmVhdHVyZXMtcGFuZWwtZW50cnktYW5pbSAwLjVzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSkgZm9yd2FyZHM7XG59XG5cbi50YWItZmVhdHVyZXNfX3BhbmVsLS1oaWRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IHBvc2l0aW9uIDBzIDAuNXMsIHZpc2liaWxpdHkgMHMgMC41cztcbiAgYW5pbWF0aW9uOiB0YWItZmVhdHVyZXMtcGFuZWwtZXhpdC1hbmltIDAuNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbi50YWJfX2ltYWdlLS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDA7XG59XG5cbi50YWJfX2ltYWdlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGFiLWZlYXR1cmVzX19wYW5lbCB7XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbiAgaHIge1xuICAgIG1hcmdpbjogMS41cmVtIDA7XG4gIH1cbiAgLnJvdy1iZXR3ZWVuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIHVsIGxpIHtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMDtcbiAgfVxuICB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4yKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhYi1mZWF0dXJlcy1wYW5lbC1lbnRyeS1hbmltIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdGFiLWZlYXR1cmVzLXBhbmVsLWV4aXQtYW5pbSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxufVxuIiwiLnByb2R1Y3RfX3RpdGxlIGgxIHtcbiAgZm9udC1zaXplOiAyLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG4ucHJvZHVjdF9fdGl0bGUge1xuICAubG9veC1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5sb294LWN1c3RvbSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcbiAgfVxuICAubG9veC1yYXRpbmcge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHNwYW4uY3VzdG9tLXJhdGluZyB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmctZmFtaWx5KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICB9XG4gICAgc3Bhbi5jdXN0b20tcmV2aWV3cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0X19kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLnByb2R1Y3RfX2Rlc2NyaXB0aW9uIGJyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG4vLy8vLy9cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUwcHgpIHtcbiAgLnByb2R1Y3RfX2NvbHVtbi1zdGlja3kge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxuOnJvb3Qge1xuICAtLXByb2R1Y3QtbWVkaWEtZ2FwOiAwLjVyZW07XG4gIC0tcHJvZHVjdC1pbmZvLXdpZHRoOiA0NjJweDtcbn1cblxuLnByb2R1Y3QtLWxhcmdlIC5wcm9kdWN0X19tZWRpYS13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLnByb2R1Y3QtLWxhcmdlIC5wcm9kdWN0X19pbmZvLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucHJvZHVjdC0tbGFyZ2UgLnByb2R1Y3RfX2luZm8tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zbGlkZXItLXByb2R1Y3Qge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3QtLWxhcmdlIC5wcm9kdWN0X19pbmZvLWlubmVyIHtcbiAgd2lkdGg6IDM4MHB4O1xuICBtYXgtd2lkdGg6IDM4MHB4O1xuICBAYXBwbHkgbXgtYXV0byBwdC04IGxnOnB0LTEyIHBiLTEyO1xufVxuXG4ucHJvZHVjdF9fbWVkaWEtbGlzdCB7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXByb2R1Y3QtbWVkaWEtZ2FwKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUwcHgpIHtcbiAgLnByb2R1Y3QtLWxhcmdlIC5wcm9kdWN0X19tZWRpYS13cmFwcGVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICAvL21heC13aWR0aDogbWF4KDY1JSAtIGNhbGMoNjUlIC0gdmFyKC0tcHJvZHVjdC1pbmZvLXdpZHRoKSkpO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMTtcbiAgfVxuXG4gIC5wcm9kdWN0LS1sYXJnZSAucHJvZHVjdF9faW5mby13cmFwcGVyIHtcbiAgICB3aWR0aDogbWF4KHZhcigtLXByb2R1Y3QtaW5mby13aWR0aCksIDM1JSk7XG4gICAgbWF4LXdpZHRoOiBtYXgodmFyKC0tcHJvZHVjdC1pbmZvLXdpZHRoKSwgMzUlKTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAucHJvZHVjdF9fbWVkaWEtbGlzdCB7XG4gICAgcm93LWdhcDogdmFyKC0tcHJvZHVjdC1tZWRpYS1nYXApO1xuICB9XG5cbiAgLnByb2R1Y3QtLXN0YWNrZWQgLnByb2R1Y3RfX21lZGlhLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnByb2R1Y3QtLXN0YWNrZWQgLnByb2R1Y3RfX21lZGlhLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLXByb2R1Y3QtbWVkaWEtZ2FwKSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLXByb2R1Y3QtbWVkaWEtZ2FwKSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODQ5cHgpIHtcbiAgLnNsaWRlci5zbGlkZXItLXByb2R1Y3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICBzY3JvbGwtcGFkZGluZy1sZWZ0OiAwO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGdhcDogdmFyKC0tcHJvZHVjdC1tZWRpYS1nYXApO1xuICB9XG5cbiAgLnNsaWRlci0tcHJvZHVjdCAuZ3JpZF9faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygzcmVtICsgdmFyKC0tcHJvZHVjdC1tZWRpYS1nYXApKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDlweCkge1xuICAucHJvZHVjdF9fbWVkaWEtbGlzdCAucHJvZHVjdF9fbWVkaWEtaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0gLSB2YXIoLS1wcm9kdWN0LW1lZGlhLWdhcCkpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1MHB4KSBhbmQgKG1heC13aWR0aDogNjQ5cHgpIHtcbiAgLnByb2R1Y3RfX21lZGlhLWxpc3QgLnByb2R1Y3RfX21lZGlhLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDNyZW0gLSB2YXIoLS1wcm9kdWN0LW1lZGlhLWdhcCkpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY1MHB4KSBhbmQgKG1heC13aWR0aDogODQ5cHgpIHtcbiAgLnByb2R1Y3RfX21lZGlhLWxpc3QgLnByb2R1Y3RfX21lZGlhLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDYwJSAtIDNyZW0gLSB2YXIoLS1wcm9kdWN0LW1lZGlhLWdhcCkpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1MHB4KSB7XG4gIC5zbGlkZXIuc2xpZGVyLS1wcm9kdWN0ICsgLnNsaWRlci1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wcm9kdWN0X19tZWRpYS13cmFwcGVyIC5zbGlkZXItYnV0dG9ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnBhZ2luYXRpb24tYnVsbGV0IHtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZDogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAuMjUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucGFnaW5hdGlvbi1idWxsZXQucGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbn1cblxuLyogRHluYW1pYyBjaGVja291dCAqL1xuLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBtaW4taGVpZ2h0OiA0LjZyZW07XG59XG5cbi5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b24gW3JvbGU9J2J1dHRvbiddLmZvY3VzZWQsXG4ubm8tanMgLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbiBbcm9sZT0nYnV0dG9uJ106Zm9jdXMge1xuICBvdXRsaW5lOiAwLjJyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC41KSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLW9mZnNldDogMC4zcmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjFyZW0gcmdiYSh2YXIoLS1jb2xvci1idXR0b24pLCB2YXIoLS1hbHBoYS1idXR0b24tYm9yZGVyKSksXG4gICAgMCAwIDAgMC4zcmVtIHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSksIDAgMCAwLjVyZW0gMC40cmVtIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMykgIWltcG9ydGFudDtcbn1cblxuLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbiBbcm9sZT0nYnV0dG9uJ106Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbiBbcm9sZT0nYnV0dG9uJ106Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDAuMnJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjUpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMXJlbSByZ2JhKHZhcigtLWNvbG9yLWJ1dHRvbiksIHZhcigtLWFscGhhLWJ1dHRvbi1ib3JkZXIpKSxcbiAgICAwIDAgMCAwLjNyZW0gcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKSwgMCAwIDAuNXJlbSAwLjRyZW0gcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4zKSAhaW1wb3J0YW50O1xufVxuXG4uc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uLS11bmJyYW5kZWQge1xuICBjb2xvcjogcmdiKHZhcigtLWNvbG9yLWJ1dHRvbikpO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSArIDAuMiAvIHZhcigtLWZvbnQtYm9keS1zY2FsZSkpO1xuICBsZXR0ZXItc3BhY2luZzogMC4wN3JlbTtcbn1cblxuLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbi0tdW5icmFuZGVkOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLWJ1dHRvbi10ZXh0KSwgMC4zKTtcbn1cblxuLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbi0tdW5icmFuZGVkOmhvdmVyLFxuLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbi0tdW5icmFuZGVkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tY29sb3ItYnV0dG9uKSwgdmFyKC0tYWxwaGEtYnV0dG9uLWJhY2tncm91bmQpKTtcbn1cblxuLnNob3BpZnktcGF5bWVudC1idXR0b25fX21vcmUtb3B0aW9ucyB7XG4gIG1hcmdpbjogMS42cmVtIDAgMXJlbTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKyAwLjUgLyB2YXIoLS1mb250LWJvZHktc2NhbGUpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuM3JlbTtcbn1cblxuLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbiArIC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b24tLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFByb2R1Y3QgZm9ybSAqL1xuXG4ucHJvZHVjdC1mb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wcm9kdWN0LWZvcm1fX2Vycm9yLW1lc3NhZ2Utd3JhcHBlcjpub3QoW2hpZGRlbl0pIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLnByb2R1Y3QtZm9ybV9fZXJyb3ItbWVzc2FnZS13cmFwcGVyIHN2ZyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi8qIEZvcm0gRWxlbWVudHMgKi9cbi5wcm9kdWN0LWZvcm1fX2lucHV0IHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDEuMnJlbSAwO1xuICBtYXgtd2lkdGg6IDQ0cmVtO1xuICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xuICBib3JkZXI6IG5vbmU7XG59XG5cbnZhcmlhbnQtcmFkaW9zLFxudmFyaWFudC1zZWxlY3RzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wcm9kdWN0LWZvcm1fX2lucHV0LS1kcm9wZG93biB7XG4gIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbn1cblxuLnByb2R1Y3QtZm9ybV9faW5wdXQgLmZvcm1fX2xhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5maWVsZHNldC5wcm9kdWN0LWZvcm1fX2lucHV0IC5mb3JtX19sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuMnJlbTtcbn1cblxuLnByb2R1Y3QtZm9ybV9faW5wdXQgaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi5wcm9kdWN0LWZvcm1fX2lucHV0IGlucHV0W3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGJvcmRlcjogdmFyKC0tdmFyaWFudC1waWxscy1ib3JkZXItd2lkdGgpIHNvbGlkIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIHZhcigtLXZhcmlhbnQtcGlsbHMtYm9yZGVyLW9wYWNpdHkpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKTtcbiAgY29sb3I6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS12YXJpYW50LXBpbGxzLXJhZGl1cyk7XG4gIGNvbG9yOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMC43cmVtIDAuNXJlbSAwLjJyZW0gMDtcbiAgcGFkZGluZzogMXJlbSAycmVtO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIHZhcigtLWR1cmF0aW9uLXNob3J0KSBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2R1Y3QtZm9ybV9faW5wdXQgaW5wdXRbdHlwZT0ncmFkaW8nXSArIGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyh2YXIoLS12YXJpYW50LXBpbGxzLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLXZhcmlhbnQtcGlsbHMtYm9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgYm90dG9tOiBjYWxjKHZhcigtLXZhcmlhbnQtcGlsbHMtYm9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgbGVmdDogY2FsYyh2YXIoLS12YXJpYW50LXBpbGxzLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gIHotaW5kZXg6IC0xO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS12YXJpYW50LXBpbGxzLXJhZGl1cyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXZhcmlhbnQtcGlsbHMtc2hhZG93LWhvcml6b250YWwtb2Zmc2V0KSB2YXIoLS12YXJpYW50LXBpbGxzLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpXG4gICAgdmFyKC0tdmFyaWFudC1waWxscy1zaGFkb3ctYmx1ci1yYWRpdXMpIHJnYmEodmFyKC0tY29sb3Itc2hhZG93KSwgdmFyKC0tdmFyaWFudC1waWxscy1zaGFkb3ctb3BhY2l0eSkpO1xufVxuXG4ucHJvZHVjdC1mb3JtX19pbnB1dCBpbnB1dFt0eXBlPSdyYWRpbyddICsgbGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG59XG5cbi5wcm9kdWN0LWZvcm1fX2lucHV0IGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIGxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSk7XG59XG5cbi5wcm9kdWN0LWZvcm1fX2lucHV0IGlucHV0W3R5cGU9J3JhZGlvJ106bm90KC5kaXNhYmxlZCkgKyBsYWJlbCA+IC52aXN1YWxseS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5wcm9kdWN0LWZvcm1fX2lucHV0IGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIGxhYmVsIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG4ucHJvZHVjdC1mb3JtX19pbnB1dCBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbDo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSwgMC4zKTtcbn1cblxuLnByb2R1Y3QtZm9ybV9faW5wdXQgaW5wdXRbdHlwZT0ncmFkaW8nXTpkaXNhYmxlZCArIGxhYmVsLFxuLnByb2R1Y3QtZm9ybV9faW5wdXQgaW5wdXRbdHlwZT0ncmFkaW8nXS5kaXNhYmxlZCArIGxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjEpO1xuICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC42KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5wcm9kdWN0LWZvcm1fX2lucHV0IGlucHV0W3R5cGU9J3JhZGlvJ10uZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsLFxuLnByb2R1Y3QtZm9ybV9faW5wdXQgaW5wdXRbdHlwZT0ncmFkaW8nXTpkaXNhYmxlZDpjaGVja2VkICsgbGFiZWwge1xuICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSwgMC42KTtcbn1cbi5wcm9kdWN0LWZvcm1fX2lucHV0IGlucHV0W3R5cGU9J3JhZGlvJ106Zm9jdXMtdmlzaWJsZSArIGxhYmVsIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4zcmVtIHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSksIDAgMCAwIDAuNXJlbSByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjU1KTtcbn1cblxuLyogRmFsbGJhY2sgKi9cbi5wcm9kdWN0LWZvcm1fX2lucHV0IGlucHV0W3R5cGU9J3JhZGlvJ10uZm9jdXNlZCArIGxhYmVsLFxuLm5vLWpzIC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b24gW3JvbGU9J2J1dHRvbiddOmZvY3VzICsgbGFiZWwge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjNyZW0gcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKSwgMCAwIDAgMC41cmVtIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNTUpO1xufVxuXG4vKiBObyBvdXRsaW5lIHdoZW4gZm9jdXMtdmlzaWJsZSBpcyBhdmFpbGFibGUgaW4gdGhlIGJyb3dzZXIgKi9cbi5uby1qcyAucHJvZHVjdC1mb3JtX19pbnB1dCBpbnB1dFt0eXBlPSdyYWRpbyddOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkgKyBsYWJlbCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5wcm9kdWN0LWZvcm1fX2lucHV0IC5zZWxlY3Qge1xuICBtYXgtd2lkdGg6IDI1cmVtO1xufVxuXG4ucHJvZHVjdC1mb3JtX19zdWJtaXQge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ubm8tanMgLnByb2R1Y3QtZm9ybV9fc3VibWl0LmJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgLS1jb2xvci1idXR0b246IGluaGVyaXQ7XG4gIC0tY29sb3ItYnV0dG9uLXRleHQ6IGluaGVyaXQ7XG4gIC0tYWxwaGEtYnV0dG9uLWJhY2tncm91bmQ6IDE7XG59XG5cbi5wcm9kdWN0LWZvcm1fX3N1Ym1pdFthcmlhLWRpc2FibGVkPSd0cnVlJ10gKyAuc2hvcGlmeS1wYXltZW50LWJ1dHRvbiAuc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uW2Rpc2FibGVkXSxcbi5wcm9kdWN0LWZvcm1fX3N1Ym1pdFtkaXNhYmxlZF0gKyAuc2hvcGlmeS1wYXltZW50LWJ1dHRvbiAuc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAucHJvZHVjdC1mb3JtX19zdWJtaXRbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBjb2xvcjogV2luZG93O1xuICB9XG59XG5cbi8qIE92ZXJyaWRlcyAqL1xuLnNob3BpZnktcGF5bWVudC1idXR0b25fX21vcmUtb3B0aW9ucyB7XG4gIGNvbG9yOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xufVxuXG4uc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjFyZW07XG59XG5cbi8qIFByb2R1Y3QgaW5mbyAqL1xuLnByb2R1Y3RfX2luZm8tY29udGFpbmVyID4gKiArICoge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi5wcm9kdWN0X19pbmZvLWNvbnRhaW5lciBpZnJhbWUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9kdWN0X190ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuYS5wcm9kdWN0X190ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDEpO1xufVxuXG4ucHJvZHVjdF9fdGV4dC5jYXB0aW9uLXdpdGgtbGV0dGVyLXNwYWNpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucHJvZHVjdF9fdGl0bGUgPiBhIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnByb2R1Y3RfX3RpdGxlICsgLnByb2R1Y3RfX3RleHQuY2FwdGlvbi13aXRoLWxldHRlci1zcGFjaW5nIHtcbiAgbWFyZ2luLXRvcDogLTEuNXJlbTtcbn1cblxuLnByb2R1Y3RfX3RleHQuY2FwdGlvbi13aXRoLWxldHRlci1zcGFjaW5nICsgLnByb2R1Y3RfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnByb2R1Y3QgLnByaWNlIGRsIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5wcm9kdWN0IC5wcmljZS0tc29sZC1vdXQgLnByaWNlX19iYWRnZS1zYWxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLnByb2R1Y3RfX2luZm8tY29udGFpbmVyIC5wcmljZS0tb24tc2FsZSAucHJpY2UtaXRlbS0tcmVndWxhciB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gIH1cblxuICAucHJvZHVjdF9faW5mby1jb250YWluZXIgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5wcm9kdWN0X19kZXNjcmlwdGlvbi10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5wcm9kdWN0LS1uby1tZWRpYSAucHJvZHVjdF9fdGl0bGUsXG4ucHJvZHVjdC0tbm8tbWVkaWEgLnByb2R1Y3RfX3RleHQsXG4ucHJvZHVjdC0tbm8tbWVkaWEgbm9zY3JpcHQgLnByb2R1Y3QtZm9ybV9faW5wdXQsXG4ucHJvZHVjdC0tbm8tbWVkaWEgLnByb2R1Y3RfX3RheCxcbi5wcm9kdWN0LS1uby1tZWRpYSAucHJvZHVjdF9fc2t1LFxuLnByb2R1Y3QtLW5vLW1lZGlhIHNob3BpZnktcGF5bWVudC10ZXJtcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnByb2R1Y3QtLW5vLW1lZGlhIC5wcm9kdWN0X19tZWRpYS13cmFwcGVyLFxuLnByb2R1Y3QtLW5vLW1lZGlhIC5wcm9kdWN0X19pbmZvLXdyYXBwZXIge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucHJvZHVjdF9fdGF4IHtcbiAgbWFyZ2luLXRvcDogLTEuNHJlbTtcbn1cblxuLnByb2R1Y3QtLW5vLW1lZGlhIG5vc2NyaXB0IC5wcm9kdWN0LWZvcm1fX2lucHV0LFxuLnByb2R1Y3QtLW5vLW1lZGlhIC5zaGFyZS1idXR0b24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9kdWN0LS1uby1tZWRpYSBmaWVsZHNldC5wcm9kdWN0LWZvcm1fX2lucHV0LFxuLnByb2R1Y3QtLW5vLW1lZGlhIC5wcm9kdWN0LWZvcm1fX3F1YW50aXR5LFxuLnByb2R1Y3QtLW5vLW1lZGlhIC5wcm9kdWN0LWZvcm1fX2lucHV0LS1kcm9wZG93bixcbi5wcm9kdWN0LS1uby1tZWRpYSAuc2hhcmUtYnV0dG9uLFxuLnByb2R1Y3QtLW5vLW1lZGlhIC5wcm9kdWN0X192aWV3LWRldGFpbHMsXG4ucHJvZHVjdC0tbm8tbWVkaWEgLnByb2R1Y3RfX3BpY2t1cC1hdmFpbGFiaWxpdGllcyxcbi5wcm9kdWN0LS1uby1tZWRpYSAucHJvZHVjdC1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnByb2R1Y3QtLW5vLW1lZGlhIC5wcm9kdWN0LWZvcm0ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucHJvZHVjdC0tbm8tbWVkaWEgLnByb2R1Y3QtZm9ybSA+IC5mb3JtIHtcbiAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9kdWN0LS1uby1tZWRpYSAucHJvZHVjdC1mb3JtX19xdWFudGl0eSxcbi5wcm9kdWN0LS1uby1tZWRpYSAucHJvZHVjdC1mb3JtX19pbnB1dC0tZHJvcGRvd24ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9kdWN0LWZvcm1fX3F1YW50aXR5IC5mb3JtX19sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNnJlbTtcbn1cblxuLnByaWNlLXBlci1pdGVtX19sYWJlbC5mb3JtX19sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDByZW07XG59XG5cbi5wcm9kdWN0LWZvcm1fX3F1YW50aXR5LXRvcCAuZm9ybV9fbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG59XG5cbi5wcm9kdWN0LS1uby1tZWRpYSBmaWVsZHNldC5wcm9kdWN0LWZvcm1fX2lucHV0IHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDAgYXV0byAxLjJyZW0gYXV0bztcbn1cblxuLnByb2R1Y3QtLW5vLW1lZGlhIC5wcm9kdWN0X19pbmZvLWNvbnRhaW5lciA+IG1vZGFsLW9wZW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcm9kdWN0LS1uby1tZWRpYSAucHJvZHVjdC1wb3B1cC1tb2RhbF9fYnV0dG9uIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLnByb2R1Y3QtLW5vLW1lZGlhIC5wcmljZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogUHJvZHVjdCBtZWRpYSAqL1xuLnByb2R1Y3RfX21lZGlhLWxpc3QgdmlkZW8ge1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLW1lZGlhLXJhZGl1cykgLSB2YXIoLS1tZWRpYS1ib3JkZXItd2lkdGgpKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcbiAgLnByb2R1Y3RfX21lZGlhLXdyYXBwZXIgc2xpZGVyLWNvbXBvbmVudDpub3QoLnRodW1ibmFpbC1zbGlkZXItLW5vLXNsaWRlKSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICB9XG5cbiAgLnNsaWRlci5wcm9kdWN0X19tZWRpYS1saXN0Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiAwLjJyZW07XG4gICAgd2lkdGg6IDAuMnJlbTtcbiAgfVxuXG4gIC5wcm9kdWN0X19tZWRpYS1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbiAgfVxuXG4gIC5wcm9kdWN0X19tZWRpYS1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4yKTtcbiAgfVxuXG4gIC5wcm9kdWN0LS1tb2JpbGUtY29sdW1ucyAucHJvZHVjdF9fbWVkaWEtaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS41cmVtIC0gdmFyKC0tZ3JpZC1tb2JpbGUtaG9yaXpvbnRhbC1zcGFjaW5nKSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLnByb2R1Y3QtLXRodW1ibmFpbCAucHJvZHVjdF9fbWVkaWEtbGlzdCxcbiAgLnByb2R1Y3QtLXRodW1ibmFpbF9zbGlkZXIgLnByb2R1Y3RfX21lZGlhLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLW1lZGlhLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpICogdmFyKC0tbWVkaWEtc2hhZG93LXZpc2libGUpKTtcbiAgfVxuXG4gIC5wcm9kdWN0X19tZWRpYS1saXN0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLW1lZGlhLXNoYWRvdy1ob3Jpem9udGFsLW9mZnNldCkgKiB2YXIoLS1tZWRpYS1zaGFkb3ctdmlzaWJsZSkpO1xuICB9XG5cbiAgLnByb2R1Y3QtLXRodW1ibmFpbCAucHJvZHVjdF9fbWVkaWEtaXRlbTpub3QoLmlzLWFjdGl2ZSksXG4gIC5wcm9kdWN0LS10aHVtYm5haWxfc2xpZGVyIC5wcm9kdWN0X19tZWRpYS1pdGVtOm5vdCguaXMtYWN0aXZlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5wcm9kdWN0LW1lZGlhLW1vZGFsX19jb250ZW50ID4gLnByb2R1Y3RfX21lZGlhLWl0ZW0tLXZhcmlhbnQucHJvZHVjdF9fbWVkaWEtaXRlbS0tdmFyaWFudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5wcm9kdWN0LW1lZGlhLW1vZGFsX19jb250ZW50ID4gLnByb2R1Y3RfX21lZGlhLWl0ZW0tLXZhcmlhbnQ6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5wcm9kdWN0X19tZWRpYS1pdGVtLnByb2R1Y3RfX21lZGlhLWl0ZW0tLXZhcmlhbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvZHVjdF9fbWVkaWEtaXRlbS0tdmFyaWFudDpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkgYW5kIChtYXgtd2lkdGg6IDk4OXB4KSB7XG4gIC5wcm9kdWN0X19tZWRpYS1saXN0IC5wcm9kdWN0X19tZWRpYS1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAucHJvZHVjdC0tdGh1bWJuYWlsX3NsaWRlciAucHJvZHVjdF9fbWVkaWEtbGlzdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnByb2R1Y3RfX21lZGlhLWljb24gLmljb24ge1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbn1cblxuLnByb2R1Y3RfX21lZGlhLWljb24sXG4udGh1bWJuYWlsX19iYWRnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4xKTtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDNyZW07XG4gIHdpZHRoOiAzcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDEuMnJlbTtcbiAgdG9wOiAxLjJyZW07XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWR1cmF0aW9uLXNob3J0KSBlYXNlLCBvcGFjaXR5IHZhcigtLWR1cmF0aW9uLXNob3J0KSBlYXNlO1xufVxuXG4ucHJvZHVjdF9fbWVkaWEtdmlkZW8gLnByb2R1Y3RfX21lZGlhLWljb24ge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucHJvZHVjdF9fbW9kYWwtb3BlbmVyLS1pbWFnZSAucHJvZHVjdF9fbWVkaWEtdG9nZ2xlOmhvdmVyIHtcbiAgY3Vyc29yOiB6b29tLWluO1xufVxuXG4ucHJvZHVjdF9fbW9kYWwtb3BlbmVyOmhvdmVyIC5wcm9kdWN0X19tZWRpYS1pY29uIHtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4xKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmdyaWRfX2l0ZW0ucHJvZHVjdF9fbWVkaWEtaXRlbS0tZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucHJvZHVjdC0tY29sdW1ucyAucHJvZHVjdF9fbWVkaWEtaXRlbTpub3QoLnByb2R1Y3RfX21lZGlhLWl0ZW0tLXNpbmdsZSk6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIHZhcigtLWdyaWQtZGVza3RvcC1ob3Jpem9udGFsLXNwYWNpbmcpIC8gMik7XG4gIH1cblxuICAucHJvZHVjdC0tbGFyZ2UucHJvZHVjdC0tY29sdW1ucyAucHJvZHVjdF9fbWVkaWEtaXRlbS0tZnVsbCAuZGVmZXJyZWQtbWVkaWFfX3Bvc3Rlci1idXR0b24ge1xuICAgIGhlaWdodDogNXJlbTtcbiAgICB3aWR0aDogNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTBweCkge1xuICAucHJvZHVjdF9fbW9kYWwtb3BlbmVyIC5wcm9kdWN0X19tZWRpYS1pY29uIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLnByb2R1Y3RfX21vZGFsLW9wZW5lcjpob3ZlciAucHJvZHVjdF9fbWVkaWEtaWNvbixcbiAgLnByb2R1Y3RfX21vZGFsLW9wZW5lcjpmb2N1cyAucHJvZHVjdF9fbWVkaWEtaWNvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucHJvZHVjdF9fbWVkaWEtaXRlbSA+ICoge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvZHVjdF9fbWVkaWEtdG9nZ2xlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgcGFkZGluZzogMDtcbn1cblxuLnByb2R1Y3RfX21lZGlhLXRvZ2dsZTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgpICogLTEpO1xuICByaWdodDogY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgpICogLTEpO1xuICBib3R0b206IGNhbGModmFyKC0tYm9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgbGVmdDogY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgpICogLTEpO1xuICB6LWluZGV4OiAyO1xufVxuXG4ucHJvZHVjdF9fbWVkaWEtdG9nZ2xlOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKiBvdXRsaW5lIHN0eWxpbmcgZm9yIFdpbmRvd3MgSGlnaCBDb250cmFzdCBNb2RlICovXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAucHJvZHVjdF9fbWVkaWEtdG9nZ2xlOmZvY3VzLXZpc2libGUsXG4gIC5wcm9kdWN0X19tZWRpYS10b2dnbGU6Zm9jdXMtdmlzaWJsZTphZnRlcixcbiAgLnByb2R1Y3QtZm9ybV9faW5wdXQgaW5wdXRbdHlwZT0ncmFkaW8nXTpmb2N1cy12aXNpYmxlICsgbGFiZWwge1xuICAgIG91dGxpbmU6IHRyYW5zcGFyZW50IHNvbGlkIDFweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG59XG4ucHJvZHVjdF9fbWVkaWEtdG9nZ2xlLmZvY3VzZWQge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ucHJvZHVjdF9fbWVkaWEtdG9nZ2xlOmZvY3VzLXZpc2libGU6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjNyZW0gcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKSwgMCAwIDByZW0gMC41cmVtIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLW1lZGlhLXJhZGl1cyk7XG59XG5cbi5wcm9kdWN0X19tZWRpYS10b2dnbGUuZm9jdXNlZDphZnRlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuM3JlbSByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpLCAwIDAgMHJlbSAwLjVyZW0gcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbWVkaWEtcmFkaXVzKTtcbn1cblxuLnByb2R1Y3QtbWVkaWEtbW9kYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLnByb2R1Y3QtbWVkaWEtbW9kYWxbb3Blbl0ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAxMDE7XG59XG5cbi5wcm9kdWN0LW1lZGlhLW1vZGFsX19kaWFsb2cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuXG4ucHJvZHVjdC1tZWRpYS1tb2RhbF9fY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5wcm9kdWN0LW1lZGlhLW1vZGFsX19jb250ZW50ID4gKjpub3QoLmFjdGl2ZSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKi5wcm9kdWN0LW1lZGlhLW1vZGFsX19jb250ZW50ID4gKjpub3QoLmFjdGl2ZSksXG4ucHJvZHVjdF9fbWVkaWEtbGlzdCAuZGVmZXJyZWQtbWVkaWEge1xuICBkaXNwbGF5OiBub25lO1xufSovXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5wcm9kdWN0LW1lZGlhLW1vZGFsX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgfVxuXG4gIC5wcm9kdWN0LW1lZGlhLW1vZGFsX19jb250ZW50ID4gKjpub3QoLmFjdGl2ZSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLnByb2R1Y3RfX21vZGFsLW9wZW5lcjpub3QoLnByb2R1Y3RfX21vZGFsLW9wZW5lci0taW1hZ2UpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnByb2R1Y3RfX21lZGlhLWxpc3QgLmRlZmVycmVkLW1lZGlhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDlweCkge1xuICAucHJvZHVjdC0tdGh1bWJuYWlsIC5pcy1hY3RpdmUgLnByb2R1Y3RfX21vZGFsLW9wZW5lcjpub3QoLnByb2R1Y3RfX21vZGFsLW9wZW5lci0taW1hZ2UpLFxuICAucHJvZHVjdC0tdGh1bWJuYWlsX3NsaWRlciAuaXMtYWN0aXZlIC5wcm9kdWN0X19tb2RhbC1vcGVuZXI6bm90KC5wcm9kdWN0X19tb2RhbC1vcGVuZXItLWltYWdlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5wcm9kdWN0LS10aHVtYm5haWwgLmlzLWFjdGl2ZSAuZGVmZXJyZWQtbWVkaWEsXG4gIC5wcm9kdWN0LS10aHVtYm5haWxfc2xpZGVyIC5pcy1hY3RpdmUgLmRlZmVycmVkLW1lZGlhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucHJvZHVjdC1tZWRpYS1tb2RhbF9fY29udGVudCA+ICoge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5wcm9kdWN0LW1lZGlhLW1vZGFsX19jb250ZW50IC5tZWRpYSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5wcm9kdWN0LW1lZGlhLW1vZGFsX19tb2RlbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdC1tZWRpYS1tb2RhbF9fdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC41NSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHJpZ2h0OiAycmVtO1xuICBwYWRkaW5nOiAxLjJyZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAycmVtO1xuICB3aWR0aDogNHJlbTtcbn1cblxuLnByb2R1Y3QtbWVkaWEtbW9kYWxfX2NvbnRlbnQgLmRlZmVycmVkLW1lZGlhIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5wcm9kdWN0LW1lZGlhLW1vZGFsX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAycmVtIDExcmVtO1xuICB9XG5cbiAgLnByb2R1Y3QtbWVkaWEtbW9kYWxfX2NvbnRlbnQgPiAqIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5wcm9kdWN0LW1lZGlhLW1vZGFsX19jb250ZW50ID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cblxuICAucHJvZHVjdC1tZWRpYS1tb2RhbF9fdG9nZ2xlIHtcbiAgICByaWdodDogNXJlbTtcbiAgICB0b3A6IDIuMnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTBweCkge1xuICAucHJvZHVjdC1tZWRpYS1tb2RhbF9fY29udGVudCB7XG4gICAgcGFkZGluZzogMnJlbSAxMXJlbTtcbiAgfVxuXG4gIC5wcm9kdWN0LW1lZGlhLW1vZGFsX19jb250ZW50ID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgfVxuXG4gIC5wcm9kdWN0LW1lZGlhLW1vZGFsX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICB9XG5cbiAgLnByb2R1Y3QtbWVkaWEtbW9kYWxfX3RvZ2dsZSB7XG4gICAgcmlnaHQ6IDVyZW07XG4gIH1cbn1cblxuLnByb2R1Y3QtbWVkaWEtbW9kYWxfX3RvZ2dsZTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAxKTtcbn1cblxuLnByb2R1Y3QtbWVkaWEtbW9kYWxfX3RvZ2dsZSAuaWNvbiB7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMi4ycmVtO1xufVxuXG4vKiBQcm9kdWN0IHBvcHVwICovXG5cbi5wcm9kdWN0LXBvcHVwLW1vZGFsIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IC0xO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMik7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnByb2R1Y3QtcG9wdXAtbW9kYWxbb3Blbl0ge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB6LWluZGV4OiAxMDE7XG59XG5cbi5wcm9kdWN0LXBvcHVwLW1vZGFsX19jb250ZW50IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcG9wdXAtY29ybmVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSk7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBoZWlnaHQ6IDgwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBtYXJnaW4tdG9wOiA1cmVtO1xuICB3aWR0aDogOTIlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCAxLjVyZW0gMCAzcmVtO1xuICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIHZhcigtLXBvcHVwLWJvcmRlci1vcGFjaXR5KSk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogdmFyKC0tcG9wdXAtYm9yZGVyLXdpZHRoKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tcG9wdXAtc2hhZG93LWhvcml6b250YWwtb2Zmc2V0KSB2YXIoLS1wb3B1cC1zaGFkb3ctdmVydGljYWwtb2Zmc2V0KSB2YXIoLS1wb3B1cC1zaGFkb3ctYmx1ci1yYWRpdXMpXG4gICAgcmdiYSh2YXIoLS1jb2xvci1zaGFkb3cpLCB2YXIoLS1wb3B1cC1zaGFkb3ctb3BhY2l0eSkpO1xufVxuXG4ucHJvZHVjdC1wb3B1cC1tb2RhbF9fY29udGVudC5mb2N1c2VkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMC4zcmVtIHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSksIDAgMCAwLjVyZW0gMC40cmVtIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMyksXG4gICAgdmFyKC0tcG9wdXAtc2hhZG93LWhvcml6b250YWwtb2Zmc2V0KSB2YXIoLS1wb3B1cC1zaGFkb3ctdmVydGljYWwtb2Zmc2V0KSB2YXIoLS1wb3B1cC1zaGFkb3ctYmx1ci1yYWRpdXMpXG4gICAgICByZ2JhKHZhcigtLWNvbG9yLXNoYWRvdyksIHZhcigtLXBvcHVwLXNoYWRvdy1vcGFjaXR5KSk7XG59XG5cbi5wcm9kdWN0LXBvcHVwLW1vZGFsX19jb250ZW50OmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjNyZW0gcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKSwgMCAwIDAuNXJlbSAwLjRyZW0gcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4zKSxcbiAgICB2YXIoLS1wb3B1cC1zaGFkb3ctaG9yaXpvbnRhbC1vZmZzZXQpIHZhcigtLXBvcHVwLXNoYWRvdy12ZXJ0aWNhbC1vZmZzZXQpIHZhcigtLXBvcHVwLXNoYWRvdy1ibHVyLXJhZGl1cylcbiAgICAgIHJnYmEodmFyKC0tY29sb3Itc2hhZG93KSwgdmFyKC0tcG9wdXAtc2hhZG93LW9wYWNpdHkpKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLnByb2R1Y3QtcG9wdXAtbW9kYWxfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxMHJlbTtcbiAgICB3aWR0aDogNzAlO1xuICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgfVxuXG4gIC5wcm9kdWN0LW1lZGlhLW1vZGFsX19kaWFsb2cgLmdsb2JhbC1tZWRpYS1zZXR0aW5ncy0tbm8tc2hhZG93IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5wcm9kdWN0LXBvcHVwLW1vZGFsX19jb250ZW50IGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcbiAgLnByb2R1Y3QtcG9wdXAtbW9kYWxfX2NvbnRlbnQgdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5wcm9kdWN0LW1lZGlhLW1vZGFsX19kaWFsb2cgLmdsb2JhbC1tZWRpYS1zZXR0aW5ncyxcbiAgLnByb2R1Y3QtbWVkaWEtbW9kYWxfX2RpYWxvZyAuZ2xvYmFsLW1lZGlhLXNldHRpbmdzIHZpZGVvLFxuICAucHJvZHVjdC1tZWRpYS1tb2RhbF9fZGlhbG9nIC5nbG9iYWwtbWVkaWEtc2V0dGluZ3MgbW9kZWwtdmlld2VyLFxuICAucHJvZHVjdC1tZWRpYS1tb2RhbF9fZGlhbG9nIC5nbG9iYWwtbWVkaWEtc2V0dGluZ3MgaWZyYW1lLFxuICAucHJvZHVjdC1tZWRpYS1tb2RhbF9fZGlhbG9nIC5nbG9iYWwtbWVkaWEtc2V0dGluZ3MgaW1nIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4ucHJvZHVjdC1wb3B1cC1tb2RhbF9fb3BlbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xufVxuXG4ucHJvZHVjdC1wb3B1cC1tb2RhbF9fYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuM3JlbTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtaW4taGVpZ2h0OiA0cmVtO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuM3JlbTtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4xcmVtO1xuICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzIHZhcigtLWR1cmF0aW9uLXNob3J0KSBlYXNlO1xufVxuXG4ucHJvZHVjdC1wb3B1cC1tb2RhbF9fYnV0dG9uOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4ycmVtO1xufVxuXG4ucHJvZHVjdC1wb3B1cC1tb2RhbF9fY29udGVudC1pbmZvIHtcbiAgcGFkZGluZy1yaWdodDogNC40cmVtO1xufVxuXG4ucHJvZHVjdC1wb3B1cC1tb2RhbF9fY29udGVudC1pbmZvID4gKiB7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XG4gIC5wcm9kdWN0LXBvcHVwLW1vZGFsX19jb250ZW50LWluZm8gPiAqIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5wcm9kdWN0LXBvcHVwLW1vZGFsX190b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjU1KTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgcGFkZGluZzogMS4ycmVtO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDEuNXJlbTtcbiAgd2lkdGg6IDRyZW07XG4gIG1hcmdpbjogMCAwIDAgYXV0bztcbn1cblxuLnByb2R1Y3QtcG9wdXAtbW9kYWxfX3RvZ2dsZTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAxKTtcbn1cblxuLnByb2R1Y3QtcG9wdXAtbW9kYWxfX3RvZ2dsZSAuaWNvbiB7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMi4ycmVtO1xufVxuXG4ucHJvZHVjdF9fbWVkaWEtbGlzdCAubWVkaWEgPiAqIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLnByb2R1Y3QtLXN0YWNrZWQgLnRodW1ibmFpbC1saXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnRodW1ibmFpbC1saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcbiAgLnByb2R1Y3RfX21lZGlhLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5wcm9kdWN0X19tb2RhbC1vcGVuZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnRodW1ibmFpbC1zbGlkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC50aHVtYm5haWwtc2xpZGVyIC50aHVtYm5haWwtbGlzdC5zbGlkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGZsZXg6IDE7XG4gICAgc2Nyb2xsLXBhZGRpbmctbGVmdDogMC41cmVtO1xuICB9XG5cbiAgLnRodW1ibmFpbC1saXN0X19pdGVtLnNsaWRlcl9fc2xpZGUge1xuICAgIHdpZHRoOiBjYWxjKDMzJSAtIDAuNnJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUwcHgpIHtcbiAgLnByb2R1Y3QtLXRodW1ibmFpbF9zbGlkZXIgLnRodW1ibmFpbC1zbGlkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC50aHVtYm5haWwtc2xpZGVyIC50aHVtYm5haWwtbGlzdC5zbGlkZXItLXRhYmxldC11cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgZmxleDogMTtcbiAgICBzY3JvbGwtcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cblxuICAucHJvZHVjdF9fbWVkaWEtd3JhcHBlciAuc2xpZGVyLW1vYmlsZS1ndXR0ZXIgLnNsaWRlci1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAudGh1bWJuYWlsLWxpc3Quc2xpZGVyLS10YWJsZXQtdXAgLnRodW1ibmFpbC1saXN0X19pdGVtLnNsaWRlcl9fc2xpZGUge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuOHJlbSk7XG4gIH1cblxuICAucHJvZHVjdC0tdGh1bWJuYWlsX3NsaWRlciAuc2xpZGVyLW1vYmlsZS1ndXR0ZXIgLnNsaWRlci1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRodW1ibmFpbC1saXN0LnNsaWRlci0tdGFibGV0LXVwIC50aHVtYm5haWwtbGlzdF9faXRlbS5zbGlkZXJfX3NsaWRlIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAwLjhyZW0pO1xuICB9XG59XG5cbi50aHVtYm5haWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4udGh1bWJuYWlsOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4udGh1bWJuYWlsLmdsb2JhbC1tZWRpYS1zZXR0aW5ncyBpbWcge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4udGh1bWJuYWlsW2FyaWEtY3VycmVudF0ge1xuICBib3gtc2hhZG93OiAwIDAgMHJlbSAwLjFyZW0gcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xufVxuXG4uaW1hZ2UtbWFnbmlmeS1mdWxsLXNpemUge1xuICBjdXJzb3I6IHpvb20tb3V0O1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tbWVkaWEtcmFkaXVzKSAtIHZhcigtLW1lZGlhLWJvcmRlci13aWR0aCkpO1xufVxuXG4uaW1hZ2UtbWFnbmlmeS1ob3ZlciB7XG4gIGN1cnNvcjogem9vbS1pbjtcbn1cblxuLnByb2R1Y3RfX21vZGFsLW9wZW5lci0taW1hZ2UgLnByb2R1Y3RfX21lZGlhLXpvb20tbm9uZSxcbi5wcm9kdWN0X19tZWRpYS1pY29uLS1ub25lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnByb2R1Y3RfX21vZGFsLW9wZW5lciA+IC5sb2FkaW5nX19zcGlubmVyIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogNDhweDtcbn1cblxuLnByb2R1Y3RfX21vZGFsLW9wZW5lciAucGF0aCB7XG4gIHN0cm9rZTogcmdiKHZhcigtLWNvbG9yLWJ1dHRvbikpO1xuICBvcGFjaXR5OiAwLjc1O1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAucHJvZHVjdF9fbWVkaWEtem9vbS1ob3ZlcixcbiAgLnByb2R1Y3RfX21lZGlhLWljb24tLWhvdmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0OXB4KSB7XG4gIC5wcm9kdWN0X19tZWRpYS16b29tLWhvdmVyLFxuICAucHJvZHVjdF9fbWVkaWEtaWNvbi0taG92ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLmpzIC5wcm9kdWN0X19tZWRpYSB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLnRodW1ibmFpbFthcmlhLWN1cnJlbnRdOmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjNyZW0gcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKSwgMCAwIDByZW0gMC41cmVtIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNSk7XG59XG5cbi50aHVtYm5haWxbYXJpYS1jdXJyZW50XTpmb2N1cyxcbi50aHVtYm5haWwuZm9jdXNlZCB7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuM3JlbSByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpLCAwIDAgMHJlbSAwLjVyZW0gcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC41KTtcbn1cblxuLyogb3V0bGluZSBzdHlsaW5nIGZvciBXaW5kb3dzIEhpZ2ggQ29udHJhc3QgTW9kZSAqL1xuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLnRodW1ibmFpbFthcmlhLWN1cnJlbnRdOmZvY3VzLFxuICAudGh1bWJuYWlsLmZvY3VzZWQge1xuICAgIG91dGxpbmU6IHRyYW5zcGFyZW50IHNvbGlkIDFweDtcbiAgfVxufVxuLnRodW1ibmFpbFthcmlhLWN1cnJlbnRdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjFyZW0gcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbn1cblxuLnRodW1ibmFpbCBpbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi50aHVtYm5haWxfX2JhZGdlIC5pY29uIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbn1cblxuLnRodW1ibmFpbF9fYmFkZ2UgLmljb24tM2QtbW9kZWwge1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDEuMnJlbTtcbn1cblxuLnRodW1ibmFpbF9fYmFkZ2Uge1xuICBjb2xvcjogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjYpO1xuICBoZWlnaHQ6IDJyZW07XG4gIHdpZHRoOiAycmVtO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogY2FsYygwLjRyZW0gKyB2YXIoLS1tZWRpYS1ib3JkZXItd2lkdGgpKTtcbiAgdG9wOiBjYWxjKDAuNHJlbSArIHZhcigtLW1lZGlhLWJvcmRlci13aWR0aCkpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAucHJvZHVjdCAudGh1bWJuYWlsX19iYWRnZSB7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHdpZHRoOiAzcmVtO1xuICB9XG5cbiAgLnByb2R1Y3QgLnRodW1ibmFpbF9fYmFkZ2UgLmljb24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gIH1cblxuICAucHJvZHVjdCAudGh1bWJuYWlsX19iYWRnZSAuaWNvbi0zZC1tb2RlbCB7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgfVxufVxuXG4udGh1bWJuYWlsLWxpc3RfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50aHVtYm5haWwtbGlzdF9faXRlbTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbn1cblxuLnByb2R1Y3Q6bm90KC5mZWF0dXJlZC1wcm9kdWN0KSAucHJvZHVjdF9fdmlldy1kZXRhaWxzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnByb2R1Y3RfX3ZpZXctZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5wcm9kdWN0X192aWV3LWRldGFpbHM6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjNyZW07XG59XG5cbi5wcm9kdWN0X192aWV3LWRldGFpbHMgLmljb24ge1xuICB3aWR0aDogMS4ycmVtO1xuICBtYXJnaW4tbGVmdDogMS4ycmVtO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLyogSW52ZW50b3J5IHN0YXR1cyAqL1xuXG4ucHJvZHVjdF9faW52ZW50b3J5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG59XG5cbi5wcm9kdWN0LS1uby1tZWRpYSAucHJvZHVjdF9faW52ZW50b3J5IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIFRoaXMga2VlcHMgdGhlIGNvbnRhaW5lciBmcm9tIGdldHRpbmcgZGlzcGxheTogbm9uZTsgYXBwbGllZCB0byBpdCBhbmQgdG8gbWFrZSBzdXJlIHdlJ3JlIG5vdCBpbnRyb2R1Y2luZyBzb21lIGxheW91dCBzaGlmdCB3aGVuIHN3aXRjaGluZyB0byBhbiB1bmF2YWlsYWJsZSB2YXJpYW50ICovXG4ucHJvZHVjdF9faW52ZW50b3J5LnZpc2liaWxpdHktaGlkZGVuOmVtcHR5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wcm9kdWN0X19pbnZlbnRvcnkudmlzaWJpbGl0eS1oaWRkZW46ZW1wdHk6OmFmdGVyIHtcbiAgY29udGVudDogJyMnO1xufVxuXG4vKiBJY29uIHdpdGggdGV4dCAqL1xuLmljb24td2l0aC10ZXh0IHtcbiAgLS1pY29uLXNpemU6IGNhbGModmFyKC0tZm9udC1oZWFkaW5nLXNjYWxlKSAqIDNyZW0pO1xuICAtLWljb24tc3BhY2luZzogY2FsYyh2YXIoLS1mb250LWhlYWRpbmctc2NhbGUpICogMXJlbSk7XG59XG5cbi5pY29uLXdpdGgtdGV4dC0taG9yaXpvbnRhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiAzcmVtO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uaWNvbi13aXRoLXRleHQtLXZlcnRpY2FsIHtcbiAgLS1pY29uLXNpemU6IGNhbGModmFyKC0tZm9udC1oZWFkaW5nLXNjYWxlKSAqIDJyZW0pO1xufVxuXG4uaWNvbi13aXRoLXRleHQgLmljb24ge1xuICBmaWxsOiByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xuICBoZWlnaHQ6IHZhcigtLWljb24tc2l6ZSk7XG4gIHdpZHRoOiB2YXIoLS1pY29uLXNpemUpO1xufVxuXG4uaWNvbi13aXRoLXRleHQtLWhvcml6b250YWwgLmljb24sXG4uaWNvbi13aXRoLXRleHQtLWhvcml6b250YWwgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0taWNvbi1zcGFjaW5nKTtcbn1cblxuLmljb24td2l0aC10ZXh0LS12ZXJ0aWNhbCAuaWNvbiB7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLWljb24tc2l6ZSk7XG4gIG1pbi13aWR0aDogdmFyKC0taWNvbi1zaXplKTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1pY29uLXNwYWNpbmcpO1xufVxuXG4uaWNvbi13aXRoLXRleHQgaW1nIHtcbiAgaGVpZ2h0OiB2YXIoLS1pY29uLXNpemUpO1xuICB3aWR0aDogdmFyKC0taWNvbi1zaXplKTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLmljb24td2l0aC10ZXh0LS12ZXJ0aWNhbCBpbWcge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWljb24tc3BhY2luZyk7XG59XG5cbi5pY29uLXdpdGgtdGV4dC0taG9yaXpvbnRhbCAuaDQge1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1pY29uLXNpemUpICsgdmFyKC0taWNvbi1zcGFjaW5nKSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmljb24td2l0aC10ZXh0LS1ob3Jpem9udGFsIHN2ZyArIC5oNCxcbi5pY29uLXdpdGgtdGV4dC0taG9yaXpvbnRhbCBpbWcgKyAuaDQsXG4uaWNvbi13aXRoLXRleHQtLWhvcml6b250YWwuaWNvbi13aXRoLXRleHQtLXRleHQtb25seSAuaDQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLmljb24td2l0aC10ZXh0X19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmljb24td2l0aC10ZXh0LS1ob3Jpem9udGFsIC5pY29uLXdpdGgtdGV4dF9faXRlbSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAzMyU7XG59XG5cbi5pY29uLXdpdGgtdGV4dC0tdmVydGljYWwgLmljb24td2l0aC10ZXh0X19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0taWNvbi1zaXplKTtcbn1cblxuLyogU0tVIGJsb2NrICovXG5cbi5wcm9kdWN0X19za3UudmlzaWJpbGl0eS1oaWRkZW46OmFmdGVyIHtcbiAgY29udGVudDogJyMnO1xufVxuXG4vKiBQcm9kdWN0LXRodW1ibmFpbCBzbmlwcGV0ICovXG5cbi5wcm9kdWN0LW1lZGlhLWNvbnRhaW5lciB7XG4gIC0tYXNwZWN0LXJhdGlvOiB2YXIoLS1wcmV2aWV3LXJhdGlvKTtcbiAgLS1yYXRpby1wZXJjZW50OiBjYWxjKDEgLyB2YXIoLS1hc3BlY3QtcmF0aW8pICogMTAwJSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gY2FsYyh2YXIoLS1tZWRpYS1ib3JkZXItd2lkdGgpICogMikpO1xufVxuXG4ucHJvZHVjdC1tZWRpYS1jb250YWluZXIuY29uc3RyYWluLWhlaWdodCB7XG4gIC8qIGFyYml0cmFyeSBvZmZzZXQgdmFsdWUgYmFzZWQgb24gYXZlcmFnZSB0aGVtZSBzcGFjaW5nIGFuZCBoZWFkZXIgaGVpZ2h0ICovXG4gIC0tdmlld3BvcnQtb2Zmc2V0OiA0MDBweDtcbiAgLS1jb25zdHJhaW5lZC1taW4taGVpZ2h0OiAzMDBweDtcbiAgLS1jb25zdHJhaW5lZC1oZWlnaHQ6IG1heCh2YXIoLS1jb25zdHJhaW5lZC1taW4taGVpZ2h0KSwgY2FsYygxMDB2aCAtIHZhcigtLXZpZXdwb3J0LW9mZnNldCkpKTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnByb2R1Y3QtbWVkaWEtY29udGFpbmVyLmNvbnN0cmFpbi1oZWlnaHQubWVkaWEtZml0LWNvbnRhaW4ge1xuICAtLWNvbnRhaW5lZC13aWR0aDogY2FsYyh2YXIoLS1jb25zdHJhaW5lZC1oZWlnaHQpICogdmFyKC0tYXNwZWN0LXJhdGlvKSk7XG4gIHdpZHRoOiBtaW4odmFyKC0tY29udGFpbmVkLXdpZHRoKSwgMTAwJSk7XG59XG5cbi5wcm9kdWN0LW1lZGlhLWNvbnRhaW5lciAubWVkaWEge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcmF0aW8tcGVyY2VudCk7XG59XG5cbi5wcm9kdWN0LW1lZGlhLWNvbnRhaW5lci5jb25zdHJhaW4taGVpZ2h0IC5tZWRpYSB7XG4gIHBhZGRpbmctdG9wOiBtaW4odmFyKC0tY29uc3RyYWluZWQtaGVpZ2h0KSwgdmFyKC0tcmF0aW8tcGVyY2VudCkpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDlweCkge1xuICAucHJvZHVjdC1tZWRpYS1jb250YWluZXIubWVkaWEtZml0LWNvdmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIH1cblxuICAucHJvZHVjdC1tZWRpYS1jb250YWluZXIubWVkaWEtZml0LWNvdmVyIC5tZWRpYSB7XG4gICAgLyogYWxsb3cgbWVkaWEgaW1nIGVsZW1lbnQgdG8gc2NhbGUgcmVsYXRpdmUgdG8gbW9kYWwtb3BlbmVyL3Byb2R1Y3QtbWVkaWEtY29udGFpbmVyICovXG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUwcHgpIHtcbiAgLnByb2R1Y3QtbWVkaWEtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAucHJvZHVjdC1tZWRpYS1jb250YWluZXI6bm90KC5tZWRpYS10eXBlLWltYWdlKSB7XG4gICAgLyogb3ZlcnJpZGUgdG8gdXNlIGFjdHVhbCBtZWRpYSByYXRpbyAobm90IHBvc3RlciByYXRpbykgZm9yIHZpZGVvL21vZGVscyBvbiBkZXNrdG9wICovXG4gICAgLS1hc3BlY3QtcmF0aW86IHZhcigtLXJhdGlvKTtcbiAgfVxuXG4gIC5wcm9kdWN0LW1lZGlhLWNvbnRhaW5lci5jb25zdHJhaW4taGVpZ2h0IHtcbiAgICAtLXZpZXdwb3J0LW9mZnNldDogMTcwcHg7XG4gICAgLS1jb25zdHJhaW5lZC1taW4taGVpZ2h0OiA1MDBweDtcbiAgfVxuXG4gIC5wcm9kdWN0LW1lZGlhLWNvbnRhaW5lci5tZWRpYS1maXQtY292ZXIsXG4gIC5wcm9kdWN0LW1lZGlhLWNvbnRhaW5lci5tZWRpYS1maXQtY292ZXIgLnByb2R1Y3RfX21vZGFsLW9wZW5lcixcbiAgLnByb2R1Y3QtbWVkaWEtY29udGFpbmVyLm1lZGlhLWZpdC1jb3ZlciAubWVkaWEge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5wcm9kdWN0LW1lZGlhLWNvbnRhaW5lci5tZWRpYS1maXQtY292ZXIgLmRlZmVycmVkLW1lZGlhX19wb3N0ZXIgaW1nIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucHJvZHVjdC1tZWRpYS1jb250YWluZXIgLnByb2R1Y3RfX21vZGFsLW9wZW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg1MHB4KSB7XG4gIC5wcm9kdWN0LW1lZGlhLWNvbnRhaW5lciAucHJvZHVjdF9fbW9kYWwtb3BlbmVyOm5vdCgucHJvZHVjdF9fbW9kYWwtb3BlbmVyLS1pbWFnZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogUmVjaXBpZW50IGZvcm0gKi9cbi5yZWNpcGllbnQtZm9ybSB7XG4gIC8qICgyLjg4W2xpbmUtaGVpZ2h0XSAtIDEuNnJlbSkgLyAyICovXG4gIC0tcmVjaXBpZW50LWNoZWNrYm94LW1hcmdpbi10b3A6IDAuNjRyZW07XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA0NHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xufVxuXG4ucmVjaXBpZW50LWZvcm0tZmllbGQtbGFiZWwge1xuICBtYXJnaW46IDAuNnJlbSAwO1xufVxuXG4ucmVjaXBpZW50LWZvcm0tZmllbGQtbGFiZWwtLXNwYWNlLWJldHdlZW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5yZWNpcGllbnQtY2hlY2tib3gge1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm5vLWpzIC5yZWNpcGllbnQtY2hlY2tib3gge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucmVjaXBpZW50LWZvcm0gPiBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMS42cmVtO1xuICBoZWlnaHQ6IDEuNnJlbTtcbiAgbWFyZ2luOiB2YXIoLS1yZWNpcGllbnQtY2hlY2tib3gtbWFyZ2luLXRvcCkgMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4ucmVjaXBpZW50LWZpZWxkc19fZmllbGQge1xuICBtYXJnaW46IDAgMCAycmVtIDA7XG59XG5cbi5yZWNpcGllbnQtZmllbGRzIC5maWVsZF9fbGFiZWwge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzLjVyZW0pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmVjaXBpZW50LWNoZWNrYm94ID4gc3ZnIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tcmVjaXBpZW50LWNoZWNrYm94LW1hcmdpbi10b3ApO1xuICBtYXJnaW4tcmlnaHQ6IDEuMnJlbTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yZWNpcGllbnQtZm9ybSAuaWNvbi1jaGVja21hcmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMC4yOHJlbTtcbiAgei1pbmRleDogNTtcbiAgdG9wOiAwLjRyZW07XG59XG5cbi5yZWNpcGllbnQtZm9ybSA+IGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsIC5pY29uLWNoZWNrbWFyayB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5qcyAucmVjaXBpZW50LWZpZWxkcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yZWNpcGllbnQtZmllbGRzIGhyIHtcbiAgbWFyZ2luOiAxLjZyZW0gYXV0bztcbn1cblxuLnJlY2lwaWVudC1mb3JtID4gaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkIH4gLnJlY2lwaWVudC1maWVsZHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYW5pbWF0aW9uOiBhbmltYXRlTWVudU9wZW4gdmFyKC0tZHVyYXRpb24tZGVmYXVsdCkgZWFzZTtcbn1cbi5yZWNpcGllbnQtZm9ybSA+IGlucHV0W3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkLCA6ZGlzYWJsZWQpIH4gLnJlY2lwaWVudC1maWVsZHMsXG4ucmVjaXBpZW50LWVtYWlsLWxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmpzIC5yZWNpcGllbnQtZW1haWwtbGFiZWwucmVxdWlyZWQsXG4ubm8tanMgLnJlY2lwaWVudC1lbWFpbC1sYWJlbC5vcHRpb25hbCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLnJlY2lwaWVudC1mb3JtIHVsIHtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSArIDAuNiAvIHZhcigtLWZvbnQtYm9keS1zY2FsZSkpO1xuICBwYWRkaW5nLWxlZnQ6IDQuNHJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnJlY2lwaWVudC1mb3JtIHVsIGEge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5yZWNpcGllbnQtZm9ybSAuZXJyb3ItbWVzc2FnZTo6Zmlyc3QtbGV0dGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLnJlY2lwaWVudC1maWVsZHMgPiBociB7XG4gICAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkIHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSk7XG4gIH1cblxuICAucmVjaXBpZW50LWNoZWNrYm94ID4gc3ZnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkIHJnYih2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKSk7XG4gIH1cblxuICAucmVjaXBpZW50LWZvcm0gPiBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbCAuaWNvbi1jaGVja21hcmsge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuXG4vKiBwcmljZSAqL1xuLnByaWNlIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKyAwLjUgLyB2YXIoLS1mb250LWJvZHktc2NhbGUpKTtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG59XG5cbi5wcmljZSA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5wcmljZS5wcmljZS0tdW5hdmFpbGFibGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5wcmljZS0tZW5kIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5wcmljZSAucHJpY2UtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAuNXJlbSAwIDA7XG59XG5cbi5wcmljZV9fcmVndWxhciAucHJpY2UtaXRlbS0tcmVndWxhciB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnByaWNlOm5vdCgucHJpY2UtLXNob3ctYmFkZ2UpIC5wcmljZS1pdGVtLS1sYXN0Omxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLnByaWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5wcmljZS0tbGFyZ2Uge1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMSArIDAuNSAvIHZhcigtLWZvbnQtYm9keS1zY2FsZSkpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAucHJpY2UtLWxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxufVxuXG4ucHJpY2UtLXNvbGQtb3V0IC5wcmljZV9fYXZhaWxhYmlsaXR5LFxuLnByaWNlX19yZWd1bGFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wcmljZV9fc2FsZSxcbi5wcmljZV9fYXZhaWxhYmlsaXR5LFxuLnByaWNlIC5wcmljZV9fYmFkZ2Utc2FsZSxcbi5wcmljZSAucHJpY2VfX2JhZGdlLXNvbGQtb3V0LFxuLnByaWNlLS1vbi1zYWxlIC5wcmljZV9fcmVndWxhcixcbi5wcmljZS0tb24tc2FsZSAucHJpY2VfX2F2YWlsYWJpbGl0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcmljZS0tc29sZC1vdXQgLnByaWNlX19iYWRnZS1zb2xkLW91dCxcbi5wcmljZS0tb24tc2FsZSAucHJpY2VfX2JhZGdlLXNhbGUsXG4udm9sdW1lLXByaWNpbmctLXNhbGUtYmFkZ2UgLnByaWNlX19iYWRnZS1zYWxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udm9sdW1lLXByaWNpbmctLXNhbGUtYmFkZ2UgLnByaWNlX19iYWRnZS1zYWxlIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLnByaWNlLS1vbi1zYWxlIC5wcmljZV9fc2FsZSB7XG4gIGRpc3BsYXk6IGluaXRpYWw7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnByaWNlLS1jZW50ZXIge1xuICBkaXNwbGF5OiBpbml0aWFsO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByaWNlLS1vbi1zYWxlIC5wcmljZS1pdGVtLS1yZWd1bGFyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIGNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAxKTtcbn1cblxuLnVuaXQtcHJpY2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0cmVtO1xuICBsaW5lLWhlaWdodDogY2FsYygxICsgMC4yIC8gdmFyKC0tZm9udC1ib2R5LXNjYWxlKSk7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNyk7XG59XG5cbi5wbmRhLWRlbGl2ZXJ5LWluZm8ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nLWZhbWlseSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59IiwiLmRyYXdlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC41KTtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSB2YXIoLS1kdXJhdGlvbi1kZWZhdWx0KSBlYXNlO1xufVxuXG4uZHJhd2VyLmFjdGl2ZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5kcmF3ZXJfX2lubmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNDZyZW07XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tZGVmYXVsdCkgZWFzZTtcbn1cblxuLmRyYXdlcl9faW5uZXItZW1wdHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qcGFkZGluZzogMCAxLjVyZW07Ki9cbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uY2FydC1kcmF3ZXJfX3dhcm5pbmdzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qXG5jYXJ0LWRyYXdlci5pcy1lbXB0eSAuZHJhd2VyX19pbm5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xufVxuXG5jYXJ0LWRyYXdlci5pcy1lbXB0eSAuZHJhd2VyX19oZWFkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuKi9cblxuY2FydC1kcmF3ZXItaXRlbXM6bm90KC5pcy1lbXB0eSkgLmRyYXdlcl9faW5uZXItZW1wdHksXG5jYXJ0LWRyYXdlci1pdGVtczpub3QoLmlzLWVtcHR5KSAuY2FydC1kcmF3ZXJfX3dhcm5pbmdzLFxuY2FydC1kcmF3ZXItaXRlbXM6bm90KC5pcy1lbXB0eSkgLmNhcnQtZHJhd2VyX19jb2xsZWN0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNhcnQtZHJhd2VyX193YXJuaW5ncy0taGFzLWNvbGxlY3Rpb24gLmNhcnRfX2xvZ2luLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xufVxuXG4uZHJhd2VyLmFjdGl2ZSAuZHJhd2VyX19pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmRyYXdlcl9faGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpO1xuICBwYWRkaW5nOiAxcmVtIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNhcnQtZHJhd2VyIC5kcmF3ZXJfX2hlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMSk7XG59XG5cbi5kcmF3ZXJfX2Nsb3NlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtaW4td2lkdGg6IDQuNHJlbTtcbiAgbWluLWhlaWdodDogNC40cmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSh2YXIoLS1jb2xvci1idXR0b24pLCAwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMTBweDtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNhcnQtZHJhd2VyX193YXJuaW5ncyAuZHJhd2VyX19jbG9zZSB7XG4gIHJpZ2h0OiA1cHg7XG59XG5cbi5kcmF3ZXJfX2Nsb3NlIHN2ZyB7XG4gIGhlaWdodDogMi40cmVtO1xuICB3aWR0aDogMi40cmVtO1xufVxuXG4uZHJhd2VyX19jb250ZW50cyB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmRyYXdlcl9fZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLWNvbG9yLWJhY2tncm91bmQpKTtcbiAgcGFkZGluZzogMS41cmVtIDA7XG59XG5cbmNhcnQtZHJhd2VyLWl0ZW1zLmlzLWVtcHR5ICsgLmRyYXdlcl9fZm9vdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRyYXdlcl9fZm9vdGVyID4gZGV0YWlscyB7XG4gIG1hcmdpbi10b3A6IC0xLjVyZW07XG4gIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjEpO1xufVxuXG4uZHJhd2VyX19mb290ZXIgPiBkZXRhaWxzW29wZW5dIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbn1cblxuLmRyYXdlcl9fZm9vdGVyIHN1bW1hcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAxLjVyZW0gMDtcbn1cblxuLmRyYXdlcl9fZm9vdGVyID4gZGV0YWlscyArIC5jYXJ0LWRyYXdlcl9fZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbn1cblxuY2FydC1kcmF3ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jYXJ0LWRyYXdlcl9fb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uY2FydC1kcmF3ZXJfX292ZXJsYXk6ZW1wdHkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcnQtZHJhd2VyX19mb3JtIHtcbiAgZmxleC1ncm93OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5jYXJ0LWRyYXdlcl9fY29sbGVjdGlvbiB7XG4gIHBhZGRpbmc6IDJyZW0gMDtcbn1cblxuLmNhcnQtZHJhd2VyX19jb2xsZWN0aW9uIC5oNCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5jYXJ0LWRyYXdlciAuZHJhd2VyX19jYXJ0LWl0ZW1zLXdyYXBwZXIge1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi5jYXJ0LWRyYXdlciAuY2FydC1pdGVtcyxcbi5jYXJ0LWRyYXdlciB0Ym9keSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhcnQtZHJhd2VyIHRoZWFkIHtcbiAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpO1xufVxuXG5jYXJ0LWRyYXdlci1pdGVtcyB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBmbGV4OiAxO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNjUwcHgpIHtcbiAgY2FydC1kcmF3ZXItaXRlbXMge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLmRyYXdlcl9faW5uZXIge1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gIH1cbn1cblxuLmNhcnQtZHJhd2VyIC5jYXJ0LWl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgZ2FwOiAxLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjEpO1xufVxuXG4uY2FydC1kcmF3ZXIgLmNhcnQtaXRlbV9fd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEuOHJlbTtcbn1cblxuLmNhcnQtZHJhd2VyIC5jYXJ0LWl0ZW1fX3dyYXBwZXIgLmNhcnQtaXRlbV9fbWVkaWEge1xuICBtaW4td2lkdGg6IDgycHg7XG59XG5cbi5jYXJ0LWRyYXdlciAuY2FydC1pdGVtX19pbWFnZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNhcnQtZHJhd2VyIC5jYXJ0LWl0ZW1zIHRoZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uY2FydC1kcmF3ZXIgLmNhcnQtaXRlbXMgdGhlYWQgdGg6Zmlyc3QtY2hpbGQsXG4uY2FydC1kcmF3ZXIgLmNhcnQtaXRlbXMgdGhlYWQgdGg6bGFzdC1jaGlsZCB7XG4gIHdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uY2FydC1kcmF3ZXIgLmNhcnQtaXRlbXMgdGhlYWQgdGg6bnRoLWNoaWxkKDIpIHtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY2FydC1kcmF3ZXIgLmNhcnQtaXRlbXMgdGhlYWQgdHIge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJ0LWRyYXdlciAuY2FydC1pdGVtcyB0aCB7XG4gIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjA4KTtcbn1cblxuLmNhcnQtZHJhd2VyIC5jYXJ0LWl0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLmNhcnQtZHJhd2VyIC5jYXJ0LWl0ZW0gLmxvYWRpbmdfX3NwaW5uZXIge1xuICByaWdodDogNXB4O1xuICB0b3A6IC0ycHg7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uY2FydC1kcmF3ZXIgLmNhcnQtaXRlbV9fZGV0YWlscyB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uY2FydC1kcmF3ZXIgLmNhcnQtaXRlbV9fdG90YWxzIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uY2FydC1kcmF3ZXIuY2FydC1kcmF3ZXIgLmNhcnQtaXRlbV9fcHJpY2Utd3JhcHBlciA+ICo6b25seS1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jYXJ0LWRyYXdlciAuY2FydC1pdGVtX19wcmljZS13cmFwcGVyIC5jYXJ0LWl0ZW1fX2Rpc2NvdW50ZWQtcHJpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjZyZW07XG59XG5cbi5jYXJ0LWRyYXdlciAudW5pdC1wcmljZSB7XG4gIG1hcmdpbi10b3A6IDAuNnJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcbiAgLmNhcnQtZHJhd2VyIC5jYXJ0LWl0ZW0gY2FydC1yZW1vdmUtYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uY2FydC1kcmF3ZXJfX2Zvb3RlciA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmNhcnQtZHJhd2VyIC5wcmljZSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uY2FydC1kcmF3ZXIgLnRheC1ub3RlIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIG1hcmdpbjogMXJlbSAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNhcnQtZHJhd2VyIC5wcm9kdWN0LW9wdGlvbiBkZCB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5jYXJ0LWRyYXdlciBkZXRhaWxzW29wZW5dID4gc3VtbWFyeSAuaWNvbi0tY2FyZXQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uY2FydC1kcmF3ZXIgLmNhcnRfX2NoZWNrb3V0LWJ1dHRvbiB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLmRyYXdlcl9fZm9vdGVyIC5jYXJ0X19keW5hbWljLWNoZWNrb3V0LWJ1dHRvbnMge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5kcmF3ZXJfX2Zvb3RlciAjZHluYW1pYy1jaGVja291dC1jYXJ0IHVsIHtcbiAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwLjVyZW0gLTAuNXJlbSAwIDAgIWltcG9ydGFudDtcbiAgZ2FwOiAwLjVyZW07XG59XG5cbi5kcmF3ZXJfX2Zvb3RlciBbZGF0YS1zaG9waWZ5LWJ1dHRvbmNvbnRhaW5lcl0ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5kcmF3ZXJfX2Zvb3RlciAjZHluYW1pYy1jaGVja291dC1jYXJ0IHVsID4gbGkge1xuICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDAuNXJlbSkgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5kcmF3ZXJfX2Zvb3RlciAjZHluYW1pYy1jaGVja291dC1jYXJ0IHVsID4gbGk6b25seS1jaGlsZCB7XG4gIGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmRyYXdlcl9fZm9vdGVyICNkeW5hbWljLWNoZWNrb3V0LWNhcnQgdWwgPiBsaSB7XG4gICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gMyAtIDAuNXJlbSkgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kcmF3ZXJfX2Zvb3RlciAjZHluYW1pYy1jaGVja291dC1jYXJ0IHVsID4gbGk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMiksXG4gIC5kcmF3ZXJfX2Zvb3RlciAjZHluYW1pYy1jaGVja291dC1jYXJ0IHVsID4gbGk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiBsaSxcbiAgLmRyYXdlcl9fZm9vdGVyICNkeW5hbWljLWNoZWNrb3V0LWNhcnQgdWwgPiBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSxcbiAgLmRyYXdlcl9fZm9vdGVyICNkeW5hbWljLWNoZWNrb3V0LWNhcnQgdWwgPiBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IGxpIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDAuNXJlbSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5jYXJ0LWRyYXdlci1pdGVtczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogM3B4O1xufVxuXG5jYXJ0LWRyYXdlci1pdGVtczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLWZvcmVncm91bmQpLCAwLjcpO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbn1cblxuY2FydC1kcmF3ZXItaXRlbXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLXBpZWNlIHtcbiAgbWFyZ2luLXRvcDogMzFweDtcbn1cblxuLmNhcnQtZHJhd2VyIC5xdWFudGl0eS1wb3BvdmVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jYXJ0LWRyYXdlciAucXVhbnRpdHktcG9wb3Zlcl9faW5mby5nbG9iYWwtc2V0dGluZ3MtcG9wdXAge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHJpZ2h0OiAwO1xufVxuXG4uY2FydC1kcmF3ZXIgLmNhcnQtaXRlbV9fZXJyb3Ige1xuICBtYXJnaW46IDAuNzVyZW0gMDtcbn1cblxuLmNhcnQtZHJhd2VyIC5xdWFudGl0eS1wb3BvdmVyX19pbmZvICsgLmNhcnQtaXRlbV9fZXJyb3Ige1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5jYXJ0LWRyYXdlciAuY2FydC1pdGVtX19xdWFudGl0eS0taW5mbyBxdWFudGl0eS1wb3BvdmVyID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbmJvZHkub3ZlcmZsb3ctaGlkZGVuICNkdW1teS1jaGF0LWJ1dHRvbi1pZnJhbWUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5kcmF3ZXJfX3BhZGRpbmcge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xufVxuXG5tY3AtY3Jvc3Mtc2VsbHMge1xuICAuY2FydC1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xuICB9XG59XG5cbi5jYXJ0LWl0ZW1fX3F1YW50aXR5LXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uY2FydC1pdGVtX190b3RhbHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJ0LWl0ZW1zICoucmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNhcnQtaXRlbV9faW1hZ2UtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uY2FydC1pdGVtX19pbWFnZS1jb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuXG4uY2FydC1pdGVtX19pbWFnZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwcmVtIC8gdmFyKC0tZm9udC1ib2R5LXNjYWxlKSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5jYXJ0LWl0ZW1fX2ltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNhcnQtaXRlbV9fZGV0YWlscyB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogY2FsYygxICsgMC40IC8gdmFyKC0tZm9udC1ib2R5LXNjYWxlKSk7XG59XG5cbi5jYXJ0LWl0ZW1fX21lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2FydC1pdGVtX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uY2FydC1pdGVtX19uYW1lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcnQtaXRlbV9fbmFtZTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuM3JlbTtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4ycmVtO1xufVxuXG4uY2FydC1pdGVtX19wcmljZS13cmFwcGVyID4gKiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jYXJ0LWl0ZW1fX2Rpc2NvdW50ZWQtcHJpY2VzIGRkIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uY2FydC1pdGVtX19kaXNjb3VudGVkLXByaWNlcyAuY2FydC1pdGVtX19vbGQtcHJpY2Uge1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuLmNhcnQtaXRlbV9fb2xkLXByaWNlIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uY2FydC1pdGVtX19maW5hbC1wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5wcm9kdWN0LW9wdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBsaW5lLWhlaWdodDogY2FsYygxICsgMC41IC8gdmFyKC0tZm9udC1ib2R5LXNjYWxlKSk7XG59XG5cbi5jYXJ0LWl0ZW0gY2FydC1yZW1vdmUtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmNhcnQtaXRlbSAuY2FydC1yZW1vdmUtYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgbWluLXdpZHRoOiA0MHB4O1xuICBtaW4taGVpZ2h0OiA0MHB4O1xufVxuXG4uY2FydC1pdGVtIC5jYXJ0LXJlbW92ZS1idXR0b24tLWNoYW5nZSB7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG59XG5cbmNhcnQtcmVtb3ZlLWJ1dHRvbiAuYnV0dG9uOmJlZm9yZSxcbmNhcnQtcmVtb3ZlLWJ1dHRvbiAuYnV0dG9uOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLmNhcnQtaXRlbSAubG9hZGluZ19fc3Bpbm5lciB7XG4gIHRvcDogMDtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLmNhcnQtaXRlbSAubG9hZGluZ19fc3Bpbm5lciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDQuNXJlbTtcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLmNhcnQtaXRlbSAubG9hZGluZ19fc3Bpbm5lcjpub3QoLmhpZGRlbikgfiAqIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uY2FydC1pdGVtX19lcnJvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIHdpZHRoOiBtaW4tY29udGVudDtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuXG4uY2FydC1pdGVtX19lcnJvci10ZXh0IHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEgKyAwLjIgLyB2YXIoLS1mb250LWJvZHktc2NhbGUpKTtcbiAgb3JkZXI6IDE7XG59XG5cbi5jYXJ0LWl0ZW1fX2Vycm9yLXRleHQgKyBzdmcge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEuMnJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDAuMXJlbTtcbn1cblxuLmNhcnQtaXRlbV9fZXJyb3ItdGV4dDplbXB0eSArIHN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9kdWN0LW9wdGlvbiArIC5wcm9kdWN0LW9wdGlvbiB7XG4gIG1hcmdpbi10b3A6IDAuNHJlbTtcbn1cblxuLnByb2R1Y3Qtb3B0aW9uICoge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQ5cHgpIHtcbiAgLmNhcnQtaXRlbXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNhcnQtaXRlbSB7XG4gICAgZ2FwOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xuICB9XG5cbiAgLmNhcnQtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5jYXJ0LWl0ZW1fX3ByaWNlLXdyYXBwZXIgPiAqOm9ubHktY2hpbGQ6bm90KC5jYXJ0LWl0ZW1fX2Rpc2NvdW50ZWQtcHJpY2VzKSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NDlweCkgYW5kIChtYXgtd2lkdGg6IDk5MHB4KSB7XG4gIC5jYXJ0LWl0ZW1zIC5xdWFudGl0eS1wb3BvdmVyX19pbmZvLWJ1dHRvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIH1cbn1cblxuLmNhcnRfX3Byb2dyZXNzLWJhciB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cblxuLmNhcnRfX3Byb2dyZXNzLWJhci0taGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDAuOHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuN3JlbTtcbiAgYmFja2dyb3VuZDogI2ZhZjNkYjtcbiAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMDgpO1xufVxuXG4uY2FydF9fcHJvZ3Jlc3MtYmFyLS1mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuNSk7XG59XG5cbi5tY3AtdXBzZWxsLXByb2dyZXNzLWJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4ubWNwLXVwc2VsbC1wcm9ncmVzcy1iYXIgLnVwc2VsbF9fbXNnIHtcbiAgbWFyZ2luOiAxcmVtIGF1dG8gMDtcbn1cblxuLnVwc2VsbF9fbXNnIHAge1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi5tY3AtdXBzZWxsLXByb2dyZXNzLWJhciAudXBzZWxsX19saXN0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgaGVpZ2h0OiAyM3B4O1xuICB3aWR0aDogOTAlO1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5tY3AtdXBzZWxsLXByb2dyZXNzLWJhciAudXBzZWxsX19saXN0LWl0ZW0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbWluLXdpZHRoOiA0NXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIycHgpO1xufVxuXG4ubWNwLXVwc2VsbC1wcm9ncmVzcy1iYXIgLnVwc2VsbF9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG59XG5cbi5tY3AtdXBzZWxsLXByb2dyZXNzLWJhciAudXBzZWxsX19wcmljZSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA4cHg7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAlKTtcbn1cblxuLm1jcC11cHNlbGwtcHJvZ3Jlc3MtYmFyIC51cHNlbGxfX21hcmtlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgMCAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCkpO1xufVxuXG4ubWNwLXVwc2VsbC1wcm9ncmVzcy1iYXIgLnVwc2VsbF9fYmFyLFxuLm1jcC11cHNlbGwtcHJvZ3Jlc3MtYmFyIC51cHNlbGxfX3Byb2dyZXNzIHtcbiAgbWluLWhlaWdodDogNXB4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWNwLXVwc2VsbC1wcm9ncmVzcy1iYXIgLnVwc2VsbF9fYmFyLXdyYXBwZXIge1xuICBoZWlnaHQ6IDVweDtcbiAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4yKTtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubWNwLXVwc2VsbC1wcm9ncmVzcy1iYXIgLnVwc2VsbF9fYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDZweDtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDkwJTtcbn1cblxuLm1jcC11cHNlbGwtcHJvZ3Jlc3MtYmFyIC51cHNlbGxfX3Byb2dyZXNzIHtcbiAgYmFja2dyb3VuZDogcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSk7XG59XG5cbi5tY3AtdXBzZWxsLXByb2dyZXNzLWJhciAudXBzZWxsX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1heC13aWR0aDogNjBweDtcbn1cblxuLmNhcnQtY3Jvc3Mtc2VsbHNfX3NsaWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sdW1uLWdhcDogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0zcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLmNhcnQtY29sbGVjdGlvbi1lbXB0eV9fc2xpZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2x1bW4tZ2FwOiAzcmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0zcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmbGV4LXdyYXA6IGluaGVyaXQ7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLmNhcnQtY29sbGVjdGlvbi1lbXB0eV9fc2xpZGU6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG59XG5cbi5jYXJ0LWNyb3NzLXNlbGxzX19zbGlkZSB7XG4gIGZsZXg6IDAgMCAzMHJlbTtcbn1cblxuLmNhcnQtY29sbGVjdGlvbi1lbXB0eV9fc2xpZGUge1xuICBmbGV4OiAwIDAgMTZyZW07XG59XG5cbi5jYXJ0LWNyb3NzLXNlbGxzX19zbGlkZTpsYXN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5jYXJ0LWNyb3NzLXNlbGxzX19zbGlkZSB7XG4gICAgZmxleDogMCAwIDMzcmVtO1xuICB9XG5cbiAgLmNhcnQtY3Jvc3Mtc2VsbHNfX3NsaWRlcixcbiAgLmNhcnQtY29sbGVjdGlvbi1lbXB0eV9fc2xpZGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC03cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDdyZW07XG4gIH1cbn1cblxuLyogSGlkZSBzY3JvbGxiYXIgZm9yIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYSAqL1xuLnNjcm9sbC13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGUgc2Nyb2xsYmFyIGZvciBJRSwgRWRnZSBhbmQgRmlyZWZveCAqL1xuLnNjcm9sbC13cmFwcGVyIHtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBJRSBhbmQgRWRnZSAqL1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbn1cblxuLmNhcnQtdXBzZWxsX19wcmljZSAucHJpY2UtaXRlbSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmNhcnQtcHJvZHVjdC1zbGlkZXIge1xuICAuY2FydC1jcm9zcy1zZWxsX193cmFwcGVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2IodmFyKC0tY29sb3ItYmFja2dyb3VuZCkpO1xuICB9XG4gIC5wcm9kdWN0LWZvcm1fX2lucHV0IC5zZWxlY3Qge1xuICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gIH1cbiAgLnNlbGVjdF9fc2VsZWN0IHtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgcGFkZGluZzogMC4xcmVtIDNyZW0gMCAxcmVtO1xuICB9XG4gIC5zZWxlY3QgLmljb24tLWNhcmV0IHtcbiAgICByaWdodDogMXJlbTtcbiAgfVxuICAucHJvZHVjdC1mb3JtX19pbnB1dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICB9XG4gIC5mb3JtX19sYWJlbCxcbiAgLnByb2R1Y3QtZm9ybV9faW5wdXQtLWRyb3Bkb3duIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5sb2FkaW5nX19zcGlubmVyIHtcbiAgICBsZWZ0OiAtMjBweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMnB4O1xuICAgIHdpZHRoOiAxLjRyZW07XG4gIH1cbn1cblxuLmNhcnQtcHJvZHVjdC1zbGlkZXItLWdpZnQge1xuICAuY2FydC1jcm9zcy1zZWxsX193cmFwcGVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2IodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMjUpO1xuICB9XG59XG4iLCI6cm9vdCB7XG4gIC0tbWVnYS1uYXYtaGVpZ2h0OiA1NXB4O1xuICAvKi0tbWVnYS1uYXYtY29udGVudC1tYXgtd2lkdGg6IGNhbGModmFyKC0tcGFnZS13aWR0aCkgLSAzcmVtKTsqL1xuICAtLW1lZ2EtbmF2LWNvbnRlbnQtbWF4LXdpZHRoOiB2YXIoLS1wYWdlLXdpZHRoKTtcbiAgLyogc2V0IG1heC13aWR0aCBmb3IgbmF2aWdhdGlvbiBjb250ZW50ICovXG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIDpyb290IHtcbiAgICAtLW1lZ2EtbmF2LWhlaWdodDogODBweDtcbiAgfVxufVxuXG4ubWVnYS1uYXYge1xuICBoZWlnaHQ6IHZhcigtLW1lZ2EtbmF2LWhlaWdodCk7XG4gIHdpZHRoOiAxMDAlO1xuICBAYXBwbHkgbXgtYXV0byB6LVszXTtcbn1cblxuLm1lZ2EtbmF2X19jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gIC5tZWdhLW5hdl9fY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IGNhbGModmFyKC0tbWVnYS1uYXYtY29udGVudC1tYXgtd2lkdGgpIC0gMi41cmVtKTtcbiAgfVxuICAubWVnYS1uYXYtLWRlc2t0b3AgLm1lZ2EtbmF2X19zdWItbmF2IHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1lZ2EtbmF2LWNvbnRlbnQtbWF4LXdpZHRoKTtcbiAgfVxufVxuXG4vKiBsb2dvICovXG4ubWVnYS1uYXZfX2xvZ28ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLyogbW9iaWxlIGJ1dHRvbnMgKi9cbi5tZWdhLW5hdl9faWNvbi1idG5zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICBoZWFkZXItZHJhd2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5tZWdhLW5hdl9faWNvbi1idG5zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgfVxufVxuXG4ubWVnYS1uYXZfX2ljb24tYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IDAuMnM7XG59XG5cbi8qIGxhYmVsL2RpdmlkZXIgKi9cbi5tZWdhLW5hdl9fbGFiZWwsXG4ubWVnYS1uYXZfX3N1Yi1pdGVtLm1lZ2EtbmF2X19zdWItaXRlbS0tbGV2ZWwtMSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmctZmFtaWx5KTtcbiAgQGFwcGx5IHRleHQtc207XG59XG5cbi8qIGNhcmQgKi9cbi5tZWdhLW5hdl9fY2FyZC10aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZy1mYW1pbHkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sb3I6IHdoaXRlO1xuICB6LWluZGV4OiAxO1xufVxuXG4ubWVnYS1uYXZfX2NhcmQtdGl0bGU6aG92ZXIsXG4ubWVnYS1uYXZfX3N1Yi1saW5rLS1hY3RpdmUgLm1lZ2EtbmF2X19jYXJkLXRpdGxlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC41cmVtO1xufVxuXG4ubWVnYS1uYXZfX3N1Yi1pdGVtcyB7XG4gIEBhcHBseSBweC04IHB0LTEyIHBiLTE0O1xufVxuXG4ubWVnYS1uYXZfX3N1Yi1pdGVtcy1jb2xsZWN0aW9ucyB7XG4gIEBhcHBseSBweS0xMCBweC0zO1xufVxuXG4ubWVnYS1uYXZfX3N1Yi1pdGVtcy0tYm9yZGVyIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSh2YXIoLS1jb2xvci1mb3JlZ3JvdW5kKSwgMC4wOCk7XG59XG5cbi5tZWdhLW5hdi0tZGVza3RvcCAubWVnYS1uYXZfX3N1Yi1uYXYtd3JhcHBlcixcbi5tZWdhLW5hdi0tZGVza3RvcCAubWVnYS1uYXZfX2xhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1lZ2EtbmF2LS1kZXNrdG9wIC5tZWdhLW5hdl9fc3ViLW5hdi13cmFwcGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMDgpO1xufVxuXG4ubWVnYS1uYXZfX3N1Yi1uYXYtd3JhcHBlciAuY29sbGVjdGlvbnMtYmFubmVyX193cmFwcGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEodmFyKC0tY29sb3ItZm9yZWdyb3VuZCksIDAuMDgpO1xufVxuXG4uY29sbGVjdGlvbnMtYmFubmVyLmdyaWQge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDU1JSA0NSU7XG59XG5cbi5tZWdhLW5hdi0tZGVza3RvcCAubWVnYS1uYXZfX25hdi1pbm5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5tZWdhLW5hdi0tZGVza3RvcCAubWVnYS1uYXZfX25hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm1lZ2EtbmF2LS1kZXNrdG9wIC5tZWdhLW5hdl9fbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5tZWdhLW5hdi0tZGVza3RvcCAubWVnYS1uYXZfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5tZWdhLW5hdi0tZGVza3RvcCAubWVnYS1uYXZfX25hdi1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLm1lZ2EtbmF2LS1kZXNrdG9wIC5tZWdhLW5hdl9faWNvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbHVtbi1nYXA6IDAuOHJlbTtcbn1cblxuLm1lZ2EtbmF2X19pY29ucyAuc2hvcGlmeS1hcHAtYmxvY2sge1xuICBtYXgtd2lkdGg6IDQuNHJlbTtcbiAgbWF4LWhlaWdodDogNC40cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWVnYS1uYXYtLWRlc2t0b3AgLm1lZ2EtbmF2X19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1lZ2EtbmF2LS1kZXNrdG9wIC5tZWdhLW5hdl9fY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZy1mYW1pbHkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBAYXBwbHkgdGV4dC1zbSBwYi0wIHB0LTQgcHgtNTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiAwLjJzO1xufVxuXG4ubWVnYS1uYXYtLWRlc2t0b3AgLm1lZ2EtbmF2X19jb250cm9sOjphZnRlciB7XG4gIC8qIG1hcmtlciAqL1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBAYXBwbHkgYmctZ3JheS05MDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG59XG5cbi5tZWdhLW5hdi0tZGVza3RvcCAubWVnYS1uYXZfX2NvbnRyb2wgLm1lZ2EtbmF2X19hcnJvdy1pY29uIHtcbiAgQGFwcGx5IG1sLTI7XG59XG5cbi5tZWdhLW5hdi0tZGVza3RvcCAubWVnYS1uYXZfX2NvbnRyb2w6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tZWdhLW5hdi0tZGVza3RvcCAubWVnYS1uYXZfX3N1Yi1uYXYtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1tZWdhLW5hdi1oZWlnaHQpO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgQGFwcGx5IHNoYWRvdy1sZztcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLW1lZ2EtbmF2LWhlaWdodCkgLSB2YXIoLS1tZWdhLW5hdi1vZmZzZXQteSwgMHB4KSk7XG4gIC8qIHNldCAtLW1lZ2EtbmF2LW9mZnNldC15IGluIEpTICovXG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4ubWVnYS1uYXYtLWRlc2t0b3AgLm1lZ2EtbmF2X19zdWItbmF2IC5tZWdhLW5hdl9fbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1lZ2EtbmF2LS1kZXNrdG9wIC5tZWdhLW5hdl9fc3ViLWl0ZW06bm90KDpsYXN0LWNoaWxkKSxcbi5tZWdhLW5hdi0tZGVza3RvcCAubWVnYS1uYXZfX2xhYmVsIHtcbiAgQGFwcGx5IG1iLTI7XG59XG5cbi5tZWdhLW5hdi0tZGVza3RvcCAubWVnYS1uYXZfX3N1Yi1saW5rIHtcbiAgQGFwcGx5IHRleHQtc207XG59XG5cbi5tZWdhLW5hdl9fc3ViLWxpbms6aG92ZXIsXG4ubWVnYS1uYXZfX3N1Yi1saW5rLS1hY3RpdmUge1xuICBjb2xvcjogcmdiKHZhcigtLWNvbG9yLWZvcmVncm91bmQpKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC41cmVtO1xufVxuXG4ubWVnYS1uYXZfX3N1Yi1saW5rLS1hY3RpdmU6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjJyZW07XG59XG5cbi5oZWFkZXJfX2FjdGl2ZS1tZW51LWl0ZW0ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjVyZW07XG4gIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi10aGlja25lc3MgdmFyKC0tZHVyYXRpb24tc2hvcnQpIGVhc2U7XG59XG5cbi5tZWdhLW5hdl9fY29udHJvbDpob3ZlciAuaGVhZGVyX19hY3RpdmUtbWVudS1pdGVtIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC41cmVtO1xuICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAwLjJyZW07XG59XG5cbi5oZWFkZXJfX21lbnUtaXRlbTpob3ZlciAuaGVhZGVyX19hY3RpdmUtbWVudS1pdGVtIHtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC4ycmVtO1xufVxuXG4ubWVnYS1uYXZfX2NvbnRyb2w6aG92ZXIgc3BhbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuNXJlbTtcbn1cblxuLm1lZ2EtbmF2X19jb250cm9sIHNwYW4ge1xuICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24gdmFyKC0tZHVyYXRpb24tc2hvcnQpIGVhc2U7XG59XG5cbi5tZWdhLW5hdi0tZGVza3RvcCAubWVnYS1uYXZfX3N1Yi1uYXYge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm1lZ2EtbmF2LS1kZXNrdG9wIC5tZWdhLW5hdl9faXRlbS0tZXhwYW5kZWQgLm1lZ2EtbmF2X19zdWItbmF2LXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm1lZ2EtbmF2LS1kZXNrdG9wIC5tZWdhLW5hdl9faXRlbS0tZXhwYW5kZWQgLm1lZ2EtbmF2X19zdWItbmF2IHtcbiAgLXdlYmtpdC1hbmltYXRpb246IG1lZ2EtbmF2LWVudHJ5LWFuaW1hdGlvbiAwLjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICBhbmltYXRpb246IG1lZ2EtbmF2LWVudHJ5LWFuaW1hdGlvbiAwLjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4ubWVnYS1uYXYtLWRlc2t0b3AgLm1lZ2EtbmF2X19pY29uLWJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLm1lZ2EtbmF2LS1kZXNrdG9wIC5tZWdhLW5hdl9faWNvbi1idG46aG92ZXIsXG4ubWVnYS1uYXYtLWRlc2t0b3AgLm1lZ2EtbmF2X19pY29uLWJ0bi0tc3RhdGUtYiB7XG4gIEBhcHBseSBiZy1ncmF5LTkwMC81O1xufVxuXG4ubWVudS1saW5rLS1jYXBzIHtcbiAgZm9udC1zaXplOiAwLjhlbSAhaW1wb3J0YW50O1xufVxuXG4vKiBhbmltYXRpb25zICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbWVnYS1uYXYtZW50cnktYW5pbWF0aW9uIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZWdhLW5hdi1lbnRyeS1hbmltYXRpb24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/