@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=Syne:wght@700;800&family=JetBrains+Mono:wght@400;500&display=swap";

/* src/index.css */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root,
  :host {
    --font-sans:
      "Plus Jakarta Sans",
      ui-sans-serif,
      system-ui,
      sans-serif;
    --font-serif:
      "Playfair Display",
      ui-serif,
      Georgia,
      serif;
    --font-mono:
      "JetBrains Mono",
      ui-monospace,
      SFMono-Regular,
      monospace;
    --color-red-50: oklch(97.1% 0.013 17.38);
    --color-red-100: oklch(93.6% 0.032 17.717);
    --color-red-200: oklch(88.5% 0.062 18.334);
    --color-red-700: oklch(50.5% 0.213 27.518);
    --color-red-900: oklch(39.6% 0.141 25.723);
    --color-red-950: oklch(25.8% 0.092 26.042);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-7xl: 80rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-tight: -0.025em;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --blur-md: 12px;
    --blur-xl: 24px;
    --blur-3xl: 64px;
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-brand-green-950: #0d1e13;
    --color-brand-green-900: #122c1b;
    --color-brand-green-800: #193c25;
    --color-brand-green-700: #214f31;
    --color-brand-green-500: #347c4c;
    --color-brand-green-400: #449c63;
    --color-brand-green-200: #a3d9b6;
    --color-brand-green-100: #dff5e8;
    --color-brand-green-50: #f0faf4;
    --color-brand-beige-900: #2d261a;
    --color-brand-beige-800: #423826;
    --color-brand-beige-700: #5c4f37;
    --color-brand-beige-600: #7c6b4b;
    --color-brand-beige-500: #9e8c67;
    --color-brand-beige-400: #c2b18c;
    --color-brand-beige-300: #e3d7b8;
    --color-brand-beige-200: #f4edd9;
    --color-brand-beige-100: #faf7ef;
    --color-brand-beige-50: #fdfbf8;
    --color-brand-sunset-600: #c25219;
    --color-brand-sunset-500: #db6020;
    --color-brand-sunset-400: #ea814c;
    --color-brand-sunset-300: #f0a078;
    --color-brand-sunset-100: #fce8dd;
  }
}
@layer base {
  *,
  ::after,
  ::before,
  ::backdrop,
  ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html,
  :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp,
  pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol,
  ul,
  menu {
    list-style: none;
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    display: block;
    vertical-align: middle;
  }
  img,
  video {
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  select,
  optgroup,
  textarea,
  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::-moz-placeholder {
    opacity: 1;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
    ::-moz-placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit,
  ::-webkit-datetime-edit-year-field,
  ::-webkit-datetime-edit-month-field,
  ::-webkit-datetime-edit-day-field,
  ::-webkit-datetime-edit-hour-field,
  ::-webkit-datetime-edit-minute-field,
  ::-webkit-datetime-edit-second-field,
  ::-webkit-datetime-edit-millisecond-field,
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button,
  input:where([type=button], [type=reset], [type=submit]),
  ::file-selector-button {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
  }
  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden=until-found])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .inset-4 {
    inset: calc(var(--spacing) * 4);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1\/2 {
    top: calc(1 / 2 * 100%);
  }
  .top-3\.5 {
    top: calc(var(--spacing) * 3.5);
  }
  .top-4 {
    top: calc(var(--spacing) * 4);
  }
  .top-28 {
    top: calc(var(--spacing) * 28);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .right-4 {
    right: calc(var(--spacing) * 4);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .bottom-1 {
    bottom: calc(var(--spacing) * 1);
  }
  .bottom-6 {
    bottom: calc(var(--spacing) * 6);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-3 {
    left: calc(var(--spacing) * 3);
  }
  .left-4 {
    left: calc(var(--spacing) * 4);
  }
  .left-6 {
    left: calc(var(--spacing) * 6);
  }
  .z-0 {
    z-index: 0;
  }
  .z-10 {
    z-index: 10;
  }
  .z-50 {
    z-index: 50;
  }
  .col-span-2 {
    grid-column: span 2 / span 2;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .m-4 {
    margin: calc(var(--spacing) * 4);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }
  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }
  .mt-20 {
    margin-top: calc(var(--spacing) * 20);
  }
  .mt-auto {
    margin-top: auto;
  }
  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .mb-14 {
    margin-bottom: calc(var(--spacing) * 14);
  }
  .mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-1\.5 {
    margin-left: calc(var(--spacing) * 1.5);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-auto {
    margin-left: auto;
  }
  .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .aspect-\[4\/3\] {
    aspect-ratio: 4/3;
  }
  .aspect-square {
    aspect-ratio: 1 / 1;
  }
  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }
  .h-1 {
    height: calc(var(--spacing) * 1);
  }
  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-14 {
    height: calc(var(--spacing) * 14);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-20 {
    height: calc(var(--spacing) * 20);
  }
  .h-52 {
    height: calc(var(--spacing) * 52);
  }
  .h-64 {
    height: calc(var(--spacing) * 64);
  }
  .h-72 {
    height: calc(var(--spacing) * 72);
  }
  .h-80 {
    height: calc(var(--spacing) * 80);
  }
  .h-\[2\.5px\] {
    height: 2.5px;
  }
  .h-\[18px\] {
    height: 18px;
  }
  .h-full {
    height: 100%;
  }
  .max-h-\[460px\] {
    max-height: 460px;
  }
  .min-h-\[50vh\] {
    min-height: 50vh;
  }
  .min-h-\[90vh\] {
    min-height: 90vh;
  }
  .min-h-\[220px\] {
    min-height: 220px;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-20 {
    width: calc(var(--spacing) * 20);
  }
  .w-24 {
    width: calc(var(--spacing) * 24);
  }
  .w-32 {
    width: calc(var(--spacing) * 32);
  }
  .w-80 {
    width: calc(var(--spacing) * 80);
  }
  .w-\[18px\] {
    width: 18px;
  }
  .w-auto {
    width: auto;
  }
  .w-full {
    width: 100%;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-7xl {
    max-width: var(--container-7xl);
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-none {
    max-width: none;
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .flex-1 {
    flex: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .flex-grow {
    flex-grow: 1;
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-0\.5 {
    --tw-translate-y: calc(var(--spacing) * 0.5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .scale-105 {
    --tw-scale-x: 105%;
    --tw-scale-y: 105%;
    --tw-scale-z: 105%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .scale-110 {
    --tw-scale-x: 110%;
    --tw-scale-y: 110%;
    --tw-scale-z: 110%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .-rotate-2 {
    rotate: calc(2deg * -1);
  }
  .rotate-3 {
    rotate: 3deg;
  }
  .rotate-180 {
    rotate: 180deg;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-pulse {
    animation: var(--animate-pulse);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize-none {
    resize: none;
  }
  .scroll-mt-24 {
    scroll-margin-top: calc(var(--spacing) * 24);
  }
  .list-disc {
    list-style-type: disc;
  }
  .list-none {
    list-style-type: none;
  }
  .appearance-none {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  .space-y-0\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-4 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-6 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-8 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-10 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-16 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-20 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 20) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 20) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-24 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 24) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 24) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-x-0\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .space-x-1 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .space-x-1\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .space-x-2 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .space-x-3 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .space-x-3\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 3.5) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 3.5) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .space-x-4 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .space-x-6 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-\[6px\] {
    border-style: var(--tw-border-style);
    border-width: 6px;
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }
  .border-l-8 {
    border-left-style: var(--tw-border-style);
    border-left-width: 8px;
  }
  .border-brand-beige-100 {
    border-color: var(--color-brand-beige-100);
  }
  .border-brand-beige-200 {
    border-color: var(--color-brand-beige-200);
  }
  .border-brand-beige-200\/20 {
    border-color: color-mix(in srgb, #f4edd9 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-beige-200) 20%, transparent);
    }
  }
  .border-brand-beige-200\/30 {
    border-color: color-mix(in srgb, #f4edd9 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-beige-200) 30%, transparent);
    }
  }
  .border-brand-beige-200\/40 {
    border-color: color-mix(in srgb, #f4edd9 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-beige-200) 40%, transparent);
    }
  }
  .border-brand-beige-200\/50 {
    border-color: color-mix(in srgb, #f4edd9 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-beige-200) 50%, transparent);
    }
  }
  .border-brand-beige-200\/60 {
    border-color: color-mix(in srgb, #f4edd9 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-beige-200) 60%, transparent);
    }
  }
  .border-brand-beige-300 {
    border-color: var(--color-brand-beige-300);
  }
  .border-brand-green-200 {
    border-color: var(--color-brand-green-200);
  }
  .border-brand-green-800 {
    border-color: var(--color-brand-green-800);
  }
  .border-brand-green-800\/40 {
    border-color: color-mix(in srgb, #193c25 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-green-800) 40%, transparent);
    }
  }
  .border-brand-green-800\/60 {
    border-color: color-mix(in srgb, #193c25 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-green-800) 60%, transparent);
    }
  }
  .border-brand-green-800\/80 {
    border-color: color-mix(in srgb, #193c25 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-green-800) 80%, transparent);
    }
  }
  .border-brand-green-900 {
    border-color: var(--color-brand-green-900);
  }
  .border-brand-green-900\/30 {
    border-color: color-mix(in srgb, #122c1b 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-green-900) 30%, transparent);
    }
  }
  .border-brand-green-900\/40 {
    border-color: color-mix(in srgb, #122c1b 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-green-900) 40%, transparent);
    }
  }
  .border-brand-green-900\/50 {
    border-color: color-mix(in srgb, #122c1b 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-green-900) 50%, transparent);
    }
  }
  .border-brand-green-950 {
    border-color: var(--color-brand-green-950);
  }
  .border-brand-sunset-500 {
    border-color: var(--color-brand-sunset-500);
  }
  .border-brand-sunset-500\/20 {
    border-color: color-mix(in srgb, #db6020 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-sunset-500) 20%, transparent);
    }
  }
  .border-brand-sunset-500\/30 {
    border-color: color-mix(in srgb, #db6020 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-sunset-500) 30%, transparent);
    }
  }
  .border-red-200 {
    border-color: var(--color-red-200);
  }
  .border-t-transparent {
    border-top-color: transparent;
  }
  .bg-black {
    background-color: var(--color-black);
  }
  .bg-black\/25 {
    background-color: color-mix(in srgb, #000 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 25%, transparent);
    }
  }
  .bg-black\/40 {
    background-color: color-mix(in srgb, #000 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
    }
  }
  .bg-brand-beige-50 {
    background-color: var(--color-brand-beige-50);
  }
  .bg-brand-beige-50\/50 {
    background-color: color-mix(in srgb, #fdfbf8 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-beige-50) 50%, transparent);
    }
  }
  .bg-brand-beige-100 {
    background-color: var(--color-brand-beige-100);
  }
  .bg-brand-beige-100\/30 {
    background-color: color-mix(in srgb, #faf7ef 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-beige-100) 30%, transparent);
    }
  }
  .bg-brand-beige-100\/50 {
    background-color: color-mix(in srgb, #faf7ef 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-beige-100) 50%, transparent);
    }
  }
  .bg-brand-beige-200 {
    background-color: var(--color-brand-beige-200);
  }
  .bg-brand-beige-300\/30 {
    background-color: color-mix(in srgb, #e3d7b8 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-beige-300) 30%, transparent);
    }
  }
  .bg-brand-green-100 {
    background-color: var(--color-brand-green-100);
  }
  .bg-brand-green-100\/30 {
    background-color: color-mix(in srgb, #dff5e8 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-green-100) 30%, transparent);
    }
  }
  .bg-brand-green-100\/50 {
    background-color: color-mix(in srgb, #dff5e8 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-green-100) 50%, transparent);
    }
  }
  .bg-brand-green-100\/80 {
    background-color: color-mix(in srgb, #dff5e8 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-green-100) 80%, transparent);
    }
  }
  .bg-brand-green-500\/10 {
    background-color: color-mix(in srgb, #347c4c 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-green-500) 10%, transparent);
    }
  }
  .bg-brand-green-900 {
    background-color: var(--color-brand-green-900);
  }
  .bg-brand-green-900\/40 {
    background-color: color-mix(in srgb, #122c1b 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-green-900) 40%, transparent);
    }
  }
  .bg-brand-green-900\/50 {
    background-color: color-mix(in srgb, #122c1b 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-green-900) 50%, transparent);
    }
  }
  .bg-brand-green-950 {
    background-color: var(--color-brand-green-950);
  }
  .bg-brand-green-950\/50 {
    background-color: color-mix(in srgb, #0d1e13 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-green-950) 50%, transparent);
    }
  }
  .bg-brand-green-950\/75 {
    background-color: color-mix(in srgb, #0d1e13 75%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-green-950) 75%, transparent);
    }
  }
  .bg-brand-sunset-500 {
    background-color: var(--color-brand-sunset-500);
  }
  .bg-brand-sunset-500\/10 {
    background-color: color-mix(in srgb, #db6020 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-sunset-500) 10%, transparent);
    }
  }
  .bg-brand-sunset-500\/15 {
    background-color: color-mix(in srgb, #db6020 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-brand-sunset-500) 15%, transparent);
    }
  }
  .bg-red-50 {
    background-color: var(--color-red-50);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/95 {
    background-color: color-mix(in srgb, #fff 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }
  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-t {
    --tw-gradient-position: to top in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-black\/60 {
    --tw-gradient-from: color-mix(in srgb, #000 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-brand-beige-50 {
    --tw-gradient-from: var(--color-brand-beige-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-brand-beige-100 {
    --tw-gradient-from: var(--color-brand-beige-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-brand-green-950\/95 {
    --tw-gradient-from: color-mix(in srgb, #0d1e13 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-from: color-mix(in oklab, var(--color-brand-green-950) 95%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .via-brand-green-950\/45 {
    --tw-gradient-via: color-mix(in srgb, #0d1e13 45%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-via: color-mix(in oklab, var(--color-brand-green-950) 45%, transparent);
    }
    --tw-gradient-via-stops:
      var(--tw-gradient-position),
      var(--tw-gradient-from) var(--tw-gradient-from-position),
      var(--tw-gradient-via) var(--tw-gradient-via-position),
      var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-brand-green-950\/50 {
    --tw-gradient-via: color-mix(in srgb, #0d1e13 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-via: color-mix(in oklab, var(--color-brand-green-950) 50%, transparent);
    }
    --tw-gradient-via-stops:
      var(--tw-gradient-position),
      var(--tw-gradient-from) var(--tw-gradient-from-position),
      var(--tw-gradient-via) var(--tw-gradient-via-position),
      var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .to-black\/60 {
    --tw-gradient-to: color-mix(in srgb, #000 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-to: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-brand-beige-200 {
    --tw-gradient-to: var(--color-brand-beige-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-brand-green-950\/15 {
    --tw-gradient-to: color-mix(in srgb, #0d1e13 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-to: color-mix(in oklab, var(--color-brand-green-950) 15%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .fill-brand-sunset-500 {
    fill: var(--color-brand-sunset-500);
  }
  .fill-current {
    fill: currentcolor;
  }
  .object-contain {
    -o-object-fit: contain;
    object-fit: contain;
  }
  .object-cover {
    -o-object-fit: cover;
    object-fit: cover;
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
  .py-24 {
    padding-block: calc(var(--spacing) * 24);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pt-16 {
    padding-top: calc(var(--spacing) * 16);
  }
  .pt-28 {
    padding-top: calc(var(--spacing) * 28);
  }
  .pr-1 {
    padding-right: calc(var(--spacing) * 1);
  }
  .pr-4 {
    padding-right: calc(var(--spacing) * 4);
  }
  .pb-1\.5 {
    padding-bottom: calc(var(--spacing) * 1.5);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }
  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }
  .pb-24 {
    padding-bottom: calc(var(--spacing) * 24);
  }
  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }
  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }
  .pl-11 {
    padding-left: calc(var(--spacing) * 11);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .font-sans {
    font-family: var(--font-sans);
  }
  .font-serif {
    font-family: var(--font-serif);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[9px\] {
    font-size: 9px;
  }
  .text-\[10px\] {
    font-size: 10px;
  }
  .text-\[11px\] {
    font-size: 11px;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }
  .font-light {
    --tw-font-weight: var(--font-weight-light);
    font-weight: var(--font-weight-light);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-\[0\.2em\] {
    --tw-tracking: 0.2em;
    letter-spacing: 0.2em;
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .text-brand-beige-50 {
    color: var(--color-brand-beige-50);
  }
  .text-brand-beige-100 {
    color: var(--color-brand-beige-100);
  }
  .text-brand-beige-100\/90 {
    color: color-mix(in srgb, #faf7ef 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-brand-beige-100) 90%, transparent);
    }
  }
  .text-brand-beige-200 {
    color: var(--color-brand-beige-200);
  }
  .text-brand-beige-300 {
    color: var(--color-brand-beige-300);
  }
  .text-brand-beige-400 {
    color: var(--color-brand-beige-400);
  }
  .text-brand-beige-500 {
    color: var(--color-brand-beige-500);
  }
  .text-brand-beige-600 {
    color: var(--color-brand-beige-600);
  }
  .text-brand-beige-700 {
    color: var(--color-brand-beige-700);
  }
  .text-brand-beige-800 {
    color: var(--color-brand-beige-800);
  }
  .text-brand-beige-900 {
    color: var(--color-brand-beige-900);
  }
  .text-brand-green-400 {
    color: var(--color-brand-green-400);
  }
  .text-brand-green-700 {
    color: var(--color-brand-green-700);
  }
  .text-brand-green-800 {
    color: var(--color-brand-green-800);
  }
  .text-brand-green-900 {
    color: var(--color-brand-green-900);
  }
  .text-brand-green-900\/60 {
    color: color-mix(in srgb, #122c1b 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-brand-green-900) 60%, transparent);
    }
  }
  .text-brand-green-950 {
    color: var(--color-brand-green-950);
  }
  .text-brand-sunset-300 {
    color: var(--color-brand-sunset-300);
  }
  .text-brand-sunset-400 {
    color: var(--color-brand-sunset-400);
  }
  .text-brand-sunset-500 {
    color: var(--color-brand-sunset-500);
  }
  .text-brand-sunset-600 {
    color: var(--color-brand-sunset-600);
  }
  .text-red-900 {
    color: var(--color-red-900);
  }
  .text-white {
    color: var(--color-white);
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .underline {
    text-decoration-line: underline;
  }
  .placeholder-brand-beige-400 {
    &::-moz-placeholder {
      color: var(--color-brand-beige-400);
    }
    &::placeholder {
      color: var(--color-brand-beige-400);
    }
  }
  .placeholder-brand-green-700 {
    &::-moz-placeholder {
      color: var(--color-brand-green-700);
    }
    &::placeholder {
      color: var(--color-brand-green-700);
    }
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-50 {
    opacity: 50%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-80 {
    opacity: 80%;
  }
  .opacity-\[0\.03\] {
    opacity: 0.03;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow:
      var(--tw-inset-shadow),
      var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow),
      var(--tw-ring-shadow),
      var(--tw-shadow);
  }
  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow:
      var(--tw-inset-shadow),
      var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow),
      var(--tw-ring-shadow),
      var(--tw-shadow);
  }
  .shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
    box-shadow:
      var(--tw-inset-shadow),
      var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow),
      var(--tw-ring-shadow),
      var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow:
      var(--tw-inset-shadow),
      var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow),
      var(--tw-ring-shadow),
      var(--tw-shadow);
  }
  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow:
      var(--tw-inset-shadow),
      var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow),
      var(--tw-ring-shadow),
      var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow:
      var(--tw-inset-shadow),
      var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow),
      var(--tw-ring-shadow),
      var(--tw-shadow);
  }
  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow:
      var(--tw-inset-shadow),
      var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow),
      var(--tw-ring-shadow),
      var(--tw-shadow);
  }
  .ring-2 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow:
      var(--tw-inset-shadow),
      var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow),
      var(--tw-ring-shadow),
      var(--tw-shadow);
  }
  .shadow-brand-sunset-500\/5 {
    --tw-shadow-color: color-mix(in srgb, #db6020 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-brand-sunset-500) 5%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .ring-brand-sunset-500\/30 {
    --tw-ring-color: color-mix(in srgb, #db6020 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-brand-sunset-500) 30%, transparent);
    }
  }
  .blur-3xl {
    --tw-blur: blur(var(--blur-3xl));
    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,);
  }
  .blur-xl {
    --tw-blur: blur(var(--blur-xl));
    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,);
  }
  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property:
      color,
      background-color,
      border-color,
      outline-color,
      text-decoration-color,
      fill,
      stroke,
      --tw-gradient-from,
      --tw-gradient-via,
      --tw-gradient-to,
      opacity,
      box-shadow,
      transform,
      translate,
      scale,
      rotate,
      filter,
      backdrop-filter,
      display,
      content-visibility,
      overlay,
      pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property:
      color,
      background-color,
      border-color,
      outline-color,
      text-decoration-color,
      fill,
      stroke,
      --tw-gradient-from,
      --tw-gradient-via,
      --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property:
      transform,
      translate,
      scale,
      rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .duration-250 {
    --tw-duration: 250ms;
    transition-duration: 250ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .duration-500 {
    --tw-duration: 500ms;
    transition-duration: 500ms;
  }
  .select-none {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }
  .group-open\:rotate-180 {
    &:is(:where(.group):is([open], :popover-open, :open) *) {
      rotate: 180deg;
    }
  }
  .group-hover\:-translate-x-1 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-translate-x: calc(var(--spacing) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .group-hover\:translate-x-0\.5 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-translate-x: calc(var(--spacing) * 0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .group-hover\:translate-x-1 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-translate-x: calc(var(--spacing) * 1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .group-hover\:-translate-y-0\.5 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .group-hover\:scale-103 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-scale-x: 103%;
        --tw-scale-y: 103%;
        --tw-scale-z: 103%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .group-hover\:scale-105 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .group-hover\:scale-110 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-scale-x: 110%;
        --tw-scale-y: 110%;
        --tw-scale-z: 110%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .group-hover\:rotate-0 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        rotate: 0deg;
      }
    }
  }
  .group-hover\:rotate-1 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        rotate: 1deg;
      }
    }
  }
  .group-hover\:bg-brand-sunset-100 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: var(--color-brand-sunset-100);
      }
    }
  }
  .group-hover\:text-brand-beige-50 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-brand-beige-50);
      }
    }
  }
  .group-hover\:text-brand-sunset-400 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-brand-sunset-400);
      }
    }
  }
  .group-hover\:text-brand-sunset-600 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-brand-sunset-600);
      }
    }
  }
  .group-hover\:opacity-85 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        opacity: 85%;
      }
    }
  }
  .group-hover\:opacity-100 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .group-hover\/gallery\:opacity-100 {
    &:is(:where(.group\/gallery):hover *) {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .last\:border-0 {
    &:last-child {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }
  .last\:pb-0 {
    &:last-child {
      padding-bottom: calc(var(--spacing) * 0);
    }
  }
  .first-of-type\:font-normal {
    &:first-of-type {
      --tw-font-weight: var(--font-weight-normal);
      font-weight: var(--font-weight-normal);
    }
  }
  .first-of-type\:text-brand-green-950 {
    &:first-of-type {
      color: var(--color-brand-green-950);
    }
  }
  .hover\:border-brand-green-800 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-brand-green-800);
      }
    }
  }
  .hover\:border-brand-green-900 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-brand-green-900);
      }
    }
  }
  .hover\:border-brand-sunset-400 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-brand-sunset-400);
      }
    }
  }
  .hover\:border-brand-sunset-400\/30 {
    &:hover {
      @media (hover: hover) {
        border-color: color-mix(in srgb, #ea814c 30%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--color-brand-sunset-400) 30%, transparent);
        }
      }
    }
  }
  .hover\:border-brand-sunset-400\/50 {
    &:hover {
      @media (hover: hover) {
        border-color: color-mix(in srgb, #ea814c 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--color-brand-sunset-400) 50%, transparent);
        }
      }
    }
  }
  .hover\:bg-brand-beige-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-brand-beige-100);
      }
    }
  }
  .hover\:bg-brand-beige-100\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #faf7ef 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-brand-beige-100) 50%, transparent);
        }
      }
    }
  }
  .hover\:bg-brand-beige-200\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #f4edd9 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-brand-beige-200) 50%, transparent);
        }
      }
    }
  }
  .hover\:bg-brand-green-50\/30 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #f0faf4 30%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-brand-green-50) 30%, transparent);
        }
      }
    }
  }
  .hover\:bg-brand-green-50\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #f0faf4 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-brand-green-50) 50%, transparent);
        }
      }
    }
  }
  .hover\:bg-brand-green-800 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-brand-green-800);
      }
    }
  }
  .hover\:bg-brand-green-900\/20 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #122c1b 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-brand-green-900) 20%, transparent);
        }
      }
    }
  }
  .hover\:bg-brand-green-950 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-brand-green-950);
      }
    }
  }
  .hover\:bg-brand-sunset-500\/15 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #db6020 15%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-brand-sunset-500) 15%, transparent);
        }
      }
    }
  }
  .hover\:bg-brand-sunset-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-brand-sunset-600);
      }
    }
  }
  .hover\:bg-white\/10 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 10%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
        }
      }
    }
  }
  .hover\:text-brand-beige-50 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-brand-beige-50);
      }
    }
  }
  .hover\:text-brand-green-800 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-brand-green-800);
      }
    }
  }
  .hover\:text-brand-green-900 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-brand-green-900);
      }
    }
  }
  .hover\:text-brand-sunset-300 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-brand-sunset-300);
      }
    }
  }
  .hover\:text-brand-sunset-400 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-brand-sunset-400);
      }
    }
  }
  .hover\:text-brand-sunset-500 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-brand-sunset-500);
      }
    }
  }
  .hover\:text-brand-sunset-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-brand-sunset-600);
      }
    }
  }
  .hover\:text-red-700 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-700);
      }
    }
  }
  .hover\:opacity-100 {
    &:hover {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .hover\:shadow-\[0_0_20px_rgba\(219\,96\,32\,0\.15\)\] {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 0 20px var(--tw-shadow-color, rgba(219,96,32,0.15));
        box-shadow:
          var(--tw-inset-shadow),
          var(--tw-inset-ring-shadow),
          var(--tw-ring-offset-shadow),
          var(--tw-ring-shadow),
          var(--tw-shadow);
      }
    }
  }
  .hover\:shadow-lg {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow:
          var(--tw-inset-shadow),
          var(--tw-inset-ring-shadow),
          var(--tw-ring-offset-shadow),
          var(--tw-ring-shadow),
          var(--tw-shadow);
      }
    }
  }
  .hover\:shadow-md {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow:
          var(--tw-inset-shadow),
          var(--tw-inset-ring-shadow),
          var(--tw-ring-offset-shadow),
          var(--tw-ring-shadow),
          var(--tw-shadow);
      }
    }
  }
  .hover\:shadow-sm {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow:
          var(--tw-inset-shadow),
          var(--tw-inset-ring-shadow),
          var(--tw-ring-offset-shadow),
          var(--tw-ring-shadow),
          var(--tw-shadow);
      }
    }
  }
  .hover\:shadow-xl {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow:
          var(--tw-inset-shadow),
          var(--tw-inset-ring-shadow),
          var(--tw-ring-offset-shadow),
          var(--tw-ring-shadow),
          var(--tw-shadow);
      }
    }
  }
  .hover\:shadow-brand-sunset-500\/20 {
    &:hover {
      @media (hover: hover) {
        --tw-shadow-color: color-mix(in srgb, #db6020 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-brand-sunset-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
        }
      }
    }
  }
  .focus\:border-brand-green-700 {
    &:focus {
      border-color: var(--color-brand-green-700);
    }
  }
  .focus\:border-brand-green-800 {
    &:focus {
      border-color: var(--color-brand-green-800);
    }
  }
  .focus\:border-brand-sunset-500 {
    &:focus {
      border-color: var(--color-brand-sunset-500);
    }
  }
  .focus\:bg-brand-beige-100\/30 {
    &:focus {
      background-color: color-mix(in srgb, #faf7ef 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-beige-100) 30%, transparent);
      }
    }
  }
  .focus\:bg-brand-beige-200\/10 {
    &:focus {
      background-color: color-mix(in srgb, #f4edd9 10%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-beige-200) 10%, transparent);
      }
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .focus-visible\:opacity-100 {
    &:focus-visible {
      opacity: 100%;
    }
  }
  .focus-visible\:ring-2 {
    &:focus-visible {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow:
        var(--tw-inset-shadow),
        var(--tw-inset-ring-shadow),
        var(--tw-ring-offset-shadow),
        var(--tw-ring-shadow),
        var(--tw-shadow);
    }
  }
  .focus-visible\:ring-brand-sunset-500 {
    &:focus-visible {
      --tw-ring-color: var(--color-brand-sunset-500);
    }
  }
  .focus-visible\:ring-inset {
    &:focus-visible {
      --tw-ring-inset: inset;
    }
  }
  .active\:scale-95 {
    &:active {
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .active\:scale-98 {
    &:active {
      --tw-scale-x: 98%;
      --tw-scale-y: 98%;
      --tw-scale-z: 98%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .disabled\:opacity-50 {
    &:disabled {
      opacity: 50%;
    }
  }
  .disabled\:opacity-80 {
    &:disabled {
      opacity: 80%;
    }
  }
  .sm\:col-span-1 {
    @media (width >= 40rem) {
      grid-column: span 1 / span 1;
    }
  }
  .sm\:col-span-5 {
    @media (width >= 40rem) {
      grid-column: span 5 / span 5;
    }
  }
  .sm\:col-span-7 {
    @media (width >= 40rem) {
      grid-column: span 7 / span 7;
    }
  }
  .sm\:mt-3 {
    @media (width >= 40rem) {
      margin-top: calc(var(--spacing) * 3);
    }
  }
  .sm\:mt-16 {
    @media (width >= 40rem) {
      margin-top: calc(var(--spacing) * 16);
    }
  }
  .sm\:mt-24 {
    @media (width >= 40rem) {
      margin-top: calc(var(--spacing) * 24);
    }
  }
  .sm\:mb-3 {
    @media (width >= 40rem) {
      margin-bottom: calc(var(--spacing) * 3);
    }
  }
  .sm\:flex {
    @media (width >= 40rem) {
      display: flex;
    }
  }
  .sm\:h-12 {
    @media (width >= 40rem) {
      height: calc(var(--spacing) * 12);
    }
  }
  .sm\:h-56 {
    @media (width >= 40rem) {
      height: calc(var(--spacing) * 56);
    }
  }
  .sm\:h-80 {
    @media (width >= 40rem) {
      height: calc(var(--spacing) * 80);
    }
  }
  .sm\:h-96 {
    @media (width >= 40rem) {
      height: calc(var(--spacing) * 96);
    }
  }
  .sm\:h-\[420px\] {
    @media (width >= 40rem) {
      height: 420px;
    }
  }
  .sm\:min-h-\[260px\] {
    @media (width >= 40rem) {
      min-height: 260px;
    }
  }
  .sm\:w-auto {
    @media (width >= 40rem) {
      width: auto;
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-12 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:items-center {
    @media (width >= 40rem) {
      align-items: center;
    }
  }
  .sm\:gap-6 {
    @media (width >= 40rem) {
      gap: calc(var(--spacing) * 6);
    }
  }
  .sm\:border-t-0 {
    @media (width >= 40rem) {
      border-top-style: var(--tw-border-style);
      border-top-width: 0px;
    }
  }
  .sm\:border-l {
    @media (width >= 40rem) {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }
  }
  .sm\:p-8 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .sm\:p-10 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 10);
    }
  }
  .sm\:p-12 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 12);
    }
  }
  .sm\:px-6 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  .sm\:pt-0 {
    @media (width >= 40rem) {
      padding-top: calc(var(--spacing) * 0);
    }
  }
  .sm\:pt-10 {
    @media (width >= 40rem) {
      padding-top: calc(var(--spacing) * 10);
    }
  }
  .sm\:pt-36 {
    @media (width >= 40rem) {
      padding-top: calc(var(--spacing) * 36);
    }
  }
  .sm\:pl-6 {
    @media (width >= 40rem) {
      padding-left: calc(var(--spacing) * 6);
    }
  }
  .sm\:text-3xl {
    @media (width >= 40rem) {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
  }
  .sm\:text-4xl {
    @media (width >= 40rem) {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
  .sm\:text-5xl {
    @media (width >= 40rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  .sm\:text-base {
    @media (width >= 40rem) {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
  }
  .sm\:text-lg {
    @media (width >= 40rem) {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
  }
  .sm\:text-sm {
    @media (width >= 40rem) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .sm\:text-xs {
    @media (width >= 40rem) {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }
  }
  .md\:col-span-4 {
    @media (width >= 48rem) {
      grid-column: span 4 / span 4;
    }
  }
  .md\:col-span-8 {
    @media (width >= 48rem) {
      grid-column: span 8 / span 8;
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-12 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
  }
  .md\:flex-row {
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .md\:items-end {
    @media (width >= 48rem) {
      align-items: flex-end;
    }
  }
  .md\:text-right {
    @media (width >= 48rem) {
      text-align: right;
    }
  }
  .md\:text-6xl {
    @media (width >= 48rem) {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
  .md\:text-xl {
    @media (width >= 48rem) {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }
  }
  .lg\:col-span-4 {
    @media (width >= 64rem) {
      grid-column: span 4 / span 4;
    }
  }
  .lg\:col-span-5 {
    @media (width >= 64rem) {
      grid-column: span 5 / span 5;
    }
  }
  .lg\:col-span-6 {
    @media (width >= 64rem) {
      grid-column: span 6 / span 6;
    }
  }
  .lg\:col-span-7 {
    @media (width >= 64rem) {
      grid-column: span 7 / span 7;
    }
  }
  .lg\:col-span-8 {
    @media (width >= 64rem) {
      grid-column: span 8 / span 8;
    }
  }
  .lg\:flex {
    @media (width >= 64rem) {
      display: flex;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .lg\:grid-cols-2 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-4 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-12 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
  }
  .lg\:gap-12 {
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 12);
    }
  }
  .lg\:border-r {
    @media (width >= 64rem) {
      border-right-style: var(--tw-border-style);
      border-right-width: 1px;
    }
  }
  .lg\:border-b-0 {
    @media (width >= 64rem) {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 0px;
    }
  }
  .lg\:p-16 {
    @media (width >= 64rem) {
      padding: calc(var(--spacing) * 16);
    }
  }
  .lg\:px-8 {
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
  }
  .lg\:text-5xl {
    @media (width >= 64rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  .lg\:text-7xl {
    @media (width >= 64rem) {
      font-size: var(--text-7xl);
      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }
  }
  .dark\:border-brand-beige-200\/20 {
    &:where(.dark, .dark *) {
      border-color: color-mix(in srgb, #f4edd9 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-brand-beige-200) 20%, transparent);
      }
    }
  }
  .dark\:border-brand-beige-200\/30 {
    &:where(.dark, .dark *) {
      border-color: color-mix(in srgb, #f4edd9 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-brand-beige-200) 30%, transparent);
      }
    }
  }
  .dark\:border-brand-green-700 {
    &:where(.dark, .dark *) {
      border-color: var(--color-brand-green-700);
    }
  }
  .dark\:border-brand-green-800 {
    &:where(.dark, .dark *) {
      border-color: var(--color-brand-green-800);
    }
  }
  .dark\:border-brand-green-800\/60 {
    &:where(.dark, .dark *) {
      border-color: color-mix(in srgb, #193c25 60%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-brand-green-800) 60%, transparent);
      }
    }
  }
  .dark\:border-brand-green-900 {
    &:where(.dark, .dark *) {
      border-color: var(--color-brand-green-900);
    }
  }
  .dark\:border-brand-green-900\/40 {
    &:where(.dark, .dark *) {
      border-color: color-mix(in srgb, #122c1b 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-brand-green-900) 40%, transparent);
      }
    }
  }
  .dark\:border-brand-green-900\/55 {
    &:where(.dark, .dark *) {
      border-color: color-mix(in srgb, #122c1b 55%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-brand-green-900) 55%, transparent);
      }
    }
  }
  .dark\:border-brand-green-900\/60 {
    &:where(.dark, .dark *) {
      border-color: color-mix(in srgb, #122c1b 60%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-brand-green-900) 60%, transparent);
      }
    }
  }
  .dark\:border-brand-sunset-500\/40 {
    &:where(.dark, .dark *) {
      border-color: color-mix(in srgb, #db6020 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-brand-sunset-500) 40%, transparent);
      }
    }
  }
  .dark\:border-red-900\/50 {
    &:where(.dark, .dark *) {
      border-color: color-mix(in srgb, oklch(39.6% 0.141 25.723) 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-red-900) 50%, transparent);
      }
    }
  }
  .dark\:bg-brand-green-800 {
    &:where(.dark, .dark *) {
      background-color: var(--color-brand-green-800);
    }
  }
  .dark\:bg-brand-green-800\/80 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, #193c25 80%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-green-800) 80%, transparent);
      }
    }
  }
  .dark\:bg-brand-green-900 {
    &:where(.dark, .dark *) {
      background-color: var(--color-brand-green-900);
    }
  }
  .dark\:bg-brand-green-900\/35 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, #122c1b 35%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-green-900) 35%, transparent);
      }
    }
  }
  .dark\:bg-brand-green-900\/50 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, #122c1b 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-green-900) 50%, transparent);
      }
    }
  }
  .dark\:bg-brand-green-900\/60 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, #122c1b 60%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-green-900) 60%, transparent);
      }
    }
  }
  .dark\:bg-brand-green-900\/95 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, #122c1b 95%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-green-900) 95%, transparent);
      }
    }
  }
  .dark\:bg-brand-green-950 {
    &:where(.dark, .dark *) {
      background-color: var(--color-brand-green-950);
    }
  }
  .dark\:bg-brand-green-950\/30 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, #0d1e13 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-green-950) 30%, transparent);
      }
    }
  }
  .dark\:bg-brand-green-950\/50 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, #0d1e13 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-green-950) 50%, transparent);
      }
    }
  }
  .dark\:bg-brand-green-950\/95 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, #0d1e13 95%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-green-950) 95%, transparent);
      }
    }
  }
  .dark\:bg-brand-sunset-500 {
    &:where(.dark, .dark *) {
      background-color: var(--color-brand-sunset-500);
    }
  }
  .dark\:bg-red-950\/30 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(25.8% 0.092 26.042) 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-red-950) 30%, transparent);
      }
    }
  }
  .dark\:from-brand-green-950 {
    &:where(.dark, .dark *) {
      --tw-gradient-from: var(--color-brand-green-950);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
    }
  }
  .dark\:text-brand-beige-50 {
    &:where(.dark, .dark *) {
      color: var(--color-brand-beige-50);
    }
  }
  .dark\:text-brand-beige-100 {
    &:where(.dark, .dark *) {
      color: var(--color-brand-beige-100);
    }
  }
  .dark\:text-brand-beige-200 {
    &:where(.dark, .dark *) {
      color: var(--color-brand-beige-200);
    }
  }
  .dark\:text-brand-beige-300 {
    &:where(.dark, .dark *) {
      color: var(--color-brand-beige-300);
    }
  }
  .dark\:text-brand-beige-400 {
    &:where(.dark, .dark *) {
      color: var(--color-brand-beige-400);
    }
  }
  .dark\:text-brand-green-400 {
    &:where(.dark, .dark *) {
      color: var(--color-brand-green-400);
    }
  }
  .dark\:text-brand-green-500 {
    &:where(.dark, .dark *) {
      color: var(--color-brand-green-500);
    }
  }
  .dark\:text-brand-sunset-400 {
    &:where(.dark, .dark *) {
      color: var(--color-brand-sunset-400);
    }
  }
  .dark\:text-red-100 {
    &:where(.dark, .dark *) {
      color: var(--color-red-100);
    }
  }
  .dark\:placeholder-brand-green-500 {
    &:where(.dark, .dark *) {
      &::-moz-placeholder {
        color: var(--color-brand-green-500);
      }
      &::placeholder {
        color: var(--color-brand-green-500);
      }
    }
  }
  .dark\:opacity-60 {
    &:where(.dark, .dark *) {
      opacity: 60%;
    }
  }
  .dark\:shadow-black\/20 {
    &:where(.dark, .dark *) {
      --tw-shadow-color: color-mix(in srgb, #000 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }
  }
  .group-hover\:dark\:bg-brand-sunset-500\/20 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        &:where(.dark, .dark *) {
          background-color: color-mix(in srgb, #db6020 20%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-brand-sunset-500) 20%, transparent);
          }
        }
      }
    }
  }
  .dark\:first-of-type\:text-brand-beige-100 {
    &:where(.dark, .dark *) {
      &:first-of-type {
        color: var(--color-brand-beige-100);
      }
    }
  }
  .dark\:hover\:border-brand-beige-100 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          border-color: var(--color-brand-beige-100);
        }
      }
    }
  }
  .dark\:hover\:border-brand-sunset-500\/50 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          border-color: color-mix(in srgb, #db6020 50%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            border-color: color-mix(in oklab, var(--color-brand-sunset-500) 50%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-brand-green-700 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-brand-green-700);
        }
      }
    }
  }
  .dark\:hover\:bg-brand-green-800\/30 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, #193c25 30%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-brand-green-800) 30%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-brand-green-800\/40 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, #193c25 40%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-brand-green-800) 40%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-brand-green-900\/30 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, #122c1b 30%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-brand-green-900) 30%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-brand-green-900\/40 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, #122c1b 40%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-brand-green-900) 40%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-brand-sunset-600 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-brand-sunset-600);
        }
      }
    }
  }
  .dark\:hover\:text-brand-beige-50 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          color: var(--color-brand-beige-50);
        }
      }
    }
  }
  .dark\:hover\:text-brand-beige-100 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          color: var(--color-brand-beige-100);
        }
      }
    }
  }
  .dark\:hover\:text-brand-sunset-400 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          color: var(--color-brand-sunset-400);
        }
      }
    }
  }
  .dark\:hover\:text-red-200 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          color: var(--color-red-200);
        }
      }
    }
  }
  .dark\:focus\:border-brand-sunset-500 {
    &:where(.dark, .dark *) {
      &:focus {
        border-color: var(--color-brand-sunset-500);
      }
    }
  }
  .dark\:focus\:bg-brand-green-800\/30 {
    &:where(.dark, .dark *) {
      &:focus {
        background-color: color-mix(in srgb, #193c25 30%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-brand-green-800) 30%, transparent);
        }
      }
    }
  }
}
@layer utilities {
  .text-shadow-sm {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  }
  .text-shadow-md {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  }
  .scrollbar-hide::-webkit-scrollbar {
    display: none;
  }
  .scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
}
body {
  background-color: var(--color-brand-beige-50);
  color: var(--color-brand-green-950);
  font-family: var(--font-sans);
  overflow-x: hidden;
}
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--color-brand-beige-100);
}
::-webkit-scrollbar-thumb {
  background: var(--color-brand-beige-400);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--color-brand-beige-500);
}
@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-rotate-x { syntax: "*"; inherits: false; }
@property --tw-rotate-y { syntax: "*"; inherits: false; }
@property --tw-rotate-z { syntax: "*"; inherits: false; }
@property --tw-skew-x { syntax: "*"; inherits: false; }
@property --tw-skew-y { syntax: "*"; inherits: false; }
@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-gradient-position { syntax: "*"; inherits: false; }
@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }
@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }
@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }
@property --tw-gradient-stops { syntax: "*"; inherits: false; }
@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }
@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }
@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }
@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }
@property --tw-leading { syntax: "*"; inherits: false; }
@property --tw-font-weight { syntax: "*"; inherits: false; }
@property --tw-tracking { syntax: "*"; inherits: false; }
@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-shadow-color { syntax: "*"; inherits: false; }
@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }
@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-ring-color { syntax: "*"; inherits: false; }
@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-ring-color { syntax: "*"; inherits: false; }
@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-ring-inset { syntax: "*"; inherits: false; }
@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0px; }
@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-blur { syntax: "*"; inherits: false; }
@property --tw-brightness { syntax: "*"; inherits: false; }
@property --tw-contrast { syntax: "*"; inherits: false; }
@property --tw-grayscale { syntax: "*"; inherits: false; }
@property --tw-hue-rotate { syntax: "*"; inherits: false; }
@property --tw-invert { syntax: "*"; inherits: false; }
@property --tw-opacity { syntax: "*"; inherits: false; }
@property --tw-saturate { syntax: "*"; inherits: false; }
@property --tw-sepia { syntax: "*"; inherits: false; }
@property --tw-drop-shadow { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }
@property --tw-backdrop-blur { syntax: "*"; inherits: false; }
@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }
@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }
@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }
@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }
@property --tw-backdrop-invert { syntax: "*"; inherits: false; }
@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }
@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }
@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }
@property --tw-duration { syntax: "*"; inherits: false; }
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *,
    ::before,
    ::after,
    ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
    }
  }
}
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyohIHRhaWx3aW5kY3NzIHY0LjMuMCB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20gKi9cbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVBsYXlmYWlyK0Rpc3BsYXk6aXRhbCx3Z2h0QDAsNDAwOzAsNTAwOzAsNjAwOzAsNzAwOzEsNDAwJmZhbWlseT1QbHVzK0pha2FydGErU2Fuczp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDAmZmFtaWx5PVN5bmU6d2dodEA3MDA7ODAwJmZhbWlseT1KZXRCcmFpbnMrTW9ubzp3Z2h0QDQwMDs1MDAmZGlzcGxheT1zd2FwJyk7XG5AbGF5ZXIgcHJvcGVydGllcztcbkBsYXllciB0aGVtZSwgYmFzZSwgY29tcG9uZW50cywgdXRpbGl0aWVzO1xuQGxheWVyIHRoZW1lIHtcbiAgOnJvb3QsIDpob3N0IHtcbiAgICAtLWZvbnQtc2FuczogXCJQbHVzIEpha2FydGEgU2Fuc1wiLCB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LXNlcmlmOiBcIlBsYXlmYWlyIERpc3BsYXlcIiwgdWktc2VyaWYsIEdlb3JnaWEsIHNlcmlmO1xuICAgIC0tZm9udC1tb25vOiBcIkpldEJyYWlucyBNb25vXCIsIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIG1vbm9zcGFjZTtcbiAgICAtLWNvbG9yLXJlZC01MDogb2tsY2goOTcuMSUgMC4wMTMgMTcuMzgpO1xuICAgIC0tY29sb3ItcmVkLTEwMDogb2tsY2goOTMuNiUgMC4wMzIgMTcuNzE3KTtcbiAgICAtLWNvbG9yLXJlZC0yMDA6IG9rbGNoKDg4LjUlIDAuMDYyIDE4LjMzNCk7XG4gICAgLS1jb2xvci1yZWQtNzAwOiBva2xjaCg1MC41JSAwLjIxMyAyNy41MTgpO1xuICAgIC0tY29sb3ItcmVkLTkwMDogb2tsY2goMzkuNiUgMC4xNDEgMjUuNzIzKTtcbiAgICAtLWNvbG9yLXJlZC05NTA6IG9rbGNoKDI1LjglIDAuMDkyIDI2LjA0Mik7XG4gICAgLS1jb2xvci1ibGFjazogIzAwMDtcbiAgICAtLWNvbG9yLXdoaXRlOiAjZmZmO1xuICAgIC0tc3BhY2luZzogMC4yNXJlbTtcbiAgICAtLWNvbnRhaW5lci1zbTogMjRyZW07XG4gICAgLS1jb250YWluZXItbWQ6IDI4cmVtO1xuICAgIC0tY29udGFpbmVyLWxnOiAzMnJlbTtcbiAgICAtLWNvbnRhaW5lci14bDogMzZyZW07XG4gICAgLS1jb250YWluZXItMnhsOiA0MnJlbTtcbiAgICAtLWNvbnRhaW5lci0zeGw6IDQ4cmVtO1xuICAgIC0tY29udGFpbmVyLTR4bDogNTZyZW07XG4gICAgLS1jb250YWluZXItN3hsOiA4MHJlbTtcbiAgICAtLXRleHQteHM6IDAuNzVyZW07XG4gICAgLS10ZXh0LXhzLS1saW5lLWhlaWdodDogY2FsYygxIC8gMC43NSk7XG4gICAgLS10ZXh0LXNtOiAwLjg3NXJlbTtcbiAgICAtLXRleHQtc20tLWxpbmUtaGVpZ2h0OiBjYWxjKDEuMjUgLyAwLjg3NSk7XG4gICAgLS10ZXh0LWJhc2U6IDFyZW07XG4gICAgLS10ZXh0LWJhc2UtLWxpbmUtaGVpZ2h0OiBjYWxjKDEuNSAvIDEpO1xuICAgIC0tdGV4dC1sZzogMS4xMjVyZW07XG4gICAgLS10ZXh0LWxnLS1saW5lLWhlaWdodDogY2FsYygxLjc1IC8gMS4xMjUpO1xuICAgIC0tdGV4dC14bDogMS4yNXJlbTtcbiAgICAtLXRleHQteGwtLWxpbmUtaGVpZ2h0OiBjYWxjKDEuNzUgLyAxLjI1KTtcbiAgICAtLXRleHQtMnhsOiAxLjVyZW07XG4gICAgLS10ZXh0LTJ4bC0tbGluZS1oZWlnaHQ6IGNhbGMoMiAvIDEuNSk7XG4gICAgLS10ZXh0LTN4bDogMS44NzVyZW07XG4gICAgLS10ZXh0LTN4bC0tbGluZS1oZWlnaHQ6IGNhbGMoMi4yNSAvIDEuODc1KTtcbiAgICAtLXRleHQtNHhsOiAyLjI1cmVtO1xuICAgIC0tdGV4dC00eGwtLWxpbmUtaGVpZ2h0OiBjYWxjKDIuNSAvIDIuMjUpO1xuICAgIC0tdGV4dC01eGw6IDNyZW07XG4gICAgLS10ZXh0LTV4bC0tbGluZS1oZWlnaHQ6IDE7XG4gICAgLS10ZXh0LTZ4bDogMy43NXJlbTtcbiAgICAtLXRleHQtNnhsLS1saW5lLWhlaWdodDogMTtcbiAgICAtLXRleHQtN3hsOiA0LjVyZW07XG4gICAgLS10ZXh0LTd4bC0tbGluZS1oZWlnaHQ6IDE7XG4gICAgLS1mb250LXdlaWdodC1saWdodDogMzAwO1xuICAgIC0tZm9udC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4gICAgLS1mb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LXNlbWlib2xkOiA2MDA7XG4gICAgLS1mb250LXdlaWdodC1ib2xkOiA3MDA7XG4gICAgLS1mb250LXdlaWdodC1leHRyYWJvbGQ6IDgwMDtcbiAgICAtLXRyYWNraW5nLXRpZ2h0OiAtMC4wMjVlbTtcbiAgICAtLXRyYWNraW5nLXdpZGU6IDAuMDI1ZW07XG4gICAgLS10cmFja2luZy13aWRlcjogMC4wNWVtO1xuICAgIC0tdHJhY2tpbmctd2lkZXN0OiAwLjFlbTtcbiAgICAtLWxlYWRpbmctdGlnaHQ6IDEuMjU7XG4gICAgLS1sZWFkaW5nLXNudWc6IDEuMzc1O1xuICAgIC0tbGVhZGluZy1yZWxheGVkOiAxLjYyNTtcbiAgICAtLXJhZGl1cy1sZzogMC41cmVtO1xuICAgIC0tcmFkaXVzLXhsOiAwLjc1cmVtO1xuICAgIC0tcmFkaXVzLTJ4bDogMXJlbTtcbiAgICAtLXJhZGl1cy0zeGw6IDEuNXJlbTtcbiAgICAtLWFuaW1hdGUtc3Bpbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLS1hbmltYXRlLXB1bHNlOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICAgIC0tYmx1ci1tZDogMTJweDtcbiAgICAtLWJsdXIteGw6IDI0cHg7XG4gICAgLS1ibHVyLTN4bDogNjRweDtcbiAgICAtLWFzcGVjdC12aWRlbzogMTYgLyA5O1xuICAgIC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcbiAgICAtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgLS1kZWZhdWx0LWZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpO1xuICAgIC0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgIC0tY29sb3ItYnJhbmQtZ3JlZW4tOTUwOiAjMGQxZTEzO1xuICAgIC0tY29sb3ItYnJhbmQtZ3JlZW4tOTAwOiAjMTIyYzFiO1xuICAgIC0tY29sb3ItYnJhbmQtZ3JlZW4tODAwOiAjMTkzYzI1O1xuICAgIC0tY29sb3ItYnJhbmQtZ3JlZW4tNzAwOiAjMjE0ZjMxO1xuICAgIC0tY29sb3ItYnJhbmQtZ3JlZW4tNTAwOiAjMzQ3YzRjO1xuICAgIC0tY29sb3ItYnJhbmQtZ3JlZW4tNDAwOiAjNDQ5YzYzO1xuICAgIC0tY29sb3ItYnJhbmQtZ3JlZW4tMjAwOiAjYTNkOWI2O1xuICAgIC0tY29sb3ItYnJhbmQtZ3JlZW4tMTAwOiAjZGZmNWU4O1xuICAgIC0tY29sb3ItYnJhbmQtZ3JlZW4tNTA6ICNmMGZhZjQ7XG4gICAgLS1jb2xvci1icmFuZC1iZWlnZS05MDA6ICMyZDI2MWE7XG4gICAgLS1jb2xvci1icmFuZC1iZWlnZS04MDA6ICM0MjM4MjY7XG4gICAgLS1jb2xvci1icmFuZC1iZWlnZS03MDA6ICM1YzRmMzc7XG4gICAgLS1jb2xvci1icmFuZC1iZWlnZS02MDA6ICM3YzZiNGI7XG4gICAgLS1jb2xvci1icmFuZC1iZWlnZS01MDA6ICM5ZThjNjc7XG4gICAgLS1jb2xvci1icmFuZC1iZWlnZS00MDA6ICNjMmIxOGM7XG4gICAgLS1jb2xvci1icmFuZC1iZWlnZS0zMDA6ICNlM2Q3Yjg7XG4gICAgLS1jb2xvci1icmFuZC1iZWlnZS0yMDA6ICNmNGVkZDk7XG4gICAgLS1jb2xvci1icmFuZC1iZWlnZS0xMDA6ICNmYWY3ZWY7XG4gICAgLS1jb2xvci1icmFuZC1iZWlnZS01MDogI2ZkZmJmODtcbiAgICAtLWNvbG9yLWJyYW5kLXN1bnNldC02MDA6ICNjMjUyMTk7XG4gICAgLS1jb2xvci1icmFuZC1zdW5zZXQtNTAwOiAjZGI2MDIwO1xuICAgIC0tY29sb3ItYnJhbmQtc3Vuc2V0LTQwMDogI2VhODE0YztcbiAgICAtLWNvbG9yLWJyYW5kLXN1bnNldC0zMDA6ICNmMGEwNzg7XG4gICAgLS1jb2xvci1icmFuZC1zdW5zZXQtMTAwOiAjZmNlOGRkO1xuICB9XG59XG5AbGF5ZXIgYmFzZSB7XG4gICosIDo6YWZ0ZXIsIDo6YmVmb3JlLCA6OmJhY2tkcm9wLCA6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMCBzb2xpZDtcbiAgfVxuICBodG1sLCA6aG9zdCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLW1vei10YWItc2l6ZTogNDtcbiAgICAgIC1vLXRhYi1zaXplOiA0O1xuICAgICAgICAgdGFiLXNpemU6IDQ7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWRlZmF1bHQtZm9udC1mYW1pbHksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIik7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiB2YXIoLS1kZWZhdWx0LWZvbnQtZmVhdHVyZS1zZXR0aW5ncywgbm9ybWFsKTtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogdmFyKC0tZGVmYXVsdC1mb250LXZhcmlhdGlvbi1zZXR0aW5ncywgbm9ybWFsKTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIGhyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICB9XG4gIGFiYnI6d2hlcmUoW3RpdGxlXSkge1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgfVxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB9XG4gIGIsIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuICBjb2RlLCBrYmQsIHNhbXAsIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseSwgdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlKTtcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWRlZmF1bHQtbW9uby1mb250LWZlYXR1cmUtc2V0dGluZ3MsIG5vcm1hbCk7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IHZhcigtLWRlZmF1bHQtbW9uby1mb250LXZhcmlhdGlvbi1zZXR0aW5ncywgbm9ybWFsKTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cbiAgc3ViLCBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuICB0YWJsZSB7XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cbiAgOi1tb3otZm9jdXNyaW5nOndoZXJlKDpub3QoaWZyYW1lKSkge1xuICAgIG91dGxpbmU6IGF1dG87XG4gIH1cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cbiAgb2wsIHVsLCBtZW51IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gIGltZywgc3ZnLCB2aWRlbywgY2FudmFzLCBhdWRpbywgaWZyYW1lLCBlbWJlZCwgb2JqZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIGltZywgdmlkZW8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCBvcHRncm91cCwgdGV4dGFyZWEsIDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBpbmhlcml0O1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA6d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sIFtzaXplXSkpIG9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG4gIDp3aGVyZShzZWxlY3Q6aXMoW211bHRpcGxlXSwgW3NpemVdKSkgb3B0Z3JvdXAgb3B0aW9uIHtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMjBweDtcbiAgfVxuICA6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogNHB4O1xuICB9XG4gIDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIEBzdXBwb3J0cyAobm90ICgtd2Via2l0LWFwcGVhcmFuY2U6IC1hcHBsZS1wYXktYnV0dG9uKSkgIG9yIChjb250YWluLWludHJpbnNpYy1zaXplOiAxcHgpIHtcbiAgICA6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCBjdXJyZW50Y29sb3IgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCBjdXJyZW50Y29sb3IgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHRleHRhcmVhIHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICB9XG4gIDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG4gIDo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVlIHtcbiAgICBtaW4taGVpZ2h0OiAxbGg7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgfVxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQsIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQsIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1vbnRoLWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQsIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCwgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vjb25kLWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taWxsaXNlY29uZC1maWVsZCwgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWVyaWRpZW0tZmllbGQge1xuICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gIH1cbiAgOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIDotbW96LXVpLWludmFsaWQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgYnV0dG9uLCBpbnB1dDp3aGVyZShbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3R5cGU9XCJzdWJtaXRcIl0pLCA6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuICA6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIFtoaWRkZW5dOndoZXJlKDpub3QoW2hpZGRlbj1cInVudGlsLWZvdW5kXCJdKSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQGxheWVyIHV0aWxpdGllcyB7XG4gIC5wb2ludGVyLWV2ZW50cy1ub25lIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAuc3Itb25seSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gIH1cbiAgLmFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLmZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgLnJlbGF0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgfVxuICAuaW5zZXQtMCB7XG4gICAgaW5zZXQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAwKTtcbiAgfVxuICAuaW5zZXQtNCB7XG4gICAgaW5zZXQ6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAudG9wLTAge1xuICAgIHRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDApO1xuICB9XG4gIC50b3AtMVxcLzIge1xuICAgIHRvcDogY2FsYygxIC8gMiAqIDEwMCUpO1xuICB9XG4gIC50b3AtM1xcLjUge1xuICAgIHRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMuNSk7XG4gIH1cbiAgLnRvcC00IHtcbiAgICB0b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAudG9wLTI4IHtcbiAgICB0b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAyOCk7XG4gIH1cbiAgLnJpZ2h0LTAge1xuICAgIHJpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMCk7XG4gIH1cbiAgLnJpZ2h0LTMge1xuICAgIHJpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLnJpZ2h0LTQge1xuICAgIHJpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLmJvdHRvbS0wIHtcbiAgICBib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiAwKTtcbiAgfVxuICAuYm90dG9tLTEge1xuICAgIGJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEpO1xuICB9XG4gIC5ib3R0b20tNiB7XG4gICAgYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gIH1cbiAgLmxlZnQtMCB7XG4gICAgbGVmdDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDApO1xuICB9XG4gIC5sZWZ0LTMge1xuICAgIGxlZnQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAzKTtcbiAgfVxuICAubGVmdC00IHtcbiAgICBsZWZ0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLmxlZnQtNiB7XG4gICAgbGVmdDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpO1xuICB9XG4gIC56LTAge1xuICAgIHotaW5kZXg6IDA7XG4gIH1cbiAgLnotMTAge1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG4gIC56LTUwIHtcbiAgICB6LWluZGV4OiA1MDtcbiAgfVxuICAuY29sLXNwYW4tMiB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMiAvIHNwYW4gMjtcbiAgfVxuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKHdpZHRoID49IDQ4cmVtKSB7XG4gICAgICBtYXgtd2lkdGg6IDQ4cmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKHdpZHRoID49IDY0cmVtKSB7XG4gICAgICBtYXgtd2lkdGg6IDY0cmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKHdpZHRoID49IDgwcmVtKSB7XG4gICAgICBtYXgtd2lkdGg6IDgwcmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKHdpZHRoID49IDk2cmVtKSB7XG4gICAgICBtYXgtd2lkdGg6IDk2cmVtO1xuICAgIH1cbiAgfVxuICAubS00IHtcbiAgICBtYXJnaW46IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAubXgtYXV0byB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAubXktNCB7XG4gICAgbWFyZ2luLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLm15LTYge1xuICAgIG1hcmdpbi1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpO1xuICB9XG4gIC5tdC0wXFwuNSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDAuNSk7XG4gIH1cbiAgLm10LTEge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAxKTtcbiAgfVxuICAubXQtMiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICB9XG4gIC5tdC00IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLm10LTYge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiA2KTtcbiAgfVxuICAubXQtMTAge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAxMCk7XG4gIH1cbiAgLm10LTEyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTIpO1xuICB9XG4gIC5tdC0xNiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDE2KTtcbiAgfVxuICAubXQtMjAge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAyMCk7XG4gIH1cbiAgLm10LWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gIH1cbiAgLm1yLTIge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICB9XG4gIC5tYi0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMSk7XG4gIH1cbiAgLm1iLTFcXC41IHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMS41KTtcbiAgfVxuICAubWItMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICB9XG4gIC5tYi02IHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gIH1cbiAgLm1iLTgge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiA4KTtcbiAgfVxuICAubWItMTIge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiAxMik7XG4gIH1cbiAgLm1iLTE0IHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTQpO1xuICB9XG4gIC5tYi0xNiB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDE2KTtcbiAgfVxuICAubWwtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAxKTtcbiAgfVxuICAubWwtMVxcLjUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMS41KTtcbiAgfVxuICAubWwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAyKTtcbiAgfVxuICAubWwtYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLmxpbmUtY2xhbXAtMiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgfVxuICAubGluZS1jbGFtcC0zIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICB9XG4gIC5ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gIH1cbiAgLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmlubGluZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuICAuYXNwZWN0LVxcWzRcXC8zXFxdIHtcbiAgICBhc3BlY3QtcmF0aW86IDQvMztcbiAgfVxuICAuYXNwZWN0LXNxdWFyZSB7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgfVxuICAuYXNwZWN0LXZpZGVvIHtcbiAgICBhc3BlY3QtcmF0aW86IHZhcigtLWFzcGVjdC12aWRlbyk7XG4gIH1cbiAgLmgtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMSk7XG4gIH1cbiAgLmgtM1xcLjUge1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMuNSk7XG4gIH1cbiAgLmgtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLmgtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNSk7XG4gIH1cbiAgLmgtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gIH1cbiAgLmgtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogOCk7XG4gIH1cbiAgLmgtMTAge1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEwKTtcbiAgfVxuICAuaC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTIpO1xuICB9XG4gIC5oLTE0IHtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAxNCk7XG4gIH1cbiAgLmgtMTYge1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDE2KTtcbiAgfVxuICAuaC0yMCB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMjApO1xuICB9XG4gIC5oLTUyIHtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiA1Mik7XG4gIH1cbiAgLmgtNjQge1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDY0KTtcbiAgfVxuICAuaC03MiB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNzIpO1xuICB9XG4gIC5oLTgwIHtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiA4MCk7XG4gIH1cbiAgLmgtXFxbMlxcLjVweFxcXSB7XG4gICAgaGVpZ2h0OiAyLjVweDtcbiAgfVxuICAuaC1cXFsxOHB4XFxdIHtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gIH1cbiAgLmgtZnVsbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5tYXgtaC1cXFs0NjBweFxcXSB7XG4gICAgbWF4LWhlaWdodDogNDYwcHg7XG4gIH1cbiAgLm1pbi1oLVxcWzUwdmhcXF0ge1xuICAgIG1pbi1oZWlnaHQ6IDUwdmg7XG4gIH1cbiAgLm1pbi1oLVxcWzkwdmhcXF0ge1xuICAgIG1pbi1oZWlnaHQ6IDkwdmg7XG4gIH1cbiAgLm1pbi1oLVxcWzIyMHB4XFxdIHtcbiAgICBtaW4taGVpZ2h0OiAyMjBweDtcbiAgfVxuICAubWluLWgtc2NyZWVuIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgfVxuICAudy0zXFwuNSB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiAzLjUpO1xuICB9XG4gIC53LTQge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLnctNSB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiA1KTtcbiAgfVxuICAudy02IHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpO1xuICB9XG4gIC53LTgge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogOCk7XG4gIH1cbiAgLnctMTAge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTApO1xuICB9XG4gIC53LTEyIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEyKTtcbiAgfVxuICAudy0yMCB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiAyMCk7XG4gIH1cbiAgLnctMjQge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMjQpO1xuICB9XG4gIC53LTMyIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMyKTtcbiAgfVxuICAudy04MCB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiA4MCk7XG4gIH1cbiAgLnctXFxbMThweFxcXSB7XG4gICAgd2lkdGg6IDE4cHg7XG4gIH1cbiAgLnctYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnctZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1heC13LTJ4bCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItMnhsKTtcbiAgfVxuICAubWF4LXctM3hsIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci0zeGwpO1xuICB9XG4gIC5tYXgtdy00eGwge1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLTR4bCk7XG4gIH1cbiAgLm1heC13LTd4bCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItN3hsKTtcbiAgfVxuICAubWF4LXctbGcge1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLWxnKTtcbiAgfVxuICAubWF4LXctbWQge1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLW1kKTtcbiAgfVxuICAubWF4LXctbm9uZSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG4gIC5tYXgtdy1zbSB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItc20pO1xuICB9XG4gIC5tYXgtdy14bCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXIteGwpO1xuICB9XG4gIC5mbGV4LTEge1xuICAgIGZsZXg6IDE7XG4gIH1cbiAgLnNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuICAuZmxleC1ncm93IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cbiAgLi10cmFuc2xhdGUteS0xXFwvMiB7XG4gICAgLS10dy10cmFuc2xhdGUteTogY2FsYyhjYWxjKDEgLyAyICogMTAwJSkgKiAtMSk7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICB9XG4gIC50cmFuc2xhdGUteS0wXFwuNSB7XG4gICAgLS10dy10cmFuc2xhdGUteTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDAuNSk7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICB9XG4gIC5zY2FsZS0xMDUge1xuICAgIC0tdHctc2NhbGUteDogMTA1JTtcbiAgICAtLXR3LXNjYWxlLXk6IDEwNSU7XG4gICAgLS10dy1zY2FsZS16OiAxMDUlO1xuICAgIHNjYWxlOiB2YXIoLS10dy1zY2FsZS14KSB2YXIoLS10dy1zY2FsZS15KTtcbiAgfVxuICAuc2NhbGUtMTEwIHtcbiAgICAtLXR3LXNjYWxlLXg6IDExMCU7XG4gICAgLS10dy1zY2FsZS15OiAxMTAlO1xuICAgIC0tdHctc2NhbGUtejogMTEwJTtcbiAgICBzY2FsZTogdmFyKC0tdHctc2NhbGUteCkgdmFyKC0tdHctc2NhbGUteSk7XG4gIH1cbiAgLi1yb3RhdGUtMiB7XG4gICAgcm90YXRlOiBjYWxjKDJkZWcgKiAtMSk7XG4gIH1cbiAgLnJvdGF0ZS0zIHtcbiAgICByb3RhdGU6IDNkZWc7XG4gIH1cbiAgLnJvdGF0ZS0xODAge1xuICAgIHJvdGF0ZTogMTgwZGVnO1xuICB9XG4gIC50cmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybTogdmFyKC0tdHctcm90YXRlLXgsKSB2YXIoLS10dy1yb3RhdGUteSwpIHZhcigtLXR3LXJvdGF0ZS16LCkgdmFyKC0tdHctc2tldy14LCkgdmFyKC0tdHctc2tldy15LCk7XG4gIH1cbiAgLmFuaW1hdGUtcHVsc2Uge1xuICAgIGFuaW1hdGlvbjogdmFyKC0tYW5pbWF0ZS1wdWxzZSk7XG4gIH1cbiAgLmFuaW1hdGUtc3BpbiB7XG4gICAgYW5pbWF0aW9uOiB2YXIoLS1hbmltYXRlLXNwaW4pO1xuICB9XG4gIC5jdXJzb3ItcG9pbnRlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5yZXNpemUtbm9uZSB7XG4gICAgcmVzaXplOiBub25lO1xuICB9XG4gIC5zY3JvbGwtbXQtMjQge1xuICAgIHNjcm9sbC1tYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMjQpO1xuICB9XG4gIC5saXN0LWRpc2Mge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgfVxuICAubGlzdC1ub25lIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cbiAgLmFwcGVhcmFuY2Utbm9uZSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbiAgLmdyaWQtY29scy0xIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbiAgLmdyaWQtY29scy0yIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbiAgLmdyaWQtY29scy0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbiAgLmdyaWQtY29scy01IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbiAgLmZsZXgtY29sIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5mbGV4LXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAuaXRlbXMtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5pdGVtcy1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLmp1c3RpZnktYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC5qdXN0aWZ5LWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmp1c3RpZnktZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gIC5qdXN0aWZ5LXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLmdhcC0xXFwuNSB7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMS41KTtcbiAgfVxuICAuZ2FwLTIge1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICB9XG4gIC5nYXAtMlxcLjUge1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIuNSk7XG4gIH1cbiAgLmdhcC0zIHtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2luZykgKiAzKTtcbiAgfVxuICAuZ2FwLTQge1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICB9XG4gIC5nYXAtNiB7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gIH1cbiAgLmdhcC04IHtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2luZykgKiA4KTtcbiAgfVxuICAuZ2FwLTEwIHtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2luZykgKiAxMCk7XG4gIH1cbiAgLmdhcC0xMiB7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTIpO1xuICB9XG4gIC5zcGFjZS15LTBcXC41IHtcbiAgICA6d2hlcmUoJiA+IDpub3QoOmxhc3QtY2hpbGQpKSB7XG4gICAgICAtLXR3LXNwYWNlLXktcmV2ZXJzZTogMDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMC41KSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO1xuICAgICAgbWFyZ2luLWJsb2NrLWVuZDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMC41KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXktMSB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEpICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAxKSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXktMVxcLjUge1xuICAgIDp3aGVyZSgmID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIC0tdHctc3BhY2UteS1yZXZlcnNlOiAwO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAxLjUpICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAxLjUpICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO1xuICAgIH1cbiAgfVxuICAuc3BhY2UteS0yIHtcbiAgICA6d2hlcmUoJiA+IDpub3QoOmxhc3QtY2hpbGQpKSB7XG4gICAgICAtLXR3LXNwYWNlLXktcmV2ZXJzZTogMDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMikgKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO1xuICAgIH1cbiAgfVxuICAuc3BhY2UteS0yXFwuNSB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIuNSkgKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIuNSkgKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7XG4gICAgfVxuICB9XG4gIC5zcGFjZS15LTMge1xuICAgIDp3aGVyZSgmID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIC0tdHctc3BhY2UteS1yZXZlcnNlOiAwO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAzKSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO1xuICAgICAgbWFyZ2luLWJsb2NrLWVuZDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMykgKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7XG4gICAgfVxuICB9XG4gIC5zcGFjZS15LTNcXC41IHtcbiAgICA6d2hlcmUoJiA+IDpub3QoOmxhc3QtY2hpbGQpKSB7XG4gICAgICAtLXR3LXNwYWNlLXktcmV2ZXJzZTogMDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMy41KSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO1xuICAgICAgbWFyZ2luLWJsb2NrLWVuZDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMy41KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXktNCB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA0KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXktNSB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDUpICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA1KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXktNiB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA2KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXktOCB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDgpICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA4KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXktMTAge1xuICAgIDp3aGVyZSgmID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIC0tdHctc3BhY2UteS1yZXZlcnNlOiAwO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAxMCkgKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEwKSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXktMTYge1xuICAgIDp3aGVyZSgmID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIC0tdHctc3BhY2UteS1yZXZlcnNlOiAwO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAxNikgKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDE2KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXktMjAge1xuICAgIDp3aGVyZSgmID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIC0tdHctc3BhY2UteS1yZXZlcnNlOiAwO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAyMCkgKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIwKSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXktMjQge1xuICAgIDp3aGVyZSgmID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIC0tdHctc3BhY2UteS1yZXZlcnNlOiAwO1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAyNCkgKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTtcbiAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDI0KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXgtMFxcLjUge1xuICAgIDp3aGVyZSgmID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIC0tdHctc3BhY2UteC1yZXZlcnNlOiAwO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMC41KSAqIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDAuNSkgKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSk7XG4gICAgfVxuICB9XG4gIC5zcGFjZS14LTEge1xuICAgIDp3aGVyZSgmID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIC0tdHctc3BhY2UteC1yZXZlcnNlOiAwO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMSkgKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAxKSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXgtMVxcLjUge1xuICAgIDp3aGVyZSgmID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIC0tdHctc3BhY2UteC1yZXZlcnNlOiAwO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMS41KSAqIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEuNSkgKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSk7XG4gICAgfVxuICB9XG4gIC5zcGFjZS14LTIge1xuICAgIDp3aGVyZSgmID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIC0tdHctc3BhY2UteC1yZXZlcnNlOiAwO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMikgKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAyKSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXgtMyB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS14LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAzKSAqIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMpICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpO1xuICAgIH1cbiAgfVxuICAuc3BhY2UteC0zXFwuNSB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS14LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAzLjUpICogdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMy41KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXgtNCB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS14LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA0KSAqIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpO1xuICAgIH1cbiAgfVxuICAuc3BhY2UteC02IHtcbiAgICA6d2hlcmUoJiA+IDpub3QoOmxhc3QtY2hpbGQpKSB7XG4gICAgICAtLXR3LXNwYWNlLXgtcmV2ZXJzZTogMDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpICogdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogNikgKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSk7XG4gICAgfVxuICB9XG4gIC5vdmVyZmxvdy1oaWRkZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLm92ZXJmbG93LXktYXV0byB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuICAucm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgfVxuICAucm91bmRlZC0yeGwge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy0yeGwpO1xuICB9XG4gIC5yb3VuZGVkLTN4bCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLTN4bCk7XG4gIH1cbiAgLnJvdW5kZWQtZnVsbCB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyhpbmZpbml0eSAqIDFweCk7XG4gIH1cbiAgLnJvdW5kZWQtbGcge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIH1cbiAgLnJvdW5kZWQteGwge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14bCk7XG4gIH1cbiAgLmJvcmRlciB7XG4gICAgYm9yZGVyLXN0eWxlOiB2YXIoLS10dy1ib3JkZXItc3R5bGUpO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICB9XG4gIC5ib3JkZXItMiB7XG4gICAgYm9yZGVyLXN0eWxlOiB2YXIoLS10dy1ib3JkZXItc3R5bGUpO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICB9XG4gIC5ib3JkZXItXFxbNnB4XFxdIHtcbiAgICBib3JkZXItc3R5bGU6IHZhcigtLXR3LWJvcmRlci1zdHlsZSk7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIH1cbiAgLmJvcmRlci15IHtcbiAgICBib3JkZXItYmxvY2stc3R5bGU6IHZhcigtLXR3LWJvcmRlci1zdHlsZSk7XG4gICAgYm9yZGVyLWJsb2NrLXdpZHRoOiAxcHg7XG4gIH1cbiAgLmJvcmRlci10IHtcbiAgICBib3JkZXItdG9wLXN0eWxlOiB2YXIoLS10dy1ib3JkZXItc3R5bGUpO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgfVxuICAuYm9yZGVyLWIge1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHZhcigtLXR3LWJvcmRlci1zdHlsZSk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICB9XG4gIC5ib3JkZXItbC00IHtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogdmFyKC0tdHctYm9yZGVyLXN0eWxlKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogNHB4O1xuICB9XG4gIC5ib3JkZXItbC04IHtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogdmFyKC0tdHctYm9yZGVyLXN0eWxlKTtcbiAgICBib3JkZXItbGVmdC13aWR0aDogOHB4O1xuICB9XG4gIC5ib3JkZXItYnJhbmQtYmVpZ2UtMTAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTEwMCk7XG4gIH1cbiAgLmJvcmRlci1icmFuZC1iZWlnZS0yMDAge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMjAwKTtcbiAgfVxuICAuYm9yZGVyLWJyYW5kLWJlaWdlLTIwMFxcLzIwIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZjRlZGQ5IDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTIwMCkgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5ib3JkZXItYnJhbmQtYmVpZ2UtMjAwXFwvMzAge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNmNGVkZDkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMjAwKSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJvcmRlci1icmFuZC1iZWlnZS0yMDBcXC80MCB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2Y0ZWRkOSA0MCUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS0yMDApIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYm9yZGVyLWJyYW5kLWJlaWdlLTIwMFxcLzUwIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZjRlZGQ5IDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTIwMCkgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5ib3JkZXItYnJhbmQtYmVpZ2UtMjAwXFwvNjAge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNmNGVkZDkgNjAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMjAwKSA2MCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJvcmRlci1icmFuZC1iZWlnZS0zMDAge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMzAwKTtcbiAgfVxuICAuYm9yZGVyLWJyYW5kLWdyZWVuLTIwMCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi0yMDApO1xuICB9XG4gIC5ib3JkZXItYnJhbmQtZ3JlZW4tODAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTgwMCk7XG4gIH1cbiAgLmJvcmRlci1icmFuZC1ncmVlbi04MDBcXC80MCB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzE5M2MyNSA0MCUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi04MDApIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYm9yZGVyLWJyYW5kLWdyZWVuLTgwMFxcLzYwIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMTkzYzI1IDYwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTgwMCkgNjAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5ib3JkZXItYnJhbmQtZ3JlZW4tODAwXFwvODAge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMxOTNjMjUgODAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tODAwKSA4MCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJvcmRlci1icmFuZC1ncmVlbi05MDAge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTAwKTtcbiAgfVxuICAuYm9yZGVyLWJyYW5kLWdyZWVuLTkwMFxcLzMwIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMTIyYzFiIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTkwMCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5ib3JkZXItYnJhbmQtZ3JlZW4tOTAwXFwvNDAge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMxMjJjMWIgNDAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTAwKSA0MCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJvcmRlci1icmFuZC1ncmVlbi05MDBcXC81MCB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzEyMmMxYiA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05MDApIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYm9yZGVyLWJyYW5kLWdyZWVuLTk1MCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05NTApO1xuICB9XG4gIC5ib3JkZXItYnJhbmQtc3Vuc2V0LTUwMCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1zdW5zZXQtNTAwKTtcbiAgfVxuICAuYm9yZGVyLWJyYW5kLXN1bnNldC01MDBcXC8yMCB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2RiNjAyMCAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1zdW5zZXQtNTAwKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJvcmRlci1icmFuZC1zdW5zZXQtNTAwXFwvMzAge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNkYjYwMjAgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTUwMCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5ib3JkZXItcmVkLTIwMCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQtMjAwKTtcbiAgfVxuICAuYm9yZGVyLXQtdHJhbnNwYXJlbnQge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5iZy1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICB9XG4gIC5iZy1ibGFja1xcLzI1IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzAwMCAyNSUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYmxhY2spIDI1JSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYmctYmxhY2tcXC80MCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMwMDAgNDAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJsYWNrKSA0MCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJnLWJyYW5kLWJlaWdlLTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS01MCk7XG4gIH1cbiAgLmJnLWJyYW5kLWJlaWdlLTUwXFwvNTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZmRmYmY4IDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS01MCkgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5iZy1icmFuZC1iZWlnZS0xMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTEwMCk7XG4gIH1cbiAgLmJnLWJyYW5kLWJlaWdlLTEwMFxcLzMwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2ZhZjdlZiAzMCUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMTAwKSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJnLWJyYW5kLWJlaWdlLTEwMFxcLzUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2ZhZjdlZiA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMTAwKSA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJnLWJyYW5kLWJlaWdlLTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMjAwKTtcbiAgfVxuICAuYmctYnJhbmQtYmVpZ2UtMzAwXFwvMzAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZTNkN2I4IDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS0zMDApIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYmctYnJhbmQtZ3JlZW4tMTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi0xMDApO1xuICB9XG4gIC5iZy1icmFuZC1ncmVlbi0xMDBcXC8zMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNkZmY1ZTggMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTEwMCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5iZy1icmFuZC1ncmVlbi0xMDBcXC81MCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNkZmY1ZTggNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTEwMCkgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5iZy1icmFuZC1ncmVlbi0xMDBcXC84MCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNkZmY1ZTggODAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTEwMCkgODAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5iZy1icmFuZC1ncmVlbi01MDBcXC8xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMzNDdjNGMgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTUwMCkgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5iZy1icmFuZC1ncmVlbi05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTkwMCk7XG4gIH1cbiAgLmJnLWJyYW5kLWdyZWVuLTkwMFxcLzQwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzEyMmMxYiA0MCUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTAwKSA0MCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJnLWJyYW5kLWdyZWVuLTkwMFxcLzUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzEyMmMxYiA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTAwKSA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJnLWJyYW5kLWdyZWVuLTk1MCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTUwKTtcbiAgfVxuICAuYmctYnJhbmQtZ3JlZW4tOTUwXFwvNTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMGQxZTEzIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05NTApIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYmctYnJhbmQtZ3JlZW4tOTUwXFwvNzUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMGQxZTEzIDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05NTApIDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYmctYnJhbmQtc3Vuc2V0LTUwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTUwMCk7XG4gIH1cbiAgLmJnLWJyYW5kLXN1bnNldC01MDBcXC8xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNkYjYwMjAgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLXN1bnNldC01MDApIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYmctYnJhbmQtc3Vuc2V0LTUwMFxcLzE1IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2RiNjAyMCAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTUwMCkgMTUlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5iZy1yZWQtNTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXJlZC01MCk7XG4gIH1cbiAgLmJnLXRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAuYmctd2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxuICAuYmctd2hpdGVcXC85NSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNmZmYgOTUlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLXdoaXRlKSA5NSUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJnLWdyYWRpZW50LXRvLWJyIHtcbiAgICAtLXR3LWdyYWRpZW50LXBvc2l0aW9uOiB0byBib3R0b20gcmlnaHQgaW4gb2tsYWI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSk7XG4gIH1cbiAgLmJnLWdyYWRpZW50LXRvLXQge1xuICAgIC0tdHctZ3JhZGllbnQtcG9zaXRpb246IHRvIHRvcCBpbiBva2xhYjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKTtcbiAgfVxuICAuZnJvbS1ibGFja1xcLzYwIHtcbiAgICAtLXR3LWdyYWRpZW50LWZyb206IGNvbG9yLW1peChpbiBzcmdiLCAjMDAwIDYwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgLS10dy1ncmFkaWVudC1mcm9tOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJsYWNrKSA2MCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gICAgLS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLCB2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LWZyb20pIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10bykgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKTtcbiAgfVxuICAuZnJvbS1icmFuZC1iZWlnZS01MCB7XG4gICAgLS10dy1ncmFkaWVudC1mcm9tOiB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS01MCk7XG4gICAgLS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLCB2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LWZyb20pIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10bykgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKTtcbiAgfVxuICAuZnJvbS1icmFuZC1iZWlnZS0xMDAge1xuICAgIC0tdHctZ3JhZGllbnQtZnJvbTogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMTAwKTtcbiAgICAtLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsIHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtZnJvbSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbikpO1xuICB9XG4gIC5mcm9tLWJyYW5kLWdyZWVuLTk1MFxcLzk1IHtcbiAgICAtLXR3LWdyYWRpZW50LWZyb206IGNvbG9yLW1peChpbiBzcmdiLCAjMGQxZTEzIDk1JSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgLS10dy1ncmFkaWVudC1mcm9tOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTk1MCkgOTUlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICAgIC0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcywgdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSk7XG4gIH1cbiAgLnZpYS1icmFuZC1ncmVlbi05NTBcXC80NSB7XG4gICAgLS10dy1ncmFkaWVudC12aWE6IGNvbG9yLW1peChpbiBzcmdiLCAjMGQxZTEzIDQ1JSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgLS10dy1ncmFkaWVudC12aWE6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTUwKSA0NSUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gICAgLS10dy1ncmFkaWVudC12aWEtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtZnJvbSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXZpYSkgdmFyKC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTtcbiAgICAtLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMpO1xuICB9XG4gIC52aWEtYnJhbmQtZ3JlZW4tOTUwXFwvNTAge1xuICAgIC0tdHctZ3JhZGllbnQtdmlhOiBjb2xvci1taXgoaW4gc3JnYiwgIzBkMWUxMyA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIC0tdHctZ3JhZGllbnQtdmlhOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTk1MCkgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICAgIC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LWZyb20pIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC12aWEpIHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbik7XG4gICAgLS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzKTtcbiAgfVxuICAudG8tYmxhY2tcXC82MCB7XG4gICAgLS10dy1ncmFkaWVudC10bzogY29sb3ItbWl4KGluIHNyZ2IsICMwMDAgNjAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAtLXR3LWdyYWRpZW50LXRvOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJsYWNrKSA2MCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gICAgLS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLCB2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LWZyb20pIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10bykgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKTtcbiAgfVxuICAudG8tYnJhbmQtYmVpZ2UtMjAwIHtcbiAgICAtLXR3LWdyYWRpZW50LXRvOiB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS0yMDApO1xuICAgIC0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcywgdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSk7XG4gIH1cbiAgLnRvLWJyYW5kLWdyZWVuLTk1MFxcLzE1IHtcbiAgICAtLXR3LWdyYWRpZW50LXRvOiBjb2xvci1taXgoaW4gc3JnYiwgIzBkMWUxMyAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIC0tdHctZ3JhZGllbnQtdG86IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTUwKSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gICAgLS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLCB2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LWZyb20pIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10bykgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKTtcbiAgfVxuICAudG8tdHJhbnNwYXJlbnQge1xuICAgIC0tdHctZ3JhZGllbnQtdG86IHRyYW5zcGFyZW50O1xuICAgIC0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcywgdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSk7XG4gIH1cbiAgLmZpbGwtYnJhbmQtc3Vuc2V0LTUwMCB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTUwMCk7XG4gIH1cbiAgLmZpbGwtY3VycmVudCB7XG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICB9XG4gIC5vYmplY3QtY29udGFpbiB7XG4gICAgLW8tb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICB9XG4gIC5vYmplY3QtY292ZXIge1xuICAgIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG4gIC5wLTIge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2luZykgKiAyKTtcbiAgfVxuICAucC0yXFwuNSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIuNSk7XG4gIH1cbiAgLnAtMyB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMpO1xuICB9XG4gIC5wLTQge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAucC01IHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNSk7XG4gIH1cbiAgLnAtNiB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpO1xuICB9XG4gIC5wLTgge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2luZykgKiA4KTtcbiAgfVxuICAucHgtMlxcLjUge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMi41KTtcbiAgfVxuICAucHgtMyB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tc3BhY2luZykgKiAzKTtcbiAgfVxuICAucHgtM1xcLjUge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMy41KTtcbiAgfVxuICAucHgtNCB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAucHgtNSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tc3BhY2luZykgKiA1KTtcbiAgfVxuICAucHgtNiB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tc3BhY2luZykgKiA2KTtcbiAgfVxuICAucHgtOCB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tc3BhY2luZykgKiA4KTtcbiAgfVxuICAucHktMSB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEpO1xuICB9XG4gIC5weS0xXFwuNSB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEuNSk7XG4gIH1cbiAgLnB5LTIge1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tc3BhY2luZykgKiAyKTtcbiAgfVxuICAucHktMlxcLjUge1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tc3BhY2luZykgKiAyLjUpO1xuICB9XG4gIC5weS0zIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLnB5LTNcXC41IHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMy41KTtcbiAgfVxuICAucHktNCB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICB9XG4gIC5weS01IHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNSk7XG4gIH1cbiAgLnB5LTEyIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTIpO1xuICB9XG4gIC5weS0xNiB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDE2KTtcbiAgfVxuICAucHktMjAge1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tc3BhY2luZykgKiAyMCk7XG4gIH1cbiAgLnB5LTI0IHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMjQpO1xuICB9XG4gIC5wdC0yIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICB9XG4gIC5wdC0zIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMpO1xuICB9XG4gIC5wdC00IHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICB9XG4gIC5wdC02IHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpO1xuICB9XG4gIC5wdC04IHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDgpO1xuICB9XG4gIC5wdC0xNiB7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAxNik7XG4gIH1cbiAgLnB0LTI4IHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDI4KTtcbiAgfVxuICAucHItMSB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEpO1xuICB9XG4gIC5wci00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLnBiLTFcXC41IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEuNSk7XG4gIH1cbiAgLnBiLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLnBiLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLnBiLTYge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gIH1cbiAgLnBiLTgge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogOCk7XG4gIH1cbiAgLnBiLTIwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIwKTtcbiAgfVxuICAucGItMjQge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMjQpO1xuICB9XG4gIC5wbC00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAucGwtNSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNSk7XG4gIH1cbiAgLnBsLTExIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAxMSk7XG4gIH1cbiAgLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAudGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLmZvbnQtbW9ubyB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIH1cbiAgLmZvbnQtc2FucyB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7XG4gIH1cbiAgLmZvbnQtc2VyaWYge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTtcbiAgfVxuICAudGV4dC0yeGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC0yeGwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10dy1sZWFkaW5nLCB2YXIoLS10ZXh0LTJ4bC0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC0zeGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC0zeGwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10dy1sZWFkaW5nLCB2YXIoLS10ZXh0LTN4bC0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC00eGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC00eGwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10dy1sZWFkaW5nLCB2YXIoLS10ZXh0LTR4bC0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC01eGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC01eGwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10dy1sZWFkaW5nLCB2YXIoLS10ZXh0LTV4bC0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC1iYXNlIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtYmFzZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXR3LWxlYWRpbmcsIHZhcigtLXRleHQtYmFzZS0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC1sZyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWxnKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC1sZy0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC1zbSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXNtKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC14bCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXhsKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC14bC0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC14cyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXhzKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC1cXFs5cHhcXF0ge1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICB9XG4gIC50ZXh0LVxcWzEwcHhcXF0ge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxuICAudGV4dC1cXFsxMXB4XFxdIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cbiAgLmxlYWRpbmctbm9uZSB7XG4gICAgLS10dy1sZWFkaW5nOiAxO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIC5sZWFkaW5nLXJlbGF4ZWQge1xuICAgIC0tdHctbGVhZGluZzogdmFyKC0tbGVhZGluZy1yZWxheGVkKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGVhZGluZy1yZWxheGVkKTtcbiAgfVxuICAubGVhZGluZy1zbnVnIHtcbiAgICAtLXR3LWxlYWRpbmc6IHZhcigtLWxlYWRpbmctc251Zyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxlYWRpbmctc251Zyk7XG4gIH1cbiAgLmxlYWRpbmctdGlnaHQge1xuICAgIC0tdHctbGVhZGluZzogdmFyKC0tbGVhZGluZy10aWdodCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxlYWRpbmctdGlnaHQpO1xuICB9XG4gIC5mb250LWJvbGQge1xuICAgIC0tdHctZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgfVxuICAuZm9udC1leHRyYWJvbGQge1xuICAgIC0tdHctZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZCk7XG4gIH1cbiAgLmZvbnQtbGlnaHQge1xuICAgIC0tdHctZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbGlnaHQpO1xuICB9XG4gIC5mb250LW1lZGl1bSB7XG4gICAgLS10dy1mb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgfVxuICAuZm9udC1ub3JtYWwge1xuICAgIC0tdHctZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gIH1cbiAgLmZvbnQtc2VtaWJvbGQge1xuICAgIC0tdHctZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICB9XG4gIC50cmFja2luZy1cXFswXFwuMmVtXFxdIHtcbiAgICAtLXR3LXRyYWNraW5nOiAwLjJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gIH1cbiAgLnRyYWNraW5nLXRpZ2h0IHtcbiAgICAtLXR3LXRyYWNraW5nOiB2YXIoLS10cmFja2luZy10aWdodCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXRyYWNraW5nLXRpZ2h0KTtcbiAgfVxuICAudHJhY2tpbmctd2lkZSB7XG4gICAgLS10dy10cmFja2luZzogdmFyKC0tdHJhY2tpbmctd2lkZSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXRyYWNraW5nLXdpZGUpO1xuICB9XG4gIC50cmFja2luZy13aWRlciB7XG4gICAgLS10dy10cmFja2luZzogdmFyKC0tdHJhY2tpbmctd2lkZXIpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS10cmFja2luZy13aWRlcik7XG4gIH1cbiAgLnRyYWNraW5nLXdpZGVzdCB7XG4gICAgLS10dy10cmFja2luZzogdmFyKC0tdHJhY2tpbmctd2lkZXN0KTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tdHJhY2tpbmctd2lkZXN0KTtcbiAgfVxuICAudGV4dC1icmFuZC1iZWlnZS01MCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTUwKTtcbiAgfVxuICAudGV4dC1icmFuZC1iZWlnZS0xMDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS0xMDApO1xuICB9XG4gIC50ZXh0LWJyYW5kLWJlaWdlLTEwMFxcLzkwIHtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNmYWY3ZWYgOTAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBjb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS0xMDApIDkwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAudGV4dC1icmFuZC1iZWlnZS0yMDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS0yMDApO1xuICB9XG4gIC50ZXh0LWJyYW5kLWJlaWdlLTMwMCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTMwMCk7XG4gIH1cbiAgLnRleHQtYnJhbmQtYmVpZ2UtNDAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtNDAwKTtcbiAgfVxuICAudGV4dC1icmFuZC1iZWlnZS01MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS01MDApO1xuICB9XG4gIC50ZXh0LWJyYW5kLWJlaWdlLTYwMCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTYwMCk7XG4gIH1cbiAgLnRleHQtYnJhbmQtYmVpZ2UtNzAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtNzAwKTtcbiAgfVxuICAudGV4dC1icmFuZC1iZWlnZS04MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS04MDApO1xuICB9XG4gIC50ZXh0LWJyYW5kLWJlaWdlLTkwMCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTkwMCk7XG4gIH1cbiAgLnRleHQtYnJhbmQtZ3JlZW4tNDAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tNDAwKTtcbiAgfVxuICAudGV4dC1icmFuZC1ncmVlbi03MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi03MDApO1xuICB9XG4gIC50ZXh0LWJyYW5kLWdyZWVuLTgwMCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTgwMCk7XG4gIH1cbiAgLnRleHQtYnJhbmQtZ3JlZW4tOTAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTAwKTtcbiAgfVxuICAudGV4dC1icmFuZC1ncmVlbi05MDBcXC82MCB7XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMTIyYzFiIDYwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTAwKSA2MCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLnRleHQtYnJhbmQtZ3JlZW4tOTUwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTUwKTtcbiAgfVxuICAudGV4dC1icmFuZC1zdW5zZXQtMzAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTMwMCk7XG4gIH1cbiAgLnRleHQtYnJhbmQtc3Vuc2V0LTQwMCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLXN1bnNldC00MDApO1xuICB9XG4gIC50ZXh0LWJyYW5kLXN1bnNldC01MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1zdW5zZXQtNTAwKTtcbiAgfVxuICAudGV4dC1icmFuZC1zdW5zZXQtNjAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTYwMCk7XG4gIH1cbiAgLnRleHQtcmVkLTkwMCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXJlZC05MDApO1xuICB9XG4gIC50ZXh0LXdoaXRlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB9XG4gIC51cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLml0YWxpYyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG4gIC51bmRlcmxpbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gIH1cbiAgLnBsYWNlaG9sZGVyLWJyYW5kLWJlaWdlLTQwMCB7XG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtNDAwKTtcbiAgICB9XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTQwMCk7XG4gICAgfVxuICB9XG4gIC5wbGFjZWhvbGRlci1icmFuZC1ncmVlbi03MDAge1xuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTcwMCk7XG4gICAgfVxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi03MDApO1xuICAgIH1cbiAgfVxuICAub3BhY2l0eS0wIHtcbiAgICBvcGFjaXR5OiAwJTtcbiAgfVxuICAub3BhY2l0eS01MCB7XG4gICAgb3BhY2l0eTogNTAlO1xuICB9XG4gIC5vcGFjaXR5LTYwIHtcbiAgICBvcGFjaXR5OiA2MCU7XG4gIH1cbiAgLm9wYWNpdHktODAge1xuICAgIG9wYWNpdHk6IDgwJTtcbiAgfVxuICAub3BhY2l0eS1cXFswXFwuMDNcXF0ge1xuICAgIG9wYWNpdHk6IDAuMDM7XG4gIH1cbiAgLnNoYWRvdyB7XG4gICAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctaW5zZXQtc2hhZG93KSwgdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdyk7XG4gIH1cbiAgLnNoYWRvdy0yeGwge1xuICAgIC0tdHctc2hhZG93OiAwIDI1cHggNTBweCAtMTJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIHJnYigwIDAgMCAvIDAuMjUpKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1pbnNldC1zaGFkb3cpLCB2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93KTtcbiAgfVxuICAuc2hhZG93LWlubmVyIHtcbiAgICAtLXR3LXNoYWRvdzogaW5zZXQgMCAycHggNHB4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjA1KSk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctaW5zZXQtc2hhZG93KSwgdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdyk7XG4gIH1cbiAgLnNoYWRvdy1sZyB7XG4gICAgLS10dy1zaGFkb3c6IDAgMTBweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjEpKSwgMCA0cHggNnB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjEpKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1pbnNldC1zaGFkb3cpLCB2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93KTtcbiAgfVxuICAuc2hhZG93LW1kIHtcbiAgICAtLXR3LXNoYWRvdzogMCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjEpKSwgMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjEpKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1pbnNldC1zaGFkb3cpLCB2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93KTtcbiAgfVxuICAuc2hhZG93LXNtIHtcbiAgICAtLXR3LXNoYWRvdzogMCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjEpKSwgMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjEpKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1pbnNldC1zaGFkb3cpLCB2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93KTtcbiAgfVxuICAuc2hhZG93LXhsIHtcbiAgICAtLXR3LXNoYWRvdzogMCAyMHB4IDI1cHggLTVweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIHJnYigwIDAgMCAvIDAuMSkpLCAwIDhweCAxMHB4IC02cHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjEpKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1pbnNldC1zaGFkb3cpLCB2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93KTtcbiAgfVxuICAucmluZy0yIHtcbiAgICAtLXR3LXJpbmctc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0LCkgMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IsIGN1cnJlbnRjb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctaW5zZXQtc2hhZG93KSwgdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdyk7XG4gIH1cbiAgLnNoYWRvdy1icmFuZC1zdW5zZXQtNTAwXFwvNSB7XG4gICAgLS10dy1zaGFkb3ctY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZGI2MDIwIDUlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAtLXR3LXNoYWRvdy1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLXN1bnNldC01MDApIDUlLCB0cmFuc3BhcmVudCkgdmFyKC0tdHctc2hhZG93LWFscGhhKSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAucmluZy1icmFuZC1zdW5zZXQtNTAwXFwvMzAge1xuICAgIC0tdHctcmluZy1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNkYjYwMjAgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAtLXR3LXJpbmctY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTUwMCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5ibHVyLTN4bCB7XG4gICAgLS10dy1ibHVyOiBibHVyKHZhcigtLWJsdXItM3hsKSk7XG4gICAgZmlsdGVyOiB2YXIoLS10dy1ibHVyLCkgdmFyKC0tdHctYnJpZ2h0bmVzcywpIHZhcigtLXR3LWNvbnRyYXN0LCkgdmFyKC0tdHctZ3JheXNjYWxlLCkgdmFyKC0tdHctaHVlLXJvdGF0ZSwpIHZhcigtLXR3LWludmVydCwpIHZhcigtLXR3LXNhdHVyYXRlLCkgdmFyKC0tdHctc2VwaWEsKSB2YXIoLS10dy1kcm9wLXNoYWRvdywpO1xuICB9XG4gIC5ibHVyLXhsIHtcbiAgICAtLXR3LWJsdXI6IGJsdXIodmFyKC0tYmx1ci14bCkpO1xuICAgIGZpbHRlcjogdmFyKC0tdHctYmx1ciwpIHZhcigtLXR3LWJyaWdodG5lc3MsKSB2YXIoLS10dy1jb250cmFzdCwpIHZhcigtLXR3LWdyYXlzY2FsZSwpIHZhcigtLXR3LWh1ZS1yb3RhdGUsKSB2YXIoLS10dy1pbnZlcnQsKSB2YXIoLS10dy1zYXR1cmF0ZSwpIHZhcigtLXR3LXNlcGlhLCkgdmFyKC0tdHctZHJvcC1zaGFkb3csKTtcbiAgfVxuICAuZmlsdGVyIHtcbiAgICBmaWx0ZXI6IHZhcigtLXR3LWJsdXIsKSB2YXIoLS10dy1icmlnaHRuZXNzLCkgdmFyKC0tdHctY29udHJhc3QsKSB2YXIoLS10dy1ncmF5c2NhbGUsKSB2YXIoLS10dy1odWUtcm90YXRlLCkgdmFyKC0tdHctaW52ZXJ0LCkgdmFyKC0tdHctc2F0dXJhdGUsKSB2YXIoLS10dy1zZXBpYSwpIHZhcigtLXR3LWRyb3Atc2hhZG93LCk7XG4gIH1cbiAgLmJhY2tkcm9wLWJsdXItbWQge1xuICAgIC0tdHctYmFja2Ryb3AtYmx1cjogYmx1cih2YXIoLS1ibHVyLW1kKSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiB2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCkgdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpIHZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCkgdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCkgdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpIHZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpIHZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKSB2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpIHZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7XG4gIH1cbiAgLnRyYW5zaXRpb24ge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIG91dGxpbmUtY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCAtLXR3LWdyYWRpZW50LWZyb20sIC0tdHctZ3JhZGllbnQtdmlhLCAtLXR3LWdyYWRpZW50LXRvLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIHRyYW5zbGF0ZSwgc2NhbGUsIHJvdGF0ZSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXIsIGRpc3BsYXksIGNvbnRlbnQtdmlzaWJpbGl0eSwgb3ZlcmxheSwgcG9pbnRlci1ldmVudHM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXR3LWVhc2UsIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10dy1kdXJhdGlvbiwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSk7XG4gIH1cbiAgLnRyYW5zaXRpb24tYWxsIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXR3LWVhc2UsIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10dy1kdXJhdGlvbiwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSk7XG4gIH1cbiAgLnRyYW5zaXRpb24tY29sb3JzIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBvdXRsaW5lLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgLS10dy1ncmFkaWVudC1mcm9tLCAtLXR3LWdyYWRpZW50LXZpYSwgLS10dy1ncmFkaWVudC10bztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tdHctZWFzZSwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXR3LWR1cmF0aW9uLCB2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKTtcbiAgfVxuICAudHJhbnNpdGlvbi1vcGFjaXR5IHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS10dy1lYXNlLCB2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tdHctZHVyYXRpb24sIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpO1xuICB9XG4gIC50cmFuc2l0aW9uLXNoYWRvdyB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tdHctZWFzZSwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXR3LWR1cmF0aW9uLCB2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKTtcbiAgfVxuICAudHJhbnNpdGlvbi10cmFuc2Zvcm0ge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgdHJhbnNsYXRlLCBzY2FsZSwgcm90YXRlO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS10dy1lYXNlLCB2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tdHctZHVyYXRpb24sIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpO1xuICB9XG4gIC5kdXJhdGlvbi0yMDAge1xuICAgIC0tdHctZHVyYXRpb246IDIwMG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuICB9XG4gIC5kdXJhdGlvbi0yNTAge1xuICAgIC0tdHctZHVyYXRpb246IDI1MG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuICB9XG4gIC5kdXJhdGlvbi0zMDAge1xuICAgIC0tdHctZHVyYXRpb246IDMwMG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuICB9XG4gIC5kdXJhdGlvbi01MDAge1xuICAgIC0tdHctZHVyYXRpb246IDUwMG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB9XG4gIC5zZWxlY3Qtbm9uZSB7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbiAgLmdyb3VwLW9wZW5cXDpyb3RhdGUtMTgwIHtcbiAgICAmOmlzKDp3aGVyZSguZ3JvdXApOmlzKFtvcGVuXSwgOnBvcG92ZXItb3BlbiwgOm9wZW4pICopIHtcbiAgICAgIHJvdGF0ZTogMTgwZGVnO1xuICAgIH1cbiAgfVxuICAuZ3JvdXAtaG92ZXJcXDotdHJhbnNsYXRlLXgtMSB7XG4gICAgJjppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKSB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAtLXR3LXRyYW5zbGF0ZS14OiBjYWxjKHZhcigtLXNwYWNpbmcpICogLTEpO1xuICAgICAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncm91cC1ob3ZlclxcOnRyYW5zbGF0ZS14LTBcXC41IHtcbiAgICAmOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC0tdHctdHJhbnNsYXRlLXg6IGNhbGModmFyKC0tc3BhY2luZykgKiAwLjUpO1xuICAgICAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncm91cC1ob3ZlclxcOnRyYW5zbGF0ZS14LTEge1xuICAgICY6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKikge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgLS10dy10cmFuc2xhdGUteDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEpO1xuICAgICAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncm91cC1ob3ZlclxcOi10cmFuc2xhdGUteS0wXFwuNSB7XG4gICAgJjppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKSB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAtLXR3LXRyYW5zbGF0ZS15OiBjYWxjKHZhcigtLXNwYWNpbmcpICogLTAuNSk7XG4gICAgICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmdyb3VwLWhvdmVyXFw6c2NhbGUtMTAzIHtcbiAgICAmOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC0tdHctc2NhbGUteDogMTAzJTtcbiAgICAgICAgLS10dy1zY2FsZS15OiAxMDMlO1xuICAgICAgICAtLXR3LXNjYWxlLXo6IDEwMyU7XG4gICAgICAgIHNjYWxlOiB2YXIoLS10dy1zY2FsZS14KSB2YXIoLS10dy1zY2FsZS15KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmdyb3VwLWhvdmVyXFw6c2NhbGUtMTA1IHtcbiAgICAmOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC0tdHctc2NhbGUteDogMTA1JTtcbiAgICAgICAgLS10dy1zY2FsZS15OiAxMDUlO1xuICAgICAgICAtLXR3LXNjYWxlLXo6IDEwNSU7XG4gICAgICAgIHNjYWxlOiB2YXIoLS10dy1zY2FsZS14KSB2YXIoLS10dy1zY2FsZS15KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmdyb3VwLWhvdmVyXFw6c2NhbGUtMTEwIHtcbiAgICAmOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC0tdHctc2NhbGUteDogMTEwJTtcbiAgICAgICAgLS10dy1zY2FsZS15OiAxMTAlO1xuICAgICAgICAtLXR3LXNjYWxlLXo6IDExMCU7XG4gICAgICAgIHNjYWxlOiB2YXIoLS10dy1zY2FsZS14KSB2YXIoLS10dy1zY2FsZS15KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmdyb3VwLWhvdmVyXFw6cm90YXRlLTAge1xuICAgICY6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKikge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgcm90YXRlOiAwZGVnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZ3JvdXAtaG92ZXJcXDpyb3RhdGUtMSB7XG4gICAgJjppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKSB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICByb3RhdGU6IDFkZWc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncm91cC1ob3ZlclxcOmJnLWJyYW5kLXN1bnNldC0xMDAge1xuICAgICY6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKikge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTEwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncm91cC1ob3ZlclxcOnRleHQtYnJhbmQtYmVpZ2UtNTAge1xuICAgICY6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKikge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTUwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmdyb3VwLWhvdmVyXFw6dGV4dC1icmFuZC1zdW5zZXQtNDAwIHtcbiAgICAmOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1zdW5zZXQtNDAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmdyb3VwLWhvdmVyXFw6dGV4dC1icmFuZC1zdW5zZXQtNjAwIHtcbiAgICAmOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1zdW5zZXQtNjAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmdyb3VwLWhvdmVyXFw6b3BhY2l0eS04NSB7XG4gICAgJjppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKSB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBvcGFjaXR5OiA4NSU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncm91cC1ob3ZlclxcOm9wYWNpdHktMTAwIHtcbiAgICAmOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIG9wYWNpdHk6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ncm91cC1ob3ZlclxcL2dhbGxlcnlcXDpvcGFjaXR5LTEwMCB7XG4gICAgJjppcyg6d2hlcmUoLmdyb3VwXFwvZ2FsbGVyeSk6aG92ZXIgKikge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgb3BhY2l0eTogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmxhc3RcXDpib3JkZXItMCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1zdHlsZTogdmFyKC0tdHctYm9yZGVyLXN0eWxlKTtcbiAgICAgIGJvcmRlci13aWR0aDogMHB4O1xuICAgIH1cbiAgfVxuICAubGFzdFxcOnBiLTAge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDApO1xuICAgIH1cbiAgfVxuICAuZmlyc3Qtb2YtdHlwZVxcOmZvbnQtbm9ybWFsIHtcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgLS10dy1mb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xuICAgIH1cbiAgfVxuICAuZmlyc3Qtb2YtdHlwZVxcOnRleHQtYnJhbmQtZ3JlZW4tOTUwIHtcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTk1MCk7XG4gICAgfVxuICB9XG4gIC5ob3ZlclxcOmJvcmRlci1icmFuZC1ncmVlbi04MDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi04MDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpib3JkZXItYnJhbmQtZ3JlZW4tOTAwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6Ym9yZGVyLWJyYW5kLXN1bnNldC00MDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1zdW5zZXQtNDAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6Ym9yZGVyLWJyYW5kLXN1bnNldC00MDBcXC8zMCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZWE4MTRjIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTQwMCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6Ym9yZGVyLWJyYW5kLXN1bnNldC00MDBcXC81MCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZWE4MTRjIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTQwMCkgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6YmctYnJhbmQtYmVpZ2UtMTAwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTEwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ob3ZlclxcOmJnLWJyYW5kLWJlaWdlLTEwMFxcLzUwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZmFmN2VmIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTEwMCkgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6YmctYnJhbmQtYmVpZ2UtMjAwXFwvNTAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNmNGVkZDkgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMjAwKSA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpiZy1icmFuZC1ncmVlbi01MFxcLzMwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZjBmYWY0IDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTUwKSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpiZy1icmFuZC1ncmVlbi01MFxcLzUwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZjBmYWY0IDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTUwKSA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpiZy1icmFuZC1ncmVlbi04MDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tODAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6YmctYnJhbmQtZ3JlZW4tOTAwXFwvMjAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMxMjJjMWIgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTAwKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpiZy1icmFuZC1ncmVlbi05NTAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTUwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6YmctYnJhbmQtc3Vuc2V0LTUwMFxcLzE1IHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZGI2MDIwIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLXN1bnNldC01MDApIDE1JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ob3ZlclxcOmJnLWJyYW5kLXN1bnNldC02MDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTYwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ob3ZlclxcOmJnLXdoaXRlXFwvMTAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNmZmYgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3Itd2hpdGUpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ob3ZlclxcOnRleHQtYnJhbmQtYmVpZ2UtNTAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTUwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6dGV4dC1icmFuZC1ncmVlbi04MDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTgwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ob3ZlclxcOnRleHQtYnJhbmQtZ3JlZW4tOTAwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05MDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDp0ZXh0LWJyYW5kLXN1bnNldC0zMDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLXN1bnNldC0zMDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDp0ZXh0LWJyYW5kLXN1bnNldC00MDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLXN1bnNldC00MDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDp0ZXh0LWJyYW5kLXN1bnNldC01MDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLXN1bnNldC01MDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDp0ZXh0LWJyYW5kLXN1bnNldC02MDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLXN1bnNldC02MDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDp0ZXh0LXJlZC03MDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXJlZC03MDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpvcGFjaXR5LTEwMCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBvcGFjaXR5OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpzaGFkb3ctXFxbMF8wXzIwcHhfcmdiYVxcKDIxOVxcLDk2XFwsMzJcXCwwXFwuMTVcXClcXF0ge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgLS10dy1zaGFkb3c6IDAgMCAyMHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiYSgyMTksOTYsMzIsMC4xNSkpO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS10dy1pbnNldC1zaGFkb3cpLCB2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6c2hhZG93LWxnIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC0tdHctc2hhZG93OiAwIDEwcHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSksIDAgNHB4IDZweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LWluc2V0LXNoYWRvdyksIHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSwgdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpzaGFkb3ctbWQge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgLS10dy1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSksIDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LWluc2V0LXNoYWRvdyksIHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSwgdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpzaGFkb3ctc20ge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LWluc2V0LXNoYWRvdyksIHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSwgdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpzaGFkb3cteGwge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgLS10dy1zaGFkb3c6IDAgMjBweCAyNXB4IC01cHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjEpKSwgMCA4cHggMTBweCAtNnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LWluc2V0LXNoYWRvdyksIHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSwgdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3cpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpzaGFkb3ctYnJhbmQtc3Vuc2V0LTUwMFxcLzIwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC0tdHctc2hhZG93LWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2RiNjAyMCAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAgICAgLS10dy1zaGFkb3ctY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1zdW5zZXQtNTAwKSAyMCUsIHRyYW5zcGFyZW50KSB2YXIoLS10dy1zaGFkb3ctYWxwaGEpLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvY3VzXFw6Ym9yZGVyLWJyYW5kLWdyZWVuLTcwMCB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTcwMCk7XG4gICAgfVxuICB9XG4gIC5mb2N1c1xcOmJvcmRlci1icmFuZC1ncmVlbi04MDAge1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi04MDApO1xuICAgIH1cbiAgfVxuICAuZm9jdXNcXDpib3JkZXItYnJhbmQtc3Vuc2V0LTUwMCB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLXN1bnNldC01MDApO1xuICAgIH1cbiAgfVxuICAuZm9jdXNcXDpiZy1icmFuZC1iZWlnZS0xMDBcXC8zMCB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2ZhZjdlZiAzMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTEwMCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb2N1c1xcOmJnLWJyYW5kLWJlaWdlLTIwMFxcLzEwIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZjRlZGQ5IDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMjAwKSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvY3VzXFw6b3V0bGluZS1ub25lIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIC0tdHctb3V0bGluZS1zdHlsZTogbm9uZTtcbiAgICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5mb2N1cy12aXNpYmxlXFw6b3BhY2l0eS0xMDAge1xuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxMDAlO1xuICAgIH1cbiAgfVxuICAuZm9jdXMtdmlzaWJsZVxcOnJpbmctMiB7XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQsKSAwIDAgMCBjYWxjKDJweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvciwgY3VycmVudGNvbG9yKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LWluc2V0LXNoYWRvdyksIHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSwgdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3cpO1xuICAgIH1cbiAgfVxuICAuZm9jdXMtdmlzaWJsZVxcOnJpbmctYnJhbmQtc3Vuc2V0LTUwMCB7XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIC0tdHctcmluZy1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTUwMCk7XG4gICAgfVxuICB9XG4gIC5mb2N1cy12aXNpYmxlXFw6cmluZy1pbnNldCB7XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIC0tdHctcmluZy1pbnNldDogaW5zZXQ7XG4gICAgfVxuICB9XG4gIC5hY3RpdmVcXDpzY2FsZS05NSB7XG4gICAgJjphY3RpdmUge1xuICAgICAgLS10dy1zY2FsZS14OiA5NSU7XG4gICAgICAtLXR3LXNjYWxlLXk6IDk1JTtcbiAgICAgIC0tdHctc2NhbGUtejogOTUlO1xuICAgICAgc2NhbGU6IHZhcigtLXR3LXNjYWxlLXgpIHZhcigtLXR3LXNjYWxlLXkpO1xuICAgIH1cbiAgfVxuICAuYWN0aXZlXFw6c2NhbGUtOTgge1xuICAgICY6YWN0aXZlIHtcbiAgICAgIC0tdHctc2NhbGUteDogOTglO1xuICAgICAgLS10dy1zY2FsZS15OiA5OCU7XG4gICAgICAtLXR3LXNjYWxlLXo6IDk4JTtcbiAgICAgIHNjYWxlOiB2YXIoLS10dy1zY2FsZS14KSB2YXIoLS10dy1zY2FsZS15KTtcbiAgICB9XG4gIH1cbiAgLmRpc2FibGVkXFw6b3BhY2l0eS01MCB7XG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiA1MCU7XG4gICAgfVxuICB9XG4gIC5kaXNhYmxlZFxcOm9wYWNpdHktODAge1xuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogODAlO1xuICAgIH1cbiAgfVxuICAuc21cXDpjb2wtc3Bhbi0xIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAxIC8gc3BhbiAxO1xuICAgIH1cbiAgfVxuICAuc21cXDpjb2wtc3Bhbi01IHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiA1IC8gc3BhbiA1O1xuICAgIH1cbiAgfVxuICAuc21cXDpjb2wtc3Bhbi03IHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiA3IC8gc3BhbiA3O1xuICAgIH1cbiAgfVxuICAuc21cXDptdC0zIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gICAgfVxuICB9XG4gIC5zbVxcOm10LTE2IHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTYpO1xuICAgIH1cbiAgfVxuICAuc21cXDptdC0yNCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDI0KTtcbiAgICB9XG4gIH1cbiAgLnNtXFw6bWItMyB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMpO1xuICAgIH1cbiAgfVxuICAuc21cXDpmbGV4IHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICAuc21cXDpoLTEyIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAxMik7XG4gICAgfVxuICB9XG4gIC5zbVxcOmgtNTYge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDU2KTtcbiAgICB9XG4gIH1cbiAgLnNtXFw6aC04MCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogODApO1xuICAgIH1cbiAgfVxuICAuc21cXDpoLTk2IHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiA5Nik7XG4gICAgfVxuICB9XG4gIC5zbVxcOmgtXFxbNDIwcHhcXF0ge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAgIGhlaWdodDogNDIwcHg7XG4gICAgfVxuICB9XG4gIC5zbVxcOm1pbi1oLVxcWzI2MHB4XFxdIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBtaW4taGVpZ2h0OiAyNjBweDtcbiAgICB9XG4gIH1cbiAgLnNtXFw6dy1hdXRvIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbiAgLnNtXFw6Z3JpZC1jb2xzLTIge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG4gIH1cbiAgLnNtXFw6Z3JpZC1jb2xzLTMge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG4gIH1cbiAgLnNtXFw6Z3JpZC1jb2xzLTEyIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cbiAgfVxuICAuc21cXDpmbGV4LXJvdyB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gIH1cbiAgLnNtXFw6aXRlbXMtY2VudGVyIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuICAuc21cXDpnYXAtNiB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gICAgfVxuICB9XG4gIC5zbVxcOmJvcmRlci10LTAge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAgIGJvcmRlci10b3Atc3R5bGU6IHZhcigtLXR3LWJvcmRlci1zdHlsZSk7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAwcHg7XG4gICAgfVxuICB9XG4gIC5zbVxcOmJvcmRlci1sIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBib3JkZXItbGVmdC1zdHlsZTogdmFyKC0tdHctYm9yZGVyLXN0eWxlKTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgfVxuICB9XG4gIC5zbVxcOnAtOCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDgpO1xuICAgIH1cbiAgfVxuICAuc21cXDpwLTEwIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTApO1xuICAgIH1cbiAgfVxuICAuc21cXDpwLTEyIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTIpO1xuICAgIH1cbiAgfVxuICAuc21cXDpweC02IHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpO1xuICAgIH1cbiAgfVxuICAuc21cXDpwdC0wIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDApO1xuICAgIH1cbiAgfVxuICAuc21cXDpwdC0xMCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAxMCk7XG4gICAgfVxuICB9XG4gIC5zbVxcOnB0LTM2IHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDM2KTtcbiAgICB9XG4gIH1cbiAgLnNtXFw6cGwtNiB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gICAgfVxuICB9XG4gIC5zbVxcOnRleHQtM3hsIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXRleHQtM3hsKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10dy1sZWFkaW5nLCB2YXIoLS10ZXh0LTN4bC0tbGluZS1oZWlnaHQpKTtcbiAgICB9XG4gIH1cbiAgLnNtXFw6dGV4dC00eGwge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC00eGwpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXR3LWxlYWRpbmcsIHZhcigtLXRleHQtNHhsLS1saW5lLWhlaWdodCkpO1xuICAgIH1cbiAgfVxuICAuc21cXDp0ZXh0LTV4bCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTV4bCk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC01eGwtLWxpbmUtaGVpZ2h0KSk7XG4gICAgfVxuICB9XG4gIC5zbVxcOnRleHQtYmFzZSB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWJhc2UpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXR3LWxlYWRpbmcsIHZhcigtLXRleHQtYmFzZS0tbGluZS1oZWlnaHQpKTtcbiAgICB9XG4gIH1cbiAgLnNtXFw6dGV4dC1sZyB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWxnKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10dy1sZWFkaW5nLCB2YXIoLS10ZXh0LWxnLS1saW5lLWhlaWdodCkpO1xuICAgIH1cbiAgfVxuICAuc21cXDp0ZXh0LXNtIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXRleHQtc20pO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXR3LWxlYWRpbmcsIHZhcigtLXRleHQtc20tLWxpbmUtaGVpZ2h0KSk7XG4gICAgfVxuICB9XG4gIC5zbVxcOnRleHQteHMge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC14cyk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKTtcbiAgICB9XG4gIH1cbiAgLm1kXFw6Y29sLXNwYW4tNCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0OHJlbSkge1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNCAvIHNwYW4gNDtcbiAgICB9XG4gIH1cbiAgLm1kXFw6Y29sLXNwYW4tOCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0OHJlbSkge1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gOCAvIHNwYW4gODtcbiAgICB9XG4gIH1cbiAgLm1kXFw6Z3JpZC1jb2xzLTIge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDhyZW0pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG4gIH1cbiAgLm1kXFw6Z3JpZC1jb2xzLTMge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDhyZW0pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG4gIH1cbiAgLm1kXFw6Z3JpZC1jb2xzLTEyIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQ4cmVtKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cbiAgfVxuICAubWRcXDpmbGV4LXJvdyB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0OHJlbSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gIH1cbiAgLm1kXFw6aXRlbXMtZW5kIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQ4cmVtKSB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuICB9XG4gIC5tZFxcOnRleHQtcmlnaHQge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDhyZW0pIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICAubWRcXDp0ZXh0LTZ4bCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0OHJlbSkge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTZ4bCk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC02eGwtLWxpbmUtaGVpZ2h0KSk7XG4gICAgfVxuICB9XG4gIC5tZFxcOnRleHQteGwge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDhyZW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC14bCk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC14bC0tbGluZS1oZWlnaHQpKTtcbiAgICB9XG4gIH1cbiAgLmxnXFw6Y29sLXNwYW4tNCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNCAvIHNwYW4gNDtcbiAgICB9XG4gIH1cbiAgLmxnXFw6Y29sLXNwYW4tNSB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNSAvIHNwYW4gNTtcbiAgICB9XG4gIH1cbiAgLmxnXFw6Y29sLXNwYW4tNiB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNiAvIHNwYW4gNjtcbiAgICB9XG4gIH1cbiAgLmxnXFw6Y29sLXNwYW4tNyB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gNyAvIHNwYW4gNztcbiAgICB9XG4gIH1cbiAgLmxnXFw6Y29sLXNwYW4tOCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gOCAvIHNwYW4gODtcbiAgICB9XG4gIH1cbiAgLmxnXFw6ZmxleCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgLmxnXFw6aGlkZGVuIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDY0cmVtKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAubGdcXDpncmlkLWNvbHMtMiB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cbiAgfVxuICAubGdcXDpncmlkLWNvbHMtNCB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cbiAgfVxuICAubGdcXDpncmlkLWNvbHMtMTIge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNjRyZW0pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgfVxuICB9XG4gIC5sZ1xcOmdhcC0xMiB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTIpO1xuICAgIH1cbiAgfVxuICAubGdcXDpib3JkZXItciB7XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiB2YXIoLS10dy1ib3JkZXItc3R5bGUpO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgfVxuICB9XG4gIC5sZ1xcOmJvcmRlci1iLTAge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNjRyZW0pIHtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHZhcigtLXR3LWJvcmRlci1zdHlsZSk7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwcHg7XG4gICAgfVxuICB9XG4gIC5sZ1xcOnAtMTYge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNjRyZW0pIHtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2luZykgKiAxNik7XG4gICAgfVxuICB9XG4gIC5sZ1xcOnB4LTgge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNjRyZW0pIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXNwYWNpbmcpICogOCk7XG4gICAgfVxuICB9XG4gIC5sZ1xcOnRleHQtNXhsIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDY0cmVtKSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXRleHQtNXhsKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10dy1sZWFkaW5nLCB2YXIoLS10ZXh0LTV4bC0tbGluZS1oZWlnaHQpKTtcbiAgICB9XG4gIH1cbiAgLmxnXFw6dGV4dC03eGwge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNjRyZW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC03eGwpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXR3LWxlYWRpbmcsIHZhcigtLXRleHQtN3hsLS1saW5lLWhlaWdodCkpO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOmJvcmRlci1icmFuZC1iZWlnZS0yMDBcXC8yMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2Y0ZWRkOSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMjAwKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpib3JkZXItYnJhbmQtYmVpZ2UtMjAwXFwvMzAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNmNGVkZDkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTIwMCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6Ym9yZGVyLWJyYW5kLWdyZWVuLTcwMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi03MDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOmJvcmRlci1icmFuZC1ncmVlbi04MDAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tODAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpib3JkZXItYnJhbmQtZ3JlZW4tODAwXFwvNjAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMxOTNjMjUgNjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTgwMCkgNjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6Ym9yZGVyLWJyYW5kLWdyZWVuLTkwMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05MDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOmJvcmRlci1icmFuZC1ncmVlbi05MDBcXC80MCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzEyMmMxYiA0MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTAwKSA0MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpib3JkZXItYnJhbmQtZ3JlZW4tOTAwXFwvNTUge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMxMjJjMWIgNTUlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTkwMCkgNTUlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6Ym9yZGVyLWJyYW5kLWdyZWVuLTkwMFxcLzYwIHtcbiAgICAmOndoZXJlKC5kYXJrLCAuZGFyayAqKSB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMTIyYzFiIDYwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05MDApIDYwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmJvcmRlci1icmFuZC1zdW5zZXQtNTAwXFwvNDAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNkYjYwMjAgNDAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLXN1bnNldC01MDApIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmJvcmRlci1yZWQtOTAwXFwvNTAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIG9rbGNoKDM5LjYlIDAuMTQxIDI1LjcyMykgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLXJlZC05MDApIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmJnLWJyYW5kLWdyZWVuLTgwMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tODAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpiZy1icmFuZC1ncmVlbi04MDBcXC84MCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMxOTNjMjUgODAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi04MDApIDgwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmJnLWJyYW5kLWdyZWVuLTkwMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpiZy1icmFuZC1ncmVlbi05MDBcXC8zNSB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMxMjJjMWIgMzUlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05MDApIDM1JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmJnLWJyYW5kLWdyZWVuLTkwMFxcLzUwIHtcbiAgICAmOndoZXJlKC5kYXJrLCAuZGFyayAqKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzEyMmMxYiA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTkwMCkgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6YmctYnJhbmQtZ3JlZW4tOTAwXFwvNjAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMTIyYzFiIDYwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTAwKSA2MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpiZy1icmFuZC1ncmVlbi05MDBcXC85NSB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMxMjJjMWIgOTUlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05MDApIDk1JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmJnLWJyYW5kLWdyZWVuLTk1MCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTUwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpiZy1icmFuZC1ncmVlbi05NTBcXC8zMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMwZDFlMTMgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05NTApIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmJnLWJyYW5kLWdyZWVuLTk1MFxcLzUwIHtcbiAgICAmOndoZXJlKC5kYXJrLCAuZGFyayAqKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzBkMWUxMyA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTk1MCkgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6YmctYnJhbmQtZ3JlZW4tOTUwXFwvOTUge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMGQxZTEzIDk1JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTUwKSA5NSUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpiZy1icmFuZC1zdW5zZXQtNTAwIHtcbiAgICAmOndoZXJlKC5kYXJrLCAuZGFyayAqKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1zdW5zZXQtNTAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpiZy1yZWQtOTUwXFwvMzAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCBva2xjaCgyNS44JSAwLjA5MiAyNi4wNDIpIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItcmVkLTk1MCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6ZnJvbS1icmFuZC1ncmVlbi05NTAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIC0tdHctZ3JhZGllbnQtZnJvbTogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tOTUwKTtcbiAgICAgIC0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcywgdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSk7XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6dGV4dC1icmFuZC1iZWlnZS01MCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTUwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDp0ZXh0LWJyYW5kLWJlaWdlLTEwMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTEwMCk7XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6dGV4dC1icmFuZC1iZWlnZS0yMDAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS0yMDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOnRleHQtYnJhbmQtYmVpZ2UtMzAwIHtcbiAgICAmOndoZXJlKC5kYXJrLCAuZGFyayAqKSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMzAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDp0ZXh0LWJyYW5kLWJlaWdlLTQwMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWJlaWdlLTQwMCk7XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6dGV4dC1icmFuZC1ncmVlbi00MDAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi00MDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOnRleHQtYnJhbmQtZ3JlZW4tNTAwIHtcbiAgICAmOndoZXJlKC5kYXJrLCAuZGFyayAqKSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tNTAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDp0ZXh0LWJyYW5kLXN1bnNldC00MDAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1zdW5zZXQtNDAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDp0ZXh0LXJlZC0xMDAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1yZWQtMTAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpwbGFjZWhvbGRlci1icmFuZC1ncmVlbi01MDAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tNTAwKTtcbiAgICAgIH1cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTUwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6b3BhY2l0eS02MCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgb3BhY2l0eTogNjAlO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOnNoYWRvdy1ibGFja1xcLzIwIHtcbiAgICAmOndoZXJlKC5kYXJrLCAuZGFyayAqKSB7XG4gICAgICAtLXR3LXNoYWRvdy1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICMwMDAgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgLS10dy1zaGFkb3ctY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1ibGFjaykgMjAlLCB0cmFuc3BhcmVudCkgdmFyKC0tdHctc2hhZG93LWFscGhhKSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZ3JvdXAtaG92ZXJcXDpkYXJrXFw6YmctYnJhbmQtc3Vuc2V0LTUwMFxcLzIwIHtcbiAgICAmOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2RiNjAyMCAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTUwMCkgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6Zmlyc3Qtb2YtdHlwZVxcOnRleHQtYnJhbmQtYmVpZ2UtMTAwIHtcbiAgICAmOndoZXJlKC5kYXJrLCAuZGFyayAqKSB7XG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMTAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpob3ZlclxcOmJvcmRlci1icmFuZC1iZWlnZS0xMDAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMTAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmhvdmVyXFw6Ym9yZGVyLWJyYW5kLXN1bnNldC01MDBcXC81MCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgI2RiNjAyMCA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1zdW5zZXQtNTAwKSA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpob3ZlclxcOmJnLWJyYW5kLWdyZWVuLTcwMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtZ3JlZW4tNzAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmhvdmVyXFw6YmctYnJhbmQtZ3JlZW4tODAwXFwvMzAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMTkzYzI1IDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi04MDApIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmhvdmVyXFw6YmctYnJhbmQtZ3JlZW4tODAwXFwvNDAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMTkzYzI1IDQwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi04MDApIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmhvdmVyXFw6YmctYnJhbmQtZ3JlZW4tOTAwXFwvMzAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMTIyYzFiIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05MDApIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmhvdmVyXFw6YmctYnJhbmQtZ3JlZW4tOTAwXFwvNDAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMTIyYzFiIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05MDApIDQwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmhvdmVyXFw6YmctYnJhbmQtc3Vuc2V0LTYwMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTYwMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpob3ZlclxcOnRleHQtYnJhbmQtYmVpZ2UtNTAge1xuICAgICY6d2hlcmUoLmRhcmssIC5kYXJrICopIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS01MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpob3ZlclxcOnRleHQtYnJhbmQtYmVpZ2UtMTAwIHtcbiAgICAmOndoZXJlKC5kYXJrLCAuZGFyayAqKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMTAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmhvdmVyXFw6dGV4dC1icmFuZC1zdW5zZXQtNDAwIHtcbiAgICAmOndoZXJlKC5kYXJrLCAuZGFyayAqKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTQwMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpob3ZlclxcOnRleHQtcmVkLTIwMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXJlZC0yMDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6Zm9jdXNcXDpib3JkZXItYnJhbmQtc3Vuc2V0LTUwMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQtc3Vuc2V0LTUwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6Zm9jdXNcXDpiZy1icmFuZC1ncmVlbi04MDBcXC8zMCB7XG4gICAgJjp3aGVyZSguZGFyaywgLmRhcmsgKikge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMTkzYzI1IDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJyYW5kLWdyZWVuLTgwMCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbkBsYXllciB1dGlsaXRpZXMge1xuICAudGV4dC1zaGFkb3ctc20ge1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB9XG4gIC50ZXh0LXNoYWRvdy1tZCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIH1cbiAgLnNjcm9sbGJhci1oaWRlOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc2Nyb2xsYmFyLWhpZGUge1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIH1cbn1cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS01MCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZC1ncmVlbi05NTApO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiA4cHg7XG59XG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtMTAwKTtcbn1cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1icmFuZC1iZWlnZS00MDApO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYnJhbmQtYmVpZ2UtNTAwKTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXRyYW5zbGF0ZS14IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwO1xufVxuQHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXkge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDA7XG59XG5AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteiB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNjYWxlLXgge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDE7XG59XG5AcHJvcGVydHkgLS10dy1zY2FsZS15IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAxO1xufVxuQHByb3BlcnR5IC0tdHctc2NhbGUteiB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS14IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctcm90YXRlLXkge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1yb3RhdGUteiB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNrZXcteCB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNrZXcteSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNwYWNlLXktcmV2ZXJzZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNwYWNlLXgtcmV2ZXJzZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJvcmRlci1zdHlsZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogc29saWQ7XG59XG5AcHJvcGVydHkgLS10dy1ncmFkaWVudC1wb3NpdGlvbiB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb20ge1xuICBzeW50YXg6IFwiPGNvbG9yPlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6ICMwMDAwO1xufVxuQHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdmlhIHtcbiAgc3ludGF4OiBcIjxjb2xvcj5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAjMDAwMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXRvIHtcbiAgc3ludGF4OiBcIjxjb2xvcj5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAjMDAwMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXN0b3BzIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiB7XG4gIHN5bnRheDogXCI8bGVuZ3RoLXBlcmNlbnRhZ2U+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMCU7XG59XG5AcHJvcGVydHkgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb24ge1xuICBzeW50YXg6IFwiPGxlbmd0aC1wZXJjZW50YWdlPlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDUwJTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uIHtcbiAgc3ludGF4OiBcIjxsZW5ndGgtcGVyY2VudGFnZT5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAxMDAlO1xufVxuQHByb3BlcnR5IC0tdHctbGVhZGluZyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWZvbnQtd2VpZ2h0IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctdHJhY2tpbmcge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1zaGFkb3cge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDAgMCAjMDAwMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNoYWRvdy1jb2xvciB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNoYWRvdy1hbHBoYSB7XG4gIHN5bnRheDogXCI8cGVyY2VudGFnZT5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAxMDAlO1xufVxuQHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwIDAgIzAwMDA7XG59XG5AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctY29sb3Ige1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctYWxwaGEge1xuICBzeW50YXg6IFwiPHBlcmNlbnRhZ2U+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMTAwJTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXJpbmctY29sb3Ige1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1yaW5nLXNoYWRvdyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMCAwICMwMDAwO1xufVxuQHByb3BlcnR5IC0tdHctaW5zZXQtcmluZy1jb2xvciB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWluc2V0LXJpbmctc2hhZG93IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwIDAgIzAwMDA7XG59XG5AcHJvcGVydHkgLS10dy1yaW5nLWluc2V0IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtd2lkdGgge1xuICBzeW50YXg6IFwiPGxlbmd0aD5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwcHg7XG59XG5AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC1jb2xvciB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogI2ZmZjtcbn1cbkBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMCAwICMwMDAwO1xufVxuQHByb3BlcnR5IC0tdHctYmx1ciB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJyaWdodG5lc3Mge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1jb250cmFzdCB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWdyYXlzY2FsZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWh1ZS1yb3RhdGUge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1pbnZlcnQge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1vcGFjaXR5IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2F0dXJhdGUge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1zZXBpYSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctY29sb3Ige1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdy1hbHBoYSB7XG4gIHN5bnRheDogXCI8cGVyY2VudGFnZT5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAxMDAlO1xufVxuQHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctc2l6ZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWJsdXIge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctYmFja2Ryb3AtY29udHJhc3Qge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1odWUtcm90YXRlIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaW52ZXJ0IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctYmFja2Ryb3Atb3BhY2l0eSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLXNhdHVyYXRlIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctYmFja2Ryb3Atc2VwaWEge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1kdXJhdGlvbiB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cbkBsYXllciBwcm9wZXJ0aWVzIHtcbiAgQHN1cHBvcnRzICgoLXdlYmtpdC1oeXBoZW5zOiBub25lKSBhbmQgKG5vdCAobWFyZ2luLXRyaW06IGlubGluZSkpKSBvciAoKC1tb3otb3JpZW50OiBpbmxpbmUpIGFuZCAobm90IChjb2xvcjpyZ2IoZnJvbSByZWQgciBnIGIpKSkpIHtcbiAgICAqLCA6OmJlZm9yZSwgOjphZnRlciwgOjpiYWNrZHJvcCB7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xuICAgICAgLS10dy10cmFuc2xhdGUteTogMDtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXo6IDA7XG4gICAgICAtLXR3LXNjYWxlLXg6IDE7XG4gICAgICAtLXR3LXNjYWxlLXk6IDE7XG4gICAgICAtLXR3LXNjYWxlLXo6IDE7XG4gICAgICAtLXR3LXJvdGF0ZS14OiBpbml0aWFsO1xuICAgICAgLS10dy1yb3RhdGUteTogaW5pdGlhbDtcbiAgICAgIC0tdHctcm90YXRlLXo6IGluaXRpYWw7XG4gICAgICAtLXR3LXNrZXcteDogaW5pdGlhbDtcbiAgICAgIC0tdHctc2tldy15OiBpbml0aWFsO1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICAtLXR3LXNwYWNlLXgtcmV2ZXJzZTogMDtcbiAgICAgIC0tdHctYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIC0tdHctZ3JhZGllbnQtcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAtLXR3LWdyYWRpZW50LWZyb206ICMwMDAwO1xuICAgICAgLS10dy1ncmFkaWVudC12aWE6ICMwMDAwO1xuICAgICAgLS10dy1ncmFkaWVudC10bzogIzAwMDA7XG4gICAgICAtLXR3LWdyYWRpZW50LXN0b3BzOiBpbml0aWFsO1xuICAgICAgLS10dy1ncmFkaWVudC12aWEtc3RvcHM6IGluaXRpYWw7XG4gICAgICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246IDAlO1xuICAgICAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246IDUwJTtcbiAgICAgIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246IDEwMCU7XG4gICAgICAtLXR3LWxlYWRpbmc6IGluaXRpYWw7XG4gICAgICAtLXR3LWZvbnQtd2VpZ2h0OiBpbml0aWFsO1xuICAgICAgLS10dy10cmFja2luZzogaW5pdGlhbDtcbiAgICAgIC0tdHctc2hhZG93OiAwIDAgIzAwMDA7XG4gICAgICAtLXR3LXNoYWRvdy1jb2xvcjogaW5pdGlhbDtcbiAgICAgIC0tdHctc2hhZG93LWFscGhhOiAxMDAlO1xuICAgICAgLS10dy1pbnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcbiAgICAgIC0tdHctaW5zZXQtc2hhZG93LWNvbG9yOiBpbml0aWFsO1xuICAgICAgLS10dy1pbnNldC1zaGFkb3ctYWxwaGE6IDEwMCU7XG4gICAgICAtLXR3LXJpbmctY29sb3I6IGluaXRpYWw7XG4gICAgICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XG4gICAgICAtLXR3LWluc2V0LXJpbmctY29sb3I6IGluaXRpYWw7XG4gICAgICAtLXR3LWluc2V0LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7XG4gICAgICAtLXR3LXJpbmctaW5zZXQ6IGluaXRpYWw7XG4gICAgICAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoOiAwcHg7XG4gICAgICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmO1xuICAgICAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDtcbiAgICAgIC0tdHctYmx1cjogaW5pdGlhbDtcbiAgICAgIC0tdHctYnJpZ2h0bmVzczogaW5pdGlhbDtcbiAgICAgIC0tdHctY29udHJhc3Q6IGluaXRpYWw7XG4gICAgICAtLXR3LWdyYXlzY2FsZTogaW5pdGlhbDtcbiAgICAgIC0tdHctaHVlLXJvdGF0ZTogaW5pdGlhbDtcbiAgICAgIC0tdHctaW52ZXJ0OiBpbml0aWFsO1xuICAgICAgLS10dy1vcGFjaXR5OiBpbml0aWFsO1xuICAgICAgLS10dy1zYXR1cmF0ZTogaW5pdGlhbDtcbiAgICAgIC0tdHctc2VwaWE6IGluaXRpYWw7XG4gICAgICAtLXR3LWRyb3Atc2hhZG93OiBpbml0aWFsO1xuICAgICAgLS10dy1kcm9wLXNoYWRvdy1jb2xvcjogaW5pdGlhbDtcbiAgICAgIC0tdHctZHJvcC1zaGFkb3ctYWxwaGE6IDEwMCU7XG4gICAgICAtLXR3LWRyb3Atc2hhZG93LXNpemU6IGluaXRpYWw7XG4gICAgICAtLXR3LWJhY2tkcm9wLWJsdXI6IGluaXRpYWw7XG4gICAgICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6IGluaXRpYWw7XG4gICAgICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiBpbml0aWFsO1xuICAgICAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6IGluaXRpYWw7XG4gICAgICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6IGluaXRpYWw7XG4gICAgICAtLXR3LWJhY2tkcm9wLWludmVydDogaW5pdGlhbDtcbiAgICAgIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogaW5pdGlhbDtcbiAgICAgIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6IGluaXRpYWw7XG4gICAgICAtLXR3LWJhY2tkcm9wLXNlcGlhOiBpbml0aWFsO1xuICAgICAgLS10dy1kdXJhdGlvbjogaW5pdGlhbDtcbiAgICB9XG4gIH1cbn1cclxuIl0sCiAgIm1hcHBpbmdzIjogIjs7O0FBRUE7QUFDQTtBQUNBO0FBQ0U7QUFBQSxFQUFPO0FBQ0w7QUFBQSxNQUFhLG1CQUFtQjtBQUFBLE1BQUUsYUFBYTtBQUFBLE1BQUUsU0FB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VUFBVSxHQUFHLElBQUksRUFBRSxRQUFRLEdBQUcsRUFBRTtBQUM5QyxjQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQ3ZDLG9CQUFjLFVBQVUsR0FBRyxLQUFLLEVBQUUsSUFBSSx5QkFBeUIsR0FBRyxFQUFFO0FBQ3RFO0FBQ0Y7QUFDQSxHQUFDO0FBQ0Msa0JBQWMsVUFBVSxHQUFHLElBQUksRUFBRSxRQUFRLEdBQUcsRUFBRTtBQUM5QyxjQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQ3ZDLG9CQUFjLFVBQVUsR0FBRyxLQUFLLEVBQUUsSUFBSSx5QkFBeUIsR0FBRyxFQUFFO0FBQ3RFO0FBQ0Y7QUFDQSxHQUFDO0FBQ0Msa0JBQWMsVUFBVSxHQUFHLElBQUksRUFBRSxRQUFRLEdBQUcsRUFBRTtBQUM5QyxjQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQ3ZDLG9CQUFjLFVBQVUsR0FBRyxLQUFLLEVBQUUsSUFBSSx5QkFBeUIsR0FBRyxFQUFFO0FBQ3RFO0FBQ0Y7QUFDQSxHQUFDO0FBQ0Msa0JBQWMsVUFBVSxHQUFHLElBQUksRUFBRSxRQUFRLEdBQUcsRUFBRTtBQUM5QyxjQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQ3ZDLG9CQUFjLFVBQVUsR0FBRyxLQUFLLEVBQUUsSUFBSSx5QkFBeUIsR0FBRyxFQUFFO0FBQ3RFO0FBQ0Y7QUFDQSxHQUFDO0FBQ0Msa0JBQWMsVUFBVSxHQUFHLElBQUksRUFBRSxRQUFRLEdBQUcsRUFBRTtBQUM5QyxjQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQ3ZDLG9CQUFjLFVBQVUsR0FBRyxLQUFLLEVBQUUsSUFBSSx5QkFBeUIsR0FBRyxFQUFFO0FBQ3RFO0FBQ0Y7QUFDQSxHQUFDO0FBQ0Msa0JBQWMsSUFBSTtBQUNwQjtBQUNB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 */
