@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
h1.page-title {
  font-size: 28px;
  font-weight: 600;
  color: #40499a;
}

/* ============================================================
   QDNA Pro — Design Tokens (central) — compiled from _design-tokens.scss
   ------------------------------------------------------------
   Drop-in CSS for file:// pages (homepage-mockup, tasklist-page,
   prototype previews). Mirrors the canonical _design-tokens.scss
   1:1; if you edit one, edit the other.

   Two layers:
     A. PRIMITIVES — raw Figma values.
     B. SEMANTIC TOKENS — reference primitives via var().

   Generated 2026-05-19 (FLY BABY FLY overnight migration).
   ============================================================ */
:root {
  /* ---------- Greys (Figma Colors/Grey/*) ---------- */
  --c-grey-950: #0b0b0d;
  --c-grey-900: #18181c;
  --c-grey-800: #2e3036;
  --c-grey-700: #40444d;
  --c-grey-600: #565b66;
  --c-grey-500: #6b7280;
  --c-grey-400: #a6aab3;
  --c-grey-300: #c4c7cc;
  --c-grey-200: #d1d5db;
  --c-grey-100: #e7e9ec;
  --c-grey-50: #f0f1f2;
  /* ---------- Action purples (Figma Colors/Purple/*) ---------- */
  --c-purple-700: #2a3268;
  --c-purple-600: #333a7b;
  --c-purple-500: #40499a;
  --c-purple-400: #5a64b8;
  --c-purple-300: #8a92d0;
  --c-purple-200: #a5acff;
  --c-purple-100: #c0c5ff;
  --c-purple-50: #e6e9ff;
  /* ---------- Action highlight (Figma Purple HIGHLIGHT/*) ---------- */
  --c-action-500: #4652f3;
  --c-action-600: #3540d6;
  --c-action-700: #2a36b8;
  /* ---------- Signal colours (semantic-ish primitives) ---------- */
  --c-signal-green-bg: #c5f5e2;
  --c-signal-green-text: #428b6e;
  --c-signal-green-100: #d8f4e3;
  --c-signal-yellow-bg: #feedb8;
  --c-signal-yellow-text: #bf7202;
  --c-signal-blue-bg: #e6eff9;
  --c-signal-blue-text: #6a8ab4;
  --c-signal-red-bg: #fee3e3;
  --c-signal-red-text: #c65a5a;
  --c-signal-red-soft: #fff0f0;
  /* Orange + pink pairs (02.07.2026, calendar): orange = the "in progress" event
     status, pink = personal events. Pink bg deliberately equals the tasklist pink
     pastel so the two systems stay visually related. */
  --c-signal-orange-bg: #fdeadc;
  --c-signal-orange-text: #bc6a1f;
  --c-signal-pink-bg: #f6e1e8;
  --c-signal-pink-text: #b25777;
  /* ---------- Favorite / heart (Kim 22.07.2026) ----------
     Red-pink used for the "favorite" heart. Was hardcoded in the heart-mode
     favorite button; promoted to a token so qdnapro-status-badge and the
     favorite button share one source. */
  --c-favorite-heart: #ff4d6a;
  /* ---------- Bright signal accents (vivid; Kim 24.06.2026) ----------
     The muted --c-signal-* are for soft pill backgrounds; these brights are for
     vivid accents (filled borders, fills, the toast warning). */
  --c-success-bright: #1d9e75; /* vivid success green */
  --c-warning-bright-bg: #fff3cd; /* vivid warning yellow set (toast reference) */
  --c-warning-bright-text: #9a6a10;
  --c-warning-bright-border: #f0d060;
  /* ---------- Warning / danger ramp ---------- */
  --c-warn-amber-500: #d97706;
  --c-warn-amber-600: #b45309;
  --c-warn-orange-500: #ea580c;
  --c-warn-orange-600: #c2410c;
  --c-warn-red-500: #dc2626;
  --c-warn-red-400: #f87171;
  --c-warn-red-300: #fca5a5;
  --c-warn-yellow-500: #fbbf24;
  --c-warn-yellow-600: #f59e0b;
  /* ---------- White + black alphas ---------- */
  --c-white-04: rgba(255, 255, 255, 0.04);
  --c-white-06: rgba(255, 255, 255, 0.06);
  --c-white-08: rgba(255, 255, 255, 0.08);
  --c-white-10: rgba(255, 255, 255, 0.10);
  --c-white-12: rgba(255, 255, 255, 0.12);
  --c-white-14: rgba(255, 255, 255, 0.14);
  --c-white-22: rgba(255, 255, 255, 0.22);
  --c-white-28: rgba(255, 255, 255, 0.28);
  --c-white-45: rgba(255, 255, 255, 0.45);
  --c-white-55: rgba(255, 255, 255, 0.55);
  --c-white-65: rgba(255, 255, 255, 0.65);
  --c-white-70: rgba(255, 255, 255, 0.70);
  --c-white-85: rgba(255, 255, 255, 0.85);
  --c-white-90: rgba(255, 255, 255, 0.90);
  --c-black-06: rgba(0, 0, 0, 0.06);
  --c-black-08: rgba(0, 0, 0, 0.08);
  --c-black-12: rgba(0, 0, 0, 0.12);
  --c-black-30: rgba(0, 0, 0, 0.30);
  --c-black-40: rgba(0, 0, 0, 0.40);
  --c-black-45: rgba(0, 0, 0, 0.45);
  /* ---------- Brand purple alphas ---------- */
  --c-action-08: rgba(70, 82, 243, 0.08);
  --c-action-12: rgba(70, 82, 243, 0.12);
  --c-action-18: rgba(70, 82, 243, 0.18);
  --c-action-22: rgba(70, 82, 243, 0.22);
  --c-action-25: rgba(70, 82, 243, 0.25);
  --c-action-30: rgba(70, 82, 243, 0.30);
  --c-action-40: rgba(70, 82, 243, 0.40);
  --c-action-50: rgba(70, 82, 243, 0.50);
  --c-action-70: rgba(70, 82, 243, 0.70);
  --c-purple-soft-12: rgba(64, 73, 154, 0.12);
  --c-purple-soft-18: rgba(64, 73, 154, 0.18);
  --c-purple-200-30: rgba(165, 172, 255, 0.30);
  --c-purple-200-50: rgba(165, 172, 255, 0.50);
  /* ============================================================
     LAYER B — Semantic tokens (LIGHT)
     ============================================================ */
  /* Brand */
  --c-brand-purple: var(--c-purple-500);
  --c-brand-purple-hover: var(--c-purple-600);
  --c-brand-purple-press: var(--c-purple-700);
  --c-purple-highlight: var(--c-action-500);
  /* Surfaces */
  --c-bg-page: #ebedfb;
  --c-bg-card: #ffffff;
  --c-bg-card-hover: #f7f8fa;
  --c-bg-secondary-purple: var(--c-purple-50);
  --c-bg-subtle-purple: #f3f5ff;
  --c-bg-subtle-hover: var(--c-grey-50);
  /* Sidebar */
  --c-sidebar-bg: #3a4290;
  --c-sidebar-bg-active: #ffffff;
  --c-sidebar-icon: #c5c9eb;
  --c-sidebar-icon-active: var(--c-brand-purple);
  --c-sidebar-active-bg: #ffffff;
  /* Text */
  --c-text-body: var(--c-grey-950);
  --c-text-muted: #6e7280;
  --c-text-disabled: #898e99;
  --c-text-disabled-pp: #8c92c2;
  --c-text-heading: #1a1f4d;
  --c-text-on-action: #ffffff;
  /* Tag colours */
  --c-tag-handover-bg: #e7defb;
  --c-tag-handover-text: #6b3fb8;
  --c-tag-critical-bg: #ffe1de;
  --c-tag-critical-text: #c33a30;
  --c-tag-deadline-bg: #ffe2dc;
  --c-tag-deadline-text: #c33a30;
  --c-tag-warning-bg: #fff2d6;
  --c-tag-warning-text: #a06400;
  --c-tag-new-bg: var(--c-signal-green-100);
  --c-tag-new-text: #1f7a48;
  /* Borders */
  --c-border-soft: rgba(0, 0, 0, 0.07);
  --c-border-soft-2: #e6e9ef;
  --c-border-card: #e1e3e6;
  --c-border-tree: #d4d8ec;
  --c-border-tree-bright: #d4d8ee;
  /* Shadows */
  --shadow-card: 0 1px 2px rgba(20, 25, 80, 0.04),
                           0 4px 16px rgba(20, 25, 80, 0.04);
  /* Focus */
  --focus-ring: var(--c-brand-purple);
  --focus-glow: var(--c-action-25);
  /* Radii — 4-based scale (matches the spacing scale). [Kim 24.06.2026] */
  --r-1: 4px;
  --r-2: 8px;
  --r-3: 12px;
  --r-4: 16px;
  --r-5: 20px;
  /* Semantic radius tokens now reference the scale (were off-scale 8/10/14).
     Migration: --r-row 10→12, --r-card 14→16. Affects every component that uses them. */
  --r-btn: var(--r-2);
  --r-button: var(--r-2);
  --r-row: var(--r-3);
  --r-card: var(--r-4);
  --r-pill: 999px;
  /* Spacing scale */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-7: 32px;
  --s-8: 40px;
  /* Typography */
  --ff: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semi: 600;
}

/* ============================================================
   LAYER B — Semantic tokens (DARK)
   ------------------------------------------------------------
   Triggered by ANY of:
     [data-theme-dark]              (boolean, used by tasklist on <html>)
     [data-theme="dark"]            (value, used by some components)
     body[data-theme="dark"]        (value, used by homepage)
   ============================================================ */
[data-theme-dark],
[data-theme=dark],
body[data-theme=dark] {
  /* Brand (lifted for dark contrast) */
  --c-brand-purple: var(--c-purple-200);
  --c-brand-purple-hover: var(--c-purple-100);
  --c-brand-purple-press: var(--c-purple-300);
  --c-purple-highlight: var(--c-action-500);
  /* Surfaces */
  --c-bg-page: var(--c-grey-950);
  --c-bg-card: var(--c-grey-800);
  --c-bg-card-hover: var(--c-grey-700);
  --c-bg-secondary-purple: var(--c-grey-950);
  --c-bg-subtle-purple: var(--c-grey-900);
  --c-bg-subtle-hover: var(--c-grey-600);
  /* Sidebar */
  --c-sidebar-bg: var(--c-grey-800);
  --c-sidebar-bg-active: var(--c-grey-700);
  --c-sidebar-icon: var(--c-grey-300);
  --c-sidebar-icon-active: #ffffff;
  --c-sidebar-active-bg: var(--c-grey-700);
  /* Text */
  --c-text-body: var(--c-grey-50);
  --c-text-muted: var(--c-grey-400);
  --c-text-disabled: var(--c-grey-500);
  --c-text-disabled-pp: var(--c-grey-500);
  --c-text-heading: var(--c-grey-50);
  --c-text-on-action: #ffffff;
  /* Borders */
  --c-border-soft: var(--c-white-08);
  --c-border-soft-2: var(--c-white-08);
  --c-border-card: var(--c-white-10);
  --c-border-tree: var(--c-white-12);
  --c-border-tree-bright: var(--c-white-12);
  /* Shadows */
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.40),
                           0 4px 16px rgba(0, 0, 0, 0.40);
  /* Focus */
  --focus-ring: var(--c-purple-200);
  --focus-glow: var(--c-action-40);
}

/* ============================================================
   Motion utilities (shared)
   ------------------------------------------------------------
   .qdnapro-shake — brief horizontal nudge used to draw attention
   to a field that failed validation. Add the class to trigger it;
   the owning component removes it on `animationend` so it can
   re-fire on a repeated trigger. Standard form-validation cue.
   ============================================================ */
@keyframes qdnapro-shake {
  10%, 90% {
    transform: translateX(-1px);
  }
  20%, 80% {
    transform: translateX(2px);
  }
  30%, 50%, 70% {
    transform: translateX(-4px);
  }
  40%, 60% {
    transform: translateX(4px);
  }
}
.qdnapro-shake {
  animation: qdnapro-shake 400ms cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-shake {
    animation: none;
  }
}
/* ============================================================
   .qdnapro-slide-pages — horizontal page switch (one level deep)
   ------------------------------------------------------------
   The "stap 1 schuift naar links, stap 2 schuift in" motion. It lived in THREE
   hand-written copies before 03.08.2026, all with the same numbers typed out again:
     - qdnapro-event-sheet   (.es-pages / .es-page-main / .es-page-sub / .es-sub-open)
     - the PWA Herhalen-sheet (.ao-repeat-pages / -page-list / -page-preview, plain
       markup inside a qdnapro-bottom-sheet - so NOT in a component at all)
     - the PWA location/department chooser (.lp-pages)
   Kim 03.08.2026, after catching the third copy: make it one vocabulary. It lives here,
   next to .qdnapro-shake, because that is where cross-component motion already lives:
   every v2 component depends on design-tokens, bo2 gets it through style-v1.css and the
   PWA through sync-pwa-components, so no new component, dependency or registry entry.

   It is deliberately CSS-ONLY and shell-agnostic. The three consumers sit in a bottom
   sheet, in a popover and in a plain view, and each already owns its own open/close
   function - what was duplicated is the geometry, not the logic.

   MARKUP
     <div class="qdnapro-slide-pages qdnapro-slide-pages--auto">   (or --frame)
       <div class="qdnapro-slide-page qdnapro-slide-page--first is-current">…</div>
       <div class="qdnapro-slide-page qdnapro-slide-page--second">…</div>
     </div>
   STATE (two class toggles, nothing else)
     - is-second on the viewport while page 2 is showing
     - is-current on exactly ONE page: the one you see
   The two are separate on purpose: is-second says which DIRECTION the first page leaves
   in, is-current says which page is visible. Toggling only is-current would slide page 1
   out to the RIGHT, and then "back" reads as another step forward.

   TWO HEIGHT MODES, and picking the wrong one is the only real trap here:
     --frame  the viewport has a height of its own (a sheet with a fixed detent). Every
              page fills it; page 1 stays in flow. Nothing is ever measured. Use this
              whenever you can - see the fixed-height note in the bottom-sheets skill for
              why measuring a sheet's content height turned into whack-a-mole.
     --auto   the viewport grows with its content (a dialog that must not be taller than
              the list it shows). The page you SEE is in flow and sets the height, the
              other is taken out of flow so it cannot inflate it. The consumer is then
              responsible for the height DURING the slide: while page 2 is taller than
              page 1, the viewport jumps to the new height at once and overflow:hidden
              clips the leaving page. Pin min-height to the taller of the two for the
              length of the transition and release it after (see
              _slideChooserToStep in the PWA's 0-core.js).
   ============================================================ */
.qdnapro-slide-pages {
  position: relative;
  overflow: hidden;
  transition: min-height 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.qdnapro-slide-page {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateX(105%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.32s ease;
}

.qdnapro-slide-page.is-current {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}

/* Page 1 leaves to the LEFT instead of to the right, and fades FULLY out - any residual
   opacity shows ghost rows through page 2, which is transparent over the panel. */
.qdnapro-slide-pages.is-second .qdnapro-slide-page--first:not(.is-current) {
  transform: translateX(-28%);
}

/* --frame: the viewport brings its own height. */
.qdnapro-slide-pages--frame .qdnapro-slide-page {
  height: 100%;
}

.qdnapro-slide-pages--frame .qdnapro-slide-page--first {
  position: relative;
}

/* --auto: the page you see is in flow, so the viewport is as tall as that page and no
   taller. Specificity 0,3,0, so it beats the out-of-flow base rule. */
.qdnapro-slide-pages--auto .qdnapro-slide-page.is-current {
  position: relative;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-slide-pages,
  .qdnapro-slide-page {
    transition: none;
  }
}
.btn {
  display: inline-flex;
  gap: 1rem;
  border-radius: 0.5rem;
  padding: 1rem;
  font-size: 16px;
  border: 0;
  background-color: #40499a;
  color: #FFFFFF;
  font-weight: 400;
  border: 1px solid transparent;
  cursor: pointer;
  font-family: "Inter";
}
.btn.btn-size-sm {
  padding: 0.5rem;
  gap: 0.5rem;
}
.btn:focus {
  outline: 0;
}
.btn:hover, .btn.btn-state-hover {
  background-color: #333A7B;
}
.btn:focus-visible, .btn.btn-state-focus {
  background-color: #40499a;
  outline: 1px solid #40499a;
  outline-offset: 2px;
}
.btn:active, .btn.btn-state-active {
  background-color: #7075a2;
}
.btn:disabled, .btn.btn-state-disabled {
  background-color: #f0f1f2;
  color: #898e99;
  border-color: transparent;
  cursor: not-allowed;
}
.btn.btn-square {
  aspect-ratio: 1/1;
  padding: 0;
  align-items: center;
  justify-content: center;
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
}

/* 
 * Make skins based on the provided colors at the top
 * the skins are placed in .btn-{skin-name}
 */
.btn-color-primary {
  background-color: #40499a;
  color: #FFFFFF;
  border: 1px solid transparent;
}
.btn-color-primary:hover, .btn-color-primary.btn-state-hover {
  background-color: #333A7B;
}
.btn-color-primary:focus-visible, .btn-color-primary.btn-state-focus {
  background-color: #40499a;
  outline-color: #40499a;
}
.btn-color-primary:active, .btn-color-primary.btn-state-active {
  background-color: #7075a2;
}
.btn-color-primary:disabled, .btn-color-primary.btn-state-disabled {
  background-color: #f0f1f2;
  color: #898e99;
  border-color: transparent;
  cursor: not-allowed;
}

.btn-color-orange {
  background-color: #ef8e02;
  color: #FFFFFF;
  border: 1px solid transparent;
}
.btn-color-orange:hover, .btn-color-orange.btn-state-hover {
  background-color: #bf7202;
}
.btn-color-orange:focus-visible, .btn-color-orange.btn-state-focus {
  background-color: #ef8e02;
  outline-color: #ef8e02;
}
.btn-color-orange:active, .btn-color-orange.btn-state-active {
  background-color: #d29c4d;
}
.btn-color-orange:disabled, .btn-color-orange.btn-state-disabled {
  background-color: #f0f1f2;
  color: #898e99;
  border-color: transparent;
  cursor: not-allowed;
}

.btn-color-subtle {
  background-color: transparent;
  color: #0B0B0D;
  border: 1px solid transparent;
}
.btn-color-subtle:hover, .btn-color-subtle.btn-state-hover {
  background-color: #F0F1F2;
}
.btn-color-subtle:focus-visible, .btn-color-subtle.btn-state-focus {
  background-color: #f0f1f2;
  outline-color: #0B0B0D;
}
.btn-color-subtle:active, .btn-color-subtle.btn-state-active {
  background-color: #f4f5f6;
}
.btn-color-subtle:disabled, .btn-color-subtle.btn-state-disabled {
  background-color: transparent;
  color: #898e99;
  border-color: transparent;
  cursor: not-allowed;
}

.btn-color-secondary {
  background-color: #f0f1f2;
  color: #0B0B0D;
  border: 1px solid transparent;
}
.btn-color-secondary:hover, .btn-color-secondary.btn-state-hover {
  background-color: #c4c7cc;
}
.btn-color-secondary:focus-visible, .btn-color-secondary.btn-state-focus {
  background-color: #f0f1f2;
  outline-color: #0B0B0D;
}
.btn-color-secondary:active, .btn-color-secondary.btn-state-active {
  background-color: #d6d8db;
}
.btn-color-secondary:disabled, .btn-color-secondary.btn-state-disabled {
  background-color: #f0f1f2;
  color: #898e99;
  border-color: transparent;
  cursor: not-allowed;
}

.btn-color-secondary-outline {
  background-color: #e6e9ff;
  color: #40499A;
  border: 1px solid #40499A;
}
.btn-color-secondary-outline:hover, .btn-color-secondary-outline.btn-state-hover {
  background-color: #daddf2;
}
.btn-color-secondary-outline:focus-visible, .btn-color-secondary-outline.btn-state-focus {
  background-color: #e6e9ff;
  outline-color: #40499A;
}
.btn-color-secondary-outline:active, .btn-color-secondary-outline.btn-state-active {
  background-color: #e5e7f6;
}
.btn-color-secondary-outline:disabled, .btn-color-secondary-outline.btn-state-disabled {
  background-color: #f0f1f2;
  color: #898e99;
  border-color: transparent;
  cursor: not-allowed;
}

.btn-color-secondary-white {
  background-color: transparent;
  color: #40499A;
  border: 1px solid transparent;
}
.btn-color-secondary-white:hover, .btn-color-secondary-white.btn-state-hover {
  background-color: #daddf2;
}
.btn-color-secondary-white:focus-visible, .btn-color-secondary-white.btn-state-focus {
  background-color: #e6e9ff;
  outline-color: #0B0B0D;
}
.btn-color-secondary-white:active, .btn-color-secondary-white.btn-state-active {
  background-color: #e5e7f6;
}
.btn-color-secondary-white:disabled, .btn-color-secondary-white.btn-state-disabled {
  background-color: transparent;
  color: #898e99;
  border-color: transparent;
  cursor: not-allowed;
}

.btn-color-secondary-purple {
  background-color: #e6e9ff;
  color: #40499A;
  border: 1px solid transparent;
}
.btn-color-secondary-purple:hover, .btn-color-secondary-purple.btn-state-hover {
  background-color: #daddf2;
}
.btn-color-secondary-purple:focus-visible, .btn-color-secondary-purple.btn-state-focus {
  background-color: #e6e9ff;
  outline-color: #0B0B0D;
}
.btn-color-secondary-purple:active, .btn-color-secondary-purple.btn-state-active {
  background-color: #e5e7f6;
}
.btn-color-secondary-purple:disabled, .btn-color-secondary-purple.btn-state-disabled {
  background-color: #f0f1f2;
  color: #898e99;
  border-color: transparent;
  cursor: not-allowed;
}

.btn-color-warning {
  background-color: #f0f1f2;
  color: #C65A5A;
  border: 1px solid transparent;
}
.btn-color-warning:hover, .btn-color-warning.btn-state-hover {
  background-color: #c4c7cc;
}
.btn-color-warning:focus-visible, .btn-color-warning.btn-state-focus {
  background-color: #c4c7cc;
  outline-color: #0B0B0D;
}
.btn-color-warning:active, .btn-color-warning.btn-state-active {
  background-color: #d6d8db;
}
.btn-color-warning:disabled, .btn-color-warning.btn-state-disabled {
  background-color: #f0f1f2;
  color: #898e99;
  border-color: transparent;
  cursor: not-allowed;
}

qdna-input {
  display: inline-block;
  width: 100%;
  position: relative;
}

qdna-input .input-wrapper {
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 1rem 1.25rem;
  border-radius: 0.5rem;
  background-color: #FFFFFF;
  border: 1px solid #ccc;
  width: 100%;
  line-height: 1rem;
  cursor: pointer;
}
qdna-input .input-wrapper:has(input-prefix) {
  padding: 8px 12px;
}

qdna-input .input-box {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 0.875rem;
  color: #0B0B0D;
  padding: 0;
  width: 100%;
}

qdna-input .input-box::placeholder {
  color: #a6aab3;
}

qdna-input[size=sm] .input-wrapper {
  padding: 0.625rem 0.75rem;
}
qdna-input[size=sm] .input-wrapper:has(input-prefix) {
  padding: 4px;
}

qdna-input:hover .input-wrapper,
qdna-input[state=hover] .input-wrapper {
  border-color: #40499A;
}

qdna-input[state=focus] .input-wrapper {
  border-color: #40499A;
  box-shadow: 0 0 0 2px rgba(64, 73, 154, 0.1);
}

qdna-input[state=success] .input-wrapper {
  border-color: #428B6E;
}

qdna-input[state=error] .input-wrapper {
  border-color: #C65A5A;
}

qdna-input[disabled] .input-wrapper {
  background-color: #F0F1F2;
  border-color: transparent;
  color: #898E99;
  cursor: not-allowed;
}

qdna-input[disabled] .input-box {
  color: #898E99;
  cursor: not-allowed;
}

qdna-input .input-icon-prefix {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 0.75rem;
  color: #666;
}

qdna-input .input-external-prefix {
  display: flex;
  align-items: center;
  padding-right: 0.75rem;
}

qdna-input .input-clear {
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  font-size: 0.875;
  color: #777;
  cursor: pointer;
}

qdna-input[filled][clearable] .input-clear,
qdna-input[filled][clearable=true] .input-clear {
  display: flex;
}

qdna-input[disabled] .input-clear {
  display: none;
  cursor: not-allowed;
  color: #ccc;
}

qdna-input.qdna-input-as-text .input-wrapper {
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

qdna-input.qdna-input-as-text .input-box {
  padding: 8px;
  border-radius: 4px;
  border: 1px solid #ccc;
}
qdna-input.qdna-input-as-text .input-box:disabled {
  border: none;
  padding-left: 0px;
  padding-right: 0px;
}

.input-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #C4C7CC;
  border-top: none;
  border-radius: 0 0 8px 8px;
  display: none;
  z-index: 1000;
}

.input-dropdown.open {
  display: block;
}

.input-wrapper.dropdown-open {
  border-radius: 8px 8px 0 0;
}

row-item {
  display: flex;
  align-items: center;
  padding: 6px 12px;
  cursor: pointer;
}

row-item:hover {
  background: #F5F6FA;
}

dropdown-row {
  display: block;
  padding: 8px 12px;
  border-bottom: 1px solid #E0E0E0;
}

dropdown-row:last-child {
  border-bottom: none;
}

qdna-input[type=checkbox] .input-wrapper {
  all: unset;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 6px;
  cursor: pointer;
}

qdna-input[type=checkbox] .input-box {
  all: revert;
  width: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
  vertical-align: middle;
  accent-color: #40499A;
  cursor: pointer;
}

qdna-input[type=checkbox] .checkbox-label {
  all: unset;
  font-size: 14px;
  color: #0B0B0D;
  line-height: 1;
}

qdna-input[type=checkbox][disabled] .input-wrapper {
  opacity: 0.6;
  cursor: not-allowed;
}

.image-circle-ratio {
  width: 29px;
  height: 29px;
  aspect-ratio: 1/1;
  border-radius: calc(infinity * 1px);
  margin-right: 12px;
}

.label {
  display: inline-flex;
  align-items: center;
  align-content: center;
  border-radius: 0.25rem;
  padding: 0.25rem 0.5rem;
  font-family: "Inter";
  font-size: 0.875rem;
  gap: 0.25rem;
  line-height: 1.25rem;
  border: 1px solid transparent;
}
.label.label-outline {
  cursor: pointer;
}
.label.label-sm {
  padding: 0rem 0.5rem;
}
.label-icon-prefix {
  font-size: 1.25rem;
}

.label-primary {
  background-color: #F3F7FC;
  color: #4F6887;
}
.label-primary.label-outline {
  background: transparent;
}
.label-primary.label-outline:hover {
  background-color: #F3F7FC;
}
.label-primary.label-border {
  border-color: #4F6887;
}

.label-yellow {
  background-color: #FEEDB8;
  color: #977F2E;
}
.label-yellow.label-outline {
  background: transparent;
}
.label-yellow.label-outline:hover {
  background-color: #FEEDB8;
}
.label-yellow.label-border {
  border-color: #977F2E;
}

.label-red {
  background-color: #fee3e3;
  color: #c65a5a;
}
.label-red.label-outline {
  background: transparent;
}
.label-red.label-outline:hover {
  background-color: #fee3e3;
}
.label-red.label-border {
  border-color: #c65a5a;
}

.label-green {
  background-color: #c5f5e2;
  color: #428b6e;
}
.label-green.label-outline {
  background: transparent;
}
.label-green.label-outline:hover {
  background-color: #c5f5e2;
}
.label-green.label-border {
  border-color: #428b6e;
}

.label-secondary {
  background-color: #f0f1f2;
  color: #6b7280;
}
.label-secondary.label-outline {
  background: transparent;
}
.label-secondary.label-outline:hover {
  background-color: #f0f1f2;
}
.label-secondary.label-border {
  border-color: #6b7280;
}

.label-blue {
  background-color: #ecedf5;
  color: #40499a;
}
.label-blue.label-outline {
  background: transparent;
}
.label-blue.label-outline:hover {
  background-color: #ecedf5;
}
.label-blue.label-border {
  border-color: #40499a;
}

.label-blue-2 {
  background-color: #ffffff;
  color: #40499a;
}
.label-blue-2.label-outline {
  background: transparent;
}
.label-blue-2.label-outline:hover {
  background-color: #ffffff;
}
.label-blue-2.label-border {
  border-color: #40499a;
}

.badge {
  background: #40499A;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 0.125rem 0.438rem;
  border-radius: 50px;
  color: #FFF;
  text-align: center;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.25rem;
  border: 1px solid transparent;
}
.badge.badge-primary {
  background-color: #40499a;
  color: #ffffff;
}
.badge.badge-primary.badge-outline {
  border-color: #40499a;
}
.badge.badge-purple {
  background-color: #e6e9ff;
  color: #40499a;
}
.badge.badge-purple.badge-outline {
  border-color: #40499a;
}
.badge.badge-yellow {
  background-color: #FEEDB8;
  color: #977F2E;
}
.badge.badge-yellow.badge-outline {
  border-color: #977F2E;
}
.badge.badge-grey {
  background-color: #d3d5d9;
  color: #6b7280;
}
.badge.badge-grey.badge-outline {
  border-color: #6b7280;
}
.badge.badge-red {
  background-color: #fef1f1;
  color: #c65a5a;
}
.badge.badge-red.badge-outline {
  border-color: #c65a5a;
}
.badge.badge-transparent {
  background-color: transparent;
  color: #6b7280;
}
.badge.badge-transparent.badge-outline {
  border-color: transparent;
}

.indicator-badge {
  display: flex;
  width: 1.5rem;
  height: 1.5rem;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  background: #ff3a30;
  border-radius: 3.13rem;
  color: #FFF;
  text-align: center;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 20px;
}
.indicator-badge.badge-sm {
  width: 1.25rem;
  height: 1.25rem;
  font-size: 0.625rem;
}
.indicator-badge.badge-xs {
  width: 0.5rem;
  height: 0.5rem;
  font-size: 0rem;
}
.indicator-badge.badge-dot {
  font-size: 0rem;
}

.tag {
  background-color: #f0f1f2;
  color: #1e1f20;
  display: inline-flex;
  align-items: center;
  align-content: center;
  border-radius: 6.25rem;
  padding: 0.125rem 0.875rem;
  gap: 0.475rem;
  font-family: "Inter";
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25rem;
  border: 1px solid transparent;
}
.tag.tag-filled {
  background-color: #c4c7cc;
  color: #1e1f20;
}
.tag.tag-sm {
  font-size: 0.75rem;
  padding: 0rem 0.5rem;
  gap: 0.25rem;
}

.tag-gray {
  background-color: #f0f1f2;
  color: #1e1f20;
}
.tag-gray.tag-filled {
  background-color: #c4c7cc;
  color: #1e1f20;
}

.tag-red {
  background-color: #fee3e3;
  color: #633030;
}
.tag-red.tag-filled {
  background-color: #fbaaaa;
  color: #633030;
}

.tag-yellow {
  background-color: #fef6db;
  color: #655522;
}
.tag-yellow.tag-filled {
  background-color: #fde594;
  color: #655522;
}

.tag-green {
  background-color: #e2faf1;
  color: #2f5d4a;
}
.tag-green.tag-filled {
  background-color: #8becc5;
  color: #2f5d4a;
}

.tag-blue {
  background-color: #e6eff9;
  color: #37475a;
}
.tag-blue.tag-filled {
  background-color: #b5ceed;
  color: #37475a;
}

.tag-dark-blue {
  background-color: #d6e0f9;
  color: #192a5a;
}
.tag-dark-blue.tag-filled {
  background-color: #85a1ec;
  color: #192a5a;
}

.tag-pink {
  background-color: #f6e1e8;
  color: #562d3a;
}
.tag-pink.tag-filled {
  background-color: #e5a6b9;
  color: #562d3a;
}

.tag-purple {
  background-color: #ebe9fb;
  color: #413b5e;
}
.tag-purple.tag-filled {
  background-color: #c4bcf3;
  color: #413b5e;
}

.tag-circle {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  padding: 2px 14px;
  gap: 8px;
  border-radius: 100px;
  position: relative;
  font-size: 0;
}
.tag-circle:not([class*=tag-]) {
  background: #C4C7CC;
  color: #1e1f20;
}
.tag-circle.tag-sm {
  width: 20px;
  height: 20px;
  padding: 2px 10px;
  gap: 4px;
}
.tag-circle .tag-icon-prefix,
.tag-circle .tag-icon-suffix {
  font-size: 16px;
}
.tag-circle:not(.tag-sm) .tag-icon-prefix {
  position: absolute;
  left: -3px;
  top: -3px;
  width: 50px;
  height: 50px;
  border-radius: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.tag-circle.tag-sm .tag-icon-prefix {
  position: static;
  width: 16px;
  height: 16px;
  border: none;
  font-size: 16px;
}

.qdna-sidebar {
  background: #40499a;
  display: flex;
  width: 120px;
  max-width: 120px;
  flex-direction: column;
  align-items: center;
  padding: 8px;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}
.qdna-sidebar .sidebar-logo {
  cursor: pointer;
  padding-top: 10px;
}
.qdna-sidebar .sidebar-header {
  padding: 16px;
}
.qdna-sidebar .sidebar-header img {
  height: 60px;
}
.qdna-sidebar .sidebar-items {
  display: flex;
  flex-direction: column;
  margin-top: 1rem;
  border-top: 1px solid #666dae;
}
.qdna-sidebar .sidebar-items .sidebar-item {
  height: 90px;
  aspect-ratio: 1;
  background: transparent;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  cursor: pointer;
  border-radius: 8px;
  position: relative;
  padding: 0px 16px;
  width: 104px;
}
.qdna-sidebar .sidebar-items .sidebar-item .icon {
  width: 24px;
  height: 24px;
  aspect-ratio: 1/1;
  background-color: #fff;
  -webkit-mask: var(--icon) no-repeat center/contain;
  mask: var(--icon) no-repeat center/contain;
}
.qdna-sidebar .sidebar-items .sidebar-item .item-title {
  color: #FFF;
  text-align: center;
  font-size: 12px;
}
.qdna-sidebar .sidebar-items .sidebar-item .sidebar-indicator {
  position: absolute;
  top: 12px;
  right: 16px;
  z-index: 2;
  pointer-events: none;
}
.qdna-sidebar .sidebar-items .sidebar-item:hover {
  background: #333a7b;
}
.qdna-sidebar .sidebar-items .sidebar-item.active {
  background: #e6e9ff;
}
.qdna-sidebar .sidebar-items .sidebar-item.active .item-title {
  color: #40499a;
}
.qdna-sidebar .sidebar-items .sidebar-item.active .icon {
  background-color: #40499a;
}
.qdna-sidebar .sidebar-items .sidebar-item.active:hover {
  background: #e6e9ff;
}
.qdna-sidebar .sidebar-items .sidebar-item.active svg path {
  fill: #333a7b;
}
.qdna-sidebar .sidebar-footer {
  padding: 16px;
}
.qdna-sidebar .sidebar-footer img {
  height: 30px;
}

qdna-dropdown dropdown {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 8px 4px;
  z-index: 3;
  box-shadow: 0 8px 12px 6px rgba(0, 0, 0, 0.15), 0 4px 4px 0 rgba(0, 0, 0, 0.3);
}
qdna-dropdown dropdown .qdna-dropdown-menu .menu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  font-weight: 300;
  position: relative;
  border-radius: 8px;
  font-size: 14px;
  gap: 12px;
  cursor: pointer;
}
qdna-dropdown dropdown .qdna-dropdown-menu .menu-item .menu-content {
  display: flex;
  align-items: center;
  position: relative;
  gap: 12px;
}
qdna-dropdown dropdown .qdna-dropdown-menu .menu-item:hover {
  background-color: #e9e9e9;
}
qdna-dropdown dropdown .qdna-dropdown-menu .menu-item .item-icon {
  font-size: 24px;
}
qdna-dropdown dropdown .qdna-dropdown-menu .menu-item.item-danger {
  color: #C65A5A;
}
qdna-dropdown dropdown .qdna-dropdown-menu .menu-divider {
  position: relative;
  padding: 8px 16px;
  border-radius: 8px;
}
qdna-dropdown dropdown .qdna-dropdown-menu .menu-divider::after {
  display: block;
  content: "";
  position: relative;
  height: 2px;
  width: 100%;
  background: #C4C7CC;
}

qdna-dialog {
  display: none;
}

qdna-dialog[open] {
  display: block;
}

.qdna-dialog-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.qdna-dialog {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  min-width: 300px;
  max-width: 90%;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.qdna-dialog-title {
  font-size: 1.2em;
  margin-bottom: 10px;
  text-align: center;
  font-weight: bold;
}

qdna-dialog qdna-button {
  margin: 5px;
}

qdna-nav-button {
  display: flex;
  flex-direction: row;
  background-color: #FFF;
  border-radius: 8px;
  width: fit-content;
  box-shadow: 0 2px 8px 2px #E0E0E0;
  overflow: visible;
  position: relative;
  align-items: center;
}

navigation-group {
  display: flex;
  flex-direction: row;
  border-right: 1px solid #CCC;
  padding: 12px 8px;
  gap: 4px;
}
navigation-group:last-child {
  border-right: none;
}

.nav-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.nav-left {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  pointer-events: none;
}

navigation-group[type=doc-preview] .nav-left {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  border-right: 1px solid #E0E0E0;
}

.nav-right {
  display: flex;
  align-items: center;
  gap: 4px;
}

.nav-avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
}

.nav-username {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.nav-page-current {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 12px;
  border: 1px solid #999;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}

.nav-page-separator {
  font-size: 14px;
  color: #999;
}

.nav-page-total {
  font-size: 14px;
  color: #999;
}

navigation-link {
  display: flex !important;
  align-items: center;
  cursor: pointer;
  color: black;
  border-radius: 4px;
  position: relative;
  text-decoration: none;
  transition: color 0.2s, background 0.2s;
  padding: 4px 12px !important;
  white-space: nowrap;
}
navigation-link:hover {
  color: #40499a;
  background: #EFEFEF;
}
navigation-link:hover::after {
  width: 50%;
}
navigation-link[active] {
  background: #e6e9ff;
  color: #40499a;
}
navigation-link[active]::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  height: 2px;
  width: 50%;
  background-color: #40499a;
  transition: width 0.3s ease;
  transform: translateX(-50%);
  transform-origin: center;
}
navigation-link .nav-link__arrow {
  font-size: 1rem;
  margin-left: 8px;
  display: inline-block;
  transition: transform 0.3s;
}
navigation-link .nav-link__arrow.is-open {
  transform: rotate(180deg);
}
navigation-link .nav-link__icon {
  font-size: 1.5rem;
}
navigation-link .nav-link__text {
  font-size: 16px;
  display: flex;
  flex-wrap: nowrap;
}
navigation-link[disabled] {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.7;
  color: #9e9e9e;
}
navigation-link[disabled] .nav-link__icon,
navigation-link[disabled] .nav-link__arrow,
navigation-link[disabled] .nav-badge {
  color: #bdbdbd;
}
navigation-link[disabled][active] {
  background: #e6e9ff;
  color: #9e9e9e;
}
navigation-link[disabled][active]::after {
  background-color: #bdbdbd;
}
navigation-link[disabled][active] .nav-link__icon,
navigation-link[disabled][active] .nav-link__arrow {
  color: #bdbdbd;
}
navigation-link[disabled][active] .nav-badge {
  opacity: 0.6;
}
navigation-link .nav-link__icon-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
}
navigation-link .nav-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  transform: translate(100%, -50%);
  width: 14px;
  height: 14px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  line-height: 1;
  border-radius: 50%;
  color: #fff;
  overflow: hidden;
}
navigation-link .nav-badge--red {
  background: #ff4d4f;
}
navigation-link .nav-badge--highlight {
  background: #40499a;
}
navigation-link .nav-badge--dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  padding: 0;
  border-radius: 50%;
}
navigation-link.nav-link--sm .nav-badge {
  top: -2px;
  right: -4px;
  min-width: 14px;
  height: 14px;
  font-size: 9px;
}
navigation-link.nav-link--sm .nav-badge--dot {
  width: 6px;
  height: 6px;
  min-width: 6px;
}
navigation-link[disabled] .nav-badge {
  opacity: 0.6;
}

/* Dropdown: gebruikt door NavigationGroup (class toegevoegd in JS) */
.nav-dropdown {
  display: none;
  position: absolute;
  z-index: 1000;
}
.nav-dropdown.is-open {
  display: flex;
}

/* fallback: als er nog oude markup leeft */
.qdna-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.qdna-modal-overlay.open {
  display: flex;
}

.qdna-modal {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

/* Sizes */
.modal-sm {
  width: 400px;
}

.modal-md {
  width: 700px;
}

.modal-lg {
  width: 1000px;
}

.modal-xl {
  width: 90%;
  height: 90%;
}

modal-header, modal-body, modal-footer {
  display: block;
  padding: 1rem;
}

modal-header {
  border-bottom: 1px solid #ccc;
  position: relative;
  padding: 1rem;
  font-weight: bold;
}

.close-btn {
  position: absolute;
  top: 10px;
  right: 12px;
  background: none;
  border: none;
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
}

modal-footer {
  border-top: 1px solid #ccc;
  text-align: right;
}

.qdna-card {
  border-radius: 0.5rem;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.qdna-card.qdna-card--default {
  background: #ffffff;
}
.qdna-card.qdna-card--purple {
  background: #DADDF2;
}
.qdna-card > card-header.qdna-card__header {
  display: flex;
  padding: 1rem 1.5rem;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  color: #40499A;
  border-bottom: 1px solid #D9DBEB;
}
.qdna-card > card-header.qdna-card__header h1, .qdna-card > card-header.qdna-card__header h2, .qdna-card > card-header.qdna-card__header h3, .qdna-card > card-header.qdna-card__header h4, .qdna-card > card-header.qdna-card__header h5, .qdna-card > card-header.qdna-card__header h6 {
  padding: 0;
  margin: 0;
}
.qdna-card > card-header.qdna-card__header > card-actions.qdna-card__actions {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  margin-left: auto;
}
.qdna-card > card-body.qdna-card__body {
  padding: 1rem 1.5rem 2rem 1.5rem;
  align-self: stretch;
}
.qdna-card .card-form-section {
  color: #0B0B0D;
  font-family: Inter;
  font-size: 14px;
  font-weight: 500;
}
.qdna-card .card-form-section .card-form-title {
  color: #0B0B0D;
  padding: 8px 0px 4px 0px;
}
.qdna-card .card-form-section .non_editable_field input:not(:disabled) {
  background-color: #ddd;
}

.ts-card-list-group .form-control:disabled,
.ts-card-list-group .form-control[readonly] {
  background-color: transparent;
  border: none !important;
  box-shadow: none !important;
}

.ts-card-list-group button.form-control:disabled {
  color: #878787 !important;
}
.ts-card-list-group .select2-container--bootstrap4.select2-container--disabled .select2-selection__rendered {
  padding-left: 0;
}
.ts-card-list-group .ts-card-layout-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
}
.ts-card-list-group .ts-card-layout-col {
  flex: 1 1 0;
  min-width: 0;
}

.ts-card-list-group .select2-container--bootstrap4.select2-container--disabled .select2-selection--single,
.ts-card-list-group .select2-container--bootstrap4.select2-container--disabled .select2-selection--multiple {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

@media (max-width: 991px) {
  .ts-card-list-group .ts-card-layout-col {
    flex-basis: 100%;
  }
}
qdna-card-unit-type {
  display: contents;
}

.unit-type {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  font-weight: normal;
  text-decoration: none;
  justify-content: space-between;
  min-height: 120px;
}
.unit-type:hover {
  background-color: #f5f6f8;
}
.unit-type__top {
  display: flex;
  flex-direction: row;
  gap: 16px;
  padding: 1.25rem 1.5rem 0.5rem;
  align-items: center;
}
.unit-type__icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 44px;
  align-self: center;
}
.unit-type__icon img {
  width: 48px;
  height: 48px;
  border-radius: 0.5rem;
  object-fit: contain;
  display: block;
}
.unit-type__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.unit-type__heading {
  font-family: var(--Type-Font-Family-primary, Inter);
  font-size: var(--Font-size-Body-Inter-medium-14, 14px);
  font-weight: 600;
  line-height: var(--Line-Height-Body-Body-Medium-Caption, 24px);
  color: var(--Text-Body, #0B0B0D);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
}
.unit-type__subheading {
  font-family: var(--Type-Font-Family-primary, Inter);
  font-size: var(--Font-size-Body-small-12, 12px);
  font-weight: 400;
  line-height: var(--Line-Height-Body-Body-Small, 20px);
  color: var(--Text-Body-Secondary, #6B7280);
  margin-top: 0;
  text-overflow: ellipsis;
}
.unit-type__info {
  display: flex;
  flex-flow: row;
  width: 100%;
  padding: 0.5rem 1.5rem 0.75rem;
  box-sizing: border-box;
}
.unit-type__info[hidden] {
  display: none;
}
.unit-type__pair {
  display: flex;
  gap: 4px;
  align-items: baseline;
  padding-right: 24px;
}
.unit-type__label, .unit-type__value {
  font-family: var(--Type-Font-Family-primary, Inter);
  font-size: var(--Font-size-Body-small-12, 12px);
  font-weight: 400;
  line-height: var(--Line-Height-Body-Body-Small, 20px);
  color: var(--Surface-Signal-Signal-grey-Detail, #6B7280);
}

:host {
  display: block;
  cursor: pointer;
  border-radius: 6px;
  transition: background 0.2s;
  width: 40%;
  max-width: 100%;
  box-sizing: border-box;
  --padding: 6px 10px;
  --font-size: 14px;
  --icon-size: 18px;
  --count-width: 30px;
  --color: #000;
  --opacity: 1;
  --hover-bg: rgba(0,0,0,0.06);
}

.wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--padding);
  font-size: var(--font-size);
}

.left {
  display: flex;
  align-items: center;
  gap: 0.5em;
  flex: 1;
  min-width: 0;
}

.icon {
  font-family: "Material Design Icons";
  font-style: normal;
  display: inline-block;
  width: var(--icon-size);
  font-size: var(--icon-size);
  text-align: center;
  color: var(--color);
  opacity: var(--opacity);
  flex-shrink: 0;
}

.text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--color);
  opacity: var(--opacity);
}

.count {
  min-width: var(--count-width);
  text-align: right;
  color: var(--color);
  opacity: var(--opacity);
}

:host(:hover) {
  background: var(--hover-bg);
}

@media (max-width: 600px) {
  :host {
    width: 80%;
  }
}
qdna-search-bar {
  display: inline-block;
  width: 100%;
}

qdna-search-bar .qdna-search-container {
  display: flex;
  align-items: center;
  padding: 0 8px;
  height: 40px;
  background: #FFF;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  transition: all 0.2s ease;
  gap: 6px;
}

qdna-search-bar .input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 14px;
  font-family: inherit;
  color: #222;
  width: 100%;
}

qdna-search-bar .input::placeholder {
  color: #999;
}

qdna-search-bar .icon {
  color: #777;
  cursor: pointer;
  display: contents;
}

qdna-search-bar .close {
  display: none;
}

qdna-search-bar .left-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  min-width: 30px;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: #E6E9FF;
  color: #40499A;
}

qdna-search-bar .left-btn:focus,
qdna-search-bar .left-btn:focus-visible {
  outline: none;
}

qdna-search-bar .btn-label:empty {
  display: none;
}

qdna-search-bar:not([state=focus]):not([state=filled]):hover .qdna-search-container {
  border-color: #40499A;
  border-radius: 8px;
  border: 1px solid #40499A;
  background: #FFF;
}

qdna-search-bar[state=focus] .qdna-search-container {
  border: 1px solid #40499A;
  box-shadow: 0 0 0 3px #ffffff, 0 0 0 4px #40499A;
}

qdna-search-bar[state=filled] .qdna-search-container {
  border-color: #40499A;
}

qdna-search-bar[disabled] .qdna-search-container {
  background: #f5f5f5;
  border-color: #e0e0e0;
  cursor: not-allowed;
}

qdna-search-bar[disabled] .input {
  cursor: not-allowed;
  color: #aaa;
}

qdna-search-bar[disabled] .icon {
  cursor: not-allowed;
  color: #ccc;
}

qdna-column-item {
  display: block;
  width: 100%;
  margin: 2px;
}

qdna-column-item .qdna-column-component {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px;
  border-radius: 8px;
  border: 1px solid #40499A;
  background: #E6E9FF;
  box-sizing: border-box;
  min-height: 40px;
  line-height: 1;
}

qdna-column-item .qdna-left-section {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  min-width: 0;
}

qdna-column-item .qdna-checkbox-wrapper {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
}

qdna-column-item .qdna-checkbox {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

qdna-column-item .qdna-checkbox-ui {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: #fff;
  border: 1.5px solid #40499A;
  box-sizing: border-box;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

qdna-column-item[checkbox-shape=round] .qdna-checkbox-ui {
  border-radius: 50%;
}

qdna-column-item .qdna-checkbox-ui::after {
  content: "";
  width: 4px;
  height: 8px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
}

qdna-column-item[checked] .qdna-checkbox-ui {
  background: #4652F3;
  border-color: #4652F3;
}

qdna-column-item[checked] .qdna-checkbox-ui::after {
  opacity: 1;
}

qdna-column-item:not([checkbox-state=disabled]) .qdna-checkbox-wrapper:hover .qdna-checkbox-ui {
  border-color: #4652F3;
}

qdna-column-item:focus-within .qdna-checkbox-ui {
  outline: 2px solid rgba(70, 82, 243, 0.35);
  outline-offset: 2px;
}

qdna-column-item[checkbox-state=disabled] {
  pointer-events: none;
}

qdna-column-item[checkbox-state=disabled] .qdna-checkbox-ui {
  background: #F2F4F7;
  border-color: #D0D5DD;
}

qdna-column-item[checkbox-state=disabled][checked] .qdna-checkbox-ui::after {
  border-color: #101828;
}

qdna-column-item[checkbox-state=disabled] .qdna-column-component {
  opacity: 0.6;
}

qdna-column-item .qdna-visibility {
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Material Design Icons";
  font-size: 18px;
  color: #40499A;
  flex-shrink: 0;
}

qdna-column-item:not([visibility=hidden]) .qdna-visibility::before {
  content: "\f01db";
}

qdna-column-item[visibility=hidden] .qdna-visibility {
  display: none;
}

qdna-column-item .qdna-column-label {
  flex: 1;
  min-width: 0;
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  color: #40499A;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

qdna-column-item .qdna-right-section {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

qdna-column-item .qdna-column-message {
  font-size: 12px;
  color: #40499A;
  display: flex;
  align-items: center;
  white-space: nowrap;
  visibility: hidden;
}

qdna-column-item[message] .qdna-column-message {
  visibility: visible;
}

qdna-column-item .qdna-message-tick {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  flex-shrink: 0;
}

qdna-column-item[message] .qdna-message-tick {
  visibility: visible;
}

qdna-column-item .qdna-message-tick::before {
  content: "✓";
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: #40499A;
}

job-card {
  display: block;
  user-select: none;
  --bg-light: #f2f4f7;
  --bg-dark: #f2f4f7;
}

job-card .job-card {
  background: var(--bg-light);
  border: 1px solid #d0d5dd;
  border-radius: 8px;
  padding: 8px 10px;
  transition: background 0.2s ease;
  cursor: pointer;
}

job-card:hover .job-card {
  background: var(--bg-dark);
}

job-card[status=scheduled] {
  --bg-light: #f2f4f7;
  --bg-dark: #d0d5dd;
}

job-card[status=overdue] {
  --bg-light: #fde2e7;
  --bg-dark: #f7bfc8;
}

job-card[status=in-progress] {
  --bg-light: #fff6d1;
  --bg-dark: #ffe9a6;
}

job-card[status=completed] {
  --bg-light: #e6f7ec;
  --bg-dark: #c6efd9;
}

/* Drag / Active State */
job-card[state=drag] {
  --bg-light: #eef4ff;
  --bg-dark: #dbe4ff;
}

job-card[state=drag] .job-card {
  opacity: 0.6;
  cursor: grabbing;
}

job-card[state=active] {
  --bg-light: #eef4ff;
  --bg-dark: #dbe4ff;
}

job-card .row-time,
job-card .row-user {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

job-card .row-user {
  margin-top: 6px;
}

job-card .avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e4e7ec;
  flex-shrink: 0;
}

job-card .avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

job-card .username {
  flex: 1;
  font-size: 14px;
  font-weight: 500;
}

job-card .time {
  font-size: 12px;
  white-space: nowrap;
}

job-card[size=sm] .row-time {
  display: none;
}

job-card[size=sm] .row-user {
  margin-top: 0;
}

job-card[size=sm] .username {
  font-size: 13px;
}

qdna-dropdown-menu {
  position: relative;
  display: block;
  font-family: inherit;
  width: 100%;
}

qdna-dropdown-menu.dropdown-disabled {
  opacity: 0.6;
  pointer-events: none;
}

qdna-dropdown-menu dropdown-trigger {
  display: flex;
  align-items: center;
  cursor: pointer;
  width: 100%;
}

qdna-dropdown-menu dropdown-trigger > * {
  width: 100%;
}

qdna-dropdown-menu dropdown {
  position: absolute;
  display: none;
  z-index: 999;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #eee;
  padding: 4px 0;
  left: 0;
  right: 0;
  box-sizing: border-box;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

qdna-dropdown-menu.dropdown-open dropdown {
  display: block;
}

qdna-dropdown-menu.dropdown-size-sm dropdown {
  font-size: 12px;
}

qdna-dropdown-menu.dropdown-size-md dropdown {
  font-size: 14px;
}

qdna-dropdown-menu.dropdown-size-lg dropdown {
  font-size: 16px;
}

dropdown-option {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  transition: background 0.2s ease;
}

dropdown-option:hover {
  background: #f5f6fa;
}

dropdown-option.selected {
  background: #eef2ff;
  color: #40499a;
}

dropdown-option.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

qdna-dropdown-menu dropdown {
  max-height: 260px;
  overflow-y: auto;
}

qdna-dropdown-menu dropdown::-webkit-scrollbar {
  width: 6px;
}

qdna-dropdown-menu dropdown::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 4px;
}

dropdown-divider {
  display: block;
  height: 1px;
  margin: 4px 0;
  background: #eee;
}

dropdown-label {
  display: block;
  font-size: 12px;
  padding: 4px 8px;
  color: #888;
}

qdna-dropdown-menu.dropdown-open dropdown {
  animation: dropdownFade 0.15s ease;
}

@keyframes dropdownFade {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
qdna-toggle {
  display: inline-flex;
  cursor: pointer;
  user-select: none;
}

.qdna-toggle-root {
  --toggle-off: #d0d5dd;
  --toggle-on: #4625f3;
  --toggle-thumb: #ffffff;
  --toggle-focus: rgba(8, 117, 226, .35);
}

.qdna-toggle {
  position: relative;
  background: var(--toggle-off);
  border-radius: 999px;
  transition: background 0.25s ease, box-shadow 0.25s ease;
}

.qdna-toggle-thumb {
  position: absolute;
  background: var(--toggle-thumb);
  border-radius: 50%;
  top: 2px;
  left: 2px;
  transition: transform 0.25s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}

.toggle-checked .qdna-toggle {
  background: var(--toggle-on);
}

.toggle-checked .qdna-toggle-thumb {
  transform: translateX(100%);
}

.toggle-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.toggle-size-sm .qdna-toggle {
  width: 32px;
  height: 18px;
}

.toggle-size-sm .qdna-toggle-thumb {
  width: 14px;
  height: 14px;
}

.toggle-size-md .qdna-toggle {
  width: 40px;
  height: 22px;
}

.toggle-size-md .qdna-toggle-thumb {
  width: 18px;
  height: 18px;
}

.toggle-size-lg .qdna-toggle {
  width: 52px;
  height: 28px;
}

.toggle-size-lg .qdna-toggle-thumb {
  width: 24px;
  height: 24px;
}

qdna-due-date {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-size: 12px;
  font-weight: 400;
  overflow: hidden;
  color: var(--Text-Body, #0B0B0D);
  text-overflow: ellipsis;
  font-style: normal;
  line-height: var(--Line-Height-Body-Body-Small, 20px); /* 166.667% */
}

qdna-due-date.status-complete {
  color: #428B6E;
}

qdna-due-date.status-complete i {
  color: #428B6E;
}

qdna-due-date.status-progress {
  color: #EF8E02;
}

qdna-due-date.status-progress i {
  color: #EF8E02;
}

qdna-due-date.status-open.priority-high,
qdna-due-date.status-deadline.priority-high {
  color: #FF3A30;
}

qdna-due-date.status-open.priority-mid,
qdna-due-date.status-deadline.priority-mid {
  color: #EF8E02;
}

qdna-due-date.status-open.priority-success,
qdna-due-date.status-deadline.priority-success {
  color: #428B6E;
}

qdna-due-date.status-open i,
qdna-due-date.status-deadline i {
  color: inherit;
}

[qdna-tooltip] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  --tooltip-bg: #40499A;
  --tooltip-text: #ffffff;
  --tooltip-radius: 4px;
  --tooltip-gap: 6px;
  --tooltip-padding: 4px 8px;
  --tooltip-font: 14px;
}

[qdna-tooltip]:not([tooltip-type=arrow])::before {
  content: attr(qdna-tooltip);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: var(--tooltip-gap);
  background: var(--tooltip-bg);
  color: var(--tooltip-text);
  padding: var(--tooltip-padding);
  font-size: var(--tooltip-font);
  border-radius: var(--tooltip-radius);
  width: max-content;
  max-width: 220px;
  white-space: normal;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: 0.15s ease;
  z-index: 9999;
}

[qdna-tooltip]:hover:not([tooltip-type=arrow])::before {
  opacity: 1;
}

[tooltip-type=arrow] {
  position: relative;
}

.qdna-tooltip-box {
  position: absolute;
  background: var(--tooltip-bg);
  color: var(--tooltip-text);
  padding: var(--tooltip-padding);
  font-size: var(--tooltip-font);
  border-radius: var(--tooltip-radius);
  text-align: center;
  width: max-content;
  max-width: 220px;
  opacity: 0;
  pointer-events: none;
  transition: 0.15s ease;
  z-index: 9999;
}

.qdna-tooltip-box.show {
  opacity: 1;
}

.qdna-tooltip-title {
  font-weight: 600;
  font-size: 13px;
  margin-bottom: 4px;
}

.qdna-tooltip-body {
  font-size: 12px;
  line-height: 1.4;
}

.qdna-tooltip-arrow {
  position: absolute;
  width: 8px;
  height: 8px;
  background: var(--tooltip-bg);
  transform: rotate(45deg);
}

[tooltip-type=arrow]:not([tooltip-position]) .qdna-tooltip-box,
[tooltip-position=top] .qdna-tooltip-box {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(calc(-1 * var(--tooltip-gap)));
}

[tooltip-type=arrow]:not([tooltip-position]) .qdna-tooltip-arrow,
[tooltip-position=top] .qdna-tooltip-arrow {
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}

[tooltip-position=bottom] .qdna-tooltip-box {
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(var(--tooltip-gap));
}

[tooltip-position=bottom] .qdna-tooltip-arrow {
  top: -4px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}

[tooltip-position=left] .qdna-tooltip-box {
  right: 100%;
  top: 50%;
  transform: translateY(-50%) translateX(calc(-1 * var(--tooltip-gap)));
}

[tooltip-position=left] .qdna-tooltip-arrow {
  right: -4px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

[tooltip-position=right] .qdna-tooltip-box {
  left: 100%;
  top: 50%;
  transform: translateY(-50%) translateX(var(--tooltip-gap));
}

[tooltip-position=right] .qdna-tooltip-arrow {
  left: -4px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

[qdna-tooltip]:not([tooltip-type=arrow])[tooltip-color=purple] {
  --tooltip-bg: #40499A;
  --tooltip-text: #ffffff;
}

[qdna-tooltip]:not([tooltip-type=arrow])[tooltip-color=light-purple] {
  --tooltip-bg: #DADDF2;
  --tooltip-text: #40499A;
}

[qdna-tooltip]:not([tooltip-type=arrow])[tooltip-color=grey] {
  --tooltip-bg: #C4C7CC;
  --tooltip-text: #0B0B0D;
}

[qdna-tooltip]:not([tooltip-type=arrow])[tooltip-color=light-grey] {
  --tooltip-bg: #E1E3E6;
  --tooltip-text: #6B7280;
}

[tooltip-type=arrow][tooltip-color=purple] {
  --tooltip-bg: #40499A;
  --tooltip-text: #ffffff;
}

[tooltip-type=arrow][tooltip-color=light-purple] {
  --tooltip-bg: #DADDF2;
  --tooltip-text: #40499A;
}

[tooltip-type=arrow][tooltip-color=white] {
  --tooltip-bg: #ffffff;
  --tooltip-text: #40499A;
}

[qdna-tooltip]:not([tooltip-type=arrow])[tooltip-size=sm] {
  --tooltip-padding: 0px 8px;
  --tooltip-font: 12px;
}

[tooltip-type=arrow][tooltip-size=sm] {
  --tooltip-padding: 2px 8px;
  --tooltip-font: 10px;
}

[tooltip-type=arrow]:not([tooltip-size]),
[tooltip-type=arrow][tooltip-size=lg] {
  --tooltip-padding: 10px 12px;
  --tooltip-font: 13px;
}

[qdna-tooltip][disabled],
[qdna-tooltip].disabled {
  pointer-events: none;
}

[qdna-tooltip][disabled]::before,
[qdna-tooltip].disabled::before {
  display: none !important;
}

[qdna-tooltip][disabled] .qdna-tooltip-box,
[qdna-tooltip].disabled .qdna-tooltip-box {
  display: none !important;
}

.qdna-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  position: relative;
}
.qdna-checkbox input {
  position: absolute;
  opacity: 0;
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
}
.qdna-checkbox .checkbox-box {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: #FFFFFF;
  border: 1px solid #C4C7CC;
  position: relative;
  box-sizing: border-box;
  transition: all 0.2s ease;
}
.qdna-checkbox .checkbox-box::before {
  display: none !important;
}
.qdna-checkbox[data-shape=round] .checkbox-box {
  border-radius: 50%;
}
.qdna-checkbox:not(.disabled):hover input:not(:checked) + .checkbox-box {
  border-color: #4652F3;
}
.qdna-checkbox:focus-within .checkbox-box::before, .qdna-checkbox[state=focus] .checkbox-box::before {
  opacity: 0;
}
.qdna-checkbox input:checked + .checkbox-box {
  background: #4652F3;
  border-color: #4652F3;
}
.qdna-checkbox input:checked + .checkbox-box::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #FFFFFF;
  -webkit-mask: url("/img/check.svg") no-repeat center/12px;
  mask: url("/img/check.svg") no-repeat center/12px;
}
.qdna-checkbox.indeterminate-type input:checked + .checkbox-box::after {
  content: "";
  position: absolute;
  top: 6px;
  left: 3px;
  width: 8px;
  height: 2px;
  background: #FFFFFF;
  -webkit-mask: none !important;
  mask: none !important;
}
.qdna-checkbox[data-state=success] input:not(:checked) + .checkbox-box {
  border-color: #428B6E;
}
.qdna-checkbox[data-state=success] input:checked + .checkbox-box {
  background: #6EE7B7;
  border-color: #428B6E;
}
.qdna-checkbox[data-state=error] input:not(:checked) + .checkbox-box {
  border-color: #C65A5A;
}
.qdna-checkbox[data-state=error] input:checked + .checkbox-box {
  background: #F87171;
  border-color: #C65A5A;
}
.qdna-checkbox.disabled {
  pointer-events: none;
  opacity: 0.6;
}
.qdna-checkbox.disabled input + .checkbox-box {
  background: #F0F1F2;
  border-color: #C4C7CC;
}
.qdna-checkbox.disabled input:checked + .checkbox-box {
  background: #FFFFFF;
}
.qdna-checkbox.disabled input:checked + .checkbox-box::after {
  background-color: #898E99;
}
.qdna-checkbox .checkbox-label {
  color: #333;
}

qdna-radio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.qdna-radio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  position: relative;
}
.qdna-radio input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.qdna-radio .radio-circle {
  display: flex;
  width: 16px;
  height: 16px;
  padding: 4px;
  align-items: center;
  justify-content: center;
  border: 1px solid #C4C7CC;
  border-radius: 50%;
  background: #FFFFFF;
  box-sizing: border-box;
  position: relative;
  transition: all 0.2s ease;
}
.qdna-radio .radio-circle::after {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #FFFFFF;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.qdna-radio .radio-circle::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: inherit;
  box-shadow: 0 0 0 2px #4652F3;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.qdna-radio:not(.disabled):hover input:not(:checked) + .radio-circle {
  border-color: #4652F3;
}
.qdna-radio input:checked + .radio-circle {
  background: #4652F3;
  border-color: #4652F3;
}
.qdna-radio input:checked + .radio-circle::after {
  opacity: 1;
}
.qdna-radio[data-state=success] input:not(:checked) + .radio-circle {
  border-color: #428B6E;
}
.qdna-radio[data-state=success] input:checked + .radio-circle {
  background: #428B6E;
  border-color: #428B6E;
}
.qdna-radio[data-state=error] input:not(:checked) + .radio-circle {
  border-color: #C65A5A;
}
.qdna-radio[data-state=error] input:checked + .radio-circle {
  background: #C65A5A;
  border-color: #C65A5A;
}
.qdna-radio.disabled {
  pointer-events: none;
  opacity: 0.6;
}
.qdna-radio.disabled input:not(:checked) + .radio-circle {
  background: #E0E0E0;
  border-color: #C4C7CC;
}
.qdna-radio.disabled input:checked + .radio-circle {
  background: #FFFFFF;
  border-color: #C4C7CC;
}
.qdna-radio.disabled input:checked + .radio-circle::after {
  background: #9E9E9E;
  opacity: 1;
}
.qdna-radio .radio-label {
  color: #333;
}

qdna-menu-item {
  display: block;
}

.menu-item__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px;
  cursor: pointer;
  border-radius: 6px;
  transition: background 0.2s ease;
}

.menu-item__container:hover {
  background: #f5f5f5;
}

.menu-item__left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}

.menu-item__control {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.menu-item__prefix {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  flex-shrink: 0;
}

.menu-item__label {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.menu-item__suffix {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  flex-shrink: 0;
}

.menu-item__prefix i,
.menu-item__suffix i {
  font-size: 18px;
}

qdna-menu-item[disabled] .menu-item__container {
  opacity: 0.5;
  pointer-events: none;
}

.avatar {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 1px solid;
  aspect-ratio: 1/1;
  overflow: hidden;
  font-weight: 600;
  transition: all 0.2s ease;
  cursor: pointer;
}
.avatar .avatar-content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.avatar-xs {
  width: 20px;
  height: 20px;
  font-size: 12px;
}

.avatar-sm {
  width: 34px;
  height: 34px;
  font-size: 12px;
}

.avatar-md {
  width: 48px;
  height: 48px;
  font-size: 16px;
}

.avatar-lg {
  width: 64px;
  height: 64px;
  font-size: 18px;
}

.avatar--green {
  border-color: #428B6E;
  background: #C5F5E2;
}
.avatar--green:hover {
  background: rgb(175.25, 241.25, 215.125);
  border-color: rgb(57.7902439024, 121.7097560976, 96.3170731707);
}
.avatar--green.is-selected {
  background: rgb(218.75, 248.75, 236.875);
  border-color: rgb(74.2097560976, 156.2902439024, 123.6829268293);
}

.avatar--pink {
  border-color: #C65A5A;
  background: #F87171;
}
.avatar--pink:hover {
  background: rgb(246.8020134228, 88.6979865772, 88.6979865772);
  border-color: rgb(191.4527027027, 71.0472972973, 71.0472972973);
}
.avatar--pink.is-selected {
  background: rgb(249.1979865772, 137.3020134228, 137.3020134228);
  border-color: rgb(204.5472972973, 108.9527027027, 108.9527027027);
}

.avatar--yellow {
  border-color: #B7791F;
  background: #FDE68A;
}
.avatar--yellow:hover {
  background: rgb(252.5714285714, 224.6428571429, 112.9285714286);
  border-color: rgb(161.1939252336, 106.5817757009, 27.3060747664);
}
.avatar--yellow.is-selected {
  background: rgb(253.4285714286, 235.3571428571, 163.0714285714);
  border-color: rgb(204.8060747664, 135.4182242991, 34.6939252336);
}

.avatar--blue {
  border-color: #2B6CB0;
  background: #BFDBFE;
}
.avatar--blue:hover {
  background: rgb(165.8923076923, 204.8769230769, 253.6076923077);
  border-color: rgb(37.9931506849, 95.4246575342, 155.5068493151);
}
.avatar--blue.is-selected {
  background: rgb(216.1076923077, 233.1230769231, 254.3923076923);
  border-color: rgb(48.0068493151, 120.5753424658, 196.4931506849);
}

.avatar--grey {
  border-color: #C4C7CC;
  background: #E5E7EB;
}
.avatar--grey:hover {
  background: rgb(214.5869565217, 217.6956521739, 223.9130434783);
  border-color: rgb(182.3227272727, 186.0181818182, 192.1772727273);
}
.avatar--grey.is-selected {
  background: rgb(243.4130434783, 244.3043478261, 246.0869565217);
  border-color: rgb(209.6772727273, 211.9818181818, 215.8227272727);
}

.avatar--red {
  border-color: #B91C1C;
  background: #FCA5A5;
}
.avatar--red:hover {
  background: rgb(251.1774193548, 140.3225806452, 140.3225806452);
  border-color: rgb(162.8521126761, 24.6478873239, 24.6478873239);
}
.avatar--red.is-selected {
  background: rgb(252.8225806452, 189.6774193548, 189.6774193548);
  border-color: rgb(207.1478873239, 31.3521126761, 31.3521126761);
}

.qdnapro-account-card {
  display: inline-flex;
  flex-direction: column;
  box-sizing: border-box;
  min-width: 280px;
  padding: 8px;
  gap: 4px;
  background: #ffffff;
  border: 1px solid #c4c7cc;
  border-radius: 8px;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15), 0 8px 12px 6px rgba(0, 0, 0, 0.075);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
}

.qdnapro-account-card .account-card-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  padding: 16px 16px 12px;
}

.qdnapro-account-card .account-card-header qdnapro-avatar {
  margin-bottom: 8px;
}

.qdnapro-account-card .account-card-name {
  font-size: 16px;
  font-weight: 600;
  line-height: 20px;
  color: #0b0b0d;
}

.qdnapro-account-card .account-card-email {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #6b7280;
}

.qdnapro-account-card .account-card-items {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.qdnapro-account-card .account-card-items > qdnapro-menu-item {
  width: 100%;
}

[data-theme=dark] .qdnapro-account-card {
  background: #2e3036;
  border-color: #40444d;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.3), 0 8px 12px 6px rgba(0, 0, 0, 0.2);
}

[data-theme=dark] .qdnapro-account-card .account-card-name {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-account-card .account-card-email {
  color: #a6aab3;
}

/* compiled from _action-bar.scss */
.qdnapro-action-bar {
  --action-bar-bg: #ffffff;
  --action-bar-border: #d9dbeb;
  --action-bar-offset: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 56px;
  padding: 0 16px;
  background: var(--action-bar-bg);
  border: 0.5px solid var(--action-bar-border);
  border-radius: 8px;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
  font-family: inherit;
}

.qdnapro-action-bar > * {
  vertical-align: middle;
}

.qdnapro-action-bar.action-bar-floating {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: var(--action-bar-offset);
  z-index: 9000;
}

qdnapro-menu.action-bar-menu-floating {
  z-index: 9200;
  animation: action-bar-menu-pop 160ms cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: bottom left;
}

@keyframes action-bar-menu-pop {
  from {
    opacity: 0;
    transform: translateY(4px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
[data-theme=dark] .qdnapro-action-bar,
[data-theme-dark] .qdnapro-action-bar {
  --action-bar-bg: #2e3036;
  --action-bar-border: rgba(255, 255, 255, 0.10);
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.45);
}

.qdnapro-activity-card {
  position: relative;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 48px 1fr;
  grid-template-areas: "tile body";
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  min-height: 64px;
  background: var(--ac-surface, #ffffff);
  border: 1px solid var(--ac-border, #e1e3e6);
  border-radius: 14px;
  cursor: pointer;
  outline: none;
  user-select: none;
  text-decoration: none;
  transition: box-shadow 150ms ease-out, border-color 150ms ease-out, transform 150ms ease-out, background-color 150ms ease-out;
}

.qdnapro-activity-card.ac-has-actions {
  grid-template-areas: "tile body" "actions actions";
}

.qdnapro-activity-card *,
.qdnapro-activity-card *::before,
.qdnapro-activity-card *::after {
  box-sizing: border-box;
}

.qdnapro-activity-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(0, 0, 0, 0.05);
  opacity: var(--ac-overlay-o, 0);
  transition: opacity 150ms ease-out;
  pointer-events: none;
}

@media (hover: hover) {
  .qdnapro-activity-card:hover {
    --ac-overlay-o: 0.5;
    border-color: rgba(0, 0, 0, 0.14);
    box-shadow: 0 3px 10px rgba(20, 25, 80, 0.08);
    transform: translateY(-1px);
  }
}
.qdnapro-activity-card:active {
  --ac-overlay-o: 1;
  transform: scale(0.985);
  transition: box-shadow 80ms ease-out, transform 80ms ease-out, background-color 80ms ease-out;
}

.qdnapro-activity-card:focus-visible {
  outline: 2px solid #40499a;
  outline-offset: 2px;
}

[data-theme=dark] .qdnapro-activity-card::after {
  background: rgba(255, 255, 255, 0.06);
}

/* === Dark mode - base card chrome === */
[data-theme=dark] .qdnapro-activity-card {
  background: #2e3036;
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme=dark] .qdnapro-activity-card .ac-label {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-activity-card .ac-description {
  color: #a0a4b8;
}

[data-theme=dark] .qdnapro-activity-card:hover {
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);
  border-color: rgba(255, 255, 255, 0.18);
}

/* === Icon tile === */
.qdnapro-activity-card .ac-tile {
  grid-area: tile;
  width: 48px;
  height: 48px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--ac-tile-bg, #f0f1f2);
  overflow: hidden;
}

.qdnapro-activity-card .ac-tile-tick svg {
  width: 32px;
  height: 32px;
  display: block;
}

/* === Text column === */
.qdnapro-activity-card .ac-body {
  grid-area: body;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}

.qdnapro-activity-card .ac-label {
  font-size: 15px;
  font-weight: 600;
  color: var(--ac-text, #0b0b0d);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-activity-card .ac-description {
  font-size: 12.5px;
  color: var(--ac-text-muted, #898e99);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* === Meta row: repeat tag (first) + completion stamp ===
   Required pill lives OUTSIDE this row now (see the corner-badge block
   below), so the row only exists for the repeat tag and/or the stamp. */
.qdnapro-activity-card .ac-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}

.qdnapro-activity-card .ac-pill {
  flex: none;
}

/* Icon-only repeat tag (no text content) - the tag's own empty label span
   still carries its 4px icon-label gap, which would add lopsided trailing
   padding around nothing. Neutralised here, scoped to this one usage, same
   fix as qdnapro-activity-row's .row-icon-tag (Kim, 13.07.2026). */
.qdnapro-activity-card .ac-pill-repeat {
  gap: 0;
}

/* === Corner cluster: icon-only repeat tag + required pill side by side in the
   top-right corner (Kim, 13.07.2026). The chevron and its whole glyph
   column are gone, so the cluster owns the right edge against the card's
   own padding. */
.qdnapro-activity-card .ac-corner {
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 4px;
}

/* Reserve room so a long title truncates before running under the corner
   cluster instead of behind it - worst case is repeat icon-tag plus
   "Verplicht"/"Required", ~120px covers it. */
.qdnapro-activity-card.ac-has-corner .ac-label,
.qdnapro-activity-card.ac-has-corner .ac-description {
  padding-right: 120px;
}

/* === Status-tinted pill ===
   A grey tag on a coloured status surface clashes (Kim, 13.07.2026), so
   every ".ac-pill" (required corner badge, completion stamp, and the
   repeat tag added 13.07.2026) follows the status palette: the "-2" tag
   tone as background with the matching tag text colour. The tag component
   paints itself from the --tag-bg/--tag-text custom properties, so
   overriding those here (three classes, beats the tag's own two-class
   selector) is enough. Open/repeat-done/disabled keep the tag's own
   grey/disabled look (no tint rule exists for ac-status-repeat-done, by
   design - see the repeat-done note further down). */
.qdnapro-activity-card.ac-status-in-progress .ac-pill {
  --tag-bg: #fde594;
  --tag-text: #655522;
}

.qdnapro-activity-card.ac-status-completed .ac-pill {
  --tag-bg: #8becc5;
  --tag-text: #2f5d4a;
}

.qdnapro-activity-card.ac-status-error .ac-pill {
  --tag-bg: #fbaaaa;
  --tag-text: #633030;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-in-progress .ac-pill {
  --tag-bg: #7a6b2d;
  --tag-text: #fde594;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-completed .ac-pill {
  --tag-bg: #3d7a62;
  --tag-text: #8becc5;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-error .ac-pill {
  --tag-bg: #7a3838;
  --tag-text: #fbaaaa;
}

/* === Bottom action row: briefing / repeat buttons ===
   Full-width row below the tile/text/glyph columns (Kim, 13.07.2026 - the
   old briefing/counter pills were too small as touch targets). Hairline
   divider reuses --ac-border, so it recolours the same way as the card
   border on every status. */
.qdnapro-activity-card .ac-actions {
  grid-area: actions;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--ac-border, #e1e3e6);
}

.qdnapro-activity-card .ac-action-btn {
  flex: none;
}

/* === Status-tinted action buttons ===
   secondary-purple works on the white open card but clashes on the coloured
   status surfaces (Kim, 13.07.2026). On those statuses the buttons take the
   same "-2" tag tone family as the pill: -2 background, status text colour,
   the tag's own -2 hover token on hover/press. qdnapro-button paints from
   fixed class colours (no custom properties), so these five-class overrides
   simply out-specify its three-class rules; icons follow via currentColor. */
.qdnapro-activity-card.ac-status-in-progress .ac-actions .qdnapro-button.button-secondary-purple {
  background: #fde594;
  color: #655522;
}

.qdnapro-activity-card.ac-status-in-progress .ac-actions .qdnapro-button.button-secondary-purple:hover:not(.button-disabled),
.qdnapro-activity-card.ac-status-in-progress .ac-actions .qdnapro-button.button-secondary-purple:active:not(.button-disabled) {
  background: #fddc71;
}

.qdnapro-activity-card.ac-status-completed .ac-actions .qdnapro-button.button-secondary-purple {
  background: #8becc5;
  color: #2f5d4a;
}

.qdnapro-activity-card.ac-status-completed .ac-actions .qdnapro-button.button-secondary-purple:hover:not(.button-disabled),
.qdnapro-activity-card.ac-status-completed .ac-actions .qdnapro-button.button-secondary-purple:active:not(.button-disabled) {
  background: #6ee7b7;
}

.qdnapro-activity-card.ac-status-error .ac-actions .qdnapro-button.button-secondary-purple {
  background: #fbaaaa;
  color: #633030;
}

.qdnapro-activity-card.ac-status-error .ac-actions .qdnapro-button.button-secondary-purple:hover:not(.button-disabled),
.qdnapro-activity-card.ac-status-error .ac-actions .qdnapro-button.button-secondary-purple:active:not(.button-disabled) {
  background: #f98d8d;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-in-progress .ac-actions .qdnapro-button.button-secondary-purple {
  background: #7a6b2d;
  color: #fef6db;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-in-progress .ac-actions .qdnapro-button.button-secondary-purple:hover:not(.button-disabled),
[data-theme=dark] .qdnapro-activity-card.ac-status-in-progress .ac-actions .qdnapro-button.button-secondary-purple:active:not(.button-disabled) {
  background: #9a8a3b;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-completed .ac-actions .qdnapro-button.button-secondary-purple {
  background: #3d7a62;
  color: #e2faf1;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-completed .ac-actions .qdnapro-button.button-secondary-purple:hover:not(.button-disabled),
[data-theme=dark] .qdnapro-activity-card.ac-status-completed .ac-actions .qdnapro-button.button-secondary-purple:active:not(.button-disabled) {
  background: #4d9c7c;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-error .ac-actions .qdnapro-button.button-secondary-purple {
  background: #7a3838;
  color: #fee3e3;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-error .ac-actions .qdnapro-button.button-secondary-purple:hover:not(.button-disabled),
[data-theme=dark] .qdnapro-activity-card.ac-status-error .ac-actions .qdnapro-button.button-secondary-purple:active:not(.button-disabled) {
  background: #9a4747;
}

/* The count badge on the repeat button (qdnapro-button's own badge attr,
   "subtle" pairing = lavender) must follow the same status tint (Kim,
   13.07.2026): the light status surface tone as badge background with the
   status text colour, so it reads as a quiet chip on the "-2" button. */
.qdnapro-activity-card.ac-status-in-progress .ac-actions [data-button-badge] {
  background-color: #fef6db;
  border-color: transparent;
  color: #655522;
}

.qdnapro-activity-card.ac-status-completed .ac-actions [data-button-badge] {
  background-color: #e2faf1;
  border-color: transparent;
  color: #2f5d4a;
}

.qdnapro-activity-card.ac-status-error .ac-actions [data-button-badge] {
  background-color: #fee3e3;
  border-color: transparent;
  color: #633030;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-in-progress .ac-actions [data-button-badge] {
  background-color: #5a4d1f;
  color: #fde594;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-completed .ac-actions [data-button-badge] {
  background-color: #2a5544;
  color: #8becc5;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-error .ac-actions [data-button-badge] {
  background-color: #5a2b2b;
  color: #fbaaaa;
}

@keyframes qdnapro-ac-count-bump {
  0% {
    transform: scale(1);
  }
  35% {
    transform: scale(1.18);
  }
  60% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}
.qdnapro-activity-card .ac-badge-bump {
  animation: qdnapro-ac-count-bump 380ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-activity-card .ac-badge-bump {
    animation: none;
  }
}
/* === Pulse (status-changed feedback) === */
@keyframes qdnapro-ac-pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(64, 73, 154, 0.35);
  }
  40% {
    transform: scale(1.015);
    box-shadow: 0 0 0 8px rgba(64, 73, 154, 0);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(64, 73, 154, 0);
  }
}
.qdnapro-activity-card.ac-pulse {
  animation: qdnapro-ac-pulse 520ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-activity-card.ac-pulse {
    animation: none;
  }
}
/* === Icon-color palette (qdnapro-tag --tag-bg values, light) ===
   Only used by the "open" status - every other status overrides the tile
   colour directly further down. */
.qdnapro-activity-card.ac-color-grey {
  --ac-tile-bg: #f0f1f2;
}

.qdnapro-activity-card.ac-color-red {
  --ac-tile-bg: #fee3e3;
}

.qdnapro-activity-card.ac-color-yellow {
  --ac-tile-bg: #fef6db;
}

.qdnapro-activity-card.ac-color-green {
  --ac-tile-bg: #e2faf1;
}

.qdnapro-activity-card.ac-color-blue {
  --ac-tile-bg: #e6eff9;
}

.qdnapro-activity-card.ac-color-bright-blue {
  --ac-tile-bg: #d6e0f9;
}

.qdnapro-activity-card.ac-color-pink {
  --ac-tile-bg: #f6e1e8;
}

.qdnapro-activity-card.ac-color-purple {
  --ac-tile-bg: #ebe9fb;
}

[data-theme=dark] .qdnapro-activity-card.ac-color-grey {
  --ac-tile-bg: #565b66;
}

[data-theme=dark] .qdnapro-activity-card.ac-color-red {
  --ac-tile-bg: #5a2b2b;
}

[data-theme=dark] .qdnapro-activity-card.ac-color-yellow {
  --ac-tile-bg: #5a4d1f;
}

[data-theme=dark] .qdnapro-activity-card.ac-color-green {
  --ac-tile-bg: #2a5544;
}

[data-theme=dark] .qdnapro-activity-card.ac-color-blue {
  --ac-tile-bg: #2e3e54;
}

[data-theme=dark] .qdnapro-activity-card.ac-color-bright-blue {
  --ac-tile-bg: #2a3560;
}

[data-theme=dark] .qdnapro-activity-card.ac-color-pink {
  --ac-tile-bg: #4e2a36;
}

[data-theme=dark] .qdnapro-activity-card.ac-color-purple {
  --ac-tile-bg: #3a3555;
}

/* === Status overrides (always win over the icon-color pastel) ===
   Each status sets the tile background directly (not through --ac-tile-bg)
   with a higher-specificity selector (2 classes + descendant), so it wins
   regardless of source order - same pattern as the tasklist-card [archived]
   override. Border colour reuses the tile's "-2" tone for definition, no
   new palette values invented. */
.qdnapro-activity-card.ac-status-in-progress {
  --ac-surface: #fef6db;
  --ac-border: #fde594;
  --ac-text: #655522;
  --ac-text-muted: #655522;
}

.qdnapro-activity-card.ac-status-in-progress .ac-tile {
  background: #fde594;
}

.qdnapro-activity-card.ac-status-completed {
  --ac-surface: #e2faf1;
  --ac-border: #8becc5;
  --ac-text: #2f5d4a;
  --ac-text-muted: #2f5d4a;
}

.qdnapro-activity-card.ac-status-completed .ac-tile {
  background: #8becc5;
}

/* repeat-done (Kim's compromise, 13.07.2026): a repeat activity never truly
   "completes", but after at least one fill-in it deserves the same
   satisfying green tile + text as completed - WITHOUT the green surface
   wash, so the card still reads as open/tappable for the next fill-in.
   Only --ac-text/--ac-text-muted are overridden (matching completed's
   values); --ac-surface/--ac-border are deliberately left unset so the card
   falls back to the neutral open chrome (#ffffff / #e1e3e6 via the base
   rule's own fallbacks). No pill/action-button tint rules exist for this
   status (unlike in-progress/completed/error) - deliberately, per spec. */
.qdnapro-activity-card.ac-status-repeat-done {
  --ac-text: #2f5d4a;
  --ac-text-muted: #2f5d4a;
}

.qdnapro-activity-card.ac-status-repeat-done .ac-tile {
  background: #8becc5;
}

.qdnapro-activity-card.ac-status-error {
  --ac-surface: #fee3e3;
  --ac-border: #fbaaaa;
  --ac-text: #633030;
  --ac-text-muted: #633030;
}

.qdnapro-activity-card.ac-status-error .ac-tile {
  background: #fbaaaa;
}

.qdnapro-activity-card.ac-status-disabled {
  --ac-surface: #f0f1f2;
  --ac-border: #e1e3e6;
  --ac-text: #898e99;
  --ac-text-muted: #898e99;
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-activity-card.ac-status-disabled .ac-tile {
  background: #e1e3e6;
  filter: grayscale(1);
}

/* Dark-mode status overrides. Values from the tag dark palette:
   yellow(-2), green(-2), red(-2) pairs; grey base + grey hover for disabled. */
[data-theme=dark] .qdnapro-activity-card.ac-status-in-progress {
  --ac-surface: #5a4d1f;
  --ac-border: #7a6b2d;
  --ac-text: #fde594;
  --ac-text-muted: #fde594;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-in-progress .ac-tile {
  background: #7a6b2d;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-completed {
  --ac-surface: #2a5544;
  --ac-border: #3d7a62;
  --ac-text: #8becc5;
  --ac-text-muted: #8becc5;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-completed .ac-tile {
  background: #3d7a62;
}

/* repeat-done dark tile + text (same split as light: surface/border stay
   the dark base card chrome set by the plain [data-theme=dark]
   .qdnapro-activity-card rule above). */
[data-theme=dark] .qdnapro-activity-card.ac-status-repeat-done {
  --ac-text: #8becc5;
  --ac-text-muted: #8becc5;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-repeat-done .ac-tile {
  background: #3d7a62;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-error {
  --ac-surface: #5a2b2b;
  --ac-border: #7a3838;
  --ac-text: #fbaaaa;
  --ac-text-muted: #fbaaaa;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-error .ac-tile {
  background: #7a3838;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-disabled {
  --ac-surface: #565b66;
  --ac-border: #6b7180;
  --ac-text: #6b7180;
  --ac-text-muted: #6b7180;
}

[data-theme=dark] .qdnapro-activity-card.ac-status-disabled .ac-tile {
  background: #6b7180;
  filter: grayscale(1);
}

/* === Force states (preview-only, mirrors real :hover / :active 1:1) ===
   Used by the "Force states" preview section to make transient states
   screenshottable. Keep in sync with the real hover/active rules above. */
.qdnapro-activity-card.is-force-hover {
  --ac-overlay-o: 0.5;
  border-color: rgba(0, 0, 0, 0.14);
  box-shadow: 0 3px 10px rgba(20, 25, 80, 0.08);
  transform: translateY(-1px);
}

.qdnapro-activity-card.is-force-pressed {
  --ac-overlay-o: 1;
  transform: scale(0.985);
}

[data-theme=dark] .qdnapro-activity-card.is-force-hover {
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);
  border-color: rgba(255, 255, 255, 0.18);
}

/* === Smallest screen (320px) === */
@media (max-width: 320px) {
  .qdnapro-activity-card {
    grid-template-columns: 40px 1fr;
    padding: 8px 10px;
    gap: 8px;
  }
  .qdnapro-activity-card .ac-tile {
    width: 40px;
    height: 40px;
  }
  .qdnapro-activity-card .ac-tile-tick svg {
    width: 26px;
    height: 26px;
  }
}
.qdnapro-activity-icon {
  display: inline-block;
  box-sizing: border-box;
  flex-shrink: 0;
  line-height: 0;
  vertical-align: middle;
  user-select: none;
  transition: opacity 140ms ease-out;
}

.qdnapro-activity-icon .activity-icon-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  background: transparent;
}

.qdnapro-activity-icon.activity-icon-disabled {
  opacity: 0.5;
}

.qdnapro-activity-icon.activity-icon-missing {
  position: relative;
  background: rgba(0, 0, 0, 0.03);
  border: 1px dashed #c4c7cc;
  border-radius: 8px;
}

.qdnapro-activity-icon.activity-icon-missing::after {
  content: "?";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  color: #898e99;
}

[data-theme=dark] .qdnapro-activity-icon.activity-icon-missing {
  background: rgba(255, 255, 255, 0.04);
  border-color: #565b66;
}

[data-theme=dark] .qdnapro-activity-icon.activity-icon-missing::after {
  color: #6b7280;
}

/* ============================================================
 * qdnapro-activity-icon-picker
 * Ported into the components-v2 bundle so the picker is styled on
 * v1 pages that load the bundle (it previously only lived inline in
 * the preview + as a for-Sander SCSS drop-in). [Kim 2026-05-31]
 * ============================================================ */
.qdnapro-activity-icon-picker {
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
}

.qdnapro-activity-icon-picker *,
.qdnapro-activity-icon-picker *::before,
.qdnapro-activity-icon-picker *::after {
  box-sizing: border-box;
}

.qdnapro-activity-icon-picker .aip-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 4px;
}

@media (max-width: 600px) {
  .qdnapro-activity-icon-picker .aip-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.qdnapro-activity-icon-picker .aip-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #e1e3e6;
  border-radius: 10px;
  background: #ffffff;
  cursor: pointer;
  outline: none;
  transition: background 120ms ease, border-color 120ms ease, box-shadow 150ms ease, transform 100ms ease;
}

.qdnapro-activity-icon-picker .aip-tile qdnapro-activity-icon {
  pointer-events: none;
  display: inline-flex;
}

.qdnapro-activity-icon-picker .aip-tile:hover {
  background: #ebedfb;
  border-color: #b8bde8;
  transform: translateY(-1px);
}

.qdnapro-activity-icon-picker .aip-tile:active {
  transform: translateY(0);
}

.qdnapro-activity-icon-picker .aip-tile:focus-visible {
  border-color: #40499a;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.2);
}

.qdnapro-activity-icon-picker .aip-tile.aip-tile-selected {
  border-color: #4652f3;
  background: rgba(70, 82, 243, 0.06);
  box-shadow: 0 0 0 3px rgba(70, 82, 243, 0.25);
}

.qdnapro-activity-icon-picker .aip-tile.aip-tile-selected:hover {
  background: rgba(70, 82, 243, 0.1);
}

.qdnapro-activity-icon-picker .aip-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-top: 2px;
}

/* "View more" (Meer iconen) uses qdnapro-button (subtle-purple, small). */
/* ---- current-only (04.08.2026) ------------------------------------------
   Kim, takenlijst-instellingen: "ik wil gewoon alleen de huidige icon laten
   zien en de meer icon knop naast elkaar, om ruimte te besparen". De host is
   normaal een KOLOM (grid boven, knop eronder); in deze stand wordt hij een
   RIJ, zodat de ene tegel en de knop naast elkaar staan. Dat scheelt op een
   dichte instellingenpagina een hele regel hoogte.
   Zie qdna-activity-icon-picker.js's `current-only` note voor de rest. */
.qdnapro-activity-icon-picker.aip-current-only {
  flex-direction: row;
  align-items: center;
}

/* De grid heeft hier één tegel, dus geen kolommenraster meer nodig. */
.qdnapro-activity-icon-picker.aip-current-only .aip-grid {
  display: flex;
}

/* De 2px die de knop in de kolomstand van de grid afduwt, hoort hier niet:
   naast elkaar moeten tegel en knop op één lijn staan. */
.qdnapro-activity-icon-picker.aip-current-only .aip-actions {
  padding-top: 0;
}

/* Lege tegel: alleen zichtbaar zolang er nog geen icoon gekozen is. Houdt de
   footprint vast zodat de rij niet verspringt, en gestippeld zodat het als
   "hier komt iets" leest en niet als een kapot icoon. */
.qdnapro-activity-icon-picker .aip-tile.aip-tile-empty {
  border-style: dashed;
  cursor: default;
}

.qdnapro-activity-icon-picker.aip-disabled {
  opacity: 0.55;
  pointer-events: none;
}

/* Error state */
.qdnapro-activity-icon-picker.aip-error .aip-grid {
  padding: 8px;
  border: 1px solid #c65a5a;
  border-radius: 12px;
  box-shadow: 0 0 0 4px rgba(198, 90, 90, 0.18);
  background: rgba(198, 90, 90, 0.04);
}

.qdnapro-activity-icon-picker .aip-error-message {
  margin: 0;
  font-size: 12px;
  line-height: 16px;
  color: #c65a5a;
  font-weight: 500;
}

/* Size: compact - dense grid for the full-set picker overlay */
.qdnapro-activity-icon-picker.aip-size-compact {
  gap: 6px;
}

.qdnapro-activity-icon-picker.aip-size-compact .aip-grid {
  grid-template-columns: repeat(12, 1fr);
  gap: 4px;
}

@media (max-width: 720px) {
  .qdnapro-activity-icon-picker.aip-size-compact .aip-grid {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media (max-width: 480px) {
  .qdnapro-activity-icon-picker.aip-size-compact .aip-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}
.qdnapro-activity-icon-picker.aip-size-compact .aip-tile {
  border-radius: 6px;
}

.qdnapro-activity-icon-picker.aip-size-compact .aip-tile:hover {
  transform: none;
}

.qdnapro-activity-icon-picker.aip-size-compact .aip-tile.aip-tile-selected {
  box-shadow: 0 0 0 2px rgba(70, 82, 243, 0.3);
}

/* ============================================================
 * qdnapro-activity-icon-picker-overlay
 * Anchored search popover for the full activity-icon set. Ported
 * into the components-v2 bundle so it is styled on v1 pages that
 * load the bundle (it previously only lived inline in the preview).
 * The JS sets position (left/top/width) inline and toggles the
 * .aip-overlay-open class; this CSS supplies the box + chrome.
 * z-index 9100 keeps it above qdnapro-modal (z-index 9000).
 * [Kim 2026-05-31]
 * ============================================================ */
.qdnapro-activity-icon-picker-overlay {
  display: contents;
}

.qdnapro-activity-icon-picker-overlay *,
.qdnapro-activity-icon-picker-overlay *::before,
.qdnapro-activity-icon-picker-overlay *::after {
  box-sizing: border-box;
}

.aip-overlay-popover {
  position: fixed;
  z-index: 9100;
  display: none;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #c4c7cc;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.16), 0 2px 6px rgba(0, 0, 0, 0.08);
  max-height: 520px;
  width: 440px;
  overflow: hidden;
  font-family: "Inter", sans-serif;
  color: #0b0b0d;
  animation: aip-overlay-in 140ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.aip-overlay-popover.aip-overlay-open {
  display: flex;
}

@keyframes aip-overlay-in {
  from {
    opacity: 0;
    transform: translateY(-4px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.aip-overlay-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px 12px 16px;
  border-bottom: 1px solid #e5e5ea;
  flex-shrink: 0;
}

.aip-overlay-title {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: #40499a;
}

.aip-overlay-close {
  flex-shrink: 0;
}

.aip-overlay-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px 16px 0 16px;
  flex: 1 1 auto;
  min-height: 0;
}

.aip-overlay-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.aip-overlay-search {
  flex: 1 1 auto;
  min-width: 0;
}

.aip-overlay-count {
  flex: 0 0 auto;
  font-size: 11px;
  color: #6e6e73;
  white-space: nowrap;
}

.aip-overlay-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 12px 4px 12px 0;
  border-top: 1px solid #e5e5ea;
  margin-top: -4px;
}

.aip-overlay-scroll::-webkit-scrollbar {
  width: 10px;
}

.aip-overlay-scroll::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.18);
  border-radius: 10px;
}

.aip-overlay-scroll::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.28);
}

.aip-overlay-sentinel {
  flex-shrink: 0;
  height: 1px;
  margin-top: 4px;
  pointer-events: none;
}

.aip-overlay-empty {
  text-align: center;
  padding: 40px 8px;
  color: #6e6e73;
}

.aip-overlay-empty-title {
  font-size: 14px;
  font-weight: 600;
  color: #1d1d1f;
  margin-bottom: 4px;
}

.aip-overlay-empty-sub {
  font-size: 12px;
  color: #6e6e73;
}

.aip-overlay-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid #e5e5ea;
  flex-shrink: 0;
}

/* Compact tile grid inside the popover (auto-fill 36px cells). */
.aip-overlay-popover .qdnapro-activity-icon-picker.aip-size-compact .aip-grid {
  grid-template-columns: repeat(auto-fill, 36px);
  gap: 8px;
  justify-content: start;
}

/* ============================================================
 * icon-set="mdi" — own simple tile grid (floweditor appearance modal,
 * 12.07.2026). Parallel to the .aip-grid/.aip-tile recipe above so both
 * modes look identical, WITHOUT touching qdnapro-activity-icon-picker
 * itself (that component is a load-bearing Tasklists dependency — see the
 * JS docblock for why this stays a separate, parallel grid).
 * ============================================================ */
.aip-overlay-mdi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, 36px);
  gap: 8px;
  justify-content: start;
}

.aip-overlay-mdi-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #e1e3e6;
  border-radius: 6px;
  background: #ffffff;
  color: #565b66;
  cursor: pointer;
  outline: none;
  transition: background 120ms ease, border-color 120ms ease, box-shadow 150ms ease;
}

.aip-overlay-mdi-tile qdnapro-icon {
  pointer-events: none;
}

.aip-overlay-mdi-tile:hover {
  background: #ebedfb;
  border-color: #b8bde8;
}

.aip-overlay-mdi-tile:focus-visible {
  border-color: #40499a;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.2);
}

.aip-overlay-mdi-tile.aip-overlay-mdi-tile-selected {
  border-color: #4652f3;
  background: rgba(70, 82, 243, 0.06);
  box-shadow: 0 0 0 3px rgba(70, 82, 243, 0.25);
  color: #40499a;
}

[data-theme=dark] .aip-overlay-mdi-tile {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
  color: #d1d5db;
}

[data-theme=dark] .aip-overlay-mdi-tile:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
}

[data-theme=dark] .aip-overlay-mdi-tile.aip-overlay-mdi-tile-selected {
  border-color: #a5acff;
  background: rgba(70, 82, 243, 0.18);
  box-shadow: 0 0 0 2px rgba(70, 82, 243, 0.3);
  color: #a5acff;
}

qdnapro-activity-row {
  display: flex;
  align-items: center;
  gap: 6px;
  position: relative;
  box-sizing: border-box;
  --c-focus-ring: #40499a;
  --c-focus-glow: rgba(70, 82, 243, 0.25);
}

.activity-row-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 64px;
  flex: 1;
  padding: 8px 12px 8px 32px;
  border-radius: 10px;
  position: relative;
  box-sizing: border-box;
  user-select: none;
  cursor: grab;
  outline: none;
}
.activity-row-inner.is-checkin, .activity-row-inner.is-checkin:active {
  cursor: pointer;
}
.activity-row-inner {
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 100ms ease;
}

.activity-row-inner:focus-visible,
.activity-row-inner.force-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--c-focus-ring), 0 0 0 6px var(--c-focus-glow);
}

.activity-row-inner.disabled:focus-visible,
.activity-row-inner.disabled.force-focus {
  box-shadow: none;
}

.activity-row-inner.is-pressing:not(.disabled),
.activity-row-inner.force-active:not(.disabled) {
  background: rgba(70, 82, 243, 0.1);
  border-color: rgba(70, 82, 243, 0.28);
  box-shadow: 0 2px 10px rgba(70, 82, 243, 0.12);
  transform: scale(0.975);
  cursor: grabbing;
  transition: background 60ms ease, border-color 60ms ease, transform 60ms ease;
}

.activity-row-inner.disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

.activity-row-inner.archived {
  opacity: 0.6;
}

.activity-row-inner.archived:hover:not(.disabled) .row-accent-bar {
  opacity: 0;
}

.activity-row-inner.archived.is-pressing:not(.disabled),
.activity-row-inner.archived.force-active:not(.disabled) {
  background: rgba(255, 255, 255, 0.6);
  border-color: rgba(255, 255, 255, 0.7);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  transform: none;
}

.activity-row-inner.is-briefing {
  min-height: 56px;
  background: rgba(230, 239, 249, 0.75);
  border-color: rgba(181, 206, 237, 0.9);
}

.activity-row-inner.is-briefing:hover:not(.disabled),
.activity-row-inner.is-briefing.force-hover:not(.disabled) {
  background: rgba(206, 222, 243, 0.88);
  border-color: rgba(133, 161, 236, 0.9);
}

qdnapro-activity-row[dragging] .activity-row-inner {
  opacity: 0.35;
  cursor: grabbing;
}

qdnapro-activity-row[drop-above] .activity-row-inner {
  box-shadow: 0 -3px 0 0 #4652f3, 0 0 0 2px rgba(70, 82, 243, 0.15);
}

qdnapro-activity-row[drop-below] .activity-row-inner {
  box-shadow: 0 3px 0 0 #4652f3, 0 0 0 2px rgba(70, 82, 243, 0.15);
}

.activity-row-inner:hover:not(.disabled),
.activity-row-inner.force-hover:not(.disabled) {
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.activity-row-inner {
  overflow: hidden;
}

.row-accent-bar {
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 40px;
  background: #4652f3;
  border-radius: 2px;
  opacity: 0;
  transition: opacity 150ms ease;
  pointer-events: none;
  z-index: 1;
}

.activity-row-inner:hover:not(.disabled) .row-accent-bar,
.activity-row-inner.force-hover:not(.disabled) .row-accent-bar {
  opacity: 1;
}

.activity-row-inner.is-checkin:hover .row-accent-bar,
.activity-row-inner.is-checkin.force-hover .row-accent-bar {
  opacity: 0;
}

.row-grip {
  display: none;
}

.row-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

.row-activity-icon {
  flex-shrink: 0;
}

.row-icon-placeholder {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.06);
  flex-shrink: 0;
}

.row-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.row-name {
  font-size: 14px;
  font-weight: 500;
  color: #0b0b0d;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}

.row-sub {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.row-sub:empty {
  display: none;
}

.row-status {
  display: flex;
  align-items: center;
}

.row-status:empty {
  display: none;
}

.row-meta {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
}

.row-meta-id,
.row-meta-version {
  font-size: 11px;
  color: #9ca3af;
  font-weight: 400;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.row-meta-dot {
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #d1d5db;
  flex-shrink: 0;
}

.row-meta-desc {
  font-size: 11px;
  color: #9ca3af;
  font-weight: 400;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 0 1 auto;
  min-width: 0;
}

.row-type-tag {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  pointer-events: none;
  display: flex;
  align-items: center;
  gap: 6px;
}

.row-type-tag .row-icon-tag {
  gap: 0;
}

@media (max-width: 900px) {
  .row-type-tag {
    display: none;
  }
}
.row-divider {
  width: 1px;
  align-self: stretch;
  margin: 10px 4px;
  background: rgba(0, 0, 0, 0.08);
  flex-shrink: 0;
}

.row-right {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.row-col-btns {
  display: flex;
  gap: 4px;
}

.row-btn-divider {
  width: 1px;
  align-self: stretch;
  margin: 8px 2px;
  background: rgba(0, 0, 0, 0.08);
  flex-shrink: 0;
}

.row-required {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-left: 8px;
  border-left: 1px solid rgba(0, 0, 0, 0.08);
  margin-left: 4px;
}

.row-required-label {
  font-size: 12px;
  font-weight: 500;
  color: #6b7280;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
}

.activity-row-inner.indent {
  margin-left: 44px;
}

.row-warning-slot {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.row-warning-btn {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  padding: 0;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline: none;
  transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.row-warning-btn--not-connected {
  border: 1px solid rgba(234, 88, 12, 0.35);
  color: #ea580c;
}

.row-warning-btn--not-connected:hover {
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(234, 88, 12, 0.55);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  color: #c2410c;
}

.row-warning-btn--unpublished {
  border: 1px solid rgba(217, 119, 6, 0.3);
  color: #d97706;
}

.row-warning-btn--unpublished:hover {
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(217, 119, 6, 0.5);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  color: #b45309;
}

.row-warning-btn--not-published {
  border: 1px solid rgba(239, 142, 2, 0.32);
  color: #ef8e02;
}

.row-warning-btn--not-published:hover {
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(239, 142, 2, 0.52);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  color: #c2740a;
}

.row-warning-btn--no-location {
  border: 1px solid rgba(239, 142, 2, 0.32);
  color: #ef8e02;
}

.row-warning-btn--no-location:hover {
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(239, 142, 2, 0.52);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  color: #c2740a;
}

.row-warning-btn:focus-visible {
  box-shadow: 0 0 0 2px var(--c-focus-ring), 0 0 0 6px var(--c-focus-glow);
}

.row-warning-btn:active {
  background: rgba(255, 255, 255, 0.7);
  transform: scale(0.97);
}

[data-theme=dark] qdnapro-activity-row {
  --c-focus-ring: #a5acff;
  --c-focus-glow: rgba(70, 82, 243, 0.40);
}

[data-theme=dark] .activity-row-inner {
  background: #2e3036;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

[data-theme=dark] .activity-row-inner:hover:not(.disabled),
[data-theme=dark] .activity-row-inner.force-hover:not(.disabled) {
  background: #40444d;
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

[data-theme=dark] .activity-row-inner.is-pressing:not(.disabled),
[data-theme=dark] .activity-row-inner.force-active:not(.disabled) {
  background: rgba(70, 82, 243, 0.18);
  border-color: rgba(70, 82, 243, 0.4);
  box-shadow: 0 2px 10px rgba(70, 82, 243, 0.2);
}

[data-theme=dark] .activity-row-inner.is-briefing {
  background: #2e3e54;
  border-color: rgba(181, 206, 237, 0.2);
}

[data-theme=dark] .activity-row-inner.is-briefing:hover:not(.disabled),
[data-theme=dark] .activity-row-inner.is-briefing.force-hover:not(.disabled) {
  background: #445a78;
  border-color: rgba(181, 206, 237, 0.32);
}

[data-theme=dark] .row-name {
  color: #f3f4f6;
}

[data-theme=dark] .row-meta-id,
[data-theme=dark] .row-meta-version {
  color: #4b5563;
}

[data-theme=dark] .row-meta-dot {
  background: #374151;
}

[data-theme=dark] .row-meta-desc {
  color: #6b7280;
}

[data-theme=dark] .activity-row-inner.navigating:not(.disabled) {
  background: rgba(70, 82, 243, 0.15);
  border-color: rgba(70, 82, 243, 0.35);
  box-shadow: 0 2px 12px rgba(70, 82, 243, 0.25);
}

[data-theme=dark] .row-divider {
  background: rgba(255, 255, 255, 0.08);
}

[data-theme=dark] .row-btn-divider {
  background: rgba(255, 255, 255, 0.08);
}

[data-theme=dark] .row-icon-placeholder {
  background: rgba(255, 255, 255, 0.08);
}

[data-theme=dark] .row-required {
  border-left-color: rgba(255, 255, 255, 0.08);
}

[data-theme=dark] .row-required-label {
  color: #9ca3af;
}

[data-theme=dark] .row-warning-btn {
  background: rgba(20, 22, 35, 0.7);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  color: #fbbf24;
}

[data-theme=dark] .row-warning-btn:hover {
  background: rgba(40, 44, 65, 0.85);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  color: #f59e0b;
}

.qdnapro-agenda-list {
  display: block;
  box-sizing: border-box;
  width: 100%;
  background: #fff;
  font-family: var(--theme-font-family, "Inter", sans-serif);
}

.qdnapro-agenda-list__day {
  display: block;
}

.qdnapro-agenda-list__header {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 10px 16px 6px;
  background: #fff;
  border-bottom: 1px solid var(--c-grey-100, #e7e9ec);
  font-size: 13px;
  font-weight: 600;
  line-height: 16px;
  color: var(--c-grey-600, #565b66);
}

.qdnapro-agenda-list__header.is-today {
  color: var(--c-action-500, #4652f3);
}

.qdnapro-agenda-list__todaypill {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 999px;
  background: var(--c-action-500, #4652f3);
  color: #fff;
  font-weight: 700;
}

.qdnapro-agenda-list__day.is-past {
  opacity: 0.55;
}

.qdnapro-agenda-list__row {
  display: flex;
  align-items: stretch;
  gap: 8px;
  padding: 4px 8px 4px 12px;
}

.qdnapro-agenda-list__row:first-of-type {
  padding-top: 8px;
}

.qdnapro-agenda-list__time {
  flex: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 56px;
  padding-top: 4px;
}

.qdnapro-agenda-list__start {
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
  color: var(--c-grey-950, #0b0b0d);
}

.qdnapro-agenda-list__dur {
  font-size: 12px;
  line-height: 16px;
  color: var(--c-grey-500, #6b7280);
}

.qdnapro-agenda-list__row .qdnapro-event-card {
  flex: 1;
  min-width: 0;
  height: auto;
}

.qdnapro-agenda-list__empty {
  padding: 24px 16px;
  text-align: center;
  font-size: 13px;
  line-height: 18px;
  color: var(--c-grey-500, #6b7280);
}

.qdnapro-alert {
  --alert-bg: var(--c-grey-50, #f0f1f2);
  --alert-text: var(--c-grey-600, #565b66);
  --alert-border: var(--c-grey-200, #d1d5db);
  display: flex;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
  width: 100%;
  padding: 14px 16px;
  border-radius: var(--r-3, 12px);
  border: 1px solid color-mix(in srgb, var(--alert-border) 45%, transparent);
  background: var(--alert-bg);
  color: var(--alert-text);
  font-family: var(--ff, "Inter", -apple-system, sans-serif);
  text-align: left;
}

.qdnapro-alert--error {
  --alert-bg: var(--c-signal-red-bg, #fee3e3);
  --alert-text: var(--c-signal-red-text, #c65a5a);
  --alert-border: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-alert--warning {
  --alert-bg: var(--c-warning-bright-bg, #fff3cd);
  --alert-text: var(--c-warning-bright-text, #9a6a10);
  --alert-border: var(--c-warning-bright-border, #f0d060);
}

.qdnapro-alert--success {
  --alert-bg: var(--c-signal-green-bg, #c5f5e2);
  --alert-text: var(--c-signal-green-text, #428b6e);
  --alert-border: var(--c-signal-green-text, #428b6e);
}

.qdnapro-alert--info {
  --alert-bg: var(--c-signal-blue-bg, #e6eff9);
  --alert-text: var(--c-signal-blue-text, #6a8ab4);
  --alert-border: var(--c-signal-blue-text, #6a8ab4);
}

.qdnapro-alert__icon {
  flex: none;
  display: inline-flex;
  align-items: center;
  color: var(--alert-text);
}

.qdnapro-alert__icon qdnapro-icon {
  width: 20px;
  height: 20px;
}

.qdnapro-alert__main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.qdnapro-alert__content {
  flex: 1 1 220px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.qdnapro-alert__title {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--alert-text);
}

.qdnapro-alert__body {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--alert-text);
}

.qdnapro-alert__action {
  flex: none;
  display: flex;
  align-items: center;
}

.qdnapro-alert .qdnapro-alert__action .qdnapro-button {
  background: color-mix(in srgb, var(--alert-text) 12%, transparent);
  color: var(--alert-text);
}

.qdnapro-alert .qdnapro-alert__action .qdnapro-button:hover:not(.button-disabled) {
  background: color-mix(in srgb, var(--alert-text) 20%, transparent);
}

.qdnapro-alert .qdnapro-alert__action .qdnapro-button:active:not(.button-disabled) {
  background: color-mix(in srgb, var(--alert-text) 26%, transparent);
}

.qdnapro-alert__dismiss {
  flex: none;
  margin: 0 -6px 0 0;
}

.qdnapro-alert .qdnapro-alert__dismiss.qdnapro-icon-btn {
  color: var(--alert-text);
}

.qdnapro-alert .qdnapro-alert__dismiss.qdnapro-icon-btn:hover:not(.icon-btn-disabled) {
  background: color-mix(in srgb, var(--alert-text) 15%, transparent);
}

.qdnapro-alert--compact {
  padding: 10px 12px;
  gap: 8px;
  border-radius: var(--r-2, 8px);
}

.qdnapro-alert--compact .qdnapro-alert__icon qdnapro-icon {
  width: 18px;
  height: 18px;
}

.qdnapro-alert--compact .qdnapro-alert__title {
  font-size: 13px;
}

.qdnapro-alert--compact .qdnapro-alert__body {
  font-size: 12px;
}

.qdnapro-alert--compact .qdnapro-alert__main {
  gap: 6px 12px;
}

.qdnapro-answer-option {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 0;
  border-radius: 7px;
  border: 1px solid #e2e4ef;
  background: #fafbff;
  overflow: visible;
  min-height: 38px;
  transition: border-color 140ms, box-shadow 140ms, transform 120ms, background 140ms;
  position: relative;
  font-family: "Inter", -apple-system, sans-serif;
}
.qdnapro-answer-option *, .qdnapro-answer-option *::before, .qdnapro-answer-option *::after {
  box-sizing: border-box;
}
.qdnapro-answer-option:hover, .qdnapro-answer-option--show-actions {
  border-color: #a8b2e8;
  box-shadow: 0 1px 5px rgba(64, 73, 154, 0.1);
}
.qdnapro-answer-option:hover .qdnapro-answer-option__drag, .qdnapro-answer-option--show-actions .qdnapro-answer-option__drag {
  opacity: 1;
}
.qdnapro-answer-option:hover .qdnapro-answer-option__actions, .qdnapro-answer-option--show-actions .qdnapro-answer-option__actions {
  opacity: 1;
  pointer-events: all;
}
.qdnapro-answer-option:hover .qdnapro-answer-option__act, .qdnapro-answer-option--show-actions .qdnapro-answer-option__act {
  transform: scale(1);
  opacity: 1;
}
.qdnapro-answer-option--draggable .qdnapro-answer-option__label {
  padding-left: 14px;
}
.qdnapro-answer-option--pressed {
  border-color: #a8b2e8;
  background: #eef0ff;
  box-shadow: inset 0 1px 3px rgba(64, 73, 154, 0.12);
  transform: translateY(1px);
}
.qdnapro-answer-option--dragging {
  border-color: #40499a;
  background: #ffffff;
  box-shadow: 0 10px 26px rgba(20, 24, 60, 0.22);
  transform: scale(1.015);
  z-index: 5;
}
.qdnapro-answer-option--dragging .qdnapro-answer-option__drag {
  opacity: 1;
}
.qdnapro-answer-option--unlinked {
  border-color: #ddb84a;
  background: #fffbf0;
}
.qdnapro-answer-option--confirming {
  border-color: #e4a0a0;
  background: #fff5f5;
}
.qdnapro-answer-option--confirming-unlink {
  border-color: #f0d060;
  background: #fffbf0;
}
.qdnapro-answer-option {
  --answer-option-accent-bg: var(--c-purple-50, #e6e9ff);
  --answer-option-accent-text: var(--c-purple-500, #40499a);
}
.qdnapro-answer-option--color-positive {
  --answer-option-accent-bg: var(--c-signal-green-bg, #c5f5e2);
  --answer-option-accent-text: var(--c-signal-green-text, #428b6e);
}
.qdnapro-answer-option--color-warning {
  --answer-option-accent-bg: var(--c-signal-yellow-bg, #feedb8);
  --answer-option-accent-text: var(--c-signal-yellow-text, #bf7202);
}
.qdnapro-answer-option--color-negative {
  --answer-option-accent-bg: var(--c-signal-red-bg, #fee3e3);
  --answer-option-accent-text: var(--c-signal-red-text, #c65a5a);
}
.qdnapro-answer-option--color-neutral_alt {
  --answer-option-accent-bg: var(--c-signal-blue-bg, #e6eff9);
  --answer-option-accent-text: var(--c-signal-blue-text, #6a8ab4);
}

.qdnapro-answer-option__drag {
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 22px;
  background: #4652f3;
  border-radius: 2px;
  opacity: 0;
  transition: opacity 150ms ease;
  pointer-events: none;
  z-index: 1;
}

.qdnapro-answer-option__label {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  color: #2a2e5e;
  font-family: inherit;
  font-size: 12px;
  padding: 9px 6px;
  line-height: 1.4;
  min-width: 0;
}
.qdnapro-answer-option__label:focus, .qdnapro-answer-option__label.is-editing {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 4px;
  box-shadow: inset 0 0 0 1.5px #40499a;
}
.qdnapro-answer-option__label[readonly] {
  color: #6a6e9a;
  cursor: default;
}

.qdnapro-answer-option__label--static {
  display: flex;
  align-items: center;
  cursor: default;
}
.qdnapro-answer-option__label--static.is-empty {
  color: #8a8fb8;
  font-style: italic;
}

.qdnapro-answer-option__node-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--answer-option-accent-text, #40499a);
}

.qdnapro-answer-option--single .qdnapro-answer-option__node-icon {
  padding: 0 2px 0 10px;
  font-size: 18px;
}

.qdnapro-answer-option:not(.qdnapro-answer-option--single) .qdnapro-answer-option__node-icon {
  width: 22px;
  height: 22px;
  margin-left: 8px;
  border-radius: 6px;
  background: var(--answer-option-accent-bg, #e6e9ff);
  font-size: 14px;
  flex-shrink: 0;
}

.qdnapro-answer-option--draggable .qdnapro-answer-option__node-icon {
  margin-left: 14px;
}

.qdnapro-answer-option__conn {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 8px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
  margin-right: 4px;
  font-family: inherit;
}
.qdnapro-answer-option__conn svg {
  width: 13px;
  height: 13px;
}
.qdnapro-answer-option__conn--linked {
  background: #eef0ff;
  color: #40499a;
  border: none;
  cursor: default;
}
.qdnapro-answer-option__conn--linked.qdnapro-answer-option__conn--has-tip {
  transition: background 120ms;
}
.qdnapro-answer-option__conn--linked.qdnapro-answer-option__conn--has-tip:hover {
  background: #e0e3ff;
}
.qdnapro-answer-option__conn--empty {
  background: #fff3cd;
  color: #8a6a10;
  border: 1px dashed #ddb84a;
  cursor: pointer;
  transition: background 120ms;
}
.qdnapro-answer-option__conn--empty:hover {
  background: #ffeea0;
}
.qdnapro-answer-option__conn--linked.qdnapro-answer-option__conn--warning {
  background: #fff3cd;
  color: #9a6a10;
  border: 1px solid #f0d060;
  animation: qdnapro-ao-pill-wiggle 3s ease-in-out infinite;
  transform-origin: center;
}
.qdnapro-answer-option__conn--linked.qdnapro-answer-option__conn--warning:hover {
  background: #ffeea0;
}

@keyframes qdnapro-ao-pill-wiggle {
  0%, 84%, 100% {
    transform: translateX(0) rotate(0);
  }
  87% {
    transform: translateX(-2px) rotate(-3deg);
  }
  90% {
    transform: translateX(2px) rotate(3deg);
  }
  93% {
    transform: translateX(-2px) rotate(-2deg);
  }
  96% {
    transform: translateX(1px) rotate(1deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-answer-option__conn--warning {
    animation: none;
  }
}
.qdnapro-answer-option__actions {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0 5px 0 0;
  flex-shrink: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms;
}

.qdnapro-answer-option__act {
  width: 26px;
  height: 26px;
  border-radius: 5px;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: background 120ms, border-color 120ms, color 120ms;
  flex-shrink: 0;
}
.qdnapro-answer-option__act svg {
  width: 15px;
  height: 15px;
}
.qdnapro-answer-option__act--unlink {
  color: #9a6a10;
  background: #fff3cd;
  border-color: #f0d060;
}
.qdnapro-answer-option__act--unlink:hover {
  background: #fde8a0;
  border-color: #d0a820;
}
.qdnapro-answer-option__act--delete {
  color: #c94040;
  background: #fde8e8;
  border-color: #e8b0b0;
}
.qdnapro-answer-option__act--delete:hover {
  background: #ffcccc;
  border-color: #c94040;
}

.qdnapro-answer-option__confirm {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  padding: 6px 10px;
}

.qdnapro-answer-option__confirm-icon {
  color: #c94040;
  font-size: 15px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.qdnapro-answer-option__confirm-icon svg {
  width: 16px;
  height: 16px;
}

.qdnapro-answer-option__confirm-text {
  flex: 1;
  font-size: 12px;
  font-weight: 600;
  color: #c94040;
  font-family: inherit;
}

.qdnapro-answer-option--confirming-unlink .qdnapro-answer-option__confirm-icon,
.qdnapro-answer-option--confirming-unlink .qdnapro-answer-option__confirm-text {
  color: #9a6a10;
}

.qdnapro-answer-button {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  min-height: 56px;
  padding: 12px 16px;
  border: 1.5px solid transparent;
  border-radius: var(--r-3, 12px);
  background: color-mix(in srgb, var(--theme-btn-color, #40499a) 12%, #fff);
  color: var(--theme-btn-color, #40499a);
  font-family: var(--theme-font-family, "Inter", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, transform 0.1s ease;
}

.qdnapro-answer-button:hover:not(.is-disabled):not(.is-active) {
  background: color-mix(in srgb, var(--theme-btn-color, #40499a) 20%, #fff);
}

.qdnapro-answer-button.is-pressed:not(.is-disabled) {
  background: color-mix(in srgb, var(--theme-btn-color, #40499a) 28%, #fff);
  transform: scale(0.98);
}

.qdnapro-answer-button.is-active {
  background: var(--theme-btn-selected-color, color-mix(in srgb, var(--theme-btn-color, #40499a) 22%, #fff));
  color: var(--theme-btn-selected-text-color, var(--theme-btn-color, #40499a));
  border-color: transparent;
}

.qdnapro-answer-button.is-disabled {
  background: var(--c-grey-50, #f0f1f2);
  color: var(--c-grey-400, #a6aab3);
  cursor: default;
}

.qdnapro-answer-button__tick {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  border: 2px solid currentColor;
  color: inherit;
  background: transparent;
  opacity: 0.5;
  transition: background 0.18s ease, border-color 0.18s ease, opacity 0.18s ease, transform 0.2s cubic-bezier(0.34, 1.6, 0.5, 1);
}

.qdnapro-answer-button__tick svg {
  overflow: visible;
}

.qdnapro-answer-button__check {
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 24;
  stroke-dashoffset: 24;
  transition: stroke-dashoffset 0.15s ease;
}

.qdnapro-answer-button.is-active .qdnapro-answer-button__tick {
  opacity: 1;
  background: var(--theme-btn-color, #40499a);
  border-color: var(--theme-btn-color, #40499a);
  color: var(--theme-btn-text-color, #fff);
  animation: qab-tick-pop 0.52s cubic-bezier(0.34, 1.56, 0.5, 1);
}

.qdnapro-answer-button.is-active .qdnapro-answer-button__check {
  animation: qab-draw 0.38s cubic-bezier(0.22, 1, 0.36, 1) 0.04s forwards;
}

.qdnapro-answer-button.is-disabled .qdnapro-answer-button__tick {
  border-color: var(--c-grey-300, #c4c7cc);
  opacity: 1;
}

.qdnapro-answer-button__label {
  flex: 1;
  min-width: 0;
}

.qdnapro-answer-button--multiple-choice .qdnapro-answer-button__tick {
  border-radius: 50%;
}

.qdnapro-answer-button__icon {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  overflow: hidden;
}

.qdnapro-answer-button__icon svg,
.qdnapro-answer-button__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.qdnapro-answer-button.has-icon-mdi .qdnapro-answer-button__icon {
  width: 24px;
  height: 24px;
}

.qdnapro-answer-button.has-icon-mdi .qdnapro-answer-button__icon svg {
  fill: currentColor;
}

@keyframes qab-tick-pop {
  0% {
    transform: scale(0.7) rotate(0deg);
  }
  20% {
    transform: scale(1.22) rotate(-5deg);
  }
  44% {
    transform: scale(0.9) rotate(3deg);
  }
  64% {
    transform: scale(1.08) rotate(-1deg);
  }
  80% {
    transform: scale(0.97) rotate(0deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
  }
}
@keyframes qab-draw {
  0% {
    stroke-dashoffset: 24;
  }
  62% {
    stroke-dashoffset: -1;
  }
  80% {
    stroke-dashoffset: 0.7;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.qdnapro-answer-button--compact {
  min-height: 48px;
  padding: 10px 14px;
  font-size: 15px;
  gap: 10px;
}

.qdnapro-answer-button--compact .qdnapro-answer-button__tick {
  width: 20px;
  height: 20px;
  border-radius: 6px;
}

.qdnapro-answer-button--compact.qdnapro-answer-button--multiple-choice .qdnapro-answer-button__tick {
  border-radius: 50%;
}

.qdnapro-answer-button--compact .qdnapro-answer-button__tick svg {
  width: 13px;
  height: 13px;
}

.qdnapro-answer-button--compact.has-icon-activity .qdnapro-answer-button__icon {
  width: 26px;
  height: 26px;
}

.qdnapro-answer-button--compact.has-icon-mdi .qdnapro-answer-button__icon {
  width: 20px;
  height: 20px;
}

:where([data-theme=dark], [data-theme-dark=true]) .qdnapro-answer-button {
  background: color-mix(in srgb, var(--theme-btn-color, #40499a) 20%, var(--c-grey-900, #18181c));
  color: color-mix(in srgb, var(--theme-btn-color, #40499a) 70%, #fff);
}

:where([data-theme=dark], [data-theme-dark=true]) .qdnapro-answer-button:hover:not(.is-disabled):not(.is-active) {
  background: color-mix(in srgb, var(--theme-btn-color, #40499a) 30%, var(--c-grey-900, #18181c));
}

:where([data-theme=dark], [data-theme-dark=true]) .qdnapro-answer-button.is-pressed:not(.is-disabled) {
  background: color-mix(in srgb, var(--theme-btn-color, #40499a) 40%, var(--c-grey-900, #18181c));
}

:where([data-theme=dark], [data-theme-dark=true]) .qdnapro-answer-button.is-active {
  background: var(--theme-btn-selected-color, color-mix(in srgb, var(--theme-btn-color, #40499a) 35%, var(--c-grey-900, #18181c)));
  color: var(--theme-btn-selected-text-color, color-mix(in srgb, var(--theme-btn-color, #40499a) 70%, #fff));
}

:where([data-theme=dark], [data-theme-dark=true]) .qdnapro-answer-button.is-disabled {
  background: var(--c-grey-900, #18181c);
  color: var(--c-grey-500, #6b7280);
}

.qdnapro-answer-button--green {
  background: var(--c-signal-green-bg, #c5f5e2);
  color: var(--c-signal-green-text, #428b6e);
}

.qdnapro-answer-button--green:hover:not(.is-disabled):not(.is-active) {
  background: color-mix(in srgb, var(--c-signal-green-bg, #c5f5e2) 85%, #000);
}

.qdnapro-answer-button--green.is-pressed:not(.is-disabled) {
  background: color-mix(in srgb, var(--c-signal-green-bg, #c5f5e2) 75%, #000);
}

.qdnapro-answer-button--green.is-active {
  background: color-mix(in srgb, var(--c-signal-green-bg, #c5f5e2) 80%, #000);
  color: var(--c-signal-green-text, #428b6e);
}

.qdnapro-answer-button--green.is-active .qdnapro-answer-button__tick {
  background: var(--c-success-bright, #1d9e75);
  border-color: var(--c-success-bright, #1d9e75);
}

.qdnapro-answer-button--red {
  background: var(--c-signal-red-bg, #fee3e3);
  color: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-answer-button--red:hover:not(.is-disabled):not(.is-active) {
  background: color-mix(in srgb, var(--c-signal-red-bg, #fee3e3) 85%, #000);
}

.qdnapro-answer-button--red.is-pressed:not(.is-disabled) {
  background: color-mix(in srgb, var(--c-signal-red-bg, #fee3e3) 75%, #000);
}

.qdnapro-answer-button--red.is-active {
  background: color-mix(in srgb, var(--c-signal-red-bg, #fee3e3) 80%, #000);
  color: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-answer-button--red.is-active .qdnapro-answer-button__tick {
  background: var(--c-warn-red-500, #dc2626);
  border-color: var(--c-warn-red-500, #dc2626);
}

.qdnapro-answer-button--positive {
  background: var(--c-signal-green-bg, #c5f5e2);
  color: var(--c-signal-green-text, #428b6e);
}

.qdnapro-answer-button--positive:hover:not(.is-disabled):not(.is-active) {
  background: color-mix(in srgb, var(--c-signal-green-bg, #c5f5e2) 85%, #000);
}

.qdnapro-answer-button--positive.is-pressed:not(.is-disabled) {
  background: color-mix(in srgb, var(--c-signal-green-bg, #c5f5e2) 75%, #000);
}

.qdnapro-answer-button--positive.is-active {
  background: color-mix(in srgb, var(--c-signal-green-bg, #c5f5e2) 80%, #000);
  color: var(--c-signal-green-text, #428b6e);
}

.qdnapro-answer-button--positive.is-active .qdnapro-answer-button__tick {
  background: var(--c-success-bright, #1d9e75);
  border-color: var(--c-success-bright, #1d9e75);
}

.qdnapro-answer-button--warning {
  background: var(--c-signal-yellow-bg, #feedb8);
  color: var(--c-signal-yellow-text, #bf7202);
}

.qdnapro-answer-button--warning:hover:not(.is-disabled):not(.is-active) {
  background: color-mix(in srgb, var(--c-signal-yellow-bg, #feedb8) 85%, #000);
}

.qdnapro-answer-button--warning.is-pressed:not(.is-disabled) {
  background: color-mix(in srgb, var(--c-signal-yellow-bg, #feedb8) 75%, #000);
}

.qdnapro-answer-button--warning.is-active {
  background: color-mix(in srgb, var(--c-signal-yellow-bg, #feedb8) 80%, #000);
  color: var(--c-signal-yellow-text, #bf7202);
}

.qdnapro-answer-button--warning.is-active .qdnapro-answer-button__tick {
  background: var(--c-warn-amber-500, #d97706);
  border-color: var(--c-warn-amber-500, #d97706);
}

.qdnapro-answer-button--negative {
  background: var(--c-signal-red-bg, #fee3e3);
  color: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-answer-button--negative:hover:not(.is-disabled):not(.is-active) {
  background: color-mix(in srgb, var(--c-signal-red-bg, #fee3e3) 85%, #000);
}

.qdnapro-answer-button--negative.is-pressed:not(.is-disabled) {
  background: color-mix(in srgb, var(--c-signal-red-bg, #fee3e3) 75%, #000);
}

.qdnapro-answer-button--negative.is-active {
  background: color-mix(in srgb, var(--c-signal-red-bg, #fee3e3) 80%, #000);
  color: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-answer-button--negative.is-active .qdnapro-answer-button__tick {
  background: var(--c-warn-red-500, #dc2626);
  border-color: var(--c-warn-red-500, #dc2626);
}

.qdnapro-answer-button--neutral_alt {
  background: var(--c-signal-blue-bg, #e6eff9);
  color: var(--c-signal-blue-text, #6a8ab4);
}

.qdnapro-answer-button--neutral_alt:hover:not(.is-disabled):not(.is-active) {
  background: color-mix(in srgb, var(--c-signal-blue-bg, #e6eff9) 85%, #000);
}

.qdnapro-answer-button--neutral_alt.is-pressed:not(.is-disabled) {
  background: color-mix(in srgb, var(--c-signal-blue-bg, #e6eff9) 75%, #000);
}

.qdnapro-answer-button--neutral_alt.is-active {
  background: color-mix(in srgb, var(--c-signal-blue-bg, #e6eff9) 80%, #000);
  color: var(--c-signal-blue-text, #6a8ab4);
}

.qdnapro-answer-button--neutral_alt.is-active .qdnapro-answer-button__tick {
  background: var(--c-signal-blue-text, #6a8ab4);
  border-color: var(--c-signal-blue-text, #6a8ab4);
}

.qdnapro-avatar {
  --av-bg: #c5f5e2;
  --av-border: #428b6e;
  --av-size: 48px;
  --av-padding: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--av-size);
  height: var(--av-size);
  flex-shrink: 0;
  padding: var(--av-padding);
  border: 0.5px solid var(--av-border);
  border-radius: 50%;
  background: var(--av-bg);
  overflow: hidden;
  user-select: none;
  transition: opacity 140ms ease-out;
}

.qdnapro-avatar .avatar-animal {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  pointer-events: none;
}

.qdnapro-avatar.avatar-size-72 {
  --av-size: 72px;
  --av-padding: 12px;
}

.qdnapro-avatar.avatar-size-48 {
  --av-size: 48px;
  --av-padding: 8px;
}

.qdnapro-avatar.avatar-size-34 {
  --av-size: 34px;
  --av-padding: 6px;
}

.qdnapro-avatar.avatar-size-28 {
  --av-size: 28px;
  --av-padding: 5px;
}

.qdnapro-avatar.avatar-size-20 {
  --av-size: 20px;
  --av-padding: 4px;
}

.qdnapro-avatar.avatar-color-green {
  --av-bg: #c5f5e2;
  --av-border: #428b6e;
  --av-icon: #428b6e;
}

.qdnapro-avatar.avatar-color-yellow {
  --av-bg: #feedb8;
  --av-border: #bf7202;
  --av-icon: #ef8e02;
}

.qdnapro-avatar.avatar-color-blue {
  --av-bg: #e6eff9;
  --av-border: #6a8ab4;
  --av-icon: #4f6887;
}

.qdnapro-avatar.avatar-color-red {
  --av-bg: #fee3e3;
  --av-border: #c65a5a;
  --av-icon: #c65a5a;
}

.qdnapro-avatar.avatar-color-neutral {
  --av-bg: var(--c-grey-100, #e7e9ec);
  --av-border: var(--c-grey-500, #6b7280);
  --av-icon: var(--c-grey-600, #565b66);
}

.qdnapro-avatar.avatar-color-purple {
  --av-bg: var(--c-purple-50, #e6e9ff);
  --av-border: var(--c-purple-200, #a5acff);
  --av-icon: var(--c-purple-500, #40499a);
}

.qdnapro-avatar.avatar-mode-photo {
  border: none;
  padding: 0;
  background: #f0f1f2;
}

.qdnapro-avatar .avatar-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.qdnapro-avatar .avatar-initials {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  color: #6b7280;
  text-align: center;
  line-height: 1;
  user-select: none;
  white-space: nowrap;
  transform: translateY(0.05em);
}

.qdnapro-avatar.avatar-mode-initials.avatar-size-72 .avatar-initials {
  font-size: 28px;
}

.qdnapro-avatar.avatar-mode-initials.avatar-size-48 .avatar-initials {
  font-size: 18px;
}

.qdnapro-avatar.avatar-mode-initials.avatar-size-34 .avatar-initials {
  font-size: 13px;
}

.qdnapro-avatar.avatar-mode-initials.avatar-size-28 .avatar-initials {
  font-size: 11px;
}

.qdnapro-avatar.avatar-mode-initials.avatar-size-20 .avatar-initials {
  font-size: 9px;
}

.qdnapro-avatar.avatar-mode-icon {
  color: var(--av-icon);
}

.qdnapro-avatar .avatar-icon {
  display: inline-flex;
  color: inherit;
  pointer-events: none;
}

.qdnapro-avatar .avatar-icon svg {
  fill: currentColor;
  width: 100%;
  height: 100%;
}

.qdnapro-avatar.avatar-mode-icon.avatar-size-72 .avatar-icon {
  width: 36px;
  height: 36px;
}

.qdnapro-avatar.avatar-mode-icon.avatar-size-48 .avatar-icon {
  width: 24px;
  height: 24px;
}

.qdnapro-avatar.avatar-mode-icon.avatar-size-34 .avatar-icon {
  width: 18px;
  height: 18px;
}

.qdnapro-avatar.avatar-mode-icon.avatar-size-28 .avatar-icon {
  width: 15px;
  height: 15px;
}

.qdnapro-avatar.avatar-mode-icon.avatar-size-20 .avatar-icon {
  width: 12px;
  height: 12px;
}

.qdnapro-avatar.avatar-mode-mark {
  color: var(--av-icon);
}

.qdnapro-avatar .avatar-mark {
  display: inline-flex;
  color: inherit;
  pointer-events: none;
}

.qdnapro-avatar .avatar-mark svg {
  display: block;
  fill: currentColor;
  width: 100%;
  height: 100%;
}

.qdnapro-avatar.avatar-mode-mark.avatar-size-72 .avatar-mark {
  width: 42px;
  height: 42px;
}

.qdnapro-avatar.avatar-mode-mark.avatar-size-48 .avatar-mark {
  width: 28px;
  height: 28px;
}

.qdnapro-avatar.avatar-mode-mark.avatar-size-34 .avatar-mark {
  width: 20px;
  height: 20px;
}

.qdnapro-avatar.avatar-mode-mark.avatar-size-28 .avatar-mark {
  width: 16px;
  height: 16px;
}

.qdnapro-avatar.avatar-mode-mark.avatar-size-20 .avatar-mark {
  width: 12px;
  height: 12px;
}

.qdnapro-avatar.avatar-disabled {
  opacity: 0.5;
}

.qdnapro-avatar.avatar-missing::after {
  content: "?";
  position: absolute;
  font-family: "Inter", sans-serif;
  font-size: 0.5em;
  color: var(--av-border);
}

.qdnapro-avatar-stack {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.qdnapro-avatar-stack [data-role=stack-item] {
  flex-shrink: 0;
  position: relative;
}

.qdnapro-avatar-stack [data-stack-hidden] {
  display: none;
}

.qdnapro-avatar-stack [data-role=overflow] {
  margin-left: 4px;
  flex-shrink: 0;
}

.qdnapro-avatar-stack[data-size="20"] [data-role=stack-item] {
  margin-right: -6px;
}

.qdnapro-avatar-stack[data-size="34"] [data-role=stack-item] {
  margin-right: -10px;
}

.qdnapro-avatar-stack[data-size="48"] [data-role=stack-item] {
  margin-right: -14px;
}

.qdnapro-avatar-stack[data-size="72"] [data-role=stack-item] {
  margin-right: -22px;
}

.qdnapro-avatar-stack [data-role=stack-item][data-stack-last] {
  margin-right: 0;
}

/* variant="button": the whole stack acts like a subtle-purple button
   (hover / active / focus), for use on a light-purple surface. [Kim 2026-06-17] */
.qdnapro-avatar-stack[variant=button] {
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 8px;
  background: transparent;
  transition: background-color 120ms ease, box-shadow 120ms ease;
}

.qdnapro-avatar-stack[variant=button]:hover {
  background: #daddf2;
}

.qdnapro-avatar-stack[variant=button]:active {
  background: #c7cce8;
}

.qdnapro-avatar-stack[variant=button]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(64, 73, 154, 0.45);
}

/* De sheet wordt bij openen naar <body> geportald (zie _show). Container is
   position:fixed (NIET transform — dat zou de fixed kinderen vangen) zodat z-index
   geldt en hij een stacking-context op 1000 maakt; de fixed scrim/paneel blijven
   viewport-relatief. */
.qdnapro-bottom-sheet {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  font-family: var(--theme-font-family, "Inter", sans-serif);
}

.qdnapro-bottom-sheet.is-visible {
  display: block;
}

/* ÉÉN scrim-object dekt het HELE scherm — inclusief de iOS safe-areas (boven +
   onder), want position:fixed + inset:0 is viewport-relatief met viewport-fit=
   cover. Het paneel ligt erbovenop (later in de DOM) en wordt dus niet gedimd.
   Eén object = één uniforme dim, geen safe-area-trucs, geen timing-race. [Jan 30.06.2026] */
.qdnapro-bottom-sheet .bs-scrim {
  position: fixed;
  inset: 0;
  background: var(--c-black-45);
  /* INSTANT dim — geen opacity-transitie. De scrim is er zodra de sheet zichtbaar
     is (display:block via .is-visible) en verdwijnt ineens bij sluiten. Bewust geen
     animatie: een geanimeerde opacity op een safe-area-kruisend fixed element wordt
     door iOS WKWebView in de safe-area met andere timing gecomposit (lag). Het
     paneel slidet wel. [Jan 30.06.2026] */
}

.qdnapro-bottom-sheet .bs-panel {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1; /* boven de scrim (zelfde stacking-context) */
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  max-height: 86%;
  background: var(--c-bg-card);
  border-radius: 32px 32px 0 0;
  /* Inline padding as a custom property so anything that has to CANCEL it (the
     full-bleed .bs-dialog-image) stays in step with variants that change it — the
     reading variant raises it to 16px. A hardcoded negative margin would silently
     be wrong on those variants. [Kim 31.07.2026] */
  --bs-pad-x: 8px;
  padding: 4px var(--bs-pad-x) 0;
  box-shadow: 0 -10px 34px rgba(0, 0, 0, 0.16);
  transform: translateY(100%);
  /* Same timing as the scrim (no delay) — they start together so the panel sliding
     up and the screen darkening read as one motion. will-change keeps the slide on
     its own GPU layer (smooth on iOS, no jank). */
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
  outline: none;
}

.qdnapro-bottom-sheet.is-open .bs-panel {
  transform: translateY(0);
}

.qdnapro-bottom-sheet .bs-handle-zone {
  padding: 10px 0 24px;
  margin: 0 -16px; /* full-width grab target */
  cursor: grab;
  touch-action: none; /* let the pointer-drag own the gesture */
  flex-shrink: 0;
}

.qdnapro-bottom-sheet .bs-grab {
  width: 38px;
  height: 5px;
  border-radius: var(--r-pill);
  background: var(--c-grey-300);
  margin: 0 auto;
}

.qdnapro-bottom-sheet .bs-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 4px 0 12px;
  flex-shrink: 0;
}

.qdnapro-bottom-sheet .bs-header-text {
  flex: 1;
  min-width: 0;
}

.qdnapro-bottom-sheet .bs-title {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--c-text-heading);
}

.qdnapro-bottom-sheet .bs-subtitle {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--c-text-muted);
  margin-top: 2px;
}

.qdnapro-bottom-sheet .bs-close {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: var(--r-pill);
  background: var(--c-black-06);
  color: var(--c-text-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.qdnapro-bottom-sheet .bs-close:active {
  background: var(--c-black-12);
}

.qdnapro-bottom-sheet .bs-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  gap: 8px;
  /* REVERTED 13.07.2026 (Kim): the global padding-bottom 0 made the button
     sheets (edit-exit confirm) sit cramped against the bottom edge, so the
     base keeps its breathing room + iOS safe-area again. ONLY the reading
     variant (further down) keeps the deliberate overflow feel at 0.
     24px fixed breathing room + safe-area for the home indicator. [Kim 15.07.2026] */
  padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  /* A bottom sheet must NEVER show a visible scrollbar — content still scrolls.
     Flat scrollbar-hide (the qdna-scrollbar-hidden mixin can't be used here: this
     partial is copied verbatim to the PWA). */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* old Edge/IE */
}

.qdnapro-bottom-sheet .bs-body::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none; /* Chrome / Safari */
}

/* Segment controls inside the body should size to content and center — not stretch full-width. */
.qdnapro-bottom-sheet .bs-body > qdnapro-segment {
  align-self: center;
}

/* Auto-card: buttons placed directly in the sheet body (not inside a group) always get
   a card frame — first button gets top corners, last gets bottom corners. This enforces
   the design rule that buttons are NEVER shown naked on the sheet surface. */
.qdnapro-bottom-sheet .bs-body > qdnapro-bottom-sheet-button {
  background: var(--c-grey-50);
}

.qdnapro-bottom-sheet.bs-variant-purple .bs-body > qdnapro-bottom-sheet-button {
  background: var(--c-white-14);
}

.qdnapro-bottom-sheet .bs-body > qdnapro-bottom-sheet-button:first-of-type {
  border-radius: 24px 24px 0 0;
}

.qdnapro-bottom-sheet .bs-body > qdnapro-bottom-sheet-button:last-of-type {
  border-radius: 0 0 24px 24px;
}

.qdnapro-bottom-sheet .bs-body > qdnapro-bottom-sheet-button:only-of-type {
  border-radius: 24px;
}

/* Purple variant — for action menus (the PWA's purple bottom sheets). Uses the fixed
   primitive --c-purple-500 (NOT --c-brand-purple, which lifts to light purple in dark
   mode — the sheet must stay purple). */
.qdnapro-bottom-sheet.bs-variant-purple .bs-panel {
  background: var(--c-purple-500);
}

.qdnapro-bottom-sheet.bs-variant-purple .bs-grab {
  background: var(--c-white-45);
}

.qdnapro-bottom-sheet.bs-variant-purple .bs-title {
  color: var(--c-text-on-action);
}

.qdnapro-bottom-sheet.bs-variant-purple .bs-subtitle {
  color: var(--c-white-45);
}

.qdnapro-bottom-sheet.bs-variant-purple .bs-close {
  background: var(--c-white-14);
  color: var(--c-text-on-action);
}

/* Glass variant — a dark, translucent, blurred panel (iOS/WhatsApp emoji-picker
   look). The scrim stays the normal dim; the panel itself is the frosted layer.
   Content on top is white. Consumers that want a glass surface (e.g.
   qdnapro-emoji-sheet) opt in with variant="glass". */
.qdnapro-bottom-sheet.bs-variant-glass .bs-panel {
  background: rgba(38, 38, 44, 0.72);
  backdrop-filter: blur(30px) saturate(160%);
  -webkit-backdrop-filter: blur(30px) saturate(160%);
  color: #fff;
  box-shadow: 0 -10px 34px rgba(0, 0, 0, 0.28);
}

.qdnapro-bottom-sheet.bs-variant-glass .bs-grab {
  background: var(--c-white-45);
}

.qdnapro-bottom-sheet.bs-variant-glass .bs-title {
  color: #fff;
}

.qdnapro-bottom-sheet.bs-variant-glass .bs-subtitle {
  color: var(--c-white-45);
}

/* Solid fallback where backdrop-filter is unsupported (old WebViews). */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .qdnapro-bottom-sheet.bs-variant-glass .bs-panel {
    background: #26262c;
  }
}
/* Reading variant — for text-heavy content (news items, briefings, questionnaire
   previews). Orthogonal to purple/glass: only the panel breathing-room + loose-text
   size change, the surface colours stay the base white card. [Kim 13.07.2026]
   Roomier horizontal panel padding (16px vs the base 8px, which is tuned for
   button-row sheets and stays unchanged). */
.qdnapro-bottom-sheet.bs-variant-reading .bs-panel {
  --bs-pad-x: 16px;
  padding: 4px var(--bs-pad-x) 0;
}

/* Body stays edge-to-edge inside that roomier panel (no horizontal padding) and
   runs to the bottom edge (matches the global base, kept explicit for clarity). */
.qdnapro-bottom-sheet.bs-variant-reading .bs-body {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

/* 16px is the loose-text reading size, applied ONLY to text that opts in with the
   .bs-text wrapper — deliberately NOT to every .bs-body child. WYSIWYG briefing HTML
   brings its own sizes from the editor and must never be forced to 16px, so it is
   left untouched (it carries no .bs-text). [Kim 13.07.2026] */
.qdnapro-bottom-sheet.bs-variant-reading .bs-body .bs-text {
  font-size: 16px;
  line-height: 1.5;
}

/* Dialog variant — ALWAYS purple: a purple illustrated dialog (illustration + bold
   white title + white body text + optional consumer body content + a flexible footer).
   Serves both the destructive confirm (reset-units) AND a blocking notice (finish
   audit with mandatory units still open). `variant="confirm"` is an alias → same
   .bs-variant-dialog class. Composed from qdnapro-illustration + qdnapro-button using
   its own on-purple / on-purple-solid TYPES (see _button.scss) — layout only, no
   bespoke colour overrides. [Kim 15.07.2026] */
.qdnapro-bottom-sheet.bs-variant-dialog .bs-panel {
  background: var(--c-purple-500);
}

.qdnapro-bottom-sheet.bs-variant-dialog .bs-grab {
  background: var(--c-white-45);
}

.qdnapro-bottom-sheet .bs-body.bs-dialog {
  align-items: center;
  text-align: center;
  gap: 0;
  padding-top: 8px;
}

/* Gap illustration → title. Target the TAG, not .bs-dialog-illustration:
   qdnapro-illustration wipes its own className on render (this.className = …), so a
   class hook is dead by the time it paints and the gap collapsed to 0 ("cramped").
   [Kim 15.07.2026] */
.qdnapro-bottom-sheet .bs-body.bs-dialog > qdnapro-illustration {
  display: block;
  margin: 0 auto 20px;
}

/* Full-bleed hero image (`image` attr), the alternative to the centered illustration.
   It MUST reach the panel edges: the celebration illustrations have their own purple
   background baked in, matching the dialog surface, so the artwork flows into the panel
   and the edge of its shape is invisible. Any padding turns that edge into a seam.
   The inline margins cancel the panel's own --bs-pad-x (never a hardcoded number:
   the reading variant raises that padding to 16px, and a fixed -8px would then leave
   the image 8px short on each side). The negative top margin eats most of the
   handle-zone's 24px breathing room so the image sits just under the grab handle.
   The panel's 32px top rounding is not clipped away: the artwork's own corners are
   transparent, so nothing pokes out. An opaque image WOULD need clipping here.
   [Kim 31.07.2026] */
.qdnapro-bottom-sheet .bs-body.bs-dialog > .bs-dialog-image {
  display: block;
  align-self: stretch;
  width: calc(100% + 2 * var(--bs-pad-x));
  margin: -24px calc(-1 * var(--bs-pad-x)) 4px;
}

/* `centered` — wide-screen modifier: phone keeps the bottom sheet, tablet gets a
   centered dialog, from the same element. Below 768px this block does not exist, so a
   phone is untouched. 768px is the breakpoint the PWA documents module already uses for
   its tablet layout, not a new number. [Kim 31.07.2026]

   Centering is done with auto inline margins and a `bottom` offset, deliberately NOT
   with transform: the swipe-to-dismiss handler writes `panel.style.transform =
   translateY(...)` during a drag and clears it on release, so anything parked in
   transform would be wiped mid-gesture. This way the open/close slide and the drag keep
   working exactly as they do on a phone — dragging the dialog down still closes it. */
@media (min-width: 768px) {
  .qdnapro-bottom-sheet.bs-centered .bs-panel {
    max-width: 420px;
    margin-inline: auto;
    bottom: 7vh;
    border-radius: 32px;
    /* Shadow points outward on all sides now that it floats, instead of the
       upward-only shadow of a panel glued to the bottom edge. */
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.24);
    max-height: 80%;
  }
}
.qdnapro-bottom-sheet .bs-dialog-title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--c-text-on-action);
}

.qdnapro-bottom-sheet .bs-dialog-text {
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-white-70);
  margin-top: 12px;
  max-width: 320px;
}

/* Consumer body content (stat rows, a notice line, etc.) sits below the illustration/
   title/text. The dialog body centers its built-ins; this wrapper stretches full-width
   and left-aligns so custom rows aren't shrink-wrapped or centered. [Kim 15.07.2026] */
.qdnapro-bottom-sheet .bs-body.bs-dialog > .bs-dialog-content {
  align-self: stretch;
  width: 100%;
  text-align: left;
  margin-top: 20px;
}

.qdnapro-bottom-sheet .bs-dialog-footer {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
  /* The footer sits OUTSIDE .bs-body, so it doesn't inherit the body's bottom
     breathing room — give it the same 24px + safe-area so the buttons don't glue
     to the panel edge. [Kim 15.07.2026] */
  padding: 20px 0 calc(24px + env(safe-area-inset-bottom, 0px));
}

.qdnapro-bottom-sheet .bs-dialog-footer qdnapro-button {
  flex: 1;
}

/* The dialog variant is always-purple; every OTHER variant keeps the base white card.
   Combining dialog with purple/glass/reading is not supported — variant is a single
   value (same limitation the reading variant already has). */
/* ── Top placement (placement="top") ─────────────────────────────────────────────
   The SAME sheet, hinged on the TOP edge: a quick, low-commitment options menu that
   drops down from under the header its trigger sits in (Outlook's calendar view-
   switcher is the reference). A bottom sheet is the intrusive one that takes over the
   screen; this is the light one for a handful of options. [Kim 29.07.2026]

   ONLY geometry + direction flip here — the surface variants (purple / glass /
   reading) are untouched and combine freely. Horizontal padding is deliberately left
   to the base (8px) or the reading variant (16px); only the vertical padding changes,
   because the grab-handle moved out of the top.

   --bs-top is set inline by _applyTopOffset(): the `anchor` element's bottom edge, or
   the literal `offset-top`. Absent → hang just below the notch. */
.qdnapro-bottom-sheet.bs-placement-top .bs-panel {
  top: var(--bs-top, env(safe-area-inset-top, 0px));
  bottom: auto;
  /* Height follows the content; this cap only bites on a long list (and gives back
     whatever the header above already took). */
  max-height: calc(86% - var(--bs-top, 0px));
  /* Square, NOT rounded — the Outlook reference: the top sheet runs the panel
     straight into the header it hangs from, no corner radius at all. This is the
     DEFAULT for the top sheet (not an attribute): it has no other consumers yet
     than the two agenda menus, and flush corners are the intended look. The
     bottom sheet's own rounding (32px 32px 0 0, above) is untouched. [Kim 29.07.2026] */
  border-radius: 0;
  /* Shadow falls DOWNWARD, away from the edge it hangs on. */
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.16);
  /* Parked behind its own edge while closed (base sheet uses +100%). */
  transform: translateY(-100%);
  padding-top: 16px;
}

.qdnapro-bottom-sheet.bs-placement-top.is-open .bs-panel {
  transform: translateY(0);
}

/* The scrim must start where the panel starts, NOT cover the whole screen (the base
   .bs-scrim above is inset:0 for the bottom sheet, which pins the scrim under the
   full viewport including any header the sheet hangs from). Fix lives HERE, at the
   source, rather than the consumer reaching for a z-index war it can't win: a header
   living inside its own stacking-context ancestor can never out-stack a scrim
   portalled straight onto <body>, no matter what z-index it's given. Starting the
   scrim itself at --bs-top means the header simply falls OUTSIDE the dimmed area —
   no z-index needed anywhere. Same fallback chain as the panel's own `top` above.
   Consequence: a tap on the header no longer closes the sheet (it's outside the
   scrim) — intended for this pattern, the header stays usable; scrim-tap, Esc and
   the handle remain the ways to dismiss. [Kim 29.07.2026] */
.qdnapro-bottom-sheet.bs-placement-top .bs-scrim {
  top: var(--bs-top, env(safe-area-inset-top, 0px));
}

/* Come out from UNDER the header, never OVER it (Kim 29.07.2026: "voelt veel
   natuurlijker"). The panel opens by sliding down from translateY(-100%), which
   parks it one panel-height ABOVE its own top edge — straight on top of the header
   it is supposed to hang under, and it paints there because the sheet sits on
   <body>. Clipping the HOST at --bs-top kills that overlap for good: the host is
   already `position: fixed; inset: 0`, so its box IS the viewport and this clip is
   in viewport coordinates, which means NOTHING about the panel's or scrim's own
   geometry has to change. It also fixes the same overlap while DRAGGING the sheet
   closed by hand, which a reveal-animation on the panel alone would not.
   The scrim rule above stays as a belt-and-braces: if clip-path ever fails, the
   header still is not dimmed. */
.qdnapro-bottom-sheet.bs-placement-top {
  clip-path: inset(var(--bs-top, env(safe-area-inset-top, 0px)) 0 0 0);
}

/* Drop the panel's own compositing hint for top placement. `will-change: transform`
   promotes it to its own GPU layer, and a composited layer is exactly the case where
   iOS WKWebView has historically escaped an ancestor's clip-path — which would bring
   the overlap right back on the one platform that matters most here. The slide is a
   single short transform on a small panel, so it does not need the hint. */
.qdnapro-bottom-sheet.bs-placement-top .bs-panel {
  will-change: auto;
}

/* Grab-handle to the BOTTOM of the panel via flex order ONLY — the DOM stays as
   rendered, so render() and the pointer-drag binding remain shared with the bottom
   sheet. Every other panel child keeps order:0, hence its DOM order (header, body,
   and the dialog footer if there is one). */
.qdnapro-bottom-sheet.bs-placement-top .bs-handle-zone {
  order: 9;
  padding: 16px 0 12px;
}

/* No home-indicator to clear up here — the handle-zone underneath is the breathing
   room, so drop the base's 24px + safe-area-inset-bottom. */
.qdnapro-bottom-sheet.bs-placement-top .bs-body {
  padding-bottom: 0;
}

/* ── no-handle (boolean attr) ─────────────────────────────────────────────────────
   Hides the grab handle entirely — Outlook has none on its calendar quick menus,
   first requested for the agenda top sheets. Kept as a CLASS on the host (same
   pattern as bs-placement-top / bs-variant-purple), and the handle-zone element
   stays in the DOM (display:none only): the pointer-drag listener binds to
   .bs-handle-zone in the JS and would throw on null if it were removed. [Kim 29.07.2026] */
.qdnapro-bottom-sheet.bs-no-handle .bs-handle-zone {
  display: none;
}

/* The handle-zone doubled as this edge's breathing room — hiding it would otherwise
   glue the adjacent content straight to the panel edge, so give the space back:
   - bottom placement: the zone sits ABOVE the header/body (panel's top edge) → pad
     the panel's top.
   - top placement: the zone sits BELOW the body (flex order:9 above, panel's bottom
     edge) → pad the body's bottom, so the last option row keeps its breathing room. */
.qdnapro-bottom-sheet.bs-no-handle:not(.bs-placement-top) .bs-panel {
  padding-top: 16px;
}

.qdnapro-bottom-sheet.bs-placement-top.bs-no-handle .bs-body {
  padding-bottom: 16px;
}

/* Explainer "bullet" row: [icon/badge] + white text, used inside .bs-dialog-content
   for things like "what does this badge mean" (PWA documents badge-info dialog,
   28.07.2026). NOT a new component — just a consumer-side row wrapping whatever icon
   the consumer passes (e.g. <qdnapro-status-badge favorite size="small">) plus a text
   node. SAME class name + rule as the popover's dialog-arrow counterpart (see
   _popover.scss) so a sheet on phone and a popover on tablet render byte-identical
   content. The icon aligns to the TOP of the text block (flex-start) rather than a
   strict typographic baseline — the icon here is a status-badge pill, not a glyph, so
   there is no single baseline to hook into; top-aligning is the closest match to
   "icon next to the first text line" when the text can wrap to 2 lines. */
.qdnapro-bottom-sheet .bs-dialog-content .bs-dialog-bullet {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--c-white-90, rgba(255, 255, 255, 0.9));
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}

.qdnapro-bottom-sheet .bs-dialog-content .bs-dialog-bullet + .bs-dialog-bullet {
  margin-top: 14px;
}

.qdnapro-bottom-sheet .bs-dialog-content .bs-dialog-bullet > qdnapro-status-badge {
  flex-shrink: 0;
}

.qdnapro-bottom-sheet-button {
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  border: none;
  border-top: none;
  border-radius: var(--r-3);
  padding: 13px 16px;
  font-family: var(--theme-font-family, "Inter", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.14s ease, transform 0.1s ease;
}

.qdnapro-bottom-sheet-button .bsb-icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: 14px;
}

.qdnapro-bottom-sheet-button .bsb-label {
  flex: 1;
  min-width: 0;
}

.qdnapro-bottom-sheet-button .bsb-check {
  display: none;
  align-items: center;
  flex-shrink: 0;
  margin-left: 12px;
}

.qdnapro-bottom-sheet-button.bsb-active .bsb-check {
  display: inline-flex;
}

.qdnapro-bottom-sheet-button .bsb-value {
  flex-shrink: 1;
  min-width: 0;
  max-width: 55%;
  margin-left: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
  color: var(--c-text-muted);
}

.qdnapro-bottom-sheet-button.bsb-on-purple .bsb-value {
  color: var(--c-white-70);
}

.qdnapro-bottom-sheet-button.bsb-disabled .bsb-value {
  color: inherit;
}

.qdnapro-bottom-sheet-button.bsb-tile .bsb-value {
  display: none;
}

.qdnapro-bottom-sheet-button .bsb-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.qdnapro-bottom-sheet-button .bsb-text .bsb-label {
  flex: none;
}

.qdnapro-bottom-sheet-button .bsb-sub {
  font-size: 13px;
  line-height: 1.3;
  color: var(--c-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qdnapro-bottom-sheet-button.bsb-has-sub:not(.bsb-tile) {
  align-items: flex-start;
}

.qdnapro-bottom-sheet-button.bsb-has-sub:not(.bsb-tile) .bsb-icon {
  margin-top: -2px;
}

.qdnapro-bottom-sheet-button.bsb-on-white {
  background: transparent;
  color: var(--c-purple-700);
  border-radius: 0;
}

.qdnapro-bottom-sheet-button.bsb-on-white:hover:not(.bsb-disabled):not(.bsb-active) {
  background: var(--c-grey-50);
  border-radius: var(--r-3);
}

.qdnapro-bottom-sheet-button.bsb-on-white.is-pressed {
  background: var(--c-grey-100);
  border-radius: var(--r-3);
  transform: scale(0.985);
}

.qdnapro-bottom-sheet-button.bsb-on-white.bsb-active {
  background: transparent;
  color: var(--c-purple-700);
}

.qdnapro-bottom-sheet-button.bsb-on-white.bsb-disabled {
  background: transparent;
  color: var(--c-grey-300);
  cursor: default;
}

.qdnapro-bottom-sheet-button.bsb-on-purple {
  background: transparent;
  color: var(--c-text-on-action);
  border-radius: 0;
}

.qdnapro-bottom-sheet-button.bsb-on-purple:hover:not(.bsb-disabled):not(.bsb-active) {
  background: var(--c-white-14);
  border-radius: var(--r-3);
}

.qdnapro-bottom-sheet-button.bsb-on-purple.is-pressed {
  background: var(--c-white-22);
  border-radius: var(--r-3);
  transform: scale(0.985);
}

.qdnapro-bottom-sheet-button.bsb-on-purple.bsb-active {
  background: transparent;
  color: var(--c-text-on-action);
}

.qdnapro-bottom-sheet-button.bsb-on-purple.bsb-disabled {
  background: transparent;
  color: var(--c-white-45);
  cursor: default;
}

.qdnapro-bottom-sheet-button.bsb-tile {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 14px 8px;
  flex: 1;
  border-radius: var(--r-3);
}

.qdnapro-bottom-sheet-button.bsb-tile .bsb-icon {
  margin-right: 0;
}

.qdnapro-bottom-sheet-button.bsb-tile .bsb-label {
  flex: none;
  font-size: 12px;
  text-align: center;
  white-space: nowrap;
}

.qdnapro-bottom-sheet-button.bsb-tile .bsb-text {
  flex: none;
  align-items: center;
  gap: 1px;
  max-width: 100%;
}

.qdnapro-bottom-sheet-button.bsb-tile .bsb-sub {
  font-size: 11px;
  line-height: 1.25;
  max-width: 100%;
  text-align: center;
}

.qdnapro-bottom-sheet-button.bsb-tile .bsb-check,
.qdnapro-bottom-sheet-button.bsb-tile.bsb-active .bsb-check {
  display: none;
}

.qdnapro-bottom-sheet-button-group.bsbg-tiles {
  display: flex;
  flex-direction: row;
  gap: 6px;
}

.qdnapro-bottom-sheet-button-group.bsbg-tiles .qdnapro-bottom-sheet-button {
  border-radius: var(--r-3);
  padding: 14px 8px;
}

.qdnapro-bottom-sheet-button-group.bsbg-tiles.bsbg-on-white .bsb-tile {
  background: var(--c-bg-card);
  color: var(--c-purple-700);
}

.qdnapro-bottom-sheet-button-group.bsbg-tiles.bsbg-on-white .bsb-tile:hover:not(.bsb-disabled) {
  background: var(--c-grey-100);
}

.qdnapro-bottom-sheet-button-group.bsbg-tiles.bsbg-on-white .bsb-tile.is-pressed {
  background: var(--c-grey-100);
  transform: scale(0.97);
}

.qdnapro-bottom-sheet-button-group.bsbg-tiles.bsbg-on-purple .bsb-tile {
  background: var(--c-white-22);
  color: var(--c-text-on-action);
}

.qdnapro-bottom-sheet-button-group.bsbg-tiles.bsbg-on-purple .bsb-tile:hover:not(.bsb-disabled) {
  background: var(--c-white-28);
}

.qdnapro-bottom-sheet-button-group.bsbg-tiles.bsbg-on-purple .bsb-tile.is-pressed {
  background: var(--c-white-28);
  transform: scale(0.97);
}

.qdnapro-bottom-sheet-button.bsb-destructive {
  background: var(--c-signal-red-soft);
  color: var(--c-tag-critical-text);
  margin-top: 8px;
}

.qdnapro-bottom-sheet-button.bsb-destructive:hover:not(.bsb-disabled) {
  background: var(--c-signal-red-bg);
}

.qdnapro-bottom-sheet-button.bsb-destructive.is-pressed {
  background: var(--c-signal-red-bg);
  transform: scale(0.985);
}

.qdnapro-bottom-sheet-button.bsb-destructive.bsb-disabled {
  background: var(--c-grey-50);
  color: var(--c-grey-400);
  cursor: default;
}

.qdnapro-bottom-sheet-button.bsb-warning {
  background: var(--c-warning-bright-bg);
  color: var(--c-warning-bright-text);
  margin-top: 8px;
}

.qdnapro-bottom-sheet-button.bsb-warning:hover:not(.bsb-disabled) {
  background: var(--c-signal-yellow-bg);
}

.qdnapro-bottom-sheet-button.bsb-warning.is-pressed {
  background: var(--c-signal-yellow-bg);
  transform: scale(0.985);
}

.qdnapro-bottom-sheet-button.bsb-warning.bsb-disabled {
  background: var(--c-grey-50);
  color: var(--c-grey-400);
  cursor: default;
}

.qdnapro-bottom-sheet-button.bsb-success {
  background: var(--c-signal-green-100);
  color: var(--c-signal-green-text);
  margin-top: 8px;
}

.qdnapro-bottom-sheet-button.bsb-success:hover:not(.bsb-disabled) {
  background: var(--c-signal-green-bg);
}

.qdnapro-bottom-sheet-button.bsb-success.is-pressed {
  background: var(--c-signal-green-bg);
  transform: scale(0.985);
}

.qdnapro-bottom-sheet-button.bsb-success.bsb-disabled {
  background: var(--c-grey-50);
  color: var(--c-grey-400);
  cursor: default;
}

.qdnapro-bottom-sheet-button-group {
  display: block;
  box-sizing: border-box;
  border-radius: var(--r-3);
  padding: 6px;
}

.qdnapro-bottom-sheet-button-group.bsbg-on-white {
  background: var(--c-grey-50);
}

.qdnapro-bottom-sheet-button-group.bsbg-on-purple {
  background: var(--c-white-14);
}

.qdnapro-bottom-sheet-button-group .qdnapro-bottom-sheet-button {
  border-radius: var(--r-row);
  padding: 11px 16px;
  border-top: none;
}

.qdnapro-bottom-sheet-button-group .qdnapro-bottom-sheet-button + .qdnapro-bottom-sheet-button {
  margin-top: 2px;
  border-top: none;
}

.qdnapro-bottom-sheet-button-group .qdnapro-bottom-sheet-button.bsb-on-white + .qdnapro-bottom-sheet-button.bsb-on-white,
.qdnapro-bottom-sheet-button-group .qdnapro-bottom-sheet-button.bsb-on-purple + .qdnapro-bottom-sheet-button.bsb-on-purple {
  border-top: none;
}

.qdnapro-bottom-sheet-button-group .qdnapro-bottom-sheet-button:not(.is-pressed):not(:hover) {
  background: transparent;
}

.qdnapro-bottom-sheet-button-group.bsbg-on-white .qdnapro-bottom-sheet-button.bsb-on-white:hover:not(.bsb-disabled):not(.bsb-active) {
  background: var(--c-grey-100);
}

.qdnapro-bottom-sheet-button-group.bsbg-on-white .qdnapro-bottom-sheet-button.bsb-on-white.is-pressed {
  background: var(--c-grey-200);
}

.qdnapro-bottom-sheet-button-group.bsbg-on-purple .qdnapro-bottom-sheet-button {
  color: var(--c-text-on-action);
}

.qdnapro-bottom-sheet-button-group.bsbg-on-purple .qdnapro-bottom-sheet-button.bsb-active {
  background: transparent;
  color: var(--c-text-on-action);
}

.qdnapro-bottom-sheet-button-group.bsbg-on-purple .qdnapro-bottom-sheet-button.bsb-disabled {
  color: var(--c-white-45);
  cursor: default;
}

.qdnapro-bottom-sheet-button.bsb-on-purple .bsb-sub,
.qdnapro-bottom-sheet-button-group.bsbg-on-purple .qdnapro-bottom-sheet-button .bsb-sub {
  color: var(--c-white-70);
}

.qdnapro-bottom-sheet-button.bsb-warning .bsb-sub,
.qdnapro-bottom-sheet-button.bsb-destructive .bsb-sub,
.qdnapro-bottom-sheet-button.bsb-success .bsb-sub {
  color: currentColor;
  opacity: 0.78;
}

.qdnapro-bottom-sheet-button.bsb-disabled .bsb-sub {
  color: inherit;
  opacity: 1;
}

.qdnapro-bottom-sheet-button.bsb-on-white.bsb-disabled .bsb-sub {
  color: var(--c-grey-300);
}

.qdnapro-bottom-sheet-button.bsb-on-purple.bsb-disabled .bsb-sub,
.qdnapro-bottom-sheet-button-group.bsbg-on-purple .qdnapro-bottom-sheet-button.bsb-disabled .bsb-sub {
  color: var(--c-white-45);
}

@keyframes bsb-check-pop {
  0% {
    transform: scale(0.6) rotate(0deg);
  }
  20% {
    transform: scale(1.2) rotate(-5deg);
  }
  44% {
    transform: scale(0.92) rotate(3deg);
  }
  64% {
    transform: scale(1.06) rotate(-1deg);
  }
  80% {
    transform: scale(0.97) rotate(0deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
  }
}
@keyframes bsb-check-draw {
  0% {
    stroke-dashoffset: 22;
  }
  62% {
    stroke-dashoffset: -1;
  }
  80% {
    stroke-dashoffset: 0.7;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.qdnapro-bottom-sheet-button .bsb-check-path {
  stroke-dasharray: 22;
  stroke-dashoffset: 22;
}

.qdnapro-bottom-sheet-button.bsb-active .bsb-check {
  animation: bsb-check-pop 0.52s cubic-bezier(0.34, 1.56, 0.5, 1) forwards;
}

.qdnapro-bottom-sheet-button.bsb-active .bsb-check-path {
  animation: bsb-check-draw 0.38s cubic-bezier(0.22, 1, 0.36, 1) 0.04s forwards;
}

.qdnapro-popover {
  position: fixed;
  z-index: 1001;
  width: 280px;
  padding: 6px;
  box-sizing: border-box;
  border-radius: var(--r-card);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
  font-family: var(--theme-font-family, "Inter", sans-serif);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}

.qdnapro-popover.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

qdnapro-popover:not(:defined) {
  display: none;
}

.qdnapro-popover::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border: 9px solid transparent;
  left: var(--pop-arrow-x, 50%);
  transform: translateX(-50%);
}

.qdnapro-popover.pop-below::before {
  top: -18px;
}

.qdnapro-popover.pop-above::before {
  bottom: -18px;
}

.qdnapro-popover.pop-variant-white {
  background: var(--c-bg-card);
}

.qdnapro-popover.pop-variant-white::before {
  border-bottom-color: var(--c-bg-card);
}

.qdnapro-popover.pop-variant-white.pop-above::before {
  border-top-color: var(--c-bg-card);
  border-bottom-color: transparent;
}

.qdnapro-popover.pop-variant-purple {
  background: var(--c-purple-500);
}

.qdnapro-popover.pop-variant-purple::before {
  border-bottom-color: var(--c-purple-500);
}

.qdnapro-popover.pop-variant-purple.pop-above::before {
  border-top-color: var(--c-purple-500);
  border-bottom-color: transparent;
}

.qdnapro-popover.pop-bare {
  width: auto;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.qdnapro-popover.pop-bare::before {
  display: none;
}

.qdnapro-popover .pop-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.qdnapro-popover .pop-dialog-body {
  align-items: center;
  text-align: center;
  gap: 0;
}

.qdnapro-popover .pop-dialog-body > qdnapro-illustration {
  display: block;
  margin: 0 auto 16px;
  max-width: 100%;
}

.qdnapro-popover .pop-dialog-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--c-text-on-action);
}

.qdnapro-popover .pop-dialog-text {
  font-size: 14px;
  line-height: 1.6;
  color: var(--c-white-70);
  margin-top: 10px;
}

.qdnapro-popover .pop-dialog-body > .pop-dialog-content {
  align-self: stretch;
  width: 100%;
  text-align: left;
  margin-top: 16px;
}

.qdnapro-popover .pop-dialog-footer qdnapro-button {
  flex: 1;
}

.qdnapro-popover .pop-dialog-content .bs-dialog-bullet {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--c-white-90, rgba(255, 255, 255, 0.9));
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}

.qdnapro-popover .pop-dialog-content .bs-dialog-bullet + .bs-dialog-bullet {
  margin-top: 14px;
}

.qdnapro-popover .pop-dialog-content .bs-dialog-bullet > qdnapro-status-badge {
  flex-shrink: 0;
}

.qdnapro-popover.pop-variant-dialog {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
  height: auto;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.qdnapro-popover.pop-variant-dialog::before {
  display: none;
}

.qdnapro-popover.pop-variant-dialog .pop-scrim {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 0;
}

.qdnapro-popover.pop-variant-dialog .pop-panel {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: min(94vw, 702px);
  max-height: 86vh;
  overflow-y: auto;
  padding: 28px 24px 24px;
  border-radius: var(--r-card);
  background: var(--c-purple-500);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
  transform: scale(0.96);
  transition: transform 0.18s ease;
}

.qdnapro-popover.pop-variant-dialog.is-open .pop-panel {
  transform: scale(1);
}

.qdnapro-popover.pop-variant-dialog .pop-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--c-purple-700);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.qdnapro-popover.pop-variant-dialog .pop-dialog-body {
  padding-top: 4px;
}

.qdnapro-popover.pop-variant-dialog .pop-dialog-illustration {
  margin-bottom: 20px;
}

.qdnapro-popover.pop-variant-dialog .pop-dialog-footer {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}

.qdnapro-popover.pop-dialog-light .pop-panel {
  background: var(--c-bg-card, #ffffff);
}

.qdnapro-popover.pop-dialog-light .pop-dialog-title {
  color: var(--c-text-heading, #1a1f4d);
}

.qdnapro-popover.pop-dialog-light .pop-dialog-text {
  color: var(--c-text-muted, #6e7280);
}

.qdnapro-popover.pop-dialog-light .pop-close {
  background: var(--c-bg-subtle-hover, #f5f6f8);
  color: var(--c-text-heading, #1a1f4d);
}

.qdnapro-popover.pop-variant-dialog .pop-header {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  margin-bottom: 16px;
}

.qdnapro-popover.pop-variant-dialog .pop-header > *:first-child {
  flex: 1 1 auto;
  min-width: 0;
}

.qdnapro-popover.pop-variant-dialog.pop-has-header .pop-close {
  position: static;
  top: auto;
  right: auto;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
}

.qdnapro-popover.pop-variant-dialog.pop-has-header .pop-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding-top: 16px;
}

.qdnapro-popover.pop-variant-dialog.pop-has-header .pop-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.qdnapro-popover.pop-variant-dialog.pop-size-medium .pop-panel {
  width: min(92vw, 520px);
}

.qdnapro-popover.pop-variant-dialog-arrow {
  width: 340px;
  background: var(--c-purple-500);
  padding: 20px 20px 18px;
}

.qdnapro-popover.pop-variant-dialog-arrow::before {
  border-bottom-color: var(--c-purple-500);
}

.qdnapro-popover.pop-variant-dialog-arrow.pop-above::before {
  border-top-color: var(--c-purple-500);
  border-bottom-color: transparent;
}

.qdnapro-popover.pop-variant-dialog-arrow .pop-dialog-footer {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}

.qdnapro-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  color: #6e7280;
}

.qdnapro-breadcrumb > * {
  font-size: 16px;
  font-weight: 400;
  color: #6e7280;
  text-decoration: none;
}

.qdnapro-breadcrumb > a:hover {
  color: #40499a;
  text-decoration: underline;
}

.qdnapro-breadcrumb .breadcrumb-current {
  color: #40499a;
  font-weight: 500;
}

.qdnapro-breadcrumb .breadcrumb-sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  color: #6e7280;
  flex-shrink: 0;
}

.qdnapro-breadcrumb .breadcrumb-sep svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

[data-theme=dark] .qdnapro-breadcrumb,
[data-theme=dark] .qdnapro-breadcrumb > * {
  color: #a6aab3;
}

[data-theme=dark] .qdnapro-breadcrumb > a:hover {
  color: #c0c5ff;
}

[data-theme=dark] .qdnapro-breadcrumb .breadcrumb-current {
  color: #c0c5ff;
}

[data-theme=dark] .qdnapro-breadcrumb .breadcrumb-sep {
  color: #a6aab3;
}

.qdnapro-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  --btn-focus-ring: #40499a;
  --btn-focus-glow: rgba(70, 82, 243, 0.25);
  font-family: inter, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  text-decoration: none;
  white-space: nowrap;
  user-select: none;
  cursor: pointer;
  transition: background-color 120ms ease-out, border-color 120ms ease-out, color 120ms ease-out;
}

.qdnapro-button > qdnapro-number-indicator-badge[data-button-badge] {
  pointer-events: none;
}

.qdnapro-button.button-size-big {
  min-height: 56px;
  padding: 12px 16px;
}

.qdnapro-button.button-size-big.button-icon-only {
  width: 56px;
  min-width: 56px;
  padding: 0;
}

.qdnapro-button.button-size-small {
  min-height: 40px;
  padding: 8px 12px;
}

.qdnapro-button.button-size-small.button-icon-only {
  width: 40px;
  min-width: 40px;
  padding: 0;
}

.qdnapro-button.button-size-compact {
  min-height: 28px;
  padding: 4px 10px;
  gap: 6px;
  font-size: 13px;
  line-height: 18px;
  border-radius: 8px;
}

.qdnapro-button.button-size-compact.button-icon-only {
  width: 28px;
  min-width: 28px;
  padding: 0;
}

.qdnapro-button.button-size-micro {
  min-height: 24px;
  padding: 3px 10px;
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  line-height: 16px;
  border-radius: 6px;
}

.qdnapro-button.button-size-micro.button-icon-only {
  width: 24px;
  min-width: 24px;
  padding: 0;
}

.qdnapro-button.button-size-touch {
  min-height: 44px;
  padding: 10px 14px;
}

.qdnapro-button.button-size-touch.button-icon-only {
  width: 44px;
  min-width: 44px;
  padding: 0;
}

.qdnapro-button.button-size-touch-lg {
  min-height: 48px;
  padding: 10px 16px;
}

.qdnapro-button.button-size-touch-lg.button-icon-only {
  width: 48px;
  min-width: 48px;
  padding: 0;
}

.qdnapro-button:focus {
  outline: none;
}

.qdnapro-button:focus-visible, .qdnapro-button.force-focus {
  outline: 2px solid var(--btn-focus-ring);
  outline-offset: var(--btn-focus-offset, -2px);
  box-shadow: 0 0 0 4px var(--btn-focus-glow);
}

.qdnapro-button.button-disabled:focus-visible, .qdnapro-button.button-disabled.force-focus {
  outline: none;
  box-shadow: none;
}

.qdnapro-button.button-primary-purple {
  background: #40499a;
  color: #ffffff;
  --btn-focus-ring: #252b5e;
  --btn-focus-glow: rgba(70, 82, 243, 0.40);
}

.qdnapro-button.button-primary-purple:focus-visible, .qdnapro-button.button-primary-purple.force-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--btn-focus-ring), 0 0 0 6px var(--btn-focus-glow);
}

.qdnapro-button.button-primary-purple:hover:not(.button-disabled) {
  background: #333a7b;
}

.qdnapro-button.button-primary-purple:active:not(.button-disabled) {
  background: #252b5e;
}

.qdnapro-button.button-primary-orange {
  background: #ef8e02;
  color: #ffffff;
  --btn-focus-ring: #945800;
  --btn-focus-glow: rgba(239, 142, 2, 0.45);
}

.qdnapro-button.button-primary-orange:focus-visible, .qdnapro-button.button-primary-orange.force-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--btn-focus-ring), 0 0 0 6px var(--btn-focus-glow);
}

.qdnapro-button.button-primary-orange:hover:not(.button-disabled) {
  background: #bf7202;
}

.qdnapro-button.button-primary-orange:active:not(.button-disabled) {
  background: #945800;
}

.qdnapro-button.button-subtle {
  background: transparent;
  color: #0b0b0d;
}

.qdnapro-button.button-subtle:hover:not(.button-disabled) {
  background: #f0f1f2;
}

.qdnapro-button.button-subtle:active:not(.button-disabled) {
  background: #e4e6e8;
}

.qdnapro-button.button-subtle-purple-bg {
  background: transparent;
  color: #40499a;
}

.qdnapro-button.button-subtle-purple-bg:hover:not(.button-disabled) {
  background: #daddf2;
}

.qdnapro-button.button-subtle-purple-bg:active:not(.button-disabled) {
  background: #c7cce8;
}

.qdnapro-button.button-secondary {
  background: #f0f1f2;
  color: #0b0b0d;
}

.qdnapro-button.button-secondary:hover:not(.button-disabled) {
  background: #c4c7cc;
}

.qdnapro-button.button-secondary:active:not(.button-disabled) {
  background: #a7abb2;
}

.qdnapro-button.button-secondary.button-active {
  background: #e6e9ff;
  color: #40499a;
}

.qdnapro-button.button-secondary.button-active:hover:not(.button-disabled) {
  background: #daddf2;
}

.qdnapro-button.button-secondary.button-active:active:not(.button-disabled) {
  background: #c7cce8;
}

.qdnapro-button.button-secondary-outline {
  background: #e6e9ff;
  color: #40499a;
  border-color: #40499a;
}

.qdnapro-button.button-secondary-outline:hover:not(.button-disabled) {
  background: #daddf2;
}

.qdnapro-button.button-secondary-outline:active:not(.button-disabled) {
  background: #c7cce8;
}

.qdnapro-button.button-secondary-purple {
  background: #e6e9ff;
  color: #40499a;
}

.qdnapro-button.button-secondary-purple:hover:not(.button-disabled) {
  background: #daddf2;
}

.qdnapro-button.button-secondary-purple:active:not(.button-disabled) {
  background: #c7cce8;
}

.qdnapro-button.button-secondary-white {
  background: #ffffff;
  color: #40499a;
}

.qdnapro-button.button-secondary-white:hover:not(.button-disabled) {
  background: #daddf2;
}

.qdnapro-button.button-secondary-white:active:not(.button-disabled) {
  background: #c7cce8;
}

.qdnapro-button.button-warning-red {
  background: #f0f1f2;
  color: #c65a5a;
}

.qdnapro-button.button-warning-red:hover:not(.button-disabled) {
  background: #c4c7cc;
}

.qdnapro-button.button-warning-red:active:not(.button-disabled) {
  background: #a7abb2;
}

.qdnapro-button.button-warning-red-white {
  background: #ffffff;
  color: #c65a5a;
}

.qdnapro-button.button-warning-red-white:hover:not(.button-disabled) {
  background: #fbeaea;
}

.qdnapro-button.button-warning-red-white:active:not(.button-disabled) {
  background: #f5d9d9;
}

.qdnapro-button.button-warning-red-tint {
  background: #fde8e8;
  color: #c94040;
  border-color: #e8b0b0;
}

.qdnapro-button.button-warning-red-tint:hover:not(.button-disabled) {
  background: #ffcccc;
  border-color: #c94040;
}

.qdnapro-button.button-warning-red-tint:active:not(.button-disabled) {
  background: #f7b8b8;
}

.qdnapro-button.button-warning-yellow-tint {
  background: #fff3cd;
  color: #9a6a10;
  border-color: #f0d060;
}

.qdnapro-button.button-warning-yellow-tint:hover:not(.button-disabled) {
  background: #fde8a0;
  border-color: #d0a820;
}

.qdnapro-button.button-warning-yellow-tint:active:not(.button-disabled) {
  background: #fbdf85;
}

.qdnapro-button.button-warning-red-subtle {
  background: transparent;
  color: #0b0b0d;
}

.qdnapro-button.button-warning-red-subtle:hover:not(.button-disabled) {
  background: #ffcccc;
}

.qdnapro-button.button-warning-red-subtle:active:not(.button-disabled) {
  background: #f7b8b8;
}

.qdnapro-button.button-warning-yellow-subtle {
  background: transparent;
  color: #0b0b0d;
}

.qdnapro-button.button-warning-yellow-subtle:hover:not(.button-disabled) {
  background: #fde8a0;
}

.qdnapro-button.button-warning-yellow-subtle:active:not(.button-disabled) {
  background: #fbdf85;
}

.qdnapro-button.button-glass {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.qdnapro-button.button-glass:hover:not(.button-disabled) {
  background: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.4);
}

.qdnapro-button.button-glass:active:not(.button-disabled) {
  background: rgba(255, 255, 255, 0.38);
}

/* on-purple / on-purple-solid — for a purple/dark surface (e.g. qdnapro-bottom-sheet's
   confirm variant), where the plain button-subtle's hardcoded dark text would be
   invisible and primary-purple itself would blend into a purple background.
   [Kim 14.07.2026] */
.qdnapro-button.button-on-purple {
  background: transparent;
  color: #ffffff;
}

.qdnapro-button.button-on-purple:hover:not(.button-disabled) {
  background: rgba(255, 255, 255, 0.14);
}

.qdnapro-button.button-on-purple:active:not(.button-disabled) {
  background: rgba(255, 255, 255, 0.14);
}

.qdnapro-button.button-on-purple-solid {
  background: #2a3268;
  color: #ffffff;
}

.qdnapro-button.button-on-purple-solid:hover:not(.button-disabled) {
  background: #333a7b;
}

.qdnapro-button.button-on-purple-solid:active:not(.button-disabled) {
  background: #2a3268;
}

.qdnapro-button.button-disabled {
  background: #f0f1f2 !important;
  color: #898e99 !important;
  border-color: transparent !important;
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-button.button-subtle.button-disabled {
  background: transparent !important;
}

.qdnapro-button.button-subtle-purple-bg.button-disabled {
  background: transparent !important;
  color: #8c92c2 !important;
}

[data-bg-context=purple] .qdnapro-button.button-disabled {
  background: #daddf2 !important;
}

[data-theme=dark] .qdnapro-button.button-primary-purple {
  background: #3842c2;
  color: #ffffff;
}

[data-theme=dark] .qdnapro-button.button-primary-purple:hover:not(.button-disabled) {
  background: #2a3192;
}

[data-theme=dark] .qdnapro-button.button-primary-orange {
  background: #ef8e02;
  color: #ffffff;
}

[data-theme=dark] .qdnapro-button.button-primary-orange:hover:not(.button-disabled) {
  background: #f2a535;
}

[data-theme=dark] .qdnapro-button.button-subtle {
  background: transparent;
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-button.button-subtle:hover:not(.button-disabled) {
  background: #565b66;
}

[data-theme=dark] .qdnapro-button.button-subtle-purple-bg {
  background: transparent;
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-button.button-subtle-purple-bg:hover:not(.button-disabled) {
  background: #565b66;
}

[data-theme=dark] .qdnapro-button.button-secondary {
  background: #2e3036;
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-button.button-secondary:hover:not(.button-disabled) {
  background: #40444d;
}

[data-theme=dark] .qdnapro-button.button-secondary.button-active {
  background: #3a3555;
  color: #a5acff;
}

[data-theme=dark] .qdnapro-button.button-secondary.button-active:hover:not(.button-disabled) {
  background: #4c4767;
}

[data-theme=dark] .qdnapro-button.button-secondary-outline {
  background: transparent;
  color: #f0f1f2;
  border-color: #565b66;
}

[data-theme=dark] .qdnapro-button.button-secondary-outline:hover:not(.button-disabled) {
  background: #40444d;
  border-color: #666dae;
}

[data-theme=dark] .qdnapro-button.button-secondary-purple {
  background: #3a3555;
  color: #a5acff;
}

[data-theme=dark] .qdnapro-button.button-secondary-purple:hover:not(.button-disabled) {
  background: #4c4767;
}

[data-theme=dark] .qdnapro-button.button-secondary-white {
  background: #2e3036;
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-button.button-secondary-white:hover:not(.button-disabled) {
  background: #40444d;
}

[data-theme=dark] .qdnapro-button.button-warning-red-white {
  background: #2e3036;
  color: #ec8585;
}

[data-theme=dark] .qdnapro-button.button-warning-red-white:hover:not(.button-disabled) {
  background: #40444d;
}

[data-theme=dark] .qdnapro-button.button-disabled {
  background: #40444d !important;
  color: #6b7280 !important;
}

[data-theme=dark] .qdnapro-button.button-subtle.button-disabled, [data-theme=dark] .qdnapro-button.button-subtle-purple-bg.button-disabled {
  background: transparent !important;
  color: #6b7280 !important;
}

.qdnapro-button.button-pill {
  border-radius: 999px;
  padding-left: 24px;
  padding-right: 24px;
}

.qdnapro-button.button-pill.button-icon-only {
  border-radius: 50%;
}

.qdnapro-button.button-pill.button-size-small {
  padding-left: 20px;
  padding-right: 20px;
}

.qdnapro-button.button-pill.button-size-touch {
  padding-left: 20px;
  padding-right: 20px;
}

[data-theme=dark] .qdnapro-button:focus-visible, [data-theme=dark] .qdnapro-button.force-focus {
  outline-color: #a5acff;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.4);
}

qdnapro-calendar-service-button {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

qdnapro-calendar-service-button *,
qdnapro-calendar-service-button *::before,
qdnapro-calendar-service-button *::after {
  box-sizing: border-box;
}

.qdnapro-calendar-service-button .csb-inner {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--c-grey-100);
  border-radius: var(--r-2);
  background: var(--c-bg-card, #ffffff);
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  outline: none;
  transition: background 150ms ease, border-color 150ms ease;
}

.qdnapro-calendar-service-button .csb-icon-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: var(--r-1);
  background: var(--csb-tint, var(--c-grey-50));
  color: var(--csb-accent, var(--c-grey-600));
}

.qdnapro-calendar-service-button .csb-icon-tile qdnapro-icon {
  width: 20px;
  height: 20px;
  color: inherit;
}

.qdnapro-calendar-service-button .csb-label {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--c-grey-950, #0b0b0d);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-calendar-service-button .csb-inner:hover {
  background: var(--c-bg-subtle-hover, #f0f1f2);
  border-color: var(--c-grey-200, #d1d5db);
}

.qdnapro-calendar-service-button .csb-inner:active {
  background: var(--c-action-08, rgba(70, 82, 243, 0.08));
}

.qdnapro-calendar-service-button .csb-inner:focus-visible {
  box-shadow: 0 0 0 2px var(--c-purple-500, #40499a), 0 0 0 4px var(--c-action-25, rgba(70, 82, 243, 0.25));
}

.qdnapro-calendar-service-button--google .csb-icon-tile {
  --csb-accent: #4285f4;
  --csb-tint: rgba(66, 133, 244, 0.12);
}

.qdnapro-calendar-service-button--outlook .csb-icon-tile {
  --csb-accent: #0072c6;
  --csb-tint: rgba(0, 114, 198, 0.12);
}

.qdnapro-calendar-service-button--apple .csb-icon-tile {
  --csb-accent: #1c1b29;
  --csb-tint: rgba(28, 27, 41, 0.08);
}

[data-theme=dark] .qdnapro-calendar-service-button .csb-inner {
  background: var(--c-grey-800, #2e3036);
  border-color: var(--c-grey-700, #40444d);
}

[data-theme=dark] .qdnapro-calendar-service-button .csb-label {
  color: var(--c-grey-100, #e7e9ec);
}

[data-theme=dark] .qdnapro-calendar-service-button .csb-inner:hover {
  background: var(--c-grey-700, #40444d);
  border-color: var(--c-grey-600, #565b66);
}

.qdnapro-celebration {
  display: block;
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.qdnapro-celebration .qdnapro-celebration-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.qdnapro-party-scene {
  display: block;
}

.qdnapro-party-scene .ps-scene {
  position: relative;
  width: 100%;
  border-radius: 22px;
  overflow: hidden;
  background: radial-gradient(70% 80% at 50% 62%, #4b54ad 0%, #3c4392 55%, #333a7b 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.qdnapro-party-scene .ps-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.qdnapro-party-scene .ps-guest {
  opacity: 0;
  transform: translateY(2.2%) scale(0.975);
  transform-origin: 50% 90%;
  transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.qdnapro-party-scene .ps-guest.is-here {
  opacity: 1;
  transform: none;
}

.qdnapro-party-scene .ps-controls {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 14px;
}

.qdnapro-party-scene .ps-btn {
  position: relative;
  overflow: hidden;
  appearance: none;
  cursor: pointer;
  font-family: inherit;
  border: none;
  border-radius: 16px;
  padding: 16px 32px;
  min-width: 240px;
  background: #1d2044;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.01em;
  box-shadow: 0 10px 26px -10px rgba(0, 0, 0, 0.5), inset 0 0 0 1px rgba(255, 255, 255, 0.1);
  transition: transform 0.1s ease;
}

.qdnapro-party-scene .ps-btn:active {
  transform: scale(0.97);
}

.qdnapro-party-scene .ps-fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0%;
  background: linear-gradient(90deg, #40499A 0%, #5560c8 55%, #ff9d4d 100%);
  z-index: 0;
}

.qdnapro-party-scene .ps-lbl {
  position: relative;
  z-index: 1;
  display: inline-block;
  white-space: nowrap;
}

.qdnapro-party-scene .ps-reset {
  appearance: none;
  cursor: pointer;
  font-family: inherit;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  padding: 14px 20px;
  background: transparent;
  color: #eef0ff;
  font-size: 14px;
  font-weight: 600;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, border-color 0.16s;
}

.qdnapro-party-scene .ps-reset.is-shown {
  opacity: 1;
  pointer-events: auto;
}

.qdnapro-party-scene .ps-reset:hover {
  border-color: #eb5757;
  color: #ff9c9c;
}

.qdnapro-party-scene .ps-count {
  width: 100%;
  text-align: center;
  font-size: 13px;
  color: #9aa0cf;
  font-variant-numeric: tabular-nums;
}

.qdnapro-party-scene .ps-count b {
  color: #eef0ff;
  font-weight: 700;
}

.qdnapro-score-count {
  display: block;
  text-align: center;
}

.qdnapro-score-count .sc-num {
  font-size: 56px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #fff;
  font-variant-numeric: tabular-nums;
  display: inline-block;
}

.qdnapro-score-count .sc-num.is-pop {
  animation: qdnapro-score-pop 0.42s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.qdnapro-score-count .sc-label {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.72);
}

@keyframes qdnapro-score-pop {
  0% {
    transform: scale(1);
  }
  45% {
    transform: scale(1.16);
  }
  100% {
    transform: scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-score-count .sc-num.is-pop {
    animation: none;
  }
}
.qdnapro-checkbox {
  --cb-size: 16px;
  --cb-border: #c4c7cc;
  --cb-bg: #ffffff;
  --cb-bg-hover: #f0f1f2;
  --cb-filled-bg: #4652f3;
  --cb-filled-border: #4652f3;
  --cb-mark: #ffffff;
  --cb-focus-ring: #40499a;
  --cb-focus-glow: rgba(70, 82, 243, 0.25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--cb-size);
  height: var(--cb-size);
  flex-shrink: 0;
  border: 1px solid var(--cb-border);
  border-radius: 4px;
  background: var(--cb-bg);
  cursor: pointer;
  user-select: none;
  transition: background-color 120ms ease-out, border-color 120ms ease-out;
}

.qdnapro-checkbox .checkbox-mark {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
  color: var(--cb-mark);
  pointer-events: none;
  transform: scale(0);
  opacity: 0;
  transition: transform 220ms cubic-bezier(0.34, 1.35, 0.64, 1), opacity 140ms ease-out;
}

.qdnapro-checkbox .checkbox-mark svg {
  fill: currentColor;
  width: 100%;
  height: 100%;
}

.qdnapro-checkbox .checkbox-mark-dash {
  width: 8px;
  height: 2px;
  background: var(--cb-mark);
  border-radius: 1px;
}

.qdnapro-checkbox {
  position: relative;
}

.qdnapro-checkbox.checkbox-checked .checkbox-mark-check {
  transform: scale(1);
  opacity: 1;
}

.qdnapro-checkbox.checkbox-indeterminate .checkbox-mark-dash {
  transform: scale(1);
  opacity: 1;
}

.qdnapro-checkbox.checkbox-shape-square {
  border-radius: 4px;
}

.qdnapro-checkbox.checkbox-shape-round {
  border-radius: 50%;
}

.qdnapro-checkbox.checkbox-size-touch {
  --cb-size: 44px;
  border-width: 2px;
}

.qdnapro-checkbox.checkbox-size-touch.checkbox-shape-square {
  border-radius: 8px;
}

.qdnapro-checkbox.checkbox-size-touch .checkbox-mark {
  width: 32px;
  height: 32px;
}

.qdnapro-checkbox.checkbox-size-touch .checkbox-mark-dash {
  width: 22px;
  height: 5px;
  border-radius: 2px;
}

.qdnapro-checkbox.checkbox-size-touch-sm {
  --cb-size: 28px;
}

.qdnapro-checkbox.checkbox-size-touch-sm.checkbox-shape-square {
  border-radius: 6px;
}

.qdnapro-checkbox.checkbox-size-touch-sm .checkbox-mark {
  width: 20px;
  height: 20px;
}

.qdnapro-checkbox.checkbox-size-touch-sm .checkbox-mark-dash {
  width: 14px;
  height: 3px;
  border-radius: 1.5px;
}

.qdnapro-checkbox.checkbox-checked, .qdnapro-checkbox.checkbox-indeterminate {
  background: var(--cb-filled-bg);
  border-color: var(--cb-filled-border);
}

.qdnapro-checkbox:hover:not(.checkbox-disabled):not(.checkbox-checked):not(.checkbox-indeterminate) {
  background: var(--cb-bg-hover);
}

.qdnapro-checkbox:active:not(.checkbox-disabled) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15));
}

.qdnapro-checkbox:focus {
  outline: none;
}

.qdnapro-checkbox:focus-visible, .qdnapro-checkbox.force-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--cb-focus-ring), 0 0 0 6px var(--cb-focus-glow);
}

.qdnapro-checkbox.force-hover:not(.checkbox-disabled):not(.checkbox-checked):not(.checkbox-indeterminate) {
  background: var(--cb-bg-hover);
}

.qdnapro-checkbox.force-pressed:not(.checkbox-disabled) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15));
}

.qdnapro-checkbox.checkbox-state-error {
  --cb-border: #c65a5a;
  --cb-filled-bg: #f87171;
  --cb-filled-border: #c65a5a;
  --cb-focus-ring: #c65a5a;
  --cb-focus-glow: rgba(198, 90, 90, 0.25);
}

.qdnapro-checkbox.checkbox-state-success {
  --cb-border: #428b6e;
  --cb-filled-bg: #6ee7b7;
  --cb-filled-border: #428b6e;
  --cb-focus-ring: #428b6e;
  --cb-focus-glow: rgba(66, 139, 110, 0.25);
}

.qdnapro-checkbox.checkbox-disabled {
  --cb-border: #c4c7cc;
  --cb-bg: #f0f1f2;
  --cb-filled-bg: #f0f1f2;
  --cb-filled-border: #c4c7cc;
  --cb-mark: #898e99;
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

[data-theme=dark] .qdnapro-checkbox {
  --cb-border: #565b66;
  --cb-bg: #2e3036;
  --cb-bg-hover: #40444d;
  --cb-filled-bg: #4652f3;
  --cb-filled-border: #4652f3;
  --cb-mark: #ffffff;
  --cb-focus-ring: #a5acff;
  --cb-focus-glow: rgba(70, 82, 243, 0.4);
}

[data-theme=dark] .qdnapro-checkbox.checkbox-state-error {
  --cb-border: #c65a5a;
  --cb-filled-bg: #c65a5a;
  --cb-filled-border: #c65a5a;
  --cb-focus-ring: #e89090;
}

[data-theme=dark] .qdnapro-checkbox.checkbox-state-success {
  --cb-border: #428b6e;
  --cb-filled-bg: #428b6e;
  --cb-filled-border: #428b6e;
  --cb-focus-ring: #7ccfa8;
}

[data-theme=dark] .qdnapro-checkbox.checkbox-disabled {
  --cb-border: #565b66;
  --cb-bg: #40444d;
  --cb-filled-bg: #40444d;
  --cb-filled-border: #565b66;
  --cb-mark: #6b7280;
}

/* === theme: glass — added 2026-06-08 ===
   Translucent checkbox for a dark / coloured surface (login). Activate via
   data-theme="glass" on an ancestor; lila focus ring to match the inputs. */
[data-theme=glass] .qdnapro-checkbox {
  --cb-border: rgba(255, 255, 255, 0.45);
  --cb-bg: rgba(255, 255, 255, 0.15);
  --cb-bg-hover: rgba(255, 255, 255, 0.25);
  /* Checked = solid white box with a dark check, so it stands out on the
     dark surface (a tinted fill blends into the indigo - too low contrast). */
  --cb-filled-bg: #ffffff;
  --cb-filled-border: #ffffff;
  --cb-mark: #26215c;
  --cb-focus-ring: #9a8fff;
  --cb-focus-glow: rgba(154, 143, 255, 0.35);
}

[data-theme=glass] .qdnapro-checkbox.checkbox-disabled {
  --cb-border: rgba(255, 255, 255, 0.25);
  --cb-bg: rgba(255, 255, 255, 0.08);
  --cb-filled-bg: rgba(255, 255, 255, 0.08);
  --cb-filled-border: rgba(255, 255, 255, 0.25);
  --cb-mark: rgba(255, 255, 255, 0.4);
}

/* ============================================================
 * qdnapro-color-picker
 * Pastel swatch picker. Palette matches the tasklist-card
 * .tlc-color-* tints exactly so the swatch == the card tint.
 * ============================================================ */
.qdnapro-color-picker {
  display: block;
  box-sizing: border-box;
}

.qdnapro-color-picker *,
.qdnapro-color-picker *::before,
.qdnapro-color-picker *::after {
  box-sizing: border-box;
}

.qdnapro-color-picker .qcp-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.qdnapro-color-picker .qcp-swatch {
  position: relative;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: var(--qcp-bg, #eef0f2);
  cursor: pointer;
  transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}

.qdnapro-color-picker .qcp-swatch:hover {
  transform: translateY(-1px);
}

.qdnapro-color-picker .qcp-swatch:active {
  transform: translateY(0);
}

.qdnapro-color-picker .qcp-swatch:focus-visible {
  outline: none;
  border-color: #40499a;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.2);
}

.qdnapro-color-picker .qcp-swatch.qcp-swatch-selected {
  border-color: #40499a;
  box-shadow: 0 0 0 2px #40499a, 0 0 0 5px rgba(70, 82, 243, 0.18);
}

/* Variant "soft": LIGHT-purple selection ring (same hue as the focus glow)
   instead of the heavy dark #40499a ring. The checkmark still marks the pick.
   Looks much better on dark / saturated swatches. [Kim 2026-06-22] */
.qdnapro-color-picker.qcp-variant-soft .qcp-swatch.qcp-swatch-selected {
  border-color: rgba(70, 82, 243, 0.45);
  box-shadow: 0 0 0 3px rgba(70, 82, 243, 0.22);
}

/* Check mark - visible only on the selected swatch. */
.qdnapro-color-picker .qcp-check {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
}

.qdnapro-color-picker .qcp-swatch-selected .qcp-check {
  opacity: 1;
}

.qdnapro-color-picker .qcp-check::after {
  content: "";
  width: 10px;
  height: 6px;
  /* --qcp-check is set per swatch by the JS contrast detector:
     white on dark swatches, brand indigo on light ones. */
  border-left: 2px solid var(--qcp-check, #40499a);
  border-bottom: 2px solid var(--qcp-check, #40499a);
  transform: rotate(-45deg) translateY(-1px);
}

/* Palette - matches the .tlc-color-* tasklist-card tints exactly. */
.qdnapro-color-picker .qcp-swatch--grey {
  --qcp-bg: #eef0f2;
}

.qdnapro-color-picker .qcp-swatch--red {
  --qcp-bg: #fde7e7;
}

.qdnapro-color-picker .qcp-swatch--yellow {
  --qcp-bg: #fdf3d6;
}

.qdnapro-color-picker .qcp-swatch--green {
  --qcp-bg: #e2faf1;
}

.qdnapro-color-picker .qcp-swatch--blue {
  --qcp-bg: #e6eff9;
}

.qdnapro-color-picker .qcp-swatch--bright-blue {
  --qcp-bg: #d6e0f9;
}

.qdnapro-color-picker .qcp-swatch--pink {
  --qcp-bg: #f6e1e8;
}

.qdnapro-color-picker .qcp-swatch--purple {
  --qcp-bg: #ebe9fb;
}

.qdnapro-color-picker.qcp-disabled {
  opacity: 0.55;
  pointer-events: none;
}

/* Semantic palette (floweditor per-option appearance modal, 12.07.2026):
   standaard / positive / warning / negative / neutral_alt — the closed
   5-value set the OptionAppearanceOverlay.vue datamodel uses. Tints come
   from the shared signal design tokens (same tokens qdnapro-answer-button's
   --positive/--warning/--negative/--neutral_alt variants already use) so a
   picked colour reads identically in the picker and in the live preview.
   "standaard" has no signal token (it maps to '' in the datamodel) — a
   light brand-purple neutral (--c-purple-50) fits the "neutraal
   purper/grijs" ask better than plain grey in this purple-branded product. */
.qdnapro-color-picker .qcp-swatch--standaard {
  --qcp-bg: var(--c-purple-50, #e6e9ff);
}

.qdnapro-color-picker .qcp-swatch--positive {
  --qcp-bg: var(--c-signal-green-bg, #c5f5e2);
}

.qdnapro-color-picker .qcp-swatch--warning {
  --qcp-bg: var(--c-signal-yellow-bg, #feedb8);
}

.qdnapro-color-picker .qcp-swatch--negative {
  --qcp-bg: var(--c-signal-red-bg, #fee3e3);
}

.qdnapro-color-picker .qcp-swatch--neutral_alt {
  --qcp-bg: var(--c-signal-blue-bg, #e6eff9);
}

.qdnapro-date-picker {
  display: block;
  box-sizing: border-box;
  min-width: 232px;
  background: transparent;
  font-family: var(--theme-font-family, "Inter", sans-serif);
  user-select: none;
}

.qdnapro-date-picker.qdnapro-date-picker--panel {
  background: #ffffff;
  border: 1px solid #c4c7cc;
  border-radius: 8px;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15), 0 8px 12px 6px rgba(0, 0, 0, 0.075);
  padding: 10px 12px;
}

.qdnapro-date-picker__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  margin-bottom: 6px;
}

.qdnapro-date-picker__nav {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: none;
}

.qdnapro-date-picker__label {
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  color: var(--c-text-heading, #1a1f4d);
}

.qdnapro-date-picker__weekdays,
.qdnapro-date-picker__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  justify-items: center;
  gap: 2px;
}

.qdnapro-date-picker__weekdays span {
  font-size: 11px;
  line-height: 16px;
  text-align: center;
  color: var(--c-grey-500, #6b7280);
  padding: 2px 0 4px;
}

.qdnapro-date-picker__day {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: transparent;
  font: inherit;
  font-size: 13px;
  line-height: 1;
  color: var(--c-text-body, #0b0b0d);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 0.1s ease;
}

.qdnapro-date-picker__day:not(.is-disabled):not(.is-selected):hover,
.qdnapro-date-picker__day.force-hover {
  background: var(--c-grey-50, #f0f1f2);
}

.qdnapro-date-picker__day:not(.is-disabled):not(.is-selected):active,
.qdnapro-date-picker__day.force-pressed {
  background: var(--c-grey-100, #e7e9ec);
}

.qdnapro-date-picker__day.is-today {
  font-weight: 700;
  color: var(--c-brand-purple, #40499a);
}

.qdnapro-date-picker__day.is-selected {
  background: var(--c-purple-highlight, #4652f3);
  color: var(--c-text-on-action, #ffffff);
  font-weight: 600;
}

.qdnapro-date-picker__day.is-selected:not(.is-disabled):hover,
.qdnapro-date-picker__day.is-selected.force-hover {
  background: var(--c-action-600, #3540d6);
}

.qdnapro-date-picker__day.is-selected:not(.is-disabled):active,
.qdnapro-date-picker__day.is-selected.force-pressed {
  background: var(--c-action-700, #2a36b8);
}

.qdnapro-date-picker__day.is-muted {
  color: var(--c-grey-400, #a6aab3);
}

.qdnapro-date-picker__day.is-disabled {
  color: var(--c-text-disabled, #898e99);
  cursor: default;
}

.qdnapro-date-picker__day:focus {
  outline: none;
}

.qdnapro-date-picker__day:focus-visible,
.qdnapro-date-picker__day.force-focus {
  outline: 2px solid var(--focus-ring, #40499a);
  outline-offset: 1px;
  box-shadow: 0 0 0 5px var(--focus-glow, rgba(70, 82, 243, 0.25));
}

.qdnapro-date-picker__cell {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: stretch;
  height: 32px;
}

.qdnapro-date-picker__cell.is-band::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
  pointer-events: none;
}

.qdnapro-date-picker__cell.is-band-ghost::before {
  background: var(--c-grey-50, #f0f1f2);
}

.qdnapro-date-picker__cell.is-band-fill::before {
  background: var(--c-action-12, rgba(70, 82, 243, 0.12));
}

.qdnapro-date-picker__cell.is-band-round-start::before {
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
}

.qdnapro-date-picker__cell.is-band-round-end::before {
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
}

.qdnapro-date-picker__cell.is-band-bleed-start::before {
  left: -1px;
}

.qdnapro-date-picker__cell.is-band-bleed-end::before {
  right: -1px;
}

.qdnapro-date-picker__cell.is-band-fill .qdnapro-date-picker__day:not(.is-selected):not(.is-disabled) {
  color: var(--c-brand-purple, #40499a);
  font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-date-picker__day {
    transition: none;
  }
}
/* compiled from _divider.scss */
.qdnapro-divider {
  display: block;
  flex-shrink: 0;
  pointer-events: none;
  background: #d9dbeb;
  border: 0;
  margin: 0;
  padding: 0;
}

.qdnapro-divider.divider-horizontal {
  width: 100%;
  height: 1px;
}

.qdnapro-divider.divider-vertical {
  width: 1px;
  height: 100%;
  align-self: stretch;
}

.qdnapro-divider.divider-vertical.divider-fixed-length {
  align-self: center;
}

.qdnapro-divider.divider-color-neutral {
  background: #d9dbeb;
}

.qdnapro-divider.divider-color-subtle {
  background: rgba(0, 0, 0, 0.1);
}

[data-theme=dark] .qdnapro-divider.divider-color-neutral,
[data-theme-dark] .qdnapro-divider.divider-color-neutral {
  background: rgba(255, 255, 255, 0.12);
}

[data-theme=dark] .qdnapro-divider.divider-color-subtle,
[data-theme-dark] .qdnapro-divider.divider-color-subtle {
  background: rgba(255, 255, 255, 0.08);
}

.qdnapro-document-viewer {
  position: fixed;
  inset: 0;
  z-index: 9500;
  display: flex;
  flex-direction: column;
  background: #16182b;
  color: #eef0fb;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  font-family: var(--ff, "Inter", system-ui, -apple-system, sans-serif);
  transition: transform 180ms ease, opacity 180ms ease;
}
.qdnapro-document-viewer[hidden] {
  display: none;
}
.qdnapro-document-viewer .qdv-topbar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  padding: 8px 10px;
  padding-top: calc(8px + env(safe-area-inset-top, 0px));
  padding-left: calc(10px + env(safe-area-inset-left, 0px));
  padding-right: calc(10px + env(safe-area-inset-right, 0px));
  background: #1d2038;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  transition: opacity 200ms ease, transform 200ms ease;
}
.qdnapro-document-viewer .qdv-fname {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.95rem;
  font-weight: 600;
}
.qdnapro-document-viewer .qdv-fname qdnapro-file-icon {
  flex: 0 0 auto;
}
.qdnapro-document-viewer .qdv-fname-text {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.qdnapro-document-viewer .qdv-tools {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 2px;
}
.qdnapro-document-viewer .qdv-tools qdnapro-icon-btn {
  color: #cfd2ea;
}
.qdnapro-document-viewer .qdv-tools qdnapro-icon-btn[hidden] {
  display: none;
}
.qdnapro-document-viewer .qdv-close {
  color: #cfd2ea;
}
.qdnapro-document-viewer .qdv-stage {
  flex: 1 1 auto;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qdnapro-document-viewer .qdv-imgwrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 180ms ease;
  touch-action: none;
}
.qdnapro-document-viewer .qdv-imgwrap.is-loaded {
  opacity: 1;
}
.qdnapro-document-viewer .qdv-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transform-origin: center center;
  will-change: transform;
  -webkit-user-drag: none;
}
.qdnapro-document-viewer .qdv-pdf {
  position: absolute;
  inset: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  display: flex;
  justify-content: center;
  overflow-anchor: none;
}
.qdnapro-document-viewer .qdv-pdf.is-zoomed {
  touch-action: pan-x pan-y;
}
.qdnapro-document-viewer .qdv-pdf-pages {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 12px 0 calc(12px + env(safe-area-inset-bottom, 0px));
  transform-origin: top center;
  will-change: transform;
}
.qdnapro-document-viewer .qdv-page {
  position: relative;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
  max-width: 100%;
  flex: 0 0 auto;
}
.qdnapro-document-viewer .qdv-page canvas {
  display: block;
  width: 100%;
  height: 100%;
}
.qdnapro-document-viewer .qdv-page:not(.is-rendered)::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, #f2f3f8 30%, #e7e9f2 50%, #f2f3f8 70%);
  background-size: 200% 100%;
  animation: qdv-shimmer 1.2s ease-in-out infinite;
}
.qdnapro-document-viewer .qdv-pagepill {
  position: absolute;
  left: 50%;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
  background: rgba(20, 22, 40, 0.82);
  color: #eef0fb;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 999px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 220ms ease;
  z-index: 3;
}
.qdnapro-document-viewer .qdv-pagepill.is-visible {
  opacity: 1;
}
.qdnapro-document-viewer.qdv-chrome-hidden .qdv-pagepill {
  bottom: 16px;
}
.qdnapro-document-viewer .qdv-textlayer {
  position: absolute;
  inset: 0;
  overflow: hidden;
  line-height: 1;
  text-align: initial;
  opacity: 1;
  forced-color-adjust: none;
}
.qdnapro-document-viewer .qdv-textlayer span,
.qdnapro-document-viewer .qdv-textlayer br {
  color: transparent;
  position: absolute;
  white-space: pre;
  cursor: text;
  transform-origin: 0 0;
}
.qdnapro-document-viewer .qdv-textlayer ::selection {
  background: rgba(64, 73, 154, 0.35);
}
.qdnapro-document-viewer .qdv-textlayer .qdv-hl {
  background: rgba(255, 213, 0, 0.45);
  border-radius: 2px;
}
.qdnapro-document-viewer .qdv-textlayer .qdv-hl-current {
  background: rgba(255, 145, 0, 0.7);
}
.qdnapro-document-viewer .qdv-searchbar {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(8px + env(safe-area-inset-top, 0px));
  z-index: 4;
  display: none;
  align-items: center;
  gap: 6px;
  max-width: calc(100% - 24px);
  padding: 6px 8px 6px 12px;
  background: #2a2e4d;
  color: #eef0fb;
  border-radius: 999px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}
.qdnapro-document-viewer.qdv-searching .qdv-searchbar {
  display: flex;
}
.qdnapro-document-viewer.qdv-searching .qdv-topbar {
  opacity: 0;
  pointer-events: none;
}
.qdnapro-document-viewer .qdv-search-input {
  flex: 1 1 auto;
  min-width: 80px;
  background: transparent;
  border: 0;
  outline: none;
  color: #eef0fb;
  font: inherit;
  font-size: 0.9rem;
}
.qdnapro-document-viewer .qdv-search-input::placeholder {
  color: #9498c6;
}
.qdnapro-document-viewer .qdv-search-count {
  flex: 0 0 auto;
  font-size: 0.78rem;
  color: #aeb2d6;
  min-width: 38px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.qdnapro-document-viewer .qdv-searchbar qdnapro-icon-btn {
  color: #cfd2ea;
  flex: 0 0 auto;
}
.qdnapro-document-viewer .qdv-media {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qdnapro-document-viewer .qdv-video {
  max-width: 100%;
  max-height: 100%;
  outline: none;
  background: #000;
}
.qdnapro-document-viewer .qdv-audio {
  width: 100%;
  max-width: 320px;
  margin-top: 8px;
}
.qdnapro-document-viewer .qdv-loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qdnapro-document-viewer .qdv-thumb {
  position: absolute;
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  filter: blur(14px);
  opacity: 0.5;
  transform: scale(1.02);
}
.qdnapro-document-viewer .qdv-spinner {
  position: relative;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.22);
  border-top-color: #eef0fb;
  animation: qdv-spin 0.8s linear infinite;
}
.qdnapro-document-viewer .qdv-card {
  max-width: 320px;
  margin: 0 auto;
  padding: 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.qdnapro-document-viewer .qdv-card-icon {
  --qdnapro-icon-size: 44px;
  width: 44px;
  height: 44px;
  color: #8b90c4;
}
.qdnapro-document-viewer .qdv-card-fileicon {
  margin-bottom: 4px;
}
.qdnapro-document-viewer .qdv-card-title {
  font-size: 1rem;
  font-weight: 600;
  color: #eef0fb;
}
.qdnapro-document-viewer .qdv-card-text {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #aeb2d6;
}
.qdnapro-document-viewer .qdv-card qdnapro-button {
  margin-top: 6px;
}
.qdnapro-document-viewer .qdv-fb {
  position: absolute;
  left: calc(16px + env(safe-area-inset-left, 0px));
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 4px 6px 4px 14px;
  background: rgba(29, 32, 56, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.38), 0 1px 2px rgba(0, 0, 0, 0.4);
  transition: opacity 200ms ease, transform 200ms ease;
}
.qdnapro-document-viewer .qdv-fb[hidden] {
  display: none;
}
.qdnapro-document-viewer .qdv-fb-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: #cfd2ea;
  white-space: nowrap;
  padding-right: 4px;
}
.qdnapro-document-viewer .qdv-fb-label[hidden] {
  display: none;
}
.qdnapro-document-viewer .qdv-fb qdnapro-icon-btn {
  color: #cfd2ea;
  border-radius: 50%;
}
.qdnapro-document-viewer .qdv-fb qdnapro-icon-btn.is-active {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
}
.qdnapro-document-viewer .qdv-fb-note {
  position: absolute;
  left: calc(16px + env(safe-area-inset-left, 0px));
  bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  right: calc(16px + env(safe-area-inset-right, 0px));
  max-width: 380px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 14px 12px;
  background: #1d2038;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}
.qdnapro-document-viewer .qdv-fb-note[hidden] {
  display: none;
}
.qdnapro-document-viewer .qdv-fb-note-head {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.86rem;
  font-weight: 600;
  color: #eef0fb;
  line-height: 1.35;
}
.qdnapro-document-viewer .qdv-fb-note-head qdnapro-icon {
  flex: 0 0 auto;
  color: #9ea2c8;
  margin-top: 1px;
}
.qdnapro-document-viewer .qdv-fb-note-sub {
  margin: -4px 0 0;
  font-size: 0.78rem;
  color: #9ea2c8;
  line-height: 1.4;
}
.qdnapro-document-viewer .qdv-fb-note-input {
  width: 100%;
  box-sizing: border-box;
  resize: none;
  background: #2a2e4d;
  color: #eef0fb;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  padding: 8px 10px;
  font: inherit;
  font-size: 0.85rem;
  line-height: 1.4;
  outline: none;
}
.qdnapro-document-viewer .qdv-fb-note-input::placeholder {
  color: #7d81ab;
}
.qdnapro-document-viewer .qdv-fb-note-input:focus {
  border-color: rgba(255, 255, 255, 0.32);
}
.qdnapro-document-viewer .qdv-fb-note-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.qdnapro-document-viewer .qdv-fb-note-actions qdnapro-button.button-subtle {
  color: #cfd2ea;
}
.qdnapro-document-viewer.qdv-chrome-hidden .qdv-topbar {
  opacity: 0;
  transform: translateY(-100%);
  pointer-events: none;
}
.qdnapro-document-viewer.qdv-chrome-hidden .qdv-fb {
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-document-viewer {
    transition: none;
  }
  .qdnapro-document-viewer .qdv-topbar, .qdnapro-document-viewer .qdv-fb {
    transition: none;
  }
  .qdnapro-document-viewer .qdv-spinner {
    animation-duration: 1.6s;
  }
}

@keyframes qdv-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes qdv-shimmer {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}
:root.qdv-open,
:root.qdv-open body {
  overflow: hidden;
}

.text-h1 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 60px;
  line-height: 72px;
}

.text-h2 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 40px;
  line-height: 56px;
}

.text-h3 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 32px;
  line-height: 48px;
}

.text-h4 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 28px;
  line-height: 44px;
}

.text-h5 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 24px;
  line-height: 36px;
}

.text-h6 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
}

.text-body-xs {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 10px;
  line-height: 20px;
}

.text-body-sm {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
}

.text-body-md {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
}

.text-body-lg {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
}

.text-body-xl {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 20px;
  line-height: 32px;
}

.qdnapro-drop-zone {
  --dz-c-border: #40499a;
  --dz-c-border-highlight: #4652f3;
  --dz-c-bg-tint: rgba(70, 82, 243, 0.08);
  --dz-c-bg-tint-full: rgba(70, 82, 243, 0.14);
  --dz-c-overlay-text: #40499a;
  --dz-c-overlay-text-highlight: #4652f3;
  --dz-c-reject-border: #c65a5a;
  --dz-c-reject-bg: rgba(198, 90, 90, 0.10);
  --dz-c-reject-bg-full: rgba(198, 90, 90, 0.16);
  --dz-c-reject-text: #6a3030;
  position: relative;
  display: block;
  box-sizing: border-box;
  border-radius: 12px;
  border: 2px solid transparent;
  transition: border-color 180ms ease, background 180ms ease;
}

.qdnapro-drop-zone .drop-zone-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 180ms ease;
  z-index: 2;
}

.qdnapro-drop-zone .drop-zone-march-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: transparent;
  pointer-events: none;
}

.qdnapro-drop-zone .drop-zone-march-rect {
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  animation: drop-zone-march 1.6s linear infinite;
}

.qdnapro-drop-zone.drop-zone-active .drop-zone-march-svg, .qdnapro-drop-zone.force-active .drop-zone-march-svg {
  color: var(--dz-march-color);
}

.qdnapro-drop-zone .drop-zone-overlay-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 24px;
  text-align: center;
}

.qdnapro-drop-zone .drop-zone-overlay-icon {
  width: 32px;
  height: 32px;
  color: var(--dz-c-overlay-text);
}

.qdnapro-drop-zone.drop-zone-active .drop-zone-overlay-icon, .qdnapro-drop-zone.force-active .drop-zone-overlay-icon {
  animation: drop-zone-icon-figure8 6s ease-in-out infinite;
}

.qdnapro-drop-zone .drop-zone-overlay-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.qdnapro-drop-zone .drop-zone-overlay-text {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--dz-c-overlay-text);
  line-height: 1.3;
}

.qdnapro-drop-zone .drop-zone-overlay-hint {
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: var(--dz-c-overlay-text);
  opacity: 0.7;
  line-height: 1.3;
}

.qdnapro-drop-zone > :not(.drop-zone-overlay):not(.drop-zone-input) {
  transition: opacity 180ms ease, filter 180ms ease, width 320ms ease-in-out;
}

.qdnapro-drop-zone.drop-zone-active > :not(.drop-zone-overlay):not(.drop-zone-input) {
  opacity: 0.45;
  filter: blur(6px);
}

.qdnapro-drop-zone.drop-zone-style-dashed.drop-zone-active:not(.drop-zone-reject) {
  border: 2px solid transparent;
  background: radial-gradient(ellipse at top left, var(--dz-c-bg-tint), transparent 55%), radial-gradient(ellipse at bottom right, var(--dz-c-bg-tint), transparent 55%);
  --dz-march-color: var(--dz-c-border);
}

.qdnapro-drop-zone.drop-zone-style-solid.drop-zone-active:not(.drop-zone-reject) {
  border: 2px solid var(--dz-c-border);
  background: radial-gradient(ellipse at top left, var(--dz-c-bg-tint), transparent 55%), radial-gradient(ellipse at bottom right, var(--dz-c-bg-tint), transparent 55%);
}

.qdnapro-drop-zone.drop-zone-style-highlight.drop-zone-active:not(.drop-zone-reject) {
  border: 2px solid transparent;
  background: var(--dz-c-bg-tint-full);
  --dz-c-overlay-text: var(--dz-c-overlay-text-highlight);
  --dz-march-color: var(--dz-c-border-highlight);
}

.qdnapro-drop-zone.drop-zone-style-dashed.drop-zone-active.drop-zone-reject {
  border: 2px dashed var(--dz-c-reject-border);
  background: radial-gradient(ellipse at top left, var(--dz-c-reject-bg), transparent 55%), radial-gradient(ellipse at bottom right, var(--dz-c-reject-bg), transparent 55%);
  --dz-c-overlay-text: var(--dz-c-reject-text);
}

.qdnapro-drop-zone.drop-zone-style-solid.drop-zone-active.drop-zone-reject {
  border: 2px solid var(--dz-c-reject-border);
  background: radial-gradient(ellipse at top left, var(--dz-c-reject-bg), transparent 55%), radial-gradient(ellipse at bottom right, var(--dz-c-reject-bg), transparent 55%);
  --dz-c-overlay-text: var(--dz-c-reject-text);
}

.qdnapro-drop-zone.drop-zone-style-highlight.drop-zone-active.drop-zone-reject {
  border: 2px dashed var(--dz-c-reject-border);
  background: var(--dz-c-reject-bg-full);
  --dz-c-overlay-text: var(--dz-c-reject-text);
}

.qdnapro-drop-zone.drop-zone-active .drop-zone-overlay {
  opacity: 1;
}

.qdnapro-drop-zone.drop-zone-clickable {
  cursor: pointer;
}

.qdnapro-drop-zone.drop-zone-clickable:not(.drop-zone-active):hover {
  border-color: var(--dz-c-border);
  opacity: 1;
}

.qdnapro-drop-zone.drop-zone-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

[data-theme=dark] .qdnapro-drop-zone {
  --dz-c-border: #a5acff;
  --dz-c-border-highlight: #c4caff;
  --dz-c-bg-tint: rgba(165, 172, 255, 0.10);
  --dz-c-bg-tint-full: rgba(165, 172, 255, 0.18);
  --dz-c-overlay-text: #c4caff;
  --dz-c-overlay-text-highlight: #d6daff;
  --dz-c-reject-border: #fbaaaa;
  --dz-c-reject-bg: rgba(251, 170, 170, 0.10);
  --dz-c-reject-bg-full: rgba(251, 170, 170, 0.18);
  --dz-c-reject-text: #fee3e3;
}

@keyframes drop-zone-march {
  to {
    stroke-dashoffset: -12;
  }
}
@keyframes drop-zone-icon-figure8 {
  0% {
    transform: translate(0, 0);
  }
  12.5% {
    transform: translate(4px, 3px);
  }
  25% {
    transform: translate(5px, 0);
  }
  37.5% {
    transform: translate(4px, -3px);
  }
  50% {
    transform: translate(0, 0);
  }
  62.5% {
    transform: translate(-4px, 3px);
  }
  75% {
    transform: translate(-5px, 0);
  }
  87.5% {
    transform: translate(-4px, -3px);
  }
  100% {
    transform: translate(0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-drop-zone .drop-zone-overlay-icon {
    animation: none;
  }
  .qdnapro-drop-zone::before {
    animation: none;
  }
}
.qdnapro-emoji-sheet {
  display: contents;
}

.qdnapro-bottom-sheet.es-sheet {
  z-index: 21000;
}

.qdnapro-bottom-sheet.es-sheet .bs-panel {
  height: 82%;
  max-height: 82%;
  padding: 4px 6px 0;
}

.qdnapro-bottom-sheet.es-sheet .bs-handle-zone {
  padding: 8px 0 4px;
}

.qdnapro-bottom-sheet.es-sheet .bs-body {
  overflow: hidden;
  gap: 0;
  padding-bottom: 0;
}

.es-root {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  font-family: var(--theme-font-family, "Inter", sans-serif);
}

.es-root .es-emoji,
.es-root .es-tone {
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
}

.es-root .es-icon {
  width: 24px;
  height: 24px;
  display: block;
  flex-shrink: 0;
}

.es-root .es-tab .es-icon {
  width: 22px;
  height: 22px;
}

.es-root .es-search {
  flex-shrink: 0;
  padding: 6px 6px 10px;
}

.es-root .es-search-trigger,
.es-root .es-search-field {
  width: 100%;
  height: 40px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: none;
  border-radius: 12px;
  background: var(--c-white-08);
  color: var(--c-white-55);
  font-size: 15px;
}

.es-root .es-search-trigger {
  cursor: text;
  text-align: left;
}

.es-root .es-search-placeholder {
  color: var(--c-white-45);
}

.es-root .es-search-field {
  display: none;
}

.es-root.es-searching .es-search-trigger {
  display: none;
}

.es-root.es-searching .es-search-field {
  display: flex;
}

.es-root .es-search-field-icon {
  color: var(--c-white-45);
}

.es-root .es-search-input {
  flex: 1;
  min-width: 0;
  border: none;
  background: none;
  outline: none;
  color: #fff;
  font-size: 15px;
  font-family: inherit;
}

.es-root .es-search-input::placeholder {
  color: var(--c-white-45);
}

.es-root .es-search-cancel {
  flex-shrink: 0;
  border: none;
  background: none;
  color: #fff;
  font-size: 15px;
  font-family: inherit;
  cursor: pointer;
  padding: 0 2px;
}

.es-root .es-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.es-root .es-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.es-root .es-section-title {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 8px 8px 4px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--c-white-45);
  background: rgba(38, 38, 44, 0.86);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.es-root .es-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  padding: 2px 4px 6px;
}

.es-root .es-emoji {
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  border-radius: 10px;
  padding: 0;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.es-root .es-emoji:active {
  background: var(--c-white-14);
}

.es-root.es-has-query .es-section {
  display: none;
}

.es-root .es-results {
  padding-top: 8px;
}

.es-root .es-empty {
  padding: 44px 16px;
  text-align: center;
  font-size: 14px;
  color: var(--c-white-45);
}

.es-root .es-catnav {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 6px 6px calc(6px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--c-white-08);
}

.es-root .es-tab {
  flex: 1;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  border-radius: 10px;
  color: var(--c-white-45);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.es-root .es-tab:active {
  background: var(--c-white-08);
}

.es-root .es-tab.is-active {
  color: #fff;
  background: var(--c-white-12);
}

.es-root .es-tone-popover {
  position: absolute;
  z-index: 5;
  display: flex;
  gap: 2px;
  padding: 6px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.28);
}

.es-root .es-tone-popover[hidden] {
  display: none;
}

.es-root .es-tone-popover::after {
  content: "";
  position: absolute;
  bottom: -9px;
  left: var(--es-tail-x, 50%);
  transform: translateX(-50%);
  border: 9px solid transparent;
  border-top-color: #fff;
  border-bottom: 0;
}

.es-root .es-tone {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  border-radius: 10px;
  padding: 0;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.es-root .es-tone:active {
  background: rgba(0, 0, 0, 0.06);
}

.qdnapro-empty-state[hidden] {
  display: none;
}

.qdnapro-empty-state {
  box-sizing: border-box;
  display: block;
  max-width: 620px;
  margin: 32px auto 0;
  padding: 44px 48px 48px;
  text-align: center;
  background: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(20, 25, 80, 0.04), 0 8px 24px rgba(20, 25, 80, 0.06);
}

.qdnapro-empty-state * {
  box-sizing: border-box;
}

/* Solid variant (surface="solid"): a light-purple card instead of the
   frosted-glass panel, so the empty state reads well on a plain white
   background (the default glass only works over a tinted/purple backdrop). */
.qdnapro-empty-state.empty-state-solid {
  background: #f1f2fd;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border: 1px solid #e4e6f8;
  box-shadow: none;
}

.qdnapro-empty-state.empty-state-solid .empty-state-title {
  color: #3a4290;
}

/* On the light-purple solid surface a plain `subtle` button's neutral grey
   hover (#f0f1f2) all but disappears against the card (#f1f2fd). Re-tint any
   subtle action to the subtle-on-purple treatment so a default `subtle` CTA
   reads correctly here without the consumer having to reach for a surface-
   specific button type. The solid card is light-purple in both themes, so
   these values apply in light and dark alike. Values mirror
   .qdnapro-button.button-subtle-purple-bg. [Kim 2026-07-09] */
.qdnapro-empty-state.empty-state-solid .empty-state-actions .qdnapro-button.button-subtle {
  color: #40499a;
}

.qdnapro-empty-state.empty-state-solid .empty-state-actions .qdnapro-button.button-subtle:hover:not(.button-disabled) {
  background: #daddf2;
}

.qdnapro-empty-state.empty-state-solid .empty-state-actions .qdnapro-button.button-subtle:active:not(.button-disabled) {
  background: #c7cce8;
}

/* Page variant (surface="page"): Kim's PWA empty-state design, 21.07.2026.
   Neutral background, no card/surface/shadow -- sits directly on the
   page/app background. Always a single vertical column (title, subtext,
   actions, illustration): the "extended" two-column grid never applies
   here, because the JS keeps `empty-state-extended` off whenever
   `empty-state-page` is on (see qdna-empty-state.js _render()). With
   `empty-state-extended` absent, the host stays plain `display: block`
   (the base .qdnapro-empty-state rule above), so the copy column and the
   illustration column -- both already siblings appended in that order --
   simply stack top to bottom with no extra layout rule needed for that.

   Title and subtext use the semantic --c-brand-purple / --c-text-heading
   custom properties (design-tokens/_design-tokens.scss) instead of
   hardcoded hex, so both automatically read correctly in
   [data-theme=dark] with no separate dark-mode override required here. */
.qdnapro-empty-state.empty-state-page {
  max-width: 480px;
  padding: 8px 24px 32px;
  background: transparent;
  border: none;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.qdnapro-empty-state.empty-state-page .empty-state-title {
  color: var(--c-brand-purple, #40499a);
  font-weight: 700;
}

.qdnapro-empty-state.empty-state-page .empty-state-wink {
  color: var(--c-text-heading, #1a1f4d);
  font-style: normal;
}

/* On-purple variant (surface="on-purple"): the page variant's layout, recoloured for
   a purple surface. The JS gives this variant BOTH empty-state-page and
   empty-state-on-purple, so everything above still applies and only the copy colours
   change here -- one layout, two colour sets, so a spacing fix can never land on one
   and miss the other. Used by the PWA tasklist chooser, which paints its own
   --c-purple-500 background; without this the page variant's brand-purple title and
   dark-grey subtext sit unreadable on that purple. [Kim 30.07.2026] */
.qdnapro-empty-state.empty-state-page.empty-state-on-purple .empty-state-title {
  color: var(--c-text-on-action, #ffffff);
}

.qdnapro-empty-state.empty-state-page.empty-state-on-purple .empty-state-wink {
  color: var(--c-white-70, rgba(255, 255, 255, 0.7));
}

/* Actions row: 0, 1 or 2 qdnapro-button children (see the actions-slot
   contract in qdna-empty-state.js). Every button gets flex: 1 1 0, so a
   single button fills the whole row (soft full-width CTA) and two
   buttons split it evenly with equal height (align-items: stretch) --
   no :only-child / :has() selector needed for that. Radius is bumped to
   the --r-3 (12px) token, scoped to this variant's actions row only, so
   qdnapro-button's normal 8px radius everywhere else is untouched. */
.qdnapro-empty-state.empty-state-page .empty-state-actions {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 12px;
}

.qdnapro-empty-state.empty-state-page .empty-state-actions .qdnapro-button {
  flex: 1 1 0;
  min-width: 0;
  border-radius: var(--r-3, 12px);
}

@media (max-width: 480px) {
  .qdnapro-empty-state.empty-state-page .empty-state-actions {
    flex-wrap: wrap;
  }
  .qdnapro-empty-state.empty-state-page .empty-state-actions .qdnapro-button {
    flex: 1 1 100%;
  }
}
/* Illustration: large, and always faded to 60% opacity -- this is a
   decorative choice, not a "disabled" state, so it is done here rather
   than via qdnapro-illustration's own `disabled` attribute (which
   carries different semantics/styling). The generic 260px cap below is
   removed so the illustration's own `size` attribute fully controls its
   width, same as any other qdnapro-illustration usage. */
.qdnapro-empty-state.empty-state-page .empty-state-illustration {
  margin-top: 32px;
  opacity: 0.6;
}

.qdnapro-empty-state.empty-state-page .empty-state-illustration img,
.qdnapro-empty-state.empty-state-page .empty-state-illustration svg {
  max-width: none;
}

/* Extended layout: two-column grid when preview or illustration is present. */
.qdnapro-empty-state.empty-state-extended {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  align-items: center;
  text-align: left;
  max-width: 1020px;
  padding: 36px 40px 40px;
  gap: 28px;
}

.qdnapro-empty-state.empty-state-extended .empty-state-copy {
  align-items: flex-start;
}

.qdnapro-empty-state.empty-state-extended .empty-state-actions {
  justify-content: flex-start;
}

.qdnapro-empty-state .empty-state-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.qdnapro-empty-state .empty-state-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e6e9ff;
  color: #40499a;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.qdnapro-empty-state .empty-state-title {
  font-size: 28px;
  line-height: 36px;
  font-weight: 600;
  color: #0b0b0d;
  margin: 0 0 12px;
}

.qdnapro-empty-state .empty-state-wink {
  font-size: 16px;
  line-height: 24px;
  color: #4a4d5a;
  margin: 0 0 24px;
  font-style: italic;
}

.qdnapro-empty-state .empty-state-body {
  font-size: 15px;
  line-height: 24px;
  color: #6e7280;
  margin: 0 0 28px;
  max-width: 480px;
}

.qdnapro-empty-state .empty-state-body p {
  margin: 0 0 12px;
}

.qdnapro-empty-state .empty-state-body p:last-child {
  margin-bottom: 0;
}

.qdnapro-empty-state .empty-state-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.qdnapro-empty-state .empty-state-preview,
.qdnapro-empty-state .empty-state-illustration {
  display: flex;
  align-items: center;
  justify-content: center;
}

.qdnapro-empty-state .empty-state-preview img,
.qdnapro-empty-state .empty-state-illustration img,
.qdnapro-empty-state .empty-state-preview svg,
.qdnapro-empty-state .empty-state-illustration svg {
  width: 100%;
  max-width: 260px;
  height: auto;
  display: block;
}

.qdnapro-empty-state .empty-state-preview img {
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(20, 25, 80, 0.05), 0 8px 22px rgba(20, 25, 80, 0.1);
}

@media (max-width: 960px) {
  .qdnapro-empty-state.empty-state-extended {
    grid-template-columns: 1fr;
  }
  .qdnapro-empty-state.empty-state-extended .empty-state-illustration {
    display: none;
  }
}
[data-theme=dark] .qdnapro-empty-state {
  background: rgba(46, 48, 54, 0.55);
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme=dark] .qdnapro-empty-state .empty-state-eyebrow {
  background: #3a3555;
  color: #c0c5ff;
}

[data-theme=dark] .qdnapro-empty-state .empty-state-title {
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-empty-state .empty-state-wink {
  color: #a6aab3;
}

[data-theme=dark] .qdnapro-empty-state .empty-state-body {
  color: #898e99;
}

.qdnapro-event-card {
  --event-card-bg: var(--c-purple-50, #e6e9ff);
  --event-card-text: var(--c-purple-500, #40499a);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 4px 6px;
  overflow: hidden;
  border-radius: var(--r-2, 8px);
  background: var(--event-card-bg);
  color: var(--event-card-text);
  font-family: var(--theme-font-family, "Inter", sans-serif);
  text-align: left;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: filter 0.16s ease, transform 0.1s ease, box-shadow 0.16s ease;
}

.qdnapro-event-card--complete {
  --event-card-bg: var(--c-signal-green-100, #d8f4e3);
  --event-card-text: var(--c-signal-green-text, #428b6e);
}

.qdnapro-event-card--overdue {
  --event-card-bg: var(--c-signal-red-bg, #fee3e3);
  --event-card-text: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-event-card--blocked {
  --event-card-bg: var(--c-grey-50, #f0f1f2);
  --event-card-text: var(--c-grey-600, #565b66);
}

.qdnapro-event-card--inprogress {
  --event-card-bg: var(--c-signal-orange-bg, #fdeadc);
  --event-card-text: var(--c-signal-orange-text, #bc6a1f);
}

.qdnapro-event-card--personal {
  --event-card-bg: var(--c-signal-pink-bg, #f6e1e8);
  --event-card-text: var(--c-signal-pink-text, #b25777);
}

.qdnapro-event-card.is-draft {
  border: 1.5px dashed var(--event-card-text);
  background: color-mix(in srgb, var(--event-card-bg) 55%, transparent);
}

.qdnapro-event-card--size-small {
  padding: 2px 5px;
  gap: 1px;
}

.qdnapro-event-card--size-small .qdnapro-event-card__title {
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
}

.qdnapro-event-card--size-small .qdnapro-event-card__meta-text {
  font-size: 11px;
  line-height: 14px;
}

.qdnapro-event-card--size-small .qdnapro-event-card__meta .qdnapro-icon,
.qdnapro-event-card--size-small .qdnapro-event-card__meta qdnapro-icon {
  width: 12px;
  height: 12px;
}

.qdnapro-event-card.is-pressed {
  filter: brightness(0.94);
  transform: scale(0.98);
}

.qdnapro-event-card:focus {
  outline: none;
}

.qdnapro-event-card:focus-visible,
.qdnapro-event-card.force-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--c-purple-500, #40499a), 0 0 0 6px var(--c-purple-soft-18, rgba(64, 73, 154, 0.18));
}

.qdnapro-event-card__title {
  flex: none;
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

.qdnapro-event-card__row {
  flex: none;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

.qdnapro-event-card__row .qdnapro-event-card__title {
  flex: 1;
  min-width: 0;
}

.qdnapro-event-card__avatar {
  flex: none;
}

.qdnapro-event-card__meta {
  flex: none;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

.qdnapro-event-card__meta .qdnapro-icon,
.qdnapro-event-card__meta qdnapro-icon {
  flex: none;
  width: 16px;
  height: 16px;
  color: inherit;
}

.qdnapro-event-card__meta-text {
  min-width: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-event-card__conflict {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  box-shadow: 0 0 0 1.5px #fff;
  pointer-events: none;
}

.qdnapro-event-card__conflict--overlap {
  background: #f59e0b;
}

.qdnapro-event-card__conflict--unavailable {
  background: #dc2626;
}

.qdnapro-event-card__conflict--accepted {
  background: transparent;
}

.qdnapro-event-card__conflict--overlap.qdnapro-event-card__conflict--accepted {
  box-shadow: 0 0 0 1.5px #fff, inset 0 0 0 1.5px #f59e0b;
}

.qdnapro-event-card__conflict--unavailable.qdnapro-event-card__conflict--accepted {
  box-shadow: 0 0 0 1.5px #fff, inset 0 0 0 1.5px #dc2626;
}

qdnapro-export-modal {
  display: none;
}
qdnapro-export-modal[open] {
  display: block;
}
qdnapro-export-modal .qpem-overlay {
  position: fixed;
  inset: 0;
  z-index: 1080;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(20, 22, 40, 0.45);
}
qdnapro-export-modal .qpem-dialog {
  width: 100%;
  max-width: 760px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(20, 22, 40, 0.28);
  padding: 24px 28px;
  overflow: hidden;
}
qdnapro-export-modal .qpem-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
qdnapro-export-modal .qpem-head-icon {
  display: inline-flex;
  color: var(--c-purple-500, #40499a);
}
qdnapro-export-modal .qpem-title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--c-purple-500, #40499a);
  flex: 1;
}
qdnapro-export-modal .qpem-close {
  border: 0;
  background: transparent;
  cursor: pointer;
  color: #8a8f9e;
  padding: 4px;
  border-radius: 8px;
  display: inline-flex;
}
qdnapro-export-modal .qpem-close:hover {
  background: #f1f2f6;
  color: #4a4f5e;
}
qdnapro-export-modal .qpem-subtitle {
  margin: 12px 0 8px;
  color: #5a5f6e;
  font-size: 14px;
}
qdnapro-export-modal .qpem-hints {
  margin: 0 0 16px;
  padding-left: 20px;
  color: #5a5f6e;
  font-size: 13px;
}
qdnapro-export-modal .qpem-hints li {
  margin-bottom: 4px;
}
qdnapro-export-modal .qpem-panels {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: stretch;
  flex: 1;
  min-height: 0;
}
qdnapro-export-modal .qpem-panel {
  border: 1px solid #e9ecf3;
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
qdnapro-export-modal .qpem-panel-head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: var(--c-purple-500, #40499a);
  margin-bottom: 12px;
}
qdnapro-export-modal .qpem-selectall {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 14px;
  color: #5a5f6e;
  cursor: pointer;
}
qdnapro-export-modal .qpem-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow-y: auto;
  flex: 1;
  min-height: 80px;
}
qdnapro-export-modal .qpem-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #e9ecf3;
  background: #fbfbfd;
  cursor: grab;
  user-select: none;
  color: #9aa0ae;
}
qdnapro-export-modal .qpem-chip:hover {
  border-color: #d7dbe6;
}
qdnapro-export-modal .qpem-chip--active {
  background: var(--c-purple-50, #e6e9ff);
  border-color: var(--c-purple-100, #c0c5ff);
  color: #2a2e5e;
}
qdnapro-export-modal .qpem-chip--dragging {
  opacity: 0.4;
}
qdnapro-export-modal .qpem-grip {
  color: #b3b8c6;
  cursor: grab;
}
qdnapro-export-modal .qpem-chip-label {
  flex: 1;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
qdnapro-export-modal .qpem-sort {
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 2px;
  border-radius: 6px;
  display: inline-flex;
  color: #b3b8c6;
}
qdnapro-export-modal .qpem-sort:hover {
  background: rgba(64, 73, 154, 0.1);
}
qdnapro-export-modal .qpem-sort--asc, qdnapro-export-modal .qpem-sort--desc {
  color: var(--c-purple-500, #40499a);
}
qdnapro-export-modal .qpem-marker {
  height: 2px;
  border-radius: 2px;
  background: var(--c-purple-400, #5a64b8);
  margin: 0 2px;
}
qdnapro-export-modal .qpem-movers {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}
qdnapro-export-modal .qpem-foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
  padding-top: 20px;
}
qdnapro-export-modal .qpem-cancel {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 15px;
  color: #5a5f6e;
}
qdnapro-export-modal .qpem-cancel:hover {
  color: #2a2e5e;
}
@media (max-width: 640px) {
  qdnapro-export-modal .qpem-panels {
    grid-template-columns: 1fr;
  }
  qdnapro-export-modal .qpem-movers {
    flex-direction: row;
    justify-content: center;
  }
}

.qdnapro-month-grid {
  --month-grid-cell: 64px;
  display: block;
  box-sizing: border-box;
  width: 100%;
  background: var(--c-bg-card, #fff);
  font-family: var(--theme-font-family, "Inter", sans-serif);
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.qdnapro-month-grid__header {
  display: flex;
  align-items: center;
  gap: 2px;
  border-bottom: 1px solid var(--c-grey-100, #e7e9ec);
}

.qdnapro-month-grid__header-title {
  flex: 1 1 auto;
  min-width: 0;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--c-grey-800, #1c1b29);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qdnapro-month-grid__nav-btn {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--c-grey-600, #565b66);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.qdnapro-month-grid__nav-btn qdnapro-icon {
  display: block;
  width: 18px;
  height: 18px;
}

.qdnapro-month-grid__nav-btn:hover {
  color: var(--c-grey-800, #1c1b29);
}

.qdnapro-month-grid__nav-btn:disabled {
  color: var(--c-grey-300, #cdd1d6);
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-month-grid__nav-btn:disabled:hover {
  color: var(--c-grey-300, #cdd1d6);
}

.qdnapro-month-grid__weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border-bottom: 1px solid var(--c-grey-100, #e7e9ec);
}

.qdnapro-month-grid__weekday {
  padding: 6px 0 4px;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
  color: var(--c-grey-500, #6b7280);
  text-transform: lowercase;
}

.qdnapro-month-grid__weeks {
  display: block;
}

.qdnapro-month-grid__week {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border-bottom: 1px solid var(--c-grey-100, #e7e9ec);
}

.qdnapro-month-grid[fill] {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.qdnapro-month-grid[fill] .qdnapro-month-grid__weeks {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.qdnapro-month-grid[fill] .qdnapro-month-grid__week {
  flex: 1 1 0;
  min-height: var(--month-grid-cell);
}

.qdnapro-month-grid__cell {
  box-sizing: border-box;
  min-height: var(--month-grid-cell);
  min-width: 0;
  padding: 2px 2px 3px;
  border-right: 1px solid var(--c-grey-100, #e7e9ec);
  cursor: pointer;
}

.qdnapro-month-grid__cell:last-child {
  border-right: 0;
}

.qdnapro-month-grid__daynum {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin: 0 auto 2px;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 500;
  line-height: 16px;
  color: var(--c-grey-800, #1c1b29);
}

.qdnapro-month-grid__cell--outside .qdnapro-month-grid__daynum {
  color: var(--c-grey-400, #9ca3af);
}

.qdnapro-month-grid__cell--blocked {
  cursor: not-allowed;
  opacity: 0.45;
}

.qdnapro-month-grid__cell.is-selected:not(.is-today) .qdnapro-month-grid__daynum {
  background: var(--c-bg-secondary-purple, #e6e9ff);
  color: var(--c-action-500, #4652f3);
  font-weight: 700;
}

.qdnapro-month-grid__cell.is-today .qdnapro-month-grid__daynum {
  background: var(--c-action-500, #4652f3);
  color: var(--c-bg-card, #fff);
  font-weight: 700;
}

.qdnapro-month-grid__bars {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  margin-bottom: 1px;
}

.qdnapro-month-grid__bar,
.qdnapro-month-grid__bar-spacer {
  display: block;
  box-sizing: border-box;
  height: 13px;
  min-width: 0;
}

.qdnapro-month-grid__bar-spacer {
  visibility: hidden;
}

.qdnapro-month-grid__bar {
  --month-grid-chip-bg: var(--c-purple-50, #e6e9ff);
  --month-grid-chip-text: var(--c-purple-500, #40499a);
  padding: 0 3px;
  background: var(--month-grid-chip-bg);
  color: var(--month-grid-chip-text);
  font-size: 10px;
  font-weight: 600;
  line-height: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  border-radius: 0;
}

.qdnapro-month-grid__bar-overlay {
  position: absolute;
  z-index: 1;
  top: calc(28px + var(--bar-lane, 0) * 14px);
  left: calc(14.2857142857% * var(--bar-start-col, 0) + var(--bar-inset-l, 0px));
  width: calc(14.2857142857% * var(--bar-span-cols, 1) - var(--bar-inset-l, 0px) - var(--bar-inset-r, 0px));
  pointer-events: none;
}

.qdnapro-month-grid__bar--dimmed {
  opacity: 0.45;
}

.qdnapro-month-grid__bar--round-start {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}

.qdnapro-month-grid__bar--round-end {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}

.qdnapro-month-grid__bar-label {
  pointer-events: none;
}

.qdnapro-month-grid__bar--inprogress {
  --month-grid-chip-bg: var(--c-signal-orange-bg, #fdeadc);
  --month-grid-chip-text: var(--c-signal-orange-text, #bc6a1f);
}

.qdnapro-month-grid__bar--complete {
  --month-grid-chip-bg: var(--c-signal-green-100, #d8f4e3);
  --month-grid-chip-text: var(--c-signal-green-text, #428b6e);
}

.qdnapro-month-grid__bar--overdue {
  --month-grid-chip-bg: var(--c-signal-red-bg, #fee3e3);
  --month-grid-chip-text: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-month-grid__bar--blocked {
  --month-grid-chip-bg: var(--c-grey-50, #f0f1f2);
  --month-grid-chip-text: var(--c-grey-600, #565b66);
}

.qdnapro-month-grid__bar--personal {
  --month-grid-chip-bg: var(--c-signal-pink-bg, #f6e1e8);
  --month-grid-chip-text: var(--c-signal-pink-text, #b25777);
}

.qdnapro-month-grid__chips {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.qdnapro-month-grid__chip {
  --month-grid-chip-bg: var(--c-purple-50, #e6e9ff);
  --month-grid-chip-text: var(--c-purple-500, #40499a);
  display: block;
  min-width: 0;
  padding: 1px 3px;
  border-radius: 3px;
  background: var(--month-grid-chip-bg);
  color: var(--month-grid-chip-text);
  font-size: 10px;
  font-weight: 600;
  line-height: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}

.qdnapro-month-grid__chip--inprogress {
  --month-grid-chip-bg: var(--c-signal-orange-bg, #fdeadc);
  --month-grid-chip-text: var(--c-signal-orange-text, #bc6a1f);
}

.qdnapro-month-grid__chip--complete {
  --month-grid-chip-bg: var(--c-signal-green-100, #d8f4e3);
  --month-grid-chip-text: var(--c-signal-green-text, #428b6e);
}

.qdnapro-month-grid__chip--overdue {
  --month-grid-chip-bg: var(--c-signal-red-bg, #fee3e3);
  --month-grid-chip-text: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-month-grid__chip--blocked {
  --month-grid-chip-bg: var(--c-grey-50, #f0f1f2);
  --month-grid-chip-text: var(--c-grey-600, #565b66);
}

.qdnapro-month-grid__chip--personal {
  --month-grid-chip-bg: var(--c-signal-pink-bg, #f6e1e8);
  --month-grid-chip-text: var(--c-signal-pink-text, #b25777);
}

.qdnapro-month-grid__more {
  padding: 1px 3px;
  font-size: 10px;
  font-weight: 600;
  line-height: 13px;
  color: var(--c-grey-500, #6b7280);
  pointer-events: none;
}

.qdnapro-month-grid__cell--outside .qdnapro-month-grid__chip,
.qdnapro-month-grid__cell--outside .qdnapro-month-grid__more {
  opacity: 0.45;
}

.qdnapro-month-strip {
  display: block;
  box-sizing: border-box;
  width: 100%;
  background: #fff;
  font-family: var(--theme-font-family, "Inter", sans-serif);
  user-select: none;
  touch-action: pan-y;
  overflow-x: clip;
}

.qdnapro-month-strip__month {
  padding: 2px 0 2px;
  font-size: 15px;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  color: var(--c-grey-500, #6b7280);
}

.qdnapro-month-strip__weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  padding: 0 4px 2px;
}

.qdnapro-month-strip__weekdays span {
  font-size: 12px;
  line-height: 16px;
  text-align: center;
  color: var(--c-grey-500, #6b7280);
}

.qdnapro-month-strip__body {
  overflow: hidden;
  transition: height 0.25s ease;
}

.qdnapro-month-strip__rows {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: 48px;
  padding: 0 4px;
  transition: transform 0.25s ease;
  will-change: transform;
}

.qdnapro-month-strip__body.is-dragging,
.qdnapro-month-strip__body.is-dragging .qdnapro-month-strip__rows {
  transition: none;
}

.qdnapro-month-strip__rows.is-enter-next {
  animation: qms-slide-next 0.24s cubic-bezier(0.2, 0.7, 0.3, 1);
}

.qdnapro-month-strip__rows.is-enter-prev {
  animation: qms-slide-prev 0.24s cubic-bezier(0.2, 0.7, 0.3, 1);
}

@keyframes qms-slide-next {
  from {
    translate: 28px 0;
    opacity: 0.35;
  }
  to {
    translate: 0 0;
    opacity: 1;
  }
}
@keyframes qms-slide-prev {
  from {
    translate: -28px 0;
    opacity: 0.35;
  }
  to {
    translate: 0 0;
    opacity: 1;
  }
}
.qdnapro-month-strip__day {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border: 0;
  padding: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.qdnapro-month-strip__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 14px;
  line-height: 1;
  color: var(--c-grey-950, #0b0b0d);
  background: var(--day-tint, transparent);
  transition: background 0.18s ease, color 0.18s ease;
}

@keyframes qdnapro-month-strip-pop {
  0% {
    transform: scale(0.55);
  }
  70% {
    transform: scale(1.12);
  }
  100% {
    transform: scale(1);
  }
}
.qdnapro-month-strip__day.is-pop .qdnapro-month-strip__num {
  animation: qdnapro-month-strip-pop 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.qdnapro-month-strip__dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--c-purple-500, #40499a);
}

.qdnapro-month-strip__day.is-selected:not(.is-today):not(.is-disabled) .qdnapro-month-strip__num {
  background: var(--c-bg-secondary-purple, #e6e9ff);
  color: var(--c-purple-500, #40499a);
  font-weight: 600;
}

.qdnapro-month-strip__day.is-today:not(.is-disabled) .qdnapro-month-strip__num {
  background: var(--c-purple-500, #40499a);
  color: #fff;
  font-weight: 600;
}

.qdnapro-month-strip__day.is-muted .qdnapro-month-strip__num {
  color: var(--c-grey-400, #a6aab3);
}

.qdnapro-month-strip__day.is-muted .qdnapro-month-strip__dot {
  background: var(--c-grey-400, #a6aab3);
}

.qdnapro-month-strip__day.is-disabled {
  cursor: default;
}

.qdnapro-month-strip__day.is-disabled .qdnapro-month-strip__num {
  color: var(--c-grey-400, #a6aab3);
  background: transparent;
}

.qdnapro-month-strip__day.is-disabled .qdnapro-month-strip__dot {
  background: var(--c-grey-400, #a6aab3);
}

.qdnapro-month-strip__day:focus {
  outline: none;
}

.qdnapro-month-strip__day:focus-visible .qdnapro-month-strip__num {
  box-shadow: 0 0 0 2px var(--c-purple-500, #40499a), 0 0 0 6px var(--c-purple-soft-18, rgba(64, 73, 154, 0.18));
}

.qdnapro-month-strip__months {
  display: none;
  gap: 8px;
  padding: 8px 12px 2px;
  overflow-x: auto;
  scrollbar-width: none;
  overscroll-behavior-x: none;
  touch-action: pan-x;
}

.qdnapro-month-strip__months::-webkit-scrollbar {
  display: none;
}

.qdnapro-month-strip[expanded] .qdnapro-month-strip__months {
  display: flex;
}

.qdnapro-month-strip__months .qdnapro-button {
  flex: none;
  position: relative;
}

.qdnapro-month-strip__months .qdnapro-button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -8px;
  bottom: -8px;
}

.qdnapro-month-strip__months .qdnapro-button.button-size-compact {
  min-height: 34px;
  padding: 6px 14px;
  font-size: 14px;
  line-height: 20px;
}

.qdnapro-month-strip__year-label {
  display: flex;
  align-items: center;
  flex: none;
  padding: 0 2px;
  font-size: 12px;
  font-weight: 700;
  line-height: 20px;
  color: var(--c-grey-500, #6b7280);
  white-space: nowrap;
}

.qdnapro-month-strip__grabber {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0 12px;
  cursor: grab;
  touch-action: none;
}

.qdnapro-month-strip__grabber span {
  width: 36px;
  height: 4px;
  border-radius: 999px;
  background: var(--c-grey-300, #c4c7cc);
}

.qdnapro-month-strip__grabber:focus {
  outline: none;
}

.qdnapro-month-strip__grabber:focus-visible span {
  box-shadow: 0 0 0 2px var(--c-purple-500, #40499a), 0 0 0 6px var(--c-purple-soft-18, rgba(64, 73, 154, 0.18));
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-month-strip__body {
    transition: none;
  }
  .qdnapro-month-strip__rows {
    transition: none;
  }
  .qdnapro-month-strip__num {
    transition: none;
  }
  .qdnapro-month-strip__day.is-pop .qdnapro-month-strip__num {
    animation: none;
  }
  .qdnapro-month-strip__rows.is-enter-next,
  .qdnapro-month-strip__rows.is-enter-prev {
    animation: none;
  }
}
.qdnapro-time-grid {
  --time-grid-hour: 52px;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 0;
  font-family: var(--theme-font-family, "Inter", sans-serif);
}

.qdnapro-time-grid__scroll-y {
  position: relative;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-width: none;
}

.qdnapro-time-grid__scroll-y::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.qdnapro-time-grid__dayheader {
  position: sticky;
  top: 0;
  z-index: 7;
  display: flex;
  align-items: stretch;
  height: var(--time-grid-dayheader-h, 40px);
  background: var(--c-bg-card, #fff);
  border-bottom: 1px solid var(--c-grey-100, #e7e9ec);
}

.qdnapro-time-grid__dayheader-corner {
  flex: none;
  width: 56px;
  background: var(--c-bg-card, #fff);
}

.qdnapro-time-grid__dayheader-vp {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.qdnapro-time-grid__dayheader-grid {
  display: flex;
  align-items: stretch;
  height: 100%;
  width: max-content;
}

.qdnapro-time-grid__daycell {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  margin: 0;
  font: inherit;
  text-align: inherit;
  color: inherit;
  flex: none;
  width: var(--time-grid-colw, 120px);
  box-sizing: border-box;
  border-right: 1px solid var(--c-grey-100, #e7e9ec);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  padding: 2px 4px;
  background: var(--c-bg-card, #fff);
  cursor: pointer;
}

.qdnapro-time-grid__daycell:hover {
  background: var(--c-grey-50, #f0f1f2);
}

.qdnapro-time-grid__daycell:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--c-purple-500, #40499a);
}

.qdnapro-time-grid__daycell-weekday {
  font-size: 10px;
  font-weight: 600;
  line-height: 13px;
  color: var(--c-grey-500, #6b7280);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.qdnapro-time-grid__daycell-daynum {
  font-size: 13px;
  font-weight: 600;
  line-height: 16px;
  color: var(--c-grey-800, #1c1b29);
  white-space: nowrap;
}

.qdnapro-time-grid__daycell.is-today .qdnapro-time-grid__daycell-weekday {
  color: var(--c-action-500, #4652f3);
}

.qdnapro-time-grid__daycell.is-today .qdnapro-time-grid__daycell-daynum {
  color: #fff;
  background: var(--c-action-500, #4652f3);
  padding: 1px 8px;
  border-radius: 999px;
}

.qdnapro-time-grid--has-day-header .qdnapro-time-grid__allday {
  top: var(--time-grid-dayheader-h, 40px);
}

.qdnapro-time-grid__allday {
  position: sticky;
  top: 0;
  z-index: 6;
  display: flex;
  align-items: stretch;
  background: var(--c-bg-card, #fff);
  border-bottom: 1px solid var(--c-grey-100, #e7e9ec);
  overflow: hidden;
  transition: height 0.2s ease;
}

.qdnapro-time-grid__allday.is-empty {
  border-bottom-width: 0;
}

.qdnapro-time-grid__allday-corner {
  flex: none;
  width: 56px;
  z-index: 1;
  background: var(--c-bg-card, #fff);
}

.qdnapro-time-grid__allday-vp {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.qdnapro-time-grid__allday-grid {
  display: grid;
  row-gap: 2px;
  column-gap: 0;
  grid-auto-rows: 26px;
  align-items: stretch;
  padding: 4px 2px 4px 0;
  width: max-content;
}

.qdnapro-time-grid__allday-grid.is-scrollable {
  max-height: 112px;
  overflow-y: auto;
}

.qdnapro-time-grid__allday-grid .qdnapro-event-card {
  height: 26px;
  min-height: 0;
  padding: 3px 8px;
  margin: 0 1px;
}

.qdnapro-time-grid__allday-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 3px 8px;
  margin: 0 1px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  color: var(--c-grey-500, #6b7280);
  border-radius: var(--r-2, 8px);
  cursor: pointer;
}

.qdnapro-time-grid__allday-toggle:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--c-purple-500, #40499a), 0 0 0 6px var(--c-purple-soft-18, rgba(64, 73, 154, 0.18));
}

.qdnapro-time-grid__hours {
  display: flex;
  align-items: stretch;
}

.qdnapro-time-grid__gutter {
  position: relative;
  flex: none;
  width: 56px;
  height: calc(var(--time-grid-hours, 24) * var(--time-grid-hour));
  z-index: 5;
  background: var(--c-bg-card, #fff);
}

.qdnapro-time-grid__time {
  position: absolute;
  right: 8px;
  transform: translateY(-50%);
  font-size: 12px;
  line-height: 16px;
  color: var(--c-grey-500, #6b7280);
  white-space: nowrap;
  user-select: none;
}

.qdnapro-time-grid__scroll-x {
  flex: 1;
  min-width: 0;
  height: calc(var(--time-grid-hours, 24) * var(--time-grid-hour));
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  touch-action: pan-x pan-y;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.qdnapro-time-grid__scroll-x::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.qdnapro-time-grid__strip {
  display: flex;
  align-items: stretch;
  height: 100%;
}

.qdnapro-time-grid__day {
  position: relative;
  flex: none;
  width: var(--time-grid-colw, 120px);
  box-sizing: border-box;
  height: 100%;
  border-right: 1px solid var(--c-grey-100, #e7e9ec);
  scroll-snap-align: start;
  background-image: repeating-linear-gradient(to bottom, var(--c-grey-100, #e7e9ec) 0, var(--c-grey-100, #e7e9ec) 1px, transparent 1px, transparent var(--time-grid-hour, 52px));
}

.qdnapro-time-grid--week .qdnapro-time-grid__day {
  scroll-snap-align: none;
}

.qdnapro-time-grid--week .qdnapro-time-grid__day.is-weekstart {
  scroll-snap-align: start;
}

.qdnapro-time-grid__states {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.qdnapro-time-grid__state {
  position: absolute;
  left: 0;
  right: 0;
}

.qdnapro-time-grid__state--disabled {
  background: var(--c-grey-50, #f0f1f2);
}

.qdnapro-time-grid__events {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.qdnapro-time-grid__events .qdnapro-event-card {
  position: absolute;
  pointer-events: auto;
}

.qdnapro-time-grid__events .qdnapro-event-card[data-qtg-draggable] {
  cursor: grab;
}

.qdnapro-time-grid__events .qdnapro-event-card[data-qtg-draggable]:active,
.qdnapro-time-grid__events .qdnapro-event-card.is-dragging {
  cursor: grabbing;
}

.qdnapro-time-grid__events .qdnapro-event-card.is-dragging {
  transition: none;
  z-index: 5;
  box-shadow: 0 6px 18px rgba(28, 27, 41, 0.22), 0 2px 6px rgba(28, 27, 41, 0.14);
  opacity: 0.92;
}

.qdnapro-time-grid__events .qdnapro-event-card.is-drag-return {
  transition: transform 0.2s cubic-bezier(0.34, 1.3, 0.64, 1);
}

@media (hover: hover) and (pointer: fine) {
  .qdnapro-time-grid__events .qdnapro-event-card[data-qtg-resizable]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 10px;
    cursor: ns-resize;
    z-index: 1;
  }
  .qdnapro-time-grid__events .qdnapro-event-card[data-qtg-resizable]:hover::after {
    border-bottom: 2px solid var(--c-purple-500, #40499a);
    border-bottom-left-radius: var(--r-2, 8px);
    border-bottom-right-radius: var(--r-2, 8px);
    opacity: 0.55;
  }
}
.qdnapro-time-grid__events .qdnapro-event-card.is-resizing {
  transition: none;
  z-index: 5;
  cursor: ns-resize;
  box-shadow: 0 6px 18px rgba(28, 27, 41, 0.22), 0 2px 6px rgba(28, 27, 41, 0.14);
  opacity: 0.92;
}

.qdnapro-time-grid__events .qdnapro-event-card.is-drag-return.is-resizing {
  transition: height 0.2s cubic-bezier(0.34, 1.3, 0.64, 1);
}

.qdnapro-time-grid__drop {
  position: absolute;
  left: 2px;
  right: 2px;
  border: 2px dashed var(--c-purple-500, #40499a);
  border-radius: var(--r-2, 8px);
  background: var(--c-purple-soft-12, rgba(64, 73, 154, 0.12));
  z-index: 2;
  pointer-events: none;
  box-sizing: border-box;
}

.qdnapro-time-grid__drop-label {
  position: absolute;
  top: 2px;
  left: 6px;
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
  color: var(--c-purple-500, #40499a);
  white-space: nowrap;
}

.qdnapro-time-grid__drop.is-reject {
  border-color: var(--c-signal-red-text, #c65a5a);
  background: var(--c-signal-red-bg, #fee3e3);
}

.qdnapro-time-grid__drop.is-reject .qdnapro-time-grid__drop-label {
  color: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-time-grid__drop--resize .qdnapro-time-grid__drop-label {
  top: 100%;
  margin-top: 2px;
}

.qdnapro-time-grid__drop.is-over-estimate,
.qdnapro-time-grid__drop.is-under-estimate {
  border-color: var(--c-signal-orange-text, #bc6a1f);
  background: var(--c-signal-orange-bg, #fdeadc);
}

.qdnapro-time-grid__drop.is-over-estimate .qdnapro-time-grid__drop-label,
.qdnapro-time-grid__drop.is-under-estimate .qdnapro-time-grid__drop-label {
  color: var(--c-signal-orange-text, #bc6a1f);
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-time-grid__events .qdnapro-event-card.is-drag-return {
    transition: none;
  }
  .qdnapro-time-grid__allday {
    transition: none;
  }
}
.qdnapro-time-grid__now {
  position: absolute;
  left: 0;
  right: 0;
  height: 0;
  border-top: 2px solid var(--c-tag-critical-text);
  z-index: 3;
  pointer-events: none;
}

/* The "now" dot sits fully INSIDE today's column (fixed 29.07.2026, Kim: "valt
   altijd weg onder het linker paneel"). It used to be `left: -5px`, straddling the
   column's left edge, so half of it landed under the times gutter — and the gutter
   is opaque with z-index 5 against this line's z-index 3, so that half was simply
   painted over. In the day view today's column is ALWAYS the leftmost one, which is
   why it was always broken there rather than only sometimes. Raising the line above
   the gutter instead would be wrong: the line is supposed to slide under the gutter
   when you scroll horizontally, that is what makes the gutter read as a fixed panel.
   So the dot moves in, and the gutter keeps winning. */
.qdnapro-time-grid__now::before {
  content: "";
  position: absolute;
  left: 0;
  top: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--c-tag-critical-text);
}

.qdnapro-time-picker {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  font-family: var(--theme-font-family, "Inter", sans-serif);
  user-select: none;
}

.qdnapro-time-picker__highlight {
  position: absolute;
  left: 4px;
  right: 4px;
  top: 50%;
  height: 40px;
  transform: translateY(-50%);
  border-radius: 10px;
  background: var(--c-purple-soft-08, rgba(64, 73, 154, 0.08));
  pointer-events: none;
}

.qdnapro-time-picker__col {
  position: relative;
  width: 72px;
  height: 200px;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  overscroll-behavior: contain;
  touch-action: pan-y;
  scrollbar-width: none;
  border-radius: 10px;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 28%, #000 72%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 28%, #000 72%, transparent);
}

.qdnapro-time-picker__col::-webkit-scrollbar {
  display: none;
}

.qdnapro-time-picker__list {
  padding: 80px 0;
}

.qdnapro-time-picker__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  border: 0;
  padding: 0;
  background: transparent;
  font: inherit;
  font-size: 20px;
  font-variant-numeric: tabular-nums;
  color: var(--c-grey-400, #a6aab3);
  cursor: pointer;
  scroll-snap-align: center;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.12s ease, font-weight 0.12s ease;
}

.qdnapro-time-picker__item.is-selected {
  color: var(--c-purple-500, #40499a);
  font-weight: 600;
}

.qdnapro-time-picker__colon {
  font-size: 20px;
  font-weight: 600;
  line-height: 40px;
  color: var(--c-grey-500, #6b7280);
}

.qdnapro-time-picker__col:focus {
  outline: none;
}

.qdnapro-time-picker__col:focus-visible {
  box-shadow: 0 0 0 2px var(--c-purple-500, #40499a), 0 0 0 6px var(--c-purple-soft-18, rgba(64, 73, 154, 0.18));
}

.qdnapro-time-picker[disabled] {
  opacity: 0.45;
}

.qdnapro-time-picker[disabled] .qdnapro-time-picker__col {
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-time-picker__item {
    transition: none;
  }
}
.qdnapro-time-select {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-family: var(--theme-font-family, "Inter", sans-serif);
  font-size: 14px;
  line-height: 24px;
}

.qdnapro-time-select * {
  box-sizing: border-box;
}

.qdnapro-time-select .ts-label {
  display: flex;
  align-items: baseline;
  margin-bottom: 4px;
  font-weight: 500;
  color: var(--c-grey-950, #0b0b0d);
}

.qdnapro-time-select .ts-label .ts-required {
  color: var(--c-signal-red-text, #c65a5a);
  margin-right: 2px;
  font-weight: 500;
}

.qdnapro-time-select .ts-field {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  border: 1px solid var(--c-grey-300, #c4c7cc);
  border-radius: 8px;
  padding: 0 12px;
  cursor: text;
  transition: border-color 120ms ease-out, box-shadow 120ms ease-out;
}

.qdnapro-time-select.ts-size-default .ts-field {
  min-height: 52px;
}

.qdnapro-time-select.ts-size-small .ts-field {
  min-height: 40px;
}

.qdnapro-time-select .ts-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  color: var(--c-grey-400, #a6aab3);
  flex-shrink: 0;
}

.qdnapro-time-select .ts-chevron {
  display: inline-flex;
  width: 14px;
  height: 14px;
  color: var(--c-grey-400, #a6aab3);
  flex-shrink: 0;
  transition: transform 150ms ease;
}

.qdnapro-time-select.ts-open .ts-chevron {
  transform: rotate(180deg);
}

.qdnapro-time-select .ts-input {
  flex: 1;
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font: inherit;
  color: var(--c-grey-950, #0b0b0d);
}

.qdnapro-time-select .ts-input::placeholder {
  color: var(--c-grey-400, #a6aab3);
  font-weight: 500;
}

.qdnapro-time-select .ts-input:disabled {
  color: var(--c-grey-400, #a6aab3);
  cursor: not-allowed;
}

.qdnapro-time-select .ts-field:focus-within {
  border-color: #535ba4;
  box-shadow: 0 0 0 3px var(--c-action-40, rgba(70, 82, 243, 0.4));
}

.qdnapro-time-select.ts-error .ts-field {
  border-color: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-time-select.ts-error .ts-field:focus-within {
  border-color: var(--c-signal-red-text, #c65a5a);
  box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.4);
}

.qdnapro-time-select.ts-disabled .ts-field {
  background: var(--c-grey-50, #f0f1f2);
  border-color: transparent;
  cursor: not-allowed;
}

.qdnapro-time-select.ts-disabled .ts-field:focus-within {
  box-shadow: none;
}

.qdnapro-time-select .ts-message {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 13px;
  line-height: 20px;
}

.qdnapro-time-select .ts-message qdnapro-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.qdnapro-time-select .ts-message-error {
  color: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-time-select-panel {
  background: #ffffff;
  border: 1px solid var(--c-grey-300, #c4c7cc);
  border-radius: 8px;
  padding: 4px;
  overflow-y: auto;
  overflow-x: hidden;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15), 0 8px 12px 6px rgba(0, 0, 0, 0.075);
  font-family: var(--theme-font-family, "Inter", sans-serif);
}

.qdnapro-time-select-panel::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.qdnapro-time-select-panel::-webkit-scrollbar-track {
  background: transparent;
}

.qdnapro-time-select-panel::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 4px;
}

.qdnapro-time-select-panel:hover::-webkit-scrollbar-thumb,
.qdnapro-time-select-panel:focus-within::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.22);
}

.qdnapro-time-select-panel::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.34);
}

.qdnapro-time-select-panel .ts-panel-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.qdnapro-time-select-option {
  display: flex;
  align-items: center;
  width: 100%;
  border: 0;
  border-radius: 6px;
  padding: 8px 12px;
  background: transparent;
  font: inherit;
  font-size: 14px;
  line-height: 20px;
  font-variant-numeric: tabular-nums;
  color: var(--c-grey-950, #0b0b0d);
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.qdnapro-time-select-option:hover {
  background: var(--c-grey-50, #f0f1f2);
}

.qdnapro-time-select-option:active {
  background: var(--c-grey-100, #e7e9ec);
}

.qdnapro-time-select-option.is-active {
  background: var(--c-grey-50, #f0f1f2);
}

.qdnapro-time-select-option.is-selected {
  background: var(--c-action-500, #4652f3);
  color: #ffffff;
  font-weight: 600;
}

.qdnapro-time-select-option.is-selected:hover {
  background: var(--c-action-600, #3540d6);
}

.qdnapro-time-select-option.is-off-grid::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-purple-500, #40499a);
  margin-left: 8px;
}

.qdnapro-time-select-option.is-off-grid.is-selected::after {
  background: #ffffff;
}

[data-theme=dark] .qdnapro-time-select .ts-label {
  color: var(--c-grey-50, #f0f1f2);
}

[data-theme=dark] .qdnapro-time-select .ts-field {
  background: var(--c-grey-900, #18181c);
  border-color: var(--c-grey-600, #565b66);
}

[data-theme=dark] .qdnapro-time-select .ts-input {
  color: var(--c-grey-50, #f0f1f2);
}

[data-theme=dark] .qdnapro-time-select-panel {
  background: var(--c-grey-900, #18181c);
  border-color: var(--c-grey-600, #565b66);
}

[data-theme=dark] .qdnapro-time-select-option {
  color: var(--c-grey-50, #f0f1f2);
}

[data-theme=dark] .qdnapro-time-select-option:hover,
[data-theme=dark] .qdnapro-time-select-option.is-active {
  background: var(--c-grey-800, #2e3036);
}

qdnapro-event-sheet {
  display: contents;
}

.qdnapro-bottom-sheet[data-es-sheet] .bs-panel {
  background: var(--c-grey-50);
  height: 86%;
}

.qdnapro-bottom-sheet[data-es-sheet] .bs-body {
  overflow: hidden;
}

.qdnapro-event-sheet-body {
  font-family: var(--theme-font-family, "Inter", sans-serif);
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.qdnapro-event-sheet-body .es-pages {
  flex: 1;
  min-height: 0;
}

.qdnapro-event-sheet-body .es-page {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.qdnapro-event-sheet-body .es-page-main {
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.qdnapro-event-sheet-body .es-page-main::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.qdnapro-event-sheet-body .es-sub-head {
  display: flex;
  align-items: center;
  padding: 2px 0;
}

.qdnapro-event-sheet-body .es-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: none;
  background: transparent;
  border-radius: var(--r-row);
  padding: 10px 14px 10px 8px;
  font-family: var(--theme-font-family, "Inter", sans-serif);
  font-size: 16px;
  color: var(--c-purple-700);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.14s ease;
}

.qdnapro-event-sheet-body .es-back:hover {
  background: var(--c-grey-100);
}

.qdnapro-event-sheet-body .es-back:active {
  background: var(--c-grey-200);
}

.qdnapro-event-sheet-body .es-tl-list {
  background: var(--c-bg-card);
  border-radius: var(--r-3);
  padding: 6px;
  flex: 0 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.qdnapro-event-sheet-body .es-tl-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  border: none;
  background: transparent;
  border-radius: var(--r-row);
  padding: 9px 12px;
  font-family: var(--theme-font-family, "Inter", sans-serif);
  font-size: 16px;
  line-height: 1.2;
  text-align: left;
  color: var(--c-purple-700);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.14s ease;
}

.qdnapro-event-sheet-body .es-tl-row:hover {
  background: var(--c-grey-50);
}

.qdnapro-event-sheet-body .es-tl-row:active {
  background: var(--c-grey-100);
}

.qdnapro-event-sheet-body .es-tl-row[hidden] {
  display: none;
}

.qdnapro-event-sheet-body .es-tl-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 12px;
}

.qdnapro-event-sheet-body .es-tl-ico .es-tl-img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  display: block;
}

.qdnapro-event-sheet-body .es-tl-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qdnapro-event-sheet-body .es-tl-check {
  display: none;
  flex-shrink: 0;
  color: var(--c-purple-700);
}

.qdnapro-event-sheet-body .es-tl-row.is-active .es-tl-check {
  display: inline-flex;
}

.qdnapro-event-sheet-body .es-type-empty {
  padding: 12px 16px;
  font-size: 14px;
  color: var(--c-text-muted);
}

.qdnapro-event-sheet-body .es-page-sub .qdnapro-bottom-sheet-button-group {
  background: var(--c-bg-card);
}

.qdnapro-event-sheet-body .es-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 2px 4px;
}

.qdnapro-event-sheet-body .es-card {
  background: var(--c-bg-card);
  border-radius: var(--r-3);
  padding: 6px;
}

.qdnapro-event-sheet-body .es-card > qdnapro-bottom-sheet-button {
  border-radius: var(--r-row);
}

.qdnapro-event-sheet-body .es-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.qdnapro-event-sheet-body .es-panel > .es-panel-inner {
  overflow: hidden;
  min-height: 0;
}

.qdnapro-event-sheet-body .es-panel.is-open {
  grid-template-rows: 1fr;
}

.qdnapro-event-sheet-body .es-panel-inner > qdnapro-month-strip,
.qdnapro-event-sheet-body .es-panel-inner > qdnapro-time-picker {
  margin: 4px 6px 8px;
}

.qdnapro-event-sheet-body [data-es-panel=start-time] .es-panel-inner,
.qdnapro-event-sheet-body [data-es-panel=end-time] .es-panel-inner {
  text-align: center;
}

.qdnapro-event-sheet-body .es-allday-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 12px 7px 16px;
}

.qdnapro-event-sheet-body .es-allday-lead {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  color: var(--c-purple-700);
}

.qdnapro-event-sheet-body .es-divider {
  height: 1px;
  margin: 4px 6px;
  background: var(--c-grey-100);
}

.qdnapro-event-sheet-body .es-dt-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 2px 4px;
}

.qdnapro-event-sheet-body .es-dt-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: none;
  background: transparent;
  border-radius: var(--r-row);
  padding: 10px 12px;
  font-family: var(--theme-font-family, "Inter", sans-serif);
  font-size: 16px;
  line-height: 1.2;
  color: var(--c-purple-700);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.14s ease, color 0.14s ease;
}

.qdnapro-event-sheet-body .es-dt-btn:hover {
  background: var(--c-grey-50);
}

.qdnapro-event-sheet-body .es-dt-btn:active {
  background: var(--c-grey-100);
}

.qdnapro-event-sheet-body .es-dt-btn.is-active {
  background: var(--c-grey-50);
  color: var(--c-purple-500);
}

.qdnapro-event-sheet-body .es-card-when.es-allday-on .es-dt-time {
  display: none;
}

.qdnapro-event-sheet-body .es-card-desc {
  padding: 10px 12px 12px;
}

.qdnapro-event-sheet-body .es-card-title {
  padding: 10px 12px 12px;
}

.qdnapro-event-sheet-body .es-card-delete {
  padding: 8px 12px;
  background: transparent;
  border: 0;
}

.qdnapro-event-sheet-body .es-card-delete > qdnapro-button {
  width: 100%;
}

@keyframes es-wiggle {
  0%, 100% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-6px);
  }
  40% {
    transform: translateX(5px);
  }
  60% {
    transform: translateX(-3px);
  }
  80% {
    transform: translateX(2px);
  }
}
.qdnapro-event-sheet-body .es-wiggle {
  animation: es-wiggle 0.4s ease;
}

/* Recurring personal events (Planner F6 fase 1, 20.07.2026) — the
 * repeat-interval/until fields inside the repeat sub-page, and the
 * edit/delete edit-scope chooser sub-page. Back-ported here (bo2 is the
 * canonical event-sheet source; the PWA copy is generated by
 * sync-v2-components) so a sync no longer wipes the PWA-side rules. */
.qdnapro-event-sheet-body .es-repeat-extra {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.qdnapro-event-sheet-body .es-scope-title {
  padding: 4px 12px 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--c-text-muted);
}

.qdnapro-event-sheet-body .es-scope-confirm-btn {
  width: calc(100% - 24px);
  margin: 4px 12px 0;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-event-sheet-body .es-panel {
    transition: none;
  }
  .qdnapro-event-sheet-body .es-pages,
  .qdnapro-event-sheet-body .es-page-main,
  .qdnapro-event-sheet-body .es-page-sub {
    transition: none;
  }
  .qdnapro-event-sheet-body .es-wiggle {
    animation: none;
  }
}
.qdnapro-favorite-button {
  --c-focus-ring: #40499a;
  --c-focus-glow: rgba(70, 82, 243, 0.25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 32px;
  height: 32px;
  padding: 4px;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: #898e99;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform 200ms cubic-bezier(0.34, 1.56, 0.64, 1), background-color 120ms ease, color 300ms ease-in-out, box-shadow 120ms ease;
}

.qdnapro-favorite-button:hover:not(.favorite-button-disabled) {
  background-color: #f0f1f2;
  color: #0b0b0d;
  transform: scale(1.1);
}

.qdnapro-favorite-button:active:not(.favorite-button-disabled) {
  transform: scale(0.9);
  transition: transform 80ms ease-out, background-color 120ms ease, color 300ms ease-in-out;
}

.qdnapro-favorite-button:focus {
  outline: none;
}

.qdnapro-favorite-button:focus-visible, .qdnapro-favorite-button.force-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--c-focus-ring), 0 0 0 6px var(--c-focus-glow);
}

.qdnapro-favorite-button .favorite-button-icons {
  position: relative;
  display: inline-block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.qdnapro-favorite-button.favorite-button-size-big {
  width: 40px;
  height: 40px;
  border-radius: 8px;
}

.qdnapro-favorite-button.favorite-button-size-big .favorite-button-icons {
  width: 20px;
  height: 20px;
}

.qdnapro-favorite-button .favorite-icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: currentColor;
  pointer-events: none;
  transition: opacity 300ms ease-in-out;
}

.qdnapro-favorite-button .favorite-icon-outline {
  opacity: 1;
}

.qdnapro-favorite-button .favorite-icon-filled {
  opacity: 0;
  fill: #40499a;
}

.qdnapro-favorite-button .favorite-icon-pulse {
  opacity: 0;
  fill: #40499a;
}

.qdnapro-favorite-button.favorite-button-favorited {
  color: #40499a;
}

.qdnapro-favorite-button.favorite-button-favorited .favorite-icon-outline {
  opacity: 0;
}

.qdnapro-favorite-button.favorite-button-favorited .favorite-icon-filled {
  opacity: 1;
}

.qdnapro-favorite-button.favorite-button-pulsing .favorite-icon-pulse {
  animation: qdnapro-favorite-pulse 600ms ease-out;
}

.qdnapro-favorite-button.favorite-button-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* Heart mode (Kim 2026-06-30): red/pink fill, no ripple pulse, and a
   pop animation on the filled heart when favorited. Particles are spawned
   in JS and appended to <body>. */
.qdnapro-favorite-button.favorite-button-mode-heart.favorite-button-favorited {
  color: #ff4d6a;
}

.qdnapro-favorite-button.favorite-button-mode-heart .favorite-icon-filled {
  fill: #ff4d6a;
}

.qdnapro-favorite-button.favorite-button-mode-heart .favorite-icon-pulse {
  display: none;
}

.qdnapro-favorite-button.favorite-button-mode-heart.favorite-button-popping .favorite-icon-filled {
  transform-origin: center;
  animation: qdnapro-heart-pop 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes qdnapro-heart-pop {
  0% {
    transform: scale(1);
  }
  20% {
    transform: scale(0.8);
  }
  50% {
    transform: scale(1.45);
  }
  70% {
    transform: scale(0.95);
  }
  85% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes qdnapro-favorite-pulse {
  0% {
    opacity: 0.5;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(2);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-favorite-button,
  .qdnapro-favorite-button .favorite-icon {
    transition: opacity 120ms ease, color 120ms ease, background-color 120ms ease;
  }
  .qdnapro-favorite-button:hover:not(.favorite-button-disabled),
  .qdnapro-favorite-button:active:not(.favorite-button-disabled) {
    transform: none;
  }
  .qdnapro-favorite-button.favorite-button-pulsing .favorite-icon-pulse {
    animation: none;
  }
  .qdnapro-favorite-button.favorite-button-popping .favorite-icon-filled {
    animation: none;
  }
}
[data-theme=dark] .qdnapro-favorite-button {
  --c-focus-ring: #a5acff;
  --c-focus-glow: rgba(165, 172, 255, 0.40);
  color: #898e99;
}

[data-theme=dark] .qdnapro-favorite-button:hover:not(.favorite-button-disabled) {
  background-color: rgba(255, 255, 255, 0.08);
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-favorite-button.favorite-button-favorited {
  color: #a5acff;
}

[data-theme=dark] .qdnapro-favorite-button.favorite-button-favorited .favorite-icon-filled {
  fill: #a5acff;
}

[data-theme=dark] .qdnapro-favorite-button.favorite-button-favorited .favorite-icon-pulse {
  fill: #a5acff;
}

/* White variant: white star for use over photos / imagery. Placed
   last so it wins over the favorited + dark-theme colour rules. */
.qdnapro-favorite-button.favorite-button-variant-white,
.qdnapro-favorite-button.favorite-button-variant-white.favorite-button-favorited,
.qdnapro-favorite-button.favorite-button-variant-white:hover:not(.favorite-button-disabled) {
  color: #ffffff;
}

.qdnapro-favorite-button.favorite-button-variant-white .favorite-icon-filled,
.qdnapro-favorite-button.favorite-button-variant-white .favorite-icon-pulse {
  fill: #ffffff;
}


/* ============================================================
 *  qdnapro-file-icon — compiled from _file-icon.scss
 * ============================================================ */
.qdnapro-file-icon {
  display: inline-flex;
  flex-shrink: 0;
  user-select: none;
  line-height: 1;
  /* Anchor for the absolutely-positioned fallback badge.
     Without this, the badge escapes to the nearest positioned
     ancestor and renders ABOVE the icon instead of overlaying it.
     [Kim 2026-05-06] */
  position: relative;
}

.qdnapro-file-icon.file-icon-24 {
  width: 24px;
  height: 30px;
}

.qdnapro-file-icon.file-icon-32 {
  width: 32px;
  height: 40px;
}

.qdnapro-file-icon.file-icon-40 {
  width: 40px;
  height: 50px;
}

.qdnapro-file-icon.file-icon-48 {
  width: 48px;
  height: 60px;
}

/* Ext-text fallback badge — HIDDEN by default. The component's JS
   adds `qdnapro-file-icon-no-asset` to the host only when BOTH the
   ext-specific AND the generic SVG fail to load. The display:none
   keeps the badge from bleeding through anti-aliased / transparent
   pixels of a successful SVG load. */
.qdnapro-file-icon .qdnapro-file-icon-badge {
  display: none;
}

.qdnapro-file-icon.qdnapro-file-icon-no-asset .qdnapro-file-icon-badge {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid #c4c7cc;
  border-radius: 3px;
  color: #6b7280;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  z-index: 0;
}

[data-theme=dark] .qdnapro-file-icon.qdnapro-file-icon-no-asset .qdnapro-file-icon-badge {
  background: #2e3036;
  border-color: #565b66;
  color: #a6aab3;
}

/* Dark-mode polish — subtle outer glow on the SVG body so the
   white paper-on-screen icon stays visible against dark canvas. */
[data-theme=dark] .qdnapro-file-icon svg {
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.1));
}

/* ============================================================
 *  qdnapro-folder-icon — compiled from _folder-icon.scss
 * ============================================================ */
.qdnapro-folder-icon {
  display: inline-flex;
  flex-shrink: 0;
  user-select: none;
  line-height: 1;
  /* Anchor for the absolutely-positioned fallback badge. Without this,
     the badge escapes to the nearest positioned ancestor instead of
     overlaying the icon — same reasoning as qdnapro-file-icon. */
  position: relative;
}

/* Ext-text fallback badge — HIDDEN by default. The component's JS adds
   `qdnapro-folder-icon-no-asset` to the host only when BOTH the
   variant-specific AND the "closed" fallback SVG fail to load. */
.qdnapro-folder-icon .qdnapro-folder-icon-badge {
  display: none;
}

.qdnapro-folder-icon.qdnapro-folder-icon-no-asset .qdnapro-folder-icon-badge {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid #c4c7cc;
  border-radius: 3px;
  color: #6b7280;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  z-index: 0;
}

[data-theme=dark] .qdnapro-folder-icon.qdnapro-folder-icon-no-asset .qdnapro-folder-icon-badge {
  background: #2e3036;
  border-color: #565b66;
  color: #a6aab3;
}

.qdnapro-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box; /* keeps the 1px border "inside" (Figma stroke: Inside) */
  gap: 8px;
  padding: 4px;
  border: 1px solid var(--c-purple-50, #e6e9ff);
  border-radius: 24px;
  background: #fff;
  overflow: hidden; /* Figma "Clip content" */
}

/* Hidden when no status is set — collapse out of flow. */
.qdnapro-status-badge[hidden] {
  display: none;
}

/* Icon colours. qdnapro-icon renders MDI SVG with fill: currentColor,
   so setting `color` on the nested element tints the glyph. */
.qdnapro-status-badge .status-badge-heart {
  color: var(--c-favorite-heart, #ff4d6a);
}

.qdnapro-status-badge .status-badge-offline {
  color: var(--c-action-500, #4652f3);
}

.qdnapro-status-badge .status-badge-unread {
  color: var(--c-purple-500, #40499a);
}

/* ------------------------------------------------------------------ */
/* interactive variant (28.07.2026, PWA documents badge-info dialog)  */
/* Opt-in: role="button" + tabindex is set by the JS. Purely visual   */
/* additions here — hover/active feedback + the invisible hit-area.   */
/* WITHOUT [interactive] none of this applies, so the default pill    */
/* stays pixel-for-pixel what it was before this variant existed.     */
/* ------------------------------------------------------------------ */
.qdnapro-status-badge.status-badge-interactive {
  position: relative; /* containing block for the ::after hit-area */
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease, transform 80ms ease-out;
}

.qdnapro-status-badge.status-badge-interactive:hover {
  /* Subtle — reuse the same soft purple wash the rest of the library
     uses for hover-on-white (qdnapro-grid-tile's --qgt-bg-hover token). */
  background: var(--c-bg-card-hover, #f7f8fa);
  border-color: var(--c-purple-100, #c0c5ff);
}

.qdnapro-status-badge.status-badge-interactive:active {
  transform: scale(0.94);
  transition: transform 70ms ease-out;
}

.qdnapro-status-badge.status-badge-interactive:focus {
  outline: none;
}

.qdnapro-status-badge.status-badge-interactive:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--focus-ring), 0 0 0 6px var(--focus-glow);
}

/* Invisible hit-area, NOT a bigger pill. The pill itself keeps the Figma
   size (28px tall at size="small") because it sits right next to other
   controls — a 3-dot menu button in a list row, or the corner of a grid
   tile — and a large hit-area would eat into those neighbours. A flat
   6px-per-side inset lands size="small" (28px tall) on a ~40px tappable
   square (the minimum touch target) without reaching far enough to
   overlap anything beside it; size="large" (32/36px tall) clears 40px
   with the same 6px, kept for one consistent rule. */
.qdnapro-status-badge.status-badge-interactive::after {
  content: "";
  position: absolute;
  inset: -6px;
}

.qdnapro-file-upload {
  display: block;
}

.qdnapro-file-upload__note {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  padding: 10px 12px;
  margin-bottom: 16px;
  background: var(--c-bg-subtle-purple);
  border: 1px solid var(--c-purple-soft-12);
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--c-brand-purple);
}
.qdnapro-file-upload__note[hidden] {
  display: none;
}

.qdnapro-file-upload__note-icon {
  flex-shrink: 0;
  margin-top: 1px;
  color: var(--c-brand-purple);
}

.qdnapro-file-upload__note-text strong {
  color: var(--c-brand-purple);
}

.qdnapro-file-upload__zone {
  --fu-c-border: #40499a;
  --fu-c-bg-tint: rgba(70, 82, 243, 0.08);
  --fu-c-reject: #c65a5a;
  --fu-c-reject-tint: rgba(198, 90, 90, 0.10);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 28px 16px;
  border: 2px dashed #c9ccdd;
  border-radius: 14px;
  background: #fafbff;
  text-align: center;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease;
}
.qdnapro-file-upload__zone:hover, .qdnapro-file-upload__zone:focus-visible {
  border-color: #8a8fd6;
  background: var(--c-bg-subtle-purple);
  outline: none;
}
.qdnapro-file-upload__zone.is-dragover {
  border-color: transparent;
  background: radial-gradient(ellipse at top left, var(--fu-c-bg-tint), transparent 55%), radial-gradient(ellipse at bottom right, var(--fu-c-bg-tint), transparent 55%);
  --fu-march-color: var(--fu-c-border);
}
.qdnapro-file-upload__zone.is-dragover.is-reject {
  background: radial-gradient(ellipse at top left, var(--fu-c-reject-tint), transparent 55%), radial-gradient(ellipse at bottom right, var(--fu-c-reject-tint), transparent 55%);
  --fu-march-color: var(--fu-c-reject);
}

.qdnapro-file-upload__zone-icon {
  color: #8b90c4;
  line-height: 0;
}

.qdnapro-file-upload__ants {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: transparent;
  pointer-events: none;
}

.qdnapro-file-upload__ants-rect {
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  animation: qdna-fu-march 1.6s linear infinite;
}

.qdnapro-file-upload__zone.is-dragover .qdnapro-file-upload__ants {
  color: var(--fu-march-color);
}

@keyframes qdna-fu-march {
  to {
    stroke-dashoffset: -12;
  }
}
.qdnapro-file-upload__title {
  margin: 4px 0 0;
  font-size: 14px;
  font-weight: 600;
  color: #2f3550;
}

.qdnapro-file-upload__or {
  margin: 0;
  font-size: 12px;
  color: #9aa0b4;
}

.qdnapro-file-upload__hint {
  margin: 6px 0 0;
  font-size: 12px;
  color: #9aa0b4;
}

.qdnapro-file-upload__pick {
  flex: 0 0 auto;
}

.qdnapro-file-upload__chosen {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  padding: 10px 12px;
  border: 1px solid var(--c-border-soft-2);
  border-radius: 10px;
  background: #fff;
}
.qdnapro-file-upload__chosen[hidden] {
  display: none;
}

.qdnapro-file-upload__file-icon {
  flex-shrink: 0;
  color: var(--c-brand-purple);
  line-height: 0;
}

.qdnapro-file-upload__file-name {
  flex: 1 1 auto;
  font-size: 13px;
  color: #2f3550;
  word-break: break-all;
}

.qdnapro-file-upload__remove {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: #9aa0b4;
  cursor: pointer;
  transition: background 120ms ease, color 120ms ease;
}
.qdnapro-file-upload__remove:hover {
  background: #f1f1f6;
  color: #c33a30;
}

.qdnapro-file-upload__error {
  margin: 12px 0 0;
  padding: 9px 12px;
  background: #fdecea;
  border: 1px solid #f3c4be;
  border-radius: 10px;
  font-size: 13px;
  color: #b3261e;
}
.qdnapro-file-upload__error[hidden] {
  display: none;
}

.qdnapro-file-upload.is-disabled {
  opacity: 0.6;
  pointer-events: none;
}

[data-theme=dark] .qdnapro-file-upload__zone {
  --fu-c-border: #a5acff;
  --fu-c-bg-tint: rgba(165, 172, 255, 0.10);
  --fu-c-reject: #fbaaaa;
  --fu-c-reject-tint: rgba(251, 170, 170, 0.10);
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-file-upload__ants-rect {
    animation: none;
  }
}
.qdnapro-filter-sheet-body {
  display: flex;
  flex-direction: column;
  gap: var(--s-6);
}

.qdnapro-filter-sheet-body .fs-section {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.qdnapro-filter-sheet-body .fs-section-title {
  font-size: 12px;
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--c-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0 var(--s-1);
}

.fs-section-note {
  margin: 2px 0 8px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--c-text-muted, #6e7280);
}

.qdnapro-filter-sheet-body .fs-footer {
  position: sticky;
  bottom: 0;
  z-index: 1;
  padding: var(--s-4) 0;
  background: var(--c-bg-card, #ffffff);
  border-top: 1px solid var(--c-border-soft-2, #e6e9ef);
}

.qdnapro-filter-sheet-body .fs-footer qdnapro-button {
  width: 100%;
}

.qdnapro-popover[data-fs-pop] {
  width: 340px;
  max-width: 92vw;
}

.qdnapro-popover[data-fs-pop] .qdnapro-filter-sheet-body {
  max-height: 72vh;
  overflow-y: auto;
}

.qdnapro-context-menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1002;
  display: none;
  box-sizing: border-box;
}

.qdnapro-context-menu.is-open {
  display: block;
}

.qdnapro-form-card {
  --form-card-header-bg: var(--theme-btn-color, var(--c-sidebar-bg, #3a4290));
  --form-card-header-text: #ffffff;
  --form-card-subtitle: rgba(255, 255, 255, 0.75);
  --form-card-body-bg: var(--c-bg-card, #ffffff);
  --form-card-border: var(--c-border-card, #e1e3e6);
  --form-card-radius: var(--r-card, 16px);
  --form-card-max-height: none;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: var(--form-card-radius);
  background: var(--form-card-body-bg);
  box-shadow: var(--shadow-card, 0 1px 2px rgba(20, 25, 80, 0.04), 0 4px 16px rgba(20, 25, 80, 0.08));
  font-family: var(--theme-font-family, "Inter", sans-serif);
}

.qdnapro-form-card__header {
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-sizing: border-box;
  padding: 20px 20px 18px;
  background: var(--form-card-header-bg);
  color: var(--form-card-header-text);
}

.qdnapro-form-card--celebratory .qdnapro-form-card__header {
  padding: 32px 24px 26px;
  align-items: center;
  text-align: center;
}

.qdnapro-form-card__image {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  line-height: 0;
  margin-bottom: 4px;
}

.qdnapro-form-card__image[hidden] {
  display: none;
}

.qdnapro-form-card__image-img {
  display: block;
  width: 100%;
  max-height: 160px;
  object-fit: cover;
}

.qdnapro-form-card__title {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--form-card-header-text);
  overflow-wrap: anywhere;
}

.qdnapro-form-card--celebratory .qdnapro-form-card__title {
  font-size: 22px;
}

.qdnapro-form-card__subtitle {
  font-size: 13px;
  line-height: 1.4;
  color: var(--form-card-subtitle);
  overflow-wrap: anywhere;
}

.qdnapro-form-card__subtitle[hidden] {
  display: none;
}

.qdnapro-form-card__progress {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 2px;
}

.qdnapro-form-card__progress[hidden] {
  display: none;
}

.qdnapro-form-card__progress-pill {
  flex: 0 0 auto;
  padding: 2px 9px;
  border-radius: var(--r-pill, 999px);
  background: rgba(255, 255, 255, 0.18);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--form-card-header-text);
}

.qdnapro-form-card__progress-track {
  flex: 1 1 auto;
  height: 4px;
  border-radius: var(--r-pill, 999px);
  background: rgba(255, 255, 255, 0.2);
  overflow: hidden;
}

.qdnapro-form-card__progress-fill {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: var(--r-pill, 999px);
  background: #ffffff;
  transition: width 220ms ease;
}

.qdnapro-form-card__body {
  flex: 1 1 auto;
  box-sizing: border-box;
  min-width: 0;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-height: var(--form-card-max-height);
  overflow-y: auto;
}

.qdnapro-form-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-sizing: border-box;
  padding: 14px 20px 18px;
  border-top: 1px solid var(--form-card-border);
}

.qdnapro-form-card__footer[hidden] {
  display: none;
}

.qdnapro-form-card__footer [data-fc=prev][hidden] ~ [data-fc=next] {
  margin-left: auto;
}

.qdnapro-form-card__footer qdnapro-button {
  flex: 0 0 auto;
}

.qdnapro-form-card__footer qdnapro-button[hidden] {
  display: none;
}

qdnapro-format-rules {
  display: none;
}
qdnapro-format-rules[open] {
  display: block;
}
qdnapro-format-rules .qfr-scrim {
  position: fixed;
  inset: 0;
  z-index: 9400;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(20, 22, 40, 0.45);
}
qdnapro-format-rules .qfr-dialog {
  box-sizing: border-box;
  width: 100%;
  max-width: 820px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  min-height: 0;
  gap: 14px;
  padding: 20px 24px;
  background: var(--c-bg-card, #fff);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(20, 22, 40, 0.28);
}
qdnapro-format-rules .qfr-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
qdnapro-format-rules .qfr-head-icon {
  display: inline-flex;
  margin-top: 1px;
  color: var(--c-brand-purple, #40499a);
}
qdnapro-format-rules .qfr-head-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
}
qdnapro-format-rules .qfr-title {
  font-size: 17px;
  font-weight: 650;
  color: var(--c-text-heading, #1a1f4d);
}
qdnapro-format-rules .qfr-subtitle {
  font-size: 12.5px;
  color: var(--c-text-muted, #6e7280);
}
qdnapro-format-rules .qfr-subtitle:empty {
  display: none;
}
qdnapro-format-rules .qfr-close {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 2px;
  color: var(--c-text-muted, #6e7280);
  border-radius: 6px;
}
qdnapro-format-rules .qfr-close:hover {
  background: var(--c-bg-subtle-hover, #f0f1f2);
}
qdnapro-format-rules .qfr-close:focus-visible {
  outline: 2px solid var(--focus-ring, #40499a);
  outline-offset: 1px;
}
qdnapro-format-rules .qfr-firstmatch {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 0;
  padding: 9px 11px;
  border-radius: 8px;
  background: var(--c-bg-subtle-purple, #f3f5ff);
  font-size: 12.5px;
  color: var(--c-text-body, #24262c);
}
qdnapro-format-rules .qfr-firstmatch qdnapro-icon {
  flex: 0 0 auto;
  color: var(--c-brand-purple, #40499a);
  margin-top: 1px;
}
qdnapro-format-rules .qfr-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
  min-height: 0;
  padding: 2px;
}
qdnapro-format-rules .qfr-empty {
  margin: 0;
  padding: 14px 2px;
  font-size: 12.5px;
  color: var(--c-text-muted, #6e7280);
}
qdnapro-format-rules .qfr-rule {
  border: 1px solid var(--c-purple-300, #8a92d0);
  border-radius: 8px;
  background: var(--c-bg-subtle-purple, #f3f5ff);
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
qdnapro-format-rules .qfr-rule-fout {
  border-color: var(--c-tag-critical-text, #c33a30);
}
qdnapro-format-rules .qfr-cond {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
qdnapro-format-rules .qfr-nr {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 650;
  color: var(--c-text-muted, #6e7280);
  background: var(--c-bg-card, #fff);
  border: 1px solid var(--c-border-tree, #d4d8ec);
  border-radius: 10px;
  padding: 1px 7px;
}
qdnapro-format-rules .qfr-op {
  flex: 0 0 168px;
}
qdnapro-format-rules .qfr-num {
  flex: 0 0 96px;
}
qdnapro-format-rules .qfr-and {
  font-size: 12.5px;
  color: var(--c-text-muted, #6e7280);
}
qdnapro-format-rules .qfr-del {
  margin-left: auto;
  flex: 0 0 auto;
}
qdnapro-format-rules .qfr-fmt {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
qdnapro-format-rules .qfr-flag {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  cursor: pointer;
  white-space: nowrap;
}
qdnapro-format-rules .qfr-color {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
qdnapro-format-rules .qfr-swatch {
  position: relative;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 8px;
  cursor: pointer;
  outline: 2px solid rgba(64, 73, 154, 0.18);
  outline-offset: 1px;
  transition: outline-color 150ms;
}
qdnapro-format-rules .qfr-swatch:hover {
  outline-color: var(--c-brand-purple, #40499a);
}
qdnapro-format-rules .qfr-swatch-leeg {
  background-image: linear-gradient(to top right, transparent calc(50% - 1px), var(--c-grey-300, #c4c7cc) 50%, transparent calc(50% + 1px));
  background-color: var(--c-bg-card, #fff);
}
qdnapro-format-rules .qfr-swatch-input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
qdnapro-format-rules .qfr-clear {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 15px;
  line-height: 1;
  padding: 2px 3px;
  border-radius: 4px;
  color: var(--c-text-muted, #6e7280);
}
qdnapro-format-rules .qfr-clear:hover {
  background: var(--c-bg-subtle-hover, #f0f1f2);
  color: var(--c-text-body, #24262c);
}
qdnapro-format-rules .qfr-clear:focus-visible {
  outline: 2px solid var(--focus-ring, #40499a);
  outline-offset: 1px;
}
qdnapro-format-rules .qfr-preview {
  margin-left: auto;
  min-width: 84px;
  text-align: right;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid var(--c-border-tree, #d4d8ec);
  background: var(--c-bg-card, #fff);
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  color: var(--c-text-body, #24262c);
}
qdnapro-format-rules .qfr-contrast {
  margin: 0;
  font-size: 12px;
  color: var(--c-tag-warning-text, #a06400);
}
qdnapro-format-rules .qfr-contrast[hidden] {
  display: none;
}
qdnapro-format-rules .qfr-addbar {
  display: flex;
  align-items: center;
  gap: 10px;
}
qdnapro-format-rules .qfr-max {
  font-size: 12px;
  color: var(--c-text-muted, #6e7280);
}
qdnapro-format-rules .qfr-foot {
  display: flex;
  align-items: center;
  gap: 10px;
}
qdnapro-format-rules .qfr-foot-spacer {
  flex: 1 1 auto;
}
qdnapro-format-rules .qfr-status {
  font-size: 12.5px;
  min-height: 1.2em;
}
qdnapro-format-rules .qfr-status-fout {
  color: var(--c-tag-critical-text, #c33a30);
}
qdnapro-format-rules .qfr-list::-webkit-scrollbar {
  width: 6px;
}
qdnapro-format-rules .qfr-list::-webkit-scrollbar-track {
  background: transparent;
}
qdnapro-format-rules .qfr-list::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.18);
  border-radius: 3px;
}
qdnapro-format-rules .qfr-list {
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.18) transparent;
}
@media (max-width: 720px) {
  qdnapro-format-rules .qfr-op, qdnapro-format-rules .qfr-num {
    flex: 1 1 100px;
  }
  qdnapro-format-rules .qfr-preview {
    margin-left: 0;
  }
}

qdnapro-formula-editor {
  display: none;
}
qdnapro-formula-editor[open] {
  display: block;
}
qdnapro-formula-editor .qfe-scrim {
  position: fixed;
  inset: 0;
  z-index: 9400;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(20, 22, 40, 0.45);
}
qdnapro-formula-editor .qfe-dialog {
  box-sizing: border-box;
  width: 100%;
  max-width: 880px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  min-height: 0;
  gap: 16px;
  padding: 20px 24px;
  background: var(--c-bg-card, #fff);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(20, 22, 40, 0.28);
}
qdnapro-formula-editor .qfe-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
qdnapro-formula-editor .qfe-head-icon {
  display: inline-flex;
  margin-top: 1px;
  color: var(--c-brand-purple, #40499a);
}
qdnapro-formula-editor .qfe-head-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
}
qdnapro-formula-editor .qfe-title {
  font-size: 17px;
  font-weight: 650;
  color: var(--c-text-heading, #1a1f4d);
}
qdnapro-formula-editor .qfe-subtitle {
  font-size: 12.5px;
  color: var(--c-text-muted, #6e7280);
}
qdnapro-formula-editor .qfe-subtitle:empty {
  display: none;
}
qdnapro-formula-editor .qfe-close {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 2px;
  color: var(--c-text-muted, #6e7280);
  border-radius: 6px;
}
qdnapro-formula-editor .qfe-close:hover {
  background: var(--c-bg-subtle-hover, #f0f1f2);
}
qdnapro-formula-editor .qfe-close:focus-visible {
  outline: 2px solid var(--focus-ring, #40499a);
  outline-offset: 1px;
}
qdnapro-formula-editor .qfe-cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px minmax(0, 1.1fr);
  gap: 14px;
  align-items: start;
  min-height: 0;
}
qdnapro-formula-editor .qfe-col {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
qdnapro-formula-editor .qfe-col-label {
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--c-text-muted, #6e7280);
}
qdnapro-formula-editor .qfe-list {
  border: 1px solid var(--c-border-tree, #d4d8ec);
  border-radius: 10px;
  background: var(--c-bg-card, #fff);
  padding: 4px;
  max-height: 232px;
  overflow-y: auto;
  min-height: 0;
}
qdnapro-formula-editor .qfe-group {
  padding: 8px 10px 3px;
  font-size: 10.5px;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-text-muted, #6e7280);
}
qdnapro-formula-editor .qfe-group-fail {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 12.5px;
  padding: 10px;
}
qdnapro-formula-editor .qfe-item .menu-item-label {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 12.5px;
  color: var(--c-brand-purple, #40499a);
}
qdnapro-formula-editor .qfe-ops {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
qdnapro-formula-editor .qfe-ops qdnapro-button {
  width: 100%;
}
qdnapro-formula-editor .qfe-fieldwrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
qdnapro-formula-editor .qfe-field {
  box-sizing: border-box;
  width: 100%;
  min-height: 84px;
  resize: vertical;
  padding: 12px 14px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-text-body, #24262c);
  background: var(--c-bg-card, #fff);
  border: 1.5px solid var(--c-brand-purple, #40499a);
  border-radius: 10px;
}
qdnapro-formula-editor .qfe-field:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--c-bg-secondary-purple, #e6e9ff);
}
qdnapro-formula-editor .qfe-field::selection {
  background: var(--c-brand-purple, #40499a);
  color: #fff;
}
qdnapro-formula-editor .qfe-hint {
  margin: 0;
  font-size: 12.5px;
  color: var(--c-text-muted, #6e7280);
}
qdnapro-formula-editor .qfe-status {
  margin: 0;
  min-height: 1.2em;
  font-size: 12.5px;
}
qdnapro-formula-editor .qfe-status-goed {
  color: var(--c-tag-new-text, #1f7a48);
}
qdnapro-formula-editor .qfe-status-fout {
  color: var(--c-tag-critical-text, #c33a30);
}
qdnapro-formula-editor .qfe-status-waarschuwing {
  color: var(--c-tag-warning-text, #a06400);
}
qdnapro-formula-editor .qfe-foot {
  display: flex;
  align-items: center;
  gap: 10px;
}
qdnapro-formula-editor .qfe-foot-spacer {
  flex: 1 1 auto;
}
qdnapro-formula-editor .qfe-list::-webkit-scrollbar {
  width: 6px;
}
qdnapro-formula-editor .qfe-list::-webkit-scrollbar-track {
  background: transparent;
}
qdnapro-formula-editor .qfe-list::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.18);
  border-radius: 3px;
}
qdnapro-formula-editor .qfe-list {
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.18) transparent;
}
@media (max-width: 720px) {
  qdnapro-formula-editor .qfe-cols {
    grid-template-columns: 1fr;
  }
  qdnapro-formula-editor .qfe-ops {
    grid-template-columns: repeat(4, 1fr);
  }
  qdnapro-formula-editor .qfe-list {
    max-height: 168px;
  }
}

.qdnapro-grid-tile {
  --qgt-bg: var(--c-bg-card, #ffffff);
  --qgt-bg-hover: var(--c-bg-card-hover, #f7f8fa);
  --qgt-bg-pressed: var(--c-purple-soft-12, rgba(64, 73, 154, 0.12));
  --qgt-title-color: var(--c-text-heading, #1a1f4d);
  --qgt-meta-color: var(--c-text-muted, #6e7280);
  --qgt-focus-ring: var(--c-brand-purple, #40499a);
  --qgt-focus-glow: var(--c-purple-soft-18, rgba(64, 73, 154, 0.18));
  --qgt-selected-ring: var(--c-brand-purple, #40499a);
  --qgt-selected-glow: var(--c-action-18, rgba(70, 82, 243, 0.18));
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  position: relative;
  background: var(--qgt-bg);
  border-radius: var(--r-3, 12px);
  padding: 10px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  font-family: var(--ff, "Inter", system-ui, -apple-system, sans-serif);
  color: var(--qgt-title-color);
  transition: box-shadow 150ms ease, transform 150ms ease, background-color 100ms ease-out;
}
.qdnapro-grid-tile:hover:not(.qgt-disabled) {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.07), 0 1px 3px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}
.qdnapro-grid-tile.is-pressed:not(.qgt-disabled) {
  background: var(--qgt-bg-pressed);
  transform: scale(0.96);
  transition: transform 70ms ease-out;
}
.qdnapro-grid-tile:focus {
  outline: none;
}
.qdnapro-grid-tile:focus-visible, .qdnapro-grid-tile.force-focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--qgt-focus-ring), inset 0 0 0 5px var(--qgt-focus-glow);
}
.qdnapro-grid-tile.qgt-selected {
  box-shadow: 0 0 0 3px var(--qgt-selected-glow);
  background: var(--c-bg-subtle-purple, #f3f5ff);
}
.qdnapro-grid-tile.qgt-selected .qgt-title {
  color: var(--qgt-selected-ring);
}
.qdnapro-grid-tile.qgt-selected:hover:not(.qgt-disabled) {
  box-shadow: 0 0 0 3px var(--qgt-selected-glow), 0 4px 10px rgba(0, 0, 0, 0.07);
}
.qdnapro-grid-tile.qgt-disabled {
  opacity: 0.5;
  cursor: default;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-grid-tile {
    transition: none;
  }
  .qdnapro-grid-tile:hover:not(.qgt-disabled) {
    transform: none;
  }
  .qdnapro-grid-tile.is-pressed:not(.qgt-disabled) {
    transform: none;
    transition: none;
  }
}
.qdnapro-grid-tile.force-hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.07), 0 1px 3px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}
.qdnapro-grid-tile.force-pressed {
  background: var(--qgt-bg-pressed);
  transform: scale(0.96);
}

.qdnapro-grid-tile.qgt-size-s {
  width: 96px;
}
.qdnapro-grid-tile.qgt-size-s .qgt-artwork {
  width: 60px;
  height: 60px;
}
.qdnapro-grid-tile.qgt-size-s .qgt-artwork-icon {
  width: 30px;
  height: 30px;
}
.qdnapro-grid-tile.qgt-size-s .qgt-title {
  font-size: 12px;
}
.qdnapro-grid-tile.qgt-size-s .qgt-meta {
  font-size: 10px;
}

.qdnapro-grid-tile.qgt-size-m {
  width: 120px;
}
.qdnapro-grid-tile.qgt-size-m .qgt-artwork {
  width: 76px;
  height: 76px;
}
.qdnapro-grid-tile.qgt-size-m .qgt-artwork-icon {
  width: 38px;
  height: 38px;
}
.qdnapro-grid-tile.qgt-size-m .qgt-title {
  font-size: 13px;
}
.qdnapro-grid-tile.qgt-size-m .qgt-meta {
  font-size: 11px;
}

.qdnapro-grid-tile.qgt-size-l {
  width: 148px;
}
.qdnapro-grid-tile.qgt-size-l .qgt-artwork {
  width: 92px;
  height: 92px;
}
.qdnapro-grid-tile.qgt-size-l .qgt-artwork-icon {
  width: 46px;
  height: 46px;
}
.qdnapro-grid-tile.qgt-size-l .qgt-title {
  font-size: 14px;
}
.qdnapro-grid-tile.qgt-size-l .qgt-meta {
  font-size: 12px;
}

.qgt-artwork {
  position: relative;
  flex: 0 0 auto;
  border-radius: var(--r-3, 12px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--qgt-artwork-bg, var(--c-purple-soft-12, rgba(64, 73, 154, 0.12)));
  color: var(--qgt-artwork-fg, var(--c-brand-purple, #40499a));
  overflow: hidden;
}

.qgt-artwork-activity {
  display: flex;
  align-items: center;
  justify-content: center;
}

.qgt-artwork-activity img,
.qgt-artwork-activity .activity-icon-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.qgt-tint-purple {
  --qgt-artwork-bg: #ebe9fb;
  --qgt-artwork-fg: var(--c-brand-purple, #40499a);
}

.qgt-tint-grey {
  --qgt-artwork-bg: #eef0f2;
  --qgt-artwork-fg: var(--c-grey-600, #565b66);
}

.qgt-tint-red {
  --qgt-artwork-bg: #fde7e7;
  --qgt-artwork-fg: var(--c-signal-red-text, #c65a5a);
}

.qgt-tint-yellow {
  --qgt-artwork-bg: #fdf3d6;
  --qgt-artwork-fg: var(--c-signal-yellow-text, #bf7202);
}

.qgt-tint-green {
  --qgt-artwork-bg: #e2faf1;
  --qgt-artwork-fg: var(--c-signal-green-text, #428b6e);
}

.qgt-tint-blue {
  --qgt-artwork-bg: #e6eff9;
  --qgt-artwork-fg: var(--c-signal-blue-text, #6a8ab4);
}

.qgt-tint-bright-blue {
  --qgt-artwork-bg: #d6e0f9;
  --qgt-artwork-fg: #3a5eae;
}

.qgt-tint-pink {
  --qgt-artwork-bg: #f6e1e8;
  --qgt-artwork-fg: var(--c-signal-pink-text, #b25777);
}

[data-theme=dark] .qgt-tint-purple {
  --qgt-artwork-bg: #3a3555;
  --qgt-artwork-fg: var(--c-purple-200, #a5acff);
}

[data-theme=dark] .qgt-tint-grey {
  --qgt-artwork-bg: #40444d;
  --qgt-artwork-fg: var(--c-grey-300, #c4c7cc);
}

[data-theme=dark] .qgt-tint-red {
  --qgt-artwork-bg: #5a2b2b;
  --qgt-artwork-fg: var(--c-warn-red-400, #f87171);
}

[data-theme=dark] .qgt-tint-yellow {
  --qgt-artwork-bg: #5a4d1f;
  --qgt-artwork-fg: var(--c-warn-yellow-500, #fbbf24);
}

[data-theme=dark] .qgt-tint-green {
  --qgt-artwork-bg: #2a5544;
  --qgt-artwork-fg: #7fe0bc;
}

[data-theme=dark] .qgt-tint-blue {
  --qgt-artwork-bg: #2e3e54;
  --qgt-artwork-fg: #8fb4e0;
}

[data-theme=dark] .qgt-tint-bright-blue {
  --qgt-artwork-bg: #3a4a8a;
  --qgt-artwork-fg: #b9c8f5;
}

[data-theme=dark] .qgt-tint-pink {
  --qgt-artwork-bg: #4e2a36;
  --qgt-artwork-fg: #e4a0b8;
}

.qgt-slot-wrap {
  display: contents;
}

.qgt-badge {
  position: absolute;
  top: 0;
  right: -8px;
  transform: translateY(-30%);
  z-index: 2;
}
.qgt-badge:empty {
  display: none;
}

.qgt-body {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  margin-top: 8px;
  text-align: center;
}

.qgt-title {
  font-weight: 500;
  line-height: 1.3;
  color: var(--qgt-title-color);
  width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

.qgt-meta {
  font-weight: 400;
  line-height: 1.3;
  color: var(--qgt-meta-color);
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qdna-icon-field {
  display: flex;
  align-items: center;
  gap: 24px;
}
.qdna-icon-field__preview-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  max-width: 120px;
}
.qdna-icon-field__preview {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--c-grey-50, #f0f1f2);
}
.qdna-icon-field__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.qdna-icon-field__sub {
  color: var(--c-grey-500, #6b7280);
}
.qdna-icon-field__btn {
  align-self: flex-start;
}

.qdnapro-history-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px;
  border-radius: 8px;
  background: #ffffff;
  color: #0b0b0d;
  box-sizing: border-box;
  cursor: pointer;
  user-select: none;
  border: 0.5px solid transparent;
  transition: background-color 120ms ease;
}

.qdnapro-history-item:focus {
  outline: none;
}

.qdnapro-history-item:focus-visible, .qdnapro-history-item.force-focus {
  outline: 2px solid #40499a;
  outline-offset: -2px;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.25);
}

.qdnapro-history-item .history-item-row {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
}

.qdnapro-history-item .history-item-row-top {
  gap: 4px;
}

.qdnapro-history-item .history-item-row-bottom {
  gap: 8px;
}

.qdnapro-history-item .history-item-subject {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
}

.qdnapro-history-item .history-item-preview {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
}

.qdnapro-history-item .history-item-time {
  flex-shrink: 0;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  white-space: nowrap;
}

.qdnapro-history-item .history-item-actions {
  display: flex;
  gap: 0;
  flex-shrink: 0;
}

.qdnapro-history-item .history-item-actions > .qdnapro-icon-btn {
  width: 0;
  min-width: 0;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition: max-width 200ms cubic-bezier(0.4, 0, 0.2, 1), width 200ms cubic-bezier(0.4, 0, 0.2, 1), min-width 200ms cubic-bezier(0.4, 0, 0.2, 1), margin-left 200ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms ease, background-color 120ms ease-out;
}

.qdnapro-history-item .history-item-actions > .history-item-more-btn {
  margin-left: 0;
}

.qdnapro-history-item:hover .history-item-actions > .qdnapro-icon-btn, .qdnapro-history-item:focus-within .history-item-actions > .qdnapro-icon-btn, .qdnapro-history-item.force-hover .history-item-actions > .qdnapro-icon-btn {
  width: 24px;
  min-width: 24px;
  max-width: 24px;
  opacity: 1;
  pointer-events: auto;
}

.qdnapro-history-item:hover .history-item-actions > .history-item-more-btn, .qdnapro-history-item:focus-within .history-item-actions > .history-item-more-btn, .qdnapro-history-item.force-hover .history-item-actions > .history-item-more-btn {
  margin-left: 4px;
}

.qdnapro-history-item .qdnapro-icon-btn.icon-btn-subtle:hover:not(.icon-btn-disabled) {
  background-color: #c4c7cc;
}

.qdnapro-history-item .qdnapro-icon-btn.icon-btn-subtle:active:not(.icon-btn-disabled) {
  background-color: #a7abb2;
}

.qdnapro-history-item:not(.history-item-disabled):hover {
  background: #f0f1f2;
}

.qdnapro-history-item:not(.history-item-disabled):active {
  background: #e4e6e8;
}

.qdnapro-history-item.force-hover:not(.history-item-disabled) {
  background: #f0f1f2;
}

.qdnapro-history-item.force-pressed:not(.history-item-disabled) {
  background: #e4e6e8;
}

.qdnapro-history-item.history-item-pinned .history-item-actions > .history-item-pin-btn {
  width: 24px;
  min-width: 24px;
  max-width: 24px;
  opacity: 1;
  pointer-events: auto;
}

.qdnapro-history-item.history-item-disabled, .qdnapro-history-item.history-item-disabled:hover, .qdnapro-history-item.history-item-disabled:active {
  color: #898e99;
  background: transparent;
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-history-item.history-item-disabled:focus-visible, .qdnapro-history-item.history-item-disabled.force-focus {
  outline: none;
  box-shadow: none;
}

[data-theme=dark] .qdnapro-history-item {
  background: #1f2024;
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-history-item:not(.history-item-disabled):hover, [data-theme=dark] .qdnapro-history-item.force-hover:not(.history-item-disabled) {
  background: #2a2c33;
}

[data-theme=dark] .qdnapro-history-item:not(.history-item-disabled):active, [data-theme=dark] .qdnapro-history-item.force-pressed:not(.history-item-disabled) {
  background: #353841;
}

[data-theme=dark] .qdnapro-history-item .qdnapro-icon-btn.icon-btn-subtle:hover:not(.icon-btn-disabled) {
  background-color: #565b66;
}

[data-theme=dark] .qdnapro-history-item .qdnapro-icon-btn.icon-btn-subtle:active:not(.icon-btn-disabled) {
  background-color: #6b7280;
}

[data-theme=dark] .qdnapro-history-item.history-item-disabled, [data-theme=dark] .qdnapro-history-item.history-item-disabled:hover, [data-theme=dark] .qdnapro-history-item.history-item-disabled:active {
  color: #6b7280;
  background: transparent;
}

.qdnapro-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1;
  width: 1em;
  height: 1em;
}

.qdnapro-icon > svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}

.qdnapro-icon.icon-16 {
  width: 16px;
  height: 16px;
}

.qdnapro-icon.icon-20 {
  width: 20px;
  height: 20px;
}

.qdnapro-icon.icon-24 {
  width: 24px;
  height: 24px;
}

/* qdnapro-icon-btn compiled CSS -- generated from _icon-btn.scss 2026-05-13-danger */
.qdnapro-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  min-width: 24px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  --ib-focus-ring: #40499a;
  --ib-focus-glow: rgba(70, 82, 243, 0.25);
  cursor: pointer;
  user-select: none;
  transition: background-color 120ms ease-out, color 120ms ease-out;
}

.qdnapro-icon-btn qdnapro-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
}

.qdnapro-icon-btn.icon-btn-size-big {
  width: 28px;
  height: 28px;
  min-width: 28px;
}

.qdnapro-icon-btn.icon-btn-size-big qdnapro-icon {
  width: 20px;
  height: 20px;
}

.qdnapro-icon-btn:focus {
  outline: none;
}

.qdnapro-icon-btn:focus-visible, .qdnapro-icon-btn.force-focus {
  outline: 2px solid var(--ib-focus-ring);
  outline-offset: var(--ib-focus-offset, -2px);
  box-shadow: 0 0 0 4px var(--ib-focus-glow);
}

.qdnapro-icon-btn.icon-btn-disabled:focus-visible, .qdnapro-icon-btn.icon-btn-disabled.force-focus {
  outline: none;
  box-shadow: none;
}

.qdnapro-icon-btn:active:not(.icon-btn-disabled) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15));
}

/* TYPE: primary-purple */
.qdnapro-icon-btn.icon-btn-primary-purple {
  background-color: #40499a;
  color: #ffffff;
  --ib-focus-ring: #252b5e;
  --ib-focus-glow: rgba(70, 82, 243, 0.40);
}

.qdnapro-icon-btn.icon-btn-primary-purple:focus-visible, .qdnapro-icon-btn.icon-btn-primary-purple.force-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--ib-focus-ring), 0 0 0 6px var(--ib-focus-glow);
}

.qdnapro-icon-btn.icon-btn-primary-purple:hover:not(.icon-btn-disabled) {
  background-color: #333a7b;
}

/* TYPE: secondary */
.qdnapro-icon-btn.icon-btn-secondary {
  background-color: #f0f1f2;
  color: #0b0b0d;
}

.qdnapro-icon-btn.icon-btn-secondary:hover:not(.icon-btn-disabled) {
  background-color: #c4c7cc;
}

/* TYPE: dropdown-search */
.qdnapro-icon-btn.icon-btn-dropdown-search {
  background-color: #d9dbeb;
  color: #40499a;
}

.qdnapro-icon-btn.icon-btn-dropdown-search:hover:not(.icon-btn-disabled) {
  background-color: #b3b6d7;
}

/* TYPE: dropdown-input */
.qdnapro-icon-btn.icon-btn-dropdown-input {
  background-color: transparent;
  color: #0b0b0d;
}

.qdnapro-icon-btn.icon-btn-dropdown-input:hover:not(.icon-btn-disabled) {
  background-color: #f0f1f2;
}

/* TYPE: bulk-select */
.qdnapro-icon-btn.icon-btn-bulk-select {
  background-color: #e6e9ff;
  color: #40499a;
}

.qdnapro-icon-btn.icon-btn-bulk-select:hover:not(.icon-btn-disabled) {
  background-color: #daddf2;
}

/* TYPE: input-icon */
.qdnapro-icon-btn.icon-btn-input-icon {
  background-color: transparent;
  color: #a6aab3;
}

.qdnapro-icon-btn.icon-btn-input-icon:hover:not(.icon-btn-disabled) {
  background-color: #f0f1f2;
  color: #0b0b0d;
}

.qdnapro-icon-btn.icon-btn-input-icon:active:not(.icon-btn-disabled) {
  color: #0b0b0d;
}

/* TYPE: subtle */
.qdnapro-icon-btn.icon-btn-subtle {
  background-color: transparent;
  color: #0b0b0d;
}

.qdnapro-icon-btn.icon-btn-subtle:hover:not(.icon-btn-disabled) {
  background-color: #f0f1f2;
}

.qdnapro-icon-btn.icon-btn-subtle:active:not(.icon-btn-disabled) {
  background-color: #e4e6e8;
}

/* TYPE: subtle-purple -- mirrors the button component's subtle-purple-bg specs
   (transparent bg, purple icon, light-purple hover/active). [Kim 2026-06-17] */
.qdnapro-icon-btn.icon-btn-subtle-purple {
  background-color: transparent;
  color: #40499a;
}

.qdnapro-icon-btn.icon-btn-subtle-purple:hover:not(.icon-btn-disabled) {
  background-color: #daddf2;
}

.qdnapro-icon-btn.icon-btn-subtle-purple:active:not(.icon-btn-disabled) {
  background-color: #c7cce8;
}

/* TYPE: subtle-error */
.qdnapro-icon-btn.icon-btn-subtle-error {
  background-color: transparent;
  color: #c65a5a;
}

.qdnapro-icon-btn.icon-btn-subtle-error:hover:not(.icon-btn-disabled) {
  background-color: rgba(198, 90, 90, 0.1);
}

.qdnapro-icon-btn.icon-btn-subtle-error:active:not(.icon-btn-disabled) {
  background-color: rgba(198, 90, 90, 0.18);
}

/* TYPE: danger -- red border + red icon + light red hover bg */
.qdnapro-icon-btn.icon-btn-danger {
  background-color: transparent;
  border-color: #fecaca;
  color: #ef4444;
  --ib-focus-ring: #ef4444;
  --ib-focus-glow: rgba(239, 68, 68, 0.20);
}

.qdnapro-icon-btn.icon-btn-danger:hover:not(.icon-btn-disabled) {
  background-color: #fef2f2;
  border-color: #f87171;
  color: #dc2626;
}

.qdnapro-icon-btn.icon-btn-danger:active:not(.icon-btn-disabled) {
  background-color: #fee2e2;
  border-color: #ef4444;
  color: #b91c1c;
}

/* TYPE: purple-active */
.qdnapro-icon-btn.icon-btn-purple-active {
  background-color: #daddf2;
  color: #40499a;
}

.qdnapro-icon-btn.icon-btn-purple-active:hover:not(.icon-btn-disabled) {
  background-color: #c7cce8;
}

.qdnapro-icon-btn.icon-btn-purple-active:active:not(.icon-btn-disabled) {
  background-color: #b3b8d6;
}

/* STATE: disabled */
.qdnapro-icon-btn.icon-btn-disabled {
  background-color: #f0f1f2 !important;
  background-image: none !important;
  color: #898e99 !important;
  border-color: transparent !important;
  cursor: not-allowed;
  pointer-events: none;
}

[data-bg-context=purple] .qdnapro-icon-btn.icon-btn-disabled {
  background-color: #daddf2 !important;
}

/* Dark mode */
[data-theme=dark] .qdnapro-icon-btn.icon-btn-primary-purple {
  background-color: #3842c2;
  color: #ffffff;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-primary-purple:hover:not(.icon-btn-disabled) {
  background-color: #2a3192;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-secondary {
  background-color: #2e3036;
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-secondary:hover:not(.icon-btn-disabled) {
  background-color: #40444d;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-dropdown-search {
  background-color: #40444d;
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-dropdown-search:hover:not(.icon-btn-disabled) {
  background-color: #565b66;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-dropdown-search.icon-btn-disabled {
  background-color: #2e3036 !important;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-dropdown-input {
  background-color: transparent;
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-dropdown-input:hover:not(.icon-btn-disabled) {
  background-color: #565b66;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-bulk-select {
  background-color: #0b0b0d;
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-bulk-select:hover:not(.icon-btn-disabled) {
  background-color: #40444d;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-input-icon {
  background-color: transparent;
  color: #898e99;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-input-icon:hover:not(.icon-btn-disabled) {
  background-color: #565b66;
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-input-icon:active:not(.icon-btn-disabled) {
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-subtle {
  background-color: transparent;
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-subtle:hover:not(.icon-btn-disabled) {
  background-color: #565b66;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-subtle:active:not(.icon-btn-disabled) {
  background-color: #6b7280;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-subtle-error {
  background-color: transparent;
  color: #fbaaaa;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-subtle-error:hover:not(.icon-btn-disabled) {
  background-color: rgba(251, 170, 170, 0.12);
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-subtle-error:active:not(.icon-btn-disabled) {
  background-color: rgba(251, 170, 170, 0.2);
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-danger {
  background-color: transparent;
  border-color: rgba(252, 165, 165, 0.45);
  color: #fca5a5;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-danger:hover:not(.icon-btn-disabled) {
  background-color: rgba(239, 68, 68, 0.15);
  border-color: #fca5a5;
  color: #ffffff;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-danger:active:not(.icon-btn-disabled) {
  background-color: rgba(239, 68, 68, 0.25);
  border-color: #f87171;
  color: #ffffff;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-purple-active {
  background-color: rgba(70, 82, 243, 0.2);
  color: #a5acff;
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-purple-active:hover:not(.icon-btn-disabled) {
  background-color: rgba(70, 82, 243, 0.3);
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-purple-active:active:not(.icon-btn-disabled) {
  background-color: rgba(70, 82, 243, 0.42);
}

[data-theme=dark] .qdnapro-icon-btn.icon-btn-disabled {
  background-color: #40444d !important;
  color: #6b7280 !important;
}

[data-theme=dark] .qdnapro-icon-btn:focus-visible, [data-theme=dark] .qdnapro-icon-btn.force-focus {
  outline-color: #a5acff;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.4);
}

/* === size: touch — 44×44 minimum tap target [2026-06-30] === */
.qdnapro-icon-btn.icon-btn-size-touch {
  width: 44px;
  height: 44px;
  min-width: 44px;
}

/* === variant: round — full circle [2026-06-30] === */
.qdnapro-icon-btn.icon-btn-round {
  border-radius: 50%;
}

/* === type: on-dark-purple — icon on var(--c-purple-700) surface [2026-06-30] === */
.qdnapro-icon-btn.icon-btn-on-dark-purple {
  background-color: transparent;
  color: var(--c-purple-50);
}

.qdnapro-icon-btn.icon-btn-on-dark-purple:hover:not(.icon-btn-disabled) {
  background-color: var(--c-purple-500);
  color: var(--c-purple-50);
}

.qdnapro-icon-btn.icon-btn-on-dark-purple.icon-btn-disabled {
  background-color: transparent !important;
  color: var(--c-purple-300) !important;
}

/* === type: filled-dark-purple — own var(--c-purple-700) surface [2026-06-30] === */
.qdnapro-icon-btn.icon-btn-filled-dark-purple {
  background-color: var(--c-purple-700);
  color: var(--c-purple-50);
}

.qdnapro-icon-btn.icon-btn-filled-dark-purple:hover:not(.icon-btn-disabled) {
  background-color: var(--c-purple-600);
  color: var(--c-purple-50);
}

.qdnapro-icon-btn.icon-btn-filled-dark-purple.icon-btn-disabled {
  background-color: transparent !important;
  color: var(--c-purple-300) !important;
}

/* ============================================================
 *  qdnapro-illustration — compiled from _illustration.scss
 * ============================================================ */
.qdnapro-illustration {
  display: inline-block;
  box-sizing: border-box;
  flex-shrink: 0;
  line-height: 0;
  vertical-align: middle;
  user-select: none;
  transition: opacity 140ms ease-out;
  height: auto;
}

.qdnapro-illustration .illustration-img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  pointer-events: none;
  background: transparent;
}

.qdnapro-illustration.illustration-disabled {
  opacity: 0.5;
}

.qdnapro-illustration.illustration-emphasis-soft {
  opacity: 0.6;
}

.qdnapro-illustration.illustration-emphasis-faint {
  opacity: 0.35;
}

.qdnapro-illustration.illustration-missing {
  position: relative;
  background: rgba(0, 0, 0, 0.03);
  border: 1px dashed #c4c7cc;
  border-radius: 12px;
  aspect-ratio: 4/3;
  height: auto;
}

.qdnapro-illustration.illustration-missing::after {
  content: "?";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Inter", sans-serif;
  font-size: 24px;
  color: #898e99;
}

[data-theme=dark] .qdnapro-illustration.illustration-missing {
  background: rgba(255, 255, 255, 0.04);
  border-color: #565b66;
}

[data-theme=dark] .qdnapro-illustration.illustration-missing::after {
  color: #6b7280;
}

.qdnapro-info-card {
  --info-card-title: var(--c-text-heading, #1a1d3a);
  --info-card-meta: var(--c-text-muted, #6a6e9a);
  --info-card-frame: var(--c-border, #e7e9ec);
  --info-card-fill: transparent;
  --info-card-icon-bg: #eef0f2;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  box-sizing: border-box;
  padding: 16px;
  border: 1px solid var(--info-card-frame);
  border-radius: 18px;
  background: var(--info-card-fill);
  font-family: var(--theme-font-family, "Inter", sans-serif);
  text-align: left;
}

.qdnapro-info-card--on-purple {
  --info-card-title: #ffffff;
  --info-card-meta: rgba(255, 255, 255, 0.82);
  --info-card-frame: rgba(255, 255, 255, 0.20);
  --info-card-fill: rgba(255, 255, 255, 0.09);
}

.qdnapro-info-card--grey {
  --info-card-icon-bg: #eef0f2;
}

.qdnapro-info-card--red {
  --info-card-icon-bg: #fde7e7;
}

.qdnapro-info-card--yellow {
  --info-card-icon-bg: #fdf3d6;
}

.qdnapro-info-card--green {
  --info-card-icon-bg: #e2faf1;
}

.qdnapro-info-card--blue {
  --info-card-icon-bg: #e6eff9;
}

.qdnapro-info-card--bright-blue {
  --info-card-icon-bg: #d6e0f9;
}

.qdnapro-info-card--pink {
  --info-card-icon-bg: #f6e1e8;
}

.qdnapro-info-card--purple {
  --info-card-icon-bg: #ebe9fb;
}

.qdnapro-info-card__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border-radius: 12px;
  background: var(--info-card-icon-bg);
  line-height: 0;
}

.qdnapro-info-card__icon-img {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.qdnapro-info-card__body {
  flex: 1 1 auto;
  min-width: 0;
}

.qdnapro-info-card__title {
  color: var(--info-card-title);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.qdnapro-info-card__row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 7px;
  color: var(--info-card-meta);
  font-size: 13px;
  line-height: 1.4;
}

.qdnapro-info-card__row .qdnapro-icon,
.qdnapro-info-card__row qdnapro-icon {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  color: inherit;
}

.qdnapro-info-card__row-text {
  min-width: 0;
  overflow-wrap: anywhere;
}

.qdnapro-ic {
  --ic-purple: var(--c-brand-purple, #40499a);
  --ic-purple-soft: var(--c-bg-secondary-purple, #e6e9ff);
  --ic-text: var(--c-text-body, #0b0b0d);
  --ic-muted: var(--c-text-muted, #6e7280);
  --ic-heading: var(--c-text-heading, #1a1f4d);
  --ic-border: var(--c-border-card, #e1e3e6);
  --ic-card: var(--c-bg-card, #ffffff);
  --ic-stage-bg: #1a1f2e;
  --ic-dim: rgba(16, 20, 45, 0.62);
  --ic-warn-bg: var(--c-tag-warning-bg, #fff2d6);
  --ic-warn-text: var(--c-tag-warning-text, #a06400);
  --ic-radius: var(--r-card, 14px);
  --ic-radius-sm: var(--r-btn, 8px);
  --ic-ff: var(--ff, "Inter", system-ui, -apple-system, "Segoe UI", sans-serif);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  font-family: var(--ic-ff);
  color: var(--ic-text);
}
.qdnapro-ic *, .qdnapro-ic *::before, .qdnapro-ic *::after {
  box-sizing: border-box;
}
.qdnapro-ic .qdnapro-ic-main {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  gap: var(--s-5, 20px);
  align-items: stretch;
}
.qdnapro-ic .qdnapro-ic-stagewrap {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--s-3, 12px);
}
.qdnapro-ic .qdnapro-ic-stage {
  flex: 1 1 auto;
  min-height: 280px;
  position: relative;
  border-radius: var(--ic-radius);
  overflow: hidden;
  background: var(--ic-stage-bg);
}
.qdnapro-ic .qdnapro-ic-img {
  display: block;
  max-width: 100%;
}
.qdnapro-ic .qdnapro-ic-toolbar {
  flex: 0 0 auto;
  display: flex;
  gap: var(--s-2, 8px);
  align-items: center;
}
.qdnapro-ic .qdnapro-ic-side {
  flex: 0 0 230px;
  max-width: 230px;
  display: flex;
  flex-direction: column;
  gap: var(--s-3, 12px);
  padding-left: var(--s-5, 20px);
  border-left: 1px solid var(--ic-border);
  overflow-y: auto;
}
.qdnapro-ic .qdnapro-ic-side-heading {
  font-size: 13px;
  font-weight: var(--fw-semi, 600);
  color: var(--ic-heading);
  letter-spacing: 0.01em;
}
.qdnapro-ic .qdnapro-ic-previews {
  display: flex;
  flex-direction: column;
  gap: var(--s-5, 20px);
}
.qdnapro-ic .qdnapro-ic-preview-target {
  overflow: hidden;
  background: var(--ic-purple-soft);
}
.qdnapro-ic .qdnapro-ic-surface {
  display: flex;
  align-items: center;
  gap: var(--s-3, 12px);
}
.qdnapro-ic .qdnapro-ic-surface-target {
  flex: 0 0 auto;
  box-shadow: 0 0 0 1px var(--ic-border);
}
.qdnapro-ic .qdnapro-ic-surface-label {
  font-size: 12px;
  color: var(--ic-muted);
}
.qdnapro-ic .qdnapro-ic-device {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-2, 8px);
}
.qdnapro-ic .qdnapro-ic-device-label {
  font-size: 11px;
  color: var(--ic-muted);
}
.qdnapro-ic .qdnapro-ic-device-frame {
  background: #d7dbe8;
  border-radius: 10px;
  padding: 8px;
  width: 100%;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
}
.qdnapro-ic .qdnapro-ic-device-target {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 4px;
}
.qdnapro-ic .qdnapro-ic-device-phone .qdnapro-ic-device-frame {
  width: 96px;
  border-radius: 16px;
  padding: 10px 6px;
  position: relative;
}
.qdnapro-ic .qdnapro-ic-device-phone .qdnapro-ic-device-frame::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 26px;
  height: 3px;
  border-radius: 2px;
  background: rgba(0, 0, 0, 0.18);
}
.qdnapro-ic .qdnapro-ic-device-phone .qdnapro-ic-device-target {
  border-radius: 6px;
}
.qdnapro-ic .qdnapro-ic-device-tablet .qdnapro-ic-device-frame {
  width: 150px;
  border-radius: 12px;
}
.qdnapro-ic .qdnapro-ic-device-desktop .qdnapro-ic-device-frame {
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.qdnapro-ic .qdnapro-ic-device-desktop .qdnapro-ic-device-frame::before {
  content: "";
  display: block;
  height: 16px;
  background: radial-gradient(circle 2px at 9px 8px, #b9bfd0 50%, transparent 51%), radial-gradient(circle 2px at 18px 8px, #b9bfd0 50%, transparent 51%), radial-gradient(circle 2px at 27px 8px, #b9bfd0 50%, transparent 51%), #eceef5;
}
.qdnapro-ic .qdnapro-ic-device-desktop .qdnapro-ic-device-target {
  border-radius: 0;
}
.qdnapro-ic .qdnapro-ic-footer {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: var(--s-4, 16px);
  margin-top: var(--s-4, 16px);
  padding-top: var(--s-4, 16px);
  border-top: 1px solid var(--ic-border);
}
.qdnapro-ic .qdnapro-ic-warning {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  line-height: 1.35;
  color: var(--ic-warn-text);
  background: var(--ic-warn-bg);
  border-radius: var(--ic-radius-sm);
  padding: 8px 12px;
}
.qdnapro-ic .qdnapro-ic-warning[hidden] {
  display: none;
}
.qdnapro-ic .qdnapro-ic-actions {
  flex: 0 0 auto;
  margin-left: auto;
  display: flex;
  gap: var(--s-2, 8px);
}
.qdnapro-ic.is-shape-circle .cropper-view-box,
.qdnapro-ic.is-shape-circle .cropper-face {
  border-radius: 50%;
}
.qdnapro-ic.is-shape-circle .qdnapro-ic-preview-target {
  border-radius: 50%;
}
.qdnapro-ic.is-shape-rounded .cropper-view-box,
.qdnapro-ic.is-shape-rounded .cropper-face {
  border-radius: 12px;
}
.qdnapro-ic.is-shape-rounded .qdnapro-ic-surface-target {
  border-radius: 8px;
}
.qdnapro-ic .cropper-view-box {
  outline: 1px solid var(--ic-purple);
}
.qdnapro-ic .cropper-line,
.qdnapro-ic .cropper-point {
  background-color: var(--ic-purple);
}
.qdnapro-ic .cropper-point.point-se::before {
  background-color: var(--ic-purple);
}
.qdnapro-ic .cropper-modal {
  background-color: var(--ic-dim);
  opacity: 1;
}
.qdnapro-ic .cropper-bg {
  background-image: none;
}

@media (max-width: 720px) {
  .qdnapro-ic .qdnapro-ic-main {
    flex-direction: column;
  }
  .qdnapro-ic .qdnapro-ic-side {
    flex: 0 0 auto;
    max-width: none;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--ic-border);
    padding-top: var(--s-4, 16px);
  }
  .qdnapro-ic .qdnapro-ic-previews {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
  }
}
.qdnapro-image-crop-trigger {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2, 8px);
  cursor: pointer;
  font-family: var(--ff, "Inter", sans-serif);
  color: var(--c-brand-purple, #40499a);
  font-size: 13px;
  font-weight: var(--fw-medium, 500);
}
.qdnapro-image-crop-trigger .qdnapro-image-crop-thumb {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: var(--c-bg-secondary-purple, #e6e9ff);
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 0 0 1px var(--c-border-card, #e1e3e6);
}

[data-theme-dark] .qdnapro-ic,
[data-theme=dark] .qdnapro-ic,
body[data-theme=dark] .qdnapro-ic {
  --ic-card: var(--c-grey-800, #2e3036);
  --ic-border: var(--c-white-10, rgba(255, 255, 255, 0.10));
  --ic-stage-bg: #0c0e16;
  --ic-purple-soft: var(--c-grey-700, #40444d);
}
[data-theme-dark] .qdnapro-ic .qdnapro-ic-device-frame,
[data-theme=dark] .qdnapro-ic .qdnapro-ic-device-frame,
body[data-theme=dark] .qdnapro-ic .qdnapro-ic-device-frame {
  background: #3a3f4d;
}
[data-theme-dark] .qdnapro-ic .qdnapro-ic-device-desktop .qdnapro-ic-device-frame::before,
[data-theme=dark] .qdnapro-ic .qdnapro-ic-device-desktop .qdnapro-ic-device-frame::before,
body[data-theme=dark] .qdnapro-ic .qdnapro-ic-device-desktop .qdnapro-ic-device-frame::before {
  background: #2b2f3a;
}

.text-h1 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 60px;
  line-height: 72px;
}

.text-h2 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 40px;
  line-height: 56px;
}

.text-h3 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 32px;
  line-height: 48px;
}

.text-h4 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 28px;
  line-height: 44px;
}

.text-h5 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 24px;
  line-height: 36px;
}

.text-h6 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
}

.text-body-xs {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 10px;
  line-height: 20px;
}

.text-body-sm {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
}

.text-body-md {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
}

.text-body-lg {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
}

.text-body-xl {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 20px;
  line-height: 32px;
}

.qdnapro-inbox-message {
  --msg-bg: #ffffff;
  --msg-bg-hover: #f0f1f2;
  --msg-text: #0b0b0d;
  --msg-text-muted: #6b7280;
  --msg-accent: #4652f3;
  box-sizing: border-box;
}
.qdnapro-inbox-message *, .qdnapro-inbox-message *::before, .qdnapro-inbox-message *::after {
  box-sizing: border-box;
}
.qdnapro-inbox-message {
  display: flex;
  align-items: stretch;
  gap: 8px;
  padding: 4px 8px 4px 4px;
  border-radius: 8px;
  background: var(--msg-bg);
  color: var(--msg-text);
  cursor: pointer;
  text-decoration: none;
  user-select: none;
  transition: background-color 120ms ease-out;
}
.qdnapro-inbox-message:hover:not(.inbox-message-swiping) {
  background: var(--msg-bg-hover);
}
.qdnapro-inbox-message.inbox-message-selected {
  --msg-bg: #e6e9ff;
  --msg-bg-hover: #daddf2;
}
.qdnapro-inbox-message.inbox-message-active {
  --msg-bg: #e6e9ff;
  --msg-bg-hover: #daddf2;
  box-shadow: inset 3px 0 0 0 var(--msg-accent);
}
.qdnapro-inbox-message:focus {
  outline: none;
}
.qdnapro-inbox-message:focus-visible, .qdnapro-inbox-message.force-focus {
  outline: none;
  box-shadow: 0 0 0 2px #40499a, 0 0 0 6px rgba(70, 82, 243, 0.25);
}
.qdnapro-inbox-message.inbox-message-active:focus-visible, .qdnapro-inbox-message.inbox-message-active.force-focus {
  box-shadow: inset 3px 0 0 0 var(--msg-accent), 0 0 0 2px #40499a, 0 0 0 6px rgba(70, 82, 243, 0.25);
}
.qdnapro-inbox-message .inbox-message-lead {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  gap: 4px;
  padding-top: 4px;
  width: 46px;
  justify-content: flex-end;
}
.qdnapro-inbox-message .inbox-message-unread-dot {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-top: 13px;
  border-radius: 50%;
  background: var(--msg-accent);
}
.qdnapro-inbox-message .inbox-message-avatar-wrap {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
}
.qdnapro-inbox-message .inbox-message-avatar-status {
  position: absolute;
  right: -3px;
  bottom: -3px;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.qdnapro-inbox-message .inbox-message-avatar-status.is-in-progress {
  width: 17px;
  height: 21px;
  background-image: url(/img/inbox-status/hourglass.svg);
}
.qdnapro-inbox-message .inbox-message-avatar-status.is-completed {
  width: 21px;
  height: 20px;
  background-image: url(/img/inbox-status/check.svg);
}
.qdnapro-inbox-message .inbox-message-avatar-status.is-overdue {
  width: 22px;
  height: 19px;
  background-image: url(/img/inbox-status/warning-red.svg);
}
.qdnapro-inbox-message .inbox-message-avatar-status.is-due-soon {
  width: 22px;
  height: 19px;
  background-image: url(/img/inbox-status/warning-yellow.svg);
}
.qdnapro-inbox-message .inbox-message-avatar-status.is-reminder {
  width: 18px;
  height: 21px;
  background-image: url(/img/inbox-status/bell.svg);
}
.qdnapro-inbox-message .inbox-message-avatar-status.is-scheduled {
  width: 21px;
  height: 20px;
  background-image: url(/img/inbox-status/timer.svg);
}
.qdnapro-inbox-message .inbox-message-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 4px 0;
}
.qdnapro-inbox-message .inbox-message-row-1 {
  display: flex;
  align-items: center;
  gap: 4px;
}
.qdnapro-inbox-message .inbox-message-sender {
  flex: 1 1 auto;
  min-width: 0;
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  color: var(--msg-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qdnapro-inbox-message:not(.inbox-message-unread) .inbox-message-sender {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 24px;
}
.qdnapro-inbox-message .inbox-message-actions {
  flex-shrink: 0;
  height: 24px;
  display: flex;
  align-items: center;
  gap: 0;
}
.qdnapro-inbox-message .inbox-message-paperclip {
  flex-shrink: 0;
  width: 20px;
  max-width: 20px;
  height: 20px;
  opacity: 1;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--msg-text-muted);
  pointer-events: none;
  transition: max-width 200ms cubic-bezier(0.4, 0, 0.2, 1), width 200ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms ease;
}
.qdnapro-inbox-message .inbox-message-forwarded {
  flex-shrink: 0;
  width: 20px;
  max-width: 20px;
  height: 20px;
  opacity: 1;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--msg-text-muted);
  pointer-events: auto;
  transition: max-width 200ms cubic-bezier(0.4, 0, 0.2, 1), width 200ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms ease;
}
.qdnapro-inbox-message .inbox-message-bookmark,
.qdnapro-inbox-message .inbox-message-delete {
  width: 0;
  min-width: 0;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition: max-width 200ms cubic-bezier(0.4, 0, 0.2, 1), width 200ms cubic-bezier(0.4, 0, 0.2, 1), min-width 200ms cubic-bezier(0.4, 0, 0.2, 1), margin-left 200ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms ease, color 120ms ease-out;
}
.qdnapro-inbox-message .inbox-message-delete {
  margin-left: 0;
}
.qdnapro-inbox-message:hover:not(.inbox-message-swiping) .inbox-message-paperclip, .qdnapro-inbox-message:focus-within:not(.inbox-message-swiping) .inbox-message-paperclip {
  width: 0;
  max-width: 0;
  opacity: 0;
}
.qdnapro-inbox-message:hover:not(.inbox-message-swiping) .inbox-message-bookmark, .qdnapro-inbox-message:hover:not(.inbox-message-swiping) .inbox-message-delete, .qdnapro-inbox-message:focus-within:not(.inbox-message-swiping) .inbox-message-bookmark, .qdnapro-inbox-message:focus-within:not(.inbox-message-swiping) .inbox-message-delete {
  width: 24px;
  min-width: 24px;
  max-width: 24px;
  opacity: 1;
  pointer-events: auto;
}
.qdnapro-inbox-message:hover:not(.inbox-message-swiping) .inbox-message-delete, .qdnapro-inbox-message:focus-within:not(.inbox-message-swiping) .inbox-message-delete {
  margin-left: 4px;
}
.qdnapro-inbox-message.inbox-message-bookmarked .inbox-message-paperclip {
  width: 0;
  max-width: 0;
  opacity: 0;
}
.qdnapro-inbox-message.inbox-message-bookmarked .inbox-message-bookmark {
  width: 24px;
  min-width: 24px;
  max-width: 24px;
  opacity: 1;
  pointer-events: auto;
  color: var(--msg-accent);
}
.qdnapro-inbox-message.inbox-message-navigate {
  position: relative;
}
.qdnapro-inbox-message.inbox-message-navigate .inbox-message-nav {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms cubic-bezier(0.4, 0, 0.2, 1);
}
.qdnapro-inbox-message.inbox-message-navigate .inbox-message-timestamp,
.qdnapro-inbox-message.inbox-message-navigate .inbox-message-due {
  transition: opacity 150ms ease;
}
.qdnapro-inbox-message.inbox-message-navigate:hover:not(.inbox-message-swiping) .inbox-message-nav, .qdnapro-inbox-message.inbox-message-navigate:focus-within:not(.inbox-message-swiping) .inbox-message-nav {
  opacity: 1;
  pointer-events: auto;
}
.qdnapro-inbox-message.inbox-message-navigate:hover:not(.inbox-message-swiping) .inbox-message-timestamp, .qdnapro-inbox-message.inbox-message-navigate:hover:not(.inbox-message-swiping) .inbox-message-due, .qdnapro-inbox-message.inbox-message-navigate:focus-within:not(.inbox-message-swiping) .inbox-message-timestamp, .qdnapro-inbox-message.inbox-message-navigate:focus-within:not(.inbox-message-swiping) .inbox-message-due {
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-inbox-message .inbox-message-paperclip,
  .qdnapro-inbox-message .inbox-message-bookmark,
  .qdnapro-inbox-message .inbox-message-delete,
  .qdnapro-inbox-message .inbox-message-nav,
  .qdnapro-inbox-message .inbox-message-timestamp,
  .qdnapro-inbox-message .inbox-message-due {
    transition: none;
  }
}
.qdnapro-inbox-message .inbox-message-row-2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: -2px;
}
.qdnapro-inbox-message .inbox-message-subject {
  flex: 1 1 auto;
  min-width: 0;
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 24px;
  color: var(--msg-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qdnapro-inbox-message.inbox-message-unread .inbox-message-subject {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  color: var(--msg-accent);
}
.qdnapro-inbox-message .inbox-message-timestamp {
  flex-shrink: 0;
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 500;
  font-size: 12px;
  line-height: 20px;
  color: var(--msg-text);
}
.qdnapro-inbox-message.inbox-message-unread .inbox-message-timestamp {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 700;
  font-size: 12px;
  line-height: 20px;
  color: var(--msg-accent);
}
.qdnapro-inbox-message .inbox-message-row-3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: -2px;
}
.qdnapro-inbox-message .inbox-message-preview {
  flex: 1 1 auto;
  min-width: 0;
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: var(--msg-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qdnapro-inbox-message .inbox-message-due {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: var(--msg-text);
}
.qdnapro-inbox-message .inbox-message-due qdnapro-icon {
  width: 16px;
  height: 16px;
  color: var(--msg-text-muted);
}
.qdnapro-inbox-message .inbox-message-tags {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.qdnapro-inbox-message.inbox-message-deadline-overdue .inbox-message-due, .qdnapro-inbox-message.inbox-message-deadline-overdue .inbox-message-due qdnapro-icon {
  color: #d93025;
}
.qdnapro-inbox-message.inbox-message-deadline-due-soon .inbox-message-due, .qdnapro-inbox-message.inbox-message-deadline-due-soon .inbox-message-due qdnapro-icon {
  color: #e8810a;
}
.qdnapro-inbox-message.inbox-message-deadline-overdue .inbox-message-due-standalone {
  background: rgba(217, 48, 37, 0.1);
  border-radius: 999px;
  padding: 2px 8px 2px 6px;
  margin-top: 2px;
}
.qdnapro-inbox-message.inbox-message-deadline-due-soon .inbox-message-due-standalone {
  background: rgba(232, 129, 10, 0.1);
  border-radius: 999px;
  padding: 2px 8px 2px 6px;
  margin-top: 2px;
}
.qdnapro-inbox-message .inbox-message-avatar-slot {
  position: relative;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
}
.qdnapro-inbox-message .inbox-message-avatar-slot > qdnapro-avatar,
.qdnapro-inbox-message .inbox-message-avatar-slot > .inbox-message-avatar-wrap {
  position: absolute;
  inset: 0;
  transition: opacity 120ms ease;
}
.qdnapro-inbox-message .inbox-message-select-checkbox {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 16px;
  height: 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
}
.qdnapro-inbox-message.inbox-message-selection-mode .inbox-message-avatar-slot > qdnapro-avatar,
.qdnapro-inbox-message.inbox-message-selection-mode .inbox-message-avatar-slot > .inbox-message-avatar-wrap {
  opacity: 0;
  pointer-events: none;
}
.qdnapro-inbox-message.inbox-message-selection-mode .inbox-message-select-checkbox {
  opacity: 1;
  pointer-events: auto;
}
@media (hover: hover) {
  .qdnapro-inbox-message.inbox-message-selectable:not(.inbox-message-selection-mode):hover .inbox-message-avatar-slot > qdnapro-avatar,
  .qdnapro-inbox-message.inbox-message-selectable:not(.inbox-message-selection-mode):hover .inbox-message-avatar-slot > .inbox-message-avatar-wrap {
    opacity: 0;
    pointer-events: none;
  }
  .qdnapro-inbox-message.inbox-message-selectable:not(.inbox-message-selection-mode):hover .inbox-message-select-checkbox {
    opacity: 1;
    pointer-events: auto;
  }
}
.qdnapro-inbox-message.inbox-message-swiping {
  background: var(--c-bg-card, #ffffff);
}
.qdnapro-inbox-message.inbox-message-disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}
.qdnapro-inbox-message.inbox-message-disabled:focus-visible, .qdnapro-inbox-message.inbox-message-disabled.force-focus {
  box-shadow: none;
}

[data-bg-context=purple] .qdnapro-inbox-message {
  --msg-bg-hover: #daddf2;
}

[data-theme=dark] .qdnapro-inbox-message {
  --msg-bg: transparent;
  --msg-bg-hover: #565b66;
  --msg-text: #e1e3e6;
  --msg-text-muted: #a6aab3;
  --msg-accent: #a5acff;
}
[data-theme=dark] .qdnapro-inbox-message.inbox-message-selected {
  --msg-bg: rgba(165, 172, 255, 0.18);
  --msg-bg-hover: rgba(165, 172, 255, 0.28);
}
[data-theme=dark] .qdnapro-inbox-message.inbox-message-active {
  --msg-bg: rgba(165, 172, 255, 0.18);
  --msg-bg-hover: rgba(165, 172, 255, 0.28);
  box-shadow: inset 3px 0 0 0 var(--msg-accent);
}
[data-theme=dark] .qdnapro-inbox-message:focus-visible, [data-theme=dark] .qdnapro-inbox-message.force-focus {
  box-shadow: 0 0 0 2px #a5acff, 0 0 0 6px rgba(70, 82, 243, 0.4);
}
[data-theme=dark] .qdnapro-inbox-message.inbox-message-active:focus-visible, [data-theme=dark] .qdnapro-inbox-message.inbox-message-active.force-focus {
  box-shadow: inset 3px 0 0 0 var(--msg-accent), 0 0 0 2px #a5acff, 0 0 0 6px rgba(70, 82, 243, 0.4);
}

.qdnapro-input {
  display: block;
  font-family: inter, sans-serif;
  font-size: 14px;
  line-height: 24px;
}

.qdnapro-input.input-size-touch {
  font-size: 20px;
  line-height: 30px;
}

.qdnapro-input .input-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
}

.qdnapro-input .input-header .input-label {
  font-weight: 500;
  color: #0b0b0d;
  display: inline-flex;
  align-items: baseline;
}

.qdnapro-input .input-header .input-label .input-required {
  color: #c65a5a;
  margin-right: 2px;
  font-weight: 500;
}

.qdnapro-input .input-header .input-label .input-optional {
  color: #6b6f78;
  font-weight: 400;
  margin-left: 2px;
}

.qdnapro-input .input-header .input-info-btn {
  flex-shrink: 0;
}

.qdnapro-input .input-hint {
  color: #6b6f78;
  font-size: 13px;
  line-height: 20px;
  margin-bottom: 8px;
}

.qdnapro-input .input-field-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.qdnapro-input.input-size-big .input-external-btn {
  width: 52px;
  min-width: 52px;
  min-height: 52px;
}

.qdnapro-input.input-size-small .input-external-btn {
  width: 40px;
  min-width: 40px;
  min-height: 40px;
}

.qdnapro-input.input-size-touch .input-external-btn {
  width: 56px;
  min-width: 56px;
  min-height: 56px;
}

.qdnapro-input .input-field {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  background: #ffffff;
  border: 1px solid #c4c7cc;
  border-radius: 8px;
  padding: 0 12px;
  box-sizing: border-box;
  transition: border-color 120ms ease-out, background-color 120ms ease-out;
}

/* Kleur van het LEADING-ICOON in de basis (besluit 78, vervolg 31.07.2026): stond
   op #a6aab3 en haalde daarmee dezelfde contrast-inversie als de placeholder had,
   namelijk een LAGERE verhouding dan de uitgeschakelde stand (#898e99), waardoor
   een gewoon veld leest als een veld dat je niet mag gebruiken. Gemeten met de
   WCAG-formule, niet op het oog:
     oud  #a6aab3  op wit #ffffff              -> 2.33:1
     oud  #a6aab3  op --c-grey-100 #e7e9ec     -> 1.91:1
     oud  #a6aab3  op het uitgeschakelde vlak #f0f1f2 -> 2.06:1
     disabled-icoon #898e99 op #f0f1f2 (zijn eigen vlak) -> 2.90:1
     nieuw var(--c-text-muted) #6e7280 op wit  -> 4.79:1
     nieuw op #e7e9ec                          -> 3.94:1
     nieuw op #f0f1f2                          -> 4.24:1
   De rangorde is daarmee weer gewoon-donkerder-dan-disabled. Het disabled-icoon
   zelf blijft #898e99: dat zat niet fout, het werd ingehaald door een basis die te
   licht stond. De grijze variant had dit icoon al eerder op --c-text-muted gezet;
   die regel blijft staan als zelfstandige garantie voor die variant.
   Met fallback #6e7280 erin, want `color` zonder fallback valt bij een niet
   resolvende var terug op erven, en dat is hier de bijna-zwarte veldtekst.
   Dark theme, glass en dark-purple zijn niet geraakt: die hebben elk hun eigen
   regel voor dit icoon, verderop in dit bestand. */
.qdnapro-input .input-field .input-leading-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  color: var(--c-text-muted, #6e7280);
  flex-shrink: 0;
}

/* Leading avatar (dropdown trigger showing the selected user's photo). Sits in
   the same slot as the leading icon; slightly tighter right margin so the value
   text hugs it. [Kim 2026-07-20] */
.qdnapro-input .input-field .input-leading-avatar {
  display: inline-flex;
  flex-shrink: 0;
  margin-left: -2px;
}

.qdnapro-input .input-field .input-leading-btn {
  flex-shrink: 0;
  margin-left: -4px;
}

.qdnapro-input .input-field .input-pretab,
.qdnapro-input .input-field .input-posttab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  background: #f0f1f2;
  color: #898e99;
  font-weight: 500;
  flex-shrink: 0;
  align-self: stretch;
}

.qdnapro-input .input-field .input-pretab qdnapro-icon,
.qdnapro-input .input-field .input-posttab qdnapro-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  color: #898e99;
  flex-shrink: 0;
}

.qdnapro-input .input-field .input-pretab .input-pretab-text,
.qdnapro-input .input-field .input-pretab .input-posttab-text,
.qdnapro-input .input-field .input-posttab .input-pretab-text,
.qdnapro-input .input-field .input-posttab .input-posttab-text {
  white-space: nowrap;
}

.qdnapro-input .input-field .input-pretab {
  border-right: 1px solid #c4c7cc;
}

.qdnapro-input .input-field .input-posttab {
  border-left: 1px solid #c4c7cc;
}

.qdnapro-input .input-field .input-field-inner {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
  padding: 0 12px;
  background: #ffffff;
}

.qdnapro-input .input-field .input-field-inner .input-native {
  width: 100%;
}

.qdnapro-input .input-field .input-native {
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  font: inherit;
  color: #0b0b0d;
  padding: 0;
  min-width: 0;
}

/* Placeholder-kleur van de BASIS (besluit 78, klus 4b, Kim 31.07.2026): stond op
   #a6aab3 en haalde daarmee EEN LAGERE contrastverhouding dan de uitgeschakelde
   stand (#898e99), waardoor een leeg veld leek alsof je het niet mocht gebruiken.
   Gemeten met de WCAG-formule:
     oude basis-placeholder  #a6aab3 op wit       -> 2.33:1
     oude basis-placeholder  #a6aab3 op #e7e9ec   -> 1.91:1
     disabled-placeholder    #898e99 op #e7e9ec   -> 2.70:1
   var(--c-text-muted) is dezelfde token die de grijze variant hieronder al
   gebruikt (zie die toelichting bij .input-grey verderop in dit bestand): op wit
   geeft dat 4.79:1, op #e7e9ec 3.94:1. Beide ruim boven de disabled-stand, dus de
   rangorde is weer gewoon-donkerder-dan-disabled. De disabled-placeholder zelf is
   niet aangepast: die zat niet fout, hij werd alleen ingehaald door een basis die
   te licht stond. */
.qdnapro-input .input-field .input-native::placeholder {
  color: var(--c-text-muted);
  font-weight: 500;
}

.qdnapro-input .input-field .input-native:disabled {
  color: #898e99;
  cursor: not-allowed;
}

.qdnapro-input .input-field .input-trailing {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.qdnapro-input .input-field .input-trailing .input-suffix-text {
  font-size: 14px;
  font-weight: 600;
  color: #6b7090;
  white-space: nowrap;
  padding-right: 2px;
}

.qdnapro-input .input-field .input-trailing .input-state-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
}

.qdnapro-input .input-field .input-trailing .input-state-success {
  color: #428b6e;
}

.qdnapro-input .input-field .input-trailing .input-state-error {
  color: #c65a5a;
}

.qdnapro-input .input-field .input-trailing .input-state-warning {
  color: #ef8e02;
}

.qdnapro-input .input-field .input-trailing .input-trailing-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  color: #a6aab3;
}

.qdnapro-input .input-field .input-trailing .input-chevron {
  margin-right: -4px;
}

.qdnapro-input .input-field .input-trailing .input-mic-btn,
.qdnapro-input .input-field .input-trailing .input-nova-btn {
  flex-shrink: 0;
}

.qdnapro-input.input-size-big .input-field {
  min-height: 52px;
}

.qdnapro-input.input-size-small .input-field {
  min-height: 40px;
}

.qdnapro-input.input-size-touch .input-field {
  min-height: 56px;
}

.qdnapro-input.input-type-defined-field .input-field {
  padding: 0;
  overflow: hidden;
  gap: 0;
}

/* [Kim 2026-05-01] Trailing positioned absolute so the textarea fills full
   width — native scrollbar lands flush on the right border. Clear-x floats
   over the top-right corner just left of the scrollbar. */
.qdnapro-input.input-type-expanding .input-field {
  align-items: stretch;
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
}

.qdnapro-input.input-type-expanding .input-field .input-leading-icon {
  align-self: flex-start;
  margin-top: 16px;
  margin-left: 12px;
}

.qdnapro-input.input-type-expanding .input-field .input-trailing {
  position: absolute;
  top: 8px;
  right: 20px;
  margin: 0;
  background: transparent;
  z-index: 1;
}

.qdnapro-input.input-type-expanding .input-field textarea.input-native {
  resize: none;
  overflow-y: hidden;
  line-height: 24px;
  min-height: 52px;
  padding: 14px 52px 14px 12px;
  font-family: inherit;
  display: block;
  box-sizing: border-box;
  width: 100%;
}

.qdnapro-input.input-type-expanding.input-size-small .input-field .input-leading-icon {
  margin-top: 10px;
}

.qdnapro-input.input-type-expanding.input-size-small .input-field .input-trailing {
  top: 4px;
}

.qdnapro-input.input-type-expanding.input-size-small .input-field textarea.input-native {
  min-height: 40px;
  padding: 8px 52px 8px 12px;
}

/* no-clear: no trailing clear-x, so the textarea reclaims the reserved right
   space and uses the full width. [Kim 2026-06-16] */
.qdnapro-input.input-type-expanding[no-clear] .input-field textarea.input-native {
  padding-right: 12px;
}

.qdnapro-input:not(.input-filled) [data-role=clear] {
  display: none;
}

.qdnapro-input.input-type-number .input-number-steppers {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin-right: -4px;
}

.qdnapro-input.input-type-number .input-number-steppers > qdnapro-icon-btn {
  width: 16px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.qdnapro-input.input-type-number .input-number-steppers > qdnapro-icon-btn qdnapro-icon {
  width: 14px;
  height: 14px;
}

.qdnapro-input.input-type-autocomplete .input-field-row, .qdnapro-input.input-type-phone .input-field-row {
  position: relative;
}

.qdnapro-input .input-ac-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 320px;
  overflow-y: auto;
  background: #ffffff;
  border: 1px solid #c4c7cc;
  border-radius: 8px;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.08), 0 1px 2px 0 rgba(0, 0, 0, 0.14);
  padding: 8px;
  z-index: 1000;
}

.input-external-btn + .qdnapro-input .input-ac-dropdown {
  right: 60px;
}

.qdnapro-input .input-ac-item {
  display: flex;
  align-items: center;
  height: 40px;
  padding: 0 12px;
  border-radius: 4px;
  font-family: inter, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  color: #0b0b0d;
  cursor: pointer;
  user-select: none;
}

.qdnapro-input .input-ac-item + .qdnapro-input .input-ac-item {
  margin-top: 4px;
}

.qdnapro-input .input-ac-item strong {
  font-weight: 700;
}

.qdnapro-input .input-ac-item:hover, .qdnapro-input .input-ac-item.input-ac-item-active {
  background: #f0f1f2;
}

.qdnapro-input .input-ac-item.input-ac-item-disabled {
  color: #898e99;
  cursor: default;
}

.qdnapro-input .input-ac-empty {
  padding: 12px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  color: #898e99;
  text-align: center;
}

.qdnapro-input .input-ac-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  color: #555a66;
}

.qdnapro-input .input-ac-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid #c4c7cc;
  border-top-color: #40499a;
  border-radius: 50%;
  animation: qdnapro-ac-spin 0.7s linear infinite;
}

@keyframes qdnapro-ac-spin {
  to {
    transform: rotate(360deg);
  }
}
.qdnapro-input .input-ac-error {
  padding: 12px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  color: #c65a5a;
  text-align: center;
}

.qdnapro-input.input-ac-open .input-field {
  border-color: #535ba4;
  box-shadow: 0 0 0 3px rgba(70, 82, 243, 0.4);
}

/* Kleur van de CURRENCY-PREFIX (het euroteken) in de basis, dus bij een leeg of nog
   onveranderd veld (besluit 78, vervolg 31.07.2026). Zelfde contrast-inversie als de
   placeholder en het leading-icoon: stond op #a6aab3 en dat is LICHTER dan de
   uitgeschakelde stand #898e99, waardoor een gewoon bedragveld leest als een veld dat
   je niet mag gebruiken. Gemeten met de WCAG-formule:
     oud  #a6aab3  op wit #ffffff              -> 2.33:1
     oud  #a6aab3  op --c-grey-100 #e7e9ec     -> 1.91:1
     oud  #a6aab3  op het uitgeschakelde vlak #f0f1f2 -> 2.06:1
     disabled-prefix #898e99 op #f0f1f2 (zijn eigen vlak) -> 2.90:1
     nieuw var(--c-text-muted) #6e7280 op wit  -> 4.79:1
     nieuw op #e7e9ec                          -> 3.94:1
     nieuw op #f0f1f2                          -> 4.24:1
   De prefix volgde bewust de placeholder-kleur (het is dezelfde "nog niets ingevuld"
   stand), dus hij moest mee met de placeholder-fix. De twee regels hieronder blijven
   ongemoeid: gevuld gaat naar bijna-zwart, uitgeschakeld blijft #898e99.
   Fallback #6e7280 om dezelfde reden als bij het leading-icoon hierboven. */
.qdnapro-input.input-type-currency .input-currency-prefix {
  color: var(--c-text-muted, #6e7280);
  font-weight: 500;
  flex-shrink: 0;
  user-select: none;
}

.qdnapro-input.input-type-currency.input-filled .input-currency-prefix {
  color: #0b0b0d;
}

.qdnapro-input.input-type-currency.input-disabled .input-currency-prefix {
  color: #898e99;
}

.qdnapro-input.input-type-currency .input-native {
  text-align: left;
}

/* === number / currency +/- spinner horizontal layout ===
   Ported to the build source 2026-06-19 (was only in for-sander/_input.scss,
   so the live counter never got its button nudges). Layout: [ - ] value [ + ].
   The minus button is the first child of .input-field; the plus lives in
   .input-trailing. */
.qdnapro-input.input-type-number.input-number-horizontal .input-native {
  text-align: center;
}

.qdnapro-input.input-number-horizontal .input-field > qdnapro-icon-btn[data-role=step-down] {
  flex-shrink: 0;
  margin-left: -4px;
  margin-right: 4px;
}

.qdnapro-input.input-number-horizontal .input-trailing > qdnapro-icon-btn[data-role=step-up] {
  flex-shrink: 0;
  margin-right: -4px;
}

/* Currency + counter: place the minus button before the currency prefix via
   flex order, giving [ - ] [ € value ] [ + ]. The € stays next to the amount. */
.qdnapro-input.input-type-currency.input-number-horizontal .input-field > qdnapro-icon-btn[data-role=step-down] {
  order: -1;
}

.qdnapro-input.input-type-phone .input-country-picker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  margin: 0 9px 0 4px;
  position: relative;
  background: transparent;
  border: none;
  cursor: pointer;
  font: inherit;
  color: #1d1f26;
  flex-shrink: 0;
}

.qdnapro-input.input-type-phone .input-country-picker::after {
  content: "";
  position: absolute;
  right: -9px;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: #e1e3e6;
}

.qdnapro-input.input-type-phone .input-country-picker:hover {
  background: #f0f1f2;
  border-radius: 8px;
}

.qdnapro-input.input-type-phone .input-country-picker[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
}

.qdnapro-input.input-type-phone .input-country-picker.input-country-picker-static {
  cursor: default;
}

.qdnapro-input.input-type-phone .input-country-picker.input-country-picker-static:hover {
  background: transparent;
  border-radius: 0;
}

.qdnapro-input.input-type-phone .input-country-picker .input-country-flag {
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}

.qdnapro-input.input-type-phone .input-country-picker .input-country-dial {
  font-weight: 500;
  color: #555a66;
  font-size: 14px;
  line-height: 1;
}

.qdnapro-input.input-type-phone .input-country-picker .input-country-chev {
  color: #898e99;
  margin-left: 2px;
  width: 14px;
  height: 14px;
}

.qdnapro-input .input-country-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 220px;
  max-height: 280px;
  overflow-y: auto;
  background: #ffffff;
  border: 1px solid #c4c7cc;
  border-radius: 8px;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.08), 0 1px 2px 0 rgba(0, 0, 0, 0.14);
  padding: 8px;
  z-index: 1000;
}

.qdnapro-input .input-country-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border-radius: 4px;
  background: transparent;
  border: none;
  cursor: pointer;
  font: inherit;
  color: #0b0b0d;
  text-align: left;
}

.qdnapro-input .input-country-item + .qdnapro-input .input-country-item {
  margin-top: 4px;
}

.qdnapro-input .input-country-item:hover, .qdnapro-input .input-country-item.input-country-item-active {
  background: #f0f1f2;
}

.qdnapro-input .input-country-item .input-country-flag {
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}

.qdnapro-input .input-country-item .input-country-name {
  flex: 1;
  font-weight: 500;
}

.qdnapro-input .input-country-item .input-country-dial {
  color: #555a66;
  font-weight: 500;
  flex-shrink: 0;
}

.qdnapro-input.input-type-number.input-number-right .input-native {
  text-align: right;
}

.qdnapro-input.input-filled .input-field .input-native {
  color: #0b0b0d;
  font-weight: 500;
}

.qdnapro-input.input-success .input-field {
  border-color: #428b6e;
}

.qdnapro-input.input-error .input-field {
  border-color: #c65a5a;
}

.qdnapro-input.input-warning .input-field {
  border-color: #ef8e02;
}

.qdnapro-input .input-field:hover {
  border-color: #40499a;
}

.qdnapro-input .input-field:focus-within {
  border-color: #535ba4;
  box-shadow: 0 0 0 3px rgba(70, 82, 243, 0.4);
}

.qdnapro-input .input-field:focus-within .input-native::placeholder {
  font-weight: 400;
}

.qdnapro-input.input-success .input-field:focus-within {
  border-color: #428b6e;
  box-shadow: 0 0 0 3px rgba(110, 231, 183, 0.4);
}

.qdnapro-input.input-error .input-field:focus-within {
  border-color: #c65a5a;
  box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.4);
}

.qdnapro-input.input-warning .input-field:focus-within {
  border-color: #ef8e02;
  box-shadow: 0 0 0 3px rgba(251, 191, 92, 0.4);
}

.qdnapro-input.input-select .input-field {
  border-color: #535ba4;
  box-shadow: 0 0 0 3px rgba(70, 82, 243, 0.4);
}

.qdnapro-input.input-select.input-success .input-field {
  border-color: #428b6e;
  box-shadow: 0 0 0 3px rgba(110, 231, 183, 0.4);
}

.qdnapro-input.input-select.input-error .input-field {
  border-color: #c65a5a;
  box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.4);
}

.qdnapro-input.input-select.input-warning .input-field {
  border-color: #ef8e02;
  box-shadow: 0 0 0 3px rgba(251, 191, 92, 0.4);
}

.qdnapro-input.input-disabled .input-field, .qdnapro-input.input-disabled .input-field:hover, .qdnapro-input.input-disabled .input-field:focus-within {
  background: #f0f1f2;
  border-color: transparent; /* [Kim 2026-05-01] no outer border for softer look */
  box-shadow: none;
}

.qdnapro-input.input-disabled .input-field .input-native, .qdnapro-input.input-disabled .input-field:hover .input-native, .qdnapro-input.input-disabled .input-field:focus-within .input-native {
  color: #898e99;
  cursor: not-allowed;
}

.qdnapro-input.input-disabled .input-field .input-native::placeholder, .qdnapro-input.input-disabled .input-field:hover .input-native::placeholder, .qdnapro-input.input-disabled .input-field:focus-within .input-native::placeholder {
  color: #898e99;
}

.qdnapro-input.input-disabled .input-field .input-leading-icon,
.qdnapro-input.input-disabled .input-field .input-trailing-icon, .qdnapro-input.input-disabled .input-field:hover .input-leading-icon,
.qdnapro-input.input-disabled .input-field:hover .input-trailing-icon, .qdnapro-input.input-disabled .input-field:focus-within .input-leading-icon,
.qdnapro-input.input-disabled .input-field:focus-within .input-trailing-icon {
  color: #898e99;
}

.qdnapro-input.input-disabled .input-field .input-pretab,
.qdnapro-input.input-disabled .input-field .input-posttab, .qdnapro-input.input-disabled .input-field:hover .input-pretab,
.qdnapro-input.input-disabled .input-field:hover .input-posttab, .qdnapro-input.input-disabled .input-field:focus-within .input-pretab,
.qdnapro-input.input-disabled .input-field:focus-within .input-posttab {
  background: #e1e3e6;
  border-color: #c4c7cc;
  color: #898e99;
}

.qdnapro-input.input-disabled .input-field .input-pretab qdnapro-icon,
.qdnapro-input.input-disabled .input-field .input-posttab qdnapro-icon, .qdnapro-input.input-disabled .input-field:hover .input-pretab qdnapro-icon,
.qdnapro-input.input-disabled .input-field:hover .input-posttab qdnapro-icon, .qdnapro-input.input-disabled .input-field:focus-within .input-pretab qdnapro-icon,
.qdnapro-input.input-disabled .input-field:focus-within .input-posttab qdnapro-icon {
  color: #898e99;
}

.qdnapro-input.input-disabled .input-field .input-field-inner, .qdnapro-input.input-disabled .input-field:hover .input-field-inner, .qdnapro-input.input-disabled .input-field:focus-within .input-field-inner {
  background: transparent;
}

.qdnapro-input.input-readonly .input-field, .qdnapro-input.input-readonly .input-field:hover, .qdnapro-input.input-readonly .input-field:focus-within {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  padding-left: 0;
}

.qdnapro-input.input-readonly .input-field .input-native, .qdnapro-input.input-readonly .input-field:hover .input-native, .qdnapro-input.input-readonly .input-field:focus-within .input-native {
  color: #6b6f78;
}

.qdnapro-input.input-readonly .input-field .input-field-inner, .qdnapro-input.input-readonly .input-field:hover .input-field-inner, .qdnapro-input.input-readonly .input-field:focus-within .input-field-inner {
  background: transparent;
}

.qdnapro-input.input-readonly .input-field .input-pretab,
.qdnapro-input.input-readonly .input-field .input-posttab, .qdnapro-input.input-readonly .input-field:hover .input-pretab,
.qdnapro-input.input-readonly .input-field:hover .input-posttab, .qdnapro-input.input-readonly .input-field:focus-within .input-pretab,
.qdnapro-input.input-readonly .input-field:focus-within .input-posttab {
  background: transparent;
  border-color: transparent;
  color: #6b6f78;
  padding-left: 0;
}

.qdnapro-input.input-readonly .input-field .input-pretab qdnapro-icon,
.qdnapro-input.input-readonly .input-field .input-posttab qdnapro-icon, .qdnapro-input.input-readonly .input-field:hover .input-pretab qdnapro-icon,
.qdnapro-input.input-readonly .input-field:hover .input-posttab qdnapro-icon, .qdnapro-input.input-readonly .input-field:focus-within .input-pretab qdnapro-icon,
.qdnapro-input.input-readonly .input-field:focus-within .input-posttab qdnapro-icon {
  color: #6b6f78;
}

.qdnapro-input .input-message {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 13px;
  line-height: 20px;
}

.qdnapro-input .input-message qdnapro-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.qdnapro-input .input-message-error {
  color: #c65a5a;
}

.qdnapro-input .input-message-warning {
  color: #ef8e02;
}

[data-theme=dark] .qdnapro-input .input-label {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-input .input-optional {
  color: #a6aab3;
}

[data-theme=dark] .qdnapro-input .input-hint {
  color: #a6aab3;
}

[data-theme=dark] .qdnapro-input .input-required {
  color: #f87171;
}

[data-theme=dark] .qdnapro-input .input-field {
  background: #0b0b0d;
  border-color: #565b66;
}

[data-theme=dark] .qdnapro-input .input-native {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-input.input-filled .input-field .input-native {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-input .input-native::placeholder {
  color: #898e99;
}

[data-theme=dark] .qdnapro-input .input-leading-icon,
[data-theme=dark] .qdnapro-input .input-trailing-icon {
  color: #898e99;
}

[data-theme=dark] .qdnapro-input.input-filled .input-leading-icon, [data-theme=dark] .qdnapro-input.input-filled .input-trailing-icon {
  color: #e1e3e6;
}

/* Currency-prefix in de donkere stand: EXPLICIET op de kleur die hij hier vandaag ook
   al heeft, zodat de basis-fix hierboven (#a6aab3 -> var(--c-text-muted)) het donkere
   thema niet meesleept. Dit is geen nieuwe keuze: in het donkere thema resolveert
   --c-text-muted naar --c-grey-400 en dat IS #a6aab3, dus de donkere stand verandert
   niet. De regel staat er omdat de basis nu een token gebruikt dat per thema iets
   anders betekent, en omdat de preview de tokens zelf niet definieert (daar zou de
   fallback #6e7280 anders op de bijna-zwarte donkere vulling belanden).
   Anders dan de placeholder en het leading-icoon had de prefix nog geen eigen donkere
   regel voor de lege stand, alleen voor gevuld/uitgeschakeld/alleen-lezen. */
[data-theme=dark] .qdnapro-input.input-type-currency .input-currency-prefix {
  color: #a6aab3;
}

[data-theme=dark] .qdnapro-input .input-field:hover {
  border-color: #666dae;
}

[data-theme=dark] .qdnapro-input.input-focus .input-field,
[data-theme=dark] .qdnapro-input .input-field:focus-within {
  border-color: #535ba4;
  box-shadow: 0 0 0 3px rgba(70, 82, 243, 0.4);
}

[data-theme=dark] .qdnapro-input.input-select .input-field {
  border-color: #535ba4;
  box-shadow: 0 0 0 3px rgba(70, 82, 243, 0.4);
}

[data-theme=dark] .qdnapro-input.input-success .input-field {
  border-color: #58b992;
  box-shadow: 0 0 0 3px rgba(139, 236, 197, 0.4);
}

[data-theme=dark] .qdnapro-input .input-state-success {
  color: #58b992;
}

[data-theme=dark] .qdnapro-input.input-error .input-field {
  border-color: #f98d8d;
  box-shadow: 0 0 0 3px rgba(249, 141, 141, 0.4);
}

[data-theme=dark] .qdnapro-input .input-state-error {
  color: #f87171;
}

[data-theme=dark] .qdnapro-input .input-message-error {
  color: #f87171;
}

[data-theme=dark] .qdnapro-input.input-warning .input-field {
  border-color: #ef8e02;
  box-shadow: 0 0 0 3px rgba(251, 191, 92, 0.4);
}

[data-theme=dark] .qdnapro-input .input-state-warning {
  color: #ef8e02;
}

[data-theme=dark] .qdnapro-input .input-message-warning {
  color: #ef8e02;
}

[data-theme=dark] .qdnapro-input.input-disabled .input-field {
  background: #40444d;
  border-color: transparent;
}

[data-theme=dark] .qdnapro-input.input-disabled .input-native {
  color: #6b7280;
}

[data-theme=dark] .qdnapro-input.input-disabled .input-leading-icon, [data-theme=dark] .qdnapro-input.input-disabled .input-trailing-icon {
  color: #6b7280;
}

[data-theme=dark] .qdnapro-input.input-readonly .input-field {
  background: transparent;
  border-color: #565b66;
}

[data-theme=dark] .qdnapro-input .input-pretab,
[data-theme=dark] .qdnapro-input .input-posttab {
  background: #40444d;
  color: #a6aab3;
}

[data-theme=dark] .qdnapro-input .input-pretab qdnapro-icon,
[data-theme=dark] .qdnapro-input .input-posttab qdnapro-icon {
  color: #a6aab3;
}

[data-theme=dark] .qdnapro-input .input-pretab {
  border-right-color: #565b66;
}

[data-theme=dark] .qdnapro-input .input-posttab {
  border-left-color: #565b66;
}

[data-theme=dark] .qdnapro-input .input-field-inner {
  background: #0b0b0d;
}

[data-theme=dark] .qdnapro-input.input-type-search .qdnapro-icon-btn.icon-btn-dropdown-search,
[data-theme=dark] .qdnapro-input .qdnapro-icon-btn.icon-btn-dropdown-search {
  background: #40444d;
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-input.input-type-search .qdnapro-icon-btn.icon-btn-dropdown-search:hover:not(.icon-btn-disabled),
[data-theme=dark] .qdnapro-input .qdnapro-icon-btn.icon-btn-dropdown-search:hover:not(.icon-btn-disabled) {
  background: #565b66;
}

[data-theme=dark] .qdnapro-input.input-type-phone .input-country-picker::after {
  background: #565b66;
}

[data-theme=dark] .qdnapro-input .input-ac-dropdown {
  background: #1f2028;
  border-color: #565b66;
}

[data-theme=dark] .qdnapro-input .input-ac-item {
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-input .input-ac-item:hover, [data-theme=dark] .qdnapro-input .input-ac-item.input-ac-item-active {
  background: #565b66;
}

[data-theme=dark] .qdnapro-input .input-ac-item strong {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-input .input-ac-empty,
[data-theme=dark] .qdnapro-input .input-ac-loading {
  color: #a6aab3;
}

[data-theme=dark] .qdnapro-input .input-ac-error {
  color: #f87171;
}

[data-theme=dark] .qdnapro-input .input-ac-spinner {
  border-color: #565b66;
  border-top-color: #4652f3;
}

/* === theme: glass — added 2026-06-08 ===
   Translucent fields for use on a dark / coloured surface (e.g. the login
   stage). Same structure and behaviour as the default input; only the colours
   change. Activate by setting data-theme="glass" on an ancestor (the login
   form does this). Focus ring uses the login lila accent. */
[data-theme=glass] .qdnapro-input .input-field {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.28);
}

[data-theme=glass] .qdnapro-input .input-field .input-native {
  color: #ffffff;
}

[data-theme=glass] .qdnapro-input .input-field .input-native::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

[data-theme=glass] .qdnapro-input .input-leading-icon,
[data-theme=glass] .qdnapro-input .input-trailing-icon {
  color: rgba(255, 255, 255, 0.75);
}

[data-theme=glass] .qdnapro-input.input-filled .input-leading-icon,
[data-theme=glass] .qdnapro-input.input-filled .input-trailing-icon {
  color: #ffffff;
}

/* Currency-prefix op glas: net als bij het donkere thema hierboven expliciet op de
   kleur die hij vandaag ook al heeft, zodat de basis-fix de doorschijnende vulling op
   de donkere loginachtergrond niet meesleept (daar zou #6e7280 juist SLECHTER worden).
   Puur behoud, geen nieuwe kleurkeuze. Openstaand puntje voor later: glas zet zijn
   placeholder op rgba(255,255,255,0.7) en zijn iconen op 0.75, dus strikt genomen
   hoort de prefix daar ook in die reeks mee en niet op een grijs uit het lichte
   palet. Dat is een aparte designkeuze en is hier niet gemaakt. */
[data-theme=glass] .qdnapro-input.input-type-currency .input-currency-prefix {
  color: #a6aab3;
}

[data-theme=glass] .qdnapro-input .input-field:hover {
  border-color: rgba(255, 255, 255, 0.45);
}

[data-theme=glass] .qdnapro-input.input-focus .input-field,
[data-theme=glass] .qdnapro-input .input-field:focus-within {
  border-color: #9a8fff;
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0 0 0 3px rgba(154, 143, 255, 0.35);
}

/* Trailing icon buttons (password eye-toggle, clear-x) on glass. */
[data-theme=glass] .qdnapro-input .input-trailing .qdnapro-icon-btn.icon-btn-input-icon {
  color: rgba(255, 255, 255, 0.75);
}

[data-theme=glass] .qdnapro-input .input-trailing .qdnapro-icon-btn.icon-btn-input-icon:hover:not(.icon-btn-disabled) {
  background-color: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

/* State accents kept legible on the dark surface. */
[data-theme=glass] .qdnapro-input.input-error .input-field {
  border-color: #f98d8d;
  box-shadow: 0 0 0 3px rgba(249, 141, 141, 0.4);
}

[data-theme=glass] .qdnapro-input .input-state-error,
[data-theme=glass] .qdnapro-input .input-message-error {
  color: #f98d8d;
}

[data-theme=glass] .qdnapro-input.input-success .input-field {
  border-color: #58b992;
}

[data-theme=glass] .qdnapro-input .input-state-success {
  color: #8becc5;
}

/* === type: date — added 2026-05-11 (compiled from _input.scss) === */
.qdnapro-input.input-type-date .input-native::-webkit-calendar-picker-indicator {
  display: none;
}

.qdnapro-input.input-type-date .input-native {
  text-align: left;
  min-width: 0;
}

[data-theme=dark] .qdnapro-input.input-type-date .input-native::-webkit-calendar-picker-indicator {
  display: none;
}

/* === type: time — added 2026-06-19 (native <input type="time">, mirrors date) === */
.qdnapro-input.input-type-time .input-native::-webkit-calendar-picker-indicator {
  display: none;
}

.qdnapro-input.input-type-time .input-native {
  text-align: left;
  min-width: 0;
}

[data-theme=dark] .qdnapro-input.input-type-time .input-native::-webkit-calendar-picker-indicator {
  display: none;
}

/* === date/time empty-state placeholder (added 2026-06-19) ===
   When nothing is entered, show the dd/mm/yyyy (and HH:mm) format text in the same
   light-grey placeholder colour as other inputs (like the currency "0,00"); the
   value turns dark once filled (.input-filled). [Kim]
   Meegetrokken met de basis-placeholder-fix (besluit 78, klus 4b, 31.07.2026): deze
   regel gebruikte bewust dezelfde kleur als de basis-placeholder ("in the same
   light-grey placeholder colour as other inputs"), dus zonder deze mee te nemen
   zou alleen dit type de oude, te lichte 1.91:1-kleur houden. */
.qdnapro-input.input-type-date:not(.input-filled) .input-native,
.qdnapro-input.input-type-time:not(.input-filled) .input-native {
  color: var(--c-text-muted);
}

[data-theme=dark] .qdnapro-input.input-type-date:not(.input-filled) .input-native,
[data-theme=dark] .qdnapro-input.input-type-time:not(.input-filled) .input-native {
  color: #898e99;
}

/* === variant: round (pill-shape) — PWA only [2026-06-30] ===
   Boolean attribute `round`. Rounds the field to a pill shape with
   slightly wider horizontal padding so the content breathes at the
   curved edges. Internal icon-btns already use border-radius: 50%
   so their hover circles stay round. The right trailing edge gets
   a small negative margin to keep the last icon optically centred. */
.qdnapro-input.input-round .input-field {
  border-radius: 9999px;
  padding-left: 20px;
  padding-right: 12px;
}

.qdnapro-input.input-round .input-field .input-trailing {
  margin-right: 4px;
}

/* === variant: dark-purple [2026-06-30] ===
   Boolean attribute `dark-purple`. Deep-purple surface for use on
   purple-background pages (PWA list_page search, login, etc.).
   Tokens: surface=--c-purple-700, text=--c-purple-50,
   placeholder/icons=--c-purple-300, label=--c-white-04, hint=--c-purple-300.
   Focus ring unchanged (brand purple border). */
.qdnapro-input.input-dark-purple .input-field {
  background: var(--c-purple-700);
  border-color: transparent;
  transition: background-color 120ms ease-out, border-color 120ms ease-out;
}

.qdnapro-input.input-dark-purple .input-field:hover {
  background: var(--c-purple-600);
  border-color: transparent;
}

.qdnapro-input.input-dark-purple .input-field:focus-within {
  border-color: var(--c-brand);
  background: var(--c-purple-700);
}

.qdnapro-input.input-dark-purple .input-field .input-native {
  color: var(--c-purple-50);
}

.qdnapro-input.input-dark-purple .input-field .input-native::placeholder {
  color: var(--c-purple-300);
  font-weight: 500;
}

.qdnapro-input.input-dark-purple .input-field .input-leading-icon {
  color: var(--c-purple-300);
}

.qdnapro-input.input-dark-purple .input-label {
  color: var(--c-white-04);
}

.qdnapro-input.input-dark-purple .input-hint {
  color: var(--c-purple-300);
}

/* Clear-x, spinner ±, and eye-toggle icon-btns inside dark-purple */
.qdnapro-input.input-dark-purple .input-trailing .qdnapro-icon-btn.icon-btn-input-icon {
  color: var(--c-purple-50);
}

.qdnapro-input.input-dark-purple .input-trailing .qdnapro-icon-btn.icon-btn-input-icon:hover:not(.icon-btn-disabled) {
  background-color: var(--c-purple-600);
  color: var(--c-purple-50);
}

/* === variant: grey [2026-07-31] ===
   Boolean attribute `grey`. Light-grey surface (--c-grey-100) so the field
   stands out against a white background instead of blending into it - built
   for the app-header search field (qdnapro-app-header slot="search"), but
   usable anywhere a field sits directly on white/near-white.
   No border of its own: the grey fill IS the shape (per Kim), same idea as
   dark-purple's border-color: transparent on its own surface.
   Placeholder/icon colours are left at their normal (non-grey) values on
   purpose: grey-100 (#e7e9ec) is close enough to white in luminance that
   the default grey-400 placeholder/icon colour still reads fine on it - a
   dedicated darker placeholder token was not needed the way dark-purple
   needed one for its much-lower-contrast dark surface.
   Combining with dark-purple is a no-op: see qdna-input.js render(), grey
   is ignored whenever dark-purple is also set. */
.qdnapro-input.input-grey .input-field {
  background: var(--c-grey-100, #e7e9ec);
  border-color: transparent;
}

.qdnapro-input.input-grey .input-field:hover {
  border-color: transparent;
}

/* Placeholder DONKERDER op de grijze vulling (Kim, 31.07.2026: "nu lijkt het veld
   ook disabled omdat de placeholder tekst te licht is, die moet echt donkerder").
   Gemeten met de WCAG-formule, niet op het oog:
     de standaard-placeholder #a6aab3 op #e7e9ec  -> 1.91:1
     de DISABLED-placeholder  #898e99 op #e7e9ec  -> 2.70:1
   De gewone placeholder was dus LICHTER dan de uitgeschakelde stand, en daarom las
   een leeg veld als een veld dat je niet mag gebruiken. Dat was een fout in de BASIS
   van dit component en niet alleen in deze variant; toen dit hier gebouwd werd, was
   de fix nog gescoped tot de grijze variant en geflagd voor Kim (de basis raakt elke
   input in de backoffice en de app, dat niemand gevraagd had). Besluit 78 / klus 4b
   (31.07.2026) heeft de basis zelf ook op var(--c-text-muted) gezet (zie de
   basis-regel bovenin dit bestand), dus deze regel hier is nu strikt genomen
   overbodig geworden (de basis levert al dezelfde kleur) maar blijft staan als
   expliciete, zelfstandige garantie voor deze variant.
   var(--c-text-muted) geeft 3.94:1, ruim boven de disabled-stand en boven de 3:1 die
   WCAG voor grote/secundaire tekst aanhoudt. */
.qdnapro-input.input-grey .input-field .input-native::placeholder {
  color: var(--c-text-muted);
}

/* En het loep-icoontje ervoor mee, anders blijft dat als enige licht achter en leest
   de rij nog steeds als uitgeschakeld. */
.qdnapro-input.input-grey .input-field .input-leading-icon {
  color: var(--c-text-muted);
}

/* Focus ring: restated here (not inherited from the base :focus-within
   rule) for the same reason dark-purple restates its own - the plain
   border-color: transparent rule above has equal selector specificity to
   the base ".qdnapro-input .input-field:focus-within" rule and comes later
   in the file, so without this override it would win on focus too and the
   ring would silently disappear.
   Token: var(--c-brand-purple) rather than dark-purple's var(--c-brand) -
   that token is not defined anywhere in this codebase (checked: absent from
   design-tokens/_design-tokens.scss and the compiled style-v1.css), so
   dark-purple's focus-within border-color is very likely a pre-existing,
   silently-broken rule. Not fixed here (out of scope for this task, and
   _input.scss for dark-purple is being read, not rewritten) - flagging it
   in the handoff instead of copying the same undefined token forward. */
.qdnapro-input.input-grey .input-field:focus-within {
  border-color: var(--c-brand-purple);
  background: var(--c-grey-100, #e7e9ec);
}

.qdnapro-label-circle {
  --lc-size: 44px;
  --lc-icon-size: 16px;
  --lc-bg: #f0f1f2;
  --lc-icon: #1e1f20;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--lc-size);
  height: var(--lc-size);
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--lc-bg);
  color: var(--lc-icon);
  user-select: none;
}

.qdnapro-label-circle .label-circle-icon {
  display: inline-flex;
  width: var(--lc-icon-size);
  height: var(--lc-icon-size);
  color: inherit;
  pointer-events: none;
}

.qdnapro-label-circle .label-circle-icon svg {
  fill: currentColor;
  width: 100%;
  height: 100%;
}

.qdnapro-label-circle.label-circle-size-big {
  --lc-size: 44px;
  --lc-icon-size: 16px;
}

.qdnapro-label-circle.label-circle-size-small {
  --lc-size: 20px;
  --lc-icon-size: 12px;
  outline: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  outline-offset: -1px;
}

.qdnapro-label-circle.label-circle-color-grey {
  --lc-bg: #f0f1f2;
  --lc-icon: #1e1f20;
}

.qdnapro-label-circle.label-circle-color-grey-2 {
  --lc-bg: #c4c7cc;
  --lc-icon: #1e1f20;
}

.qdnapro-label-circle.label-circle-color-red {
  --lc-bg: #fee3e3;
  --lc-icon: #633030;
}

.qdnapro-label-circle.label-circle-color-red-2 {
  --lc-bg: #fbaaaa;
  --lc-icon: #633030;
}

.qdnapro-label-circle.label-circle-color-yellow {
  --lc-bg: #fef6db;
  --lc-icon: #655522;
}

.qdnapro-label-circle.label-circle-color-yellow-2 {
  --lc-bg: #fde594;
  --lc-icon: #655522;
}

.qdnapro-label-circle.label-circle-color-green {
  --lc-bg: #e2faf1;
  --lc-icon: #2f5d4a;
}

.qdnapro-label-circle.label-circle-color-green-2 {
  --lc-bg: #8becc5;
  --lc-icon: #2f5d4a;
}

.qdnapro-label-circle.label-circle-color-blue {
  --lc-bg: #e6eff9;
  --lc-icon: #37475a;
}

.qdnapro-label-circle.label-circle-color-blue-2 {
  --lc-bg: #b5ceed;
  --lc-icon: #37475a;
}

.qdnapro-label-circle.label-circle-color-bright-blue {
  --lc-bg: #85a1ec;
  --lc-icon: #192a5a;
}

.qdnapro-label-circle.label-circle-color-bright-blue-2 {
  --lc-bg: #d6e0f9;
  --lc-icon: #192a5a;
}

.qdnapro-label-circle.label-circle-color-pink {
  --lc-bg: #f6e1e8;
  --lc-icon: #562d3a;
}

.qdnapro-label-circle.label-circle-color-dark-pink {
  --lc-bg: #e5a6b9;
  --lc-icon: #562d3a;
}

.qdnapro-label-circle.label-circle-color-purple {
  --lc-bg: #ebe9fb;
  --lc-icon: #413b5e;
}

.qdnapro-label-circle.label-circle-color-dark-purple {
  --lc-bg: #c4bcf3;
  --lc-icon: #413b5e;
}

.qdnapro-label-circle.label-circle-disabled {
  opacity: 0.6;
}

/* Additive status-* colors (16.07.2026 — planner status filter). Solid dots
   (bg == icon color, no light-tint pairing like the 16 colors above) mapped
   1:1 to qdnapro-event-card's own status tokens (see _event-card.scss:
   --c-purple-500, --c-signal-red/-orange/-green-text) — these are used
   icon-less (a pure color indicator, see qdna-menu-item.js), so only --lc-bg
   is ever visible; --lc-icon is set to the same value for consistency should
   an icon ever be added. No dark-theme override: event-card itself has none
   for these tokens either (raw signal primitives, not re-themed). First-
   class here (not a menu-item-scoped override) because this component's own
   render() unconditionally rewrites className on every re-render, which
   silently discarded any externally-added class-based override before this
   fix (Kim's live test, 16.07.2026 — filter dots rendered grey/empty). */
.qdnapro-label-circle.label-circle-color-status-planned {
  --lc-bg: var(--c-purple-500, #40499a);
  --lc-icon: var(--c-purple-500, #40499a);
}

.qdnapro-label-circle.label-circle-color-status-overdue {
  --lc-bg: var(--c-signal-red-text, #c65a5a);
  --lc-icon: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-label-circle.label-circle-color-status-inprogress {
  --lc-bg: var(--c-signal-orange-text, #bc6a1f);
  --lc-icon: var(--c-signal-orange-text, #bc6a1f);
}

.qdnapro-label-circle.label-circle-color-status-complete {
  --lc-bg: var(--c-signal-green-text, #428b6e);
  --lc-icon: var(--c-signal-green-text, #428b6e);
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-grey {
  --lc-bg: #565b66;
  --lc-icon: #e1e3e6;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-grey-2 {
  --lc-bg: #40444d;
  --lc-icon: #e1e3e6;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-red {
  --lc-bg: #5a2b2b;
  --lc-icon: #fbaaaa;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-red-2 {
  --lc-bg: #7a3838;
  --lc-icon: #fee3e3;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-yellow {
  --lc-bg: #5a4d1f;
  --lc-icon: #fde594;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-yellow-2 {
  --lc-bg: #7a6b2d;
  --lc-icon: #fef6db;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-green {
  --lc-bg: #2a5544;
  --lc-icon: #8becc5;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-green-2 {
  --lc-bg: #3d7a62;
  --lc-icon: #e2faf1;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-blue {
  --lc-bg: #2e3e54;
  --lc-icon: #b5ceed;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-blue-2 {
  --lc-bg: #445a78;
  --lc-icon: #e6eff9;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-bright-blue {
  --lc-bg: #3a4a8a;
  --lc-icon: #d6e0f9;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-bright-blue-2 {
  --lc-bg: #2a3560;
  --lc-icon: #85a1ec;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-pink {
  --lc-bg: #4e2a36;
  --lc-icon: #e5a6b9;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-dark-pink {
  --lc-bg: #6e3d50;
  --lc-icon: #f6e1e8;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-purple {
  --lc-bg: #3a3555;
  --lc-icon: #c4bcf3;
}

[data-theme=dark] .qdnapro-label-circle.label-circle-color-dark-purple {
  --lc-bg: #524a7a;
  --lc-icon: #ebe9fb;
}

/* === BEGIN QDNA-LOGO CSS === */
.qdnapro-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  color: inherit;
  line-height: 1;
  user-select: none;
  flex-shrink: 0;
}

.qdnapro-logo svg {
  display: block;
  height: 100%;
  width: auto;
  fill: currentColor;
}

/* === END QDNA-LOGO CSS === */
.qdnapro-members {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px 4px 4px;
  border-radius: 999px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 150ms ease;
}

.qdnapro-members:focus {
  outline: none;
}

.qdnapro-members:focus-visible {
  outline: 2px solid #40499a;
  outline-offset: 2px;
}

.qdnapro-members.members-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* Trailing "+" circle. Same height as a 34px avatar so it visually
   lines up. Stroke-only SVG so it renders white over photos and
   purple on light surfaces via currentColor. */
.qdnapro-members .members-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid transparent;
  transition: background-color 150ms ease, border-color 150ms ease;
}

.qdnapro-members .members-add svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
}

/* --- Tone: on-photo (default) - glass over imagery. --- */
.qdnapro-members.members-tone-on-photo {
  color: #ffffff;
}

.qdnapro-members.members-tone-on-photo:hover:not(.members-disabled) {
  background: rgba(255, 255, 255, 0.12);
}

.qdnapro-members.members-tone-on-photo .members-add {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #ffffff;
}

.qdnapro-members.members-tone-on-photo:hover:not(.members-disabled) .members-add {
  background: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.42);
}

/* --- Tone: light - on a light surface (cards, panels). --- */
.qdnapro-members.members-tone-light {
  color: #40499a;
}

.qdnapro-members.members-tone-light:hover:not(.members-disabled) {
  background: rgba(70, 82, 243, 0.06);
}

.qdnapro-members.members-tone-light .members-add {
  background: #ffffff;
  border-color: #c4c7cc;
  color: #40499a;
}

.qdnapro-members.members-tone-light:hover:not(.members-disabled) .members-add {
  background: #f0f1f2;
  border-color: #898e99;
}

[data-theme=dark] .qdnapro-members.members-tone-light {
  color: #a5acff;
}

[data-theme=dark] .qdnapro-members.members-tone-light:hover:not(.members-disabled) {
  background: rgba(165, 172, 255, 0.1);
}

[data-theme=dark] .qdnapro-members.members-tone-light .members-add {
  background: #2e3036;
  border-color: #40444d;
  color: #a5acff;
}

[data-theme=dark] .qdnapro-members.members-tone-light:hover:not(.members-disabled) .members-add {
  background: #40444d;
}

.qdnapro-menu {
  display: inline-flex;
  flex-direction: column;
  box-sizing: border-box;
  min-width: 160px;
  padding: 8px;
  border-radius: 8px;
  gap: 4px;
}

.qdnapro-menu > qdnapro-menu-item,
.qdnapro-menu > qdnapro-menu-separator,
.qdnapro-menu > qdnapro-menu-section-heading,
.qdnapro-menu > qdnapro-menu-header {
  width: 100%;
}

.qdnapro-menu.menu-color-neutral {
  background: #ffffff;
  border: 1px solid #c4c7cc;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15), 0 8px 12px 6px rgba(0, 0, 0, 0.075);
}

.qdnapro-menu.menu-color-action {
  background: #40499a;
  border: 0.5px solid #333a7b;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.075), 0 1px 2px 0 rgba(0, 0, 0, 0.15);
}

.qdnapro-menu.menu-embedded {
  min-width: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.qdnapro-menu-header {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 8px 16px;
  box-sizing: border-box;
}

.qdnapro-menu-header .menu-header-heading {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.qdnapro-menu-header .menu-header-subheading {
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
}

.qdnapro-menu-header.menu-header-color-neutral .menu-header-heading {
  color: #0b0b0d;
}

.qdnapro-menu-header.menu-header-color-neutral .menu-header-subheading {
  color: #6b7280;
}

.qdnapro-menu-header.menu-header-color-action .menu-header-heading {
  color: #ffffff;
}

.qdnapro-menu-header.menu-header-color-action .menu-header-subheading {
  color: rgba(255, 255, 255, 0.7);
}

.qdnapro-menu-separator {
  display: block;
  height: 1px;
  margin: 8px 0;
  border: none;
  box-sizing: content-box;
}

.qdnapro-menu-separator.menu-separator-color-neutral {
  background: #e5e7eb;
}

.qdnapro-menu-separator.menu-separator-color-action {
  background: rgba(255, 255, 255, 0.16);
}

.qdnapro-menu-section-heading {
  display: block;
  box-sizing: border-box;
  padding: 0 4px;
  margin-top: 4px;
  font-family: "Inter", sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0;
  user-select: none;
}

.qdnapro-menu-section-heading.menu-section-heading-color-neutral {
  color: #6b7280;
}

.qdnapro-menu-section-heading.menu-section-heading-color-action {
  color: rgba(255, 255, 255, 0.7);
}

[data-theme=dark] .qdnapro-menu.menu-color-neutral {
  background: #2e3036;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.3), 0 8px 12px 6px rgba(0, 0, 0, 0.2);
}

[data-theme=dark] .qdnapro-menu.menu-color-action {
  background: #333a7b;
  border: 0.5px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.2), 0 1px 2px 0 rgba(0, 0, 0, 0.3);
}

[data-theme=dark] .qdnapro-menu .qdnapro-menu-header.menu-header-color-neutral .menu-header-heading {
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-menu .qdnapro-menu-header.menu-header-color-neutral .menu-header-subheading {
  color: rgba(225, 227, 230, 0.65);
}

[data-theme=dark] .qdnapro-menu .qdnapro-menu-separator.menu-separator-color-neutral {
  background: rgba(255, 255, 255, 0.12);
}

[data-theme=dark] .qdnapro-menu .qdnapro-menu-separator.menu-separator-color-action {
  background: rgba(255, 255, 255, 0.2);
}

[data-theme=dark] .qdnapro-menu .qdnapro-menu-section-heading.menu-section-heading-color-neutral {
  color: rgba(225, 227, 230, 0.6);
}

.qdnapro-menu-item {
  --mi-text: #0b0b0d;
  --mi-text-muted: rgba(11, 11, 13, 0.55);
  --mi-icon: #0b0b0d;
  --mi-bg: transparent;
  --mi-bg-hover: #f5f6f8;
  --mi-bg-pressed: #e1e3e6;
  --mi-bg-selected: #f0f1f2;
  --mi-disabled-text: #898e99;
  --mi-destructive-text: #c4362a;
  --mi-destructive-bg-hover: #FEECEC;
  --mi-focus-ring: #40499a;
  --mi-focus-glow: rgba(70, 82, 243, 0.25);
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  background: var(--mi-bg);
  color: var(--mi-text);
  cursor: pointer;
  user-select: none;
  font-family: inherit;
  border: 0 solid transparent;
  transition: background-color 100ms ease-out;
}

.qdnapro-menu-item .menu-item-icon,
.qdnapro-menu-item .menu-item-chevron,
.qdnapro-menu-item .menu-item-check {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--mi-icon);
  pointer-events: none;
}

.qdnapro-menu-item .menu-item-icon svg,
.qdnapro-menu-item .menu-item-chevron svg,
.qdnapro-menu-item .menu-item-check svg {
  fill: currentColor;
  width: 100%;
  height: 100%;
}

.qdnapro-menu-item .menu-item-chevron,
.qdnapro-menu-item .menu-item-check {
  opacity: 0.85;
}

.qdnapro-menu-item .menu-item-label {
  flex: 1 0 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qdnapro-menu-item .menu-item-shortcut {
  flex-shrink: 0;
  color: var(--mi-text-muted);
  font-family: "Menlo", "Monaco", monospace;
  letter-spacing: 0.3px;
}

/* Trailing area — a count pill (always visible) and/or hover-revealed action
   buttons (open + remove), grouped at the end of the row. The pill stays put;
   the actions fade in on hover/focus so the row is clean at rest. [Kim 2026-06-15] */
.qdnapro-menu-item .menu-item-trailing {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  margin-left: 6px;
}

.qdnapro-menu-item .menu-item-pill {
  flex-shrink: 0;
}

/* Tag — a real qdnapro-tag on the trailing edge (status label:
   "Nieuw" / "Pro" / "Beta"). The label's flex:1 pushes it right; it sits
   BEFORE the trailing slot so it coexists with a chevron/check/pill.
   flex-shrink:0 so it never squashes (the label truncates first). Disabled
   row fades the tag (opacity 0.4, same treatment as the avatar). [Kim 2026-07-20] */
.qdnapro-menu-item .menu-item-tag {
  flex-shrink: 0;
}

.qdnapro-menu-item.menu-item-disabled .menu-item-tag {
  opacity: 0.4;
}

/* Tag-as-label mode — the tag IS the row content (left after the leading
   slot), for checkbox + coloured-tag category pickers. The wrapper takes the
   flex:1 label slot so the tag hugs its content on the left and the row keeps
   a consistent height; long tag text clips at the wrapper edge. [Kim 2026-07-20] */
.qdnapro-menu-item .menu-item-tag-label {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.qdnapro-menu-item .menu-item-tag-label .menu-item-tag {
  max-width: 100%;
}

.qdnapro-menu-item .menu-item-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.qdnapro-menu-item.menu-item-with-actions:hover .menu-item-actions,
.qdnapro-menu-item.menu-item-with-actions:focus-within .menu-item-actions {
  opacity: 1;
}

.qdnapro-menu-item .menu-item-badge {
  flex-shrink: 0;
  background: rgba(0, 0, 0, 0.1);
  color: var(--mi-text);
  font-weight: 600;
  text-align: center;
}

.qdnapro-menu-item.menu-item-size-default {
  gap: 12px;
  min-height: 40px;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 24px;
}

.qdnapro-menu-item.menu-item-size-default .menu-item-icon {
  width: 24px;
  height: 24px;
}

.qdnapro-menu-item.menu-item-size-default .menu-item-chevron {
  width: 24px;
  height: 24px;
}

.qdnapro-menu-item.menu-item-size-default .menu-item-check {
  width: 16px;
  height: 16px;
}

.qdnapro-menu-item.menu-item-size-default .menu-item-shortcut {
  font-size: 12px;
}

.qdnapro-menu-item.menu-item-size-default .menu-item-badge {
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 9px;
  font-size: 11px;
  line-height: 18px;
}

.qdnapro-menu-item.menu-item-size-small {
  gap: 12px;
  min-height: 28px;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  line-height: 20px;
}

.qdnapro-menu-item.menu-item-size-small .menu-item-icon {
  width: 16px;
  height: 16px;
}

.qdnapro-menu-item.menu-item-size-small .menu-item-chevron {
  width: 16px;
  height: 16px;
}

.qdnapro-menu-item.menu-item-size-small .menu-item-check {
  width: 16px;
  height: 16px;
}

.qdnapro-menu-item.menu-item-size-small .menu-item-shortcut {
  font-size: 11px;
}

.qdnapro-menu-item.menu-item-size-small .menu-item-badge {
  min-width: 16px;
  height: 16px;
  padding: 0 5px;
  border-radius: 8px;
  font-size: 10px;
  line-height: 16px;
}

.qdnapro-menu-item:hover:not(.menu-item-disabled):not(.menu-item-active) {
  background: var(--mi-bg-hover);
}

.qdnapro-menu-item:active:not(.menu-item-disabled) {
  background: var(--mi-bg-pressed);
  background-image: none;
}

.qdnapro-menu-item:focus {
  outline: none;
}

.qdnapro-menu-item:focus-visible, .qdnapro-menu-item.force-focus {
  outline: 2px solid var(--mi-focus-ring);
  outline-offset: -2px;
  box-shadow: 0 0 0 4px var(--mi-focus-glow);
}

.qdnapro-menu-item.menu-item-active {
  background: var(--mi-bg-selected);
}

.qdnapro-menu-item.force-hover:not(.menu-item-disabled):not(.menu-item-active) {
  background: var(--mi-bg-hover);
}

.qdnapro-menu-item.force-pressed:not(.menu-item-disabled) {
  background: var(--mi-bg-pressed);
  background-image: none;
}

.qdnapro-menu-item.menu-item-disabled {
  color: var(--mi-disabled-text) !important;
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-menu-item.menu-item-disabled .menu-item-icon,
.qdnapro-menu-item.menu-item-disabled .menu-item-chevron,
.qdnapro-menu-item.menu-item-disabled .menu-item-check {
  color: var(--mi-disabled-text);
}

/* Fade illustrative leading visuals (coloured activity-icon, avatar, file-icon)
   when the row is disabled — they don't pick up the text colour, so without this
   they stay vivid and the row doesn't read as disabled. NB: target the element
   TAGS, not the menu-item-* classes — qdnapro-activity-icon / qdnapro-file-icon
   overwrite their own className on render, so the class selectors never match.
   [Kim 2026-06-15] */
.qdnapro-menu-item.menu-item-disabled qdnapro-activity-icon,
.qdnapro-menu-item.menu-item-disabled .menu-item-avatar-wrap,
.qdnapro-menu-item.menu-item-disabled qdnapro-file-icon {
  opacity: 0.5;
}

.qdnapro-menu-item.menu-item-variant-destructive:not(.menu-item-disabled) {
  --mi-bg-hover: var(--mi-destructive-bg-hover);
  color: var(--mi-destructive-text);
}

.qdnapro-menu-item.menu-item-variant-destructive:not(.menu-item-disabled) .menu-item-icon,
.qdnapro-menu-item.menu-item-variant-destructive:not(.menu-item-disabled) .menu-item-chevron,
.qdnapro-menu-item.menu-item-variant-destructive:not(.menu-item-disabled) .menu-item-check {
  color: var(--mi-destructive-text);
}

.qdnapro-menu-item .menu-item-activity-icon {
  flex-shrink: 0;
  margin-right: -8px;
}

.qdnapro-menu-item.menu-item-disabled .menu-item-activity-icon {
  opacity: 0.3;
}

.qdnapro-menu-item .menu-item-circle {
  flex-shrink: 0;
  margin-right: -4px;
}

.qdnapro-menu-item.menu-item-with-circle .menu-item-label {
  margin-left: 0;
}

.qdnapro-menu-item.menu-item-with-checkbox.menu-item-size-default {
  padding: 8px 4px;
}

.qdnapro-menu-item.menu-item-with-checkbox.menu-item-size-small {
  padding: 4px;
}

.qdnapro-menu-item.menu-item-with-checkbox .menu-item-checkbox-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0 4px;
  pointer-events: none;
}

.qdnapro-menu-item.menu-item-with-checkbox .menu-item-checkbox {
  pointer-events: none;
}

.qdnapro-menu-item.menu-item-with-avatar.menu-item-size-default {
  padding: 8px 4px;
}

.qdnapro-menu-item.menu-item-with-avatar.menu-item-size-small {
  padding: 4px;
  /* Small + avatar (e.g. a user-picker qdnapro-select): the default 12px row
     gap plus the avatar-wrap side padding left the radio, avatar and label too
     far apart. Tighten so avatar + label read as one unit. [Kim 2026-07-20] */
  gap: 6px;
}

.qdnapro-menu-item.menu-item-with-avatar.menu-item-size-small .menu-item-avatar-wrap {
  padding: 0 1px;
}

.qdnapro-menu-item.menu-item-with-avatar .menu-item-avatar-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0 4px;
  pointer-events: none;
}

.qdnapro-menu-item.menu-item-with-avatar .menu-item-avatar {
  pointer-events: none;
}

.qdnapro-menu-item.menu-item-with-avatar.menu-item-disabled .menu-item-avatar-wrap {
  opacity: 0.4;
}

.qdnapro-menu-item.menu-item-with-radio.menu-item-size-default {
  padding: 8px 4px;
}

.qdnapro-menu-item.menu-item-with-radio.menu-item-size-small {
  padding: 4px;
}

.qdnapro-menu-item.menu-item-with-radio .menu-item-radio-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0 4px;
  pointer-events: none;
}

.qdnapro-menu-item.menu-item-with-radio .menu-item-radio {
  pointer-events: none;
}

.qdnapro-menu-item.menu-item-color-action {
  --mi-text: #ffffff;
  --mi-text-muted: rgba(255, 255, 255, 0.7);
  --mi-icon: #ffffff;
  --mi-bg-hover: rgba(255, 255, 255, 0.08);
  --mi-bg-pressed: rgba(255, 255, 255, 0.22);
  --mi-bg-selected: rgba(255, 255, 255, 0.16);
  --mi-disabled-text: #8c92c2;
  --mi-destructive-text: #ff9b9b;
  --mi-destructive-bg-hover: rgba(255, 155, 155, 0.18);
  --mi-focus-ring: #ffffff;
  --mi-focus-glow: rgba(255, 255, 255, 0.25);
}

.qdnapro-menu-item.menu-item-color-action .menu-item-badge {
  background: rgba(255, 255, 255, 0.22);
  color: #ffffff;
}

[data-theme=dark] .qdnapro-menu-item {
  --mi-text: #e1e3e6;
  --mi-text-muted: rgba(225, 227, 230, 0.6);
  --mi-icon: #e1e3e6;
  --mi-bg-hover: rgba(255, 255, 255, 0.06);
  --mi-bg-pressed: rgba(255, 255, 255, 0.14);
  --mi-bg-selected: rgba(255, 255, 255, 0.10);
  --mi-disabled-text: #6b7280;
  --mi-destructive-text: #ff9b9b;
  --mi-destructive-bg-hover: rgba(255, 155, 155, 0.14);
  --mi-focus-ring: #a5acff;
  --mi-focus-glow: rgba(70, 82, 243, 0.4);
}

[data-theme=dark] .qdnapro-menu-item .menu-item-badge {
  background: rgba(255, 255, 255, 0.14);
  color: var(--mi-text);
}

[data-theme=dark] .qdnapro-menu-item.menu-item-color-action {
  --mi-bg-hover: rgba(255, 255, 255, 0.10);
  --mi-bg-pressed: rgba(255, 255, 255, 0.24);
  --mi-bg-selected: rgba(255, 255, 255, 0.18);
}

/* === description variant — label + sub-text (Figma 9794:243715) === */
.qdnapro-menu-item {
  --mi-description-text: #6b7280;
}

[data-theme=dark] .qdnapro-menu-item {
  --mi-description-text: #898e99;
}

.qdnapro-menu-item.menu-item-color-action {
  --mi-description-text: rgba(255, 255, 255, 0.7);
}

.qdnapro-menu-item .menu-item-label-group {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.qdnapro-menu-item .menu-item-label-group .menu-item-label {
  flex: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-menu-item .menu-item-description {
  font-size: 10px;
  line-height: 14px;
  color: var(--mi-description-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 400;
}

.qdnapro-menu-item.menu-item-disabled .menu-item-description {
  color: var(--mi-disabled-text);
}

/* === END description variant CSS === */
/* === Mandatory marker (red asterisk before the label) — matches the unit-card
   mandatory convention (#DE5066). Prefixed inside .menu-item-label so it stays
   glued to the name and clips together with it. [Kim 2026-07-15] === */
.qdnapro-menu-item .menu-item-label .menu-item-mandatory-mark {
  color: #DE5066;
  font-weight: 700;
  margin-right: 3px;
}

/* Status circle-color values (planner status filter, 16.07.2026) used to be
   painted here via a menu-item-scoped override class (.menu-item-circle-
   status-*) instead of label-circle's own `color` attribute, because those
   4 names didn't exist in qdnapro-label-circle's VALID_COLORS. That override
   never actually worked: label-circle's own render() unconditionally
   rewrites its className on every re-render (see qdna-label-circle.js), so
   the override class was wiped the instant the circle connected to the DOM
   — every status dot rendered grey/empty (Kim's live test, 16.07.2026).
   Fixed at the real cause: the 4 status-* names are now first-class colors
   on qdnapro-label-circle itself (see _label-circle.scss) and passed
   through as a normal `color` attribute from qdna-menu-item.js — nothing
   menu-item-scoped left to override here. */
/* ============================================================
   qdnapro-modal compiled CSS
   Extracted from qdna-modal-preview.html so the bundle can ship
   modal styling to any v1/v2 page (Kim 2026-05-29).
   Two-layer card: outer GREY frame around inner WHITE window.
   ============================================================ */
.qdnapro-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9000;
  pointer-events: none;
}

.qdnapro-modal.modal-open {
  display: flex;
  pointer-events: auto;
}

/* Bootstrap (globally loaded in v1) defines .modal-dialog with
   `pointer-events: none` (and .modal-content with `auto` to re-enable
   inside). Our v2 modal reuses the .modal-dialog / .modal-window
   class names, so Bootstrap's rule makes clicks fall through to the
   backdrop = modal closes on every interaction.
   Re-enable interaction explicitly when the v2 modal is open. */
.qdnapro-modal.modal-open .modal-dialog,
.qdnapro-modal.modal-open .modal-window {
  pointer-events: auto;
}

/* Bootstrap also adds visual borders on .modal-header (border-bottom)
   and .modal-footer (border-top). Our v2 design uses padding-based
   separation, not border-keylines. Zero them out so the cascade
   from Bootstrap can't draw stray lines. */
.qdnapro-modal .modal-header {
  border-bottom: 0 !important;
}

.qdnapro-modal .modal-footer {
  border-top: 0 !important;
}

/* Bootstrap also injects sibling-margins on modal-footer children
   (.modal-footer > :not(:first-child) { margin-left: 0.25rem }, and
   :not(:last-child) { margin-right: 0.25rem }). On a 2-button footer
   that adds 8px extra to our `gap: 16px` → visual gap becomes 24px
   (= 48 device-px on retina). Zero the sibling-margins so the
   declared gap is the actual gap. */
.qdnapro-modal .modal-footer > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── GEEN counter-zoom (meer) — verwijderd 2026-08-03, en dit is de uitleg ──────────────────
   Hier stond `.qdnapro-modal, .qdnapro-select-popover { zoom: 1.25 }`, om de legacy
   `body { zoom: 0.8 }` van de oude backoffice te compenseren: 0.8 × 1.25 = 1.0, zodat een
   position-fixed kind (de modal en de select-popover hangen beide aan <body>) op de juiste plek
   landde in plaats van op 0.8 × de plek.

   Die 0.8 bereikt een v1-pagina niet meer. Hij staat alleen nog in `web/css/style.css` (als
   `body { zoom: 72% }`), en die stylesheet wordt uitsluitend geladen door de LEGACY headers
   (`View/components/header.html`, `View/NewDesign/components/header.html`) — en die laden géén
   `style-v1.css` en géén `components.js`, dus daar bestaat geen v2-modal om te schalen. Gemeten
   op een v1-pagina: `getComputedStyle(document.body).zoom` = 1.

   Het gevolg was een knoop: de 1.25 had niets te compenseren, dus élke moderne pagina zette hem
   weer uit — en één van die neutralisaties (in `partials/_inbox.scss`) was NIET pagina-gescoopt
   en deed het dus app-breed. Netto stond alles op 1, maar via twee regels die elkaar opheffen.
   ⚠️ Zet hem niet terug "voor de zekerheid": dan wordt élk venster 25% te groot op elke pagina
      die geen eigen neutralisatie heeft. Komt de legacy body-zoom ooit terug op een pagina die
      wél v2-componenten laadt, dan hoort de correctie PAGINA-gescoopt bij die pagina te staan.
   ⓘ Er staat nog een dode `zoom: 1` in `projects-v2.html`, `home-v2.html` en `floweditor.html`.
     Die doen niets meer (1 op iets dat al 1 is) en mogen weg zodra iemand die pagina's aanraakt. */
.qdnapro-modal .modal-backdrop {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(11, 11, 13, 0.45);
  animation: qdnapro-modal-backdrop-in 160ms ease-out;
}

/* OUTER GREY CARD */
.qdnapro-modal .modal-dialog {
  background: #f0f1f2;
  border: 0.5px solid #ffffff;
  border-radius: 16px;
  padding: 8px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.3), 0 8px 12px 6px rgba(0, 0, 0, 0.15);
  display: flex;
  width: 100%;
  max-width: 560px;
  max-height: calc(100vh - 48px);
  animation: qdnapro-modal-dialog-in 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.qdnapro-modal.modal-size-small .modal-dialog {
  max-width: 400px;
}

.qdnapro-modal.modal-size-medium .modal-dialog {
  max-width: 560px;
}

.qdnapro-modal.modal-size-large .modal-dialog {
  max-width: 800px;
}

.qdnapro-modal.modal-size-xlarge .modal-dialog {
  max-width: 1000px;
}

.qdnapro-modal.modal-size-xxlarge .modal-dialog {
  max-width: 1100px;
}

/* Layout: with-info - left side info-panel */
.qdnapro-modal.modal-layout-with-info .modal-dialog {
  gap: 8px;
}

.qdnapro-modal .modal-info {
  flex: 0 0 280px;
  min-width: 0;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 22px;
  color: #0b0b0d;
  position: relative;
  overflow: visible;
  z-index: 0;
}

.qdnapro-modal .modal-info qdnapro-icon,
.qdnapro-modal .modal-info > .modal-info-icon {
  color: #40499a;
  width: 24px;
  height: 24px;
}

.qdnapro-modal .qdnapro-modal-info-title {
  margin: 0;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: #40499a;
}

.qdnapro-modal .qdnapro-modal-info-illustration {
  margin-top: auto;
  margin-left: -16px;
  margin-right: -16px;
  align-self: stretch;
  pointer-events: none;
  min-height: 160px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

.qdnapro-modal .qdnapro-modal-info-illustration qdnapro-illustration,
.qdnapro-modal .qdnapro-modal-info-illustration img,
.qdnapro-modal .qdnapro-modal-info-illustration svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* The illustration must never draw OVER its own info text. [Jan 27.07.2026]
   Why it could: the info column is a fixed-height flex column, and the artwork is
   sized by aspect-ratio from a fixed 240px WIDTH — several illustrations are portrait
   (share = 884px tall at width 240, idea 610, tool 556, hands-check 509), so as soon as
   the icon+title+text no longer left that much room the flex algorithm shrank this BOX
   while the artwork inside kept its height, and `align-items: flex-end` then pushed the
   overflow UPWARDS across the text. It is viewport-height dependent (the dialog is
   `min(800px, 100vh - 48px)`), so the same modal was fine on a big screen and unreadable
   on a laptop — measured on a 720px-tall viewport: hands-check covered 55px of text at
   221 characters, share covered 430px (title included).
   Fix: let the artwork scale down into whatever height the box gets, staying bottom-left
   anchored, and clip as a last resort. `object-fit: contain` keeps the aspect ratio, so
   when there IS room the painted pixels are byte-identical to before (verified by
   pixel-diff over 9 fitting cases). */
.qdnapro-modal .qdnapro-modal-info-illustration {
  overflow: hidden;
}

.qdnapro-modal .qdnapro-modal-info-illustration qdnapro-illustration {
  align-self: stretch; /* host height := the (possibly shrunk) box height */
  min-height: 0; /* ...and let it shrink at all */
}

.qdnapro-modal .qdnapro-modal-info-illustration qdnapro-illustration img,
.qdnapro-modal .qdnapro-modal-info-illustration qdnapro-illustration svg {
  height: 100%;
  object-fit: contain;
  object-position: left bottom;
}

/* Body utility classes */
.qdnapro-modal .qdnapro-modal-section-title {
  margin: 0;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: #40499a;
}

.qdnapro-modal .qdnapro-modal-section-sub {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 22px;
  color: #40499a;
  font-weight: 500;
}

.qdnapro-modal .qdnapro-modal-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.qdnapro-modal .qdnapro-modal-error-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  font-size: 13px;
  line-height: 20px;
  font-weight: 500;
  color: #c65a5a;
}

.qdnapro-modal .qdnapro-modal-error-banner qdnapro-icon {
  color: inherit;
  flex-shrink: 0;
}

.qdnapro-modal .qdnapro-modal-info-head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.qdnapro-modal .qdnapro-modal-info-head .qdnapro-modal-info-title {
  margin: 0;
}

.qdnapro-modal .qdnapro-modal-toggle-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 4px 0;
}

.qdnapro-modal .qdnapro-modal-toggle-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.qdnapro-modal .qdnapro-modal-toggle-label {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: #0b0b0d;
}

.qdnapro-modal .qdnapro-modal-toggle-sub {
  font-size: 12px;
  line-height: 16px;
  color: #6b7280;
  font-weight: 400;
}

.qdnapro-modal .qdnapro-modal-toggle-warn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  color: #c65a5a;
  margin-top: 2px;
}

.qdnapro-modal .qdnapro-modal-divider {
  border: none;
  border-top: 1px solid #e1e3e6;
  margin: 16px 0 12px;
}

/* INNER WHITE CARD */
.qdnapro-modal .modal-window {
  background: #ffffff;
  border: 0.5px solid #c4c7cc;
  border-radius: 12px;
  padding: 16px 16px 12px;
  flex: 1 1 auto;
  min-width: 0;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: visible;
  position: relative;
  z-index: 1;
}

/* Fixed height + internal scroll for big modals */
.qdnapro-modal.modal-layout-with-info .modal-dialog,
.qdnapro-modal.modal-size-large .modal-dialog,
.qdnapro-modal.modal-size-xlarge .modal-dialog,
.qdnapro-modal.modal-size-xxlarge .modal-dialog {
  height: min(800px, 100vh - 48px);
}

.qdnapro-modal.modal-layout-with-info .modal-window,
.qdnapro-modal.modal-size-large .modal-window,
.qdnapro-modal.modal-size-xlarge .modal-window,
.qdnapro-modal.modal-size-xxlarge .modal-window {
  height: 100%;
}

.qdnapro-modal.modal-layout-with-info .modal-header,
.qdnapro-modal.modal-layout-with-info .modal-footer,
.qdnapro-modal.modal-size-large .modal-header,
.qdnapro-modal.modal-size-large .modal-footer,
.qdnapro-modal.modal-size-xlarge .modal-header,
.qdnapro-modal.modal-size-xlarge .modal-footer,
.qdnapro-modal.modal-size-xxlarge .modal-header,
.qdnapro-modal.modal-size-xxlarge .modal-footer {
  flex-shrink: 0;
}

.qdnapro-modal.modal-layout-with-info .modal-body,
.qdnapro-modal.modal-size-large .modal-body,
.qdnapro-modal.modal-size-xlarge .modal-body,
.qdnapro-modal.modal-size-xxlarge .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  /* The scroll container clips focus rings (overflow-y:auto coerces overflow-x to
     clip), so a field flush against the top edge loses its ring "under the header".
     4px breathing room clears the 3px focus box-shadow on all sides; scroll-padding
     keeps a tabbed-to field from tucking under the top edge. [Kim 22.06.2026] */
  padding: 4px;
  scroll-padding-top: 8px;
}

/* Scrollable modifier — any size modal with tall content.
   NOTE: the class is `qdnapro-modal-scrollable`, NOT `modal-scrollable`.
   qdna-modal.js connectedCallback strips every class starting with
   `modal-` from _originalClasses, so a `modal-*` modifier would not
   survive _render(). The `qdnapro-` prefix passes that filter. */
.qdnapro-modal.qdnapro-modal-scrollable .modal-dialog {
  overflow: hidden;
}

.qdnapro-modal.qdnapro-modal-scrollable .modal-window {
  overflow: hidden;
}

.qdnapro-modal.qdnapro-modal-scrollable .modal-header,
.qdnapro-modal.qdnapro-modal-scrollable .modal-footer {
  flex-shrink: 0;
}

.qdnapro-modal.qdnapro-modal-scrollable .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

/* Import-options modal: fit content instead of the fixed 800px the large/with-info
   frame forces (it was absurdly tall for a short paste box / upload card). Caps +
   scrolls only if content ever exceeds it. [Kim 22.06.2026] */
.qdnapro-modal.fe-import-modal.modal-size-large .modal-dialog,
.qdnapro-modal.fe-import-modal.modal-layout-with-info .modal-dialog {
  height: auto;
  max-height: min(800px, 100vh - 48px);
}

.qdnapro-modal.fe-import-modal.modal-size-large .modal-window,
.qdnapro-modal.fe-import-modal.modal-layout-with-info .modal-window {
  height: auto;
}

/* Center the (portrait) illustration in the info panel instead of the default
   bottom-LEFT corner-anchor. Scoped so corner-anchored illustrations in other
   modals keep their layout. [Kim 22.06.2026] */
.qdnapro-modal.fe-import-modal .qdnapro-modal-info-illustration {
  justify-content: center;
}

/* Floweditor confirm dialog (plugins/confirm/Box.vue, PLAN-alert-component.md
   TRACK 2, Kim 09.07.2026): needs to stack above BOTH the floweditor's own
   NodeOptions wizard modal (~9000-9100) and its dropdown/popover layer
   (.fe-add-datapoint-dropdown etc., 9200) — 9300 is the floweditor's
   established "always on top" tier (see .fe-conn-tip). Scoped to this class
   only so every other qdnapro-modal keeps the default 9000. */
.qdnapro-modal.fe-confirm-modal {
  z-index: 9300;
}

/* "Vraag toevoegen" type-picker (FormCardQuestions.vue, PLAN-form-card-
   redesign.md fase 4 delivery 4): opened FROM WITHIN the same NodeOptions
   wizard modal (~9000-9100) this tab lives in, so it needs the exact same
   "always on top" tier as .fe-confirm-modal above, for the exact same
   reason. Scoped to this class only. */
.qdnapro-modal.fe-typepicker-modal {
  z-index: 9300;
}

/* Briefing bij een vraag (View/v1/modals/briefing-editor.html, gedeeld met de
   activiteitenpagina). Op de flow editor gaat hij open vanuit het NodeOptions-
   wizardmodal (~9000-9100) en soms vanaf het canvas eronder, dus dezelfde
   "altijd bovenop"-laag als de twee hierboven. Alleen op deze klasse, die de
   flow editor via de include meegeeft: op de activiteitenpagina staat er niks
   boven en houdt het modal de standaard 9000. [Kim 03.08.2026] */
.qdnapro-modal.fe-briefing-modal {
  z-index: 9300;
}

.qdnapro-modal ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

.qdnapro-modal ::-webkit-scrollbar-track {
  background: transparent;
}

.qdnapro-modal ::-webkit-scrollbar-corner {
  background: transparent;
}

.qdnapro-modal ::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 6px;
  transition: background 160ms ease;
}

.qdnapro-modal *:hover::-webkit-scrollbar-thumb,
.qdnapro-modal *:focus-within::-webkit-scrollbar-thumb {
  background: rgba(64, 73, 154, 0.22);
}

.qdnapro-modal ::-webkit-scrollbar-thumb:hover {
  background: rgba(64, 73, 154, 0.38);
}

.qdnapro-modal {
  scrollbar-width: thin;
}

.qdnapro-modal *:hover, .qdnapro-modal *:focus-within {
  scrollbar-color: rgba(64, 73, 154, 0.3) transparent;
}

.qdnapro-modal .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 0 12px;
}

.qdnapro-modal .modal-title {
  margin: 0;
  flex: 1 1 auto;
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: #40499a;
}

.qdnapro-modal .modal-close {
  flex-shrink: 0;
}

.qdnapro-modal .modal-body {
  padding: 0 4px 8px 4px;
  overflow: visible;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 24px;
  color: #0b0b0d;
}

.qdnapro-modal .modal-body > * + * {
  margin-top: 8px;
}

.qdnapro-modal .qdnapro-modal-label {
  display: block;
  font-weight: 500;
  font-size: 14px;
  line-height: 24px;
  color: #0b0b0d;
}

.qdnapro-modal .modal-footer {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 16px;
  padding: 0;
}

/* secondary-label (e.g. "Delete") pins a button to the footer's LEFT
   edge — Kim 17.07.2026: destructive actions in planner dialogs belong
   in the footer, not floating in the body. space-between pushes it away
   from the cancel/confirm cluster; the cluster itself keeps its own
   `gap: 16px` via .modal-footer-right so cancel/confirm stay together
   regardless of how much room space-between opens up on a wide modal. */
.qdnapro-modal .modal-footer.modal-footer-has-secondary {
  justify-content: space-between;
}

.qdnapro-modal .modal-footer-right {
  display: flex;
  align-items: flex-end;
  gap: 16px;
}

/* Dark theme */
[data-theme=dark] .qdnapro-modal .modal-backdrop {
  background: rgba(0, 0, 0, 0.65);
}

[data-theme=dark] .qdnapro-modal .modal-dialog {
  background: #2e3036;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.5), 0 8px 12px 6px rgba(0, 0, 0, 0.3);
}

[data-theme=dark] .qdnapro-modal .modal-window {
  background: #363940;
  border-color: #565b66;
}

[data-theme=dark] .qdnapro-modal .modal-title {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-modal .modal-body {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-modal .qdnapro-modal-label {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-modal .modal-info {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-modal .modal-info qdnapro-icon,
[data-theme=dark] .qdnapro-modal .modal-info > .modal-info-icon {
  color: #a5acff;
}

[data-theme=dark] .qdnapro-modal .qdnapro-modal-info-title {
  color: #a5acff;
}

[data-theme=dark] .qdnapro-modal .qdnapro-modal-section-title {
  color: #a5acff;
}

[data-theme=dark] .qdnapro-modal .qdnapro-modal-section-sub {
  color: #a5acff;
}

[data-theme=dark] .qdnapro-modal .qdnapro-modal-error-banner {
  color: #ef6b6b;
}

[data-theme=dark] .qdnapro-modal .qdnapro-modal-toggle-label {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-modal .qdnapro-modal-toggle-sub {
  color: #b8bcc4;
}

[data-theme=dark] .qdnapro-modal .qdnapro-modal-toggle-warn {
  color: #ef6b6b;
}

[data-theme=dark] .qdnapro-modal .qdnapro-modal-divider {
  border-top-color: #40444d;
}

@keyframes qdnapro-modal-backdrop-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes qdnapro-modal-dialog-in {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-modal .modal-backdrop, .qdnapro-modal .modal-dialog {
    animation: none;
  }
}
/* === BEGIN QDNA-NAV-ITEM CSS === */
.qdnapro-nav-item {
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 40px;
  padding: 8px 12px 8px 8px;
  border-radius: 8px;
  background: transparent;
  color: var(--c-nav-icon);
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  font-family: "Inter", sans-serif;
  transition: background-color 120ms ease-out, color 120ms ease-out, transform 80ms ease-out, width 450ms cubic-bezier(0.22, 1, 0.36, 1), padding 450ms cubic-bezier(0.22, 1, 0.36, 1), gap 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.qdnapro-nav-item *,
.qdnapro-nav-item *::before,
.qdnapro-nav-item *::after {
  box-sizing: border-box;
}

.qdnapro-nav-item .nav-item-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  position: relative;
  z-index: 1;
}

.qdnapro-nav-item .nav-item-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.qdnapro-nav-item .nav-item-label {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  color: var(--c-nav-label);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 1;
  transform: translateX(0);
  max-width: 200px;
  transition: color 120ms ease-out, font-weight 120ms ease-out, opacity 280ms cubic-bezier(0.22, 1, 0.36, 1), max-width 450ms cubic-bezier(0.22, 1, 0.36, 1), transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.qdnapro-nav-item .nav-item-badge {
  position: absolute;
  z-index: 2;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--c-nav-badge-bg);
  color: var(--c-nav-badge-text);
  font-size: 11px;
  font-weight: 600;
  line-height: 18px;
  text-align: center;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  transition: right 450ms cubic-bezier(0.22, 1, 0.36, 1), top 450ms cubic-bezier(0.22, 1, 0.36, 1), transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.qdnapro-nav-item .nav-item-badge--dot {
  min-width: 8px;
  width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 50%;
}

.qdnapro-nav-item:hover:not(.nav-item-disabled):not(.nav-item-active) {
  background: var(--c-nav-hover-bg);
  color: var(--c-nav-icon-hover);
}

.qdnapro-nav-item:hover:not(.nav-item-disabled):not(.nav-item-active) .nav-item-label {
  color: var(--c-nav-label-hover);
}

.qdnapro-nav-item.nav-item-active {
  background: var(--c-nav-active-bg);
  color: var(--c-nav-icon-active);
}

.qdnapro-nav-item.nav-item-active .nav-item-label {
  color: var(--c-nav-label-active);
  font-weight: 600;
}

.qdnapro-nav-item.nav-item-active:hover:not(.nav-item-disabled)::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(0, 0, 0, 0.06);
  pointer-events: none;
}

.qdnapro-nav-item:active:not(.nav-item-disabled) {
  transform: scale(0.97);
}

.qdnapro-nav-item:focus {
  outline: none;
}

.qdnapro-nav-item:focus-visible,
.qdnapro-nav-item.force-focus {
  box-shadow: inset 0 0 0 2px var(--focus-ring);
}

.qdnapro-nav-item.nav-item-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-nav-item[data-nav-mode=collapsed] {
  gap: 0;
  padding: 8px;
  width: 40px;
  height: 40px;
  min-height: 40px;
  align-self: flex-start;
  justify-content: flex-start;
}

.qdnapro-nav-item[data-nav-mode=collapsed] .nav-item-label {
  opacity: 0;
  transform: translateX(-16px);
  max-width: 0;
}

.qdnapro-nav-item[data-nav-mode=collapsed] .nav-item-badge {
  top: 3px;
  right: 4px;
  transform: translateY(0) scale(0.85);
  transform-origin: top right;
}

/* === END QDNA-NAV-ITEM CSS === */
/* === BEGIN QDNA-NAV-RAIL CSS === */
.qdnapro-nav-rail {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  background: var(--c-nav-bg);
  color: var(--c-nav-icon);
  font-family: "Inter", sans-serif;
  user-select: none;
  transition: width 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.qdnapro-nav-rail *,
.qdnapro-nav-rail *::before,
.qdnapro-nav-rail *::after {
  box-sizing: border-box;
}

.qdnapro-nav-rail[data-mode=expanded] {
  width: 208px;
}

.qdnapro-nav-rail[data-mode=collapsed] {
  width: 84px;
}

.qdnapro-nav-rail .nav-rail-header {
  flex-shrink: 0;
  height: 56px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  position: relative;
}

.qdnapro-nav-rail[data-mode=collapsed] .nav-rail-header {
  padding: 0 6px 0 16px;
}

/* Split logo (Jan 2026-06-17): Q = anchor (never moves/re-renders); DNA = the
   letters, which slide down + fade on collapse and reverse on expand.
   Both .nav-rail-logo-q and .nav-rail-logo-dna are inline SVGs that share the
   ORIGINAL wordmark viewBox (180 180 980 420) and are overlaid at the same size
   (70×30 = 30·980/420), so the Q and DNA sit in the exact relative position +
   scale of the real combined logo — no guessed offsets. The container clips to
   the Q's width when collapsed; the DNA group additionally fades + drops. */
.qdnapro-nav-rail .nav-rail-logo {
  position: relative;
  height: 30px;
  overflow: hidden;
  flex-shrink: 0;
  color: var(--c-nav-icon);
  text-decoration: none;
  transition: width 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.qdnapro-nav-rail .nav-rail-logo-q,
.qdnapro-nav-rail .nav-rail-logo-dna {
  position: absolute;
  left: 0;
  top: 0;
  width: 70px;
  height: 30px;
  pointer-events: none;
}

.qdnapro-nav-rail .nav-rail-logo-q svg,
.qdnapro-nav-rail .nav-rail-logo-dna svg {
  width: 70px;
  height: 30px;
  fill: currentColor;
  display: block;
}

.qdnapro-nav-rail .nav-rail-logo-q {
  z-index: 1;
}

.qdnapro-nav-rail .nav-rail-logo-dna {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 280ms cubic-bezier(0.22, 1, 0.36, 1), transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.qdnapro-nav-rail[data-mode=expanded] .nav-rail-logo {
  width: 70px;
}

.qdnapro-nav-rail[data-mode=collapsed] .nav-rail-logo {
  width: 34px;
}

.qdnapro-nav-rail[data-mode=collapsed] .nav-rail-logo-dna {
  opacity: 0;
  transform: translateX(-20px);
}

.qdnapro-nav-rail .nav-rail-toggle {
  margin-left: auto;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: var(--c-nav-icon);
  border-radius: 6px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 120ms ease-out, color 120ms ease-out;
}

.qdnapro-nav-rail .nav-rail-toggle:hover {
  background: var(--c-nav-hover-bg);
  color: var(--c-nav-icon-hover);
}

.qdnapro-nav-rail .nav-rail-toggle:focus {
  outline: none;
}

.qdnapro-nav-rail .nav-rail-toggle:focus-visible {
  box-shadow: 0 0 0 2px var(--focus-ring), 0 0 0 5px var(--focus-glow);
}

.qdnapro-nav-rail .nav-rail-toggle svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
}

.qdnapro-nav-rail[data-mode=collapsed] .nav-rail-toggle svg {
  transform: rotate(180deg);
}

.qdnapro-nav-rail .nav-rail-header-divider {
  flex-shrink: 0;
  height: 1px;
  background: var(--c-nav-divider);
  margin: 0 16px;
}

.qdnapro-nav-rail[data-mode=collapsed] .nav-rail-header-divider {
  margin: 0 12px;
}

.qdnapro-nav-rail .nav-rail-items {
  flex: 1 1 auto;
  min-height: 0;
  overflow: visible;
  padding: 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.qdnapro-nav-rail[data-mode=collapsed] .nav-rail-items {
  padding: 12px 12px;
  align-items: flex-start;
}

.qdnapro-nav-rail .nav-rail-bottom {
  flex-shrink: 0;
  padding: 8px 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-top: 1px solid var(--c-nav-divider);
}

.qdnapro-nav-rail[data-mode=collapsed] .nav-rail-bottom {
  align-items: flex-start;
}

/* The version + build footer (.nav-rail-version, a slot="bottom" button that
   opened the About QDNA Pro splash) is REMOVED per 2026-07-31: that entry now
   lives in the profile dropdown as "Over QDNA Pro" (View/v1/base.html). The
   .nav-rail-bottom rules above stay — they are generic for any slot="bottom"
   child, not tied to the version block. */
/* Default surface tokens (navy palette) */
.qdnapro-nav-rail {
  --c-nav-bg: #3a4290;
  --c-nav-divider: rgba(255, 255, 255, 0.10);
  --c-nav-hover-bg: rgba(255, 255, 255, 0.08);
  --c-nav-active-bg: rgba(255, 255, 255, 0.16);
  --c-nav-icon: #c5c9eb;
  --c-nav-icon-hover: #ffffff;
  --c-nav-icon-active: #ffffff;
  --c-nav-label: #c5c9eb;
  --c-nav-label-hover: #ffffff;
  --c-nav-label-active: #ffffff;
  --c-nav-badge-bg: var(--c-warn-red-500);
  --c-nav-badge-text: #ffffff;
}

/* Page-level dark mode: rail becomes Grey/800.
   Active state mirrors activity row-btn active (saturated brand-purple
   tint with light-purple icon/label) for visual continuity.
   [Kim 2026-05-19] */
[data-theme-dark] .qdnapro-nav-rail,
[data-theme=dark] .qdnapro-nav-rail,
body[data-theme=dark] .qdnapro-nav-rail {
  --c-nav-bg: var(--c-grey-800);
  --c-nav-divider: rgba(255, 255, 255, 0.08);
  --c-nav-hover-bg: rgba(255, 255, 255, 0.06);
  --c-nav-active-bg: rgba(70, 82, 243, 0.20);
  --c-nav-icon: var(--c-grey-300);
  --c-nav-icon-hover: #ffffff;
  --c-nav-icon-active: #a5acff;
  --c-nav-label: var(--c-grey-300);
  --c-nav-label-hover: #ffffff;
  --c-nav-label-active: #a5acff;
}

/* Forced light theme via attribute on the rail itself. */
.qdnapro-nav-rail[data-theme=light] {
  --c-nav-bg: #ffffff;
  --c-nav-divider: rgba(0, 0, 0, 0.08);
  --c-nav-hover-bg: var(--c-purple-50);
  --c-nav-active-bg: var(--c-bg-secondary-purple);
  --c-nav-icon: var(--c-text-muted);
  --c-nav-icon-hover: var(--c-brand-purple);
  --c-nav-icon-active: var(--c-brand-purple);
  --c-nav-label: var(--c-text-body);
  --c-nav-label-hover: var(--c-brand-purple);
  --c-nav-label-active: var(--c-brand-purple);
}

/* === END QDNA-NAV-RAIL CSS === */
@property --qnp-beam-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.qdnapro-node-picker {
  --np-rail-bg: #3a4290;
  --np-rail-icon: #c5c9eb;
  --np-rail-icon-hover: #ffffff;
  --np-rail-active-bg: rgba(255, 255, 255, 0.16);
  --np-rail-hover-bg: rgba(255, 255, 255, 0.08);
  --np-rail-label: #c5c9eb;
  --np-rail-label-hover: #ffffff;
  --np-panel-bg: #ffffff;
  --np-panel-border: #e6e7ef;
  --np-panel-shadow: 0 18px 40px rgba(38, 42, 92, 0.16);
  --np-subhead: #8b8fb5;
  --np-node-text: #3a4290;
  --np-node-hover-bg: #f2f3fb;
  --np-node-icon: #5159a4;
  --np-rail-w: 56px;
  --np-panel-w: 208px;
  --np-cat-size: 36px;
  display: flex;
  align-items: stretch;
  height: 100%;
  min-height: 0;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  position: relative;
}

.qdnapro-node-picker *,
.qdnapro-node-picker *::before,
.qdnapro-node-picker *::after {
  box-sizing: border-box;
}

.qdnapro-node-picker__rail {
  flex: 0 0 auto;
  width: var(--np-rail-w);
  background: var(--np-rail-bg);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 0 10px;
  overflow-y: auto;
  z-index: 2;
  position: relative;
}

.qdnapro-node-picker__rail-pill {
  position: absolute;
  top: 0;
  left: 50%;
  width: var(--np-cat-size);
  height: var(--np-cat-size);
  margin-left: calc(var(--np-cat-size) / -2);
  border-radius: 8px;
  background: var(--np-rail-active-bg);
  opacity: 0;
  transform: translateY(0);
  transition: transform 420ms cubic-bezier(0.34, 1.56, 0.64, 1), opacity 160ms ease-out;
  pointer-events: none;
  z-index: 0;
}

.qdnapro-node-picker__cat {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--np-rail-icon);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--np-cat-size);
  height: var(--np-cat-size);
  border-radius: 8px;
  cursor: pointer;
  position: relative;
  z-index: 1;
  transition: background-color 120ms ease-out, color 120ms ease-out;
}
.qdnapro-node-picker__cat:hover {
  background: var(--np-rail-hover-bg);
  color: var(--np-rail-icon-hover);
}
.qdnapro-node-picker__cat.is-active {
  color: #ffffff;
}
.qdnapro-node-picker__cat:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--np-rail-bg), 0 0 0 4px rgba(255, 255, 255, 0.7);
}

.qdnapro-node-picker__cat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
}
.qdnapro-node-picker__cat-icon i {
  font-size: 18px;
  line-height: 1;
}

.qdnapro-node-picker__card {
  background: #ffffff;
  color: var(--np-node-icon);
  box-shadow: 0 2px 6px rgba(38, 42, 92, 0.2);
}
.qdnapro-node-picker__card:hover {
  background: #ffffff;
  color: var(--np-node-icon);
}
.qdnapro-node-picker__card.is-active {
  color: var(--np-node-icon);
}
.qdnapro-node-picker__card:hover .qdnapro-node-picker__cat-icon, .qdnapro-node-picker__card.is-active .qdnapro-node-picker__cat-icon {
  color: var(--np-node-icon);
}

@keyframes qdnapro-node-picker-card-pulse {
  0% {
    box-shadow: 0 2px 6px rgba(38, 42, 92, 0.2), 0 0 0 0 rgba(255, 255, 255, 0.75);
    transform: scale(1);
  }
  70% {
    box-shadow: 0 2px 6px rgba(38, 42, 92, 0.2), 0 0 0 9px rgba(255, 255, 255, 0);
    transform: scale(1.06);
  }
  100% {
    box-shadow: 0 2px 6px rgba(38, 42, 92, 0.2), 0 0 0 0 rgba(255, 255, 255, 0);
    transform: scale(1);
  }
}
.qdnapro-node-picker[card-pulse] .qdnapro-node-picker__card {
  animation: qdnapro-node-picker-card-pulse 1.8s ease-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-node-picker[card-pulse] .qdnapro-node-picker__card {
    animation: none;
  }
}
.qdnapro-node-picker[node-pulse] .qdnapro-node-picker__cat[data-cat=questions] {
  animation: qdnapro-node-picker-card-pulse 1.8s ease-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-node-picker[node-pulse] .qdnapro-node-picker__cat[data-cat=questions] {
    animation: none;
  }
}
.qdnapro-node-picker__panel {
  flex: 0 0 auto;
  width: 0;
  overflow: hidden;
  background-color: var(--np-panel-bg);
  background-image: url("/assets/illustrations/node-picker-flow.svg");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: contain;
  border-right: 1px solid var(--np-panel-border);
  box-shadow: var(--np-panel-shadow);
  border-radius: 0 10px 10px 0;
  transition: width 200ms cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  z-index: 1;
}

.qdnapro-node-picker[data-open] .qdnapro-node-picker__panel {
  width: var(--np-panel-w);
  overflow-y: auto;
  padding: 8px 8px 10px;
}

.qdnapro-node-picker__panel-head {
  font-size: 15px;
  font-weight: 700;
  color: var(--np-node-text);
  padding: 0 4px 8px;
  white-space: normal;
  line-height: 1.3;
}

.qdnapro-node-picker__panel-sub {
  font-size: 12px;
  line-height: 1.4;
  color: var(--np-subhead);
  padding: 0 4px 12px;
}

.qdnapro-node-picker__form-card {
  position: relative;
  margin: 2px 2px 4px 14px;
  padding: 10px 10px 12px;
  background: #ffffff;
  border: 1.5px solid var(--np-panel-border);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(38, 42, 92, 0.1);
  cursor: grab;
  user-select: none;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}
.qdnapro-node-picker__form-card::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 30px;
  background: #4652f3;
  border-radius: 2px;
  opacity: 0;
  transition: opacity 150ms ease;
  pointer-events: none;
}
.qdnapro-node-picker__form-card:hover {
  border-color: #b9c0f7;
  box-shadow: 0 4px 12px rgba(38, 42, 92, 0.16);
}
.qdnapro-node-picker__form-card:hover::before {
  opacity: 1;
}
.qdnapro-node-picker__form-card:active {
  cursor: grabbing;
}
.qdnapro-node-picker__form-card:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(81, 89, 164, 0.45);
}
.qdnapro-node-picker__form-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 2px;
  background: conic-gradient(from var(--qnp-beam-angle), transparent 0deg, transparent 250deg, rgba(70, 82, 243, 0.9) 300deg, #b9c0f7 330deg, transparent 360deg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  animation: qdnapro-node-picker-beam 3s linear infinite;
}

@keyframes qdnapro-node-picker-beam {
  to {
    --qnp-beam-angle: 360deg;
  }
}
.qdnapro-node-picker__form-card-header {
  background: #eceefb;
  color: var(--np-node-text);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 8px;
  border-radius: 6px;
  margin-bottom: 10px;
}

.qdnapro-node-picker__form-card-field {
  height: 22px;
  border: 1.5px solid var(--np-panel-border);
  border-radius: 6px;
  background: #fbfbfe;
}
.qdnapro-node-picker__form-card-field + .qdnapro-node-picker__form-card-field {
  margin-top: 8px;
}

.qdnapro-node-picker__subhead {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--np-subhead);
  padding: 8px 4px 3px;
  white-space: nowrap;
}
.qdnapro-node-picker__subhead:first-of-type {
  padding-top: 0;
}

.qdnapro-node-picker__empty {
  font-size: 13px;
  color: var(--np-subhead);
  padding: 8px;
}

.qdnapro-node-picker__node {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 6px 8px 6px 18px;
  margin-bottom: 12px;
  border-radius: 8px;
  cursor: grab;
  color: var(--np-node-text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  user-select: none;
  transition: background-color 110ms ease-out;
}
.qdnapro-node-picker__node::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 22px;
  background: #4652f3;
  border-radius: 2px;
  opacity: 0;
  transition: opacity 150ms ease;
  pointer-events: none;
}
.qdnapro-node-picker__node:last-child {
  margin-bottom: 0;
}
.qdnapro-node-picker__node:hover {
  background: var(--np-node-hover-bg);
}
.qdnapro-node-picker__node:hover::before {
  opacity: 1;
}
.qdnapro-node-picker__node:active {
  cursor: grabbing;
}
.qdnapro-node-picker__node:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(81, 89, 164, 0.45);
}

.qdnapro-node-picker__node-icon {
  flex: 0 0 auto;
  width: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--np-node-icon);
}
.qdnapro-node-picker__node-icon i {
  font-size: 19px;
  line-height: 1;
}

.qdnapro-node-picker__node-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-node-picker__panel {
    transition: none;
  }
  .qdnapro-node-picker__form-card::after {
    animation: none;
  }
}
.qdnapro-nova {
  --nova-primary: #40499a;
  --nova-primary-hover: #333a7b;
  --nova-primary-pressed: #252b5e;
  --nova-primary-glow: rgba(70, 82, 243, 0.40);
  --nova-panel-bg: #ffffff;
  --nova-user-bubble: #f0f1f2;
  --nova-text: #0b0b0d;
  --nova-text-secondary: #6b7280;
  --nova-link: #4652f3;
  --nova-border: #c4c7cc;
  --nova-input-bg: #ffffff;
  --nova-placeholder: #a6aab3;
  --nova-divider: #e1e3e6;
  --nova-quick-hover: #e6e9ff;
  --nova-pinned-bg: #e6e9ff;
  --nova-menu-hover: #f0f1f2;
  --nova-error-bg: #fef2f2;
  --nova-error-text: #c65a5a;
  --nova-success: #428b6e;
  --nova-sparkle-grad-start: #4652f3;
  --nova-sparkle-grad-end: #40499a;
  position: relative;
  height: 100%;
  max-height: 100%;
  width: 0;
  min-width: 0;
  flex-shrink: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  background: var(--nova-panel-bg);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 14px;
  line-height: 24px;
  color: var(--nova-text);
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
  overflow: hidden;
  transition: width 320ms ease-in-out;
}

.qdnapro-nova.nova-open {
  width: 390px;
}

.qdnapro-nova.nova-open.nova-expanded {
  width: min(720px, 100vw);
}

.qdnapro-nova > * {
  min-width: 390px;
  box-sizing: border-box;
}

.qdnapro-nova.nova-expanded > * {
  min-width: min(720px, 100vw);
}

.qdnapro-nova[floating] {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
  width: 0;
  z-index: 1040;
  transition: width 320ms ease-in-out;
}

.qdnapro-nova[floating].nova-open {
  width: 390px;
}

.qdnapro-nova[floating].nova-open.nova-expanded {
  width: min(720px, 100vw);
}

.qdnapro-nova.nova-theme-orange {
  --nova-primary: #F58F06;
  --nova-primary-hover: #d97c00;
  --nova-primary-pressed: #945800;
  --nova-primary-glow: rgba(239, 142, 2, 0.45);
  --nova-quick-hover: #fff3e0;
  --nova-pinned-bg: #fff3e0;
  --nova-sparkle-grad-start: #F58F06;
  --nova-sparkle-grad-end: #FBBF24;
}

.qdnapro-nova .nova-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 16px 4px;
  border-bottom: 1px solid transparent;
  flex-shrink: 0;
}

.qdnapro-nova .nova-title {
  margin: 0;
  font-size: 24px;
  line-height: 36px;
  font-weight: 600;
  color: var(--nova-primary);
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.qdnapro-nova .nova-title-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 0;
  background: transparent;
  color: var(--nova-primary);
  border-radius: 4px;
  cursor: pointer;
  flex-shrink: 0;
}

.qdnapro-nova .nova-title-back:hover {
  background: var(--nova-quick-hover);
}

.qdnapro-nova .nova-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.qdnapro-nova .nova-header-divider {
  width: 1px;
  height: 20px;
  background: var(--nova-divider);
  margin: 0 4px;
  flex-shrink: 0;
}

.qdnapro-nova .nova-header-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  color: var(--nova-text);
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 120ms ease-out;
}

.qdnapro-nova .nova-header-btn:hover {
  background: var(--nova-quick-hover);
}

.qdnapro-nova .nova-header-btn svg {
  width: 20px;
  height: 20px;
}

.qdnapro-nova .nova-context-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 12px 8px;
  padding: 4px 8px 4px 10px;
  background: var(--nova-pinned-bg);
  border-radius: 16px;
  font-size: 12px;
  line-height: 20px;
  font-weight: 500;
  color: var(--nova-primary);
  max-width: calc(100% - 24px);
  width: fit-content;
  box-sizing: border-box;
}

.qdnapro-nova .nova-context-pill svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.qdnapro-nova .nova-context-pill-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qdnapro-nova .nova-context-pill-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border: 0;
  background: transparent;
  color: var(--nova-primary);
  border-radius: 50%;
  cursor: pointer;
  padding: 0;
  margin-left: 2px;
}

.qdnapro-nova .nova-context-pill-clear:hover {
  background: rgba(0, 0, 0, 0.08);
}

.qdnapro-nova .nova-quick-actions {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0 8px 8px;
  border-bottom: 1px solid var(--nova-divider);
  flex-shrink: 0;
}

.qdnapro-nova .nova-quick-action {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px 8px;
  border: 0;
  background: transparent;
  border-radius: 4px;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  line-height: 20px;
  color: var(--nova-text);
  text-align: left;
  width: 100%;
}

.qdnapro-nova .nova-quick-action:hover {
  background: var(--nova-quick-hover);
}

.qdnapro-nova .nova-quick-action svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--nova-primary);
}

.qdnapro-nova .nova-messages {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  position: relative;
}

.qdnapro-nova.nova-expanded .nova-messages {
  padding: 16px 24px;
}

.qdnapro-nova .nova-messages {
  scrollbar-width: thin;
  scrollbar-color: var(--nova-border) transparent;
}

.qdnapro-nova .nova-messages::-webkit-scrollbar {
  width: 6px;
}

.qdnapro-nova .nova-messages::-webkit-scrollbar-thumb {
  background: var(--nova-border);
  border-radius: 3px;
}

.qdnapro-nova .nova-msg-user-wrap {
  align-self: flex-end;
  max-width: 85%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.qdnapro-nova .nova-msg-user {
  max-width: 100%;
  padding: 8px 12px;
  background: var(--nova-user-bubble);
  color: var(--nova-text);
  border-radius: 12px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  word-wrap: break-word;
  white-space: pre-wrap;
}

.qdnapro-nova .nova-msg-user-actions {
  display: flex;
  gap: 0;
  opacity: 0;
  transition: opacity 120ms ease;
  pointer-events: none;
}

.qdnapro-nova .nova-msg-user-wrap:hover .nova-msg-user-actions,
.qdnapro-nova .nova-msg-user-wrap:focus-within .nova-msg-user-actions {
  opacity: 1;
  pointer-events: auto;
}

.qdnapro-nova .nova-msg-ai {
  align-self: flex-start;
  width: 100%;
  padding: 8px 0;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.qdnapro-nova .nova-msg-ai-heading {
  display: flex;
  align-items: baseline;
  gap: 4px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: var(--nova-text);
}

.qdnapro-nova .nova-msg-ai-heading-emoji {
  font-size: 14px;
  line-height: 24px;
  flex-shrink: 0;
}

.qdnapro-nova .nova-msg-ai-body {
  font-size: 14px;
  line-height: 24px;
  color: var(--nova-text);
  word-wrap: break-word;
}

.qdnapro-nova .nova-msg-ai-body p {
  margin: 0 0 8px;
}

.qdnapro-nova .nova-msg-ai-body p:last-child {
  margin-bottom: 0;
}

.qdnapro-nova .nova-msg-ai-body strong {
  font-weight: 600;
}

.qdnapro-nova .nova-msg-ai-body a {
  color: var(--nova-link);
  text-decoration: underline;
  text-decoration-style: solid;
}

.qdnapro-nova .nova-msg-ai-body ul, .qdnapro-nova .nova-msg-ai-body ol {
  margin: 0 0 8px;
  padding-left: 20px;
}

.qdnapro-nova .nova-msg-ai-body li + li {
  margin-top: 4px;
}

.qdnapro-nova .nova-msg-ai-body code {
  background: var(--nova-user-bubble);
  padding: 1px 4px;
  border-radius: 3px;
  font-family: Menlo, Monaco, "Courier New", monospace;
  font-size: 12px;
}

.qdnapro-nova .nova-msg-ai-ref {
  display: flex;
  gap: 4px;
  font-size: 12px;
  line-height: 20px;
}

.qdnapro-nova .nova-msg-ai-ref-label {
  font-weight: 600;
  color: var(--nova-text);
}

.qdnapro-nova .nova-msg-ai-ref-value a {
  color: var(--nova-link);
  text-decoration: underline;
}

.qdnapro-nova .nova-streaming-cursor {
  display: inline-block;
  width: 8px;
  height: 16px;
  margin-left: 2px;
  background: currentColor;
  vertical-align: text-bottom;
  animation: nova-cursor-pulse 1s steps(2, end) infinite;
}

@keyframes nova-cursor-pulse {
  0%, 50% {
    opacity: 1;
  }
  51%, 100% {
    opacity: 0;
  }
}
.qdnapro-nova .nova-thinking {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 28px;
  padding: 0 12px;
  color: var(--nova-text-secondary);
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
}

.qdnapro-nova .nova-thinking-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.qdnapro-nova .nova-thinking-sparkle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  color: var(--nova-primary);
  animation: nova-sparkle-orbit 2.7s ease-in-out infinite;
  will-change: transform, opacity, filter;
}

.qdnapro-nova .nova-thinking-sparkle:nth-child(2) {
  animation-delay: -0.9s;
}

.qdnapro-nova .nova-thinking-sparkle:nth-child(3) {
  animation-delay: -1.8s;
}

.qdnapro-nova .nova-thinking-sparkle svg {
  width: 100%;
  height: 100%;
  display: block;
}

@keyframes nova-sparkle-orbit {
  0% {
    transform: translate(0, -13px) scale(0.25);
    opacity: 0.18;
    filter: blur(0.6px);
  }
  25% {
    transform: translate(13px, 0) scale(0.75);
    opacity: 0.7;
    filter: blur(0);
  }
  50% {
    transform: translate(0, 13px) scale(1.5);
    opacity: 1;
    filter: blur(0);
  }
  75% {
    transform: translate(-13px, 0) scale(0.75);
    opacity: 0.7;
    filter: blur(0);
  }
  100% {
    transform: translate(0, -13px) scale(0.25);
    opacity: 0.18;
    filter: blur(0.6px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-nova .nova-thinking-sparkle {
    animation-duration: 0s;
    transform: scale(1);
    opacity: 1;
  }
  .qdnapro-nova .nova-empty-hero svg path {
    animation: none;
  }
}
@keyframes nova-sparkle-big {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
}
@keyframes nova-sparkle-small {
  0%, 100% {
    transform: scale(0.7);
  }
  50% {
    transform: scale(1.25);
  }
}
@keyframes nova-pop-in {
  0% {
    opacity: 0;
    transform: scale(0.85);
  }
  55% {
    opacity: 1;
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.qdnapro-nova .nova-empty-hero {
  animation: nova-pop-in 240ms ease-out both;
}

.qdnapro-nova .nova-quick-action {
  animation: nova-pop-in 240ms ease-out both;
}

.qdnapro-nova .nova-quick-action:nth-child(1) {
  animation-delay: 80ms;
}

.qdnapro-nova .nova-quick-action:nth-child(2) {
  animation-delay: 140ms;
}

.qdnapro-nova .nova-quick-action:nth-child(3) {
  animation-delay: 200ms;
}

.qdnapro-nova .nova-quick-action:nth-child(4) {
  animation-delay: 260ms;
}

.qdnapro-nova .nova-quick-action:nth-child(5) {
  animation-delay: 320ms;
}

.qdnapro-nova .nova-input-wrapper.nova-empty-mode {
  animation: nova-pop-in 240ms ease-out 280ms both;
}

@keyframes nova-history-enter {
  0% {
    opacity: 0;
    transform: translateY(12px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.qdnapro-nova .nova-history {
  animation: nova-history-enter 220ms cubic-bezier(0.4, 0, 0.2, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-nova .nova-empty-hero,
  .qdnapro-nova .nova-quick-action,
  .qdnapro-nova .nova-input-wrapper.nova-empty-mode,
  .qdnapro-nova .nova-history {
    animation: none;
  }
}
.qdnapro-nova .nova-msg-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: -4px;
  padding: 0;
  flex-wrap: wrap;
}

.qdnapro-nova .nova-action-btn {
  color: var(--nova-text-secondary);
}

.qdnapro-nova .nova-action-btn:hover {
  color: var(--nova-text);
}

.qdnapro-nova .nova-action-btn.nova-action-thumb {
  display: none;
}

.qdnapro-nova .nova-action-btn.nova-action-active {
  color: var(--nova-primary);
  background: var(--nova-pinned-bg);
}

/* Bronnen-chips onder een antwoord (echte qdnapro-source-pill's) + het
   bronnenpaneel dat van rechts over de chat schuift. De oude .nova-source-pill/
   .nova-source-stack placeholder-stijlen zijn hier vervangen — de placeholder-div
   in de JS bestaat niet meer. [Jan 2026-08-05, afgestemd met Kim] */
.qdnapro-nova .nova-sources {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 2px 0 4px;
}

.qdnapro-nova .nova-sources qdnapro-source-pill {
  cursor: pointer;
}

.qdnapro-nova .nova-source-panel {
  position: absolute;
  inset: 0;
  z-index: 30;
  display: flex;
  flex-direction: column;
  background: var(--nova-panel-bg);
  transform: translateX(100%);
  transition: transform 0.25s ease;
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12);
}

.qdnapro-nova .nova-source-panel.nova-source-panel-in {
  transform: translateX(0);
}

.qdnapro-nova .nova-source-panel-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  border-bottom: 1px solid var(--nova-divider);
}

.qdnapro-nova .nova-source-panel-open-btn {
  flex: 1 1 auto;
}

.qdnapro-nova .nova-source-panel-open-btn button {
  width: 100%;
}

.qdnapro-nova .nova-source-panel-kicker {
  padding: 12px 12px 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--nova-text-secondary);
}

.qdnapro-nova .nova-source-panel-title {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--nova-text);
}

.qdnapro-nova .nova-source-panel-title svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: var(--nova-text-secondary);
}

.qdnapro-nova .nova-source-panel-body {
  flex: 1 1 auto;
  min-height: 0; /* flex-kind mag krimpen, anders klipt de passage-lijst stil */
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 4px 12px 16px;
  scrollbar-width: thin;
  scrollbar-color: var(--nova-border) transparent;
}

.qdnapro-nova .nova-source-panel-body::-webkit-scrollbar {
  width: 6px;
}

.qdnapro-nova .nova-source-panel-body::-webkit-scrollbar-thumb {
  background: var(--nova-border);
  border-radius: 3px;
}

.qdnapro-nova .nova-source-passage {
  background: var(--nova-user-bubble);
  border-radius: 8px;
  padding: 10px 12px;
}

.qdnapro-nova .nova-source-passage-where {
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--nova-text-secondary);
}

.qdnapro-nova .nova-source-passage-text {
  font-size: 13px;
  line-height: 20px;
  color: var(--nova-text);
  white-space: pre-wrap;
}

.qdnapro-nova .nova-source-passage-none {
  font-size: 13px;
  color: var(--nova-text-secondary);
}

.qdnapro-nova .nova-followups {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 12px 4px;
}

.qdnapro-nova .nova-followup-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: transparent;
  border: 1px solid var(--nova-border);
  border-radius: 16px;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  line-height: 16px;
  color: var(--nova-text);
  transition: background-color 120ms ease-out, border-color 120ms ease-out;
}

.qdnapro-nova .nova-followup-chip:hover {
  background: var(--nova-quick-hover);
  border-color: #aab0d8;
  color: var(--nova-primary);
}

.qdnapro-nova .nova-followup-chip:active {
  background: #c7cce8;
  border-color: var(--nova-primary);
  color: var(--nova-primary);
}

.qdnapro-nova .nova-followup-chip svg {
  width: 12px;
  height: 12px;
}

.qdnapro-nova .nova-msg-error {
  align-self: stretch;
  padding: 12px;
  background: var(--nova-error-bg);
  border-radius: 12px;
  color: var(--nova-error-text);
  font-size: 13px;
  line-height: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.qdnapro-nova .nova-msg-error-retry {
  align-self: flex-start;
  padding: 4px 10px;
  background: var(--nova-error-text);
  color: #fff;
  border: 0;
  border-radius: 4px;
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
}

.qdnapro-nova .nova-msg-error-retry:hover {
  opacity: 0.9;
}

.qdnapro-nova .nova-offline-banner {
  padding: 8px 12px;
  background: var(--nova-error-bg);
  color: var(--nova-error-text);
  font-size: 13px;
  line-height: 20px;
  text-align: center;
  flex-shrink: 0;
}

.qdnapro-nova .nova-scroll-bottom {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--nova-panel-bg);
  border: 1px solid var(--nova-border);
  border-radius: 50%;
  color: var(--nova-text-secondary);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease-out, transform 200ms ease-out;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.qdnapro-nova.nova-show-scroll-bottom .nova-scroll-bottom {
  opacity: 1;
  pointer-events: auto;
}

.qdnapro-nova .nova-scroll-bottom:hover {
  color: var(--nova-primary);
  border-color: var(--nova-primary);
}

.qdnapro-nova .nova-scroll-bottom svg {
  width: 16px;
  height: 16px;
}

.qdnapro-nova .nova-empty-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 16px;
  color: var(--nova-text-secondary);
  text-align: center;
  flex: 1;
}

.qdnapro-nova .nova-empty-hero svg {
  width: 48px;
  height: 48px;
  color: var(--nova-primary);
}

.qdnapro-nova .nova-empty-hero svg path {
  transform-box: fill-box;
  transform-origin: center;
}

.qdnapro-nova .nova-empty-hero .sparkle-big {
  animation: nova-sparkle-big 2.2s ease-in-out infinite;
}

.qdnapro-nova .nova-empty-hero .sparkle-small {
  animation: nova-sparkle-small 1.5s ease-in-out -0.4s infinite;
}

.qdnapro-nova .nova-empty-hero-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--nova-text);
}

.qdnapro-nova .nova-empty-hero-sub {
  font-size: 13px;
  line-height: 20px;
}

.qdnapro-nova .nova-welcome {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  flex: 1;
}

.qdnapro-nova .nova-welcome-card {
  position: relative;
  background: #e6e9ff;
  border: 0.5px solid rgba(64, 73, 154, 0.12);
  border-radius: 16px;
  padding: 24px 20px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  animation: nova-pop-in 240ms ease-out both;
}

.qdnapro-nova .nova-welcome-close {
  position: absolute;
  top: 8px;
  right: 8px;
}

.qdnapro-nova .nova-welcome-hero {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}

.qdnapro-nova .nova-welcome-hero svg {
  width: 56px;
  height: 56px;
  color: var(--nova-primary);
}

.qdnapro-nova .nova-welcome-hero svg path {
  transform-box: fill-box;
  transform-origin: center;
}

.qdnapro-nova .nova-welcome-hero .sparkle-big {
  animation: nova-sparkle-big 2.2s ease-in-out infinite;
}

.qdnapro-nova .nova-welcome-hero .sparkle-small {
  animation: nova-sparkle-small 1.5s ease-in-out -0.4s infinite;
}

.qdnapro-nova .nova-welcome-title {
  font-size: 18px;
  line-height: 24px;
  font-weight: 600;
  color: #40499a;
}

.qdnapro-nova .nova-welcome-sub {
  font-size: 13px;
  line-height: 20px;
  color: var(--nova-text);
  max-width: 320px;
}

.qdnapro-nova .nova-welcome-privacy {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  color: #40499a;
}

.qdnapro-nova .nova-welcome-privacy-icon {
  flex-shrink: 0;
  color: #40499a;
}

.qdnapro-nova .nova-welcome-prompts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.qdnapro-nova .nova-welcome-prompts qdnapro-suggestion-chip {
  animation: nova-pop-in 240ms ease-out both;
}

.qdnapro-nova .nova-welcome-prompts qdnapro-suggestion-chip:nth-child(1) {
  animation-delay: 120ms;
}

.qdnapro-nova .nova-welcome-prompts qdnapro-suggestion-chip:nth-child(2) {
  animation-delay: 180ms;
}

.qdnapro-nova .nova-welcome-prompts qdnapro-suggestion-chip:nth-child(3) {
  animation-delay: 240ms;
}

.qdnapro-nova .nova-welcome-prompts qdnapro-suggestion-chip:nth-child(4) {
  animation-delay: 300ms;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-nova .nova-welcome-card,
  .qdnapro-nova .nova-welcome-prompts qdnapro-suggestion-chip {
    animation: none;
  }
}
.qdnapro-nova.nova-theme-orange .nova-welcome-card {
  background: #fff5e6;
  border-color: rgba(245, 143, 6, 0.18);
}

.qdnapro-nova.nova-theme-orange .nova-welcome-title, .qdnapro-nova.nova-theme-orange .nova-welcome-privacy, .qdnapro-nova.nova-theme-orange .nova-welcome-privacy-icon {
  color: #b45a00;
}

.qdnapro-nova .nova-input-wrapper {
  padding: 12px 16px 16px;
  flex-shrink: 0;
}

.qdnapro-nova .nova-input-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px;
  background: var(--nova-input-bg);
  border: 1px solid var(--nova-border);
  border-radius: 8px;
  min-height: 80px;
  transition: border-color 120ms ease-out, box-shadow 120ms ease-out;
}

.qdnapro-nova .nova-input-field:focus-within {
  border-color: var(--nova-primary);
  box-shadow: 0 0 0 3px rgba(70, 82, 243, 0.2);
}

.qdnapro-nova.nova-theme-orange .nova-input-field:focus-within {
  box-shadow: 0 0 0 3px rgba(245, 143, 6, 0.25);
}

.qdnapro-nova .nova-input-attachments {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 6px;
}

.qdnapro-nova .nova-input-attachment-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 4px 4px 8px;
  background: var(--nova-panel-bg);
  border: 1px solid var(--nova-border);
  border-radius: 999px;
  max-width: 220px;
  font-size: 12px;
  line-height: 1.2;
  color: var(--nova-text);
}

.qdnapro-nova .nova-input-attachment-pill qdnapro-file-icon {
  flex-shrink: 0;
}

.qdnapro-nova .nova-input-attachment-name {
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qdnapro-nova .nova-input-attachment-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 0;
  background: transparent;
  color: var(--nova-placeholder);
  cursor: pointer;
  border-radius: 50%;
  padding: 0;
  flex-shrink: 0;
}

.qdnapro-nova .nova-input-attachment-remove:hover {
  background: rgba(0, 0, 0, 0.06);
  color: var(--nova-text);
}

.qdnapro-nova .nova-input-top {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex: 1;
}

.qdnapro-nova .nova-input-top-icon {
  width: 16px;
  height: 16px;
  margin-top: 4px;
  color: var(--nova-placeholder);
  flex-shrink: 0;
}

.qdnapro-nova .nova-input-textarea {
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  resize: none;
  font: inherit;
  font-family: inherit;
  font-size: 14px;
  line-height: 24px;
  color: var(--nova-text);
  max-height: 200px;
  min-height: 24px;
  padding: 0;
  width: 100%;
}

.qdnapro-nova .nova-input-textarea::placeholder {
  color: var(--nova-placeholder);
}

.qdnapro-nova .nova-input-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
}

.qdnapro-nova .nova-input-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  border: 0;
  background: transparent;
  color: var(--nova-text);
  border-radius: 4px;
  cursor: pointer;
  padding: 8px;
  transition: background-color 120ms ease-out, color 120ms ease-out;
}

.qdnapro-nova .nova-input-btn svg {
  width: 20px;
  height: 20px;
}

.qdnapro-nova .nova-input-btn:hover {
  background: var(--nova-user-bubble);
}

.qdnapro-nova .nova-input-btn[disabled] {
  color: var(--nova-placeholder);
  cursor: not-allowed;
}

.qdnapro-nova .nova-input-btn[disabled]:hover {
  background: transparent;
}

.qdnapro-nova .nova-input-action {
  margin-left: auto;
  transition: background-color 200ms cubic-bezier(0.4, 0, 0.2, 1), color 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

.qdnapro-nova .nova-input-action.nova-action-send {
  background: var(--nova-primary);
  color: #ffffff;
}

.qdnapro-nova .nova-input-action.nova-action-send:hover {
  background: var(--nova-primary-hover);
}

.qdnapro-nova .nova-input-action.nova-action-send:active {
  background: var(--nova-primary-pressed);
}

.qdnapro-nova .nova-input-action.nova-action-stop {
  background: transparent;
  color: var(--nova-error-text);
}

.qdnapro-nova .nova-input-action.nova-action-stop:hover {
  background: rgba(198, 90, 90, 0.1);
}

.qdnapro-nova .nova-input-action.nova-action-stop:active {
  background: rgba(198, 90, 90, 0.18);
}

.qdnapro-nova .nova-input-action.nova-action-mic {
  background: transparent;
  color: var(--nova-text);
}

.qdnapro-nova .nova-input-action.nova-action-mic:hover {
  background: rgba(0, 0, 0, 0.06);
}

.qdnapro-nova .nova-action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  transform-origin: center;
  transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1), opacity 140ms ease;
  will-change: transform, opacity;
}

.qdnapro-nova .nova-action-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-nova .nova-action-icon {
    transition: opacity 80ms ease;
    transform: none !important;
  }
}
.qdnapro-nova .nova-input-hint {
  padding: 4px 12px 0;
  font-size: 11px;
  line-height: 16px;
  color: var(--nova-placeholder);
  text-align: center;
}

.qdnapro-nova .nova-history {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.qdnapro-nova .nova-history-section-label {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 8px 4px;
  font-size: 11px;
  line-height: 16px;
  font-weight: 600;
  color: var(--nova-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.qdnapro-nova .nova-history-section-label svg {
  width: 12px;
  height: 12px;
}

.qdnapro-nova .nova-history-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px;
  border-radius: 8px;
  cursor: pointer;
  position: relative;
  transition: background-color 120ms ease-out;
}

.qdnapro-nova .nova-history-item:hover {
  background: var(--nova-menu-hover);
}

.qdnapro-nova .nova-history-item.nova-history-active {
  background: var(--nova-pinned-bg);
}

.qdnapro-nova .nova-history-item-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.qdnapro-nova .nova-history-item-title {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: var(--nova-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-nova .nova-history-item-snippet {
  font-size: 12px;
  line-height: 16px;
  color: var(--nova-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-nova .nova-history-item-meta {
  font-size: 11px;
  line-height: 14px;
  color: var(--nova-text-secondary);
}

.qdnapro-nova .nova-history-item-pin {
  color: var(--nova-primary);
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  margin-top: 4px;
}

.qdnapro-nova .nova-history-item-menu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 0;
  background: transparent;
  color: var(--nova-text-secondary);
  border-radius: 4px;
  cursor: pointer;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 120ms ease-out, background-color 120ms ease-out;
}

.qdnapro-nova .nova-history-item:hover .nova-history-item-menu-btn,
.qdnapro-nova .nova-history-item-menu-btn:focus-visible,
.qdnapro-nova .nova-history-item.nova-menu-open .nova-history-item-menu-btn {
  opacity: 1;
}

.qdnapro-nova .nova-history-item-menu-btn:hover {
  background: rgba(0, 0, 0, 0.08);
}

.qdnapro-nova .nova-history-item-menu-btn svg {
  width: 16px;
  height: 16px;
}

.qdnapro-nova .nova-menu {
  position: absolute;
  top: 36px;
  right: 8px;
  z-index: 10;
  min-width: 140px;
  padding: 4px;
  background: var(--nova-panel-bg);
  border: 1px solid var(--nova-border);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.qdnapro-nova .nova-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border: 0;
  background: transparent;
  color: var(--nova-text);
  border-radius: 4px;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  line-height: 20px;
  text-align: left;
  width: 100%;
}

.qdnapro-nova .nova-menu-item:hover {
  background: var(--nova-menu-hover);
}

.qdnapro-nova .nova-menu-item svg {
  width: 14px;
  height: 14px;
  color: var(--nova-text-secondary);
  flex-shrink: 0;
}

.qdnapro-nova .nova-menu-item.nova-menu-item-danger {
  color: var(--nova-error-text);
}

.qdnapro-nova .nova-menu-item.nova-menu-item-danger svg {
  color: var(--nova-error-text);
}

.qdnapro-nova .nova-menu-item.nova-menu-item-danger:hover {
  background: var(--nova-error-bg);
}

.qdnapro-nova .nova-history-empty {
  padding: 32px 16px;
  text-align: center;
  color: var(--nova-text-secondary);
  font-size: 13px;
  line-height: 20px;
}

.qdnapro-nova.nova-mic-recording .nova-input-field {
  border-color: #c65a5a;
  box-shadow: 0 0 0 3px rgba(198, 90, 90, 0.2);
  animation: nova-mic-border-pulse 1.4s ease-in-out infinite;
}

@keyframes nova-mic-border-pulse {
  0%, 100% {
    box-shadow: 0 0 0 3px rgba(198, 90, 90, 0.2);
  }
  50% {
    box-shadow: 0 0 0 5px rgba(198, 90, 90, 0.08);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-nova.nova-mic-recording .nova-input-field {
    animation: none;
    border-color: #c65a5a;
    box-shadow: 0 0 0 3px rgba(198, 90, 90, 0.2);
  }
}
.qdnapro-nova .nova-mic-autosend {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 4px 0;
  padding: 7px 10px;
  border-radius: 8px;
  background: var(--nova-quick-hover);
  color: var(--nova-primary);
  font-size: 12px;
  line-height: 16px;
}

.qdnapro-nova .nova-mic-autosend-label {
  font-weight: 600;
  flex-shrink: 0;
}

.qdnapro-nova .nova-mic-autosend-bar {
  flex: 1;
  height: 3px;
  border-radius: 2px;
  background: rgba(64, 73, 154, 0.18);
  overflow: hidden;
  position: relative;
}

.qdnapro-nova .nova-mic-autosend-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--nova-primary);
  transform-origin: left center;
  animation: nova-autosend-countdown linear forwards;
}

@keyframes nova-autosend-countdown {
  from {
    transform: scaleX(1);
  }
  to {
    transform: scaleX(0);
  }
}
.qdnapro-nova .nova-mic-autosend-cancel {
  flex-shrink: 0;
  border: 0;
  background: transparent;
  color: var(--nova-primary);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 4px;
  text-decoration: underline;
}

.qdnapro-nova .nova-mic-autosend-cancel:hover {
  background: rgba(64, 73, 154, 0.1);
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-nova .nova-mic-autosend-bar::after {
    animation: none;
    transform: scaleX(0.5);
  }
}
[data-theme=dark] .qdnapro-nova {
  --nova-panel-bg: #1f2028;
  --nova-user-bubble: #2e3036;
  --nova-text: #f0f1f2;
  --nova-text-secondary: #a6aab3;
  --nova-link: #8b93ff;
  --nova-border: #565b66;
  --nova-input-bg: #0b0b0d;
  --nova-placeholder: #898e99;
  --nova-divider: #3a3b42;
  --nova-quick-hover: rgba(70, 82, 243, 0.20);
  --nova-pinned-bg: #2a2d52;
  --nova-menu-hover: #2e3036;
  --nova-error-bg: #3a1e1e;
  --nova-error-text: #f87171;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.35);
}

[data-theme=dark] .qdnapro-nova.nova-theme-orange {
  --nova-pinned-bg: #3a2a12;
  --nova-quick-hover: #2e3036;
}

[data-theme=dark] .qdnapro-nova {
  --nova-primary: #8b93ff;
  --nova-primary-hover: #6e78ff;
  --nova-primary-pressed: #5560e8;
  --nova-primary-glow: rgba(139, 147, 255, 0.45);
}

[data-theme=dark] .qdnapro-nova.nova-theme-orange {
  --nova-primary: #F58F06;
  --nova-primary-hover: #f2a535;
  --nova-primary-pressed: #d97c00;
  --nova-primary-glow: rgba(245, 143, 6, 0.45);
}

[data-theme=dark] .qdnapro-nova .nova-welcome-card {
  background: #2a2c4d;
  border-color: rgba(165, 172, 255, 0.18);
}

[data-theme=dark] .qdnapro-nova .nova-welcome-title,
[data-theme=dark] .qdnapro-nova .nova-welcome-privacy,
[data-theme=dark] .qdnapro-nova .nova-welcome-privacy-icon {
  color: #a5acff;
}

[data-theme=dark] .qdnapro-nova .nova-welcome-privacy {
  background: rgba(255, 255, 255, 0.08);
}

[data-theme=dark] .qdnapro-nova.nova-theme-orange .nova-welcome-card {
  background: #3d2e1a;
  border-color: rgba(251, 191, 92, 0.22);
}

[data-theme=dark] .qdnapro-nova.nova-theme-orange .nova-welcome-title, [data-theme=dark] .qdnapro-nova.nova-theme-orange .nova-welcome-privacy, [data-theme=dark] .qdnapro-nova.nova-theme-orange .nova-welcome-privacy-icon {
  color: #fbbf24;
}

/* ══════════════════════════════════════════════════════════════════════════
   PWA-VARIANT: gesprekkenlijst NAAST de chat  [Jan 04.08.2026]

   Alleen actief met het `pwa`-attribuut, dus het backoffice-zijpaneel merkt
   hier niets van: daar komt de geschiedenis nog steeds IN PLAATS VAN de chat.

   Onder 768px (telefoon) is er één kolom en gedraagt de variant zich exact als
   voorheen: de rechterkolom staat er in de DOM maar wordt niet getoond, en de
   geschiedenis-knop in de kop brengt je naar de volledige lijst.
   Vanaf 768px — dezelfde tabletgrens die de app in documenten, postvak en
   startscherm gebruikt — staat de lijst rechts en is die knop overbodig.
   ══════════════════════════════════════════════════════════════════════════ */
.qdnapro-nova[pwa] .nova-split {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.qdnapro-nova[pwa] .nova-split-chat {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  /* ⚠️ min-width 0 is hier geen opsmuk: zonder deze regel weigert een flex-kind
     te krimpen onder zijn inhoud en duwt een lange regel in een chatbel de
     rechterkolom van het scherm af. */
  min-width: 0;
}

/* Telefoon: de lijst staat in de DOM maar hoort niet in beeld. */
.qdnapro-nova[pwa] .nova-split-history {
  display: none;
}

@media (min-width: 768px) {
  .qdnapro-nova[pwa] .nova-split-history {
    display: flex;
    flex-direction: column;
    /* 320px: breed genoeg voor een gesprekstitel op twee regels, smal genoeg om
       de chat de hoofdrol te laten. Krimpt niet mee (flex 0 0 auto), want een
       gespreklijst van 120px is onleesbaar. */
    flex: 0 0 320px;
    min-width: 0;
    overflow-y: auto;
    border-left: 1px solid var(--nova-divider);
  }
  /* De geschiedenis-knop in de kop wijst naar een lijst die al zichtbaar is. */
  .qdnapro-nova[pwa] .nova-header-actions .nova-header-btn[data-role=history-btn] {
    display: none;
  }
}
/* ============================================================
 *  qdnapro-nova-launcher — compiled from _nova-launcher.scss
 * ============================================================ */
.qdnapro-nova-launcher {
  position: fixed;
  z-index: 9000;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  background: linear-gradient(135deg, #4652f3 0%, #40499a 50%, #4652f3 100%);
  background-size: 200% 200%;
  background-position: 0% 0%;
  animation: nova-launcher-glide 8s ease-in-out infinite alternate;
  color: #ffffff;
  box-shadow: 0 4px 8px 0 rgba(64, 73, 154, 0.25), 0 8px 16px 4px rgba(0, 0, 0, 0.16), 0 2px 4px 0 rgba(0, 0, 0, 0.12);
  transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 200ms ease-out, background 160ms ease-out;
}

.qdnapro-nova-launcher .launcher-sparkle {
  width: 56%;
  height: 56%;
  display: block;
  pointer-events: none;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.18));
}

.qdnapro-nova-launcher .launcher-sparkle path {
  transform-box: fill-box;
  transform-origin: center;
}

.qdnapro-nova-launcher .launcher-sparkle .sparkle-big {
  animation: nova-launcher-sparkle-big 2.2s ease-in-out infinite;
}

.qdnapro-nova-launcher .launcher-sparkle .sparkle-small {
  animation: nova-launcher-sparkle-small 1.5s ease-in-out -0.4s infinite;
}

.qdnapro-nova-launcher:hover,
.qdnapro-nova-launcher.force-hover {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 6px 12px 0 rgba(64, 73, 154, 0.32), 0 12px 22px 6px rgba(0, 0, 0, 0.18), 0 4px 6px 0 rgba(0, 0, 0, 0.14);
}

.qdnapro-nova-launcher:hover::before,
.qdnapro-nova-launcher.force-hover::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: rgba(70, 82, 243, 0.55);
  z-index: -1;
  animation: nova-launcher-pulse 1.8s ease-out infinite;
}

.qdnapro-nova-launcher:active,
.qdnapro-nova-launcher.force-pressed {
  transform: translateY(0) scale(0.97);
  box-shadow: 0 2px 4px 0 rgba(64, 73, 154, 0.22), 0 4px 8px 2px rgba(0, 0, 0, 0.18), 0 1px 2px 0 rgba(0, 0, 0, 0.14);
  transition-duration: 90ms;
}

.qdnapro-nova-launcher:focus {
  outline: none;
}

.qdnapro-nova-launcher:focus-visible,
.qdnapro-nova-launcher.force-focus {
  outline: 3px solid #ffffff;
  outline-offset: -3px;
  box-shadow: 0 0 0 3px #4652f3, 0 0 0 7px rgba(70, 82, 243, 0.3), 0 8px 16px 4px rgba(0, 0, 0, 0.18), 0 2px 4px 0 rgba(0, 0, 0, 0.12);
}

.qdnapro-nova-launcher.launcher-theme-orange {
  background: linear-gradient(135deg, #FBBF24 0%, #F58F06 50%, #FBBF24 100%);
  background-size: 200% 200%;
  background-position: 0% 0%;
  animation: nova-launcher-glide 8s ease-in-out infinite alternate;
  color: #ffffff;
  box-shadow: 0 4px 8px 0 rgba(245, 143, 6, 0.3), 0 8px 16px 4px rgba(0, 0, 0, 0.16), 0 2px 4px 0 rgba(0, 0, 0, 0.12);
}

.qdnapro-nova-launcher.launcher-theme-orange:hover,
.qdnapro-nova-launcher.launcher-theme-orange.force-hover {
  box-shadow: 0 6px 12px 0 rgba(245, 143, 6, 0.38), 0 12px 22px 6px rgba(0, 0, 0, 0.18), 0 4px 6px 0 rgba(0, 0, 0, 0.14);
}

.qdnapro-nova-launcher.launcher-theme-orange:hover::before,
.qdnapro-nova-launcher.launcher-theme-orange.force-hover::before {
  background: rgba(245, 143, 6, 0.55);
}

.qdnapro-nova-launcher.launcher-theme-orange:active,
.qdnapro-nova-launcher.launcher-theme-orange.force-pressed {
  box-shadow: 0 2px 4px 0 rgba(245, 143, 6, 0.28), 0 4px 8px 2px rgba(0, 0, 0, 0.18), 0 1px 2px 0 rgba(0, 0, 0, 0.14);
}

.qdnapro-nova-launcher.launcher-theme-orange:focus-visible,
.qdnapro-nova-launcher.launcher-theme-orange.force-focus {
  box-shadow: 0 0 0 3px #F58F06, 0 0 0 7px rgba(245, 143, 6, 0.32), 0 8px 16px 4px rgba(0, 0, 0, 0.18), 0 2px 4px 0 rgba(0, 0, 0, 0.12);
}

[data-theme=dark] .qdnapro-nova-launcher {
  background: linear-gradient(135deg, #5560e8 0%, #3842c2 50%, #5560e8 100%);
  background-size: 200% 200%;
  box-shadow: 0 4px 8px 0 rgba(70, 82, 243, 0.3), 0 8px 16px 4px rgba(0, 0, 0, 0.3), 0 2px 4px 0 rgba(0, 0, 0, 0.2);
}

[data-theme=dark] .qdnapro-nova-launcher:hover,
[data-theme=dark] .qdnapro-nova-launcher.force-hover {
  box-shadow: 0 6px 12px 0 rgba(70, 82, 243, 0.4), 0 12px 22px 6px rgba(0, 0, 0, 0.32), 0 4px 6px 0 rgba(0, 0, 0, 0.22);
}

[data-theme=dark] .qdnapro-nova-launcher.launcher-theme-orange {
  background: linear-gradient(135deg, #FBBF24 0%, #d97c00 50%, #FBBF24 100%);
  background-size: 200% 200%;
  box-shadow: 0 4px 8px 0 rgba(251, 191, 36, 0.3), 0 8px 16px 4px rgba(0, 0, 0, 0.3), 0 2px 4px 0 rgba(0, 0, 0, 0.2);
}

@keyframes nova-launcher-sparkle-big {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
}
@keyframes nova-launcher-sparkle-small {
  0%, 100% {
    transform: scale(0.7);
  }
  50% {
    transform: scale(1.25);
  }
}
@keyframes nova-launcher-pulse {
  0% {
    transform: scale(1);
    opacity: 0.55;
  }
  70% {
    transform: scale(1.5);
    opacity: 0;
  }
  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}
@keyframes nova-launcher-glide {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 100% 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-nova-launcher,
  .qdnapro-nova-launcher .launcher-sparkle .sparkle-big,
  .qdnapro-nova-launcher .launcher-sparkle .sparkle-small,
  .qdnapro-nova-launcher:hover::before {
    animation: none;
  }
}
.qdnapro-nova-message {
  --msg-text: var(--nova-text, #1a1c20);
  --msg-text-secondary: var(--nova-text-secondary, #6b7280);
  --msg-user-bubble: var(--nova-user-bubble, #f0f1f2);
  --msg-primary: var(--nova-primary, #40499a);
  --msg-error-bg: var(--nova-error-bg, #fee3e3);
  --msg-error-text: var(--nova-error-text, #c65a5a);
  --msg-pinned-bg: var(--nova-pinned-bg, #e6e9ff);
  --msg-border: var(--nova-border, #c4c7cc);
  --msg-link: var(--nova-link, #40499a);
  --msg-quick-hover: var(--nova-quick-hover, #f0f1f2);
  --msg-divider: var(--nova-divider, rgba(0, 0, 0, 0.1));
  display: flex;
  flex-direction: column;
}

.qdnapro-nova-message.nova-msg-user {
  align-self: flex-end;
  max-width: 85%;
  padding: 8px 12px;
  background: var(--msg-user-bubble);
  color: var(--msg-text);
  border-radius: 20px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  word-wrap: break-word;
  white-space: pre-wrap;
}

.qdnapro-nova-message.nova-msg-ai {
  align-self: flex-start;
  width: 100%;
  padding: 8px 12px;
  border-radius: 20px;
  gap: 12px;
}

.qdnapro-nova-message.nova-msg-ai .nova-msg-ai-body {
  font-size: 14px;
  line-height: 24px;
  color: var(--msg-text);
  word-wrap: break-word;
}

.qdnapro-nova-message.nova-msg-ai .nova-msg-ai-body p {
  margin: 0 0 8px;
}

.qdnapro-nova-message.nova-msg-ai .nova-msg-ai-body p:last-child {
  margin-bottom: 0;
}

.qdnapro-nova-message.nova-msg-ai .nova-msg-ai-body strong {
  font-weight: 600;
}

.qdnapro-nova-message.nova-msg-ai .nova-msg-ai-body a {
  color: var(--msg-link);
  text-decoration: underline;
}

.qdnapro-nova-message.nova-msg-ai .nova-msg-ai-body ul, .qdnapro-nova-message.nova-msg-ai .nova-msg-ai-body ol {
  margin: 0 0 8px;
  padding-left: 20px;
}

.qdnapro-nova-message.nova-msg-ai .nova-msg-ai-body li + li {
  margin-top: 4px;
}

.qdnapro-nova-message.nova-msg-ai .nova-msg-ai-body code {
  background: var(--msg-user-bubble);
  padding: 1px 4px;
  border-radius: 3px;
  font-family: Menlo, Monaco, "Courier New", monospace;
  font-size: 12px;
}

.qdnapro-nova-message.nova-msg-ai .nova-source-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px 4px 4px;
  background: var(--msg-user-bubble);
  border: 0;
  border-radius: 4px;
  font-size: 12px;
  line-height: 20px;
  font-weight: 500;
  color: var(--msg-text-secondary);
  width: fit-content;
  cursor: pointer;
  transition: background-color 120ms ease-out;
}

.qdnapro-nova-message.nova-msg-ai .nova-source-pill:hover {
  background: var(--msg-quick-hover);
}

.qdnapro-nova-message.nova-msg-ai .nova-source-pill qdnapro-icon,
.qdnapro-nova-message.nova-msg-ai .nova-source-pill .nova-source-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.qdnapro-nova-message.nova-msg-ai .nova-source-stack {
  display: inline-flex;
  align-items: center;
  padding-right: 6px;
}

.qdnapro-nova-message.nova-msg-ai .nova-source-stack-item {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--msg-user-bubble);
  border: 0.5px solid var(--msg-divider);
  margin-right: -6px;
}

.qdnapro-nova-message.nova-msg-ai .nova-followups {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 0 4px;
}

.qdnapro-nova-message.nova-msg-ai .nova-followup-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: transparent;
  border: 1px solid var(--msg-border);
  border-radius: 16px;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  line-height: 16px;
  color: var(--msg-text);
  transition: background-color 120ms ease-out, border-color 120ms ease-out;
}

.qdnapro-nova-message.nova-msg-ai .nova-followup-chip:hover {
  background: var(--msg-quick-hover);
  border-color: var(--msg-primary);
  color: var(--msg-primary);
}

.qdnapro-nova-message.nova-msg-ai .nova-msg-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.qdnapro-nova-message.nova-msg-ai .nova-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 0;
  background: transparent;
  color: var(--msg-text-secondary);
  border-radius: 4px;
  cursor: pointer;
  padding: 4px;
  transition: background-color 120ms ease-out, color 120ms ease-out;
}

.qdnapro-nova-message.nova-msg-ai .nova-action-btn:hover {
  background: var(--msg-user-bubble);
  color: var(--msg-text);
}

.qdnapro-nova-message.nova-msg-ai .nova-action-btn qdnapro-icon {
  width: 16px;
  height: 16px;
}

.qdnapro-nova-message.nova-msg-ai .nova-action-btn.nova-action-active {
  color: var(--msg-primary);
  background: var(--msg-pinned-bg);
}

.qdnapro-nova-message.nova-msg-ai .nova-action-btn:focus {
  outline: none;
}

.qdnapro-nova-message.nova-msg-ai .nova-action-btn:focus-visible,
.qdnapro-nova-message.nova-msg-ai .nova-action-btn.force-focus,
.qdnapro-nova-message.nova-msg-ai .nova-followup-chip:focus-visible,
.qdnapro-nova-message.nova-msg-ai .nova-followup-chip.force-focus,
.qdnapro-nova-message.nova-msg-ai .nova-source-pill:focus-visible,
.qdnapro-nova-message.nova-msg-ai .nova-source-pill.force-focus {
  outline: 2px solid var(--msg-primary);
  outline-offset: -2px;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.25);
}

.qdnapro-nova-message.nova-msg-error {
  align-self: stretch;
  padding: 12px;
  background: var(--msg-error-bg);
  border-radius: 12px;
  color: var(--msg-error-text);
  font-size: 13px;
  line-height: 20px;
  gap: 8px;
}

.qdnapro-nova-message.nova-msg-error .nova-msg-error-retry {
  align-self: flex-start;
  padding: 4px 10px;
  background: var(--msg-error-text);
  color: #ffffff;
  border: 0;
  border-radius: 4px;
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
}

.qdnapro-nova-message.nova-msg-error .nova-msg-error-retry:hover {
  opacity: 0.9;
}

.qdnapro-nova-message.nova-msg-error .nova-msg-error-retry:focus {
  outline: none;
}

.qdnapro-nova-message.nova-msg-error .nova-msg-error-retry:focus-visible,
.qdnapro-nova-message.nova-msg-error .nova-msg-error-retry.force-focus {
  outline: 2px solid var(--msg-primary);
  outline-offset: -2px;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.25);
}

.qdnapro-nova-message.nova-msg-thinking {
  align-self: flex-start;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  height: 36px;
  padding: 0;
  color: var(--msg-text-secondary);
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
}

.qdnapro-nova-message.nova-msg-thinking .nova-thinking-icon {
  position: relative;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}

.qdnapro-nova-message.nova-msg-thinking .nova-thinking-sparkle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  color: var(--msg-primary);
  animation: nova-msg-sparkle-orbit 2.7s ease-in-out infinite;
  will-change: transform, opacity;
}

.qdnapro-nova-message.nova-msg-thinking .nova-thinking-sparkle:nth-child(2) {
  animation-delay: -0.9s;
}

.qdnapro-nova-message.nova-msg-thinking .nova-thinking-sparkle:nth-child(3) {
  animation-delay: -1.8s;
}

.qdnapro-nova-message.nova-msg-thinking .nova-thinking-sparkle svg {
  width: 100%;
  height: 100%;
  display: block;
}

[data-theme=dark] .qdnapro-nova-message.nova-msg-thinking .nova-thinking-sparkle {
  color: #f0f1ff;
}

@keyframes nova-msg-sparkle-orbit {
  0% {
    transform: translate(0, -11px) scale(0.45);
    opacity: 0.35;
  }
  25% {
    transform: translate(11px, 0) scale(0.85);
    opacity: 0.75;
  }
  50% {
    transform: translate(0, 11px) scale(1.2);
    opacity: 1;
  }
  75% {
    transform: translate(-11px, 0) scale(0.85);
    opacity: 0.75;
  }
  100% {
    transform: translate(0, -11px) scale(0.45);
    opacity: 0.35;
  }
}
.qdnapro-nova-message.nova-msg-file {
  align-self: stretch;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  background: #e6e9ff;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 120ms ease-out;
}

.qdnapro-nova-message.nova-msg-file:hover {
  background: #daddf2;
}

.qdnapro-nova-message.nova-msg-file:active {
  background: #c7cce8;
}

.qdnapro-nova-message.nova-msg-file:focus {
  outline: none;
}

.qdnapro-nova-message.nova-msg-file:focus-visible, .qdnapro-nova-message.nova-msg-file.force-focus {
  outline: 2px solid var(--msg-primary);
  outline-offset: -2px;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.25);
}

.qdnapro-nova-message.nova-msg-file .nova-msg-file-icon-wrap {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.qdnapro-nova-message.nova-msg-file .nova-msg-file-meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
  gap: 2px;
}

.qdnapro-nova-message.nova-msg-file .nova-msg-file-name {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: var(--msg-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qdnapro-nova-message.nova-msg-file .nova-msg-file-info {
  font-size: 12px;
  line-height: 16px;
  color: var(--msg-text-secondary);
}

.qdnapro-nova-message.nova-msg-file .nova-msg-file-open {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: transparent;
  color: #40499a;
  border: 1px solid #40499a;
  border-radius: 8px;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
  pointer-events: none;
}

.qdnapro-nova-message.nova-msg-file .nova-msg-file-open qdnapro-icon {
  width: 16px;
  height: 16px;
  color: #40499a;
}

.qdnapro-nova-message.nova-msg-file .nova-msg-file-download {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: #40499a;
  pointer-events: none;
}

.qdnapro-nova-message.nova-msg-file .nova-msg-file-download qdnapro-icon {
  width: 20px;
  height: 20px;
  color: inherit;
}

.qdnapro-nova-message.nova-msg-file .nova-msg-file-download qdnapro-icon svg {
  fill: #40499a !important;
}

[data-theme=dark] .qdnapro-nova-message.nova-msg-file {
  background: #2a2c5a;
  border-color: #6b75d6;
}

[data-theme=dark] .qdnapro-nova-message.nova-msg-file:hover {
  background: #333a7b;
}

[data-theme=dark] .qdnapro-nova-message.nova-msg-file:active {
  background: #252b5e;
}

[data-theme=dark] .qdnapro-nova-message.nova-msg-file .nova-msg-file-open,
[data-theme=dark] .qdnapro-nova-message.nova-msg-file .nova-msg-file-open qdnapro-icon {
  color: #b3bbf2;
  border-color: #6b75d6;
}

.qdnapro-number-indicator-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 50px;
  border: 1px solid transparent;
  padding: 0 4px;
  font-family: "Inter", sans-serif;
  text-align: center;
  white-space: nowrap;
  line-height: 1;
}
.qdnapro-number-indicator-badge:focus-visible {
  outline: 1px solid #40499a;
  outline-offset: 2px;
}
.qdnapro-number-indicator-badge.number-indicator-badge-size-xs {
  min-width: 20px;
  height: 20px;
  font-size: 10px;
  line-height: 20px;
  opacity: 0.9;
}
.qdnapro-number-indicator-badge.number-indicator-badge-size-sm {
  min-width: 24px;
  height: 24px;
  font-size: 12px;
  line-height: 20px;
}
.qdnapro-number-indicator-badge.number-indicator-badge-size-md {
  min-width: 24px;
  height: 24px;
  font-size: 14px;
  line-height: 24px;
}
.qdnapro-number-indicator-badge.number-indicator-badge-size-lg {
  min-width: 24px;
  height: 24px;
  font-size: 16px;
  line-height: 24px;
}
.qdnapro-number-indicator-badge.number-indicator-badge-weight-regular {
  font-weight: 400;
}
.qdnapro-number-indicator-badge.number-indicator-badge-weight-medium {
  font-weight: 500;
}
.qdnapro-number-indicator-badge.number-indicator-badge-weight-bold {
  font-weight: 700;
}
.qdnapro-number-indicator-badge.number-indicator-badge-primary {
  background-color: #40499a;
  color: #ffffff;
}
.qdnapro-number-indicator-badge.number-indicator-badge-outlined {
  background-color: #e6e9ff;
  border-color: #40499a;
  color: #40499a;
}
.qdnapro-number-indicator-badge.number-indicator-badge-subtle {
  background-color: #e6e9ff;
  color: #40499a;
}
.qdnapro-number-indicator-badge.number-indicator-badge-muted {
  background-color: rgba(107, 114, 128, 0.3019607843);
  color: #6b7280;
}
.qdnapro-number-indicator-badge.number-indicator-badge-ghost {
  background-color: transparent;
  color: #6b7280;
}
.qdnapro-number-indicator-badge.number-indicator-badge-ghost-purple {
  background-color: transparent;
  color: #40499a;
}
.qdnapro-number-indicator-badge.number-indicator-badge-alert {
  background-color: #dc2626;
  color: #ffffff;
}
.qdnapro-number-indicator-badge.number-indicator-badge-on-primary {
  background-color: #252b5e;
  color: #ffffff;
}
.qdnapro-number-indicator-badge.number-indicator-badge-green {
  background-color: #e2faf1;
  border-color: #8becc5;
  color: #2f5d4a;
}
.qdnapro-number-indicator-badge.number-indicator-badge-yellow {
  background-color: #fef6db;
  border-color: #fde594;
  color: #655522;
}
.qdnapro-number-indicator-badge.number-indicator-badge-red {
  background-color: #fee3e3;
  border-color: #fbaaaa;
  color: #633030;
}
.qdnapro-number-indicator-badge.number-indicator-badge-borderless {
  border-color: transparent;
}

.qdnapro-number-indicator-badge.number-indicator-badge-dot {
  padding: 0;
  font-size: 0;
  line-height: 0;
  border-width: 0;
}
.qdnapro-number-indicator-badge.number-indicator-badge-dot.number-indicator-badge-size-xs {
  width: 6px;
  height: 6px;
  min-width: 6px;
}
.qdnapro-number-indicator-badge.number-indicator-badge-dot.number-indicator-badge-size-sm {
  width: 8px;
  height: 8px;
  min-width: 8px;
}
.qdnapro-number-indicator-badge.number-indicator-badge-dot.number-indicator-badge-size-md {
  width: 10px;
  height: 10px;
  min-width: 10px;
}
.qdnapro-number-indicator-badge.number-indicator-badge-dot.number-indicator-badge-size-lg {
  width: 12px;
  height: 12px;
  min-width: 12px;
}

[data-theme=dark] .qdnapro-number-indicator-badge.number-indicator-badge-primary {
  background-color: #c4c7cc;
  color: #ffffff;
}
[data-theme=dark] .qdnapro-number-indicator-badge.number-indicator-badge-outlined {
  background-color: #0b0b0d;
  border-color: #565b66;
  color: #f0f1f2;
}
[data-theme=dark] .qdnapro-number-indicator-badge.number-indicator-badge-subtle {
  background-color: #0b0b0d;
  color: #f0f1f2;
}
[data-theme=dark] .qdnapro-number-indicator-badge.number-indicator-badge-muted {
  background-color: rgba(107, 114, 128, 0.2);
  color: #a6aab3;
}
[data-theme=dark] .qdnapro-number-indicator-badge.number-indicator-badge-ghost {
  background-color: transparent;
  color: #a6aab3;
}
[data-theme=dark] .qdnapro-number-indicator-badge.number-indicator-badge-ghost-purple {
  background-color: transparent;
  color: #f0f1f2;
}
[data-theme=dark] .qdnapro-number-indicator-badge.number-indicator-badge-alert {
  background-color: #ef4444;
  color: #ffffff;
}
[data-theme=dark] .qdnapro-number-indicator-badge.number-indicator-badge-green {
  background-color: rgba(66, 139, 110, 0.2);
  border-color: rgba(139, 236, 197, 0.4);
  color: #a7e8cd;
}
[data-theme=dark] .qdnapro-number-indicator-badge.number-indicator-badge-yellow {
  background-color: rgba(151, 127, 46, 0.2);
  border-color: rgba(253, 229, 148, 0.4);
  color: #f0dc95;
}
[data-theme=dark] .qdnapro-number-indicator-badge.number-indicator-badge-red {
  background-color: rgba(198, 90, 90, 0.2);
  border-color: rgba(251, 170, 170, 0.4);
  color: #f6c0c0;
}
[data-theme=dark] .qdnapro-number-indicator-badge.number-indicator-badge-borderless {
  border-color: transparent;
}

qdnapro-photo-gallery {
  display: block;
  width: 100%;
  --pg-cell-size: 170px;
}
qdnapro-photo-gallery * {
  box-sizing: border-box;
}
qdnapro-photo-gallery .pg-grid {
  display: grid;
  /* auto-FILL + minmax(<size>, 1fr): the KEY is auto-FILL (not auto-fit).
     auto-fill KEEPS the empty phantom tracks, so a small result set does
     NOT over-stretch (each item stays one track ≈ <size>) — that was the
     original bug with auto-fit, which collapses empty tracks and blows the
     few items up. The 1fr lets the real columns absorb the leftover width
     so the grid fills the card edge-to-edge (no empty column pooling on the
     right). Net: tile size depends only on CONTAINER WIDTH (responsive),
     never on filters or photo count. [Jan 2026-07-06] */
  grid-template-columns: repeat(auto-fill, minmax(var(--pg-cell-size, 170px), 1fr));
  gap: var(--s-3, 12px);
  justify-content: start;
}
qdnapro-photo-gallery .pg-cell {
  position: relative;
  aspect-ratio: 1/1;
  border-radius: var(--r-3, 12px);
  overflow: hidden;
  background: var(--c-bg-subtle-hover, #f0f1f2);
}
qdnapro-photo-gallery .pg-cell-thumb-btn {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}
qdnapro-photo-gallery .pg-cell-thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms cubic-bezier(0.2, 0.6, 0.2, 1);
}
qdnapro-photo-gallery .pg-cell-thumb-btn:hover .pg-cell-thumb {
  transform: scale(1.05);
}
qdnapro-photo-gallery .pg-cell-thumb-btn:focus-visible {
  outline: 2px solid var(--c-brand-purple, #40499a);
  outline-offset: -2px;
}
qdnapro-photo-gallery .pg-cell.pg-cell-selected {
  box-shadow: 0 0 0 3px var(--c-brand-purple, #40499a);
}
qdnapro-photo-gallery .pg-grid.pg-selecting .pg-cell-thumb-btn {
  cursor: pointer;
}
qdnapro-photo-gallery .pg-grid.pg-selecting .pg-cell-thumb-btn:hover .pg-cell-thumb {
  transform: none;
}
qdnapro-photo-gallery .pg-cell-check {
  position: absolute;
  top: var(--s-2, 8px);
  left: var(--s-2, 8px);
  z-index: 3;
  background: rgba(255, 255, 255, 0.85);
  border-radius: var(--r-1, 4px);
  padding: 2px;
}
qdnapro-photo-gallery .pg-cell-flag {
  position: absolute;
  top: var(--s-2, 8px);
  right: var(--s-2, 8px);
  z-index: 3;
  color: var(--c-signal-red-text, #b3261e);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
  pointer-events: none;
}
qdnapro-photo-gallery .pg-cell:has(.pg-cell-id) .pg-cell-flag {
  top: 22px;
}
qdnapro-photo-gallery .pg-cell-id {
  position: absolute;
  top: 4px;
  right: 6px;
  z-index: 3;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2px;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  color: rgba(255, 255, 255, 0.92);
  text-shadow: 0 1px 1.5px rgba(0, 0, 0, 0.55);
}
qdnapro-photo-gallery .pg-cell-id.pg-id-dark {
  color: rgba(17, 17, 17, 0.9);
  text-shadow: 0 1px 1.5px rgba(255, 255, 255, 0.6);
}
qdnapro-photo-gallery .pg-cell-fav {
  position: absolute;
  bottom: var(--s-2, 8px);
  left: var(--s-2, 8px);
  z-index: 3;
  color: #ffd54a;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
  pointer-events: none;
}
qdnapro-photo-gallery .pg-cell-comments {
  position: absolute;
  bottom: var(--s-2, 8px);
  right: var(--s-2, 8px);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 7px;
  border-radius: var(--r-pill, 999px);
  background: rgba(0, 0, 0, 0.55);
  color: #ffffff;
  font-size: 11px;
  font-weight: 600;
  line-height: 14px;
  pointer-events: none;
}
qdnapro-photo-gallery .pg-state[hidden] {
  display: none;
}
qdnapro-photo-gallery .pg-skel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--pg-cell-size, 170px), 1fr));
  gap: var(--s-3, 12px);
  justify-content: start;
}
qdnapro-photo-gallery .pg-skel-cell {
  aspect-ratio: 1/1;
  border-radius: var(--r-3, 12px);
  background: linear-gradient(100deg, var(--c-grey-100, #f0f1f2) 30%, var(--c-grey-50, #f7f8f9) 50%, var(--c-grey-100, #f0f1f2) 70%);
  background-size: 200% 100%;
  animation: pg-skel-shimmer 1.4s ease-in-out infinite;
}
@keyframes pg-skel-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
qdnapro-photo-gallery .pg-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--s-2, 8px);
  padding: var(--s-8, 40px) var(--s-4, 16px);
  color: var(--c-text-muted, #6b7280);
  text-align: center;
}
qdnapro-photo-gallery .pg-empty h4 {
  margin: 0;
  color: var(--c-text-heading, #1a1f4d);
}
qdnapro-photo-gallery .pg-empty p {
  margin: 0;
  font-size: 13px;
}
qdnapro-photo-gallery .pg-sentinel {
  height: 1px;
}

qdnapro-modal.pg-lightbox.modal-size-xxlarge .modal-dialog {
  max-width: min(1400px, 95vw);
  width: 95vw;
  height: min(900px, 100vh - 48px);
}
qdnapro-modal.pg-lightbox .modal-body {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
  gap: 0;
}
qdnapro-modal.pg-lightbox .pg-lb-stage {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: var(--s-3, 12px);
  flex: 1 1 auto;
  min-height: 0;
}
qdnapro-modal.pg-lightbox .pg-lb-hero {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
}
qdnapro-modal.pg-lightbox .pg-lb-viewport {
  position: absolute;
  inset: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-3, 12px);
  background: var(--c-bg-subtle-hover, #f4f5fb);
}
qdnapro-modal.pg-lightbox .pg-lb-viewport.pg-zoomed {
  cursor: grab;
}
qdnapro-modal.pg-lightbox .pg-lb-viewport.pg-panning {
  cursor: grabbing;
}
qdnapro-modal.pg-lightbox .pg-lb-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transform-origin: center center;
  transition: transform 120ms ease-out;
  will-change: transform;
  user-select: none;
  -webkit-user-drag: none;
}
qdnapro-modal.pg-lightbox .pg-lb-viewport.pg-panning .pg-lb-img {
  transition: none;
}
qdnapro-modal.pg-lightbox .pg-lb-overlay {
  position: absolute;
  inset: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  opacity: 0;
  pointer-events: none;
  transition: opacity 260ms ease;
  will-change: opacity;
  user-select: none;
  -webkit-user-drag: none;
}
qdnapro-modal.pg-lightbox .pg-lb-overlay.pg-overlay-show {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  qdnapro-modal.pg-lightbox .pg-lb-overlay {
    transition: none;
  }
}
qdnapro-modal.pg-lightbox .pg-lb-hero-tools {
  position: absolute;
  top: var(--s-2, 8px);
  right: var(--s-2, 8px);
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border-radius: var(--r-pill, 999px);
  background: rgba(11, 11, 13, 0.55);
  backdrop-filter: blur(6px);
}
qdnapro-modal.pg-lightbox .pg-lb-hero-tools qdnapro-icon-btn {
  color: #ffffff;
}
qdnapro-modal.pg-lightbox .pg-lb-hero-tools qdnapro-icon-btn:hover {
  background: rgba(255, 255, 255, 0.16);
}
qdnapro-modal.pg-lightbox .pg-lb-hero-tools .pg-btn-dim {
  opacity: 0.4;
  pointer-events: none;
}
qdnapro-modal.pg-lightbox .pg-lb-zoom-level {
  min-width: 44px;
  padding: 4px 6px;
  border: none;
  background: transparent;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  border-radius: var(--r-2, 8px);
}
qdnapro-modal.pg-lightbox .pg-lb-zoom-level:hover {
  background: rgba(255, 255, 255, 0.16);
}
qdnapro-modal.pg-lightbox .pg-lb-arrow {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: var(--c-bg-subtle-purple, rgba(64, 73, 154, 0.1));
  color: var(--c-brand-purple, #40499a);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  align-self: center;
  transition: background-color 180ms ease, transform 180ms ease;
}
qdnapro-modal.pg-lightbox .pg-lb-arrow:hover {
  background: var(--c-purple-100, rgba(64, 73, 154, 0.2));
  transform: scale(1.05);
}
qdnapro-modal.pg-lightbox .pg-lb-meta {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--s-3, 12px);
  margin-top: var(--s-3, 12px);
  padding-top: var(--s-3, 12px);
  border-top: 1px solid var(--c-border-soft, #e6e9ef);
  font-size: 13px;
  color: var(--c-text-muted, #6b7280);
  flex-shrink: 0;
}
qdnapro-modal.pg-lightbox .pg-lb-meta-text {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--s-3, 12px);
  flex: 1 1 auto;
  min-width: 0;
}
qdnapro-modal.pg-lightbox .pg-lb-position {
  font-weight: 600;
  color: var(--c-text-heading, #1a1f4d);
  white-space: nowrap;
}
qdnapro-modal.pg-lightbox .pg-lb-user:empty, qdnapro-modal.pg-lightbox .pg-lb-date:empty, qdnapro-modal.pg-lightbox .pg-lb-node:empty, qdnapro-modal.pg-lightbox .pg-lb-location:empty {
  display: none;
}
qdnapro-modal.pg-lightbox .pg-lb-fase2-slot {
  display: inline-flex;
  align-items: center;
  gap: var(--s-2, 8px);
  padding-left: var(--s-3, 12px);
  margin-left: auto;
  flex-shrink: 0;
  border-left: 1px solid var(--c-border-soft, #e6e9ef);
}
qdnapro-modal.pg-lightbox .pg-lb-rating {
  margin: 0 2px;
}
qdnapro-modal.pg-lightbox .pg-lb-classify-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--s-2, 8px);
  margin-top: var(--s-3, 12px);
  flex-shrink: 0;
}
qdnapro-modal.pg-lightbox .pg-lb-classify-btn.qdnapro-icon-btn {
  background: #edeefb;
  color: #40499a;
  flex: 0 0 auto;
}
qdnapro-modal.pg-lightbox .pg-lb-classify-btn.qdnapro-icon-btn:hover:not(.icon-btn-disabled) {
  background: #e3e5f8;
}
qdnapro-modal.pg-lightbox .pg-lb-classify-pills {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
qdnapro-modal.pg-lightbox .pg-lb-classify-none {
  color: var(--c-text-muted, #8890b8);
  font-size: 12.5px;
}
qdnapro-modal.pg-lightbox .pg-lb-actions {
  margin-top: var(--s-3, 12px);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--s-2, 8px);
  flex-shrink: 0;
}
qdnapro-modal.pg-lightbox .pg-lb-download {
  display: inline-flex;
}
qdnapro-modal.pg-lightbox .pg-lb-comments-toggle {
  position: relative;
}
qdnapro-modal.pg-lightbox .pg-lb-comments-toggle[data-count]:not([data-count=""])::after {
  content: attr(data-count);
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 15px;
  height: 15px;
  padding: 0 3px;
  border-radius: var(--r-pill, 999px);
  background: var(--c-brand-purple, #40499a);
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  line-height: 15px;
  text-align: center;
  pointer-events: none;
}
qdnapro-modal.pg-lightbox .pg-lb-comments-panel {
  margin-top: var(--s-3, 12px);
  padding-top: var(--s-3, 12px);
  border-top: 1px solid var(--c-border-soft, #e6e9ef);
  flex-shrink: 0;
}
qdnapro-modal.pg-lightbox .pg-lb-comments-panel[hidden] {
  display: none;
}
qdnapro-modal.pg-lightbox .pg-lb-comments-list {
  display: flex;
  flex-direction: column;
  gap: var(--s-3, 12px);
  max-height: 220px;
  overflow-y: auto;
  margin-bottom: var(--s-3, 12px);
}
qdnapro-modal.pg-lightbox .pg-comments-empty, qdnapro-modal.pg-lightbox .pg-comments-loading {
  margin: 0;
  color: var(--c-text-muted, #6b7280);
  font-size: 13px;
}
qdnapro-modal.pg-lightbox .pg-comment {
  display: flex;
  align-items: flex-start;
  gap: var(--s-2, 8px);
}
qdnapro-modal.pg-lightbox .pg-comment-avatar {
  flex-shrink: 0;
  margin-top: 2px;
}
qdnapro-modal.pg-lightbox .pg-comment-body {
  flex: 1 1 auto;
  min-width: 0;
}
qdnapro-modal.pg-lightbox .pg-comment-head {
  display: flex;
  align-items: baseline;
  gap: var(--s-2, 8px);
}
qdnapro-modal.pg-lightbox .pg-comment-author {
  font-weight: 600;
  font-size: 13px;
  color: var(--c-text-heading, #1a1f4d);
}
qdnapro-modal.pg-lightbox .pg-comment-date {
  font-size: 11px;
  color: var(--c-text-muted, #6b7280);
}
qdnapro-modal.pg-lightbox .pg-lb-comment-delete {
  margin-left: auto;
}
qdnapro-modal.pg-lightbox .pg-comment-message {
  font-size: 13px;
  color: var(--c-text-body, #333a4d);
  white-space: pre-wrap;
  word-break: break-word;
}
qdnapro-modal.pg-lightbox .pg-lb-comments-compose {
  display: flex;
  align-items: flex-end;
  gap: var(--s-2, 8px);
}
qdnapro-modal.pg-lightbox .pg-lb-comment-input {
  flex: 1 1 auto;
  min-width: 0;
}
qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .modal-backdrop {
  padding: 0;
  background: #0b0b0d;
}
qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .modal-dialog {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  border-radius: 0;
  border: none;
  padding: 0;
  background: #0b0b0d;
  box-shadow: none;
}
qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .modal-window {
  border-radius: 0;
  border: none;
  background: #0b0b0d;
  box-shadow: none;
}
qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .pg-lb-viewport {
  background: #0b0b0d;
}
qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .modal-title {
  color: #f0f1f2;
}
qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .pg-lb-meta, qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .pg-lb-position {
  color: #f0f1f2;
}
qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .pg-lb-meta, qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .pg-lb-classify-row, qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .pg-lb-comments-panel {
  border-top-color: rgba(255, 255, 255, 0.14);
}
qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .pg-lb-fase2-slot {
  border-left-color: rgba(255, 255, 255, 0.14);
}
qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .pg-lb-actions qdnapro-icon-btn {
  color: #ffffff;
}
qdnapro-modal.pg-lightbox.pg-lb-fullscreen-on .pg-lb-actions qdnapro-icon-btn:hover {
  background: rgba(255, 255, 255, 0.16);
}

qdnapro-modal.pg-classify-picker .pg-classify-list {
  display: flex;
  flex-direction: column;
  max-height: 44vh;
  overflow-y: auto;
}
qdnapro-modal.pg-classify-picker .pg-classify-check-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 4px;
  border-bottom: 1px solid #f3f4fa;
  cursor: pointer;
}
qdnapro-modal.pg-classify-picker .pg-classify-check-row:last-child {
  border-bottom: none;
}
qdnapro-modal.pg-classify-picker .pg-classify-check-row input[type=checkbox] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: var(--c-brand-purple, #40499a);
}
qdnapro-modal.pg-classify-picker .pg-classify-empty {
  margin: 0;
  color: var(--c-text-muted, #6b7280);
  font-size: 13px;
}

/* ============================================================
   qdnapro-photo-tile compiled CSS
   Extracted from qdna-modal-preview.html (Kim 2026-05-29) so the
   bundle ships photo-tile styling. Keep in lockstep with the
   inline copy in qdna-photo-tile-preview.html / qdna-modal-preview.html.
   ============================================================ */
.qdnapro-photo-tile {
  --c-tile-radius: 8px;
  --c-tile-ring-radius: 12px;
  --c-tile-ring: #4652f3;
  --c-tile-overlay: rgba(107, 114, 128, 0.30);
  --c-focus-ring: #40499a;
  --c-focus-glow: rgba(70, 82, 243, 0.25);
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  border-radius: var(--c-tile-radius);
  overflow: visible;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform 120ms cubic-bezier(0.4, 0, 0.2, 1);
}

.qdnapro-photo-tile .photo-tile-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--c-tile-radius);
  -webkit-user-drag: none;
  pointer-events: none;
  /* Same desaturate treatment as .project-card-photo so tiles
     match the rest of the UI's photo aesthetic (Kim 2026-05-29). */
  filter: saturate(0.45) brightness(0.9);
}

/* Dark gradient overlay along the bottom of the tile — matches the
   `.project-card-photo::after` rule so tile + card share one visual
   language. Painted as an empty <span> sibling so it doesn't conflict
   with the tile's own ::before (hover overlay) and ::after (ring).
   (Kim 2026-05-29) */
.qdnapro-photo-tile .photo-tile-gradient {
  position: absolute;
  inset: 0;
  border-radius: var(--c-tile-radius);
  background: linear-gradient(to bottom, rgba(22, 25, 75, 0) 0%, rgba(22, 25, 75, 0.25) 50%, rgba(22, 25, 75, 0.78) 100%);
  pointer-events: none;
}

.qdnapro-photo-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--c-tile-radius);
  background: var(--c-tile-overlay);
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease;
}

.qdnapro-photo-tile:hover:not(.photo-tile-disabled)::before {
  opacity: 1;
}

.qdnapro-photo-tile::after {
  content: "";
  position: absolute;
  inset: -3px;
  border: 1px solid transparent;
  border-radius: var(--c-tile-ring-radius);
  pointer-events: none;
  transition: border-color 160ms ease;
}

.qdnapro-photo-tile.photo-tile-selected::after {
  border-color: var(--c-tile-ring);
}

/* Selected tiles also get the focus-glow box-shadow so the selection
   is visually unmistakable — without the glow the 1px ring is easy
   to miss against busy photos. (Kim 2026-05-29) */
.qdnapro-photo-tile.photo-tile-selected {
  box-shadow: 0 0 0 2px var(--c-focus-ring), 0 0 0 6px var(--c-focus-glow);
}

.qdnapro-photo-tile:active:not(.photo-tile-disabled) {
  transform: scale(0.97);
}

.qdnapro-photo-tile:active:not(.photo-tile-disabled)::before {
  opacity: 1;
  background: linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15)), var(--c-tile-overlay);
}

.qdnapro-photo-tile:focus {
  outline: none;
}

.qdnapro-photo-tile:focus-visible,
.qdnapro-photo-tile.force-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--c-focus-ring), 0 0 0 6px var(--c-focus-glow);
}

.qdnapro-photo-tile.photo-tile-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-photo-tile.photo-tile-small {
  width: 87px;
  height: 65px;
}

[data-theme=dark] .qdnapro-photo-tile {
  --c-tile-ring: #a5acff;
  --c-tile-overlay: rgba(0, 0, 0, 0.40);
  --c-focus-ring: #a5acff;
  --c-focus-glow: rgba(70, 82, 243, 0.40);
}

.qdnapro-picker-tile {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  padding: 0;
  border: 1px solid #e6e9ef;
  border-radius: 12px;
  background: #ffffff;
  cursor: pointer;
  font-family: inherit;
  color: #0b0b0d;
  overflow: hidden;
  transition: border-color 120ms ease, box-shadow 200ms ease, transform 200ms cubic-bezier(0.4, 0, 0.2, 1), background-color 120ms ease;
}

.qdnapro-picker-tile:hover {
  border-color: #40499a;
  box-shadow: 0 1px 2px rgba(20, 25, 80, 0.04), 0 8px 18px rgba(20, 25, 80, 0.08);
  transform: translateY(-2px);
}

.qdnapro-picker-tile:focus {
  outline: none;
}

.qdnapro-picker-tile:focus-visible {
  border-color: #40499a;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.25);
}

.qdnapro-picker-tile.picker-tile-selected {
  border-color: #40499a;
  background: #f3f5ff;
  box-shadow: 0 0 0 3px rgba(70, 82, 243, 0.18), 0 4px 14px rgba(20, 25, 80, 0.1);
}

.qdnapro-picker-tile.picker-tile-selected .picker-tile-title {
  color: #40499a;
}

.qdnapro-picker-tile.picker-tile-disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}

.qdnapro-picker-tile .picker-tile-thumb {
  height: 110px;
  background: linear-gradient(135deg, #f5f6fb 0%, #ebedfb 100%);
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  padding: 12px;
  position: relative;
  overflow: hidden;
}

.qdnapro-picker-tile .picker-tile-body {
  padding: 12px 14px 14px;
}

.qdnapro-picker-tile .picker-tile-title {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: #1a1f4d;
  margin: 0 0 2px;
}

.qdnapro-picker-tile .picker-tile-desc {
  font-size: 12px;
  line-height: 18px;
  color: #6b7280;
  margin: 0;
}

.qdnapro-picker-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 720px) {
  .qdnapro-picker-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .qdnapro-picker-grid {
    grid-template-columns: 1fr;
  }
}
[data-theme=dark] .qdnapro-picker-tile {
  background: #2a2d36;
  border-color: rgba(255, 255, 255, 0.08);
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-picker-tile:hover {
  border-color: #a5acff;
}

[data-theme=dark] .qdnapro-picker-tile.picker-tile-selected {
  background: rgba(165, 172, 255, 0.1);
  border-color: #a5acff;
}

[data-theme=dark] .qdnapro-picker-tile.picker-tile-selected .picker-tile-title {
  color: #a5acff;
}

[data-theme=dark] .qdnapro-picker-tile .picker-tile-thumb {
  background: linear-gradient(135deg, #2e323d 0%, #2a2d36 100%);
}

[data-theme=dark] .qdnapro-picker-tile .picker-tile-title {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-picker-tile .picker-tile-desc {
  color: #a6aab3;
}

qdnapro-picker-row {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  padding: 6px 8px 6px 10px;
  border-radius: 8px;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  user-select: none;
  outline: none;
  min-height: 40px;
  transition: background 150ms ease, border-color 150ms ease;
  --pr-focus-ring: #40499a;
  --pr-focus-glow: rgba(70, 82, 243, 0.25);
}

qdnapro-picker-row *,
qdnapro-picker-row *::before,
qdnapro-picker-row *::after {
  box-sizing: border-box;
}

qdnapro-picker-row.pr-has-meta {
  min-height: 48px;
}

qdnapro-picker-row:hover,
qdnapro-picker-row.force-hover {
  background: #f5f6f8;
}

qdnapro-picker-row:focus-within {
  background: #f5f6f8;
}

qdnapro-picker-row:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--pr-focus-ring), 0 0 0 5px var(--pr-focus-glow);
}

qdnapro-picker-row[draggable=true] {
  cursor: grab;
}

qdnapro-picker-row.is-dragging {
  opacity: 0.5;
  cursor: grabbing;
}

.pr-accent-bar {
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 24px;
  background: #4652f3;
  border-radius: 2px;
  opacity: 0;
  transition: opacity 150ms ease;
  pointer-events: none;
  z-index: 1;
}

qdnapro-picker-row:hover .pr-accent-bar,
qdnapro-picker-row:focus-within .pr-accent-bar,
qdnapro-picker-row.force-hover .pr-accent-bar {
  opacity: 1;
}

.pr-leading {
  position: relative;
  width: 28px;
  height: 28px;
  flex: none;
}

.pr-visual {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 150ms ease;
}

.pr-visual qdnapro-avatar {
  flex: none;
}

.pr-options-btn {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 150ms ease;
}

qdnapro-picker-row:hover .pr-visual,
qdnapro-picker-row:focus-within .pr-visual,
qdnapro-picker-row.force-hover .pr-visual {
  opacity: 0;
}

qdnapro-picker-row:hover .pr-options-btn,
qdnapro-picker-row:focus-within .pr-options-btn,
qdnapro-picker-row.force-hover .pr-options-btn {
  opacity: 1;
  pointer-events: auto;
}

.pr-tile {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--pr-tile-bg, #eef0f2);
}

.pr-tile-color-grey {
  --pr-tile-bg: #eef0f2;
}

.pr-tile-color-red {
  --pr-tile-bg: #fde7e7;
}

.pr-tile-color-yellow {
  --pr-tile-bg: #fdf3d6;
}

.pr-tile-color-green {
  --pr-tile-bg: #e2faf1;
}

.pr-tile-color-blue {
  --pr-tile-bg: #e6eff9;
}

.pr-tile-color-bright-blue {
  --pr-tile-bg: #d6e0f9;
}

.pr-tile-color-pink {
  --pr-tile-bg: #f6e1e8;
}

.pr-tile-color-purple {
  --pr-tile-bg: #ebe9fb;
}

[data-theme=dark] .pr-tile-color-grey {
  --pr-tile-bg: #40444d;
}

[data-theme=dark] .pr-tile-color-red {
  --pr-tile-bg: #5a2b2b;
}

[data-theme=dark] .pr-tile-color-yellow {
  --pr-tile-bg: #5a4d1f;
}

[data-theme=dark] .pr-tile-color-green {
  --pr-tile-bg: #2a5544;
}

[data-theme=dark] .pr-tile-color-blue {
  --pr-tile-bg: #2e3e54;
}

[data-theme=dark] .pr-tile-color-bright-blue {
  --pr-tile-bg: #3a4a8a;
}

[data-theme=dark] .pr-tile-color-pink {
  --pr-tile-bg: #4e2a36;
}

[data-theme=dark] .pr-tile-color-purple {
  --pr-tile-bg: #3a3555;
}

.pr-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
}

.pr-label {
  font-size: 13.5px;
  font-weight: 500;
  color: #22203a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.pr-meta {
  font-size: 11.5px;
  color: #8b899c;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

@media (prefers-reduced-motion: reduce) {
  .pr-accent-bar,
  .pr-visual,
  .pr-options-btn,
  qdnapro-picker-row {
    transition: none !important;
  }
}
[data-theme=dark] qdnapro-picker-row {
  --pr-focus-ring: #a5acff;
  --pr-focus-glow: rgba(70, 82, 243, 0.40);
}

[data-theme=dark] qdnapro-picker-row:hover,
[data-theme=dark] qdnapro-picker-row:focus-within,
[data-theme=dark] qdnapro-picker-row.force-hover {
  background: rgba(255, 255, 255, 0.06);
}

[data-theme=dark] .pr-label {
  color: #f0f1f2;
}

[data-theme=dark] .pr-meta {
  color: #a0a4b8;
}

/* qdnapro-placeholder-image — host + img styling.
   Mirrors the qdnapro-illustration approach: width-driven with auto height,
   plus an optional cover mode and a soft missing-asset fallback. */
.qdnapro-placeholder-image {
  display: inline-block;
  line-height: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #f0f1f6;
}

.qdnapro-placeholder-image .placeholder-image-img {
  display: block;
  width: 100%;
  height: auto;
}

/* Cover mode: consumer sets width + height on the host, image fills it. */
.qdnapro-placeholder-image.placeholder-image-cover {
  line-height: 0;
}

.qdnapro-placeholder-image.placeholder-image-cover .placeholder-image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Missing asset: soft dashed placeholder instead of a broken-image icon. */
.qdnapro-placeholder-image.placeholder-image-missing {
  position: relative;
  min-height: 80px;
  border: 1px dashed #c4c7cc;
  background: repeating-linear-gradient(45deg, #f6f7fb, #f6f7fb 8px, #eef0f6 8px, #eef0f6 16px);
}

.qdnapro-progress {
  display: block;
  box-sizing: border-box;
  width: 100%;
  font-family: var(--theme-font-family, "Inter", sans-serif);
  --pg-fill: var(--c-success-bright);
  --pg-track: var(--c-black-12);
}

.qdnapro-progress.progress-tone-purple {
  --pg-fill: var(--c-brand-purple);
}

.qdnapro-progress.progress-tone-neutral {
  --pg-fill: var(--c-grey-500);
}

.qdnapro-progress.progress-tone-highlight {
  --pg-fill: var(--c-purple-highlight);
}

.qdnapro-progress .progress-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 6px;
}

.qdnapro-progress .progress-label {
  font-size: 13px;
  color: var(--c-text-muted);
}

.qdnapro-progress .progress-pct {
  font-size: 13px;
  font-weight: 600;
  color: var(--c-text-body);
}

.qdnapro-progress .progress-track {
  height: 6px;
  background: var(--pg-track);
  border-radius: var(--r-pill);
  overflow: hidden;
}

.qdnapro-progress .progress-fill {
  height: 100%;
  background: var(--pg-fill);
  border-radius: var(--r-pill);
  transition: width 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  overflow: hidden;
}
.qdnapro-progress .progress-fill::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.38) 50%, transparent 100%);
  animation: progress-shimmer 2.4s ease-in-out infinite;
}

@keyframes progress-shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-progress .progress-fill {
    transition: none;
  }
  .qdnapro-progress .progress-fill::after {
    animation: none;
  }
}
.qdnapro-progress.progress-indeterminate .progress-fill {
  width: 40% !important;
  transition: none;
  animation: progress-indeterminate-slide 1.2s ease-in-out infinite;
}

@keyframes progress-indeterminate-slide {
  0% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(320%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-progress.progress-indeterminate .progress-fill {
    animation: none;
    transform: none;
    width: 50% !important;
    opacity: 0.5;
  }
  .qdnapro-progress.progress-indeterminate .progress-fill::after {
    animation: none;
  }
}
.qdnapro-progress.progress-variant-highlight {
  padding: 12px 14px;
  border-radius: var(--r-card);
  background: var(--c-black-06);
}

.qdnapro-progress.progress-variant-highlight.progress-tone-success {
  background: var(--c-signal-green-bg);
}

.qdnapro-progress.progress-variant-highlight.progress-tone-purple {
  background: var(--c-bg-secondary-purple);
}

.qdnapro-progress.progress-variant-highlight.progress-tone-neutral {
  background: var(--c-black-06);
}

.qdnapro-progress.progress-variant-highlight.progress-tone-highlight {
  background: var(--c-action-08);
}

.qdnapro-progress.progress-variant-highlight .progress-track {
  height: 8px;
}

.qdnapro-progress.progress-variant-highlight .progress-label {
  font-weight: 600;
  color: var(--c-text-body);
}

.qdnapro-progress.progress-variant-highlight .progress-pct {
  font-size: 15px;
}

.qdnapro-project-card {
  --c-card-bg: #ffffff;
  --c-card-border: #e6e9ef;
  --c-card-divider: #c4c7cc;
  --c-text-body: #0b0b0d;
  --c-text-secondary: #6b7280;
  --c-photo-fallback: linear-gradient(135deg, #d6dafa 0%, #f0e7fa 100%);
  /* Density scale knob: 1 = default; [density=compact] sets 0.8 so the
     whole absolute-positioned layout (sizes, positions, fonts) scales
     uniformly to the 80% look WITHOUT the zoom property. [Kim 2026-06-03] */
  --pc-scale: 1;
  display: block;
  box-sizing: border-box;
  width: 100%;
  background: var(--c-card-bg);
  border: calc(1px * var(--pc-scale)) solid var(--c-card-border);
  border-radius: calc(12px * var(--pc-scale));
  overflow: hidden;
  box-shadow: 0 calc(1px * var(--pc-scale)) calc(2px * var(--pc-scale)) rgba(20, 25, 80, 0.04), 0 calc(6px * var(--pc-scale)) calc(16px * var(--pc-scale)) rgba(20, 25, 80, 0.05);
  color: var(--c-text-body);
  font-family: "Inter", system-ui, sans-serif;
  transition: transform 140ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 140ms cubic-bezier(0.4, 0, 0.2, 1);
}

.qdnapro-project-card[data-mode=animated]:active {
  transform: scale(0.99);
  box-shadow: 0 calc(1px * var(--pc-scale)) calc(1px * var(--pc-scale)) rgba(20, 25, 80, 0.04), 0 calc(2px * var(--pc-scale)) calc(6px * var(--pc-scale)) rgba(20, 25, 80, 0.04);
}

.qdnapro-project-card[data-mode=animated]:active:has(.project-card-favorite:active,
.project-card-menu-trigger:active,
.project-card-action:active) {
  transform: none;
  box-shadow: 0 calc(1px * var(--pc-scale)) calc(2px * var(--pc-scale)) rgba(20, 25, 80, 0.04), 0 calc(6px * var(--pc-scale)) calc(16px * var(--pc-scale)) rgba(20, 25, 80, 0.05);
}

.qdnapro-project-card[data-mode=animated]:focus-visible {
  outline: none;
  box-shadow: 0 calc(1px * var(--pc-scale)) calc(2px * var(--pc-scale)) rgba(20, 25, 80, 0.04), 0 calc(6px * var(--pc-scale)) calc(16px * var(--pc-scale)) rgba(20, 25, 80, 0.05), 0 0 0 calc(4px * var(--pc-scale)) rgba(70, 82, 243, 0.25);
}

.qdnapro-project-card .project-card-frame {
  position: relative;
  min-height: calc(208px * var(--pc-scale));
}

.qdnapro-project-card .project-card-upper-clip {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: calc(50px * var(--pc-scale));
  overflow: hidden;
}

.qdnapro-project-card .project-card-photo {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: calc(124px * var(--pc-scale));
  background-size: cover;
  background-position: center;
  background-color: #d6dafa;
  z-index: 2;
  filter: saturate(0.45) brightness(0.9);
  transition: transform 600ms cubic-bezier(0.34, 1.05, 0.5, 1);
}

.qdnapro-project-card .project-card-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(22, 25, 75, 0) 0%, rgba(22, 25, 75, 0.25) 50%, rgba(22, 25, 75, 0.78) 100%);
  pointer-events: none;
}

.qdnapro-project-card .project-card-photo-placeholder {
  background-image: var(--c-photo-fallback);
}

.qdnapro-project-card .project-card-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: calc(44px * var(--pc-scale));
  padding: calc(8px * var(--pc-scale)) calc(44px * var(--pc-scale)) 0 calc(8px * var(--pc-scale));
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  z-index: 1;
}

.qdnapro-project-card .project-card-logo {
  border-radius: calc(4px * var(--pc-scale)) !important;
}

.qdnapro-project-card .project-card-header-actions {
  display: inline-flex;
  align-items: center;
  gap: calc(4px * var(--pc-scale));
}

.qdnapro-project-card .project-card-name {
  position: absolute;
  top: calc(132px * var(--pc-scale));
  left: 0;
  right: calc(56px * var(--pc-scale));
  margin: 0;
  padding: 0 calc(8px * var(--pc-scale));
  font-size: calc(16px * var(--pc-scale));
  line-height: calc(24px * var(--pc-scale));
  font-weight: 600;
  color: var(--c-text-body);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  z-index: 3;
  will-change: transform;
  transition: transform 600ms cubic-bezier(0.34, 1.05, 0.5, 1), right 600ms cubic-bezier(0.34, 1.05, 0.5, 1);
}

.qdnapro-project-card .project-card-org {
  position: absolute;
  top: calc(160px * var(--pc-scale));
  left: 0;
  right: 0;
  margin: 0;
  padding: 0 calc(8px * var(--pc-scale));
  font-size: calc(12px * var(--pc-scale));
  line-height: calc(20px * var(--pc-scale));
  font-weight: 400;
  color: var(--c-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  z-index: 1;
  will-change: transform;
  transition: transform 600ms cubic-bezier(0.34, 1.05, 0.5, 1);
}

.qdnapro-project-card .project-card-info {
  position: absolute;
  top: calc(184px * var(--pc-scale));
  left: 0;
  right: 0;
  height: calc(28px * var(--pc-scale));
  padding: 0 calc(8px * var(--pc-scale));
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 1;
  will-change: transform;
  transition: transform 600ms cubic-bezier(0.34, 1.05, 0.5, 1);
}

.qdnapro-project-card .project-card-team {
  display: inline-flex;
  align-items: center;
}

.qdnapro-project-card .project-card-date {
  display: inline-flex;
  align-items: center;
  gap: calc(4px * var(--pc-scale));
  color: var(--c-text-secondary);
  font-size: calc(10px * var(--pc-scale));
  line-height: calc(20px * var(--pc-scale));
}

.qdnapro-project-card .project-card-date qdnapro-icon {
  color: currentColor;
}

.qdnapro-project-card .project-card-top-actions {
  position: absolute;
  top: calc(8px * var(--pc-scale));
  right: calc(8px * var(--pc-scale));
  z-index: 4;
  display: inline-flex;
  align-items: center;
}

.qdnapro-project-card .project-card-favorite {
  flex: 0 0 auto;
  width: calc(32px * var(--pc-scale));
  height: calc(32px * var(--pc-scale));
  background-color: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(calc(8px * var(--pc-scale))) saturate(1.5);
  -webkit-backdrop-filter: blur(calc(8px * var(--pc-scale))) saturate(1.5);
  box-shadow: 0 calc(1px * var(--pc-scale)) calc(3px * var(--pc-scale)) rgba(0, 0, 0, 0.08), 0 0 0 calc(1px * var(--pc-scale)) rgba(0, 0, 0, 0.04);
  transition: opacity 200ms ease, background-color 160ms ease;
}

.qdnapro-project-card .project-card-favorite:not(.favorite-button-favorited) {
  opacity: 0;
  pointer-events: none;
}

.qdnapro-project-card:hover .project-card-favorite:not(.favorite-button-favorited), .qdnapro-project-card:focus-within .project-card-favorite:not(.favorite-button-favorited) {
  opacity: 1;
  pointer-events: auto;
}

.qdnapro-project-card .project-card-favorite:hover {
  background-color: rgba(255, 255, 255, 0.75);
}

.qdnapro-project-card .project-card-menu-trigger {
  flex: 0 0 auto;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0;
  height: calc(32px * var(--pc-scale)) !important;
  min-height: calc(32px * var(--pc-scale)) !important;
  max-height: calc(32px * var(--pc-scale)) !important;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  margin-left: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: max-width 200ms cubic-bezier(0.4, 0, 0.2, 1), width 200ms cubic-bezier(0.4, 0, 0.2, 1), min-width 200ms cubic-bezier(0.4, 0, 0.2, 1), margin-left 200ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms ease, background 120ms ease;
}

.qdnapro-project-card:hover .project-card-menu-trigger, .qdnapro-project-card:focus-within .project-card-menu-trigger {
  width: calc(32px * var(--pc-scale)) !important;
  min-width: calc(32px * var(--pc-scale)) !important;
  max-width: calc(32px * var(--pc-scale));
  opacity: 1;
  pointer-events: auto;
  margin-left: calc(8px * var(--pc-scale));
  background: rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: blur(calc(8px * var(--pc-scale))) saturate(1.5);
  -webkit-backdrop-filter: blur(calc(8px * var(--pc-scale))) saturate(1.5);
  box-shadow: 0 calc(1px * var(--pc-scale)) calc(3px * var(--pc-scale)) rgba(0, 0, 0, 0.08), 0 0 0 calc(1px * var(--pc-scale)) rgba(0, 0, 0, 0.04);
}

.qdnapro-project-card:hover .project-card-menu-trigger:hover, .qdnapro-project-card:focus-within .project-card-menu-trigger:hover {
  background: rgba(255, 255, 255, 0.75) !important;
}

.qdnapro-project-card .project-card-divider {
  position: absolute;
  bottom: calc(50px * var(--pc-scale));
  left: 0;
  right: 0;
  height: calc(1px * var(--pc-scale));
  background: var(--c-card-divider);
  z-index: 4;
}

/* Checklist action — hidden until the backend feature lands.
   (Kim 2026-05-30 — placeholder, re-enable when the page exists.) */
.qdnapro-project-card .project-card-action-list {
  display: none !important;
}

/* ============================================================
   Archived variant — set via [archived] attribute on the host.
   Photo is heavily desaturated, pin-button is hidden, a
   "Gearchiveerd" chip sits top-left, and a diagonal GEARCHIVEERD
   watermark crosses the photo. (Kim 2026-05-29)
   ============================================================ */
.qdnapro-project-card[archived] {
  opacity: 0.85;
}

.qdnapro-project-card[archived] .project-card-photo {
  filter: saturate(0.15) brightness(0.85);
}

.qdnapro-project-card[archived] .project-card-favorite {
  display: none !important;
}

.qdnapro-project-card .project-card-archived-chip {
  position: absolute;
  top: calc(8px * var(--pc-scale));
  left: calc(8px * var(--pc-scale));
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: calc(4px * var(--pc-scale));
  padding: calc(4px * var(--pc-scale)) calc(9px * var(--pc-scale)) calc(4px * var(--pc-scale)) calc(7px * var(--pc-scale));
  background: rgba(40, 42, 52, 0.72);
  border: calc(1px * var(--pc-scale)) solid rgba(255, 255, 255, 0.2);
  border-radius: calc(999px * var(--pc-scale));
  backdrop-filter: blur(calc(8px * var(--pc-scale))) saturate(1.2);
  -webkit-backdrop-filter: blur(calc(8px * var(--pc-scale))) saturate(1.2);
  color: #fff;
  font-size: calc(11px * var(--pc-scale));
  font-weight: 500;
  line-height: calc(14px * var(--pc-scale));
  letter-spacing: calc(0.2px * var(--pc-scale));
  pointer-events: none;
}

.qdnapro-project-card .project-card-archived-chip qdnapro-icon {
  color: #fff;
  flex: 0 0 auto;
}

.qdnapro-project-card .project-card-watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  transform: translate(-50%, -50%) rotate(-18deg);
  pointer-events: none;
  white-space: nowrap;
  font-size: calc(22px * var(--pc-scale));
  font-weight: 800;
  letter-spacing: calc(4px * var(--pc-scale));
  color: rgba(255, 255, 255, 0.55);
  text-shadow: 0 calc(2px * var(--pc-scale)) calc(6px * var(--pc-scale)) rgba(0, 0, 0, 0.45), 0 0 calc(1px * var(--pc-scale)) rgba(0, 0, 0, 0.6);
  text-transform: uppercase;
}

/* Slot="menu" qdnapro-menu — sits as a floating popover anchored
   to the 3-dots trigger. Hidden by default; the menu's `open`
   attribute (toggled by qdnapro-project-card._toggleMenu) reveals
   it. (Kim 2026-05-29) */
.qdnapro-project-card .project-card-menu {
  position: absolute;
  top: calc(48px * var(--pc-scale));
  right: calc(8px * var(--pc-scale));
  z-index: 6;
  display: none;
}

.qdnapro-project-card .project-card-menu[open] {
  display: inline-flex;
}

.qdnapro-project-card .project-card-actions {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: calc(50px * var(--pc-scale));
  padding: calc(4px * var(--pc-scale)) calc(8px * var(--pc-scale)) calc(8px * var(--pc-scale));
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 4;
  background: var(--c-card-bg);
}

.qdnapro-project-card .project-card-actions-left {
  display: inline-flex;
  align-items: center;
  gap: calc(8px * var(--pc-scale));
}

.qdnapro-project-card .project-card-action-date {
  display: inline-flex;
  align-items: center;
  gap: calc(4px * var(--pc-scale));
  color: var(--c-text-secondary);
  font-size: calc(12px * var(--pc-scale));
  line-height: calc(20px * var(--pc-scale));
  white-space: nowrap;
}

.qdnapro-project-card .project-card-action-date qdnapro-icon {
  color: currentColor;
}

.qdnapro-project-card .project-card-action-bell {
  position: relative;
}

/* Non-interactive action indicators (Kim 2026-06-02): the lightbulb (task
   count) + bell have no behaviour yet, so they read as static info — no
   hover highlight, no hand-cursor — until interaction is built. Paired with
   tabindex -1 + a click guard in JS so they are neither focusable nor
   clickable. !important beats the qdnapro-button :hover/cursor rules. */
.qdnapro-project-card .project-card-action-static {
  cursor: default !important;
}

.qdnapro-project-card .project-card-action-static:hover,
.qdnapro-project-card .project-card-action-static:active {
  background: transparent !important;
}

.qdnapro-project-card .project-card-badge {
  position: absolute;
  top: calc(8px * var(--pc-scale));
  right: calc(6px * var(--pc-scale));
  width: calc(8px * var(--pc-scale));
  height: calc(8px * var(--pc-scale));
  border-radius: 50%;
  background: #ff3a30;
  pointer-events: none;
}

.qdnapro-project-card[data-mode=animated][data-animation=compact] {
  cursor: pointer;
}

.qdnapro-project-card[data-mode=animated][data-animation=compact] .project-card-header {
  display: none;
}

.qdnapro-project-card[data-mode=animated][data-animation=compact] .project-card-photo {
  transform: translateY(0) scale(1);
  transition: transform 600ms cubic-bezier(0.34, 1.05, 0.5, 1) 300ms;
}

.qdnapro-project-card[data-mode=animated][data-animation=compact] .project-card-name {
  transition: transform 420ms cubic-bezier(0.34, 1.56, 0.64, 1), right 420ms cubic-bezier(0.34, 1.05, 0.5, 1);
  transition-delay: 120ms;
}

.qdnapro-project-card[data-mode=animated][data-animation=compact] .project-card-org {
  transition: transform 420ms cubic-bezier(0.34, 1.56, 0.64, 1);
  transition-delay: 60ms;
}

.qdnapro-project-card[data-mode=animated][data-animation=compact] .project-card-info {
  transition: transform 420ms cubic-bezier(0.34, 1.56, 0.64, 1);
  transition-delay: 0ms;
}

.qdnapro-project-card[data-mode=animated][data-animation=compact]:hover .project-card-photo, .qdnapro-project-card[data-mode=animated][data-animation=compact]:focus-within .project-card-photo {
  transform: translateY(calc(-78px * var(--pc-scale))) scale(1.15);
  transition-delay: 200ms;
  pointer-events: none;
}

.qdnapro-project-card[data-mode=animated][data-animation=compact]:hover .project-card-name, .qdnapro-project-card[data-mode=animated][data-animation=compact]:focus-within .project-card-name {
  transform: translateY(calc(-62px * var(--pc-scale)));
  right: 0;
  transition-delay: 400ms;
}

.qdnapro-project-card[data-mode=animated][data-animation=compact]:hover .project-card-org, .qdnapro-project-card[data-mode=animated][data-animation=compact]:focus-within .project-card-org {
  transform: translateY(calc(-62px * var(--pc-scale)));
  transition-delay: 460ms;
}

.qdnapro-project-card[data-mode=animated][data-animation=compact]:hover .project-card-info, .qdnapro-project-card[data-mode=animated][data-animation=compact]:focus-within .project-card-info {
  transform: translateY(calc(-62px * var(--pc-scale)));
  transition-delay: 520ms;
}

.qdnapro-project-card[data-mode=static-front] .project-card-name {
  transition: none;
}

.qdnapro-project-card[data-mode=static-back] .project-card-name {
  transform: translateY(calc(-88px * var(--pc-scale)));
  transition: none;
  right: 0;
}

.qdnapro-project-card[data-mode=static-back] .project-card-org,
.qdnapro-project-card[data-mode=static-back] .project-card-info {
  transform: translateY(calc(-88px * var(--pc-scale)));
  transition: none;
}

/* ============================================================
   ANIMATION VARIANT: overlay (experiment, Kim 2026-05-29)
   ============================================================
   Rust state: photo extends down to the divider position (calc(158px * var(--pc-scale))
   instead of 124). Title sits in its idle position but white on
   the gradient. Keyline hidden.
   Hover: photo subtle zoom 1.06 (no translate). Title, org and
   date staggered translate up onto the photo. All three get a
   glass-pill background. Avatars stay free (no glass). */
.qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-header,
.qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-divider {
  display: none;
}

/* Photo: taller (down to keyline) + subtle zoom on hover. */
.qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-photo {
  height: calc(158px * var(--pc-scale));
  transform: scale(1);
  transition: transform 600ms cubic-bezier(0.34, 1.05, 0.5, 1);
}

.qdnapro-project-card[data-mode=animated][data-animation=overlay]:hover .project-card-photo,
.qdnapro-project-card[data-mode=animated][data-animation=overlay]:focus-within .project-card-photo {
  transform: scale(1.06);
}

/* Title: white in idle (already on photo gradient). On hover it
   also becomes a glass-pill. */
.qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-name {
  color: #fff;
  text-shadow: 0 calc(1px * var(--pc-scale)) calc(3px * var(--pc-scale)) rgba(0, 0, 0, 0.5);
  z-index: 3;
  transition: transform 420ms cubic-bezier(0.34, 1.56, 0.64, 1), right 420ms cubic-bezier(0.34, 1.05, 0.5, 1);
  transition-delay: 120ms;
}

.qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-org {
  color: #fff;
  text-shadow: 0 calc(1px * var(--pc-scale)) calc(3px * var(--pc-scale)) rgba(0, 0, 0, 0.5);
  z-index: 3;
  transition: transform 420ms cubic-bezier(0.34, 1.56, 0.64, 1);
  transition-delay: 60ms;
}

.qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-info {
  z-index: 3;
  transition: transform 420ms cubic-bezier(0.34, 1.56, 0.64, 1);
  transition-delay: 0ms;
}

.qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-date {
  color: #fff;
  text-shadow: 0 calc(1px * var(--pc-scale)) calc(3px * var(--pc-scale)) rgba(0, 0, 0, 0.5);
}

.qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-date qdnapro-icon {
  color: #fff;
}

/* HOVER: stagger up + glass-pill backgrounds appear. */
.qdnapro-project-card[data-mode=animated][data-animation=overlay]:hover .project-card-name,
.qdnapro-project-card[data-mode=animated][data-animation=overlay]:focus-within .project-card-name {
  transform: translateY(calc(-62px * var(--pc-scale)));
  transition-delay: 400ms;
}

.qdnapro-project-card[data-mode=animated][data-animation=overlay]:hover .project-card-org,
.qdnapro-project-card[data-mode=animated][data-animation=overlay]:focus-within .project-card-org {
  transform: translateY(calc(-62px * var(--pc-scale)));
  transition-delay: 460ms;
}

.qdnapro-project-card[data-mode=animated][data-animation=overlay]:hover .project-card-info,
.qdnapro-project-card[data-mode=animated][data-animation=overlay]:focus-within .project-card-info {
  transform: translateY(calc(-62px * var(--pc-scale)));
  transition-delay: 520ms;
}

@keyframes pc-compact-photo-in {
  0% {
    transform: translateY(0) scale(1);
  }
  25% {
    transform: translateY(0) scale(1.15);
  }
  100% {
    transform: translateY(-78px) scale(1.15);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-project-card[data-mode=animated][data-animation=compact] .project-card-photo,
  .qdnapro-project-card[data-mode=animated][data-animation=compact] .project-card-name,
  .qdnapro-project-card[data-mode=animated][data-animation=compact] .project-card-org,
  .qdnapro-project-card[data-mode=animated][data-animation=compact] .project-card-info {
    transition: none;
    animation: none;
  }
  .qdnapro-project-card[data-mode=animated][data-animation=compact]:hover .project-card-photo, .qdnapro-project-card[data-mode=animated][data-animation=compact]:focus-within .project-card-photo {
    transform: translateY(calc(-124px * var(--pc-scale)));
    animation: none;
  }
  .qdnapro-project-card[data-mode=animated][data-animation=compact]:hover .project-card-name, .qdnapro-project-card[data-mode=animated][data-animation=compact]:focus-within .project-card-name {
    transform: translateY(calc(-88px * var(--pc-scale)));
  }
  .qdnapro-project-card[data-mode=animated][data-animation=compact]:hover .project-card-org, .qdnapro-project-card[data-mode=animated][data-animation=compact]:focus-within .project-card-org, .qdnapro-project-card[data-mode=animated][data-animation=compact]:hover .project-card-info, .qdnapro-project-card[data-mode=animated][data-animation=compact]:focus-within .project-card-info {
    transform: translateY(calc(-88px * var(--pc-scale)));
  }
  /* Overlay variant: drop the staggered easing, snap into place. */
  .qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-photo,
  .qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-name,
  .qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-org,
  .qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-info,
  .qdnapro-project-card[data-mode=animated][data-animation=overlay] .project-card-date {
    transition: none;
    animation: none;
  }
  .qdnapro-project-card[data-mode=animated][data-animation=overlay]:hover .project-card-name,
  .qdnapro-project-card[data-mode=animated][data-animation=overlay]:focus-within .project-card-name,
  .qdnapro-project-card[data-mode=animated][data-animation=overlay]:hover .project-card-org,
  .qdnapro-project-card[data-mode=animated][data-animation=overlay]:focus-within .project-card-org,
  .qdnapro-project-card[data-mode=animated][data-animation=overlay]:hover .project-card-info,
  .qdnapro-project-card[data-mode=animated][data-animation=overlay]:focus-within .project-card-info {
    transform: translateY(calc(-62px * var(--pc-scale)));
  }
}
[data-theme=dark] .qdnapro-project-card {
  --c-card-bg: #2a2d36;
  --c-card-border: rgba(255, 255, 255, 0.08);
  --c-card-divider: rgba(255, 255, 255, 0.12);
  --c-text-body: #f0f1f2;
  --c-text-secondary: #a6aab3;
  --c-photo-fallback: linear-gradient(135deg, #2e323d 0%, #2a2d36 100%);
  box-shadow: 0 calc(1px * var(--pc-scale)) calc(2px * var(--pc-scale)) rgba(0, 0, 0, 0.3), 0 calc(6px * var(--pc-scale)) calc(16px * var(--pc-scale)) rgba(0, 0, 0, 0.2);
}

/* ============================================================
   Density: compact — uniform 0.8 scale of the whole card so it
   matches the legacy 80%-zoom look while the page renders at 100%.
   Non-breaking: cards without [density] keep --pc-scale:1. [Kim 2026-06-03]
   ============================================================ */
.qdnapro-project-card[density=compact] {
  --pc-scale: 0.8;
}

.qdnapro-push-notification {
  --pn-surface: rgba(255, 255, 255, 0.92);
  --pn-title: var(--c-text-heading, #1a1d3a);
  --pn-body: var(--c-text-heading, #1a1d3a);
  --pn-meta: var(--c-text-muted, #6a6e9a);
  --pn-tile-bg: var(--c-purple-500, #40499a);
  --pn-tile-glyph: #ffffff;
  display: flex;
  align-items: flex-start;
  gap: 11px;
  box-sizing: border-box;
  width: 100%;
  padding: 13px 14px;
  border-radius: var(--r-3, 12px);
  background: var(--pn-surface);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
  backdrop-filter: blur(24px) saturate(1.4);
  box-shadow: 0 6px 18px rgba(40, 46, 100, 0.1);
  font-family: var(--ff, "Inter", -apple-system, sans-serif);
  text-align: left;
}

.qdnapro-push-notification--info {
  --pn-tile-bg: var(--c-signal-blue-text, #6a8ab4);
}

.qdnapro-push-notification--success {
  --pn-tile-bg: var(--c-signal-green-text, #428b6e);
}

.qdnapro-push-notification--warning {
  --pn-tile-bg: var(--c-warning-bright-text, #9a6a10);
}

.qdnapro-push-notification--error {
  --pn-tile-bg: var(--c-signal-red-text, #c65a5a);
}

.qdnapro-push-notification__tile {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--r-2, 8px);
  background: var(--pn-tile-bg);
  color: var(--pn-tile-glyph);
  line-height: 0;
}

.qdnapro-push-notification__tile qdnapro-icon,
.qdnapro-push-notification__tile .qdnapro-icon {
  width: 18px;
  height: 18px;
  color: inherit;
}

.qdnapro-push-notification__tile-img {
  display: block;
  width: 32px;
  height: 32px;
  border-radius: var(--r-2, 8px);
  object-fit: cover;
}

.qdnapro-push-notification__main {
  flex: 1 1 auto;
  min-width: 0;
}

.qdnapro-push-notification__headline {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.qdnapro-push-notification__title {
  min-width: 0;
  color: var(--pn-title);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.qdnapro-push-notification--collapsed .qdnapro-push-notification__title {
  flex: 0 1 auto;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.qdnapro-push-notification__time {
  flex: 0 0 auto;
  color: var(--pn-meta);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  white-space: nowrap;
}

.qdnapro-push-notification__body {
  margin-top: 2px;
  color: var(--pn-body);
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.42;
  overflow-wrap: anywhere;
}

.qdnapro-push-notification--collapsed .qdnapro-push-notification__body {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.qdnapro-push-notification__chevron,
.qdnapro-push-notification__dismiss {
  flex: 0 0 auto;
  margin: -1px -4px 0 0;
}

.qdnapro-radio {
  --rb-size: 16px;
  --rb-border: #e1e3e6;
  --rb-bg: #f0f1f2;
  --rb-bg-hover: #e1e3e6;
  --rb-selected-bg: #4652f3;
  --rb-selected-bg-hover: #3842c2;
  --rb-selected-dot: #ffffff;
  --rb-focus-ring: #40499a;
  --rb-focus-glow: rgba(70, 82, 243, 0.25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--rb-size);
  height: var(--rb-size);
  flex-shrink: 0;
  border: 1px solid var(--rb-border);
  border-radius: 50%;
  background: var(--rb-bg);
  cursor: pointer;
  user-select: none;
  transition: background-color 140ms ease-out, border-color 140ms ease-out;
}

.qdnapro-radio .radio-dot {
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--rb-selected-dot);
  transform: scale(0);
  opacity: 0;
  pointer-events: none;
  transition: transform 220ms cubic-bezier(0.34, 1.35, 0.64, 1), opacity 140ms ease-out;
}

.qdnapro-radio.radio-selected {
  background: var(--rb-selected-bg);
  border-color: var(--rb-selected-bg);
}

.qdnapro-radio.radio-selected .radio-dot {
  transform: scale(1);
  opacity: 1;
}

.qdnapro-radio:hover:not(.radio-disabled):not(.radio-selected) {
  background: var(--rb-bg-hover);
}

.qdnapro-radio:hover:not(.radio-disabled).radio-selected {
  background: var(--rb-selected-bg-hover);
  border-color: var(--rb-selected-bg-hover);
}

.qdnapro-radio:active:not(.radio-disabled) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15));
}

.qdnapro-radio:focus {
  outline: none;
}

.qdnapro-radio:focus-visible, .qdnapro-radio.force-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--rb-focus-ring), 0 0 0 6px var(--rb-focus-glow);
}

.qdnapro-radio.force-hover:not(.radio-disabled):not(.radio-selected) {
  background: var(--rb-bg-hover);
}

.qdnapro-radio.force-hover:not(.radio-disabled).radio-selected {
  background: var(--rb-selected-bg-hover);
  border-color: var(--rb-selected-bg-hover);
}

.qdnapro-radio.force-pressed:not(.radio-disabled) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15));
}

.qdnapro-radio.radio-state-error {
  --rb-border: #c65a5a;
  --rb-bg-hover: #fbd5d5;
  --rb-selected-bg: #c65a5a;
  --rb-selected-bg-hover: #a04444;
  --rb-selected-dot: #ffffff;
  --rb-focus-ring: #c65a5a;
  --rb-focus-glow: rgba(198, 90, 90, 0.25);
}

.qdnapro-radio.radio-state-success {
  --rb-border: #428b6e;
  --rb-bg-hover: #c5ebd9;
  --rb-selected-bg: #428b6e;
  --rb-selected-bg-hover: #2f5d4a;
  --rb-selected-dot: #ffffff;
  --rb-focus-ring: #428b6e;
  --rb-focus-glow: rgba(66, 139, 110, 0.25);
}

.qdnapro-radio.radio-disabled {
  --rb-border: #e1e3e6;
  --rb-bg: #f0f1f2;
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-radio.radio-disabled.radio-selected {
  background: #f0f1f2;
  border-color: #e1e3e6;
}

.qdnapro-radio.radio-disabled.radio-selected .radio-dot {
  background: #898e99;
}

[data-theme=dark] .qdnapro-radio {
  --rb-border: #565b66;
  --rb-bg: #2e3036;
  --rb-bg-hover: #40444d;
  --rb-selected-bg: #4652f3;
  --rb-selected-bg-hover: #5a66ff;
  --rb-selected-dot: #ffffff;
  --rb-focus-ring: #a5acff;
  --rb-focus-glow: rgba(70, 82, 243, 0.4);
}

[data-theme=dark] .qdnapro-radio.radio-state-error {
  --rb-border: #c65a5a;
  --rb-bg-hover: #5a2b2b;
  --rb-selected-bg: #c65a5a;
  --rb-selected-bg-hover: #a04444;
  --rb-focus-ring: #e89090;
}

[data-theme=dark] .qdnapro-radio.radio-state-success {
  --rb-border: #428b6e;
  --rb-bg-hover: #2a5544;
  --rb-selected-bg: #428b6e;
  --rb-selected-bg-hover: #2f5d4a;
  --rb-focus-ring: #7ccfa8;
}

[data-theme=dark] .qdnapro-radio.radio-disabled {
  --rb-border: #565b66;
  --rb-bg: #40444d;
}

[data-theme=dark] .qdnapro-radio.radio-disabled.radio-selected {
  background: #40444d;
  border-color: #565b66;
}

[data-theme=dark] .qdnapro-radio.radio-disabled.radio-selected .radio-dot {
  background: #6b7280;
}

.qdnapro-range-slider {
  --rs-track: #e1e3e6;
  --rs-fill: #4652f3;
  --rs-dot: #b8bcd6;
  --rs-handle: #ffffff;
  --rs-handle-border: #4652f3;
  --rs-handle-glow: rgba(70, 82, 243, 0.25);
  --rs-label: #6b70a6;
  --rs-label-active: #1a1f4d;
  display: block;
  position: relative;
  box-sizing: border-box;
  padding: 6px 12px 4px;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
}

.qdnapro-range-slider .rs-track {
  position: relative;
  height: 6px;
  margin: 14px 0 6px;
  border-radius: 999px;
  background: var(--rs-track);
}

.qdnapro-range-slider .rs-fill {
  position: absolute;
  top: 0;
  height: 100%;
  border-radius: 999px;
  background: var(--rs-fill);
}

.qdnapro-range-slider .rs-dot {
  position: absolute;
  top: 50%;
  width: 4px;
  height: 4px;
  margin-left: -2px;
  margin-top: -2px;
  border-radius: 50%;
  background: var(--rs-dot);
  pointer-events: none;
}

.qdnapro-range-slider .rs-handle {
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  margin-left: -9px;
  padding: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--rs-handle);
  border: 2px solid var(--rs-handle-border);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
  cursor: grab;
  z-index: 2;
  transition: box-shadow 140ms ease-out, transform 120ms ease-out;
}

.qdnapro-range-slider .rs-handle:hover {
  box-shadow: 0 0 0 6px var(--rs-handle-glow), 0 1px 3px rgba(0, 0, 0, 0.18);
}

.qdnapro-range-slider .rs-handle:active {
  cursor: grabbing;
  transform: translateY(-50%) scale(1.08);
}

.qdnapro-range-slider .rs-handle:focus {
  outline: none;
}

.qdnapro-range-slider .rs-handle:focus-visible {
  box-shadow: 0 0 0 4px var(--rs-handle-glow), 0 1px 3px rgba(0, 0, 0, 0.18);
}

.qdnapro-range-slider .rs-labels {
  position: relative;
  height: 16px;
  margin-top: 2px;
}

.qdnapro-range-slider .rs-label {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  font-size: 11px;
  line-height: 16px;
  font-weight: 600;
  color: var(--rs-label);
  white-space: nowrap;
  transition: color 120ms ease-out;
}

.qdnapro-range-slider .rs-label.is-active {
  color: var(--rs-label-active);
}

.qdnapro-range-slider.is-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.qdnapro-recipient-picker [hidden] {
  display: none;
}

.qdnapro-recipient-picker {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}

.rp-section-title {
  font-size: 12px;
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--c-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0 var(--s-1);
  margin-bottom: var(--s-2);
}

.rp-search {
  padding: 0 var(--s-1);
}
.rp-search qdnapro-input {
  width: 100%;
}

.rp-body {
  display: flex;
  flex-direction: column;
  height: var(--rp-list-height, 320px);
  overflow-y: auto;
}
.rp-body::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.rp-body::-webkit-scrollbar-track {
  background: transparent;
}
.rp-body::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 8px;
  transition: background 160ms ease;
}
.rp-body:hover::-webkit-scrollbar-thumb, .rp-body:focus-within::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.22);
}
.rp-body::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.34);
}

.rp-hint,
.rp-empty {
  padding: var(--s-4) var(--s-1);
  font-size: 13px;
  line-height: 1.4;
  color: var(--c-text-muted);
  text-align: center;
}

.rp-busy {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--s-6) 0;
}

.rp-spinner {
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--c-border-soft-2, #e6e9ef);
  border-top-color: var(--c-brand-purple);
  animation: rp-spin 0.8s linear infinite;
}

@keyframes rp-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .rp-spinner {
    animation-duration: 1.6s;
  }
}
.rp-results-list {
  display: flex;
  flex-direction: column;
  gap: var(--s-1);
}

.rp-row {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-2) var(--s-1);
  border-radius: var(--r-2);
  cursor: pointer;
}
.rp-row:hover {
  background: var(--c-bg-subtle-hover);
}
.rp-row--disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.rp-row--disabled:hover {
  background: transparent;
}

.rp-row-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.rp-row-name {
  font-size: 14px;
  font-weight: var(--fw-medium);
  color: var(--c-text-body);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rp-row-role {
  font-size: 12px;
  line-height: 1.3;
  color: var(--c-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rp-row-access {
  flex-shrink: 0;
  font-size: 12px;
  line-height: 1.3;
  color: var(--c-text-muted);
  white-space: nowrap;
  text-align: right;
}

.rp-footer {
  display: flex;
  justify-content: flex-end;
  gap: var(--s-2);
  padding-top: var(--s-2);
  border-top: 1px solid var(--c-border-soft-2, #e6e9ef);
}

.qdnapro-resource-timeline {
  --resource-timeline-label-col: 220px;
  --resource-timeline-row-compact: 44px;
  --resource-timeline-header: 44px;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 0;
  font-family: var(--theme-font-family, "Inter", sans-serif);
}

.qdnapro-resource-timeline__scroll {
  display: grid;
  grid-template-columns: var(--resource-timeline-label-col) repeat(7, 1fr);
  align-content: start;
  width: 100%;
  height: 100%;
  overflow: auto;
  scrollbar-width: thin;
  background: var(--c-bg-card, #fff);
}

.qdnapro-resource-timeline__scroll::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.qdnapro-resource-timeline__scroll::-webkit-scrollbar-thumb {
  background: var(--c-grey-200, #d8dade);
  border-radius: 8px;
}

.qdnapro-resource-timeline__scroll::-webkit-scrollbar-track {
  background: transparent;
}

.qdnapro-resource-timeline__corner {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 4;
  height: var(--resource-timeline-header);
  background: var(--c-bg-card, #fff);
  border-bottom: 1px solid var(--c-grey-100, #e7e9ec);
  border-right: 1px solid var(--c-grey-100, #e7e9ec);
  box-sizing: border-box;
}

.qdnapro-resource-timeline__corner--search {
  display: flex;
  align-items: center;
  padding: 0 10px;
}

.qdnapro-resource-timeline__corner--search .qdnapro-resource-timeline__searchinput {
  flex: 1;
  min-width: 0;
}

.qdnapro-resource-timeline__daycell {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  margin: 0;
  font: inherit;
  text-align: inherit;
  color: inherit;
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  height: var(--resource-timeline-header);
  min-width: 0;
  background: var(--c-bg-card, #fff);
  border-bottom: 1px solid var(--c-grey-100, #e7e9ec);
  border-right: 1px solid var(--c-grey-100, #e7e9ec);
  padding: 2px 4px;
  box-sizing: border-box;
  cursor: pointer;
}

.qdnapro-resource-timeline__daycell:hover {
  background: var(--c-grey-50, #f0f1f2);
}

.qdnapro-resource-timeline__daycell:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--c-purple-500, #40499a);
}

.qdnapro-resource-timeline__weekday {
  font-size: 10px;
  font-weight: 600;
  line-height: 13px;
  color: var(--c-grey-500, #6b7280);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.qdnapro-resource-timeline__daynum {
  font-size: 13px;
  font-weight: 600;
  line-height: 16px;
  color: var(--c-grey-800, #1c1b29);
  white-space: nowrap;
}

.qdnapro-resource-timeline__daycell.is-today .qdnapro-resource-timeline__weekday {
  color: var(--c-action-500, #4652f3);
}

.qdnapro-resource-timeline__daycell.is-today .qdnapro-resource-timeline__daynum {
  color: #fff;
  background: var(--c-action-500, #4652f3);
  padding: 1px 8px;
  border-radius: 999px;
}

.qdnapro-resource-timeline__todaytag {
  font-size: 9px;
  font-weight: 700;
  line-height: 11px;
  color: var(--c-action-500, #4652f3);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.qdnapro-resource-timeline__daycell.is-today .qdnapro-resource-timeline__todaytag {
  display: none;
}

.qdnapro-resource-timeline__topspace,
.qdnapro-resource-timeline__botspace {
  grid-column: 1/-1;
  height: 0;
}

.qdnapro-resource-timeline__label {
  position: sticky;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 10px;
  height: var(--resource-timeline-row-compact, 44px);
  min-width: 0;
  padding: 0 12px;
  background: var(--c-bg-card, #fff);
  border-bottom: 1px solid var(--c-grey-100, #e7e9ec);
  border-right: 1px solid var(--c-grey-100, #e7e9ec);
  box-sizing: border-box;
}

.qdnapro-resource-timeline__labeltext {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.qdnapro-resource-timeline__labelname {
  font-size: 13px;
  font-weight: 600;
  line-height: 16px;
  color: var(--c-grey-800, #1c1b29);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-resource-timeline__labelmeta {
  font-size: 11px;
  font-weight: 500;
  line-height: 14px;
  color: var(--c-grey-500, #6b7280);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-resource-timeline__cell {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  height: var(--resource-timeline-row-compact, 44px);
  padding: 3px 4px;
  box-sizing: border-box;
  background: var(--c-bg-card, #fff);
  border-bottom: 1px solid var(--c-grey-100, #e7e9ec);
  border-right: 1px solid var(--c-grey-100, #e7e9ec);
  overflow: hidden;
  cursor: default;
}

.qdnapro-resource-timeline__cell.is-today {
  background: rgba(64, 73, 154, 0.04);
}

.qdnapro-resource-timeline__cell.is-empty {
  cursor: pointer;
}

.qdnapro-resource-timeline__cell.is-disabled,
.qdnapro-resource-timeline__cell.is-unavailable {
  background: repeating-linear-gradient(135deg, var(--c-grey-50, #f0f1f2) 0 6px, rgba(107, 114, 128, 0.14) 6px 12px);
}

.qdnapro-resource-timeline__cell.is-disabled {
  cursor: not-allowed;
}

.qdnapro-resource-timeline__cell.is-unavailable {
  cursor: pointer;
}

.qdnapro-resource-timeline__cell.is-drop-target {
  background: var(--c-purple-soft-12, rgba(64, 73, 154, 0.12));
}

.qdnapro-resource-timeline__cell.is-drop-target::before {
  content: "";
  position: absolute;
  inset: 1px;
  pointer-events: none;
  background-image: repeating-linear-gradient(to right, var(--c-purple-500, #40499a) 0 6px, transparent 0 12px), repeating-linear-gradient(to right, var(--c-purple-500, #40499a) 0 6px, transparent 0 12px), repeating-linear-gradient(to bottom, var(--c-purple-500, #40499a) 0 6px, transparent 0 12px), repeating-linear-gradient(to bottom, var(--c-purple-500, #40499a) 0 6px, transparent 0 12px);
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
  background-size: 12px 2px, 12px 2px, 2px 12px, 2px 12px;
  background-position: 0 0, 0 100%, 0 0, 100% 0;
  animation: qdna-resource-timeline-march 1.6s linear infinite;
}

@keyframes qdna-resource-timeline-march {
  to {
    background-position: 12px 0, -12px 100%, 0 -12px, 100% 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-resource-timeline__cell.is-drop-target::before {
    animation: none;
  }
}
.qdnapro-resource-timeline__chip {
  flex: 1 1 22px;
  min-height: 22px;
  padding: 2px 6px;
}

.qdnapro-resource-timeline__chip .qdnapro-event-card__meta {
  display: none;
}

.qdnapro-resource-timeline__chip .qdnapro-event-card__avatar {
  --av-size: 16px;
  --av-padding: 3px;
}

.qdnapro-resource-timeline__chip[draggable=true] {
  cursor: grab;
}

.qdnapro-resource-timeline__chip.is-dragging {
  opacity: 0.5;
  cursor: grabbing;
}

.qdnapro-resource-timeline__chip--draft {
  border: 1.5px dashed var(--event-card-text, currentColor);
  background: color-mix(in srgb, var(--event-card-bg, transparent) 55%, transparent);
}

.qdnapro-resource-timeline__more {
  appearance: none;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 1px 6px;
  margin: 0;
  font-family: inherit;
  font-size: 10px;
  font-weight: 600;
  line-height: 14px;
  color: var(--c-grey-500, #6b7280);
  border-radius: var(--r-1, 4px);
  cursor: pointer;
}

.qdnapro-resource-timeline__more:hover {
  background: var(--c-grey-50, #f0f1f2);
}

.qdnapro-resource-timeline__more:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--c-purple-500, #40499a), 0 0 0 6px var(--c-purple-soft-18, rgba(64, 73, 154, 0.18));
}

.qdnapro-resource-timeline--wide .qdnapro-resource-timeline__daycell,
.qdnapro-resource-timeline--wide .qdnapro-resource-timeline__cell {
  min-width: 88px;
}

.qdnapro-row-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
  padding: 0;
  border: none;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.04);
  color: #6b7280;
  cursor: pointer;
  user-select: none;
  outline: none;
  transition: background 120ms ease, color 120ms ease;
}
.qdnapro-row-btn *, .qdnapro-row-btn *::before, .qdnapro-row-btn *::after {
  box-sizing: border-box;
}
.qdnapro-row-btn svg,
.qdnapro-row-btn qdnapro-icon {
  display: inline-flex;
  flex-shrink: 0;
  pointer-events: none;
  color: inherit;
}
.qdnapro-row-btn svg {
  fill: currentColor;
}
.qdnapro-row-btn.row-btn-size-36 {
  width: 36px;
  height: 36px;
}
.qdnapro-row-btn.row-btn-size-36 svg,
.qdnapro-row-btn.row-btn-size-36 qdnapro-icon {
  width: 20px;
  height: 20px;
}
.qdnapro-row-btn.row-btn-size-40 {
  width: 40px;
  height: 40px;
}
.qdnapro-row-btn.row-btn-size-40 svg,
.qdnapro-row-btn.row-btn-size-40 qdnapro-icon {
  width: 20px;
  height: 20px;
}
.qdnapro-row-btn.row-btn-size-28 {
  width: 28px;
  height: 28px;
  border-radius: 4px;
}
.qdnapro-row-btn.row-btn-size-28 svg,
.qdnapro-row-btn.row-btn-size-28 qdnapro-icon {
  width: 16px;
  height: 16px;
}
.qdnapro-row-btn:hover:not(.row-btn-disabled) {
  background: rgba(0, 0, 0, 0.08);
  color: #0b0b0d;
}
.qdnapro-row-btn:active:not(.row-btn-disabled) {
  background: rgba(0, 0, 0, 0.12);
}
.qdnapro-row-btn:focus-visible {
  box-shadow: 0 0 0 2px var(--c-focus-ring, #40499a), 0 0 0 5px var(--c-focus-glow, rgba(70, 82, 243, 0.2));
}
.qdnapro-row-btn.row-btn-active {
  background: rgba(70, 82, 243, 0.12);
  color: #40499a;
}
.qdnapro-row-btn.row-btn-active:hover:not(.row-btn-disabled) {
  background: rgba(70, 82, 243, 0.18);
  color: #333a7b;
}
.qdnapro-row-btn.row-btn-active.row-btn-variant-concept {
  background: rgba(245, 158, 11, 0.16);
  color: #b45309;
}
.qdnapro-row-btn.row-btn-active.row-btn-variant-concept:hover:not(.row-btn-disabled) {
  background: rgba(245, 158, 11, 0.24);
  color: #92400e;
}
.qdnapro-row-btn.row-btn-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

[data-theme=dark] .qdnapro-row-btn {
  background: rgba(255, 255, 255, 0.05);
  color: #9ca3af;
}
[data-theme=dark] .qdnapro-row-btn:hover:not(.row-btn-disabled) {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}
[data-theme=dark] .qdnapro-row-btn:active:not(.row-btn-disabled) {
  background: rgba(255, 255, 255, 0.14);
}
[data-theme=dark] .qdnapro-row-btn.row-btn-active {
  background: rgba(70, 82, 243, 0.2);
  color: #a5acff;
}
[data-theme=dark] .qdnapro-row-btn.row-btn-active:hover:not(.row-btn-disabled) {
  background: rgba(70, 82, 243, 0.3);
  color: #ffffff;
}
[data-theme=dark] .qdnapro-row-btn.row-btn-active.row-btn-variant-concept {
  background: rgba(245, 158, 11, 0.22);
  color: #fbbf24;
}
[data-theme=dark] .qdnapro-row-btn.row-btn-active.row-btn-variant-concept:hover:not(.row-btn-disabled) {
  background: rgba(245, 158, 11, 0.32);
  color: #fcd34d;
}

.qdnapro-segment {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 3px;
  background: #f0f1f2;
  border-radius: 10px;
  box-sizing: border-box;
  position: relative;
}
.qdnapro-segment.segment-size-small {
  border-radius: 8px;
}
.qdnapro-segment.segment-disabled {
  background: rgba(240, 241, 242, 0.7);
  pointer-events: none;
}
[data-theme=dark] .qdnapro-segment, .theme-dark .qdnapro-segment {
  background: #2a2d35;
}
[data-theme=dark] .qdnapro-segment.segment-disabled, .theme-dark .qdnapro-segment.segment-disabled {
  background: rgba(42, 45, 53, 0.6);
}

.segment-track-pill {
  position: absolute;
  top: 3px;
  left: 0;
  height: calc(100% - 6px);
  width: 0;
  transform: translateX(0);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.08);
  pointer-events: none;
  z-index: 0;
  transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1), width 280ms cubic-bezier(0.4, 0, 0.2, 1);
}
.segment-size-small .segment-track-pill {
  border-radius: 6px;
}
[data-theme=dark] .qdnapro-segment .segment-track-pill, .theme-dark .qdnapro-segment .segment-track-pill {
  background: #1e2028;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
}

.qdnapro-segment-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 64px;
  height: 36px;
  padding: 0 14px;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  color: rgba(11, 11, 13, 0.55);
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  outline: none;
  border: none;
  background: transparent;
  transition: color 200ms ease, background 150ms ease, box-shadow 150ms ease;
}
.qdnapro-segment-item .segment-item-icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: inherit;
}
.qdnapro-segment-item .segment-item-label {
  position: relative;
}
.qdnapro-segment-item .segment-item-label::after {
  content: attr(data-text);
  display: block;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  font-weight: 600;
  pointer-events: none;
}
.qdnapro-segment-item:not(.segment-item-active):not(.segment-item-disabled):hover {
  color: rgba(11, 11, 13, 0.75);
  background: rgba(11, 11, 13, 0.06);
}
.qdnapro-segment-item:not(.segment-item-active):not(.segment-item-disabled):active {
  background: rgba(11, 11, 13, 0.1);
  color: rgba(11, 11, 13, 0.85);
}
.qdnapro-segment-item:focus-visible {
  box-shadow: 0 0 0 2px #40499a, 0 0 0 4px rgba(70, 82, 243, 0.25);
}
.qdnapro-segment-item.segment-item-active {
  color: #0b0b0d;
  font-weight: 600;
  cursor: default;
}
.qdnapro-segment-item.segment-item-active:focus-visible {
  box-shadow: 0 0 0 2px #40499a, 0 0 0 4px rgba(70, 82, 243, 0.25);
}
.qdnapro-segment-item.segment-item-disabled {
  color: #898e99;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.7;
}
.segment-size-small .qdnapro-segment-item {
  height: 28px;
  padding: 0 10px;
  border-radius: 6px;
  font-size: 12px;
  gap: 4px;
}
.segment-size-small .qdnapro-segment-item .segment-item-icon {
  width: 14px;
  height: 14px;
}
[data-theme=dark] .qdnapro-segment-item, .theme-dark .qdnapro-segment-item {
  color: rgba(240, 241, 242, 0.5);
}
[data-theme=dark] .qdnapro-segment-item:not(.segment-item-active):not(.segment-item-disabled):hover, .theme-dark .qdnapro-segment-item:not(.segment-item-active):not(.segment-item-disabled):hover {
  color: rgba(240, 241, 242, 0.75);
  background: rgba(240, 241, 242, 0.08);
}
[data-theme=dark] .qdnapro-segment-item:not(.segment-item-active):not(.segment-item-disabled):active, .theme-dark .qdnapro-segment-item:not(.segment-item-active):not(.segment-item-disabled):active {
  background: rgba(240, 241, 242, 0.12);
  color: rgba(240, 241, 242, 0.9);
}
[data-theme=dark] .qdnapro-segment-item.segment-item-active, .theme-dark .qdnapro-segment-item.segment-item-active {
  color: #f0f1f2;
}
[data-theme=dark] .qdnapro-segment-item.segment-item-disabled, .theme-dark .qdnapro-segment-item.segment-item-disabled {
  color: #55585f;
  opacity: 0.6;
}

.qdnapro-segment.segment-variant-sliding-pills {
  background: transparent;
  padding: 0;
  gap: 4px;
  border-radius: 0;
}
.qdnapro-segment.segment-variant-sliding-pills .segment-track-pill {
  top: 0;
  height: 100%;
  border-radius: 20px;
  background: #e8eafd;
  box-shadow: none;
}
.qdnapro-segment.segment-variant-sliding-pills .qdnapro-segment-item {
  border-radius: 20px;
  color: #8890b8;
}
.qdnapro-segment.segment-variant-sliding-pills .qdnapro-segment-item:not(.segment-item-active):not(.segment-item-disabled):hover {
  color: #40499a;
  background: rgba(65, 73, 154, 0.06);
}
.qdnapro-segment.segment-variant-sliding-pills .qdnapro-segment-item:not(.segment-item-active):not(.segment-item-disabled):active {
  color: #40499a;
  background: rgba(65, 73, 154, 0.1);
}

.qdnapro-segment-tiles {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.qdnapro-segment-tiles *, .qdnapro-segment-tiles *::before, .qdnapro-segment-tiles *::after {
  box-sizing: border-box;
}

.qdnapro-segment-tiles .segment-label {
  font-size: 11px;
  font-weight: 500;
  color: rgba(11, 11, 13, 0.55);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.qdnapro-segment-tiles .segment-shell {
  position: relative;
}

.qdnapro-segment-tiles .segment-track {
  position: relative;
  display: flex;
  background: #f0f1f2;
  border-radius: 10px;
  padding: 3px;
  gap: 0;
}

.qdnapro-segment-tiles .segment-pill {
  position: absolute;
  top: 3px;
  bottom: 3px;
  border-radius: 8px;
  background: var(--c-bg-card);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.08);
  pointer-events: none;
  z-index: 0;
  transition: left 280ms cubic-bezier(0.4, 0, 0.2, 1), width 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

.qdnapro-segment-tiles .segment-tile {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 10px 8px;
  border-radius: 7px;
  cursor: pointer;
  user-select: none;
  outline: none;
  transition: color 180ms ease;
}
.qdnapro-segment-tiles .segment-tile > qdnapro-icon {
  font-size: 18px;
  color: rgba(11, 11, 13, 0.55);
  transition: color 180ms ease;
  pointer-events: none;
}
.qdnapro-segment-tiles .segment-tile > span {
  font-size: 10px;
  font-weight: 500;
  color: rgba(11, 11, 13, 0.55);
  text-align: center;
  line-height: 1.3;
  transition: color 180ms ease;
  pointer-events: none;
}
.qdnapro-segment-tiles .segment-tile:focus-visible {
  box-shadow: 0 0 0 2px var(--focus-ring);
  border-radius: 7px;
}
.qdnapro-segment-tiles .segment-tile.active > qdnapro-icon {
  color: #3c3489;
}
.qdnapro-segment-tiles .segment-tile.active > span {
  color: #3c3489;
  font-weight: 600;
}
.qdnapro-segment-tiles .segment-tile:not(.active):not(.segment-tile--disabled):hover > qdnapro-icon {
  color: rgba(11, 11, 13, 0.75);
}
.qdnapro-segment-tiles .segment-tile:not(.active):not(.segment-tile--disabled):hover > span {
  color: rgba(11, 11, 13, 0.75);
}
.qdnapro-segment-tiles .segment-tile--disabled {
  cursor: not-allowed;
  opacity: 0.45;
}
.qdnapro-segment-tiles .segment-tile--disabled > qdnapro-icon {
  color: rgba(11, 11, 13, 0.45);
}
.qdnapro-segment-tiles .segment-tile--disabled > span {
  color: rgba(11, 11, 13, 0.45);
}

.qdnapro-segment-tiles--smiley .segment-tile {
  gap: 6px;
  padding: 12px 10px;
}
.qdnapro-segment-tiles--smiley .segment-tile-smileys {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex-wrap: nowrap;
  pointer-events: none;
}
.qdnapro-segment-tiles--smiley .segment-tile-smileys qdnapro-smiley {
  pointer-events: none;
}

.qdnapro-segment-tiles .segment-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 8px);
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 38px 12px 14px;
  min-height: 52px;
  background: var(--c-bg-card);
  border-radius: 10px;
  border: 0.5px solid var(--c-border-soft);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14), 0 2px 6px rgba(0, 0, 0, 0.08);
  z-index: 20;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;
}
.qdnapro-segment-tiles .segment-overlay.is-below {
  bottom: auto;
  top: calc(100% + 8px);
  transform: translateY(-6px);
}
.qdnapro-segment-tiles .segment-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition: opacity 180ms ease, transform 180ms ease;
}
.qdnapro-segment-tiles .segment-overlay .segment-overlay-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: rgba(11, 11, 13, 0.45);
  font-size: 16px;
  cursor: pointer;
  transition: background 140ms ease, color 140ms ease;
}
.qdnapro-segment-tiles .segment-overlay .segment-overlay-close:hover {
  background: var(--c-black-06);
  color: rgba(11, 11, 13, 0.75);
}
.qdnapro-segment-tiles .segment-overlay .segment-overlay-close:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--focus-ring);
}
.qdnapro-segment-tiles .segment-overlay .segment-desc-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--c-bg-card-hover);
  border: 0.5px solid var(--c-border-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.qdnapro-segment-tiles .segment-overlay .segment-desc-icon qdnapro-icon {
  font-size: 16px;
  color: #3c3489;
}
.qdnapro-segment-tiles .segment-overlay .segment-desc-icon--warning {
  background: #fff5ed;
  border-color: rgba(214, 122, 47, 0.25);
}
.qdnapro-segment-tiles .segment-overlay .segment-desc-icon--warning qdnapro-icon {
  color: #d67a2f;
}
.qdnapro-segment-tiles .segment-overlay .segment-desc-text {
  flex: 1;
}
.qdnapro-segment-tiles .segment-overlay .segment-desc-text strong {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #3c3489;
  line-height: 1.3;
  margin-bottom: 3px;
}
.qdnapro-segment-tiles .segment-overlay .segment-desc-text p {
  font-size: 11px;
  color: rgba(11, 11, 13, 0.65);
  line-height: 1.5;
  margin: 0;
}

qdnapro-segment-tile {
  display: none !important;
}

[data-theme=dark] .qdnapro-segment-tiles .segment-track,
.theme-dark .qdnapro-segment-tiles .segment-track {
  background: #2a2d35;
}
[data-theme=dark] .qdnapro-segment-tiles .segment-tile > qdnapro-icon,
.theme-dark .qdnapro-segment-tiles .segment-tile > qdnapro-icon {
  color: rgba(240, 241, 242, 0.5);
}
[data-theme=dark] .qdnapro-segment-tiles .segment-tile > span,
.theme-dark .qdnapro-segment-tiles .segment-tile > span {
  color: rgba(240, 241, 242, 0.5);
}
[data-theme=dark] .qdnapro-segment-tiles .segment-tile.active > qdnapro-icon,
.theme-dark .qdnapro-segment-tiles .segment-tile.active > qdnapro-icon {
  color: var(--c-brand-purple);
}
[data-theme=dark] .qdnapro-segment-tiles .segment-tile.active > span,
.theme-dark .qdnapro-segment-tiles .segment-tile.active > span {
  color: var(--c-brand-purple);
  font-weight: 600;
}
[data-theme=dark] .qdnapro-segment-tiles .segment-tile:not(.active):not(.segment-tile--disabled):hover > qdnapro-icon,
.theme-dark .qdnapro-segment-tiles .segment-tile:not(.active):not(.segment-tile--disabled):hover > qdnapro-icon {
  color: rgba(240, 241, 242, 0.75);
}
[data-theme=dark] .qdnapro-segment-tiles .segment-tile:not(.active):not(.segment-tile--disabled):hover > span,
.theme-dark .qdnapro-segment-tiles .segment-tile:not(.active):not(.segment-tile--disabled):hover > span {
  color: rgba(240, 241, 242, 0.75);
}
[data-theme=dark] .qdnapro-segment-tiles .segment-tile--disabled > qdnapro-icon,
.theme-dark .qdnapro-segment-tiles .segment-tile--disabled > qdnapro-icon {
  color: rgba(240, 241, 242, 0.3);
}
[data-theme=dark] .qdnapro-segment-tiles .segment-tile--disabled > span,
.theme-dark .qdnapro-segment-tiles .segment-tile--disabled > span {
  color: rgba(240, 241, 242, 0.3);
}
[data-theme=dark] .qdnapro-segment-tiles .segment-overlay .segment-overlay-close,
.theme-dark .qdnapro-segment-tiles .segment-overlay .segment-overlay-close {
  color: rgba(240, 241, 242, 0.45);
}
[data-theme=dark] .qdnapro-segment-tiles .segment-overlay .segment-overlay-close:hover,
.theme-dark .qdnapro-segment-tiles .segment-overlay .segment-overlay-close:hover {
  background: rgba(240, 241, 242, 0.08);
  color: rgba(240, 241, 242, 0.75);
}
[data-theme=dark] .qdnapro-segment-tiles .segment-overlay .segment-desc-icon qdnapro-icon,
.theme-dark .qdnapro-segment-tiles .segment-overlay .segment-desc-icon qdnapro-icon {
  color: var(--c-brand-purple);
}
[data-theme=dark] .qdnapro-segment-tiles .segment-overlay .segment-desc-icon--warning,
.theme-dark .qdnapro-segment-tiles .segment-overlay .segment-desc-icon--warning {
  background: rgba(214, 122, 47, 0.15);
  border-color: rgba(214, 122, 47, 0.3);
}
[data-theme=dark] .qdnapro-segment-tiles .segment-overlay .segment-desc-icon--warning qdnapro-icon,
.theme-dark .qdnapro-segment-tiles .segment-overlay .segment-desc-icon--warning qdnapro-icon {
  color: #e8994a;
}
[data-theme=dark] .qdnapro-segment-tiles .segment-overlay .segment-desc-text strong,
.theme-dark .qdnapro-segment-tiles .segment-overlay .segment-desc-text strong {
  color: var(--c-brand-purple);
}
[data-theme=dark] .qdnapro-segment-tiles .segment-overlay .segment-desc-text p,
.theme-dark .qdnapro-segment-tiles .segment-overlay .segment-desc-text p {
  color: rgba(240, 241, 242, 0.65);
}

.qdnapro-score-scale {
  --qss-neutral-idle-bg: color-mix(in srgb, var(--theme-btn-color, #40499a) 10%, #fff);
  --qss-neutral-idle-text: var(--theme-btn-color, #40499a);
  --qss-neutral-selected-bg: var(--theme-btn-selected-color, var(--theme-btn-color, #40499a));
  --qss-neutral-selected-text: var(--theme-btn-selected-text-color, #fff);
  --qss-separator: rgba(0, 0, 0, 0.08);
  --qss-selected-shadow: 0 8px 20px rgba(20, 25, 80, 0.16), 0 2px 6px rgba(20, 25, 80, 0.10);
  --qss-grow: 7px;
  --qss-grad-1: var(--c-warn-red-500, #dc2626);
  --qss-grad-2: var(--c-warn-yellow-500, #fbbf24);
  --qss-grad-3: var(--c-success-bright, #1d9e75);
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  font-family: var(--theme-font-family, "Inter", sans-serif);
}

.qdnapro-score-scale .qss-bar {
  display: flex;
  align-items: center;
  width: 100%;
  height: 56px;
  overflow: visible;
  box-shadow: var(--shadow-card, 0 1px 2px rgba(20, 25, 80, 0.04));
  touch-action: pan-y;
}

.qdnapro-score-scale.is-dragging .qss-segment {
  transition: none;
}

.qdnapro-score-scale .qss-segment {
  box-sizing: border-box;
  flex: 1 1 0;
  min-width: 0;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  border-right: 1px solid var(--qss-separator);
  background: var(--qss-neutral-idle-bg);
  color: var(--qss-neutral-idle-text);
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  position: relative;
  z-index: 0;
  transition: height 150ms cubic-bezier(0.34, 1.56, 0.64, 1), border-radius 150ms cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 150ms ease-out, background-color 150ms ease-out, color 150ms ease-out, filter 150ms ease-out, opacity 150ms ease-out;
}

.qdnapro-score-scale .qss-segment:first-child {
  border-top-left-radius: var(--r-3, 12px);
  border-bottom-left-radius: var(--r-3, 12px);
}

.qdnapro-score-scale .qss-segment:last-child {
  border-right: none;
  border-top-right-radius: var(--r-3, 12px);
  border-bottom-right-radius: var(--r-3, 12px);
}

.qdnapro-score-scale .qss-segment:has(+ .qss-segment.is-selected) {
  border-right-color: transparent;
}

.qdnapro-score-scale .qss-segment:hover:not(:disabled):not(.is-selected) {
  filter: brightness(0.97);
}

.qdnapro-score-scale .qss-segment:focus {
  outline: none;
}

.qdnapro-score-scale .qss-segment:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--c-action-500, #4652f3);
  z-index: 3;
}

.qdnapro-score-scale .qss-num {
  line-height: 1;
  pointer-events: none;
}

.qdnapro-score-scale .qss-segment.is-selected {
  height: calc(56px + var(--qss-grow) * 2);
  border-radius: var(--r-2, 8px);
  background: var(--qss-neutral-selected-bg);
  color: var(--qss-neutral-selected-text);
  border-right-color: transparent;
  box-shadow: var(--qss-selected-shadow);
  z-index: 2;
}

.qdnapro-score-scale .qss-segment.is-selected .qss-num {
  font-weight: 700;
  font-size: 17px;
}

.qdnapro-score-scale.is-gradient .qss-segment {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  border-right-color: rgba(255, 255, 255, 0.35);
}

.qdnapro-score-scale.is-gradient .qss-segment:not(.is-selected) {
  filter: saturate(0.45) brightness(1.05);
  opacity: 0.82;
}

.qdnapro-score-scale.is-gradient .qss-segment.is-selected {
  background-color: transparent;
  filter: none;
  opacity: 1;
}

.qdnapro-score-scale .qss-footer {
  margin-top: var(--s-2, 8px);
}

.qdnapro-score-scale .qss-endpoints {
  display: flex;
  justify-content: space-between;
  gap: var(--s-2, 8px);
  font-size: 12px;
  color: var(--c-text-muted, #6e7280);
}

.qdnapro-score-scale .qss-label-min,
.qdnapro-score-scale .qss-label-max {
  max-width: 48%;
}

.qdnapro-score-scale .qss-label-max {
  text-align: right;
}

.qdnapro-score-scale .qss-bands {
  position: relative;
  height: 18px;
  margin-top: var(--s-1, 4px);
}

.qdnapro-score-scale .qss-band {
  position: absolute;
  top: 0;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--c-text-muted, #6e7280);
  padding-top: var(--s-1, 4px);
  border-top: 1px solid var(--c-border-soft-2, #e6e9ef);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qdnapro-score-scale.is-disabled {
  opacity: 0.55;
}

.qdnapro-score-scale.is-disabled .qss-segment {
  cursor: not-allowed;
}

[data-theme=dark] .qdnapro-score-scale {
  --qss-neutral-idle-bg: color-mix(in srgb, var(--theme-btn-color, #40499a) 22%, var(--c-grey-900, #18181c));
  --qss-neutral-idle-text: color-mix(in srgb, var(--theme-btn-color, #40499a) 70%, #fff);
  --qss-neutral-selected-bg: var(--theme-btn-selected-color, var(--theme-btn-color, #40499a));
  --qss-neutral-selected-text: var(--theme-btn-selected-text-color, #fff);
  --qss-separator: rgba(255, 255, 255, 0.1);
  --qss-selected-shadow: 0 8px 20px rgba(0, 0, 0, 0.45), 0 2px 6px rgba(0, 0, 0, 0.30);
}

[data-theme=dark] .qdnapro-score-scale .qss-band {
  border-top-color: var(--c-border-soft, rgba(255, 255, 255, 0.08));
}

@media (max-width: 420px) {
  .qdnapro-score-scale .qss-segment {
    font-size: 13px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-score-scale .qss-segment {
    transition: none;
  }
}
.qdnapro-likert-scale {
  --likert-accent: var(--c-brand-purple, #40499a);
  --qls-nvt-color: var(--c-grey-500, #6b7280);
  --qls-nvt-ring: var(--c-grey-400, #a6aab3);
  --qls-circle-size: 28px;
  --qls-gap: var(--s-2, 8px);
  display: block;
  box-sizing: border-box;
  width: 100%;
  font-family: var(--theme-font-family, "Inter", sans-serif);
  container: qdnapro-likert-scale/inline-size;
}
.qdnapro-likert-scale *,
.qdnapro-likert-scale *::before,
.qdnapro-likert-scale *::after {
  box-sizing: border-box;
}

.qdnapro-likert-scale__row {
  display: flex;
  align-items: flex-start;
  width: 100%;
  gap: var(--s-4, 16px);
  padding: 6px 4px 9px;
  overflow-x: auto;
  overflow-y: hidden;
}

.qdnapro-likert-scale__row::-webkit-scrollbar {
  height: 6px;
}

.qdnapro-likert-scale__row::-webkit-scrollbar-track {
  background: transparent;
}

.qdnapro-likert-scale__row::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 3px;
}

.qdnapro-likert-scale__row:hover::-webkit-scrollbar-thumb,
.qdnapro-likert-scale__row:focus-within::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.22);
}

.qdnapro-likert-scale__row::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.34);
}

.qdnapro-likert-scale__scale {
  display: flex;
  flex: 1 1 auto;
  justify-content: space-between;
  gap: var(--s-1, 4px);
  min-width: 0;
}

.qdnapro-likert-scale__item {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
}

.qdnapro-likert-scale__item--nvt {
  flex: 0 0 auto;
}

.qdnapro-likert-scale__option {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--qls-gap);
  width: 100%;
  border: none;
  background: transparent;
  padding: 4px;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  color: inherit;
  transition: background-color 150ms ease-out;
}

.qdnapro-likert-scale__option:focus {
  outline: none;
}

.qdnapro-likert-scale__label {
  width: 100%;
  max-width: 96px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--c-text-heading, #1a1f4d);
  text-align: center;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.5em;
}

.qdnapro-likert-scale__item--nvt .qdnapro-likert-scale__label {
  color: var(--c-text-muted, #6e7280);
}

.qdnapro-likert-scale__divider {
  align-self: stretch;
  width: 1px;
  min-width: 1px;
  margin-top: calc(2.5em + var(--qls-gap));
  background: var(--c-border-soft-2, #e6e9ef);
}

.qdnapro-likert-scale__dot {
  width: var(--qls-circle-size);
  height: var(--qls-circle-size);
  min-width: var(--qls-circle-size);
  flex-shrink: 0;
  border-radius: 50%;
  border: 2px solid var(--likert-accent);
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 150ms ease-out, border-color 150ms ease-out, box-shadow 150ms ease-out, transform 100ms ease-out;
}

.qdnapro-likert-scale__check {
  width: 58%;
  height: 58%;
  fill: none;
  stroke: var(--qls-check-color, #fff);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 24;
  stroke-dashoffset: 24;
  opacity: 0;
  pointer-events: none;
  overflow: visible;
}

.qdnapro-likert-scale__option.is-selected .qdnapro-likert-scale__check {
  opacity: 1;
  animation: qls-check-pop 0.52s cubic-bezier(0.34, 1.56, 0.5, 1), qls-check-draw 0.38s cubic-bezier(0.22, 1, 0.36, 1) 0.04s forwards;
}

@keyframes qls-check-pop {
  0% {
    transform: scale(0.7) rotate(0deg);
  }
  20% {
    transform: scale(1.22) rotate(-5deg);
  }
  44% {
    transform: scale(0.9) rotate(3deg);
  }
  64% {
    transform: scale(1.08) rotate(-1deg);
  }
  80% {
    transform: scale(0.97) rotate(0deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
  }
}
@keyframes qls-check-draw {
  0% {
    stroke-dashoffset: 24;
  }
  62% {
    stroke-dashoffset: -1;
  }
  80% {
    stroke-dashoffset: 0.7;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-likert-scale__option.is-selected .qdnapro-likert-scale__check {
    animation: none;
    stroke-dashoffset: 0;
  }
}
.qdnapro-likert-scale__option:hover:not(:disabled):not(.is-selected) .qdnapro-likert-scale__dot {
  background: color-mix(in srgb, var(--likert-accent) 12%, transparent);
}

.qdnapro-likert-scale__option:focus-visible .qdnapro-likert-scale__dot {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--likert-accent) 30%, transparent);
}

.qdnapro-likert-scale__option.is-selected .qdnapro-likert-scale__dot {
  background: var(--likert-accent);
  border-color: var(--likert-accent);
  transform: scale(1.08);
}

.qdnapro-likert-scale__option:active:not(:disabled) .qdnapro-likert-scale__dot {
  transform: scale(0.94);
}

.qdnapro-likert-scale__dot--nvt {
  border-color: var(--qls-nvt-ring);
}

.qdnapro-likert-scale__option--nvt:hover:not(:disabled):not(.is-selected) .qdnapro-likert-scale__dot {
  background: color-mix(in srgb, var(--qls-nvt-color) 12%, transparent);
}

.qdnapro-likert-scale__option--nvt:focus-visible .qdnapro-likert-scale__dot {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--qls-nvt-color) 30%, transparent);
}

.qdnapro-likert-scale__option--nvt.is-selected .qdnapro-likert-scale__dot {
  background: var(--qls-nvt-color);
  border-color: var(--qls-nvt-color);
}

.qdnapro-likert-scale.is-readonly .qdnapro-likert-scale__option {
  cursor: default;
}

.qdnapro-likert-scale.is-readonly .qdnapro-likert-scale__option:hover .qdnapro-likert-scale__dot {
  background: transparent;
}

.qdnapro-likert-scale.is-readonly .qdnapro-likert-scale__option--nvt:hover .qdnapro-likert-scale__dot {
  background: transparent;
}

.qdnapro-likert-scale.is-readonly .qdnapro-likert-scale__option.is-selected .qdnapro-likert-scale__dot {
  background: var(--likert-accent);
}

.qdnapro-likert-scale.is-readonly .qdnapro-likert-scale__option--nvt.is-selected .qdnapro-likert-scale__dot {
  background: var(--qls-nvt-color);
}

.qdnapro-likert-scale.is-disabled {
  opacity: 0.55;
}

.qdnapro-likert-scale.is-disabled .qdnapro-likert-scale__option {
  cursor: not-allowed;
}

[data-theme=dark] .qdnapro-likert-scale {
  --qls-nvt-color: var(--c-grey-400, #a6aab3);
  --qls-nvt-ring: var(--c-grey-600, #565b66);
}

[data-theme=dark] .qdnapro-likert-scale__divider {
  background: var(--c-border-soft, rgba(255, 255, 255, 0.08));
}

[data-theme=dark] .qdnapro-likert-scale__label {
  color: var(--c-text-heading, #e1e3e6);
}

@container qdnapro-likert-scale (max-width: 680px) {
  .qdnapro-likert-scale__row {
    flex-direction: column;
    align-items: stretch;
    gap: var(--s-2, 8px);
    overflow: visible;
  }
  .qdnapro-likert-scale__scale {
    flex-direction: column;
    align-items: stretch;
    gap: var(--s-2, 8px);
  }
  .qdnapro-likert-scale__item {
    flex: 0 0 auto;
  }
  .qdnapro-likert-scale__option {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: var(--s-3, 12px);
    min-height: 44px;
    padding: 6px 4px;
  }
  .qdnapro-likert-scale__dot {
    order: 0;
  }
  .qdnapro-likert-scale__label {
    order: 1;
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    text-align: left;
    min-height: 0;
    -webkit-line-clamp: initial;
    display: block;
    overflow: visible;
  }
  .qdnapro-likert-scale__divider {
    display: none;
  }
  .qdnapro-likert-scale__item--nvt {
    margin-top: var(--s-2, 8px);
    padding-top: var(--s-3, 12px);
    border-top: 1px solid var(--c-border-soft-2, #e6e9ef);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-likert-scale__dot {
    transition: none;
  }
}
.qdnapro-smiley {
  --smiley-size: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.qdnapro-smiley__visual {
  display: inline-flex;
  transform-origin: 50% 78%;
  will-change: transform;
}

.qdnapro-smiley__img {
  display: block;
  width: var(--smiley-size);
  height: var(--smiley-size);
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

.qdnapro-smiley--interactive {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.qdnapro-smiley--interactive:focus-visible {
  outline: 2px solid var(--c-action-500, #4652f3);
  outline-offset: 2px;
  border-radius: 8px;
}

.qdnapro-smiley--interactive[data-face=sad] .qdnapro-smiley__visual {
  animation: qsm-idle-sad 4.4s ease-in-out infinite;
}

.qdnapro-smiley--interactive[data-face=meh] .qdnapro-smiley__visual {
  animation: qsm-idle-meh 5.2s ease-in-out infinite;
}

.qdnapro-smiley--interactive[data-face=ok] .qdnapro-smiley__visual {
  animation: qsm-idle-ok 3.6s ease-in-out infinite;
}

.qdnapro-smiley--interactive[data-face=smile] .qdnapro-smiley__visual {
  animation: qsm-idle-smile 2.8s ease-in-out infinite;
}

.qdnapro-smiley--interactive[data-face=yay] .qdnapro-smiley__visual {
  animation: qsm-idle-yay 2.1s ease-in-out infinite;
}

@keyframes qsm-idle-sad {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(2px) rotate(-2.5deg);
  }
}
@keyframes qsm-idle-meh {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(1px) rotate(1deg);
  }
}
@keyframes qsm-idle-ok {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}
@keyframes qsm-idle-smile {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-5px) rotate(2.5deg);
  }
}
@keyframes qsm-idle-yay {
  0%, 20%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  10% {
    transform: translateY(-6px) rotate(-4deg);
  }
  30% {
    transform: translateY(-6px) rotate(4deg);
  }
}
.qdnapro-smiley--interactive[data-face=sad] .qdnapro-smiley__visual.is-reacting {
  animation: qsm-react-sad 0.72s cubic-bezier(0.36, 0, 0.66, -0.06) 1;
}

.qdnapro-smiley--interactive[data-face=meh] .qdnapro-smiley__visual.is-reacting {
  animation: qsm-react-meh 0.5s ease-in-out 1;
}

.qdnapro-smiley--interactive[data-face=ok] .qdnapro-smiley__visual.is-reacting {
  animation: qsm-react-ok 0.5s cubic-bezier(0.34, 1.2, 0.64, 1) 1;
}

.qdnapro-smiley--interactive[data-face=smile] .qdnapro-smiley__visual.is-reacting {
  animation: qsm-react-smile 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 1;
}

.qdnapro-smiley--interactive[data-face=yay] .qdnapro-smiley__visual.is-reacting {
  animation: qsm-react-yay 0.85s cubic-bezier(0.34, 1.56, 0.64, 1) 1;
}

@keyframes qsm-react-sad {
  0% {
    transform: translateY(0) rotate(0deg) scale(1);
  }
  22% {
    transform: translateY(3px) rotate(-9deg) scale(0.96);
  }
  44% {
    transform: translateY(3px) rotate(7deg) scale(0.96);
  }
  66% {
    transform: translateY(3px) rotate(-5deg) scale(0.97);
  }
  85% {
    transform: translateY(2px) rotate(1deg) scale(0.99);
  }
  100% {
    transform: translateY(2px) rotate(0deg) scale(1);
  }
}
@keyframes qsm-react-meh {
  0% {
    transform: rotate(0deg) scale(1);
  }
  30% {
    transform: rotate(-6deg) scale(1.02);
  }
  60% {
    transform: rotate(4deg) scale(1.01);
  }
  100% {
    transform: rotate(0deg) scale(1);
  }
}
@keyframes qsm-react-ok {
  0% {
    transform: translateY(0) scale(1);
  }
  35% {
    transform: translateY(6px) scale(0.95);
  }
  65% {
    transform: translateY(-3px) scale(1.03);
  }
  100% {
    transform: translateY(0) scale(1);
  }
}
@keyframes qsm-react-smile {
  0% {
    transform: scale(1) translateY(0);
  }
  32% {
    transform: scale(1.2) translateY(-8px);
  }
  58% {
    transform: scale(0.95) translateY(2px);
  }
  78% {
    transform: scale(1.06) translateY(-2px);
  }
  100% {
    transform: scale(1) translateY(0);
  }
}
@keyframes qsm-react-yay {
  0% {
    transform: scale(1) translateY(0) rotate(0deg);
  }
  14% {
    transform: scale(1.24) translateY(-13px) rotate(-7deg);
  }
  30% {
    transform: scale(0.93) translateY(0) rotate(5deg);
  }
  46% {
    transform: scale(1.17) translateY(-10px) rotate(-4deg);
  }
  62% {
    transform: scale(0.96) translateY(0) rotate(2deg);
  }
  82% {
    transform: scale(1.04) translateY(-2px) rotate(0deg);
  }
  100% {
    transform: scale(1) translateY(0) rotate(0deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .qdnapro-smiley__visual {
    animation: none !important;
  }
}
.qdnapro-smiley-picker {
  display: block;
}

.qdnapro-smiley-picker .qsp-track {
  display: flex;
  justify-content: space-between;
  gap: 4px;
}

.qdnapro-smiley-picker .qsp-option {
  box-sizing: border-box;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 8px 4px 10px;
  border-radius: 14px;
  border: 1px solid transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.16s ease, border-color 0.16s ease;
}

.qdnapro-smiley-picker .qsp-option:hover {
  background: color-mix(in srgb, var(--theme-btn-color, #40499a) 8%, transparent);
}

.qdnapro-smiley-picker .qsp-option.is-active {
  background: color-mix(in srgb, var(--theme-btn-color, #40499a) 15%, transparent);
  border-color: var(--theme-btn-color, #40499a);
}

.qdnapro-smiley-picker .qsp-option:focus-visible {
  outline: 2px solid var(--c-action-500, #4652f3);
  outline-offset: 2px;
}

.qdnapro-smiley-picker .qsp-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--c-text-muted, #6b7280);
  text-align: center;
  line-height: 1.3;
}

.qdnapro-smiley-picker .qsp-option.is-active .qsp-label {
  color: var(--theme-btn-color, #40499a);
}

.qdnapro-smiley-picker.is-disabled .qsp-option {
  cursor: default;
  opacity: 0.5;
  pointer-events: none;
}

@media (max-width: 420px) {
  .qdnapro-smiley-picker .qsp-track {
    gap: 0;
  }
  .qdnapro-smiley-picker .qsp-label {
    font-size: 9.5px;
  }
}
/* ============================================================
 *  qdnapro-select — compiled from _select.scss
 * ============================================================ */
.qdnapro-select {
  display: block;
  width: 100%;
  position: relative;
}

.qdnapro-select > qdnapro-menu-item,
.qdnapro-select > qdnapro-menu-section-heading,
.qdnapro-select > qdnapro-menu-divider {
  display: none !important;
}

.qdnapro-select-trigger {
  display: block;
  width: 100%;
  cursor: pointer;
}

.qdnapro-select-popover {
  background: #ffffff;
  border: 1px solid #c4c7cc;
  border-radius: 8px;
  padding: 4px;
  max-height: 320px;
  overflow-y: auto;
  overflow-x: hidden;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.08), 0 1px 2px 0 rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  gap: 4px;
  /* Hide the scrollbar — content still scrolls. Flat scrollbar-hide (the
     qdna-scrollbar-hidden mixin isn't in scope in the components-v2 bundle,
     same reason as _bottom-sheet.scss). [Kim 2026-07-20] */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* old Edge/IE */
}

.qdnapro-select-popover::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none; /* Chrome / Safari */
}

/* `dense` popover — tighten the row spacing (radio / avatar / label closer) for
   selects that opt in via the `dense` attribute (e.g. the Auditritme user
   pickers). Scoped to this popover modifier so no menu-item elsewhere is
   affected. [Kim 2026-07-20] */
.qdnapro-select-popover--dense .qdnapro-menu-item {
  gap: 6px;
}

.qdnapro-select-popover--dense .qdnapro-menu-item.menu-item-with-avatar .menu-item-avatar-wrap {
  padding: 0 1px;
}

.qdnapro-select-popover .qdnapro-select-search {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #ffffff;
  padding: 4px;
  margin: -4px -4px 0 -4px;
  border-bottom: 1px solid #e1e3e6;
}

.qdnapro-select-popover .qdnapro-select-menu {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  width: 100%;
}

.qdnapro-select-popover .qdnapro-select-empty {
  padding: 16px 12px;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  line-height: 18px;
  color: #898e99;
}

[data-theme=dark] .qdnapro-select-popover {
  background: #1f2028;
  border-color: #565b66;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.3), 0 1px 2px 0 rgba(0, 0, 0, 0.4);
}

[data-theme=dark] .qdnapro-select-popover .qdnapro-select-search {
  background: #1f2028;
  border-bottom-color: #40444d;
}

[data-theme=dark] .qdnapro-select-popover .qdnapro-select-empty {
  color: #898e99;
}

/* ============================================================
 *  touch mode — opt-in via a `touch` attribute on <qdnapro-select>
 *  (PWA flow only; never set in the backoffice, so desktop selects are
 *  byte-for-byte unaffected). qdna-select.js adds the modifier class
 *  BELOW to the popover ROOT itself (not the host) because the popover
 *  is portaled to document.body — a `.flow …` ancestor selector would
 *  never reach it there. Verified current values before overriding:
 *  option row was min-height 40px / padding 8px 16px / 14px label
 *  (_menu-item.scss menu-item-size-default); checkbox/radio indicator
 *  was 16px (_checkbox.scss / _radio.scss default --cb-size/--rb-size);
 *  search input text was 14px (inherited .qdnapro-input default), NOT
 *  13px as first assumed — still bumped to 16px since anything under
 *  16px triggers iOS Safari's auto-zoom-on-focus. [2026-07-13]
 * ============================================================ */
/* Option rows — Material/Apple touch guidance: >=48px tap target, 16px
   label (never smaller — readability at arm's length). */
.qdnapro-select-popover--touch .qdnapro-menu-item.menu-item-size-default {
  /* min-height (not fixed height) is a floor — the row grows when a long
     label wraps to two lines. align-items: center (from _menu-item.scss)
     keeps the toggle centred against the taller row. */
  min-height: 48px;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 24px;
}

.qdnapro-select-popover--touch .qdnapro-menu-item .menu-item-label {
  font-size: 16px;
  /* Let long option labels WRAP instead of truncating with an ellipsis —
     the wider break-out popover plus wrapping means a full "Antwoordoptie"
     label shows. Overrides the base .menu-item-label nowrap/ellipsis. */
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

/* Checkbox/radio indicator — bump from the 16px default toward the 28px
   already established by qdnapro-checkbox's own size="touch-sm" (dense-row
   touch convention, see _checkbox.scss). Mark/dot scale with it. */
.qdnapro-select-popover--touch .qdnapro-menu-item qdnapro-checkbox {
  --cb-size: 28px;
}

.qdnapro-select-popover--touch .qdnapro-menu-item qdnapro-checkbox .checkbox-mark {
  width: 20px;
  height: 20px;
}

.qdnapro-select-popover--touch .qdnapro-menu-item qdnapro-checkbox .checkbox-mark-dash {
  width: 14px;
  height: 3px;
}

.qdnapro-select-popover--touch .qdnapro-menu-item qdnapro-radio {
  --rb-size: 28px;
}

.qdnapro-select-popover--touch .qdnapro-menu-item qdnapro-radio .radio-dot {
  width: 7px;
  height: 7px;
}

/* A little extra room between rows once they're taller. */
.qdnapro-select-popover--touch .qdnapro-select-menu {
  gap: 6px;
}

/* Search input — >=16px is CRITICAL (anything smaller makes iOS Safari
   auto-zoom on focus). Extra height/padding + explicit specificity (two
   classes on the search element itself) so this reliably beats
   _input.scss's own `.qdnapro-input.input-size-small .input-field` rule
   regardless of partial import order. */
.qdnapro-select-popover--touch .qdnapro-select-search.input-size-small .input-field {
  min-height: 48px;
  padding: 0 14px;
}

.qdnapro-select-popover--touch .qdnapro-select-search .input-native {
  font-size: 16px;
}

.qdnapro-share-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.qdnapro-share-warn {
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--c-tag-warning-bg);
  color: var(--c-tag-warning-text);
  border: 1px solid #f0d060;
  font-size: 13px;
  line-height: 18px;
}

.qdnapro-share-note {
  margin: 0;
  color: var(--c-text-muted);
  font-size: 12px;
  line-height: 16px;
}

.qdnapro-share-channels {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.qdnapro-share-channel {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--c-border-card);
  border-radius: 12px;
  background: var(--c-bg-card);
  color: var(--c-text-body);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: left;
  cursor: pointer;
  transition: background 120ms ease-out, border-color 120ms ease-out;
}
.qdnapro-share-channel:hover {
  background: var(--c-bg-subtle-purple);
  border-color: var(--c-purple-100);
}
.qdnapro-share-channel:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
.qdnapro-share-channel:active {
  background: var(--c-purple-50);
}

.qdnapro-share-channel-icon {
  flex-shrink: 0;
  display: inline-flex;
  color: var(--c-purple-500);
}

.qdnapro-share-channel-label {
  flex: 1 1 auto;
}

.qdnapro-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid transparent;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  cursor: pointer;
  user-select: none;
  transition: background 120ms ease-out, border-color 120ms ease-out, color 120ms ease-out;
}
.qdnapro-share-btn .share-btn-icon {
  display: inline-flex;
  flex-shrink: 0;
}
.qdnapro-share-btn:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}
.qdnapro-share-btn.share-btn-icon-only {
  gap: 0;
  padding: 8px;
  border-radius: 8px;
}
.qdnapro-share-btn.share-btn-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-share-btn.share-btn-primary {
  background: var(--c-brand-purple);
  color: var(--c-text-on-action);
}
.qdnapro-share-btn.share-btn-primary:hover {
  background: var(--c-brand-purple-hover);
}
.qdnapro-share-btn.share-btn-primary:active {
  background: var(--c-brand-purple-press);
}

.qdnapro-share-btn.share-btn-subtle {
  background: transparent;
  color: var(--c-purple-500);
}
.qdnapro-share-btn.share-btn-subtle .share-btn-icon {
  color: var(--c-purple-500);
}
.qdnapro-share-btn.share-btn-subtle:hover {
  background: var(--c-bg-subtle-purple);
}

.qdnapro-share-btn.share-btn-secondary {
  background: var(--c-bg-card);
  color: var(--c-text-body);
  border-color: var(--c-border-card);
}
.qdnapro-share-btn.share-btn-secondary .share-btn-icon {
  color: var(--c-purple-500);
}
.qdnapro-share-btn.share-btn-secondary:hover {
  background: var(--c-bg-card-hover);
}

.qdnapro-share-inbox-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.qdnapro-share-inbox-list {
  display: flex;
  flex-direction: column;
  max-height: 46vh;
  overflow-y: auto;
  margin: 0 -4px;
  padding: 0 4px;
}

/* Pick-mode header slot: custom fields (frequentie + set) boven de Teams/Personen-
   secties. Onderrand scheidt ze van de zoek/lijst. [Jan 2026-07-11] */
.qdnapro-share-inbox-header {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-bottom: 12px;
  margin-bottom: 2px;
  border-bottom: 1px solid var(--c-border, #e6e4f2);
}

.qdnapro-share-inbox-header .mdash-fld {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.qdnapro-share-inbox-header label {
  font-size: 10.5px;
  color: var(--c-text-muted, #6b6884);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding-left: 2px;
}

.qdnapro-share-inbox-header select {
  font-size: 13px;
  color: #22203a;
  border: 1px solid #d9d7e8;
  background: #fff;
  border-radius: 10px;
  padding: 8px 12px;
  width: 100%;
  cursor: pointer;
}

.qdnapro-share-inbox-header select:focus {
  outline: none;
  border-color: #394290;
}

.qdnapro-share-inbox-section {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--c-text-muted);
  padding: 10px 4px 4px;
}

.qdnapro-share-inbox-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: var(--c-text-body);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 110ms ease-out, border-color 110ms ease-out;
}
.qdnapro-share-inbox-row:hover {
  background: var(--c-bg-subtle-purple);
}
.qdnapro-share-inbox-row.is-selected {
  background: var(--c-bg-subtle-purple);
  border-color: var(--c-purple-100);
}
.qdnapro-share-inbox-row:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

.qdnapro-share-inbox-check {
  flex-shrink: 0;
}

.qdnapro-share-inbox-avatar {
  flex-shrink: 0;
}

.qdnapro-share-inbox-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.25;
}

.qdnapro-share-inbox-name {
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-share-inbox-sub {
  font-size: 12px;
  color: var(--c-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-share-inbox-comment-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--c-border-card);
}

.qdnapro-share-inbox-comment-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--c-text-muted);
}

.qdnapro-share-link {
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-sizing: border-box;
  width: 100%;
  border: 1px solid var(--c-grey-100, #e7e9ec);
  border-radius: var(--r-3, 12px);
  background: #fff;
  padding: 16px;
  align-items: stretch;
  font-family: "Inter", sans-serif;
}

.qdnapro-share-link--card {
  align-items: center;
}

.qdnapro-share-link__heading {
  align-self: flex-start;
  font-size: 15px;
  font-weight: 700;
  color: #22203a;
}

.qdnapro-share-link__desc {
  align-self: flex-start;
  margin-top: -4px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--c-grey-500, #6b7280);
}

.qdnapro-share-link__head {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  min-height: 4px;
}

.qdnapro-share-link__badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.4;
}

.qdnapro-share-link__badge--active {
  background: var(--c-signal-green-bg, #c5f5e2);
  color: var(--c-signal-green-text, #428b6e);
}

.qdnapro-share-link__badge--inactive {
  background: var(--c-grey-100, #e7e9ec);
  color: var(--c-grey-600, #565b66);
}

.qdnapro-share-link__qr {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
}

.qdnapro-share-link__qr canvas,
.qdnapro-share-link__qr img,
.qdnapro-share-link__qr table {
  display: block;
}

.qdnapro-share-link__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px 20px;
  font-size: 0.8rem;
  color: var(--c-grey-500, #6b7280);
}

.qdnapro-share-link__url {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border-radius: var(--r-2, 8px);
  background: var(--c-grey-50, #f0f1f2);
}

.qdnapro-share-link__url-text {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: Menlo, monospace;
  font-size: 12.5px;
  color: #22203a;
}

.qdnapro-share-link__actions {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.qdnapro-share-link__copy qdnapro-icon,
.qdnapro-share-link__deactivate qdnapro-icon {
  margin-right: 6px;
  vertical-align: middle;
}

.qdnapro-sidebar {
  display: flex;
  flex-direction: column;
  width: 297px;
  max-height: 100vh;
  background: #ffffff;
  border-radius: 8px;
  box-sizing: border-box;
  font-family: "Inter", inter, sans-serif;
  overflow: hidden;
  transition: max-height 180ms ease-out;
}
.qdnapro-sidebar.sidebar-collapsed .sidebar-search, .qdnapro-sidebar.sidebar-collapsed .sidebar-items {
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  pointer-events: none;
  overflow: hidden;
}
.qdnapro-sidebar .sidebar-top {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  flex-shrink: 0;
  overflow: hidden;
  min-width: 0;
}
.qdnapro-sidebar .sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 0 4px 8px;
}
.qdnapro-sidebar .sidebar-title {
  margin: 0;
  font-family: "Inter", inter, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 24px;
  color: #40499a;
}
.qdnapro-sidebar .sidebar-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.qdnapro-sidebar .sidebar-search {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
  max-height: 80px;
  opacity: 1;
  transition: max-height 180ms ease-out, opacity 120ms ease-out, padding 180ms ease-out, margin 180ms ease-out;
}
.qdnapro-sidebar .sidebar-items {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1 1 auto;
  min-height: 0;
  max-height: 1200px;
  opacity: 1;
  transition: max-height 220ms ease-out, opacity 140ms ease-out, padding 220ms ease-out, margin 220ms ease-out;
}
.qdnapro-sidebar .sidebar-items > hr {
  margin: 0;
  border: 0;
  border-top: 1px solid #d9dbeb;
  width: 100%;
}
.qdnapro-sidebar .sidebar-items > qdnapro-tree-item {
  width: 100%;
  margin: 0;
}

[data-theme=dark] .qdnapro-sidebar {
  background: #1f2028;
}
[data-theme=dark] .qdnapro-sidebar .sidebar-title {
  color: #f0f1f2;
}
[data-theme=dark] .qdnapro-sidebar .sidebar-items > hr {
  border-top-color: #3a3b42;
}
[data-theme=dark] .qdnapro-sidebar qdnapro-input .input-field {
  background: #2a2b34;
  border-color: #3a3b42;
}
[data-theme=dark] .qdnapro-sidebar qdnapro-input .input-native {
  color: #e1e3e6;
}
[data-theme=dark] .qdnapro-sidebar qdnapro-input .input-native::placeholder {
  color: #a6aab3;
}

.qdnapro-slider {
  --qs-track: var(--c-grey-100, #e7e9ec);
  --qs-fill: var(--c-purple-500, #40499a);
  --qs-dot: var(--c-grey-300, #c4c7cc);
  --qs-dot-active: var(--c-purple-500, #40499a);
  --qs-default-marker: var(--c-grey-400, #a6aab3);
  --qs-handle: #fff;
  --qs-handle-border: var(--c-purple-500, #40499a);
  --qs-handle-glow: var(--c-action-500, #4652f3);
  display: flex;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
  padding: 6px 4px;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
  font-family: var(--theme-font-family, "Inter", sans-serif);
}

.qdnapro-slider.qdnapro-slider--neutral {
  --qs-track: var(--c-grey-50, #f0f1f2);
  --qs-fill: var(--c-grey-400, #a6aab3);
  --qs-dot-active: var(--c-grey-400, #a6aab3);
  --qs-handle-border: var(--c-grey-400, #a6aab3);
  --qs-handle-glow: var(--c-grey-300, #c4c7cc);
}

.qdnapro-slider.qdnapro-slider--sentiment .qs-track {
  background: linear-gradient(90deg, var(--c-warn-red-500, #dc2626), var(--c-warn-yellow-500, #fbbf24), var(--c-success-bright, #1d9e75));
}

.qdnapro-slider.qdnapro-slider--sentiment .qs-fill {
  background: transparent;
}

.qdnapro-slider.qdnapro-slider--sentiment {
  --qs-handle-border: var(--c-grey-700, #40444d);
  --qs-handle-glow: var(--c-grey-400, #a6aab3);
  --qs-dot: rgba(255, 255, 255, 0.6);
  --qs-dot-active: #fff;
}

.qdnapro-slider.qdnapro-slider--highlight {
  --qs-track: var(--c-bg-subtle-purple, #f3f5ff);
  --qs-fill: var(--c-purple-highlight, #4652f3);
  --qs-dot-active: var(--c-purple-highlight, #4652f3);
  --qs-handle-border: var(--c-purple-highlight, #4652f3);
  --qs-handle-glow: var(--c-purple-highlight, #4652f3);
}

.qdnapro-slider .qs-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-text-muted, #6b7280);
}

.qdnapro-slider .qs-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.qdnapro-slider .qs-track {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 6px;
  margin: 14px 0;
  border-radius: 999px;
  background: var(--qs-track);
}

.qdnapro-slider .qs-fill {
  position: absolute;
  top: 0;
  height: 100%;
  border-radius: 999px;
  background: var(--qs-fill);
}

.qdnapro-slider .qs-dot {
  position: absolute;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-left: -2.5px;
  margin-top: -2.5px;
  border-radius: 50%;
  background: var(--qs-dot);
  pointer-events: none;
  transition: background 120ms ease-out, transform 120ms ease-out;
}

.qdnapro-slider .qs-dot.is-active {
  background: var(--qs-dot-active);
  transform: scale(1.15);
}

.qdnapro-slider .qs-default-marker {
  position: absolute;
  top: 50%;
  width: 2px;
  height: 12px;
  margin-left: -1px;
  margin-top: -6px;
  border-radius: 1px;
  background: var(--qs-default-marker);
  pointer-events: none;
  z-index: 1;
}

.qdnapro-slider .qs-handle {
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  margin-left: -9px;
  padding: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--qs-handle);
  border: 2px solid var(--qs-handle-border);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
  cursor: grab;
  z-index: 2;
  transition: box-shadow 140ms ease-out, transform 120ms ease-out;
}

.qdnapro-slider .qs-handle:hover {
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--qs-handle-glow) 25%, transparent), 0 1px 3px rgba(0, 0, 0, 0.18);
}

.qdnapro-slider .qs-handle:active,
.qdnapro-slider.is-dragging .qs-handle {
  cursor: grabbing;
  transform: translateY(-50%) scale(1.08);
}

.qdnapro-slider .qs-handle:focus {
  outline: none;
}

.qdnapro-slider .qs-handle:focus-visible {
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--qs-handle-glow) 25%, transparent), 0 1px 3px rgba(0, 0, 0, 0.18);
}

.qdnapro-slider .qs-handle qdnapro-tooltip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  z-index: 3;
  pointer-events: none;
  transform: translateX(-50%) scale(0.92);
}

.qdnapro-slider .qs-handle qdnapro-tooltip.tooltip-visible {
  transform: translateX(-50%) scale(1);
}

.qdnapro-slider .qs-input {
  flex-shrink: 0;
  width: 68px;
}

.qdnapro-slider.qdnapro-slider--touch .qs-track {
  height: 10px;
  margin: 22px 0;
}

.qdnapro-slider.qdnapro-slider--touch .qs-handle {
  width: 44px;
  height: 44px;
  margin-left: -22px;
  border-width: 3px;
}

.qdnapro-slider.qdnapro-slider--touch .qs-dot {
  width: 7px;
  height: 7px;
  margin-left: -3.5px;
  margin-top: -3.5px;
}

.qdnapro-slider.qdnapro-slider--touch .qs-icon {
  width: 28px;
  height: 28px;
}

.qdnapro-slider.qdnapro-slider--touch .qs-default-marker {
  width: 3px;
  height: 18px;
  margin-left: -1.5px;
  margin-top: -9px;
}

.qdnapro-slider.is-disabled {
  opacity: 0.5;
  pointer-events: none;
}

[data-theme=dark] .qdnapro-slider {
  --qs-track: var(--c-grey-700, #40444d);
  --qs-dot: var(--c-grey-500, #6b7280);
  --qs-default-marker: var(--c-grey-300, #c4c7cc);
  --qs-handle: var(--c-grey-100, #e7e9ec);
  --qs-handle-border: var(--c-purple-300, #8a92d0);
  --qs-handle-glow: var(--c-purple-200, #a5acff);
}

[data-theme=dark] .qdnapro-slider.qdnapro-slider--neutral {
  --qs-track: var(--c-grey-700, #40444d);
  --qs-fill: var(--c-grey-400, #a6aab3);
  --qs-dot-active: var(--c-grey-300, #c4c7cc);
  --qs-handle-border: var(--c-grey-300, #c4c7cc);
  --qs-handle-glow: var(--c-grey-500, #6b7280);
}

[data-theme=dark] .qdnapro-slider.qdnapro-slider--sentiment {
  --qs-handle-border: var(--c-grey-300, #c4c7cc);
  --qs-handle-glow: var(--c-grey-500, #6b7280);
}

/* ============================================================
   Skeleton loader — central CSS for all v1 pages that show a
   skeleton while data loads. Same shimmer / .sk-bone vocabulary
   as the homepage-mockup proto so every page lookt consistent.
   (Kim 2026-05-29.)

   Usage:
     <body class="is-skeleton-loading">
       ...
       <div class="skeleton-grid">
         <div class="sk-card">
           <div class="sk-bone" style="height:60px;"></div>
           <div class="sk-bone" style="height:12px;width:60%;"></div>
         </div>
       </div>
     </body>

   Toggle visibility by adding / removing `is-skeleton-loading`
   on the body. The page-specific layout (.sk-card shape, grid
   columns, etc.) lives in the page's own stylesheet — only
   the bone / shimmer primitives live here.
   ============================================================ */
@keyframes sk-shimmer {
  0% {
    background-position: -800px 0;
  }
  100% {
    background-position: 800px 0;
  }
}
/* Page-default — light theme. Dark mode overrides below. */
body {
  --sk-base: #cdd0ef;
  --sk-shine: #dcdff6;
  --sk-card-bg: #e2e5f8;
}

body[data-theme=dark] {
  --sk-base: #1e1f2e;
  --sk-shine: #262840;
  --sk-card-bg: #14151f;
}

/* The bone — single shimmer-painted rectangle. Compose into
   page-specific skeleton shapes by stacking these inside .sk-card
   wrappers (page-side). */
.sk-bone {
  background: linear-gradient(90deg, var(--sk-base) 25%, var(--sk-shine) 50%, var(--sk-base) 75%);
  background-size: 800px 100%;
  animation: sk-shimmer 1.5s infinite linear;
  border-radius: 4px;
}

/* Generic skeleton card chrome — page can override grid layout
   and individual card dimensions. Pages that want a different
   look can skip this class and style their own wrapper. */
.sk-card {
  background: var(--sk-card-bg);
  border: 1px solid rgba(64, 73, 154, 0.12);
  border-radius: 12px;
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .sk-bone {
    animation: none;
  }
}
/* ============================================================
   qdnapro-skeleton-bone — atomic shimmer placeholder.

   The shimmer paint (.sk-bone, @keyframes sk-shimmer) and the
   --sk-* color vars live in skeleton/_skeleton-compiled.css and
   are NOT duplicated here. This file only makes the custom element
   a block box and adds the circle/pill radius modifiers. The shape
   overrides beat .sk-bone's 4px on specificity (type + class), so
   bundle source-order does not matter. (Kim 2026-05-30)
   ============================================================ */
qdnapro-skeleton-bone {
  display: block;
  flex-shrink: 0;
}

qdnapro-skeleton-bone.skeleton-bone-circle {
  border-radius: 50%;
}

qdnapro-skeleton-bone.skeleton-bone-pill {
  border-radius: 999px;
}

qdnapro-skeleton-inbox-row {
  box-sizing: border-box;
  display: flex;
  align-items: stretch;
  gap: 8px;
  padding: 4px 8px;
  border-radius: 8px;
  opacity: 0;
  animation: ski-row-enter 240ms cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
qdnapro-skeleton-inbox-row:nth-of-type(1) {
  animation-delay: 0ms;
}
qdnapro-skeleton-inbox-row:nth-of-type(2) {
  animation-delay: 25ms;
}
qdnapro-skeleton-inbox-row:nth-of-type(3) {
  animation-delay: 50ms;
}
qdnapro-skeleton-inbox-row:nth-of-type(4) {
  animation-delay: 75ms;
}
qdnapro-skeleton-inbox-row:nth-of-type(5) {
  animation-delay: 100ms;
}
qdnapro-skeleton-inbox-row:nth-of-type(6) {
  animation-delay: 125ms;
}
qdnapro-skeleton-inbox-row:nth-of-type(7) {
  animation-delay: 150ms;
}
qdnapro-skeleton-inbox-row:nth-of-type(8) {
  animation-delay: 175ms;
}
qdnapro-skeleton-inbox-row:nth-of-type(9) {
  animation-delay: 200ms;
}
qdnapro-skeleton-inbox-row:nth-of-type(10) {
  animation-delay: 225ms;
}
qdnapro-skeleton-inbox-row:nth-of-type(11) {
  animation-delay: 250ms;
}
qdnapro-skeleton-inbox-row:nth-of-type(12) {
  animation-delay: 275ms;
}
qdnapro-skeleton-inbox-row:nth-of-type(n + 13) {
  animation-delay: 0ms;
}

@keyframes ski-row-enter {
  0% {
    opacity: 0;
    transform: translateY(6px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  qdnapro-skeleton-inbox-row {
    animation: none;
    opacity: 1;
  }
}
qdnapro-skeleton-inbox-row .ski-lead {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  width: 50px;
  padding-top: 4px;
}

qdnapro-skeleton-inbox-row .ski-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 4px 0;
}

qdnapro-skeleton-inbox-row .ski-row-1 {
  display: flex;
  align-items: center;
  height: 24px;
}

qdnapro-skeleton-inbox-row .ski-row-2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  height: 24px;
  margin-top: -2px;
}

qdnapro-skeleton-inbox-row .ski-row-3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  height: 20px;
  margin-top: -2px;
}

/* ============================================================
   qdnapro-skeleton-project-card — composes skeleton-bone atoms into
   a project-card-shaped loading placeholder. Mirrors the original
   .pv2-skeleton-card chrome so the skeleton -> real card swap has
   zero layout shift (same 12px radius, 1px border, 208px min-height,
   158px photo block). Card surface color comes from --sk-card-bg in
   skeleton/_skeleton-compiled.css. (Kim 2026-05-30)
   ============================================================ */
qdnapro-skeleton-project-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 208px;
  background: var(--sk-card-bg);
  border: 1px solid rgba(64, 73, 154, 0.12);
  border-radius: 12px;
}

/* Photo block fills the top edge-to-edge; the card's own radius +
   overflow:hidden clips the corners, so the bone itself has no radius.
   Beats .sk-bone's 4px on specificity (type + class + :first-child). */
qdnapro-skeleton-project-card > .sk-bone:first-child {
  border-radius: 0;
}

qdnapro-skeleton-project-card .ssp-body {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
}

qdnapro-skeleton-project-card .ssp-spacer {
  flex: 1;
}

.text-h1 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 60px;
  line-height: 72px;
}

.text-h2 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 40px;
  line-height: 56px;
}

.text-h3 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 32px;
  line-height: 48px;
}

.text-h4 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 28px;
  line-height: 44px;
}

.text-h5 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 24px;
  line-height: 36px;
}

.text-h6 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
}

.text-body-xs {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 10px;
  line-height: 20px;
}

.text-body-sm {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
}

.text-body-md {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
}

.text-body-lg {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
}

.text-body-xl {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 20px;
  line-height: 32px;
}

.qdnapro-source-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  border-radius: 4px;
  box-sizing: border-box;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  line-height: 20px;
  font-weight: 500;
  color: #6b7280;
  background: #f0f1f2;
  transition: background-color 120ms ease-out;
  user-select: none;
}

.qdnapro-source-pill[role=button]:hover, .qdnapro-source-pill.force-hover {
  background: #e4e6e8;
}

.qdnapro-source-pill[role=button]:active, .qdnapro-source-pill.force-pressed {
  background: #c4c7cc;
}

.qdnapro-source-pill.source-pill-type-text {
  gap: 0;
}

.qdnapro-source-pill .source-pill-leading {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.qdnapro-source-pill qdnapro-file-icon.source-pill-leading {
  width: 16px;
  height: 16px;
}

.qdnapro-source-pill qdnapro-file-icon.source-pill-leading .qdnapro-file-icon-badge {
  display: none;
}

.qdnapro-source-pill .source-pill-favicon {
  width: 16px;
  height: 17px;
  border-radius: 100px;
  border: 1px solid #c4c7cc;
  overflow: hidden;
  background: #f5f6f8;
  position: relative;
}

.qdnapro-source-pill .source-pill-favicon img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 120ms ease;
}

.qdnapro-source-pill .source-pill-favicon-letter {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  line-height: 1;
  z-index: 0;
  user-select: none;
}

.qdnapro-source-pill .source-pill-favicon-fallback {
  background: #d6d8de;
}

.qdnapro-source-pill .source-pill-favicon-fallback img {
  display: none;
}

.qdnapro-source-pill .source-pill-stack {
  display: inline-flex;
  align-items: center;
  padding-right: 6px;
}

.qdnapro-source-pill .source-pill-stack-item {
  width: 16px;
  height: 17px;
  border-radius: 100px;
  border: 1px solid #c4c7cc;
  background: #f5f6f8;
  margin-right: -6px;
  overflow: hidden;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.qdnapro-source-pill .source-pill-stack-item img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 120ms ease;
}

.qdnapro-source-pill .source-pill-stack-item .source-pill-favicon-letter {
  font-size: 8px;
}

.qdnapro-source-pill .source-pill-stack-fallback {
  background: #d6d8de;
}

.qdnapro-source-pill .source-pill-stack-fallback img {
  display: none;
}

.qdnapro-source-pill .source-pill-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 240px;
}

.qdnapro-source-pill[role=button] {
  cursor: pointer;
}

.qdnapro-source-pill:focus {
  outline: none;
}

.qdnapro-source-pill[role=button]:focus-visible, .qdnapro-source-pill.force-focus {
  outline: 2px solid #40499a;
  outline-offset: 2px;
}

[data-theme=dark] .qdnapro-source-pill {
  color: #a6aab3;
  background: #2e3036;
}

[data-theme=dark] .qdnapro-source-pill[role=button]:hover, [data-theme=dark] .qdnapro-source-pill.force-hover {
  background: #40444d;
}

[data-theme=dark] .qdnapro-source-pill[role=button]:active, [data-theme=dark] .qdnapro-source-pill.force-pressed {
  background: #565b66;
}

[data-theme=dark] .qdnapro-source-pill .source-pill-favicon,
[data-theme=dark] .qdnapro-source-pill .source-pill-stack-item {
  background: #1f2028;
  border-color: #565b66;
}

[data-theme=dark] .qdnapro-source-pill .source-pill-favicon-fallback,
[data-theme=dark] .qdnapro-source-pill .source-pill-stack-fallback {
  background: #565b66;
}

qdnapro-star-rating {
  --c-focus-ring: #40499a;
  --c-focus-glow: rgba(70, 82, 243, 0.25);
  display: inline-flex;
  align-items: center;
  gap: 2px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
qdnapro-star-rating .star-rating-star {
  color: #c7c9d1;
  transition: color 120ms ease, transform 120ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
qdnapro-star-rating .star-rating-star-filled {
  color: #ffd54a;
}
qdnapro-star-rating:not(.star-rating-readonly) .star-rating-star:hover {
  transform: scale(1.15);
}
qdnapro-star-rating:focus {
  outline: none;
}
qdnapro-star-rating:focus-visible {
  outline: none;
  border-radius: 4px;
  box-shadow: 0 0 0 2px var(--c-focus-ring), 0 0 0 6px var(--c-focus-glow);
}
qdnapro-star-rating.star-rating-readonly {
  cursor: default;
}

[data-theme=dark] qdnapro-star-rating {
  --c-focus-ring: #a5acff;
  --c-focus-glow: rgba(165, 172, 255, 0.40);
}
[data-theme=dark] qdnapro-star-rating .star-rating-star {
  color: #4a4e5c;
}
[data-theme=dark] qdnapro-star-rating .star-rating-star-filled {
  color: #ffd54a;
}

.qdnapro-stat-card {
  --sc-accent: #40499a;
  --sc-soft: #f3f5ff;
  --sc-border: #d7daf0;
  flex: 1;
  min-width: 0;
  min-height: 80px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--c-bg-card);
  border: 1px solid var(--c-border-soft-2);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  cursor: pointer;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
  transition: box-shadow 160ms ease, transform 160ms cubic-bezier(0.4, 0, 0.2, 1), border-color 140ms ease, background-color 140ms ease;
}

.qdnapro-stat-card.stat-card-tone-purple {
  --sc-accent: #40499a;
  --sc-soft: #f3f5ff;
  --sc-border: #d7daf0;
}

.qdnapro-stat-card.stat-card-tone-red {
  --sc-accent: #e5484d;
  --sc-soft: #fdf1f1;
  --sc-border: #f6d2d3;
}

.qdnapro-stat-card.stat-card-tone-green {
  --sc-accent: #1f9d6b;
  --sc-soft: #eafaf2;
  --sc-border: #c8ecdb;
}

.qdnapro-stat-card.stat-card-tone-blue {
  --sc-accent: #3b82f6;
  --sc-soft: #eef4ff;
  --sc-border: #cfe0fd;
}

.qdnapro-stat-card.stat-card-tone-orange {
  --sc-accent: #ef8e02;
  --sc-soft: #fff6e8;
  --sc-border: #fbe1b8;
}

.qdnapro-stat-card.stat-card-tone-gray {
  --sc-accent: #6b7280;
  --sc-soft: #f3f4f6;
  --sc-border: #dadce0;
}

.qdnapro-stat-card .stat-card-icon {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
}

.qdnapro-stat-card .stat-card-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.qdnapro-stat-card .stat-card-value {
  font-size: 20px;
  font-weight: 600;
  color: var(--c-text-heading);
  line-height: 1.1;
  white-space: nowrap;
}

.qdnapro-stat-card .stat-card-label {
  font-size: 11px;
  font-weight: 500;
  color: var(--c-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-stat-card.stat-card-variant-accent {
  background: var(--sc-soft);
  border-color: var(--sc-border);
  box-shadow: none;
}

.qdnapro-stat-card.stat-card-variant-accent .stat-card-icon {
  width: 40px;
  height: 40px;
  background: var(--c-bg-card);
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(20, 25, 80, 0.1);
}

.qdnapro-stat-card.stat-card-variant-accent .stat-card-value {
  font-size: 22px;
}

.qdnapro-stat-card.stat-card-variant-accent .stat-card-label {
  color: var(--sc-accent);
}

.qdnapro-stat-card.stat-card-variant-empty {
  background: var(--c-bg-card);
  border: 1.5px dashed #c5caea;
  box-shadow: none;
}

.qdnapro-stat-card.stat-card-variant-empty .stat-card-icon {
  background: var(--sc-soft);
  opacity: 0.55;
}

.qdnapro-stat-card.stat-card-variant-empty .stat-card-value {
  display: none;
}

.qdnapro-stat-card.stat-card-variant-empty .stat-card-label {
  font-size: 16px;
  font-weight: 500;
  color: #8492b4;
  transition: color 140ms ease;
}

.qdnapro-stat-card .stat-card-sub {
  font-size: 12px;
  font-weight: 500;
  color: #b0bad8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 140ms ease;
}

.qdnapro-stat-card.stat-card-variant-empty:not(.stat-card-disabled):hover {
  border-color: #7d88d0;
  box-shadow: none;
  transform: translateY(-2px);
}

.qdnapro-stat-card.stat-card-variant-empty:not(.stat-card-disabled):hover .stat-card-label {
  color: #40499a;
}

.qdnapro-stat-card.stat-card-variant-empty:not(.stat-card-disabled):hover .stat-card-sub {
  color: #7d88d0;
}

.qdnapro-stat-card.stat-card-warning {
  --sc-accent: #ef8e02;
  --sc-soft: #fff6e8;
  --sc-border: #fbe1b8;
}

.qdnapro-stat-card.stat-card-warning.stat-card-variant-empty {
  border-color: #f2a93a;
}

.qdnapro-stat-card.stat-card-warning.stat-card-variant-empty .stat-card-icon {
  opacity: 1;
}

.qdnapro-stat-card.stat-card-warning .stat-card-sub {
  color: #c2780a;
}

.qdnapro-stat-card.stat-card-warning.stat-card-variant-empty .stat-card-label {
  color: #a8670a;
}

.qdnapro-stat-card.stat-card-warning.stat-card-variant-empty:not(.stat-card-disabled):hover {
  border-color: #ef8e02;
}

.qdnapro-stat-card.stat-card-warning.stat-card-variant-empty:not(.stat-card-disabled):hover .stat-card-label {
  color: #8a5500;
}

.qdnapro-stat-card.stat-card-warning.stat-card-variant-empty:not(.stat-card-disabled):hover .stat-card-sub {
  color: #a8670a;
}

.qdnapro-stat-card:not(.stat-card-disabled):hover {
  border-color: var(--sc-accent);
  box-shadow: 0 4px 14px rgba(20, 25, 80, 0.1);
  transform: translateY(-2px);
}

.qdnapro-stat-card.stat-card-variant-accent:not(.stat-card-disabled):hover {
  box-shadow: 0 6px 18px rgba(20, 25, 80, 0.12);
}

.qdnapro-stat-card:not(.stat-card-disabled):active {
  transform: translateY(0) scale(0.985);
  box-shadow: 0 1px 2px rgba(20, 25, 80, 0.12);
  transition-duration: 60ms;
}

.qdnapro-stat-card:focus {
  outline: none;
}

.qdnapro-stat-card:not(.stat-card-disabled):focus-visible {
  outline: none;
  border-color: var(--sc-accent);
  box-shadow: 0 0 0 4px var(--focus-glow);
}

.qdnapro-stat-card.stat-card-disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}

.qdnapro-stat-card-row {
  display: flex;
  gap: 10px;
  min-width: 0;
}

[data-theme=dark] .qdnapro-stat-card,
[data-theme-dark] .qdnapro-stat-card {
  background: #2a2d36;
  border-color: var(--c-white-08);
}

[data-theme=dark] .qdnapro-stat-card .stat-card-value,
[data-theme-dark] .qdnapro-stat-card .stat-card-value {
  color: #f0f1fa;
}

[data-theme=dark] .qdnapro-stat-card .stat-card-label,
[data-theme-dark] .qdnapro-stat-card .stat-card-label {
  color: rgba(255, 255, 255, 0.45);
}

[data-theme=dark] .qdnapro-stat-card.stat-card-variant-accent,
[data-theme-dark] .qdnapro-stat-card.stat-card-variant-accent {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme=dark] .qdnapro-stat-card.stat-card-variant-accent .stat-card-icon,
[data-theme-dark] .qdnapro-stat-card.stat-card-variant-accent .stat-card-icon {
  background: rgba(255, 255, 255, 0.1);
  box-shadow: none;
}

.qdnapro-suggestion-chip {
  --c-focus-ring: #40499a;
  --c-focus-glow: rgba(70, 82, 243, 0.25);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: transparent;
  border: 1px solid #c4c7cc;
  border-radius: 16px;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  color: #0b0b0d;
  cursor: pointer;
  user-select: none;
  transition: background-color 120ms ease-out, border-color 120ms ease-out, color 120ms ease-out, box-shadow 120ms ease-out;
  box-sizing: border-box;
}

.qdnapro-suggestion-chip .suggestion-chip-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.qdnapro-suggestion-chip .suggestion-chip-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 240px;
}

.qdnapro-suggestion-chip:focus {
  outline: none;
}

.qdnapro-suggestion-chip:focus-visible, .qdnapro-suggestion-chip.force-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--c-focus-ring), 0 0 0 6px var(--c-focus-glow);
}

.qdnapro-suggestion-chip.suggestion-chip-theme-purple:hover:not(.suggestion-chip-disabled), .qdnapro-suggestion-chip.suggestion-chip-theme-purple.force-hover:not(.suggestion-chip-disabled) {
  background: #e6e9ff;
  border-color: #aab0d8;
  color: #40499a;
}

.qdnapro-suggestion-chip.suggestion-chip-theme-purple:active:not(.suggestion-chip-disabled), .qdnapro-suggestion-chip.suggestion-chip-theme-purple.force-pressed:not(.suggestion-chip-disabled) {
  background: #c7cce8;
  border-color: #40499a;
  color: #40499a;
}

.qdnapro-suggestion-chip.suggestion-chip-theme-orange:hover:not(.suggestion-chip-disabled), .qdnapro-suggestion-chip.suggestion-chip-theme-orange.force-hover:not(.suggestion-chip-disabled) {
  background: #fff3e0;
  border-color: #f5b770;
  color: #945800;
}

.qdnapro-suggestion-chip.suggestion-chip-theme-orange:active:not(.suggestion-chip-disabled), .qdnapro-suggestion-chip.suggestion-chip-theme-orange.force-pressed:not(.suggestion-chip-disabled) {
  background: #ffe4ba;
  border-color: #F58F06;
  color: #945800;
}

.qdnapro-suggestion-chip.suggestion-chip-disabled, .qdnapro-suggestion-chip.suggestion-chip-disabled:hover, .qdnapro-suggestion-chip.suggestion-chip-disabled:active {
  color: #898e99;
  background: transparent;
  border-color: #e1e3e6;
  cursor: not-allowed;
  pointer-events: none;
}

[data-theme=dark] .qdnapro-suggestion-chip {
  border-color: #565b66;
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-suggestion-chip.suggestion-chip-theme-purple:hover:not(.suggestion-chip-disabled), [data-theme=dark] .qdnapro-suggestion-chip.suggestion-chip-theme-purple.force-hover:not(.suggestion-chip-disabled) {
  background: rgba(70, 82, 243, 0.3);
  border-color: #7c84c5;
  color: #ffffff;
}

[data-theme=dark] .qdnapro-suggestion-chip.suggestion-chip-theme-purple:active:not(.suggestion-chip-disabled), [data-theme=dark] .qdnapro-suggestion-chip.suggestion-chip-theme-purple.force-pressed:not(.suggestion-chip-disabled) {
  background: rgba(70, 82, 243, 0.45);
  border-color: #a5acff;
  color: #ffffff;
}

[data-theme=dark] .qdnapro-suggestion-chip.suggestion-chip-theme-orange:hover:not(.suggestion-chip-disabled), [data-theme=dark] .qdnapro-suggestion-chip.suggestion-chip-theme-orange.force-hover:not(.suggestion-chip-disabled) {
  background: rgba(245, 143, 6, 0.25);
  border-color: #c97e22;
  color: #ffe4ba;
}

[data-theme=dark] .qdnapro-suggestion-chip.suggestion-chip-theme-orange:active:not(.suggestion-chip-disabled), [data-theme=dark] .qdnapro-suggestion-chip.suggestion-chip-theme-orange.force-pressed:not(.suggestion-chip-disabled) {
  background: rgba(245, 143, 6, 0.4);
  border-color: #f5b770;
  color: #ffffff;
}

[data-theme=dark] .qdnapro-suggestion-chip.suggestion-chip-disabled, [data-theme=dark] .qdnapro-suggestion-chip.suggestion-chip-disabled:hover, [data-theme=dark] .qdnapro-suggestion-chip.suggestion-chip-disabled:active {
  color: #6b7280;
  border-color: #3a3b42;
}

qdnapro-table {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.qdnapro-table-wrapper {
  position: relative;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: auto;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.qdnapro-table-spinner {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.65);
  border-radius: 8px;
  pointer-events: none;
}
.qdnapro-table-spinner:not([hidden]) {
  display: flex;
}
.qdnapro-table-spinner::after {
  content: "";
  width: 28px;
  height: 28px;
  border: 3px solid #e5e7eb;
  border-top-color: #1a56db;
  border-radius: 50%;
  animation: qdnapro-table-spin 0.65s linear infinite;
}

@keyframes qdnapro-table-spin {
  to {
    transform: rotate(360deg);
  }
}
.qdnapro-table-sentinel {
  height: 1px;
  pointer-events: none;
}

.qdnapro-table-list {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
  font-size: 14px;
}
.qdnapro-table-list thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 10px 16px;
  background: #f8f9fb;
  color: #6b7280;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-align: left;
  border-bottom: 1px solid #e5e7eb;
  user-select: none;
}
.qdnapro-table-list thead th.col-checkbox {
  width: 44px;
  padding: 10px 12px;
}
.qdnapro-table-list thead th.is-sortable {
  cursor: pointer;
}
.qdnapro-table-list thead th.is-sortable:hover {
  background: #f1f3f5;
}
.qdnapro-table-list thead th.is-sortable:hover .col-sort-icon {
  opacity: 1;
}
.qdnapro-table-list thead th.is-sortable.is-sorted {
  color: #1a56db;
}
.qdnapro-table-list thead th.is-sortable.is-sorted .col-sort-icon {
  opacity: 1;
  color: #1a56db;
}
.qdnapro-table-list thead th.is-orderable {
  cursor: grab;
}
.qdnapro-table-list thead th.is-orderable:active {
  cursor: grabbing;
}
.qdnapro-table-list thead th.is-dragging {
  opacity: 0.4;
}
.qdnapro-table-list thead th.drop-before {
  box-shadow: inset 2px 0 0 0 #1a56db;
}
.qdnapro-table-list thead th.drop-after {
  box-shadow: inset -2px 0 0 0 #1a56db;
}
.qdnapro-table-list thead th .col-header-content {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.qdnapro-table-list thead th .col-sort-icon {
  flex-shrink: 0;
  opacity: 0.4;
  transition: opacity 0.15s;
}
.qdnapro-table-list thead th .col-sort-icon svg {
  width: 14px;
  height: 14px;
  fill: currentColor !important;
}
.qdnapro-table-list th.col-sticky,
.qdnapro-table-list td.col-sticky {
  position: sticky;
  left: 0;
  z-index: 1;
  box-shadow: inset -1px 0 0 #e5e7eb;
}
.qdnapro-table-list td.col-sticky {
  background: #ffffff;
}
.qdnapro-table-list thead th.col-sticky {
  z-index: 3;
}
.qdnapro-table-list tbody tr:hover td.col-sticky {
  background: #f9fafb;
}
.qdnapro-table-list tbody tr.is-selected td.col-sticky {
  background: #eff6ff;
}
.qdnapro-table-list qdnapro-checkbox {
  --cb-bg: #ffffff;
  --cb-bg-hover: #f0f1f2;
  --cb-border: #c4c7cc;
  --cb-filled-bg: #4652f3;
  --cb-filled-border: #4652f3;
  --cb-mark: #ffffff;
}
.qdnapro-table-list tbody tr {
  border-bottom: 1px solid #f3f4f6;
  transition: background 0.1s;
}
.qdnapro-table-list tbody tr:last-child {
  border-bottom: none;
}
.qdnapro-table-list tbody tr:hover {
  background: #f9fafb;
}
.qdnapro-table-list tbody tr.is-selected {
  background: #eff6ff;
}
.qdnapro-table-list tbody tr.is-clickable {
  cursor: pointer;
}
.qdnapro-table-list tbody tr.qdnapro-table-empty-row td.col-empty {
  text-align: center;
  padding: 52px 16px;
  color: #9ca3af;
  font-size: 14px;
}
.qdnapro-table-list tbody td {
  padding: 11px 16px;
  vertical-align: middle;
  color: #111827;
  font-size: 14px;
}
.qdnapro-table-list tbody td.col-checkbox {
  width: 44px;
  padding: 11px 12px;
}
.qdnapro-table-list tbody td .col-number {
  font-variant-numeric: tabular-nums;
}
.qdnapro-table-list tbody td .col-thumbnail {
  display: inline-flex;
  align-items: center;
}
.qdnapro-table-list tbody td .col-thumbnail img {
  width: 36px;
  height: 36px;
  object-fit: cover;
  border-radius: 4px;
  background: #f3f4f6;
  display: block;
}
.qdnapro-table-list tbody td .col-thumbnail-text {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.qdnapro-table-list tbody td .col-thumbnail-text img, .qdnapro-table-list tbody td .col-thumbnail-text qdnapro-avatar {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  object-fit: cover;
  border-radius: 4px;
  background: #f3f4f6;
}
.qdnapro-table-list tbody td .col-thumbnail-text span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qdnapro-table-list tbody td .col-icon-text {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.qdnapro-table-list tbody td .col-avatar {
  display: inline-flex;
}
.qdnapro-table-list tbody td .col-avatar img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: cover;
  background: #e5e7eb;
}
.qdnapro-table-list tbody td .col-avatar img.is-empty {
  background: #f3f4f6;
}

.qdnapro-table-grid {
  display: none;
  gap: 16px;
  padding: 16px;
}
.qdnapro-table-grid:not([hidden]) {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.qdnapro-table-grid-empty {
  width: 100%;
  text-align: center;
  padding: 52px 16px;
  color: #9ca3af;
  font-size: 14px;
}

.qdnapro-table-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07);
  overflow: hidden;
  width: auto;
  transition: box-shadow 0.15s, border-color 0.15s;
}
.qdnapro-table-card.is-clickable {
  cursor: pointer;
}
.qdnapro-table-card.is-clickable:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.11);
  border-color: #d1d5db;
}
.qdnapro-table-card.is-selected {
  border-color: #1a56db;
  background: #eff6ff;
}
.qdnapro-table-card__image {
  width: 100%;
  height: 136px;
  overflow: hidden;
  background: #f3f4f6;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qdnapro-table-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.qdnapro-table-card__image img.qdnapro-table-card__thumb {
  object-position: top left;
}
.qdnapro-table-card__image qdnapro-avatar {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
.qdnapro-table-card__image qdnapro-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.qdnapro-table-card__body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 14px 15px;
  flex: 1;
}
.qdnapro-table-card__title {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qdnapro-table-card__subtitle {
  font-size: 12.5px;
  color: #6b7280;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qdnapro-table-card__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 9px;
}
.qdnapro-table-card__stat {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.qdnapro-table-card__stat-label {
  font-size: 10.5px;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.qdnapro-table-card__stat-value {
  font-size: 13px;
  color: #374151;
  font-weight: 500;
}

.text-h1 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 60px;
  line-height: 72px;
}

.text-h2 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 40px;
  line-height: 56px;
}

.text-h3 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 32px;
  line-height: 48px;
}

.text-h4 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 28px;
  line-height: 44px;
}

.text-h5 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 24px;
  line-height: 36px;
}

.text-h6 {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
}

.text-body-xs {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 10px;
  line-height: 20px;
}

.text-body-sm {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
}

.text-body-md {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
}

.text-body-lg {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
}

.text-body-xl {
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 20px;
  line-height: 32px;
}

.qdnapro-tag {
  --tag-bg: #f0f1f2;
  --tag-bg-hover: #e1e3e6;
  --tag-text: #1e1f20;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-shrink: 0;
  gap: 4px;
  padding: 0 8px;
  border-radius: 16px;
  background: var(--tag-bg);
  color: var(--tag-text);
  font-family: "Inter", sans-serif;
  font-weight: 600;
  user-select: none;
  outline: 2px solid transparent;
  outline-offset: -2px;
  transition: background-color 120ms ease;
}

.qdnapro-tag .tag-icon {
  display: inline-flex;
  flex-shrink: 0;
  color: inherit;
  pointer-events: none;
}

.qdnapro-tag .tag-icon svg {
  fill: currentColor;
  width: 100%;
  height: 100%;
}

.qdnapro-tag .tag-label {
  line-height: 1;
  white-space: nowrap;
}

.qdnapro-tag.tag-size-big {
  height: 28px;
  font-size: 14px;
  line-height: 1;
}

.qdnapro-tag.tag-size-big .tag-icon {
  width: 14px;
  height: 14px;
}

.qdnapro-tag.tag-size-small {
  height: 24px;
  font-size: 12px;
  line-height: 1;
  padding: 0 8px;
}

.qdnapro-tag.tag-size-small .tag-icon {
  width: 12px;
  height: 12px;
}

/* Removable ✕ (selection tokens / removable pills). */
.qdnapro-tag.tag-removable {
  padding-right: 4px;
}

.qdnapro-tag .tag-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  border-radius: 50%;
  opacity: 0.6;
  transition: background-color 120ms ease, opacity 120ms ease;
}

.qdnapro-tag .tag-remove:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.1);
}

.qdnapro-tag .tag-remove:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 1px;
}

.qdnapro-tag .tag-remove qdnapro-icon {
  display: inline-flex;
  pointer-events: none;
}

.qdnapro-tag .tag-remove qdnapro-icon svg {
  fill: currentColor;
  width: 100%;
  height: 100%;
}

.qdnapro-tag.tag-size-big .tag-remove {
  width: 18px;
  height: 18px;
}

.qdnapro-tag.tag-size-big .tag-remove qdnapro-icon {
  width: 14px;
  height: 14px;
}

.qdnapro-tag.tag-size-small .tag-remove {
  width: 16px;
  height: 16px;
}

.qdnapro-tag.tag-size-small .tag-remove qdnapro-icon {
  width: 12px;
  height: 12px;
}

.qdnapro-tag.tag-disabled .tag-remove {
  pointer-events: none;
}

.qdnapro-tag.tag-color-grey {
  --tag-bg: #f0f1f2;
  --tag-bg-hover: #e1e3e6;
  --tag-text: #1e1f20;
}

.qdnapro-tag.tag-color-grey-2 {
  --tag-bg: #c4c7cc;
  --tag-bg-hover: #a6aab3;
  --tag-text: #1e1f20;
}

.qdnapro-tag.tag-color-red {
  --tag-bg: #fee3e3;
  --tag-bg-hover: #fcc6c6;
  --tag-text: #633030;
}

.qdnapro-tag.tag-color-red-2 {
  --tag-bg: #fbaaaa;
  --tag-bg-hover: #f98d8d;
  --tag-text: #633030;
}

.qdnapro-tag.tag-color-yellow {
  --tag-bg: #fef6db;
  --tag-bg-hover: #feedb8;
  --tag-text: #655522;
}

.qdnapro-tag.tag-color-yellow-2 {
  --tag-bg: #fde594;
  --tag-bg-hover: #fddc71;
  --tag-text: #655522;
}

.qdnapro-tag.tag-color-green {
  --tag-bg: #e2faf1;
  --tag-bg-hover: #a8f1d4;
  --tag-text: #2f5d4a;
}

.qdnapro-tag.tag-color-green-2 {
  --tag-bg: #8becc5;
  --tag-bg-hover: #6ee7b7;
  --tag-text: #2f5d4a;
}

.qdnapro-tag.tag-color-blue {
  --tag-bg: #e6eff9;
  --tag-bg-hover: #cedef3;
  --tag-text: #37475a;
}

.qdnapro-tag.tag-color-blue-2 {
  --tag-bg: #b5ceed;
  --tag-bg-hover: #9dbde7;
  --tag-text: #37475a;
}

.qdnapro-tag.tag-color-bright-blue {
  --tag-bg: #85a1ec;
  --tag-bg-hover: #5d82e5;
  --tag-text: #192a5a;
}

.qdnapro-tag.tag-color-bright-blue-2 {
  --tag-bg: #d6e0f9;
  --tag-bg-hover: #aec1f2;
  --tag-text: #192a5a;
}

.qdnapro-tag.tag-color-pink {
  --tag-bg: #f6e1e8;
  --tag-bg-hover: #eec3d0;
  --tag-text: #562d3a;
}

.qdnapro-tag.tag-color-dark-pink {
  --tag-bg: #e5a6b9;
  --tag-bg-hover: #dd88a1;
  --tag-text: #562d3a;
}

.qdnapro-tag.tag-color-purple {
  --tag-bg: #ebe9fb;
  --tag-bg-hover: #d8d2f7;
  --tag-text: #413b5e;
}

.qdnapro-tag.tag-color-dark-purple {
  --tag-bg: #c4bcf3;
  --tag-bg-hover: #b1a5ef;
  --tag-text: #413b5e;
}

.qdnapro-tag.tag-interactive {
  cursor: pointer;
}

.qdnapro-tag.tag-interactive:hover {
  background: var(--tag-bg-hover);
}

.qdnapro-tag.tag-interactive:focus {
  outline: none;
}

.qdnapro-tag.tag-interactive:focus-visible, .qdnapro-tag.tag-interactive.force-focus {
  outline: 2px solid #40499a;
  outline-offset: -2px;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.25);
}

.qdnapro-tag.tag-disabled, .qdnapro-tag.tag-disabled.tag-interactive {
  --tag-bg: #f0f1f2;
  --tag-bg-hover: #f0f1f2;
  --tag-text: #898e99;
  cursor: not-allowed;
}

.qdnapro-tag.tag-disabled:focus-visible, .qdnapro-tag.tag-disabled.force-focus, .qdnapro-tag.tag-disabled.tag-interactive:focus-visible, .qdnapro-tag.tag-disabled.tag-interactive.force-focus {
  outline: 2px solid transparent;
  box-shadow: none;
}

[data-theme=dark] .qdnapro-tag.tag-color-grey {
  --tag-bg: #565b66;
  --tag-bg-hover: #6b7180;
  --tag-text: #e1e3e6;
}

[data-theme=dark] .qdnapro-tag.tag-color-grey-2 {
  --tag-bg: #40444d;
  --tag-bg-hover: #54596b;
  --tag-text: #e1e3e6;
}

[data-theme=dark] .qdnapro-tag.tag-color-red {
  --tag-bg: #5a2b2b;
  --tag-bg-hover: #7a3838;
  --tag-text: #fbaaaa;
}

[data-theme=dark] .qdnapro-tag.tag-color-red-2 {
  --tag-bg: #7a3838;
  --tag-bg-hover: #9a4747;
  --tag-text: #fee3e3;
}

[data-theme=dark] .qdnapro-tag.tag-color-yellow {
  --tag-bg: #5a4d1f;
  --tag-bg-hover: #7a6b2d;
  --tag-text: #fde594;
}

[data-theme=dark] .qdnapro-tag.tag-color-yellow-2 {
  --tag-bg: #7a6b2d;
  --tag-bg-hover: #9a8a3b;
  --tag-text: #fef6db;
}

[data-theme=dark] .qdnapro-tag.tag-color-green {
  --tag-bg: #2a5544;
  --tag-bg-hover: #3d7a62;
  --tag-text: #8becc5;
}

[data-theme=dark] .qdnapro-tag.tag-color-green-2 {
  --tag-bg: #3d7a62;
  --tag-bg-hover: #4d9c7c;
  --tag-text: #e2faf1;
}

[data-theme=dark] .qdnapro-tag.tag-color-blue {
  --tag-bg: #2e3e54;
  --tag-bg-hover: #445a78;
  --tag-text: #b5ceed;
}

[data-theme=dark] .qdnapro-tag.tag-color-blue-2 {
  --tag-bg: #445a78;
  --tag-bg-hover: #5a7596;
  --tag-text: #e6eff9;
}

[data-theme=dark] .qdnapro-tag.tag-color-bright-blue {
  --tag-bg: #3a4a8a;
  --tag-bg-hover: #4d5fae;
  --tag-text: #d6e0f9;
}

[data-theme=dark] .qdnapro-tag.tag-color-bright-blue-2 {
  --tag-bg: #2a3560;
  --tag-bg-hover: #3a4a8a;
  --tag-text: #85a1ec;
}

[data-theme=dark] .qdnapro-tag.tag-color-pink {
  --tag-bg: #4e2a36;
  --tag-bg-hover: #6e3d50;
  --tag-text: #e5a6b9;
}

[data-theme=dark] .qdnapro-tag.tag-color-dark-pink {
  --tag-bg: #6e3d50;
  --tag-bg-hover: #8a516a;
  --tag-text: #f6e1e8;
}

[data-theme=dark] .qdnapro-tag.tag-color-purple {
  --tag-bg: #3a3555;
  --tag-bg-hover: #524a7a;
  --tag-text: #c4bcf3;
}

[data-theme=dark] .qdnapro-tag.tag-color-dark-purple {
  --tag-bg: #524a7a;
  --tag-bg-hover: #6c629a;
  --tag-text: #ebe9fb;
}

[data-theme=dark] .qdnapro-tag.tag-disabled, [data-theme=dark] .qdnapro-tag.tag-disabled.tag-interactive {
  --tag-bg: #2e3034;
  --tag-bg-hover: #2e3034;
  --tag-text: #6b7180;
}

.qdnapro-tasklist-card {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: stretch;
  background: var(--c-bg-card, #ffffff);
  border: 1px solid var(--c-border-card, #e1e3e6);
  border-radius: 14px;
  overflow: hidden;
  cursor: pointer;
  min-height: 84px;
  transition: box-shadow 160ms ease, border-color 160ms ease, transform 120ms ease;
  user-select: none;
  outline: none;
  /* Never inherit the anchor underline when the card is wrapped in a
     link (e.g. the projects-v2 tasklist grid). */
  text-decoration: none;
}

.qdnapro-tasklist-card *,
.qdnapro-tasklist-card *::before,
.qdnapro-tasklist-card *::after {
  box-sizing: border-box;
}

.qdnapro-tasklist-card:hover {
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1);
  border-color: rgba(0, 0, 0, 0.12);
}

.qdnapro-tasklist-card:active {
  transform: scale(0.985);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  transition: box-shadow 80ms ease, transform 80ms ease;
}

.qdnapro-tasklist-card:focus-visible {
  outline: 2px solid #40499a;
  outline-offset: 2px;
}

/* === Dark mode - base card chrome ===
   In the bundle these read from the global --c-* tokens, but in the
   standalone library preview those tokens are absent, so the light
   fallbacks would win and the card would stay light. These explicit
   dark overrides make the base chrome correct in dark mode everywhere.
   Values match the dark palette already used in this file (surface
   #2e3036, neutral tile #40444d, primary text #f0f1f2, muted #a0a4b8,
   subtle border rgba(255,255,255,0.10)). */
[data-theme=dark] .qdnapro-tasklist-card {
  background: #2e3036;
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme=dark] .qdnapro-tasklist-card .tlc-tile {
  background: #40444d;
}

[data-theme=dark] .qdnapro-tasklist-card .tlc-name {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-tasklist-card .tlc-sub {
  color: #a0a4b8;
}

.qdnapro-tasklist-card .tlc-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 0 12px 12px;
}

.qdnapro-tasklist-card .tlc-tile {
  width: 60px;
  height: 60px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: var(--c-grey-100, #f0f1f2);
}

.qdnapro-tasklist-card.has-color .tlc-tile {
  background: var(--tlc-bg, var(--c-grey-100, #f0f1f2));
}

.qdnapro-tasklist-card .tlc-body {
  flex: 1;
  min-width: 0;
  padding: 16px 20px 16px 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.qdnapro-tasklist-card .tlc-name {
  font-size: 16px;
  font-weight: 500;
  color: var(--c-grey-900, #0b0b0d);
  line-height: 1.3;
  text-decoration: none;
  /* Wrap to a second line, then truncate with an ellipsis - never a
     third line. `white-space: normal` is explicit so it always beats
     the legacy page-level `.tlc-name { white-space: nowrap }`. The 60px
     icon tile keeps the card >= 84px tall, which fits two 16px/1.3
     lines, so the card height does not grow. */
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

.qdnapro-tasklist-card .tlc-sub {
  font-size: 12.5px;
  color: var(--c-grey-500, #898e99);
  margin-top: 4px;
}

/* Compact variant: smaller tile + body, for dense list contexts. */
.qdnapro-tasklist-card.tlc-compact {
  min-height: 72px;
}

.qdnapro-tasklist-card.tlc-compact .tlc-icon {
  padding: 9px 0 9px 9px;
}

.qdnapro-tasklist-card.tlc-compact .tlc-tile {
  width: 48px;
  height: 48px;
  border-radius: 11px;
}

.qdnapro-tasklist-card.tlc-compact .tlc-body {
  padding: 12px 14px 12px 10px;
}

.qdnapro-tasklist-card.tlc-compact .tlc-name {
  font-size: 14px;
}

.qdnapro-tasklist-card.tlc-compact .tlc-sub {
  font-size: 11.5px;
}

/* === List variant: one-line picker/panel row ===
   `list` wins over `compact` (enforced in JS render(): compact is never
   applied together with tlc-list). One row, ~40px total (6px icon-block
   padding top/bottom + 28px tile = 40px), a small 28px icon tile (same
   color/icon vocabulary as every other mode), single-line ellipsized
   name, ~8px radius. No count/meta/archived-chip/actions/favorite ever
   render in this mode (guarded in JS), so there is nothing to style for
   them here.
   Hover uses a FLAT background tint - the house list-row convention
   (matches qdnapro-menu-item's --mi-bg-hover and the event-sheet row
   hover), not the free-floating card's shadow-lift - because this
   variant sits inline in a list, not as its own card. */
.qdnapro-tasklist-card.tlc-list {
  min-height: 40px;
  border-radius: 8px;
  align-items: center;
}

.qdnapro-tasklist-card.tlc-list:hover {
  background: var(--c-grey-50, #f0f1f2);
  box-shadow: none;
  border-color: var(--c-border-card, #e1e3e6);
}

.qdnapro-tasklist-card.tlc-list:active {
  transform: none;
  box-shadow: none;
}

.qdnapro-tasklist-card.tlc-list .tlc-icon {
  padding: 6px 0 6px 6px;
}

.qdnapro-tasklist-card.tlc-list .tlc-tile {
  width: 28px;
  height: 28px;
  border-radius: 6px;
}

.qdnapro-tasklist-card.tlc-list .tlc-body {
  padding: 6px 12px 6px 8px;
}

.qdnapro-tasklist-card.tlc-list .tlc-name {
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  /* Override the base rule's 2-line clamp box - single line only. */
  display: block;
  -webkit-line-clamp: unset;
}

[data-theme=dark] .qdnapro-tasklist-card.tlc-list:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* === Hover action buttons (favorite + 3-dots) ===
   Behaviour mirrors the project-card top-actions EXACTLY (Kim 2026-06-01):
   - Right-anchored inline-flex in the top-right corner.
   - The favorite (star) is hidden at rest and fades in on hover; once it
     is favorited (.favorite-button-favorited) it STAYS visible in the
     corner, so you see at a glance which lists are marked.
   - The 3-dots SLIDES IN: collapsed to width 0 at rest (so there is no
     empty box), expands to 32px + an 8px left margin on hover - the same
     width/opacity transition .project-card-menu-trigger uses.
   The project card uses a glass surface (it sits on a photo); the tasklist
   card is white, so the buttons get a solid-white surface + ring instead
   (glass is invisible on white). */
.qdnapro-tasklist-card .tlc-actions {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
}

/* Favorite (star): hidden at rest, fades in on hover, persists when marked. */
.qdnapro-tasklist-card .tlc-actions .qdnapro-favorite-button {
  flex: 0 0 auto;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(20, 25, 80, 0.22), 0 0 0 1px rgba(20, 25, 80, 0.14);
  transition: opacity 200ms ease, background-color 160ms ease;
}

.qdnapro-tasklist-card .tlc-actions .qdnapro-favorite-button:not(.favorite-button-favorited) {
  opacity: 0;
  pointer-events: none;
}

.qdnapro-tasklist-card:hover .tlc-actions .qdnapro-favorite-button:not(.favorite-button-favorited),
.qdnapro-tasklist-card:focus-within .tlc-actions .qdnapro-favorite-button:not(.favorite-button-favorited) {
  opacity: 1;
  pointer-events: auto;
}

.qdnapro-tasklist-card .tlc-actions .qdnapro-favorite-button:hover {
  background: #f3f4fb;
}

/* 3-dots: slides in from width 0 on hover (mirrors .project-card-menu-trigger). */
.qdnapro-tasklist-card .tlc-actions .qdnapro-button {
  flex: 0 0 auto;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  margin-left: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: max-width 200ms cubic-bezier(0.4, 0, 0.2, 1), width 200ms cubic-bezier(0.4, 0, 0.2, 1), min-width 200ms cubic-bezier(0.4, 0, 0.2, 1), margin-left 200ms cubic-bezier(0.4, 0, 0.2, 1), opacity 150ms ease, background 120ms ease;
}

.qdnapro-tasklist-card:hover .tlc-actions .qdnapro-button,
.qdnapro-tasklist-card:focus-within .tlc-actions .qdnapro-button {
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px;
  opacity: 1;
  pointer-events: auto;
  margin-left: 8px;
  background: #ffffff !important;
  box-shadow: 0 2px 6px rgba(20, 25, 80, 0.22), 0 0 0 1px rgba(20, 25, 80, 0.14) !important;
}

.qdnapro-tasklist-card:hover .tlc-actions .qdnapro-button:hover,
.qdnapro-tasklist-card:focus-within .tlc-actions .qdnapro-button:hover {
  background: #f3f4fb !important;
}

/* Dark-mode surfaces. */
[data-theme=dark] .qdnapro-tasklist-card .tlc-actions .qdnapro-favorite-button {
  background: #2e3036;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.14);
}

[data-theme=dark] .qdnapro-tasklist-card .tlc-actions .qdnapro-favorite-button:hover {
  background: #383b42;
}

[data-theme=dark] .qdnapro-tasklist-card:hover .tlc-actions .qdnapro-button,
[data-theme=dark] .qdnapro-tasklist-card:focus-within .tlc-actions .qdnapro-button {
  background: #2e3036 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.14) !important;
}

[data-theme=dark] .qdnapro-tasklist-card:hover .tlc-actions .qdnapro-button:hover,
[data-theme=dark] .qdnapro-tasklist-card:focus-within .tlc-actions .qdnapro-button:hover {
  background: #383b42 !important;
}

/* === Archived state (mirrors the project-card archived variant) ===
   The tasklist card has no photo to desaturate, so the colour tile IS
   the imagery: it is fully greyed out (grayscale 1) so the pastel
   identity drops away, exactly like the project card's desaturated
   photo. Card dims to 0.85 (same as the project card) and the name is
   muted. */
.qdnapro-tasklist-card[archived] {
  opacity: 0.85;
}

.qdnapro-tasklist-card[archived] .tlc-tile {
  filter: grayscale(1) brightness(0.98);
  background: var(--c-grey-100, #eef0f2);
}

.qdnapro-tasklist-card[archived] .tlc-name {
  color: var(--c-grey-600, #6b7280);
}

/* The favorite/pin makes no sense on an archived tasklist; keep only the
   3-dots (which offers "Activeren"). */
.qdnapro-tasklist-card[archived] .tlc-actions .qdnapro-favorite-button {
  display: none;
}

.qdnapro-tasklist-card .tlc-archived-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  padding: 2px 9px 2px 7px;
  border-radius: 999px;
  background: var(--c-grey-100, #eef0f2);
  color: var(--c-grey-600, #6b7280);
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 0.2px;
}

.qdnapro-tasklist-card .tlc-archived-chip qdnapro-icon {
  flex: 0 0 auto;
}

[data-theme=dark] .qdnapro-tasklist-card .tlc-archived-chip {
  background: rgba(255, 255, 255, 0.08);
  color: #a0a4b8;
}

/* Archived variant in dark mode: a dark neutral tile (the archived
   light rule sets its own background, so it must be re-overridden here)
   and a lighter muted grey name, so the dimmed/desaturated treatment
   reads correctly on the dark card surface. */
[data-theme=dark] .qdnapro-tasklist-card[archived] .tlc-tile {
  background: #40444d;
}

[data-theme=dark] .qdnapro-tasklist-card[archived] .tlc-name {
  color: #a0a4b8;
}

/* === Colour palette (qdnapro-tag light pastels) === */
.qdnapro-tasklist-card.tlc-color-grey {
  --tlc-bg: #eef0f2;
}

.qdnapro-tasklist-card.tlc-color-red {
  --tlc-bg: #fde7e7;
}

.qdnapro-tasklist-card.tlc-color-yellow {
  --tlc-bg: #fdf3d6;
}

.qdnapro-tasklist-card.tlc-color-green {
  --tlc-bg: #e2faf1;
}

.qdnapro-tasklist-card.tlc-color-blue {
  --tlc-bg: #e6eff9;
}

.qdnapro-tasklist-card.tlc-color-bright-blue {
  --tlc-bg: #d6e0f9;
}

.qdnapro-tasklist-card.tlc-color-pink {
  --tlc-bg: #f6e1e8;
}

.qdnapro-tasklist-card.tlc-color-purple {
  --tlc-bg: #ebe9fb;
}

[data-theme=dark] .qdnapro-tasklist-card.tlc-color-grey {
  --tlc-bg: #40444d;
}

[data-theme=dark] .qdnapro-tasklist-card.tlc-color-red {
  --tlc-bg: #5a2b2b;
}

[data-theme=dark] .qdnapro-tasklist-card.tlc-color-yellow {
  --tlc-bg: #5a4d1f;
}

[data-theme=dark] .qdnapro-tasklist-card.tlc-color-green {
  --tlc-bg: #2a5544;
}

[data-theme=dark] .qdnapro-tasklist-card.tlc-color-blue {
  --tlc-bg: #2e3e54;
}

[data-theme=dark] .qdnapro-tasklist-card.tlc-color-bright-blue {
  --tlc-bg: #3a4a8a;
}

[data-theme=dark] .qdnapro-tasklist-card.tlc-color-pink {
  --tlc-bg: #4e2a36;
}

[data-theme=dark] .qdnapro-tasklist-card.tlc-color-purple {
  --tlc-bg: #3a3555;
}

[data-theme=dark] .qdnapro-tasklist-card:hover {
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.4);
  border-color: rgba(255, 255, 255, 0.18);
}

.qdnapro-text-link {
  --tl-c-focus-ring: #40499a;
  --tl-c-focus-glow: rgba(70, 82, 243, 0.25);
  --tl-c-bg-hover: var(--c-grey-50);
  --tl-c-bg-pressed: #e4e6e8;
  --tl-c-text: var(--c-text-body);
  --tl-c-text-hover: var(--c-text-body);
  --tl-c-text-pressed: #2e3138;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px var(--s-1);
  border: 0.5px solid transparent;
  border-radius: var(--r-2);
  background: transparent;
  color: var(--tl-c-text);
  font-family: var(--ff);
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  white-space: nowrap;
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease, text-decoration 120ms ease, opacity 120ms ease;
}
.qdnapro-text-link:focus {
  outline: none;
}
.qdnapro-text-link:focus-visible, .qdnapro-text-link.force-focus {
  outline: 2px solid var(--tl-c-focus-ring);
  outline-offset: -2px;
  box-shadow: 0 0 0 4px var(--tl-c-focus-glow);
}
.qdnapro-text-link[disabled], .qdnapro-text-link.text-link-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.qdnapro-text-link[disabled]:focus-visible, .qdnapro-text-link[disabled].force-focus, .qdnapro-text-link.text-link-disabled:focus-visible, .qdnapro-text-link.text-link-disabled.force-focus {
  outline: 2px solid transparent;
  box-shadow: none;
}
.qdnapro-text-link.text-link-neutral {
  --tl-c-text: var(--c-text-body);
  --tl-c-text-pressed: #2e3138;
}
.qdnapro-text-link.text-link-error {
  --tl-c-text: var(--c-signal-red-text);
  --tl-c-text-pressed: #6a3030;
}
.qdnapro-text-link.text-link-success {
  --tl-c-text: var(--c-signal-green-text);
  --tl-c-text-pressed: #2f6a52;
}
.qdnapro-text-link.text-link-highlight {
  --tl-c-text: var(--c-purple-highlight);
  --tl-c-text-pressed: #252b5e;
}
.qdnapro-text-link.text-link-10 {
  font-size: 10px;
  line-height: 20px;
}
.qdnapro-text-link.text-link-12 {
  font-size: 12px;
  line-height: 20px;
}
.qdnapro-text-link.text-link-14 {
  font-size: 14px;
  line-height: 24px;
}
.qdnapro-text-link.text-link-16 {
  font-size: 16px;
  line-height: 24px;
}
.qdnapro-text-link.text-link-20 {
  font-size: 20px;
  line-height: 32px;
}
.qdnapro-text-link.text-link-weight-regular {
  font-weight: var(--fw-regular);
}
.qdnapro-text-link.text-link-weight-medium {
  font-weight: var(--fw-medium);
}
.qdnapro-text-link.text-link-weight-semibold {
  font-weight: var(--fw-semi);
}
.qdnapro-text-link.text-link-weight-bold {
  font-weight: 700;
}
.qdnapro-text-link.text-link-hover-link:not([disabled]):not(.text-link-disabled):hover, .qdnapro-text-link.text-link-hover-link.text-link-active {
  text-decoration: underline;
}
.qdnapro-text-link.text-link-hover-bg:not([disabled]):not(.text-link-disabled):hover, .qdnapro-text-link.text-link-hover-bg.text-link-active {
  background: var(--tl-c-bg-hover);
}
.qdnapro-text-link.text-link-hover-bg.text-link-error:not([disabled]):not(.text-link-disabled):hover, .qdnapro-text-link.text-link-hover-bg.text-link-error.text-link-active {
  background: #fef1f1;
  border-color: var(--c-signal-red-text);
  color: var(--c-signal-red-text);
}
.qdnapro-text-link.text-link-hover-bg.text-link-success:not([disabled]):not(.text-link-disabled):hover, .qdnapro-text-link.text-link-hover-bg.text-link-success.text-link-active {
  background: #f0fdf8;
  border-color: var(--c-signal-green-text);
}
.qdnapro-text-link.text-link-hover-link:not([disabled]):not(.text-link-disabled):active, .qdnapro-text-link.text-link-hover-link.text-link-pressed, .qdnapro-text-link.text-link-hover-link.force-pressed {
  background: var(--tl-c-bg-pressed);
  color: var(--tl-c-text-pressed);
  text-decoration: underline;
}
.qdnapro-text-link.text-link-hover-bg:not([disabled]):not(.text-link-disabled):active, .qdnapro-text-link.text-link-hover-bg.text-link-pressed, .qdnapro-text-link.text-link-hover-bg.force-pressed {
  background: var(--tl-c-bg-pressed);
  color: var(--tl-c-text-pressed);
}
.qdnapro-text-link.text-link-hover-bg.text-link-error:not([disabled]):not(.text-link-disabled):active, .qdnapro-text-link.text-link-hover-bg.text-link-error.text-link-pressed, .qdnapro-text-link.text-link-hover-bg.text-link-error.force-pressed {
  background: #fce0e0;
  border-color: #a44848;
  color: #6a3030;
}
.qdnapro-text-link.text-link-hover-bg.text-link-success:not([disabled]):not(.text-link-disabled):active, .qdnapro-text-link.text-link-hover-bg.text-link-success.text-link-pressed, .qdnapro-text-link.text-link-hover-bg.text-link-success.force-pressed {
  background: #ddf7ec;
  border-color: #357059;
  color: #2f6a52;
}

[data-theme=dark] .qdnapro-text-link {
  --tl-c-bg-hover: #40444d;
  --tl-c-bg-pressed: #565b66;
  --tl-c-text: #e1e3e6;
  --tl-c-text-hover: #e1e3e6;
  --tl-c-text-pressed: #f0f1f2;
}
[data-theme=dark] .qdnapro-text-link.text-link-neutral {
  --tl-c-text: #e1e3e6;
  --tl-c-text-pressed: #f0f1f2;
}
[data-theme=dark] .qdnapro-text-link.text-link-error {
  --tl-c-text: #fbaaaa;
  --tl-c-text-pressed: #fee3e3;
}
[data-theme=dark] .qdnapro-text-link.text-link-success {
  --tl-c-text: #8becc5;
  --tl-c-text-pressed: #e2faf1;
}
[data-theme=dark] .qdnapro-text-link.text-link-highlight {
  --tl-c-text: #aab2ff;
  --tl-c-text-pressed: #d6daff;
}
[data-theme=dark] .qdnapro-text-link.text-link-hover-bg.text-link-error:not([disabled]):not(.text-link-disabled):hover, [data-theme=dark] .qdnapro-text-link.text-link-hover-bg.text-link-error.text-link-active {
  background: #5a2b2b;
  border-color: #fbaaaa;
  color: #fee3e3;
}
[data-theme=dark] .qdnapro-text-link.text-link-hover-bg.text-link-success:not([disabled]):not(.text-link-disabled):hover, [data-theme=dark] .qdnapro-text-link.text-link-hover-bg.text-link-success.text-link-active {
  background: #2a5544;
  border-color: #8becc5;
  color: #e2faf1;
}
[data-theme=dark] .qdnapro-text-link.text-link-hover-bg.text-link-error:not([disabled]):not(.text-link-disabled):active, [data-theme=dark] .qdnapro-text-link.text-link-hover-bg.text-link-error.text-link-pressed, [data-theme=dark] .qdnapro-text-link.text-link-hover-bg.text-link-error.force-pressed {
  background: #7a3838;
  border-color: #fee3e3;
  color: #fee3e3;
}
[data-theme=dark] .qdnapro-text-link.text-link-hover-bg.text-link-success:not([disabled]):not(.text-link-disabled):active, [data-theme=dark] .qdnapro-text-link.text-link-hover-bg.text-link-success.text-link-pressed, [data-theme=dark] .qdnapro-text-link.text-link-hover-bg.text-link-success.force-pressed {
  background: #3d7a62;
  border-color: #e2faf1;
  color: #e2faf1;
}

.qdnapro-timestamp {
  --ts-color: #898e99;
  display: inline;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ts-color);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.qdnapro-timestamp.timestamp-color-purple {
  --ts-color: #40499a;
}

.qdnapro-timestamp.timestamp-color-highlight {
  --ts-color: #4652f3;
}

.qdnapro-timestamp.timestamp-weight-regular {
  font-weight: 400;
}

.qdnapro-timestamp.timestamp-weight-bold {
  font-weight: 700;
}

.qdnapro-timestamp.timestamp-size-10 {
  font-size: 10px;
  line-height: 14px;
}

.qdnapro-timestamp.timestamp-size-11 {
  font-size: 11px;
  line-height: 16px;
}

.qdnapro-timestamp.timestamp-size-12 {
  font-size: 12px;
  line-height: 18px;
}

.qdnapro-timestamp.timestamp-size-13 {
  font-size: 13px;
  line-height: 18px;
}

.qdnapro-timestamp.timestamp-size-14 {
  font-size: 14px;
  line-height: 20px;
}

.qdnapro-timestamp.timestamp-size-15 {
  font-size: 15px;
  line-height: 22px;
}

.qdnapro-timestamp.timestamp-size-16 {
  font-size: 16px;
  line-height: 24px;
}

.qdnapro-timestamp.timestamp-inline {
  align-self: baseline;
}

[data-theme=dark] .qdnapro-timestamp {
  --ts-color: #b8bcc4;
}

[data-theme=dark] .qdnapro-timestamp.timestamp-color-purple {
  --ts-color: #b8bcc4;
}

[data-theme=dark] .qdnapro-timestamp.timestamp-color-highlight {
  --ts-color: #a5acff;
}

.qdnapro-toast {
  --toast-bg: #0b0b0d;
  --toast-text: #ffffff;
  position: fixed;
  z-index: 10000;
  transform: translate(-50%, 4px);
  transform-origin: center;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  border: none;
  background: var(--toast-bg);
  color: var(--toast-text);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18), 0 1px 3px rgba(0, 0, 0, 0.1);
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease-out, transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.qdnapro-toast.toast-position-top {
  transform: translate(-50%, calc(-100% + 4px));
}

.qdnapro-toast.toast-position-bottom {
  transform: translate(-50%, 4px);
}

.qdnapro-toast .toast-icon {
  flex-shrink: 0;
  display: inline-flex;
  color: inherit;
}

.qdnapro-toast .toast-label {
  flex: 1 1 auto;
}

.qdnapro-toast .toast-action {
  flex-shrink: 0;
  appearance: none;
  border: none;
  background: transparent;
  margin: -4px -6px -4px 4px;
  padding: 4px 10px;
  border-radius: 999px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 18px;
  color: inherit;
  cursor: pointer;
  pointer-events: auto;
  opacity: 0.95;
}

.qdnapro-toast .toast-action:hover {
  background: rgba(255, 255, 255, 0.14);
}

.qdnapro-toast .toast-action:active {
  opacity: 0.75;
}

.qdnapro-toast.toast-variant-yellow .toast-action:hover,
.qdnapro-toast.toast-variant-red .toast-action:hover {
  background: rgba(0, 0, 0, 0.08);
}

.qdnapro-toast.toast-variant-dark {
  --toast-bg: #0b0b0d;
  --toast-text: #ffffff;
}

.qdnapro-toast.toast-variant-purple {
  --toast-bg: #40499a;
  --toast-text: #ffffff;
}

.qdnapro-toast.toast-variant-yellow {
  --toast-bg: var(--c-warning-bright-bg);
  --toast-text: var(--c-warning-bright-text);
  border: 1px solid var(--c-warning-bright-border);
}

.qdnapro-toast.toast-variant-red {
  --toast-bg: #fde8e8;
  --toast-text: #c94040;
  border: 1px solid #e8b0b0;
}

.qdnapro-toast.toast-visible, .qdnapro-toast[visible] {
  opacity: 1;
}

.qdnapro-toast.toast-visible.toast-position-top, .qdnapro-toast[visible].toast-position-top {
  transform: translate(-50%, -100%);
}

.qdnapro-toast.toast-visible.toast-position-bottom, .qdnapro-toast[visible].toast-position-bottom {
  transform: translate(-50%, 0);
}

[data-theme=dark] .qdnapro-toast {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.25);
}

[data-theme=dark] .qdnapro-toast.toast-variant-dark {
  --toast-bg: #f0f1f2;
  --toast-text: #0b0b0d;
}

[data-theme=dark] .qdnapro-toast.toast-variant-purple {
  --toast-bg: #a5acff;
  --toast-text: #0b0b0d;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-toast {
    transition: opacity 120ms linear;
  }
  .qdnapro-toast.toast-position-top {
    transform: translate(-50%, -100%) !important;
  }
  .qdnapro-toast.toast-position-bottom {
    transform: translate(-50%, 0) !important;
  }
}
.qdnapro-toggle {
  --tg-bg: #c4c7cc;
  --tg-bg-active: #4652f3;
  --tg-bg-hover: #b0b4ba;
  --tg-bg-active-hover: #3842c2;
  --tg-thumb: #ffffff;
  --tg-focus-ring: #40499a;
  --tg-focus-glow: rgba(70, 82, 243, 0.25);
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  background: var(--tg-bg);
  border-radius: 999px;
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
  transition: background-color 180ms ease-out;
}

.qdnapro-toggle .toggle-thumb {
  position: absolute;
  top: 50%;
  background: var(--tg-thumb);
  border-radius: 50%;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.04), 0 3px 8px rgba(0, 0, 0, 0.15), 0 3px 1px rgba(0, 0, 0, 0.06);
  pointer-events: none;
  transform-origin: left center;
  transition: left 320ms cubic-bezier(0.34, 1.35, 0.64, 1), transform 200ms cubic-bezier(0.34, 1.35, 0.64, 1), background-color 180ms ease-out;
}

.qdnapro-toggle.toggle-active .toggle-thumb {
  transform-origin: right center;
}

.qdnapro-toggle.toggle-size-average {
  width: 51px;
  height: 31px;
}

.qdnapro-toggle.toggle-size-average .toggle-thumb {
  width: 27px;
  height: 27px;
  left: 2px;
  transform: translateY(-50%);
}

.qdnapro-toggle.toggle-size-average.toggle-active .toggle-thumb {
  left: 22px;
}

.qdnapro-toggle.toggle-size-small {
  width: 37px;
  height: 22px;
}

.qdnapro-toggle.toggle-size-small .toggle-thumb {
  width: 18px;
  height: 18px;
  left: 2px;
  transform: translateY(-50%);
}

.qdnapro-toggle.toggle-size-small.toggle-active .toggle-thumb {
  left: 17px;
}

.qdnapro-toggle.toggle-active {
  background: var(--tg-bg-active);
}

.qdnapro-toggle:hover:not(.toggle-disabled):not(.toggle-active), .qdnapro-toggle.force-hover:not(.toggle-disabled):not(.toggle-active) {
  background: var(--tg-bg-hover);
}

.qdnapro-toggle:hover:not(.toggle-disabled).toggle-active, .qdnapro-toggle.force-hover:not(.toggle-disabled).toggle-active {
  background: var(--tg-bg-active-hover);
}

.qdnapro-toggle:active:not(.toggle-disabled) .toggle-thumb, .qdnapro-toggle.force-pressed:not(.toggle-disabled) .toggle-thumb {
  transform: translateY(-50%) scaleX(1.15);
}

.qdnapro-toggle:focus {
  outline: none;
}

.qdnapro-toggle:focus-visible, .qdnapro-toggle.force-focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--tg-focus-ring), 0 0 0 6px var(--tg-focus-glow);
}

.qdnapro-toggle.toggle-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-toggle.toggle-disabled:not(.toggle-active) {
  background: #f0f1f2;
}

.qdnapro-toggle.toggle-disabled.toggle-active {
  background: #f0f1f2;
}

[data-theme=dark] .qdnapro-toggle {
  --tg-bg: #565b66;
  --tg-bg-active: #4652f3;
  --tg-bg-hover: #6b7280;
  --tg-bg-active-hover: #5a66ff;
  --tg-thumb: #e1e3e6;
  --tg-focus-ring: #a5acff;
  --tg-focus-glow: rgba(70, 82, 243, 0.4);
}

[data-theme=dark] .qdnapro-toggle.toggle-disabled:not(.toggle-active) {
  background: #40444d;
}

[data-theme=dark] .qdnapro-toggle.toggle-disabled.toggle-active {
  background: #40444d;
}

.qdnapro-action-btn {
  --ab-bg: transparent;
  --ab-bg-hover: #f0f1f2;
  --ab-bg-active: #e6e9ff;
  --ab-bg-active-hover: #daddf2;
  --ab-icon: #0b0b0d;
  --ab-icon-active: #40499a;
  --ab-underline: #40499a;
  --ab-focus-ring: #0b0b0d;
  --ab-focus-glow: rgba(70, 82, 243, 0.25);
  --ab-disabled-bg: #f0f1f2;
  --ab-disabled-icon: #898e99;
  --ab-active-line-width: 16px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  box-sizing: border-box;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 4px;
  background: var(--ab-bg);
  color: var(--ab-icon);
  cursor: pointer;
  user-select: none;
  flex-shrink: 0;
  transition: background-color 120ms ease-out, color 120ms ease-out;
  font-family: inherit;
}

.qdnapro-action-btn qdnapro-icon,
.qdnapro-action-btn .action-btn-icon,
.qdnapro-action-btn .action-btn-chevron {
  display: inline-flex;
  flex-shrink: 0;
  pointer-events: none;
  color: inherit;
}

.qdnapro-action-btn svg {
  fill: currentColor;
  width: 100%;
  height: 100%;
}

.qdnapro-action-btn .action-btn-icon-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.qdnapro-action-btn .action-btn-dot {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff3a30;
  pointer-events: none;
  box-shadow: 0 0 0 1.5px var(--ab-dot-ring, #ffffff);
}

.qdnapro-action-btn::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: var(--ab-active-line-width);
  height: 2px;
  background: var(--ab-underline);
  border-radius: 1px 1px 0 0;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  opacity: 0;
  transition: transform 260ms cubic-bezier(0.34, 1.35, 0.64, 1), opacity 180ms ease-out;
  pointer-events: none;
}

.qdnapro-action-btn.action-btn-active::after {
  transform: translateX(-50%) scaleX(1);
  opacity: 1;
}

.qdnapro-action-btn[disabled].action-btn-active::after, .qdnapro-action-btn.action-btn-disabled.action-btn-active::after {
  background: var(--ab-disabled-icon);
  opacity: 0.6;
}

.qdnapro-action-btn.action-btn-shape-square.action-btn-size-default {
  width: 40px;
  height: 40px;
  min-width: 40px;
}

.qdnapro-action-btn.action-btn-shape-square.action-btn-size-default qdnapro-icon,
.qdnapro-action-btn.action-btn-shape-square.action-btn-size-default .action-btn-icon {
  width: 20px;
  height: 20px;
}

.qdnapro-action-btn.action-btn-shape-square.action-btn-size-small {
  width: 28px;
  height: 28px;
  min-width: 28px;
  --ab-active-line-width: 12px;
}

.qdnapro-action-btn.action-btn-shape-square.action-btn-size-small qdnapro-icon,
.qdnapro-action-btn.action-btn-shape-square.action-btn-size-small .action-btn-icon {
  width: 16px;
  height: 16px;
}

.qdnapro-action-btn.action-btn-shape-square.action-btn-size-small::after {
  bottom: 0;
  height: 1.5px;
}

.qdnapro-action-btn.action-btn-shape-thin.action-btn-size-default {
  width: 20px;
  height: 40px;
  min-width: 20px;
  --ab-active-line-width: 12px;
}

.qdnapro-action-btn.action-btn-shape-thin.action-btn-size-default qdnapro-icon,
.qdnapro-action-btn.action-btn-shape-thin.action-btn-size-default .action-btn-icon {
  width: 16px;
  height: 16px;
}

.qdnapro-action-btn.action-btn-shape-thin.action-btn-size-small {
  width: 20px;
  height: 28px;
  min-width: 20px;
  --ab-active-line-width: 10px;
}

.qdnapro-action-btn.action-btn-shape-thin.action-btn-size-small qdnapro-icon,
.qdnapro-action-btn.action-btn-shape-thin.action-btn-size-small .action-btn-icon {
  width: 14px;
  height: 14px;
}

.qdnapro-action-btn.action-btn-shape-thin.action-btn-size-small::after {
  bottom: 0;
  height: 1.5px;
}

.qdnapro-action-btn.action-btn-has-chevron.action-btn-shape-square.action-btn-size-default {
  width: 60px;
}

.qdnapro-action-btn.action-btn-has-chevron.action-btn-shape-square.action-btn-size-small {
  width: auto;
  min-width: 44px;
  padding: 0 4px;
}

.qdnapro-action-btn .action-btn-chevron {
  opacity: 0.7;
}

.qdnapro-action-btn.action-btn-has-chevron .action-btn-chevron {
  width: 12px;
  height: 12px;
}

.qdnapro-action-btn.action-btn-type-table {
  --ab-bg-hover: #e1e3e6;
}

.qdnapro-action-btn.action-btn-color-highlight {
  --ab-icon: #4652f3;
  --ab-bg-active: #e6e9ff;
  --ab-bg-active-hover: #daddf2;
  --ab-icon-active: #4652f3;
  --ab-underline: #4652f3;
  --ab-focus-ring: #40499a;
}

.qdnapro-action-btn.action-btn-active {
  background: var(--ab-bg-active);
  color: var(--ab-icon-active);
}

.qdnapro-action-btn:hover:not([disabled]):not(.action-btn-active) {
  background: var(--ab-bg-hover);
}

.qdnapro-action-btn:hover:not([disabled]).action-btn-active {
  background: var(--ab-bg-active-hover);
}

.qdnapro-action-btn:active:not([disabled]) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15));
}

.qdnapro-action-btn:focus {
  outline: none;
}

.qdnapro-action-btn:focus-visible, .qdnapro-action-btn.force-focus {
  outline: 2px solid var(--ab-focus-ring);
  outline-offset: -2px;
  box-shadow: 0 0 0 4px var(--ab-focus-glow);
}

.qdnapro-action-btn.force-hover:not([disabled]):not(.action-btn-active) {
  background: var(--ab-bg-hover);
}

.qdnapro-action-btn.force-hover:not([disabled]).action-btn-active {
  background: var(--ab-bg-active-hover);
}

.qdnapro-action-btn.force-pressed:not([disabled]) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15));
}

.qdnapro-action-btn[disabled], .qdnapro-action-btn.action-btn-disabled {
  background: var(--ab-disabled-bg) !important;
  color: var(--ab-disabled-icon) !important;
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-action-btn[disabled].action-btn-active, .qdnapro-action-btn.action-btn-disabled.action-btn-active {
  background: var(--ab-bg-active) !important;
  color: var(--ab-disabled-icon) !important;
  opacity: 0.6;
}

[data-theme=dark] .qdnapro-action-btn {
  --ab-bg: transparent;
  --ab-bg-hover: #565b66;
  --ab-bg-active: #2a2d52;
  --ab-bg-active-hover: #3a3f6b;
  --ab-icon: #e1e3e6;
  --ab-icon-active: #a5acff;
  --ab-underline: #a5acff;
  --ab-focus-ring: #e1e3e6;
  --ab-focus-glow: rgba(70, 82, 243, 0.4);
  --ab-disabled-bg: #40444d;
  --ab-disabled-icon: #6b7280;
  --ab-dot-ring: #2e3036;
}

[data-theme=dark] .qdnapro-action-btn.action-btn-type-table {
  --ab-bg-hover: #40444d;
}

[data-theme=dark] .qdnapro-action-btn.action-btn-color-highlight {
  --ab-icon: #a5acff;
  --ab-bg-hover: rgba(70, 82, 243, 0.18);
  --ab-bg-active: #4652f3;
  --ab-bg-active-hover: #5a66ff;
  --ab-icon-active: #ffffff;
  --ab-underline: #ffffff;
  --ab-focus-ring: #a5acff;
}

.qdnapro-tooltip {
  --tt-bg: #c4c7cc;
  --tt-border: #c4c7cc;
  --tt-text: #0b0b0d;
  --tt-title: #0b0b0d;
  --tt-pointer-size: 8px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0 8px;
  border: 1px solid var(--tt-border);
  border-radius: 4px;
  background: var(--tt-bg);
  color: var(--tt-text);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 400;
  box-sizing: border-box;
  position: relative;
  white-space: nowrap;
  box-shadow: 0 1px 4px rgba(12, 12, 13, 0.05);
  max-width: 320px;
}

.qdnapro-tooltip[hidden] {
  display: none;
}

.qdnapro-tooltip.tooltip-big {
  padding: 4px 8px;
}

.qdnapro-tooltip.tooltip-small {
  padding: 0 8px;
}

.qdnapro-tooltip .tooltip-title {
  color: var(--tt-title);
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  text-align: center;
}

.qdnapro-tooltip .tooltip-body {
  color: var(--tt-text);
  text-align: center;
}

.qdnapro-tooltip.tooltip-big .tooltip-body {
  font-size: 10px;
  line-height: 20px;
}

.qdnapro-tooltip.tooltip-small .tooltip-body {
  font-size: 12px;
  line-height: 20px;
}

.qdnapro-tooltip.tooltip-floating.tooltip-big .tooltip-body {
  font-size: 14px;
  line-height: 24px;
}

.qdnapro-tooltip.tooltip-purple {
  --tt-bg: #40499a;
  --tt-border: #40499a;
  --tt-text: #ffffff;
  --tt-title: #ffffff;
}

.qdnapro-tooltip.tooltip-purple-dark {
  --tt-bg: #2a3268;
  --tt-border: #2a3268;
  --tt-text: #ffffff;
  --tt-title: #ffffff;
}

.qdnapro-tooltip.tooltip-light-purple {
  --tt-bg: #e6e9ff;
  --tt-border: #daddf2;
  --tt-text: #40499a;
  --tt-title: #40499a;
}

.qdnapro-tooltip.tooltip-neutral-dark {
  --tt-bg: #c4c7cc;
  --tt-border: #c4c7cc;
  --tt-text: #0b0b0d;
  --tt-title: #0b0b0d;
}

.qdnapro-tooltip.tooltip-neutral-light {
  --tt-bg: #e1e3e6;
  --tt-border: #e1e3e6;
  --tt-text: #6b7280;
  --tt-title: #6b7280;
}

.qdnapro-tooltip.tooltip-pointer::before {
  content: "";
  position: absolute;
  width: var(--tt-pointer-size);
  height: var(--tt-pointer-size);
  background: var(--tt-bg);
  border: 1px solid var(--tt-border);
  box-sizing: border-box;
  pointer-events: none;
}

.qdnapro-tooltip.tooltip-pointer.tooltip-position-top::before {
  bottom: calc(var(--tt-pointer-size) * -0.5 - 1px);
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  border-top-color: transparent;
  border-left-color: transparent;
}

.qdnapro-tooltip.tooltip-pointer.tooltip-position-bottom::before {
  top: calc(var(--tt-pointer-size) * -0.5 - 1px);
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  border-bottom-color: transparent;
  border-right-color: transparent;
}

.qdnapro-tooltip.tooltip-pointer.tooltip-position-left::before {
  right: calc(var(--tt-pointer-size) * -0.5 - 1px);
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border-top-color: transparent;
  border-left-color: transparent;
}

.qdnapro-tooltip.tooltip-pointer.tooltip-position-right::before {
  left: calc(var(--tt-pointer-size) * -0.5 - 1px);
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border-bottom-color: transparent;
  border-right-color: transparent;
}

.qdnapro-tooltip {
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 120ms ease-out, transform 120ms ease-out;
}

.qdnapro-tooltip.tooltip-visible {
  opacity: 1;
  transform: scale(1);
}

.qdnapro-tooltip:not(.tooltip-managed) {
  opacity: 1;
  transform: none;
}

[data-theme=dark] .qdnapro-tooltip {
  --tt-bg: #40444d;
  --tt-border: #40444d;
  --tt-text: #e1e3e6;
  --tt-title: #e1e3e6;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}

[data-theme=dark] .qdnapro-tooltip.tooltip-purple {
  --tt-bg: #3842c2;
  --tt-border: #3842c2;
  --tt-text: #ffffff;
  --tt-title: #ffffff;
}

[data-theme=dark] .qdnapro-tooltip.tooltip-light-purple {
  --tt-bg: #2a2d52;
  --tt-border: #3a3f6b;
  --tt-text: #8b93ff;
  --tt-title: #8b93ff;
}

[data-theme=dark] .qdnapro-tooltip.tooltip-neutral-dark {
  --tt-bg: #40444d;
  --tt-border: #40444d;
  --tt-text: #e1e3e6;
  --tt-title: #e1e3e6;
}

[data-theme=dark] .qdnapro-tooltip.tooltip-neutral-light {
  --tt-bg: #2e3036;
  --tt-border: #2e3036;
  --tt-text: #a6aab3;
  --tt-title: #a6aab3;
}

.qdnapro-touch-button {
  --qtb-bg: var(--c-bg-card, #ffffff);
  --qtb-bg-hover: var(--c-grey-100, #e7e9ec);
  --qtb-bg-pressed: var(--c-grey-200, #d1d5db);
  --qtb-border: var(--c-grey-100, #e7e9ec);
  --qtb-border-hover: var(--c-grey-200, #d1d5db);
  --qtb-border-pressed: var(--c-grey-300, #c4c7cc);
  --qtb-label-color: var(--c-text-body, #0b0b0d);
  --qtb-disabled-bg: #f0f1f2;
  --qtb-disabled-color: #898e99;
  --btn-focus-ring: #40499a;
  --btn-focus-glow: rgba(70, 82, 243, 0.25);
  position: relative;
  display: flex;
  box-sizing: border-box;
  width: 100%;
  background: var(--qtb-bg);
  border: 1px solid var(--qtb-border);
  border-radius: var(--r-3, 12px);
  color: var(--qtb-label-color);
  font-family: var(--ff, "Inter", system-ui, -apple-system, sans-serif);
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 120ms ease-out, border-color 120ms ease-out, color 120ms ease-out;
}

.qdnapro-touch-button .qtb-label {
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.qdnapro-touch-button .qtb-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  transition: opacity 120ms ease-out;
}

.qdnapro-touch-button .qtb-badge {
  display: flex;
  align-items: center;
  line-height: 0;
}

.qdnapro-touch-button.qtb-variant-grid {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 104px;
  padding: 12px;
  text-align: center;
}

.qdnapro-touch-button.qtb-variant-grid .qtb-label {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.qdnapro-touch-button.qtb-variant-grid .qtb-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  pointer-events: none;
}

.qdnapro-touch-button.qtb-variant-row {
  flex-direction: row;
  align-items: center;
  gap: 24px;
  min-height: 58px;
  padding: 8px;
  text-align: left;
}

.qdnapro-touch-button.qtb-variant-row .qtb-label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.qdnapro-touch-button.qtb-variant-row .qtb-badge {
  flex: 0 0 auto;
  margin-left: auto;
  margin-right: 8px;
  pointer-events: none;
}

.qdnapro-touch-button:hover:not(.qtb-disabled),
.qdnapro-touch-button.force-hover:not(.qtb-disabled) {
  background: var(--qtb-bg-hover);
  border-color: var(--qtb-border-hover);
}

.qdnapro-touch-button.is-pressed:not(.qtb-disabled),
.qdnapro-touch-button.force-pressed:not(.qtb-disabled) {
  background: var(--qtb-bg-pressed);
  border-color: var(--qtb-border-pressed);
}

.qdnapro-touch-button:focus {
  outline: none;
}

.qdnapro-touch-button:focus-visible,
.qdnapro-touch-button.force-focus {
  outline: 2px solid var(--btn-focus-ring);
  outline-offset: -2px;
  box-shadow: 0 0 0 4px var(--btn-focus-glow);
}

.qdnapro-touch-button.qtb-disabled {
  background: var(--qtb-disabled-bg);
  color: var(--qtb-disabled-color);
  border-color: transparent;
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-touch-button.qtb-disabled:focus-visible,
.qdnapro-touch-button.qtb-disabled.force-focus {
  outline: none;
  box-shadow: none;
}

.qdnapro-touch-button.qtb-disabled .qtb-icon {
  opacity: 0.3;
}

[data-theme=dark] .qdnapro-touch-button {
  --qtb-bg: var(--c-bg-card, #2a2d34);
  --qtb-bg-hover: #343841;
  --qtb-bg-pressed: #3e434d;
  --qtb-border: #40444d;
  --qtb-border-hover: #4b505a;
  --qtb-border-pressed: #575d68;
  --qtb-label-color: var(--c-text-body, #f0f1f2);
  --qtb-disabled-bg: #40444d;
  --qtb-disabled-color: #6b7280;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-touch-button {
    transition: none;
  }
}
qdnapro-translation-panel {
  display: contents;
}

body.qtp-open .stats-bar,
body.qtp-open .mgr-stack-trigger,
body.qtp-open .insert-zone {
  pointer-events: none;
}

.qtp {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 420px;
  max-width: 92vw;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  border-left: 1px solid rgba(255, 255, 255, 0.55);
  display: flex;
  flex-direction: column;
  z-index: 1050;
  box-shadow: -8px 0 32px rgba(40, 46, 100, 0.18);
  overflow: hidden;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  box-sizing: border-box;
  transform: translateX(100%);
  transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1);
}
.qtp--visible {
  transform: translateX(0);
}
.qtp * {
  box-sizing: border-box;
}

.qtp-header {
  display: flex;
  align-items: center;
  padding: 11px 16px;
  background: rgba(65, 73, 154, 0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  flex-shrink: 0;
  gap: 9px;
}

.qtp-header-spacer {
  flex: 1;
}

.qtp-at-btn {
  position: relative;
  overflow: hidden;
}
.qtp-at-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 55%;
  background: linear-gradient(120deg, transparent 0%, rgba(65, 73, 154, 0.13) 50%, transparent 100%);
  transform: translateX(-200%);
  animation: qtp-shimmer 3.4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes qtp-shimmer {
  0% {
    transform: translateX(-200%);
  }
  30% {
    transform: translateX(220%);
  }
  100% {
    transform: translateX(220%);
  }
}
.qtp-at-icon {
  display: inline-block;
}

.qtp-at-icon--spin {
  animation: qtp-rotate 0.8s linear infinite;
}

@keyframes qtp-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.qtp-at-bar {
  padding: 9px 14px;
  background: transparent;
  border-bottom: 1px solid rgba(216, 219, 237, 0.6);
  font-size: 12px;
  color: #3f499a;
  flex-shrink: 0;
}
.qtp-at-bar--done {
  background: rgba(34, 140, 90, 0.1);
  border-bottom-color: rgba(34, 140, 90, 0.18);
  color: #1a7a50;
  display: flex;
  align-items: center;
  gap: 6px;
}
.qtp-at-bar--error {
  background: rgba(196, 54, 42, 0.1);
  border-bottom-color: rgba(196, 54, 42, 0.18);
  color: #c4362a;
  display: flex;
  align-items: center;
  gap: 6px;
}

.qtp-at-bar-question {
  display: block;
  margin-bottom: 7px;
  font-weight: 500;
}

.qtp-at-dir {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 7px;
}

.qtp-at-dir-lang {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 22px;
  padding: 0 8px;
  border-radius: 6px;
  background: rgba(65, 73, 154, 0.1);
  color: #3f499a;
  font-size: 12px;
  font-weight: 600;
}

.qtp-at-dir-arrow {
  flex-shrink: 0;
  color: rgba(63, 73, 154, 0.55);
}

.qtp-at-bar-btns {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}

.qtp-lang-bar {
  display: flex;
  padding: 8px 14px;
  background: rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(216, 219, 237, 0.7);
  flex-shrink: 0;
}

.qtp-lang-seg .qdnapro-segment-item[data-missing] {
  position: relative;
}
.qtp-lang-seg .qdnapro-segment-item[data-missing]::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 6px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e8a320;
  box-shadow: 0 0 0 2px #fff;
  pointer-events: none;
}

.qtp-col-headers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.5);
  border-bottom: 2px solid rgba(216, 219, 237, 0.7);
}

.qtp-col-h {
  font-size: 11px;
  font-weight: 700;
  color: #41499a;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
}
.qtp-col-h:first-child {
  border-right: 1px solid #d8dbed;
}

.qtp-missing-pill {
  font-size: 10px;
  background: #fdf0dc;
  color: #b47a14;
  border-radius: 4px;
  padding: 2px 6px;
  border: 1px solid #e8a320;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}

.qtp-body {
  flex: 1;
  overflow-y: auto;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  scrollbar-width: none;
}
.qtp-body::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.qtp-empty {
  padding: 28px 16px;
  text-align: center;
  color: #8890b8;
  font-size: 13px;
}

.qtp-card {
  border-radius: 7px;
  border: 1px solid #d0d3ea;
  overflow: hidden;
  background: #fff;
  transition: box-shadow 120ms;
  flex-shrink: 0;
}
.qtp-card:hover {
  box-shadow: 0 2px 10px rgba(65, 73, 154, 0.14);
}
.qtp-card--selected, .qtp-card--selected:hover {
  box-shadow: 0 0 0 2px #6b74d6, 0 4px 14px rgba(65, 73, 154, 0.18);
}
.qtp-card--spotlight {
  animation: qtp-spotlight 900ms ease-out forwards;
}
.qtp-card--archived {
  border-color: #d2d5e4;
  background: #f6f7fa;
}
.qtp-card--archived .qtp-meta {
  background: rgba(120, 124, 150, 0.08);
  border-bottom-color: #e2e4ee;
}

@keyframes qtp-spotlight {
  0% {
    box-shadow: 0 0 0 3px rgba(65, 73, 154, 0.55);
  }
  60% {
    box-shadow: 0 0 0 3px rgba(65, 73, 154, 0.25);
  }
  100% {
    box-shadow: none;
  }
}
.qtp-card--badge .qtp-meta {
  padding-left: 12px;
}
.qtp-card--badge .qtp-badge {
  border-radius: 6px;
}

.qtp-section-divider {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 16px 2px 8px;
  flex-shrink: 0;
}
.qtp-section-divider::after {
  content: "";
  flex: 1;
  height: 2px;
  border-radius: 2px;
  background: #40499a;
}

.qtp-section-label {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #40499a;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 8px;
  border-radius: 5px;
}

.qtp-section-icon {
  display: inline-block;
}

.qtp-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 6px 10px 6px 0;
  background: rgba(65, 73, 154, 0.06);
  border-bottom: 1px solid #e4e6f4;
  cursor: pointer;
}

.qtp-badge {
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 6px 0 0 6px;
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
}

.qtp-node-id {
  font-size: 11px;
  color: #9099c0;
  font-weight: 500;
  flex-shrink: 0;
}

.qtp-meta--icon {
  padding-left: 10px;
  gap: 8px;
}

.qtp-activity-icon {
  flex-shrink: 0;
}

.qtp-icon-placeholder {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: #e4e6f4;
  flex-shrink: 0;
}

.qtp-title {
  flex: 0 1 auto;
  min-width: 0;
  font-size: 13px;
  font-weight: 600;
  color: #2a3170;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qtp-tag {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 5px;
  white-space: nowrap;
  color: #40499a;
  background: rgba(65, 73, 154, 0.12);
}
.qtp-tag--archived {
  color: #6b7280;
  background: #e7e8f0;
}

.qtp-save {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-left: auto;
}
.qtp-save--saving {
  background: #e8a320;
}
.qtp-save--saved {
  background: #3e9e6e;
}
.qtp-save--error {
  background: #c4362a;
}

.qtp-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.qtp-col {
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 50px;
}
.qtp-col--primary {
  padding-right: 4px;
}
.qtp-col--target {
  padding-left: 4px;
  background: #f4f5fb;
  border-left: 1px solid #e4e6f4;
}

.qtp-field {
  display: block;
  width: 100%;
}

.qtp-field-group {
  display: flex;
  flex-direction: column;
}

.qtp-field-caption {
  font-size: 10px;
  font-weight: 600;
  color: #9098bb;
  text-transform: uppercase;
  letter-spacing: 0.045em;
  line-height: 1.3;
  margin-bottom: 3px;
}
.qtp-field-caption--section {
  margin: 2px 0 4px;
  color: #7a82ac;
}

.qtp-ans-row .qtp-field {
  flex: 1;
  min-width: 0;
}

.qtp-field--missing .input-field {
  border-color: #e8a320 !important;
  background: #fffcf3 !important;
}

qdnapro-activity-row.qtp-row-focused .activity-row-inner {
  box-shadow: 0 0 0 2px #6b74d6, 0 4px 14px rgba(65, 73, 154, 0.18);
}

qdnapro-section-header.qtp-row-focused .sh-pill {
  box-shadow: 0 0 0 2px #6b74d6, 0 4px 14px rgba(65, 73, 154, 0.18);
  border-radius: 8px;
}

.qtp-ans-divider {
  height: 1px;
  background: #e4e6f4;
  margin: 2px 0;
}

.qtp-ans-row {
  display: flex;
  align-items: flex-start;
  gap: 6px;
}

.qtp-ans-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 11px;
}

qdnapro-translation-modal {
  display: contents;
}

.qtm {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.qtm * {
  box-sizing: border-box;
}

.qtm-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.qtm-source {
  min-width: 0;
  flex: 1;
}

.qtm-field-label {
  font-size: 11px;
  font-weight: 700;
  color: #41499a;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 6px;
}

.qtm-source-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.qtm-source-text {
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
  color: #2a3170;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qtm-source-empty {
  color: #9aa0c2;
  font-weight: 500;
}

.qtm-pill {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 8px;
  border-radius: 5px;
  color: #40499a;
  background: rgba(65, 73, 154, 0.12);
}
.qtm-pill--source {
  color: #fff;
  background: #40499a;
}

.qtm-at-btn {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.qtm-at-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 55%;
  background: linear-gradient(120deg, transparent 0%, rgba(65, 73, 154, 0.13) 50%, transparent 100%);
  transform: translateX(-200%);
  animation: qtm-shimmer 3.4s ease-in-out infinite;
  pointer-events: none;
}
.qtm-at-btn[disabled]::after {
  animation: none;
}

@keyframes qtm-shimmer {
  0% {
    transform: translateX(-200%);
  }
  30% {
    transform: translateX(220%);
  }
  100% {
    transform: translateX(220%);
  }
}
.qtm-at-icon {
  display: inline-block;
}

.qtm-at-icon--spin {
  animation: qtm-rotate 0.8s linear infinite;
}

@keyframes qtm-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.qtm-at-bar-host:not(:empty) {
  margin-bottom: 12px;
}

.qtm-at-bar {
  padding: 10px 12px;
  border: 1px solid rgba(216, 219, 237, 0.8);
  border-radius: 8px;
  font-size: 12px;
  color: #3f499a;
  background: rgba(65, 73, 154, 0.04);
}
.qtm-at-bar--done {
  background: rgba(34, 140, 90, 0.1);
  border-color: rgba(34, 140, 90, 0.2);
  color: #1a7a50;
  display: flex;
  align-items: center;
  gap: 6px;
}
.qtm-at-bar--error {
  background: rgba(196, 54, 42, 0.1);
  border-color: rgba(196, 54, 42, 0.2);
  color: #c4362a;
  display: flex;
  align-items: center;
  gap: 6px;
}

.qtm-at-bar-question {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
}

.qtm-at-bar-btns {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}

.qtm-fields {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.qtm-empty {
  padding: 22px 16px;
  text-align: center;
  color: #8890b8;
  font-size: 13px;
}

.qtm-field-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.qtm-field-row .qtm-pill {
  flex-shrink: 0;
  min-width: 38px;
  justify-content: center;
}

.qtm-field {
  flex: 1;
  min-width: 0;
}

.qtm-field--missing .input-field {
  border-color: #e8a320 !important;
  background: #fffcf3 !important;
}

.qdnapro-tree-item {
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  border-radius: 8px;
  cursor: pointer;
  user-select: none;
  overflow: hidden;
  font-family: "Inter", sans-serif;
  color: #0b0b0d;
  background: transparent;
  border: 0.5px solid transparent;
  transition: background-color 120ms, color 120ms;
}

.qdnapro-tree-item:focus {
  outline: none;
}

.qdnapro-tree-item:focus-visible, .qdnapro-tree-item.force-focus {
  outline: 2px solid #40499a;
  outline-offset: -2px;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.25);
}

.qdnapro-tree-item > .tree-item-chevron-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  cursor: pointer;
  flex-shrink: 0;
}

.qdnapro-tree-item > .tree-item-chevron-btn > .tree-item-chevron-icon {
  transition: transform 160ms ease;
  transform: rotate(-90deg);
}

.qdnapro-tree-item > .tree-item-chevron-btn:hover {
  background: rgba(0, 0, 0, 0.04);
}

.qdnapro-tree-item > .tree-item-chevron-btn:active {
  background: rgba(0, 0, 0, 0.08);
}

.qdnapro-tree-item > .tree-item-chevron-btn:focus {
  outline: none;
}

.qdnapro-tree-item > .tree-item-chevron-btn:focus-visible, .qdnapro-tree-item > .tree-item-chevron-btn.force-focus {
  outline: 2px solid #40499a;
  outline-offset: -2px;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.25);
}

.qdnapro-tree-item > .tree-item-icon {
  flex-shrink: 0;
}

.qdnapro-tree-item > .tree-item-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qdnapro-tree-item > .tree-item-badge {
  flex-shrink: 0;
}

.qdnapro-tree-item.tree-item-expanded > .tree-item-chevron-btn > .tree-item-chevron-icon {
  transform: rotate(0deg);
}

.qdnapro-tree-item.tree-item-large {
  min-height: 40px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 24px;
  font-weight: 400;
}

.qdnapro-tree-item.tree-item-large > .tree-item-chevron-btn {
  width: 24px;
  height: 24px;
}

.qdnapro-tree-item.tree-item-large.tree-item-type-subfolder {
  padding-left: 24px;
  padding-right: 8px;
}

.qdnapro-tree-item.tree-item-large.tree-item-type-subfolder.tree-item-active {
  padding-left: 48px;
}

.qdnapro-tree-item.tree-item-small {
  min-height: 32px;
  padding: 4px 8px;
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  gap: 8px;
}

.qdnapro-tree-item.tree-item-small > .tree-item-chevron-btn {
  width: 16px;
  height: 16px;
}

.qdnapro-tree-item.tree-item-small.tree-item-type-subfolder {
  padding-left: 24px;
  padding-right: 8px;
}

.qdnapro-tree-item.tree-item-small.tree-item-type-subfolder.tree-item-active {
  padding-left: 48px;
}

.qdnapro-tree-item.tree-item-type-subfolder:not(.tree-item-active):not(.tree-item-disabled) {
  color: #6b7280;
}

.qdnapro-tree-item.tree-item-type-chevron:not(.tree-item-active):not(.tree-item-disabled) > .tree-item-label {
  font-weight: 700;
}

.qdnapro-tree-item:not(.tree-item-active):not(.tree-item-disabled):hover {
  background: #f0f1f2;
}

.qdnapro-tree-item:not(.tree-item-active):not(.tree-item-disabled):active {
  background: #e4e6e8;
}

.qdnapro-tree-item.tree-item-active {
  background: #e6e9ff;
  color: #40499a;
}

.qdnapro-tree-item.tree-item-active > .tree-item-label {
  font-weight: 700;
}

.qdnapro-tree-item.tree-item-active:hover {
  background: #daddf2;
}

.qdnapro-tree-item.tree-item-active:active {
  background: #c7cce8;
}

.qdnapro-tree-item.tree-item-disabled, .qdnapro-tree-item.tree-item-disabled:hover {
  color: #898e99;
  background: transparent;
  cursor: not-allowed;
  pointer-events: none;
}

[data-theme=dark] .qdnapro-tree-item {
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-tree-item > .tree-item-icon,
[data-theme=dark] .qdnapro-tree-item > .tree-item-chevron-btn > .tree-item-chevron-icon {
  color: #e1e3e6;
}

[data-theme=dark] .qdnapro-tree-item > .tree-item-badge {
  color: #a6aab3;
  background: transparent;
}

[data-theme=dark] .qdnapro-tree-item:not(.tree-item-active):not(.tree-item-disabled):hover {
  background: #565b66;
}

[data-theme=dark] .qdnapro-tree-item.tree-item-active {
  background: #4652f3;
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-tree-item.tree-item-active:hover {
  background: #3842c2;
}

[data-theme=dark] .qdnapro-tree-item.tree-item-active > .tree-item-icon,
[data-theme=dark] .qdnapro-tree-item.tree-item-active > .tree-item-badge,
[data-theme=dark] .qdnapro-tree-item.tree-item-active > .tree-item-chevron-btn > .tree-item-chevron-icon {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-tree-item.tree-item-disabled, [data-theme=dark] .qdnapro-tree-item.tree-item-disabled:hover {
  color: #6b7280;
}

[data-theme=dark] .qdnapro-tree-item.tree-item-disabled > .tree-item-icon,
[data-theme=dark] .qdnapro-tree-item.tree-item-disabled > .tree-item-badge,
[data-theme=dark] .qdnapro-tree-item.tree-item-disabled > .tree-item-chevron-btn > .tree-item-chevron-icon, [data-theme=dark] .qdnapro-tree-item.tree-item-disabled:hover > .tree-item-icon,
[data-theme=dark] .qdnapro-tree-item.tree-item-disabled:hover > .tree-item-badge,
[data-theme=dark] .qdnapro-tree-item.tree-item-disabled:hover > .tree-item-chevron-btn > .tree-item-chevron-icon {
  color: #6b7280;
}

[data-theme=dark] .qdnapro-tree-item:focus-visible, [data-theme=dark] .qdnapro-tree-item.force-focus {
  outline-color: #a5acff;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.4);
}

.qdnapro-unit-input-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
  padding: 8px 12px;
  border: 1.5px solid transparent;
  border-bottom: 1px solid var(--c-border-soft);
  border-radius: var(--r-row);
  font-family: var(--theme-font-family, "Inter", sans-serif);
  transition: border-color 0.2s, background 0.2s;
}

.qdnapro-unit-input-row.uir-borderless {
  border-bottom: none;
}

/* Error = soft red background; no coloured border. */
.qdnapro-unit-input-row.uir-error {
  background: var(--c-signal-red-soft);
}

.qdnapro-unit-input-row .uir-error-msg {
  font-size: 12px;
  color: var(--c-tag-critical-text);
  margin-top: 3px;
}

.qdnapro-unit-input-row .uir-main {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
  cursor: pointer;
  border-radius: var(--r-3); /* 12px — the pressed-zone radius Kim picked */
  padding: 4px;
  margin: -4px;
  transform-origin: left center;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.12s ease, transform 0.1s ease;
}

/* Pressed state (added via JS pointerdown — reliable on touch): purple-tinted
   highlight over image + name + EAN, plus a small squash. */
.qdnapro-unit-input-row .uir-main.is-pressed {
  background: var(--c-purple-soft-12);
  transform: scale(0.98);
}

.qdnapro-unit-input-row .uir-image {
  position: relative;
  flex-shrink: 0;
}

.qdnapro-unit-input-row.uir-no-image .uir-image {
  width: 0;
  overflow: visible;
}

.qdnapro-unit-input-row .uir-image img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: var(--r-btn);
  display: block;
}

.qdnapro-unit-input-row .uir-image-empty {
  width: 48px;
  height: 48px;
  border-radius: var(--r-btn);
  background: var(--c-black-06);
}

.qdnapro-unit-input-row .uir-status-circle {
  position: absolute;
  bottom: -6px;
  left: -6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
  pointer-events: none;
  opacity: 0;
  transform: scale(0.4);
  z-index: 2;
  border: 2px solid var(--c-bg-card, #fff);
}

.qdnapro-unit-input-row.uir-filled .uir-status-circle {
  background: var(--c-success-bright, #1db87a);
  opacity: 1;
  transform: scale(1);
  animation: uir-badge-pop 0.52s cubic-bezier(0.34, 1.56, 0.5, 1);
}

.qdnapro-unit-input-row.uir-error .uir-status-circle {
  background: var(--c-tag-critical-text, #c0392b);
  opacity: 1;
  transform: scale(1);
  animation: uir-badge-pop 0.52s cubic-bezier(0.34, 1.56, 0.5, 1);
}

.qdnapro-unit-input-row .uir-check-path {
  stroke-dasharray: 23;
  stroke-dashoffset: 23;
}

.qdnapro-unit-input-row.uir-filled .uir-check-path {
  animation: uir-draw 0.38s cubic-bezier(0.22, 1, 0.36, 1) 0.04s forwards;
}

@keyframes uir-badge-pop {
  0% {
    transform: scale(0.7) rotate(0deg);
  }
  20% {
    transform: scale(1.22) rotate(-5deg);
  }
  44% {
    transform: scale(0.9) rotate(3deg);
  }
  64% {
    transform: scale(1.08) rotate(-1deg);
  }
  80% {
    transform: scale(0.97) rotate(0deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
  }
}
@keyframes uir-draw {
  0% {
    stroke-dashoffset: 23;
  }
  62% {
    stroke-dashoffset: -1;
  }
  80% {
    stroke-dashoffset: 0.7;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.qdnapro-unit-input-row .uir-text {
  flex: 1;
  min-width: 0;
}

.qdnapro-unit-input-row .uir-name {
  font-size: 16px;
  font-weight: 400;
  color: var(--theme-field-text-color, #1d1d1b);
  line-height: 1.5em;
  max-height: 1.5em;
  overflow: hidden;
  white-space: normal;
  word-break: break-word;
  transition: max-height 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

.qdnapro-unit-input-row .uir-name.is-clamped {
  white-space: nowrap;
  text-overflow: ellipsis;
}

.qdnapro-unit-input-row.uir-no-meta .uir-name {
  max-height: 3em;
}

.qdnapro-unit-input-row.uir-no-meta .uir-name.is-clamped {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
  white-space: normal;
}

.qdnapro-unit-input-row.uir-filled .uir-name {
  color: var(--theme-description-color, #6b6b6b);
}

.qdnapro-unit-input-row .uir-meta {
  font-size: 12px;
  color: var(--theme-description-color, #8a8a8a);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-unit-input-row .uir-meta[hidden] {
  display: none;
}

.qdnapro-unit-input-row .uir-input {
  flex-shrink: 0;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.qdnapro-unit-input-row .uir-input qdnapro-input {
  width: 96px;
}

/* With ± counter buttons (spinner) the field needs room for − field + . The ± touch
   buttons (~44px each) + a decimal value clipped at 138px; widened so "0,00" / counts
   stay visible. Not viewport-gated: the clip is field-vs-content, present everywhere. */
.qdnapro-unit-input-row .uir-input qdnapro-input[spinner] {
  width: 180px;
}

/* Drop the in-field state icon (the red "!" alert-circle) inside the per-unit row. The error is
   already signalled by the red row border, the red ✗ on the image, and the "Still to fill" line —
   the extra "!" only eats width, which hurts most on the narrow number/date/decimal fields.
   Scoped to this row only (not qdnapro-input elsewhere). 5 classes + element (51) beats the
   component's own .input-state-icon display rule (40) without !important. */
.qdnapro-unit-input-row .uir-input qdnapro-input .input-field .input-trailing .input-state-icon {
  display: none;
}

/* Narrow screens (phone) + per-unit ONLY: drop the in-field clear (×) button. In the
   compact "input for every unit" rows the × eats the width the value needs — it clips
   "€ 2,00" / "0,000" on decimal + currency. On phone that space is too precious; on
   tablet/desktop there's room, so the × stays there. Select-all + retype still clears.
   Scoped to .qdnapro-unit-input-row so single full-width fields keep their ×. [Kim 2026-07-01] */
@media (max-width: 767px) {
  .qdnapro-unit-input-row .uir-input qdnapro-input .input-field .input-trailing qdnapro-icon-btn[icon=close] {
    display: none;
  }
  /* Currency still needs a bit more room for the € prefix + value (even without the ×). */
  .qdnapro-unit-input-row[input-type=currency] .uir-input qdnapro-input {
    width: 130px;
  }
  /* Date: the native picker (dd/mm/yyyy + calendar icon) has a wide intrinsic min
     (~200px). At the 96px default it overflowed off-screen. Widen so it fits; the name
     column yields (Kim's pick — option 1). Time is narrower but also clipped at 96px. */
  .qdnapro-unit-input-row[input-type=date] .uir-input qdnapro-input {
    width: 200px;
  }
  .qdnapro-unit-input-row[input-type=time] .uir-input qdnapro-input {
    width: 120px;
  }
}
/* Per-unit message channel: the field's OWN validation message stays hidden — the per-unit error
   is carried by the row instead ("Still to fill" under the name, set by advanced_input.js). The
   long required message ("You have to fill out all required form fields.") would otherwise run off
   a narrow phone field. Auto-scoped to per-unit because only the per-unit screen wraps the input in
   .qdnapro-unit-input-row; the single full-width field (not-per-unit) is unwrapped and keeps the
   fuller message. Covers both blur and submit paths in one rule. The constraints hint (a separate
   line below the field) is NOT .input-message, so min/max/range hints still show. */
.qdnapro-unit-input-row .uir-input qdnapro-input .input-message {
  display: none;
}

.qdnapro-unit-input-row .uir-scan {
  flex-shrink: 0;
  background: color-mix(in srgb, var(--theme-btn-color, #40499a) 12%, #fff);
  color: var(--theme-btn-color, #40499a);
}

.qdnapro-unit-input-row .uir-scan qdnapro-icon {
  color: var(--theme-btn-color, #40499a);
}

.qdnapro-unit-input-row.uir-layout-stacked {
  flex-wrap: wrap;
}

.qdnapro-unit-input-row.uir-layout-stacked .uir-main {
  width: 100%;
}

.qdnapro-unit-input-row.uir-layout-stacked .uir-input {
  width: 100%;
  margin-top: 6px;
}

.qdnapro-unit-input-row.uir-layout-stacked .uir-input qdnapro-input {
  flex: 1;
  width: auto;
}

.qdnapro-unit-input-row[input-type=text]:not(.uir-layout-stacked) .uir-main,
.qdnapro-unit-input-row[input-type=expanding]:not(.uir-layout-stacked) .uir-main {
  flex: 4 1 0;
}

.qdnapro-unit-input-row[input-type=text]:not(.uir-layout-stacked) .uir-input,
.qdnapro-unit-input-row[input-type=expanding]:not(.uir-layout-stacked) .uir-input {
  flex: 6 1 0;
  min-width: 0;
  max-width: 564px;
}

.qdnapro-unit-input-row[input-type=text]:not(.uir-layout-stacked) .uir-input qdnapro-input,
.qdnapro-unit-input-row[input-type=expanding]:not(.uir-layout-stacked) .uir-input qdnapro-input {
  flex: 1;
  width: auto;
  min-width: 0;
}

@media (min-width: 768px) {
  .qdnapro-unit-input-row[input-type=number] .uir-input qdnapro-input,
  .qdnapro-unit-input-row[input-type=currency] .uir-input qdnapro-input {
    width: 160px;
  }
  .qdnapro-unit-input-row[input-type=date] .uir-input qdnapro-input {
    width: 170px;
  }
  .qdnapro-unit-input-row[input-type=time] .uir-input qdnapro-input {
    width: 130px;
  }
}
.qdnapro-unit-input-row[input-type=number]:not(.uir-layout-stacked) .uir-input,
.qdnapro-unit-input-row[input-type=currency]:not(.uir-layout-stacked) .uir-input,
.qdnapro-unit-input-row[input-type=date]:not(.uir-layout-stacked) .uir-input,
.qdnapro-unit-input-row[input-type=time]:not(.uir-layout-stacked) .uir-input,
.qdnapro-unit-input-row[input-type=photo]:not(.uir-layout-stacked) .uir-input {
  flex-grow: 0;
}

@media (min-width: 768px) {
  .qdnapro-unit-input-row {
    border: 1px solid var(--c-border-card);
    border-radius: var(--r-row);
    margin-bottom: 8px;
  }
  .qdnapro-unit-input-row.uir-borderless {
    border: 1.5px solid transparent;
    border-bottom: none;
    border-radius: var(--r-row);
    margin-bottom: 0;
  }
}
.qdnapro-wizard-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9000;
  /* Geen ingebakken zoom, en dat is sinds 2026-08-03 de regel voor ELK venster: `qdnapro-modal` had
     er een van 1.25 voor de legacy `body { zoom: 0.8 }`, en die is weggehaald omdat die body-zoom een
     v1-pagina niet meer bereikt (zie de uitleg in `components/v2/modal/_modal.scss`). Zet hier dus ook
     geen counter-zoom terug; komt zo'n pagina er ooit weer, dan hoort de correctie bij die PAGINA. */
}

.qdnapro-wizard-modal.wm-open {
  display: flex;
}

.wm-scrim {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(11, 11, 13, 0.45);
  animation: qdnapro-wm-scrim-in 160ms ease-out;
}

/* OUTER GREY FRAME — identical to qdnapro-modal .modal-dialog. */
.wm-dialog {
  background: #f0f1f2;
  border: 0.5px solid #ffffff;
  border-radius: 16px;
  padding: 8px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.3), 0 8px 12px 6px rgba(0, 0, 0, 0.15);
  width: 480px;
  max-width: calc(100vw - 48px);
  transition: width 0.38s cubic-bezier(0.4, 0, 0.2, 1);
  animation: qdnapro-wm-dialog-in 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Step viewport (inside the 8px grey padding). Steps stack + slide here. */
.wm-steps {
  position: relative;
  height: var(--wm-height, 540px);
  max-height: calc(100vh - 64px);
  overflow: hidden;
}

/* AUTO-HEIGHT hosts (opt-in attribute, 20.07.2026): the component writes the
   active step's measured natural height as an inline style; this transition
   makes step changes glide on the SAME curve as the width. Gated on the
   attribute so fixed-height hosts (Master Picker) never animate height. */
.qdnapro-wizard-modal[auto-height] .wm-steps {
  transition: height 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Each step IS the white window — same border as qdnapro-modal .modal-window. */
.qdnapro-wizard-step {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 0.5px solid #c4c7cc;
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.36s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.28s ease;
}

.qdnapro-wizard-step.wm-active {
  transform: none;
  opacity: 1;
}

.qdnapro-wizard-step.wm-off-left {
  transform: translateX(-70px);
  opacity: 0;
  pointer-events: none;
}

.qdnapro-wizard-step.wm-off-right {
  transform: translateX(70px);
  opacity: 0;
  pointer-events: none;
}

/* Optional centered segment / tab bar under the header (like qdnapro-modal's
   tabs row, e.g. "Vragen | Tijdsinstellingen"). Drop a qdnapro-segment in a
   .wm-tabbar; omit the element when it's not needed (= hidden). [Kim 2026-06-15] */
.wm-tabbar {
  display: flex;
  justify-content: center;
  padding: 6px 16px 8px;
  flex-shrink: 0;
}

/* with-info step: transparent so the grey dialog frame shows on the left; a
   grey info panel + 8px gap + the white bordered main. Mirrors qdnapro-modal. */
.qdnapro-wizard-step.wm-with-info {
  flex-direction: row;
  gap: 8px;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

.wm-info {
  flex: 0 0 260px;
  min-width: 0;
  align-self: stretch;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: hidden;
}

.wm-info-head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.wm-info-head qdnapro-icon {
  color: #40499a;
}

.wm-info-title {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: #40499a;
}

.wm-info-text {
  font-size: 14px;
  line-height: 22px;
  color: #1a1f4d;
}

.wm-info-illustration {
  margin-top: auto;
  margin-left: -16px;
  margin-right: -16px;
  margin-bottom: -16px;
  align-self: stretch;
  pointer-events: none;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  /* Decorative illustration always at 60% opacity so it stays subtle behind
     the content, consistent across every modal. [Kim 2026-06-15] */
  opacity: 0.6;
}

.wm-info-illustration qdnapro-illustration,
.wm-info-illustration img,
.wm-info-illustration svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* The DMS folder-access role art is tall portrait; without a height cap it
   fills the whole info column. Cap it so it sits as a subtle bottom
   illustration like the landscape ones. Scoped to the role-* assets so the
   other picker consumers (teams/locations/KPIs) are untouched. [Kim 2026-07-21] */
.wm-info-illustration img[src*=role-] {
  width: auto;
  max-height: 300px;
  margin-left: auto;
  margin-right: auto;
}

.wm-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 0.5px solid #c4c7cc;
  border-radius: 12px;
  overflow: hidden;
}

.qdnapro-wizard-modal ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.qdnapro-wizard-modal ::-webkit-scrollbar-track {
  background: transparent;
}

.qdnapro-wizard-modal ::-webkit-scrollbar-corner {
  background: transparent;
}

.qdnapro-wizard-modal ::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 8px;
  transition: background 160ms ease;
}

.qdnapro-wizard-modal *:hover::-webkit-scrollbar-thumb,
.qdnapro-wizard-modal *:focus-within::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.22);
}

.qdnapro-wizard-modal ::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.34);
}

@keyframes qdnapro-wm-scrim-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes qdnapro-wm-dialog-in {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
/* dark theme */
[data-theme=dark] .wm-dialog,
[data-theme-dark] .wm-dialog {
  background: #1f2229;
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme=dark] .qdnapro-wizard-step,
[data-theme-dark] .qdnapro-wizard-step,
[data-theme=dark] .wm-main,
[data-theme-dark] .wm-main {
  background: #2a2d36;
  border-color: rgba(255, 255, 255, 0.1);
}

qdnapro-unit-type {
  display: contents;
}

.qdnapro-unit-type {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  font-weight: normal;
  text-decoration: none;
  justify-content: space-between;
  min-height: 120px;
}
.qdnapro-unit-type:hover {
  background-color: #f5f6f8;
}

.qdnapro-unit-type *,
.qdnapro-unit-type *::before,
.qdnapro-unit-type *::after {
  box-sizing: border-box;
}

.utc-top {
  display: flex;
  flex-direction: row;
  gap: 16px;
  padding: 1.25rem 1.5rem 0.5rem;
  align-items: center;
}

.utc-icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 44px;
  align-self: center;
}
.utc-icon img {
  width: 48px;
  height: 48px;
  border-radius: 0.5rem;
  object-fit: contain;
  display: block;
}

.utc-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.utc-heading {
  font-family: var(--Type-Font-Family-primary, Inter);
  font-size: var(--Font-size-Body-Inter-medium-14, 14px);
  font-weight: 600;
  line-height: var(--Line-Height-Body-Body-Medium-Caption, 24px);
  color: var(--Text-Body, #0b0b0d);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
}

.utc-subheading {
  font-family: var(--Type-Font-Family-primary, Inter);
  font-size: var(--Font-size-Body-small-12, 12px);
  font-weight: 400;
  line-height: var(--Line-Height-Body-Body-Small, 20px);
  color: var(--Text-Body-Secondary, #6b7280);
  margin-top: 0;
  text-overflow: ellipsis;
}

.utc-footer {
  display: flex;
  flex-flow: row;
  width: 100%;
  padding: 0.5rem 1.5rem 0.75rem;
  box-sizing: border-box;
}
.utc-footer[hidden] {
  display: none;
}

.utc-pair {
  display: flex;
  gap: 4px;
  align-items: baseline;
  padding-right: 24px;
}

.utc-label,
.utc-value {
  font-family: var(--Type-Font-Family-primary, Inter);
  font-size: var(--Font-size-Body-small-12, 12px);
  font-weight: 400;
  line-height: var(--Line-Height-Body-Body-Small, 20px);
  color: var(--Surface-Signal-Signal-grey-Detail, #6b7280);
}

.qdnapro-date-carousel {
  --dc-active: #3a4290;
  --dc-card-bg: #ffffff;
  --dc-border: rgba(58, 66, 144, 0.13);
  --dc-border-past: rgba(58, 66, 144, 0.07);
  --dc-name-idle: #9096c4;
  --dc-day-idle: #525aaa;
  --dc-name-past: #a8accc;
  --dc-day-past: #7378b0;
  --dc-dot-idle: rgba(58, 66, 144, 0.22);
  --dc-title-color: #1a1733;
  --dc-month-color: #525aaa;
  display: block;
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
  border-bottom: 0.5px solid var(--dc-border);
  overflow-x: clip;
}

.qdnapro-date-carousel.is-dragging {
  cursor: grabbing;
}

.qdnapro-date-carousel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0 8px;
  min-height: 52px;
  max-height: 52px;
  overflow: hidden;
  transition: max-height 0.28s cubic-bezier(0.2, 0, 0, 1), min-height 0.28s cubic-bezier(0.2, 0, 0, 1), opacity 0.18s ease, transform 0.28s cubic-bezier(0.2, 0, 0, 1);
}

.qdnapro-date-carousel__header-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.qdnapro-date-carousel__header-title {
  font-size: 18px;
  font-weight: 500;
  color: var(--dc-title-color);
  line-height: 1.2;
}

.qdnapro-date-carousel__header-month {
  font-size: 13px;
  font-weight: 500;
  color: var(--dc-month-color);
  letter-spacing: 0.02em;
}

.qdnapro-date-carousel__vandaag-btn {
  flex-shrink: 0;
  align-self: flex-start;
  transform-origin: right center;
}

.qdnapro-date-carousel__vandaag-btn.is-popping-in {
  animation: qdnapro-dc-btn-in 0.38s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.qdnapro-date-carousel__vandaag-btn.is-popping-out {
  animation: qdnapro-dc-btn-out 0.2s ease-in forwards;
}

.qdnapro-date-carousel__strip-wrap {
  clip-path: inset(-200px 0px -200px 0px);
  padding: 10px 0 8px;
  margin-top: -10px;
  -webkit-mask: linear-gradient(to right, transparent 0%, black 11%, black 89%, transparent 100%);
  mask: linear-gradient(to right, transparent 0%, black 11%, black 89%, transparent 100%);
  touch-action: pan-y;
}

.qdnapro-date-carousel__strip {
  display: flex;
  gap: 8px;
  will-change: transform;
}

.qdnapro-date-carousel__card {
  width: 56px;
  height: 72px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  transition: transform 0.15s ease, background-color 0.12s ease, border-color 0.12s ease, opacity 0.12s ease, width 0.28s cubic-bezier(0.2, 0, 0, 1), height 0.28s cubic-bezier(0.2, 0, 0, 1), border-radius 0.28s cubic-bezier(0.2, 0, 0, 1);
}

.qdnapro-date-carousel__card--idle {
  background: var(--dc-card-bg);
  border: 0.5px solid var(--dc-border);
}

.qdnapro-date-carousel__card--idle .qdnapro-date-carousel__card-name {
  color: var(--dc-name-idle);
}

.qdnapro-date-carousel__card--idle .qdnapro-date-carousel__card-day {
  color: var(--dc-day-idle);
}

.qdnapro-date-carousel__card--idle .qdnapro-date-carousel__card-dot {
  background: var(--dc-dot-idle);
}

.qdnapro-date-carousel__card--past {
  background: var(--dc-card-bg);
  border: 0.5px solid var(--dc-border-past);
  opacity: 0.48;
}

.qdnapro-date-carousel__card--past .qdnapro-date-carousel__card-name {
  color: var(--dc-name-past);
}

.qdnapro-date-carousel__card--past .qdnapro-date-carousel__card-day {
  color: var(--dc-day-past);
}

.qdnapro-date-carousel__card--past .qdnapro-date-carousel__card-dot {
  background: var(--dc-dot-idle);
}

.qdnapro-date-carousel__card--active {
  background: var(--dc-active);
  border: none;
}

.qdnapro-date-carousel__card--active .qdnapro-date-carousel__card-name {
  color: rgba(255, 255, 255, 0.6);
}

.qdnapro-date-carousel__card--active .qdnapro-date-carousel__card-day {
  color: #ffffff;
}

.qdnapro-date-carousel__card--active .qdnapro-date-carousel__card-dot {
  background: rgba(255, 255, 255, 0.5);
}

.qdnapro-date-carousel__card-name {
  font-size: 12px;
  line-height: 1;
  margin-bottom: 4px;
  font-weight: 400;
  transition: color 0.12s ease, font-size 0.28s cubic-bezier(0.2, 0, 0, 1), margin-bottom 0.28s cubic-bezier(0.2, 0, 0, 1);
}

.qdnapro-date-carousel__card-day {
  font-size: 23px;
  line-height: 1;
  font-weight: 500;
  transition: color 0.12s ease, font-size 0.28s cubic-bezier(0.2, 0, 0, 1);
}

.qdnapro-date-carousel__card-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  margin-top: 5px;
}

.qdnapro-date-carousel .drag-mode .qdnapro-date-carousel__card--active:not(.is-growing) {
  transform: scale(1.1);
  transition: transform 0.18s ease;
}

.qdnapro-date-carousel__card.is-pressing {
  transform: scale(0.86);
  transition: transform 0.09s ease-in;
}

.qdnapro-date-carousel[compact] .qdnapro-date-carousel__header {
  max-height: 0;
  min-height: 0;
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
}

.qdnapro-date-carousel[compact] .qdnapro-date-carousel__card {
  width: 38px;
  height: 44px;
  border-radius: 10px;
}

.qdnapro-date-carousel[compact] .qdnapro-date-carousel__card-name {
  font-size: 9px;
  margin-bottom: 2px;
}

.qdnapro-date-carousel[compact] .qdnapro-date-carousel__card-day {
  font-size: 15px;
}

.qdnapro-date-carousel[compact] .qdnapro-date-carousel__card-dot {
  width: 3px;
  height: 3px;
  margin-top: 2px;
}

.qdnapro-date-carousel[compact] .qdnapro-date-carousel__strip-wrap {
  padding: 6px 0;
  margin-top: -6px;
}

@keyframes qdnapro-dc-grow {
  0% {
    transform: scale(1);
  }
  55% {
    transform: scale(1.18);
  }
  100% {
    transform: scale(1.1);
  }
}
@keyframes qdnapro-dc-pop {
  0% {
    transform: scale(0.86);
  }
  50% {
    transform: scale(1.12);
  }
  72% {
    transform: scale(0.96);
  }
  87% {
    transform: scale(1.03);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes qdnapro-dc-confirm {
  0% {
    transform: scale(1.1);
  }
  45% {
    transform: scale(1.15);
  }
  70% {
    transform: scale(0.97);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes qdnapro-dc-wiggle {
  0% {
    transform: scale(1) rotate(0deg);
  }
  25% {
    transform: scale(0.93) rotate(-3deg);
  }
  60% {
    transform: scale(1.04) rotate(2.5deg);
  }
  80% {
    transform: scale(0.98) rotate(-1deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
  }
}
.qdnapro-date-carousel__card.is-growing {
  animation: qdnapro-dc-grow 0.32s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  transition: none;
}

.qdnapro-date-carousel__card.is-popping {
  animation: qdnapro-dc-pop 0.48s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  transition: none;
}

.qdnapro-date-carousel__card.is-confirming {
  animation: qdnapro-dc-confirm 0.42s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  transition: none;
}

.qdnapro-date-carousel__card.is-wiggle {
  animation: qdnapro-dc-wiggle 0.36s ease forwards;
  transition: none;
}

@keyframes qdnapro-dc-btn-in {
  0% {
    transform: scale(0.4);
    opacity: 0;
  }
  65% {
    transform: scale(1.1);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes qdnapro-dc-btn-out {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  35% {
    transform: scale(1.08);
    opacity: 1;
  }
  100% {
    transform: scale(0.4);
    opacity: 0;
  }
}
.qdnapro-unit-card {
  display: flex;
  position: relative;
  overflow: visible;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  transition: transform 170ms cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 120ms ease;
}

.qdnapro-unit-card__frame {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  position: relative;
  box-sizing: border-box;
  border: 1.5px solid var(--c-border-soft-2);
  border-radius: var(--r-2);
  background: var(--c-bg-card);
  overflow: hidden;
  transition: border-color 120ms ease, background 120ms ease;
}

.qdnapro-unit-card.is-pressing {
  transform: scale(0.95);
  transition: transform 70ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-unit-card,
  .qdnapro-unit-card.is-pressing {
    transition: none;
    transform: none;
  }
}
.qdnapro-unit-card.view-grid-compact .qdnapro-unit-card__frame,
.qdnapro-unit-card.view-grid-standard .qdnapro-unit-card__frame {
  flex-direction: column;
}

.qdnapro-unit-card.view-grid-compact .qdnapro-unit-card__name,
.qdnapro-unit-card.view-grid-standard .qdnapro-unit-card__name {
  flex: 1 0 auto;
  padding: 8px 6px 6px;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 400;
  color: var(--c-text-heading);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  white-space: normal;
  overflow: hidden;
}

.qdnapro-unit-card.view-grid-compact .qdnapro-unit-card__image-wrap,
.qdnapro-unit-card.view-grid-standard .qdnapro-unit-card__image-wrap {
  width: 100%;
  aspect-ratio: 1/1;
  flex-shrink: 0;
}

.qdnapro-unit-card.view-grid-compact .qdnapro-unit-card__check-badge,
.qdnapro-unit-card.view-grid-standard .qdnapro-unit-card__check-badge {
  position: absolute;
  bottom: 6px;
  right: 6px;
}

.qdnapro-unit-card.view-grid-standard .qdnapro-unit-card__name {
  font-size: 15px;
  padding: 9px 11px 7px;
}

.qdnapro-unit-card.view-grid-standard .qdnapro-unit-card__fallback-abbr {
  font-size: 24px;
}

.qdnapro-unit-card.view-grid-standard .qdnapro-unit-card__check-badge {
  bottom: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
}

.qdnapro-unit-card.view-list-compact .qdnapro-unit-card__frame,
.qdnapro-unit-card.view-list-large .qdnapro-unit-card__frame {
  flex-direction: row;
  align-items: center;
}

.qdnapro-unit-card.view-list-compact .qdnapro-unit-card__image-wrap,
.qdnapro-unit-card.view-list-large .qdnapro-unit-card__image-wrap {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  order: -1;
}

.qdnapro-unit-card.view-list-compact .qdnapro-unit-card__status-bar,
.qdnapro-unit-card.view-list-large .qdnapro-unit-card__status-bar {
  display: none;
}

.qdnapro-unit-card.view-list-compact .qdnapro-unit-card__name,
.qdnapro-unit-card.view-list-large .qdnapro-unit-card__name {
  flex: 1;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--c-text-heading);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.qdnapro-unit-card.view-list-compact .qdnapro-unit-card__check-badge,
.qdnapro-unit-card.view-list-large .qdnapro-unit-card__check-badge {
  position: static;
  margin-right: 10px;
  flex-shrink: 0;
}

.qdnapro-unit-card.view-list-large .qdnapro-unit-card__image-wrap {
  width: 64px;
  height: 64px;
}

.qdnapro-unit-card.view-list-large .qdnapro-unit-card__name {
  font-size: 14px;
  font-weight: 600;
}

.qdnapro-unit-card.view-list-large .qdnapro-unit-card__check-badge {
  margin-right: 14px;
  width: 26px;
  height: 26px;
}

.qdnapro-unit-card.flat.view-list-compact .qdnapro-unit-card__frame,
.qdnapro-unit-card.flat.view-list-large .qdnapro-unit-card__frame {
  border: 1.5px solid transparent;
  border-bottom: 1px solid var(--c-border-soft);
  border-radius: 0;
}

.qdnapro-unit-card__clear {
  display: none;
}

.qdnapro-unit-card.view-list-compact .qdnapro-unit-card__clear,
.qdnapro-unit-card.view-list-large .qdnapro-unit-card__clear {
  display: flex;
  flex-shrink: 0;
  margin-left: 4px;
}

.qdnapro-unit-card__image-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f6f7fb;
  overflow: hidden;
}

.qdnapro-unit-card__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.qdnapro-unit-card__fallback {
  width: 100%;
  height: 100%;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--uc-fb-bg, #eef0fb);
}

.qdnapro-unit-card__fallback-abbr {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--uc-fb-fg, #4a52a0);
}

.qdnapro-unit-card__check-badge {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--c-brand-purple);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-text-on-action);
  flex-shrink: 0;
  pointer-events: none;
  opacity: 0;
  transform: scale(0.4);
  transition: opacity 150ms ease, transform 220ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.qdnapro-unit-card__check-badge svg {
  display: block;
}

.qdnapro-unit-card__lp-ring {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 2.5px solid var(--c-brand-purple);
  pointer-events: none;
  opacity: 0;
}

.qdnapro-unit-card__status-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  color: #fff;
  position: relative;
  z-index: 2;
  flex-shrink: 0;
}

.qdnapro-unit-card__status-icon {
  display: flex;
  flex-shrink: 0;
}

.qdnapro-unit-card__status-icon svg {
  display: block;
}

.qdnapro-unit-card__status-label {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qdnapro-unit-card.result-ok .qdnapro-unit-card__status-bar {
  background: #6bb6ab;
}

.qdnapro-unit-card.result-not-ok .qdnapro-unit-card__status-bar {
  background: #de5066;
}

.qdnapro-unit-card.result-future-fix .qdnapro-unit-card__status-bar {
  background: #ef8e01;
}

.qdnapro-unit-card.result-issue .qdnapro-unit-card__status-bar {
  background: #8a4ea0;
}

.qdnapro-unit-card.has-result.view-grid-compact .qdnapro-unit-card__check-badge,
.qdnapro-unit-card.has-result.view-grid-standard .qdnapro-unit-card__check-badge {
  bottom: 36px;
}

.qdnapro-unit-card.is-selected {
  box-shadow: 0 0 0 3px var(--focus-glow);
}

.qdnapro-unit-card.is-selected .qdnapro-unit-card__frame {
  background: var(--c-bg-subtle-purple);
}

.qdnapro-unit-card.is-selected .qdnapro-unit-card__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(26, 31, 77, 0.32);
  pointer-events: none;
  z-index: 1;
}

.qdnapro-unit-card.is-selected .qdnapro-unit-card__check-badge {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
  animation: uc-badge-pop 0.52s cubic-bezier(0.34, 1.56, 0.5, 1);
}

.qdnapro-unit-card__check-path {
  stroke-dasharray: 23;
  stroke-dashoffset: 23;
  transition: stroke-dashoffset 0.15s ease;
}

.qdnapro-unit-card.is-selected .qdnapro-unit-card__check-path {
  animation: uc-draw 0.38s cubic-bezier(0.22, 1, 0.36, 1) 0.04s forwards;
}

@keyframes uc-badge-pop {
  0% {
    transform: scale(0.7) rotate(0deg);
  }
  20% {
    transform: scale(1.22) rotate(-5deg);
  }
  44% {
    transform: scale(0.9) rotate(3deg);
  }
  64% {
    transform: scale(1.08) rotate(-1deg);
  }
  80% {
    transform: scale(0.97) rotate(0deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
  }
}
@keyframes uc-draw {
  0% {
    stroke-dashoffset: 23;
  }
  62% {
    stroke-dashoffset: -1;
  }
  80% {
    stroke-dashoffset: 0.7;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.qdnapro-unit-card.status-problem.view-list-compact .qdnapro-unit-card__frame,
.qdnapro-unit-card.status-problem.view-list-large .qdnapro-unit-card__frame {
  border-left-color: #e04060;
  border-left-width: 3px;
}

.qdnapro-unit-card .qdnapro-unit-card__image-wrap {
  position: relative;
}

.qdnapro-unit-card .qdnapro-unit-card__mandatory-badge {
  position: absolute;
  top: -7px;
  right: -7px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #DE5066;
  border: 2px solid var(--c-bg-card);
  box-sizing: border-box;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  pointer-events: none;
  z-index: 4;
}

.qdnapro-unit-card .qdnapro-unit-card__mandatory-badge svg {
  width: 12px;
  height: 12px;
  display: block;
}

.qdnapro-unit-card.is-mandatory.view-grid-compact .qdnapro-unit-card__name,
.qdnapro-unit-card.is-mandatory.view-grid-standard .qdnapro-unit-card__name {
  padding-right: 14px;
}

.qdnapro-unit-card.view-list-compact .qdnapro-unit-card__mandatory-badge {
  width: 16px;
  height: 16px;
  top: -6px;
  right: -6px;
  border: 2px solid var(--c-bg-card);
  box-sizing: border-box;
}

.qdnapro-unit-card.view-list-compact .qdnapro-unit-card__mandatory-badge svg {
  width: 9px;
  height: 9px;
}

.qdnapro-unit-context {
  display: block;
}

.qdnapro-unit-context.is-empty {
  display: none;
}

.qdnapro-unit-context__bar {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  max-width: 200px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: background 120ms ease-out;
}

.qdnapro-unit-context__bar:hover {
  background: var(--c-grey-100);
}

.qdnapro-unit-context__bar:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--focus-glow);
  border-color: var(--focus-ring);
}

.qdnapro-unit-context__name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: var(--fw-medium);
  color: var(--c-text-heading);
}

.qdnapro-unit-context__chevron {
  flex: none;
  display: inline-flex;
  align-items: center;
  color: var(--c-text-muted);
}

.qdnapro-unit-context__chevron svg {
  display: block;
}

.qdnapro-unit-context__overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
}

.qdnapro-unit-context__overlay[hidden] {
  display: none;
}

.qdnapro-unit-context__backdrop {
  position: absolute;
  inset: 0;
  background: var(--c-black-30);
  opacity: 0;
  transition: opacity 240ms ease;
}

.qdnapro-unit-context__panel {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  background: var(--c-bg-card);
  clip-path: circle(0% at 100% 0%);
  transition: clip-path 340ms cubic-bezier(0.4, 0, 0.2, 1);
  will-change: clip-path;
}

.qdnapro-unit-context__overlay.is-open .qdnapro-unit-context__backdrop {
  opacity: 1;
}

.qdnapro-unit-context__overlay.is-open .qdnapro-unit-context__panel {
  clip-path: circle(150% at 100% 0%);
}

.qdnapro-unit-context__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--s-3);
  padding: 18px var(--s-4) var(--s-3);
}

.qdnapro-unit-context__heading-wrap {
  display: flex;
  align-items: center;
  gap: var(--s-2);
  flex-wrap: wrap;
}

.qdnapro-unit-context__title {
  font-size: 24px;
  font-weight: var(--fw-semi);
  color: var(--c-text-heading);
  line-height: 1.3;
}

.qdnapro-unit-context__subtitle {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: var(--r-pill);
  background: var(--c-bg-secondary-purple);
  font-size: 20px;
  font-weight: var(--fw-medium);
  color: var(--c-brand-purple);
}

.qdnapro-unit-context__subtitle.is-pulsing {
  animation: qdnapro-unit-context-count-pop 420ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes qdnapro-unit-context-count-pop {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.18);
  }
  55% {
    transform: scale(0.94);
  }
  75% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
.qdnapro-icon-btn.qdnapro-unit-context__close {
  flex: none;
  color: var(--c-text-muted);
}

.qdnapro-unit-context__hint {
  display: inline-flex;
  align-self: center;
  align-items: center;
  gap: 6px;
  margin: 0 var(--s-4) var(--s-2);
  padding: 4px 10px;
  border-radius: 6px;
  background: var(--c-bg-secondary-purple);
  color: var(--c-brand-purple);
  font-size: 14px;
  font-weight: var(--fw-medium);
  line-height: 1.3;
}

.qdnapro-unit-context__hint::before {
  content: "";
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  background-color: var(--c-brand-purple);
  -webkit-mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2z'/%3E%3C/svg%3E");
  mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2z'/%3E%3C/svg%3E");
}

.qdnapro-unit-context__search {
  padding: 0 var(--s-4) var(--s-3);
}

.qdnapro-unit-context__list {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 2px var(--s-3) var(--s-4);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.qdnapro-unit-context__list[hidden] {
  display: none;
}

.qdnapro-unit-context__empty {
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 40px var(--s-4);
  color: var(--c-text-muted);
  font-size: 13px;
}

.qdnapro-unit-context__empty[hidden] {
  display: none;
}

@media (min-width: 640px) {
  .qdnapro-unit-context__overlay {
    align-items: center;
    justify-content: center;
    padding: var(--s-6);
  }
  .qdnapro-unit-context__panel {
    flex: none;
    width: 480px;
    max-width: 100%;
    max-height: 80vh;
    border-radius: var(--r-card);
    box-shadow: var(--shadow-card);
    overflow: hidden;
  }
}
.qdnapro-summary-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  padding: 8px 16px;
  background: color-mix(in srgb, var(--theme-btn-color, #40499a) 10%, white);
  color: var(--theme-btn-color, #40499a);
  border-radius: var(--r-btn);
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

qdnapro-pwa-main-menu-item,
.qdnapro-pwa-main-menu-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
qdnapro-pwa-main-menu-item .pmi-circle,
.qdnapro-pwa-main-menu-item .pmi-circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 120ms ease-out;
}
qdnapro-pwa-main-menu-item .pmi-circle qdnapro-activity-icon,
.qdnapro-pwa-main-menu-item .pmi-circle qdnapro-activity-icon {
  width: 36px;
  height: 36px;
  display: block;
}
qdnapro-pwa-main-menu-item:hover .pmi-circle,
qdnapro-pwa-main-menu-item .pmi-circle.force-hover,
.qdnapro-pwa-main-menu-item:hover .pmi-circle,
.qdnapro-pwa-main-menu-item .pmi-circle.force-hover {
  background: rgba(255, 255, 255, 0.25);
}
qdnapro-pwa-main-menu-item .pmi-circle.is-pressed,
qdnapro-pwa-main-menu-item .pmi-circle.force-pressed,
.qdnapro-pwa-main-menu-item .pmi-circle.is-pressed,
.qdnapro-pwa-main-menu-item .pmi-circle.force-pressed {
  background: rgba(255, 255, 255, 0.35);
}
qdnapro-pwa-main-menu-item .pmi-label,
.qdnapro-pwa-main-menu-item .pmi-label {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #ffffff;
  text-align: center;
  line-height: 1.3;
  max-width: 72px;
  word-break: break-word;
}

.qdnapro-bottom-nav {
  --bn-height: 60px;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  align-items: stretch;
  height: calc(var(--bn-height) + env(safe-area-inset-bottom, 0px));
  padding-bottom: env(safe-area-inset-bottom, 0px);
  background: var(--c-brand-purple);
  border-top: none;
  box-shadow: 0 -2px 16px rgba(20, 25, 80, 0.18);
  box-sizing: border-box;
}
.qdnapro-bottom-nav *, .qdnapro-bottom-nav *::before, .qdnapro-bottom-nav *::after {
  box-sizing: border-box;
}
.qdnapro-bottom-nav {
  transition: transform 0.3s cubic-bezier(0.2, 0, 0, 1), opacity 0.22s ease;
}

.qdnapro-bottom-nav.nav-hidden {
  transform: translateY(calc(100% + 24px));
  opacity: 0;
  pointer-events: none;
}

.qdnapro-bottom-nav-btn {
  flex: 1 1 0;
  min-width: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px 4px;
  background: transparent;
  border: none;
  border-radius: 0;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  color: var(--c-white-65);
  font-family: "Inter", sans-serif;
  text-decoration: none;
  transition: color 120ms ease-out;
}
.qdnapro-bottom-nav-btn__icon {
  width: 48px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  position: relative;
  transition: background-color 120ms ease-out, transform 100ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.qdnapro-bottom-nav-btn__icon svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
  stroke: none;
  pointer-events: none;
}
.qdnapro-bottom-nav-btn__svg-filled {
  display: none;
  position: absolute;
  width: 24px;
  height: 24px;
  fill: currentColor;
  stroke: none;
  pointer-events: none;
  clip-path: inset(0 100% 0 0);
}
.qdnapro-bottom-nav-btn__dot {
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--c-text-on-action);
  opacity: 0;
  transition: opacity 150ms ease-out;
  pointer-events: none;
}
.qdnapro-bottom-nav-btn__label {
  display: none;
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.qdnapro-bottom-nav-btn [data-role=nav-badge] {
  position: absolute;
  top: 4px;
  right: calc(50% - 26px);
  z-index: 2;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}
.qdnapro-bottom-nav-btn.has-badge {
  z-index: 2;
}
@media (hover: hover) {
  .qdnapro-bottom-nav-btn:hover:not(.is-disabled):not(.is-fab) .qdnapro-bottom-nav-btn__icon {
    background: var(--c-white-12);
  }
}
.qdnapro-bottom-nav-btn:active:not(.is-disabled):not(.is-fab) .qdnapro-bottom-nav-btn__icon, .qdnapro-bottom-nav-btn.is-pressing:not(.is-disabled):not(.is-fab) .qdnapro-bottom-nav-btn__icon {
  background: var(--c-white-22);
  transform: scale(0.88);
}
.qdnapro-bottom-nav-btn.is-active {
  color: var(--c-text-on-action);
}
.qdnapro-bottom-nav-btn.is-active .qdnapro-bottom-nav-btn__icon {
  background: var(--c-white-22);
}
.qdnapro-bottom-nav-btn.is-active .qdnapro-bottom-nav-btn__dot {
  opacity: 1;
}
@media (hover: hover) {
  .qdnapro-bottom-nav-btn.is-active:hover:not(.is-disabled) .qdnapro-bottom-nav-btn__icon {
    background: var(--c-white-28);
  }
}
.qdnapro-bottom-nav-btn.is-active:active:not(.is-disabled) .qdnapro-bottom-nav-btn__icon, .qdnapro-bottom-nav-btn.is-active.is-pressing:not(.is-disabled) .qdnapro-bottom-nav-btn__icon {
  background: var(--c-white-22);
  transform: scale(0.88);
}
.qdnapro-bottom-nav-btn.is-disabled {
  color: var(--c-white-28);
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.45;
}
.qdnapro-bottom-nav-btn:focus {
  outline: none;
}
.qdnapro-bottom-nav-btn:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: -2px;
  border-radius: 4px;
}
.qdnapro-bottom-nav-btn.is-fab {
  overflow: visible;
}
.qdnapro-bottom-nav-btn.is-fab .qdnapro-bottom-nav-btn__icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #ffffff;
  color: var(--c-brand-purple);
  transform: translateY(-8px);
  box-shadow: 0 2px 8px rgba(20, 25, 80, 0.2), 0 6px 20px rgba(20, 25, 80, 0.14);
  transition: background-color 120ms ease-out, box-shadow 120ms ease-out, transform 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.qdnapro-bottom-nav-btn.is-fab .qdnapro-bottom-nav-btn__icon svg {
  stroke-width: 2;
}
@media (hover: hover) {
  .qdnapro-bottom-nav-btn.is-fab:hover:not(.is-disabled) .qdnapro-bottom-nav-btn__icon {
    background: var(--c-white-90);
    transform: translateY(-12px);
    box-shadow: 0 4px 14px rgba(20, 25, 80, 0.28), 0 8px 28px rgba(20, 25, 80, 0.18);
  }
}
.qdnapro-bottom-nav-btn.is-fab:active:not(.is-disabled) .qdnapro-bottom-nav-btn__icon, .qdnapro-bottom-nav-btn.is-fab.is-pressing:not(.is-disabled) .qdnapro-bottom-nav-btn__icon {
  background: var(--c-white-85);
  transform: translateY(-4px) scale(0.93);
  box-shadow: 0 1px 4px rgba(20, 25, 80, 0.14), 0 2px 8px rgba(20, 25, 80, 0.1);
}
.qdnapro-bottom-nav-btn.is-fab.is-active {
  color: var(--c-white-65);
}
.qdnapro-bottom-nav-btn.is-fab.is-active .qdnapro-bottom-nav-btn__icon {
  background: #ffffff;
  color: var(--c-brand-purple);
}
.qdnapro-bottom-nav-btn.is-fab.is-active .qdnapro-bottom-nav-btn__dot {
  display: none;
}
.qdnapro-bottom-nav-btn.is-fab:focus-visible {
  outline-offset: 4px;
  border-radius: 50%;
}

.qdnapro-bottom-nav[variant=sliding-pill] {
  position: relative;
  user-select: none;
  cursor: grab;
}
.qdnapro-bottom-nav[variant=sliding-pill]:active {
  cursor: grabbing;
}
.qdnapro-bottom-nav[variant=sliding-pill] .qdnapro-bottom-nav-btn .qdnapro-bottom-nav-btn__icon {
  background: transparent !important;
}
.qdnapro-bottom-nav[variant=sliding-pill] .qdnapro-bottom-nav-btn__dot {
  display: none;
}
.qdnapro-bottom-nav[variant=sliding-pill] .qdnapro-bottom-nav-btn.has-badge {
  z-index: 2;
}
.qdnapro-bottom-nav[variant=sliding-pill] qdnapro-bottom-nav-btn {
  position: relative;
  z-index: 0;
  cursor: inherit;
  color: var(--c-white-55) !important;
}
.qdnapro-bottom-nav[variant=sliding-pill] .qdnapro-bottom-nav__pill {
  position: absolute;
  top: calc((var(--bn-height) - 40px) / 2);
  left: 0;
  width: 48px;
  height: 40px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: brightness(1.5);
  -webkit-backdrop-filter: brightness(1.5);
  border: 0.5px solid rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 2px 6px rgba(0, 0, 0, 0.1);
  transform: translateX(0);
  transition: transform 420ms cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
  z-index: 1;
}

.qdnapro-bottom-nav[variant=floating-glass],
.qdnapro-bottom-nav[variant=floating-solid] {
  left: 16px;
  right: 16px;
  bottom: 20px;
  height: auto;
  padding: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(24px) saturate(1.5);
  -webkit-backdrop-filter: blur(24px) saturate(1.5);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 8px 32px rgba(20, 25, 80, 0.16), 0 2px 8px rgba(20, 25, 80, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.75);
  user-select: none;
  cursor: grab;
  touch-action: none;
}
.qdnapro-bottom-nav[variant=floating-glass]:active,
.qdnapro-bottom-nav[variant=floating-solid]:active {
  cursor: grabbing;
}
.qdnapro-bottom-nav[variant=floating-glass]::after,
.qdnapro-bottom-nav[variant=floating-solid]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 14px;
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn {
  padding: 11px 4px;
  color: rgba(50, 55, 100, 0.45);
  position: relative;
  z-index: 0;
  cursor: inherit;
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn.has-badge,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn.has-badge {
  z-index: 2;
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn .qdnapro-bottom-nav-btn__icon,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn .qdnapro-bottom-nav-btn__icon {
  width: 44px;
  height: 40px;
  background: transparent !important;
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn .qdnapro-bottom-nav-btn__icon svg,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn .qdnapro-bottom-nav-btn__icon svg {
  width: 28px;
  height: 28px;
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn .qdnapro-bottom-nav-btn__svg-filled,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn .qdnapro-bottom-nav-btn__svg-filled {
  display: block;
  color: var(--c-brand-purple);
  width: 28px;
  height: 28px;
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn .qdnapro-bottom-nav-btn__label,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn .qdnapro-bottom-nav-btn__label {
  display: none;
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn .qdnapro-bottom-nav-btn__dot,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn .qdnapro-bottom-nav-btn__dot {
  display: none;
}
@media (hover: hover) {
  .qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn:hover:not(.is-disabled) .qdnapro-bottom-nav-btn__icon,
  .qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn:hover:not(.is-disabled) .qdnapro-bottom-nav-btn__icon {
    background: transparent !important;
  }
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn:active:not(.is-disabled) .qdnapro-bottom-nav-btn__icon, .qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn.is-pressing:not(.is-disabled) .qdnapro-bottom-nav-btn__icon,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn:active:not(.is-disabled) .qdnapro-bottom-nav-btn__icon,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn.is-pressing:not(.is-disabled) .qdnapro-bottom-nav-btn__icon {
  background: transparent !important;
  transform: scale(0.92);
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn.is-active,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn.is-active {
  color: var(--c-brand-purple);
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn.is-active .qdnapro-bottom-nav-btn__icon,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn.is-active .qdnapro-bottom-nav-btn__icon {
  background: transparent !important;
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn[icon=plus-circle].is-active .qdnapro-bottom-nav-btn__icon,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn[icon=plus-circle].is-active .qdnapro-bottom-nav-btn__icon {
  position: relative;
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn[icon=plus-circle].is-active .qdnapro-bottom-nav-btn__icon::before,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn[icon=plus-circle].is-active .qdnapro-bottom-nav-btn__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #ffffff;
  z-index: 0;
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav-btn[icon=plus-circle].is-active .qdnapro-bottom-nav-btn__svg-filled,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn[icon=plus-circle].is-active .qdnapro-bottom-nav-btn__svg-filled {
  z-index: 1;
}
.qdnapro-bottom-nav[variant=floating-glass] .qdnapro-bottom-nav__pill,
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav__pill {
  position: absolute;
  top: calc(50% - 26px);
  left: 0;
  width: 68px;
  height: 52px;
  border-radius: 999px;
  background: rgba(64, 73, 154, 0.1);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: none;
  box-shadow: none;
  transform: translateX(0);
  transition: transform 420ms cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
  z-index: 1;
}

.qdnapro-bottom-nav[variant=floating-solid] {
  background: var(--c-brand-purple);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: none;
  box-shadow: 0 8px 28px rgba(20, 25, 80, 0.28), 0 2px 8px rgba(20, 25, 80, 0.16);
}
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn {
  color: var(--c-white-65);
}
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn.is-active {
  color: #ffffff;
}
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav__pill {
  background: rgba(255, 255, 255, 0.18);
}
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn .qdnapro-bottom-nav-btn__svg-filled {
  display: none;
}
.qdnapro-bottom-nav[variant=floating-solid] .qdnapro-bottom-nav-btn[icon=plus-circle].is-active .qdnapro-bottom-nav-btn__icon::before {
  display: none;
}

@keyframes qdnapro-slide-in-right {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes qdnapro-slide-in-left {
  from {
    transform: translateX(-100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes qdnapro-slide-out-left {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(-30%);
    opacity: 0;
  }
}
@keyframes qdnapro-slide-out-right {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(30%);
    opacity: 0;
  }
}
.qdnapro-page-stack {
  position: relative;
  overflow: hidden;
}

.qdnapro-page {
  will-change: transform, opacity;
}

.qdnapro-page--enter-fwd {
  animation: qdnapro-slide-in-right 280ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.qdnapro-page--leave-fwd {
  position: absolute !important;
  inset: 0;
  animation: qdnapro-slide-out-left 240ms cubic-bezier(0.4, 0, 0.8, 0.6) both;
  pointer-events: none;
}

.qdnapro-page--enter-bwd {
  animation: qdnapro-slide-in-left 280ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.qdnapro-page--leave-bwd {
  position: absolute !important;
  inset: 0;
  animation: qdnapro-slide-out-right 240ms cubic-bezier(0.4, 0, 0.8, 0.6) both;
  pointer-events: none;
}

.qdnapro-tab-bar {
  --tb-pill-duration: 220ms;
  --tb-track-bg: var(--c-grey-50);
  --tb-pill-bg: var(--c-bg-card);
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding: var(--s-1);
  gap: 2px;
  background: var(--tb-track-bg);
  border-radius: var(--r-4);
  font-family: var(--ff);
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-tab-bar {
    --tb-pill-duration: 0ms;
  }
}
.qdnapro-tab-bar__pill {
  position: absolute;
  top: var(--s-1);
  left: 0;
  bottom: var(--s-1);
  width: 0;
  transform: translateX(0);
  background: var(--tb-pill-bg);
  border-radius: var(--r-3);
  box-shadow: var(--shadow-card);
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: transform var(--tb-pill-duration) cubic-bezier(0.05, 0.7, 0.1, 1), width var(--tb-pill-duration) cubic-bezier(0.05, 0.7, 0.1, 1), opacity 120ms ease;
}

.qdnapro-tab-bar-item {
  position: relative;
  z-index: 1;
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 var(--s-2);
  box-sizing: border-box;
  border-radius: var(--r-3);
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  outline: none;
  background: transparent;
  transition: color 150ms ease;
}

.qdnapro-tab-bar-item__label {
  font-size: 14px;
  font-weight: var(--fw-medium);
  line-height: 1.2;
  color: var(--c-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 150ms ease, font-weight 150ms ease;
}

.qdnapro-tab-bar-item.is-active .qdnapro-tab-bar-item__label {
  color: var(--c-brand-purple);
  font-weight: var(--fw-semi);
}

.qdnapro-tab-bar-item:not(.is-active):hover .qdnapro-tab-bar-item__label {
  color: var(--c-text-body);
}

.qdnapro-tab-bar-item:focus-visible {
  box-shadow: 0 0 0 2px var(--focus-ring), 0 0 0 4px var(--focus-glow);
}

.qdnapro-tab-bar-item__badge {
  flex-shrink: 0;
}

[data-theme-dark] .qdnapro-tab-bar,
[data-theme=dark] .qdnapro-tab-bar,
body[data-theme=dark] .qdnapro-tab-bar {
  --tb-track-bg: var(--c-grey-800);
  --tb-pill-bg: var(--c-grey-900);
}

.qdnapro-app-header {
  --qah-bg: var(--c-bg-card, #ffffff);
  --qah-fg: var(--c-text-heading, #1a1f4d);
  --qah-subtitle-color: var(--c-text-muted, #6e7280);
  --qah-border-color: var(--c-border-soft, rgba(0, 0, 0, 0.07));
  --qah-height: 56px;
  --qah-selection-fg: var(--c-brand-purple, #40499a);
  display: block;
  width: 100%;
  background: var(--qah-bg);
  border-bottom: 1px solid var(--qah-border-color);
  padding-top: env(safe-area-inset-top, 0px);
  box-sizing: border-box;
}
.qdnapro-app-header *, .qdnapro-app-header *::before, .qdnapro-app-header *::after {
  box-sizing: border-box;
}

.qdnapro-app-header.qah-variant-transparent {
  --qah-bg: transparent;
  --qah-border-color: transparent;
}

.qah-row {
  display: flex;
  align-items: center;
  min-height: var(--qah-height);
  gap: 8px;
  padding: 4px 12px;
}

.qah-back {
  flex: 0 0 auto;
}
.qah-back[hidden] {
  display: none;
}

.qah-title-cluster {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.qah-titles {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.qah-avatar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}
.qah-avatar:empty {
  display: none;
}

.qah-title {
  color: var(--qah-fg);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qah-title:empty {
  display: none;
}

.qah-subtitle {
  color: var(--qah-subtitle-color);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qah-subtitle:empty {
  display: none;
}

.qah-leading [hidden],
.qah-search [hidden],
.qah-actions [hidden],
.qah-nova [hidden] {
  display: none;
}

.qah-leading {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 4px;
}
.qah-leading:empty {
  display: none;
}

.qah-search {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.qah-search:empty {
  display: none;
}
.qah-search > * {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}

.qah-row:has(.qah-search:not(:empty)) .qah-title-cluster {
  flex: 0 1 auto;
}

.qdnapro-app-header.qah-align-start {
  --qah-search-gutter: 32px;
}

@media (min-width: 1024px) {
  .qdnapro-app-header.qah-align-start .qah-row:has(.qah-search:not(:empty)) {
    position: relative;
  }
  .qdnapro-app-header.qah-align-start .qah-row:has(.qah-search:not(:empty)) .qah-search {
    position: absolute;
    top: 50%;
    left: var(--qah-search-gutter);
    right: var(--qah-search-gutter);
    transform: translateY(-50%);
  }
  .qdnapro-app-header.qah-align-start .qah-row:has(.qah-search:not(:empty)) .qah-title-cluster {
    max-width: 140px;
  }
  .qdnapro-app-header.qah-align-start .qah-row:has(.qah-search:not(:empty)) .qah-actions,
  .qdnapro-app-header.qah-align-start .qah-row:has(.qah-search:not(:empty)) .qah-nova {
    margin-left: auto;
  }
}
@media (min-width: 1280px) {
  .qdnapro-app-header.qah-align-start .qah-row:has(.qah-search:not(:empty)) .qah-title-cluster {
    max-width: 260px;
  }
}
@media (min-width: 1440px) {
  .qdnapro-app-header.qah-align-start .qah-row:has(.qah-search:not(:empty)) .qah-title-cluster {
    max-width: 340px;
  }
}
.qah-actions,
.qah-nova {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 4px;
}
.qah-actions:empty,
.qah-nova:empty {
  display: none;
}

.qah-context:empty {
  display: none;
}

.qah-cancel {
  flex: 0 0 auto;
  display: none;
}

.qah-selection-count {
  flex: 1 1 auto;
  min-width: 0;
  display: none;
  color: var(--qah-selection-fg);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qah-selection-actions {
  flex: 0 0 auto;
  display: none;
  align-items: center;
}

.qdnapro-app-header.qah-align-center {
  --qah-center-gutter: 60px;
}
.qdnapro-app-header.qah-align-center .qah-row {
  position: relative;
}
.qdnapro-app-header.qah-align-center .qah-actions,
.qdnapro-app-header.qah-align-center .qah-nova {
  margin-left: auto;
}
.qdnapro-app-header.qah-align-center .qah-title-cluster {
  position: absolute;
  top: 50%;
  left: var(--qah-center-gutter);
  right: var(--qah-center-gutter);
  transform: translateY(-50%);
  justify-content: center;
}
.qdnapro-app-header.qah-align-center .qah-titles {
  flex: 0 1 auto;
  text-align: center;
}
.qdnapro-app-header.qah-align-center .qah-title-cluster {
  pointer-events: none;
}
.qdnapro-app-header.qah-align-center .qah-titles,
.qdnapro-app-header.qah-align-center .qah-avatar {
  pointer-events: auto;
}

@media (min-width: 600px) {
  .qdnapro-app-header.qah-align-center {
    --qah-center-gutter: 76px;
  }
}
@media (min-width: 1024px) {
  .qdnapro-app-header.qah-align-center {
    --qah-center-gutter: 92px;
  }
}
.qdnapro-app-header.qah-mode-selection {
  --qah-bg: var(--c-bg-card, #ffffff);
  --qah-border-color: var(--c-border-soft, rgba(0, 0, 0, 0.07));
}
.qdnapro-app-header.qah-mode-selection .qah-back,
.qdnapro-app-header.qah-mode-selection .qah-title-cluster,
.qdnapro-app-header.qah-mode-selection .qah-leading,
.qdnapro-app-header.qah-mode-selection .qah-search,
.qdnapro-app-header.qah-mode-selection .qah-actions,
.qdnapro-app-header.qah-mode-selection .qah-nova {
  display: none;
}
.qdnapro-app-header.qah-mode-selection .qah-cancel {
  display: flex;
}
.qdnapro-app-header.qah-mode-selection .qah-selection-count {
  display: block;
}
.qdnapro-app-header.qah-mode-selection .qah-selection-actions {
  display: flex;
}

@media (min-width: 600px) {
  .qah-row {
    padding: 6px 20px;
    gap: 12px;
  }
  .qah-title {
    font-size: 19px;
  }
}
@media (min-width: 1024px) {
  .qah-row {
    padding: 8px 32px;
  }
}
.qdnapro-swipe-row {
  position: relative;
  display: block;
  overflow: hidden;
  /* Let the browser keep owning vertical scrolling at all times — the
     component's own axis-lock decides whether a given gesture is horizontal
     before it ever calls preventDefault. */
  touch-action: pan-y;
  isolation: isolate; /* keep the panel/content stacking local to this row */
}

/* Content layer — whatever the host slotted in, unmodified. Always painted
   with its own opaque background (default var(--c-bg-card)) so a
   transparent child never lets a button's background show through, even at
   rest (not just while .swiping is present). A consumer can retint this per
   instance via style="--qsr-content-bg: ...". */
.qdnapro-swipe-row .qsr-content {
  position: relative;
  z-index: 1;
  background: var(--qsr-content-bg, var(--c-bg-card));
  will-change: transform;
}

/* Action panels — anchored to the edge the content recedes FROM, sized to
   exactly the currently revealed width (set inline by the JS: resting width
   = sum of that side's button widths; grows to match the live drag distance
   once it exceeds that). Because the panel is never wider than what's
   actually exposed, the OUTERMOST button (flush against the true edge) is
   the very first thing a drag reveals — no dead full-row space to cross
   before anything becomes visible. */
.qdnapro-swipe-row .qsr-panel {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 0;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}

.qdnapro-swipe-row .qsr-panel-left {
  right: 0;
  justify-content: flex-end; /* group flush against the true right edge */
}

.qdnapro-swipe-row .qsr-panel-right {
  left: 0;
  justify-content: flex-start; /* group flush against the true left edge */
}

.qdnapro-swipe-row .qsr-panel-empty {
  width: 0 !important;
}

/* Each button is a REAL <button>, owning its own fixed-width box — icon and
   label sit INSIDE that box, never centered on the row. This is the whole
   point of the redesign. Stretches to the row's full height (comfortably
   over the 44px minimum tappable target on any real row). Buttons are only
   in the tab order / reachable by AT while their side is open — see the
   tabindex/aria-hidden handling in the JS. */
.qdnapro-swipe-row .qsr-panel-btn {
  flex: 0 0 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border: 0;
  padding: 0;
  background: none; /* colour comes from the .qsr-color-* modifier below */
  color: var(--c-text-on-action);
  font-family: var(--ff, "Inter", sans-serif);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: flex-basis 0.2s cubic-bezier(0.4, 0, 0.2, 1), flex-grow 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.15s ease;
}

.qdnapro-swipe-row .qsr-panel-btn:focus-visible {
  outline: 2px solid var(--c-text-on-action);
  outline-offset: -3px;
}

.qdnapro-swipe-row .qsr-panel-label {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
}

/* Icon grows slightly once the drag crosses the commit threshold, so the
   user can feel the commit point before releasing. */
.qdnapro-swipe-row .qsr-panel-icon {
  transition: transform 0.15s ease;
}

.qdnapro-swipe-row.qsr-committing .qsr-panel-icon {
  transform: scale(1.16);
}

/* Stage 2 — commit: past the `threshold` drag distance, the secondary
   button(s) on the ACTIVE side collapse away and the MAIN button (the
   outermost / last-configured entry) expands to fill the whole revealed
   width, so releasing here fires it immediately without a tap. Scoped to
   the currently dragging direction so the idle side is never affected. */
.qdnapro-swipe-row.qsr-committing.qsr-dir-left .qsr-panel-left .qsr-panel-btn:not(.qsr-btn-main) {
  flex: 0 0 0;
  opacity: 0;
  pointer-events: none;
}

.qdnapro-swipe-row.qsr-committing.qsr-dir-right .qsr-panel-right .qsr-panel-btn:not(.qsr-btn-main) {
  flex: 0 0 0;
  opacity: 0;
  pointer-events: none;
}

.qdnapro-swipe-row.qsr-committing.qsr-dir-left .qsr-panel-left .qsr-btn-main,
.qdnapro-swipe-row.qsr-committing.qsr-dir-right .qsr-panel-right .qsr-btn-main {
  flex: 1 1 auto;
}

/* Colour vocabulary — a small named set, mapped to FIXED primitives (not the
   lifted --c-brand-purple) so a button reads the exact same accent in light
   and dark mode, same convention as qdnapro-bottom-sheet's purple variant
   (--c-purple-500, deliberately not --c-brand-purple). "yellow" is new
   (29.07.2026, flagging) and maps to the existing warn/flag ramp token
   --c-warn-yellow-500 — paired with --c-signal-yellow-text for the label,
   since white text on that particular yellow fails contrast (same pairing
   qdnapro-answer-button and qdnapro-score-scale already use for warning
   yellow). Never a raw hex. */
.qdnapro-swipe-row .qsr-color-purple {
  background: var(--c-purple-500);
}

.qdnapro-swipe-row .qsr-color-grey {
  background: var(--c-grey-500);
}

.qdnapro-swipe-row .qsr-color-red {
  background: var(--c-warn-red-500);
}

.qdnapro-swipe-row .qsr-color-green {
  background: var(--c-success-bright);
}

.qdnapro-swipe-row .qsr-color-yellow {
  background: var(--c-warn-yellow-500);
  color: var(--c-signal-yellow-text, #bf7202);
}

/* prefers-reduced-motion: no bounce/scale/collapse-animation — the JS itself
   switches every settle/dismiss transition to instant (transition: none)
   inline; these rules are the CSS-driven backstop for the transitions that
   aren't inline (the icon's commit-scale, and the button collapse/expand
   above), so they jump instead of easing. */
@media (prefers-reduced-motion: reduce) {
  .qdnapro-swipe-row .qsr-panel-icon,
  .qdnapro-swipe-row .qsr-panel-btn {
    transition: none;
  }
}
.qdnapro-list-row {
  --qlr-bg-hover: var(--c-bg-subtle-hover, #f5f6f8);
  --qlr-bg-pressed: var(--c-purple-soft-12, rgba(64, 73, 154, 0.12));
  --qlr-border: var(--c-border-soft, rgba(0, 0, 0, 0.07));
  --qlr-title-color: var(--c-text-heading, #1a1f4d);
  --qlr-subtitle-color: var(--c-text-muted, #6e7280);
  --qlr-chevron-color: var(--c-text-muted, #6e7280);
  --qlr-focus-ring: var(--c-brand-purple, #40499a);
  --qlr-focus-glow: var(--c-purple-soft-18, rgba(64, 73, 154, 0.18));
  --qlr-bare-icon-color: var(--c-brand-purple, #40499a);
  --qlr-mark-bg: var(--c-signal-yellow-bg, #feedb8);
  --qlr-mark-color: #1a1f4d;
  --qlr-bg-selected: var(--c-purple-soft-12, rgba(64, 73, 154, 0.12));
  --qlr-bg-selected-hover: var(--c-purple-soft-18, rgba(64, 73, 154, 0.18));
  --qlr-depth: 0;
  --qlr-depth-step: 20px;
  --qlr-toggle-duration: 180ms;
  display: flex;
  align-items: center;
  gap: 12px;
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 8px 16px;
  padding-left: calc(16px + var(--qlr-depth) * var(--qlr-depth-step));
  background: transparent;
  color: var(--qlr-title-color);
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  font-family: inherit;
  border: 0 solid transparent;
  transition: background-color 100ms ease-out;
}
.qdnapro-list-row:hover:not(.qlr-disabled) {
  background: var(--qlr-bg-hover);
}
.qdnapro-list-row.is-pressed:not(.qlr-disabled) {
  background: var(--qlr-bg-pressed);
}
.qdnapro-list-row:focus {
  outline: none;
}
.qdnapro-list-row:focus-visible, .qdnapro-list-row.force-focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--qlr-focus-ring), inset 0 0 0 5px var(--qlr-focus-glow);
}
.qdnapro-list-row.qlr-disabled {
  opacity: 0.5;
  cursor: default;
  pointer-events: none;
}
.qdnapro-list-row.qlr-static {
  cursor: default;
}
.qdnapro-list-row.qlr-static:hover {
  background: transparent;
}
.qdnapro-list-row.qlr-static.is-pressed {
  background: transparent;
}
.qdnapro-list-row.qlr-static:focus-visible {
  outline: none;
  box-shadow: none;
}
.qdnapro-list-row.force-hover {
  background: var(--qlr-bg-hover);
}
.qdnapro-list-row.force-pressed {
  background: var(--qlr-bg-pressed);
}
.qdnapro-list-row.qlr-selected:not(.qlr-disabled) {
  background: var(--qlr-bg-selected);
}
.qdnapro-list-row.qlr-selected:hover:not(.qlr-disabled) {
  background: var(--qlr-bg-selected-hover);
}
.qdnapro-list-row.qlr-tone-danger {
  --qlr-title-color: var(--c-signal-red-text, #c65a5a);
  --qlr-subtitle-color: var(--c-signal-red-text, #c65a5a);
  --qlr-chevron-color: var(--c-signal-red-text, #c65a5a);
  --qlr-bare-icon-color: var(--c-signal-red-text, #c65a5a);
}
.qdnapro-list-row.qlr-tone-muted {
  --qlr-title-color: var(--c-text-muted, #6e7280);
  --qlr-subtitle-color: var(--c-text-muted, #6e7280);
  --qlr-chevron-color: var(--c-text-muted, #6e7280);
  --qlr-bare-icon-color: var(--c-text-muted, #6e7280);
}

.qdnapro-list-row.qlr-surface-on-purple,
.qdnapro-list-row-group--on-purple .qdnapro-list-row {
  --qlr-bg-hover: var(--c-white-10, rgba(255, 255, 255, 0.10));
  --qlr-bg-pressed: var(--c-white-22, rgba(255, 255, 255, 0.22));
  --qlr-bg-selected: var(--c-white-22, rgba(255, 255, 255, 0.22));
  --qlr-bg-selected-hover: var(--c-white-28, rgba(255, 255, 255, 0.28));
  --qlr-border: var(--c-white-14, rgba(255, 255, 255, 0.14));
  --qlr-title-color: var(--c-text-on-action, #ffffff);
  --qlr-subtitle-color: var(--c-white-70, rgba(255, 255, 255, 0.70));
  --qlr-chevron-color: var(--c-white-70, rgba(255, 255, 255, 0.70));
  --qlr-bare-icon-color: var(--c-text-on-action, #ffffff);
  --qlr-focus-ring: var(--c-text-on-action, #ffffff);
  --qlr-focus-glow: var(--c-white-22, rgba(255, 255, 255, 0.22));
}

[data-theme=dark] .qdnapro-list-row.qlr-tone-danger {
  --qlr-title-color: var(--c-warn-red-400, #f87171);
  --qlr-subtitle-color: var(--c-warn-red-400, #f87171);
  --qlr-chevron-color: var(--c-warn-red-400, #f87171);
  --qlr-bare-icon-color: var(--c-warn-red-400, #f87171);
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-list-row {
    --qlr-toggle-duration: 0ms;
  }
}
.qlr-lead {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
}

.qlr-expand-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: var(--r-row, 12px);
  color: var(--qlr-chevron-color);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 100ms ease-out;
}
.qlr-expand-toggle:hover {
  background: var(--qlr-bg-hover);
}
.qlr-expand-toggle:active {
  background: var(--qlr-bg-pressed);
}
.qlr-expand-toggle:focus {
  outline: none;
}
.qlr-expand-toggle:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--qlr-focus-ring), inset 0 0 0 4px var(--qlr-focus-glow);
}

.qlr-expand-chevron {
  width: 18px;
  height: 18px;
  transition: transform var(--qlr-toggle-duration) ease;
}

.qdnapro-list-row.qlr-expanded .qlr-expand-chevron {
  transform: rotate(90deg);
}

.qlr-tile {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: var(--r-row, 12px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--qlr-tile-bg, var(--c-purple-soft-12, rgba(64, 73, 154, 0.12)));
  color: var(--qlr-tile-fg, var(--c-brand-purple, #40499a));
}

.qlr-tile-icon {
  width: 22px;
  height: 22px;
}

.qlr-tile-activity {
  flex: 0 0 auto;
}

.qlr-tile-color-purple {
  --qlr-tile-bg: #ebe9fb;
  --qlr-tile-fg: var(--c-brand-purple, #40499a);
}

.qlr-tile-color-grey {
  --qlr-tile-bg: #eef0f2;
  --qlr-tile-fg: var(--c-grey-600, #565b66);
}

.qlr-tile-color-red {
  --qlr-tile-bg: #fde7e7;
  --qlr-tile-fg: var(--c-signal-red-text, #c65a5a);
}

.qlr-tile-color-yellow {
  --qlr-tile-bg: #fdf3d6;
  --qlr-tile-fg: var(--c-signal-yellow-text, #bf7202);
}

.qlr-tile-color-green {
  --qlr-tile-bg: #e2faf1;
  --qlr-tile-fg: var(--c-signal-green-text, #428b6e);
}

.qlr-tile-color-blue {
  --qlr-tile-bg: #e6eff9;
  --qlr-tile-fg: var(--c-signal-blue-text, #6a8ab4);
}

.qlr-tile-color-bright-blue {
  --qlr-tile-bg: #d6e0f9;
  --qlr-tile-fg: #3a5eae;
}

.qlr-tile-color-pink {
  --qlr-tile-bg: #f6e1e8;
  --qlr-tile-fg: var(--c-signal-pink-text, #b25777);
}

[data-theme=dark] .qlr-tile-color-purple {
  --qlr-tile-bg: #3a3555;
  --qlr-tile-fg: var(--c-purple-200, #a5acff);
}

[data-theme=dark] .qlr-tile-color-grey {
  --qlr-tile-bg: #40444d;
  --qlr-tile-fg: var(--c-grey-300, #c4c7cc);
}

[data-theme=dark] .qlr-tile-color-red {
  --qlr-tile-bg: #5a2b2b;
  --qlr-tile-fg: var(--c-warn-red-400, #f87171);
}

[data-theme=dark] .qlr-tile-color-yellow {
  --qlr-tile-bg: #5a4d1f;
  --qlr-tile-fg: var(--c-warn-yellow-500, #fbbf24);
}

[data-theme=dark] .qlr-tile-color-green {
  --qlr-tile-bg: #2a5544;
  --qlr-tile-fg: #7fe0bc;
}

[data-theme=dark] .qlr-tile-color-blue {
  --qlr-tile-bg: #2e3e54;
  --qlr-tile-fg: #8fb4e0;
}

[data-theme=dark] .qlr-tile-color-bright-blue {
  --qlr-tile-bg: #3a4a8a;
  --qlr-tile-fg: #b9c8f5;
}

[data-theme=dark] .qlr-tile-color-pink {
  --qlr-tile-bg: #4e2a36;
  --qlr-tile-fg: #e4a0b8;
}

.qdnapro-list-row.qlr-tile-none .qlr-tile, .qdnapro-list-row.qlr-tile-none.qlr-size-compact .qlr-tile {
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
  color: var(--qlr-bare-icon-color);
}
.qdnapro-list-row.qlr-tile-none .qlr-tile-icon {
  width: 24px;
  height: 24px;
}
.qdnapro-list-row.qlr-tile-none.qlr-size-compact .qlr-tile-icon {
  width: 20px;
  height: 20px;
}

.qlr-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}

.qlr-title {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--qlr-title-color);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qlr-subtitle {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--qlr-subtitle-color);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qlr-title mark {
  background: var(--qlr-mark-bg);
  color: var(--qlr-mark-color);
  font: inherit;
  border-radius: 2px;
  padding: 0 1px;
}

.qlr-subtitle mark {
  background: var(--qlr-mark-bg);
  color: var(--qlr-mark-color);
  font: inherit;
  border-radius: 2px;
  padding: 0 1px;
}

.qdnapro-list-row.qlr-wrap {
  --qlr-wrap-max-width: 60ch;
  align-items: flex-start;
}
.qdnapro-list-row.qlr-wrap .qlr-body {
  justify-content: flex-start;
  max-width: var(--qlr-wrap-max-width);
}
.qdnapro-list-row.qlr-wrap .qlr-subtitle {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.45;
}
.qdnapro-list-row.qlr-wrap .qlr-trailing {
  margin-left: auto;
}

.qlr-trailing {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 4px;
}
.qlr-trailing:empty {
  display: none;
}

.qlr-slot-wrap {
  display: contents;
}

.qlr-chevron {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  color: var(--qlr-chevron-color);
}

.qdnapro-list-row.qlr-size-compact {
  --qlr-depth-step: 16px;
  min-height: 36px;
  padding: 6px 12px;
  padding-left: calc(12px + var(--qlr-depth) * var(--qlr-depth-step));
  gap: 8px;
}
.qdnapro-list-row.qlr-size-compact .qlr-tile {
  width: 28px;
  height: 28px;
  border-radius: var(--r-2, 8px);
}
.qdnapro-list-row.qlr-size-compact .qlr-tile-icon {
  width: 18px;
  height: 18px;
}
.qdnapro-list-row.qlr-size-compact .qlr-title {
  font-size: 13px;
}
.qdnapro-list-row.qlr-size-compact .qlr-subtitle {
  font-size: 11px;
}
.qdnapro-list-row.qlr-size-compact .qlr-expand-toggle {
  width: 32px;
  height: 32px;
}
.qdnapro-list-row.qlr-size-compact .qlr-expand-chevron {
  width: 16px;
  height: 16px;
}
.qdnapro-list-row.qlr-size-compact .qlr-chevron {
  width: 18px;
  height: 18px;
}

.qdnapro-list-row-group {
  background: var(--c-bg-card, #ffffff);
  border-radius: var(--r-card, 16px);
  overflow: hidden;
}
.qdnapro-list-row-group .qdnapro-list-row:not(:last-child) {
  border-bottom: 1px solid var(--qlr-border, var(--c-border-soft, rgba(0, 0, 0, 0.07)));
}

.qdnapro-list-row-group--on-purple {
  background: var(--c-white-14, rgba(255, 255, 255, 0.14));
}

qdnapro-section-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
  padding: 0;
  background: var(--c-bg-card, #ffffff);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--shadow-card, 0 1px 2px rgba(20, 25, 80, 0.04), 0 4px 16px rgba(20, 25, 80, 0.04));
}
qdnapro-section-card .qsc-head {
  order: -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 20px 0;
  margin-bottom: 12px;
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--c-bg-card, #ffffff);
}
qdnapro-section-card .qsc-title {
  font-family: "Inter", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--c-text-heading, #1a1f4d);
  min-width: 0;
}
qdnapro-section-card .qsc-subtitle {
  padding: 0 20px;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--c-text-muted, #6e7280);
  max-width: var(--qsc-subtitle-max-width, 62ch);
}
qdnapro-section-card.qsc-size-compact .qsc-head {
  padding: 16px 16px 0;
}
qdnapro-section-card.qsc-size-compact .qsc-title {
  font-size: 17px;
  font-weight: 600;
}
qdnapro-section-card.qsc-size-compact .qsc-subtitle {
  padding: 0 16px;
  font-size: 13px;
}
qdnapro-section-card.qsc-size-compact .qsc-icon {
  font-size: 20px;
}
qdnapro-section-card.qsc-size-compact .qsc-empty {
  padding: 0 16px 16px;
}
qdnapro-section-card.qsc-has-subtitle .qsc-head {
  margin-bottom: 4px;
}
qdnapro-section-card .qsc-icon {
  flex-shrink: 0;
  font-size: 28px;
}
qdnapro-section-card .qsc-icon-color-heading {
  color: var(--c-text-heading, #1a1f4d);
}
qdnapro-section-card .qsc-icon-color-heart {
  color: var(--c-favorite-heart, #ff4d6a);
}
qdnapro-section-card .qsc-icon-color-purple {
  color: var(--c-purple-500, #40499a);
}
qdnapro-section-card .qsc-icon-color-grey {
  color: var(--c-text-muted, #6e7280);
}
qdnapro-section-card .qsc-empty {
  padding: 0 20px 20px;
  font-size: 14px;
  color: var(--c-text-muted, #6e7280);
}
qdnapro-section-card > :not(.qsc-head):not(.qsc-empty):not(.qsc-subtitle) + :not(.qsc-head):not(.qsc-empty):not(.qsc-subtitle) {
  border-top: 1px solid var(--c-grey-100, #e7e9ec);
}

.qdnapro-search-overlay {
  display: contents;
}

qdnapro-search-overlay:not(:defined) {
  display: none;
}

.qso-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
}

.qso-overlay[hidden] {
  display: none;
}

.qso-backdrop {
  position: absolute;
  inset: 0;
  background: var(--c-black-30);
  opacity: 0;
  --qso-duration: 200ms;
  transition: opacity var(--qso-duration) ease;
}

.qso-panel {
  position: relative;
  flex: 1;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: var(--c-bg-card);
  padding-top: env(safe-area-inset-top, 0px);
  opacity: 0;
  transform: translateY(-8px) scale(0.98);
  --qso-duration: 200ms;
  transition: opacity var(--qso-duration) ease, transform var(--qso-duration) cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity, transform;
}

.qso-overlay.is-open .qso-backdrop {
  opacity: 1;
}

.qso-overlay.is-open .qso-panel {
  opacity: 1;
  transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .qso-backdrop,
  .qso-panel {
    --qso-duration: 0ms;
  }
}
.qso-header {
  flex: none;
  display: flex;
  align-items: center;
  gap: var(--s-3);
  padding: var(--s-4) var(--s-4) var(--s-2);
  box-sizing: border-box;
}

.qso-field {
  flex: 1;
  min-width: 0;
}

.qso-cancel {
  flex: none;
}

.qso-nova {
  flex: none;
  padding: 0 var(--s-4) var(--s-2);
}

.qso-nova:empty {
  display: none;
}

.qso-body {
  min-width: 0;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0 0 var(--s-4);
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
}

.qso-recents[hidden] {
  display: none;
}

.qso-recents-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-2);
  padding: var(--s-3) var(--s-2) var(--s-1);
}

.qso-recents-heading {
  font-size: 12px;
  font-weight: var(--fw-medium);
  color: var(--c-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding-left: var(--s-4);
  padding-right: var(--s-4);
}

.qso-recents-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.qso-results-list[hidden] {
  display: none;
}

.qso-results-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.qso-section-heading {
  padding: var(--s-3) var(--s-4) var(--s-1);
  font-size: 14px;
  font-weight: var(--fw-medium);
  color: var(--c-text-heading);
}

.qso-empty[hidden] {
  display: none;
}

.qso-empty {
  flex: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: var(--s-8) var(--s-4);
  color: var(--c-text-muted);
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

.qso-more-row {
  --qlr-title-color: var(--c-purple-highlight);
  --qlr-chevron-color: var(--c-purple-highlight);
}

@media (min-width: 640px) {
  .qso-overlay {
    align-items: center;
    justify-content: center;
    padding: var(--s-6);
  }
  .qso-panel {
    flex: none;
    width: 520px;
    max-width: 100%;
    max-height: 80vh;
    padding-top: 0;
    border-radius: var(--r-card);
    box-shadow: var(--shadow-card);
    overflow: hidden;
  }
}
.qso-overlay.qso-mode-dropdown {
  position: fixed;
  inset: auto;
  left: 0;
  top: 0;
  padding: 0;
  display: block;
}

.qso-overlay.qso-mode-dropdown[hidden] {
  display: none;
}

.qso-overlay.qso-mode-dropdown .qso-panel {
  flex: none;
  width: 100%;
  max-height: 60vh;
  padding-top: 0;
  border: 1px solid var(--c-grey-300);
  border-radius: var(--r-2);
  box-shadow: var(--shadow-card);
  box-sizing: border-box;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-4px);
}

.qso-overlay.qso-mode-dropdown.qso-dropdown-above .qso-panel {
  flex-direction: column-reverse;
}

.qso-overlay.qso-mode-dropdown.is-open .qso-panel {
  opacity: 1;
  transform: translateY(0);
}

.qso-overlay.qso-mode-dropdown .qso-body::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.qso-overlay.qso-mode-dropdown .qso-body::-webkit-scrollbar-track {
  background: transparent;
}
.qso-overlay.qso-mode-dropdown .qso-body::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 8px;
  transition: background 160ms ease;
}
.qso-overlay.qso-mode-dropdown .qso-body:hover::-webkit-scrollbar-thumb, .qso-overlay.qso-mode-dropdown .qso-body:focus-within::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.22);
}
.qso-overlay.qso-mode-dropdown .qso-body::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.34);
}

.qso-overlay.qso-mode-dropdown .qso-header {
  padding: 0;
  gap: 0;
}

.qso-overlay.qso-mode-dropdown .qso-header .input-field {
  border: none;
  background: transparent;
  border-radius: 0;
}

.qso-overlay.qso-mode-dropdown .qso-header .input-field:hover,
.qso-overlay.qso-mode-dropdown .qso-header .input-field:focus-within {
  border: none;
  background: transparent;
  box-shadow: none;
}

.qso-overlay.qso-mode-dropdown .qso-header .input-field .input-field-inner {
  background: transparent;
}

.qso-overlay.qso-mode-dropdown.qso-surface-grey .qso-panel {
  background: var(--c-grey-100);
}

.qso-overlay.qso-mode-dropdown.qso-surface-grey qdnapro-divider {
  background: var(--c-grey-300);
}

.qso-overlay.qso-mode-dropdown.qso-surface-grey qdnapro-list-row {
  --qlr-bg-hover: var(--c-grey-200);
}

.qso-recents-list qdnapro-list-row {
  --qlr-bare-icon-color: var(--c-text-muted);
}

.qso-recents-list .qdnapro-list-row qdnapro-icon-btn.icon-btn-subtle {
  color: var(--c-text-muted);
}

.qdnapro-tasklist-run-card {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid var(--c-grey-100, #e7e9ec);
  border-radius: 12px;
  cursor: pointer;
  outline: none;
  user-select: none;
  transition: background-color 120ms ease-out, border-color 120ms ease-out;
}

.qdnapro-tasklist-run-card *,
.qdnapro-tasklist-run-card *::before,
.qdnapro-tasklist-run-card *::after {
  box-sizing: border-box;
}

.qdnapro-tasklist-run-card:focus {
  outline: none;
}

@media (hover: hover) {
  .qdnapro-tasklist-run-card:not(.trc-disabled):hover {
    background: var(--c-grey-100, #e7e9ec);
  }
}
.qdnapro-tasklist-run-card.force-hover:not(.trc-disabled) {
  background: var(--c-grey-100, #e7e9ec);
}

.qdnapro-tasklist-run-card:not(.trc-disabled):active {
  background: var(--c-grey-200, #d1d5db);
}

.qdnapro-tasklist-run-card:not(.trc-disabled).is-pressed {
  background: var(--c-grey-200, #d1d5db);
}

.qdnapro-tasklist-run-card.force-pressed:not(.trc-disabled) {
  background: var(--c-grey-200, #d1d5db);
}

.qdnapro-tasklist-run-card:not(.trc-disabled):focus-visible {
  outline: 2px solid #40499a;
  outline-offset: -2px;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.25);
}

.qdnapro-tasklist-run-card.force-focus:not(.trc-disabled) {
  outline: 2px solid #40499a;
  outline-offset: -2px;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.25);
}

/* === Main row (dims to opacity .5 when the run is completed) === */
.qdnapro-tasklist-run-card .trc-main {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 12px;
}

.qdnapro-tasklist-run-card .trc-main-completed {
  opacity: 0.5;
}

.qdnapro-tasklist-run-card .trc-icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}

.qdnapro-tasklist-run-card .trc-tile {
  width: 40px;
  height: 40px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--trc-bg, #eef0f2);
}

.qdnapro-tasklist-run-card .trc-body {
  flex: 1;
  min-width: 0;
}

.qdnapro-tasklist-run-card .trc-name {
  font-size: 17px;
  color: #40499a;
  line-height: 1.3;
}

.qdnapro-tasklist-run-card .trc-project {
  font-size: 15px;
  color: var(--c-grey-900, #0b0b0d);
  line-height: 1.3;
}

.qdnapro-tasklist-run-card .trc-meta {
  display: flex;
  align-items: center;
  padding: 4px 0;
}

.qdnapro-tasklist-run-card .trc-meta > qdnapro-icon {
  flex: none;
  color: #40499a;
  margin-right: 8px;
}

.qdnapro-tasklist-run-card .trc-time {
  color: #b5b5b5;
}

.qdnapro-tasklist-run-card .trc-status {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: 24px;
  color: #de5066;
}

/* === Footers === */
.qdnapro-tasklist-run-card .trc-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  border-top: 1px solid #eeeded;
}

/* Round slot in front of the location holds the ORGANISATION logo (Kim
   28.07.2026). Empty slot keeps the neutral grey circle; once a logo is set
   the circle turns white, because an organisation logo is usually drawn on
   white and a grey disc behind it reads as a dirty edge. */
.qdnapro-tasklist-run-card .trc-org-logo {
  width: 24px;
  height: 24px;
  flex: none;
  border-radius: 50%;
  overflow: hidden;
  background: var(--c-grey-200, #d1d5db);
  display: flex;
  align-items: center;
  justify-content: center;
}

.qdnapro-tasklist-run-card .trc-footer-location-has-logo .trc-org-logo {
  background: #ffffff;
}

/* contain, not cover: a logo is rarely square, and cover would crop the
   sides off a wide wordmark. Letterboxing inside the circle keeps it whole. */
.qdnapro-tasklist-run-card .trc-org-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.qdnapro-tasklist-run-card .trc-loc-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.qdnapro-tasklist-run-card .trc-loc-name {
  color: #40499a;
}

.qdnapro-tasklist-run-card .trc-loc-address {
  color: #b5b5b5;
}

/* Afdeling van de check-in: derde regel IN de tekstkolom, met een klein
   gebouw-icoontje ervoor. Zelfde opbouw als .ao-header-place-dept in de
   takenlijst-header (_pwa-current.scss), zodat de kaart en de header dezelfde
   plaats + afdeling op dezelfde manier laten zien. Kleur is hier wel het navy
   van deze kaart (#40499a, gelijk aan .trc-loc-name) in plaats van het
   header-navy: de header staat op een pastel vlak, deze footer op wit. */
.qdnapro-tasklist-run-card .trc-loc-dept {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin-top: 3px;
}

.qdnapro-tasklist-run-card .trc-loc-dept > qdnapro-icon {
  flex: none;
  color: rgba(64, 73, 154, 0.75);
}

/* Niet zwaarder dan de locatienaam erboven: de afdeling is een detail van de
   locatie, geen tweede titel. */
.qdnapro-tasklist-run-card .trc-loc-dept-name {
  min-width: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
  color: #40499a;
}

.qdnapro-tasklist-run-card .trc-check {
  width: 24px;
  height: 24px;
  flex: none;
  border-radius: 50%;
  background: #40499a;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.qdnapro-tasklist-run-card .trc-completed-label {
  color: #40499a;
  font-size: 15px;
  margin-right: 15px;
}

.qdnapro-tasklist-run-card .trc-completed-time {
  color: #40499a;
  opacity: 0.5;
  font-size: 12px;
}

.qdnapro-tasklist-run-card .trc-hide {
  color: #40499a;
  margin-left: auto;
  cursor: pointer;
}

.qdnapro-tasklist-run-card .trc-footer-unsynced {
  color: #ef8e01;
  font-size: 15px;
}

/* === Disabled state ===
   Background stays white and border stays grey-100 (both deliberate, Kim
   28.07.2026 - a grey fill would vanish against the light grey page). Text
   goes to the button component's disabled text colour and the activity
   icon fades; hover / pressed / focus are suppressed via the :not(.trc-disabled)
   guards above. */
.qdnapro-tasklist-run-card.trc-disabled {
  cursor: not-allowed;
  pointer-events: none;
}

.qdnapro-tasklist-run-card.trc-disabled .trc-tile qdnapro-activity-icon {
  opacity: 0.3;
}

.qdnapro-tasklist-run-card.trc-disabled .trc-name,
.qdnapro-tasklist-run-card.trc-disabled .trc-project,
.qdnapro-tasklist-run-card.trc-disabled .trc-time,
.qdnapro-tasklist-run-card.trc-disabled .trc-status,
.qdnapro-tasklist-run-card.trc-disabled .trc-loc-name,
.qdnapro-tasklist-run-card.trc-disabled .trc-loc-address,
.qdnapro-tasklist-run-card.trc-disabled .trc-loc-dept-name,
.qdnapro-tasklist-run-card.trc-disabled .trc-completed-label,
.qdnapro-tasklist-run-card.trc-disabled .trc-completed-time,
.qdnapro-tasklist-run-card.trc-disabled .trc-hide,
.qdnapro-tasklist-run-card.trc-disabled .trc-footer-unsynced {
  color: #898e99;
}

.qdnapro-tasklist-run-card.trc-disabled .trc-meta > qdnapro-icon,
.qdnapro-tasklist-run-card.trc-disabled .trc-loc-dept > qdnapro-icon {
  color: #898e99;
}

/* === Colour palette (qdnapro-tag light pastels, same tokens as qdnapro-tasklist-card) === */
.qdnapro-tasklist-run-card.trc-color-grey {
  --trc-bg: #eef0f2;
}

.qdnapro-tasklist-run-card.trc-color-red {
  --trc-bg: #fde7e7;
}

.qdnapro-tasklist-run-card.trc-color-yellow {
  --trc-bg: #fdf3d6;
}

.qdnapro-tasklist-run-card.trc-color-green {
  --trc-bg: #e2faf1;
}

.qdnapro-tasklist-run-card.trc-color-blue {
  --trc-bg: #e6eff9;
}

.qdnapro-tasklist-run-card.trc-color-bright-blue {
  --trc-bg: #d6e0f9;
}

.qdnapro-tasklist-run-card.trc-color-pink {
  --trc-bg: #f6e1e8;
}

.qdnapro-tasklist-run-card.trc-color-purple {
  --trc-bg: #ebe9fb;
}

/* === Dark mode - base card chrome ===
   Explicit dark overrides (standalone library preview has no --c-* tokens
   set, so light fallbacks would otherwise win). Values follow the same
   dark palette used across the other v2 components: surface #2e3036,
   hover #40444d, pressed #565b66, primary text #f0f1f2, muted #a0a4b8,
   subtle border rgba(255,255,255,0.10). */
[data-theme=dark] .qdnapro-tasklist-run-card {
  background: #2e3036;
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme=dark] .qdnapro-tasklist-run-card .trc-name {
  color: #c7cce8;
}

[data-theme=dark] .qdnapro-tasklist-run-card .trc-project {
  color: #f0f1f2;
}

[data-theme=dark] .qdnapro-tasklist-run-card .trc-time {
  color: #a0a4b8;
}

[data-theme=dark] .qdnapro-tasklist-run-card .trc-footer {
  border-top-color: rgba(255, 255, 255, 0.1);
}

@media (hover: hover) {
  [data-theme=dark] .qdnapro-tasklist-run-card:not(.trc-disabled):hover {
    background: #40444d;
  }
}
[data-theme=dark] .qdnapro-tasklist-run-card.force-hover {
  background: #40444d;
}

[data-theme=dark] .qdnapro-tasklist-run-card:not(.trc-disabled):active {
  background: #565b66;
}

[data-theme=dark] .qdnapro-tasklist-run-card:not(.trc-disabled).is-pressed {
  background: #565b66;
}

[data-theme=dark] .qdnapro-tasklist-run-card.force-pressed {
  background: #565b66;
}

[data-theme=dark] .qdnapro-tasklist-run-card.trc-color-grey {
  --trc-bg: #40444d;
}

[data-theme=dark] .qdnapro-tasklist-run-card.trc-color-red {
  --trc-bg: #5a2b2b;
}

[data-theme=dark] .qdnapro-tasklist-run-card.trc-color-yellow {
  --trc-bg: #5a4d1f;
}

[data-theme=dark] .qdnapro-tasklist-run-card.trc-color-green {
  --trc-bg: #2a5544;
}

[data-theme=dark] .qdnapro-tasklist-run-card.trc-color-blue {
  --trc-bg: #2e3e54;
}

[data-theme=dark] .qdnapro-tasklist-run-card.trc-color-bright-blue {
  --trc-bg: #3a4a8a;
}

[data-theme=dark] .qdnapro-tasklist-run-card.trc-color-pink {
  --trc-bg: #4e2a36;
}

[data-theme=dark] .qdnapro-tasklist-run-card.trc-color-purple {
  --trc-bg: #3a3555;
}

.qdnapro-selection-bar {
  --qsb-bg: var(--c-bg-card, #ffffff);
  --qsb-border: var(--c-border-soft-2, #e6e9ef);
  --qsb-fg: var(--c-text-body, #0b0b0d);
  --qsb-fg-idle: var(--c-text-muted, #6e7280);
  --qsb-fg-disabled: var(--c-text-disabled, #898e99);
  --qsb-fg-danger: var(--c-signal-red-text, #c65a5a);
  --qsb-hover-bg: var(--c-bg-subtle-hover, #f0f1f2);
  --qsb-press-bg: var(--c-bg-subtle-press, #e7e9ec);
  --qsb-bottom-offset: 0px;
  --qsb-lift: 0px;
  --qsb-pad-y: 6px;
  --qsb-pad-x: 4px;
  --qsb-btn-max: 140px;
  --qsb-label-size: 11px;
  --qsb-gap: 2px;
  position: fixed;
  left: 0;
  right: 0;
  bottom: calc(var(--qsb-bottom-offset) + var(--qsb-lift));
  z-index: 99;
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: var(--qsb-pad-y) var(--qsb-pad-x);
  padding-bottom: calc(var(--qsb-pad-y) + max(0px, env(safe-area-inset-bottom, 0px) - var(--qsb-bottom-offset) - var(--qsb-lift)));
  background: var(--qsb-bg);
  color: var(--qsb-fg);
  font-family: var(--ff, "Inter", sans-serif);
  box-sizing: border-box;
}

.qdnapro-selection-bar *,
.qdnapro-selection-bar *::before,
.qdnapro-selection-bar *::after {
  box-sizing: border-box;
}

.qdnapro-selection-bar[hidden] {
  display: none;
}

.qdnapro-selection-bar[data-variant=flat] {
  border-top: 1px solid var(--qsb-border);
  border-radius: 0;
  box-shadow: 0 -2px 16px rgba(20, 25, 80, 0.1);
}

.qdnapro-selection-bar[data-variant=floating] {
  --qsb-lift: 12px;
  --qsb-pad-x: 6px;
  left: 12px;
  right: 12px;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid var(--qsb-border);
  border-radius: var(--r-4, 16px);
  box-shadow: 0 8px 24px rgba(20, 25, 80, 0.18);
}

.qdnapro-selection-bar-btn {
  flex: 1 1 0;
  min-width: 0;
  max-width: var(--qsb-btn-max);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--qsb-gap);
  min-height: 44px;
  padding: 4px 2px;
  background: transparent;
  border: none;
  border-radius: var(--r-2, 8px);
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  color: var(--qsb-fg-idle);
  text-decoration: none;
  transition: background-color 120ms ease-out, color 120ms ease-out;
}

.qdnapro-selection-bar-btn .qsb-btn__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
}

.qdnapro-selection-bar-btn .qsb-btn__icon qdnapro-icon,
.qdnapro-selection-bar-btn .qsb-btn__icon svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
  pointer-events: none;
}

.qdnapro-selection-bar-btn .qsb-btn__label {
  display: block;
  max-width: 100%;
  font-size: var(--qsb-label-size);
  font-weight: var(--fw-medium, 500);
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (hover: hover) {
  .qdnapro-selection-bar-btn:hover {
    background: var(--qsb-hover-bg);
    color: var(--qsb-fg);
  }
}
.qdnapro-selection-bar-btn[data-pressing=true] {
  background: var(--qsb-press-bg);
  color: var(--qsb-fg);
}

.qdnapro-selection-bar-btn:focus-visible {
  outline: 2px solid var(--focus-ring, #40499a);
  outline-offset: -2px;
}

.qdnapro-selection-bar-btn[data-tone=danger] {
  color: var(--qsb-fg-danger);
}

@media (hover: hover) {
  .qdnapro-selection-bar-btn[data-tone=danger]:hover {
    background: var(--c-signal-red-soft, #fff0f0);
    color: var(--qsb-fg-danger);
  }
}
.qdnapro-selection-bar-btn[data-tone=danger][data-pressing=true] {
  background: var(--c-signal-red-bg, #fee3e3);
  color: var(--qsb-fg-danger);
}

.qdnapro-selection-bar-btn[data-disabled=true] {
  color: var(--qsb-fg-disabled);
  cursor: default;
  pointer-events: none;
}

.qdnapro-selection-bar-btn[data-disabled=true][data-tone=danger] {
  color: var(--qsb-fg-disabled);
}

[data-theme-dark] .qdnapro-selection-bar,
[data-theme=dark] .qdnapro-selection-bar,
body[data-theme=dark] .qdnapro-selection-bar {
  --qsb-fg-danger: var(--c-warn-red-400, #f87171);
}

[data-theme-dark] .qdnapro-selection-bar[data-variant=flat],
[data-theme=dark] .qdnapro-selection-bar[data-variant=flat],
body[data-theme=dark] .qdnapro-selection-bar[data-variant=flat] {
  box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.45);
}

[data-theme-dark] .qdnapro-selection-bar[data-variant=floating],
[data-theme=dark] .qdnapro-selection-bar[data-variant=floating],
body[data-theme=dark] .qdnapro-selection-bar[data-variant=floating] {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

[data-theme-dark] .qdnapro-selection-bar-btn[data-tone=danger][data-pressing=true],
[data-theme=dark] .qdnapro-selection-bar-btn[data-tone=danger][data-pressing=true],
body[data-theme=dark] .qdnapro-selection-bar-btn[data-tone=danger][data-pressing=true] {
  background: rgba(248, 113, 113, 0.16);
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-selection-bar-btn {
    transition: none;
  }
}
.qdnapro-selection-bar {
  transition: transform 260ms cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: transform;
}

.qdnapro-selection-bar[data-entering=true] {
  transform: translateY(120%);
}

@media (prefers-reduced-motion: reduce) {
  .qdnapro-selection-bar {
    transition: none;
  }
  .qdnapro-selection-bar[data-entering=true] {
    transform: none;
  }
}
.qdnapro-selection-bar[data-color=purple] {
  --qsb-bg: var(--c-bg-secondary-purple, #e6e9ff);
  --qsb-border: var(--c-sidebar-icon, #c5c9eb);
  --qsb-fg-idle: var(--c-purple-500, #40499a);
  --qsb-fg: var(--c-purple-600, #333a7b);
  --qsb-hover-bg: var(--c-purple-100, #c0c5ff);
  --qsb-press-bg: var(--c-purple-100, #c0c5ff);
  --qsb-fg-danger: var(--c-warn-red-500, #dc2626);
}

.qdnapro-selection-bar[data-color=purple] .qdnapro-selection-bar-btn[data-tone=danger] {
  background: var(--c-bg-card, #ffffff);
}

[data-theme-dark] .qdnapro-selection-bar[data-color=purple],
[data-theme=dark] .qdnapro-selection-bar[data-color=purple],
body[data-theme=dark] .qdnapro-selection-bar[data-color=purple] {
  --qsb-fg-idle: var(--c-purple-200, #a5acff);
  --qsb-fg: var(--c-purple-100, #c0c5ff);
  --qsb-hover-bg: rgba(165, 172, 255, 0.16);
  --qsb-press-bg: rgba(165, 172, 255, 0.24);
}

.qdnapro-message-header [hidden] {
  display: none;
}

.qdnapro-message-header {
  --mh-heading: var(--c-purple-500, #40499a);
  --mh-fg: var(--c-text-body, #0b0b0d);
  --mh-muted: var(--c-text-muted, #6e7280);
  --mh-border: var(--c-border-soft, rgba(0, 0, 0, 0.07));
  --mh-bg: var(--c-bg-card, #ffffff);
  display: flex;
  flex-direction: column;
  background: var(--mh-bg);
  animation: inbox-detail-in 200ms ease-out;
  box-sizing: border-box;
}
.qdnapro-message-header *, .qdnapro-message-header *::before, .qdnapro-message-header *::after {
  box-sizing: border-box;
}

.mh-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  height: 56px;
  padding: 0 8px 0 20px;
  border-bottom: 1px solid var(--mh-border);
}

.mh-title-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--mh-heading);
  font-size: 16px;
  font-weight: 600;
}

.mh-title-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 4px;
}
.mh-title-actions:empty {
  display: none;
}

.mh-action-sep {
  flex: 0 0 auto;
  align-self: center;
  width: 1px;
  height: 24px;
  background: var(--mh-border);
}

.mh-sender {
  display: flex;
  gap: 16px;
  padding: 16px 20px 12px;
  border-bottom: 1px solid var(--mh-border);
}

.mh-sender-avatar {
  flex: 0 0 auto;
}

.mh-sender-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.mh-sender-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}

.mh-sender-name {
  color: var(--mh-fg);
  font-size: 15px;
  font-weight: 600;
}

.mh-sender-email {
  color: var(--mh-muted);
  font-size: 14px;
  font-weight: 500;
}

.mh-sender-date {
  margin-left: auto;
  flex-shrink: 0;
  color: var(--mh-muted);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.mh-to,
.mh-cc {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 4px;
  color: var(--mh-muted);
  font-size: 12px;
  font-weight: 500;
}

.mh-field-label {
  flex-shrink: 0;
}

.mh-person {
  display: inline-flex;
  align-items: baseline;
  gap: 0;
}

.mh-person-name {
  font-weight: 600;
  padding-right: 4px;
}

.mh-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.qdnapro-answer-row [hidden] {
  display: none;
}

.qdnapro-answer-row {
  --ar-heading: var(--c-purple-500, #40499a);
  --ar-fg: var(--c-text-body, #0b0b0d);
  --ar-muted: var(--c-text-muted, #6e7280);
  --ar-icon-color: #c2c2c2;
  --ar-pill-bg: var(--c-bg-card-hover, #f7f8fa);
  display: flex;
  flex-direction: column;
  padding: 4px 8px;
  box-sizing: border-box;
}
.qdnapro-answer-row *, .qdnapro-answer-row *::before, .qdnapro-answer-row *::after {
  box-sizing: border-box;
}

.ar-question {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 20px;
  color: var(--ar-heading);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.ar-icon {
  flex: 0 0 auto;
  color: var(--ar-icon-color);
}

.ar-question-label {
  flex: 1 1 auto;
  min-width: 0;
}

.ar-node-id {
  flex: 0 0 auto;
  margin-left: 6px;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  color: var(--ar-icon-color);
}

.ar-draft {
  flex: 0 0 auto;
  padding: 1px 6px;
  border-radius: 999px;
  background: var(--ar-pill-bg);
  color: var(--ar-muted);
  font-size: 11px;
  font-weight: 500;
}

.ar-answer {
  padding-left: 24px;
  color: var(--ar-fg);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

.qdnapro-message-actionbar [hidden] {
  display: none;
}

.qdnapro-message-actionbar {
  --mab-fg: var(--c-purple-500, #40499a);
  --mab-muted: var(--c-purple-500, #40499a);
  --mab-bg: #eeeffa;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px;
  border-radius: 8px;
  background: var(--mab-bg);
  color: var(--mab-fg);
  box-sizing: border-box;
}
.qdnapro-message-actionbar *, .qdnapro-message-actionbar *::before, .qdnapro-message-actionbar *::after {
  box-sizing: border-box;
}

.mab-info {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mab-info-icon {
  flex-shrink: 0;
  color: var(--mab-fg);
}

.mab-note {
  color: var(--mab-fg);
}

.mab-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  font-weight: 500;
}
.mab-actions:empty {
  display: none;
}

.qdnapro-timeline-marker [hidden] {
  display: none;
}

.qdnapro-timeline-marker {
  --tm-fg: #8c92c2;
  --tm-border: #d9dbeb;
  --tm-bg: var(--c-bg-card, #fff);
  display: flex;
  justify-content: center;
  padding: 8px 0;
  color: var(--tm-fg);
  font-size: 14px;
  font-weight: 400;
  box-sizing: border-box;
}
.qdnapro-timeline-marker *, .qdnapro-timeline-marker *::before, .qdnapro-timeline-marker *::after {
  box-sizing: border-box;
}

[data-theme=dark] .qdnapro-timeline-marker {
  --tm-fg: var(--c-text-muted, #6e7280);
  --tm-border: var(--c-border-card, rgba(255, 255, 255, 0.1));
}

.tm-block {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 100%;
  padding: 6px 16px;
  border: 1px solid var(--tm-border);
  border-radius: 12px;
  background-color: var(--tm-bg);
}

.tm-head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 auto;
  min-width: 0;
}

.tm-icon {
  flex: 0 0 auto;
}

.tm-label {
  min-width: 0;
  overflow-wrap: break-word;
}

.tm-sep {
  flex: 0 0 auto;
}

.tm-block > qdnapro-avatar {
  flex: 0 0 auto;
  display: inline-flex;
  line-height: 0;
}

.tm-time {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* Cross-document View Transitions (Optie B, Jan 2026-06-17): smooth the
   full-page navigations so the content cross-fades instead of hard-cutting,
   while the nav-rail (its own `view-transition-name` below) stays put and its
   active-item highlight glides across. Chrome honours this for same-origin MPA
   navigation; browsers/pages that don't opt in fall back to a normal instant
   navigation — no animation, no regression. */
@view-transition {
  navigation: auto;
}
/* No-dip transition: the default cross-fade fades the old out (1→0) AND the new
   in (0→1) simultaneously, so at the crossover both layers are translucent and
   the light page background bleeds through — the "flash to light". Instead, keep
   the OLD page fully opaque underneath and fade the NEW in on top of it, so there
   is never a see-through moment. The nav-rail (identical across pages) holds
   perfectly static — no fade, no flicker. */
::view-transition-old(root) {
  animation: none;
}

::view-transition-new(root) {
  animation: qdna-vt-fade-in 200ms ease both;
}

@keyframes qdna-vt-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
::view-transition-old(qdna-nav-rail),
::view-transition-new(qdna-nav-rail) {
  animation: none;
}

html, body {
  height: 100%;
}

/* ── inline code ────────────────────────────────────────────────────────────────────────────
   Bootstrap geeft ÉLK `<code>` zijn eigen roze (`#e83e8c`) — een kleur die verder nergens in
   QDNA Pro voorkomt en die niet uit de tokenbibliotheek komt. Zichtbaar op onder meer de
   parameter- en meetwaarde-labels in de rapport-editor en op de technische waarden in de
   ontwikkelaarspagina's (Jan, 2026-08-03: "roze is een kleur die verder nergens voorkomt").

   Vervangen door `--c-brand-purple`: hetzelfde merkpaars waarmee de app al haar kleine
   technische chips zet (het conditie-chipje in de documenteditor, de selectie-chip in de
   blokkenlijst), en — anders dan een kale `--c-purple-500` — een SEMANTISCHE token die in het
   donkere thema meekantelt naar een licht paars.

   ⚠️ Dit werkt op gelijke specificiteit (0,0,1) en wint dus puur op VOLGORDE: `style-v1.css`
      staat ná `bootstrap.min.css`. Verhuist de stylesheet-volgorde ooit, dan is dit de eerste
      regel die stil terugvalt op roze. */
code {
  color: var(--c-brand-purple);
}

html.app-scroll-locked, html.app-scroll-locked body {
  overflow: hidden !important;
}

/* Same paint surface on <html> as on <body>. Without this, every
   navigation between pages briefly paints the browser's default white
   background between unload and the new page's first paint — visible
   as a white flash when clicking around the nav-rail. (Kim 2026-06-07) */
html {
  background: #e6e9ff;
}

body {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  margin: 0;
  padding: 0;
  color: #1e1f20;
  background: #e6e9ff;
}

.ms-drop {
  z-index: 1050;
  width: 40% !important;
}
.ms-drop ul > li.multiple {
  width: 100% !important;
}

.ms-choice > div {
  background: none !important;
}
.ms-choice > div.open {
  background: none !important;
}

.qdna-page {
  display: flex;
  min-height: 100%;
  align-items: flex-start;
}
.qdna-page qdnapro-nav-rail {
  flex-shrink: 0;
  position: sticky;
  top: 0;
  height: 100vh;
  align-self: flex-start;
  view-transition-name: qdna-nav-rail;
}
.qdna-page {
  /* components.js is a deferred module, so on every (full-page) navigation the
     raw <qdnapro-nav-rail> exists for a beat before it upgrades — with no width
     or background it collapses the menu strip and the lavender page bg flashes
     through, then the rail pops to 208px dark purple and the content reflows.
     Reserve the expanded width + nav surface up front (render-blocking CSS) so
     the rail looks identical before/after upgrade → no reflow, no flash.
     208px = the expanded width; var fallback = the resolved --c-nav-bg. */
}
.qdna-page qdnapro-nav-rail:not(:defined) {
  width: 208px;
  background: var(--c-nav-bg, #3a4290);
}
.qdna-page .qdna-page-content {
  flex-grow: 1;
  min-width: 0;
  overflow-x: clip;
}

/* Fix-A companion for collapsed-rail users: when <html> is flagged
   `rail-collapsed` (set pre-paint by the inline script in header.html, reading
   the saved localStorage preference), reserve the COLLAPSED rail width for the
   not-yet-upgraded rail instead of the default 208px. Without this a user who
   prefers the rail collapsed would see a 208→collapsed reflow on every
   navigation (and a view-transition size mismatch). 84px must match the
   collapsed width in _nav-rail.scss. */
html.rail-collapsed .qdna-page qdnapro-nav-rail:not(:defined) {
  width: 84px;
}

.ts-section, .qdna-section {
  height: 100%;
  padding-left: 16px;
  padding-right: 16px;
}

.qdna-navbar {
  width: 100%;
  height: 56px;
  background-color: var(--c-purple-50, #e6e9ff);
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  padding: 0 16px;
  justify-content: space-between;
}
.qdna-navbar .qdna-breadcrumbs {
  display: flex;
  gap: 8px;
  align-items: center;
}
.qdna-navbar .qdna-breadcrumbs a.qdna-breadcrumb {
  color: #1e1f20;
  text-decoration: none;
  font-size: 15px;
  display: flex;
  gap: 4px;
  align-items: center;
  padding: 0 8px;
}
.qdna-navbar .qdna-breadcrumbs a.qdna-breadcrumb:hover {
  text-decoration: underline;
}
.qdna-navbar .qdna-breadcrumbs a.qdna-breadcrumb.active:hover {
  text-decoration: none;
}
.qdna-navbar .navbar-items {
  display: flex;
  gap: 12px;
  align-items: center;
}

#navbar-bell-btn.qdnapro-icon-btn,
#navbar-nova-btn.qdnapro-icon-btn,
#navbar-app-btn.qdnapro-icon-btn {
  color: #40499a;
}
#navbar-bell-btn.qdnapro-icon-btn:hover:not(.icon-btn-disabled),
#navbar-nova-btn.qdnapro-icon-btn:hover:not(.icon-btn-disabled),
#navbar-app-btn.qdnapro-icon-btn:hover:not(.icon-btn-disabled) {
  background-color: #daddf2;
}

.al-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10100;
  background: rgba(10, 12, 40, 0.72);
  backdrop-filter: blur(4px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 20px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.al-backdrop[hidden] {
  display: none;
}

.al-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding-bottom: 32px;
}

.al-chrome {
  display: flex;
  align-items: center;
  gap: 12px;
}

.al-devices {
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  padding: 3px;
}

.al-device-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  font-size: 18px;
  cursor: pointer;
  transition: background 140ms, color 140ms;
}
.al-device-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.al-device-btn--active {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

.al-close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.75);
  font-size: 18px;
  cursor: pointer;
  transition: background 140ms, color 140ms;
}
.al-close-btn:hover {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}

.al-frame {
  position: relative;
  background: #1a1b2e;
  border: 3px solid #3a3b55;
  border-radius: 40px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 24px 80px rgba(0, 0, 0, 0.7);
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: width 280ms cubic-bezier(0.4, 0, 0.2, 1), height 280ms cubic-bezier(0.4, 0, 0.2, 1), border-radius 280ms;
  overflow: hidden;
}
.al-frame--phone {
  width: 375px;
  height: 812px;
  border-radius: 44px;
}
.al-frame--tablet-portrait {
  width: 768px;
  height: 1024px;
  border-radius: 24px;
}
.al-frame--tablet-landscape {
  width: 1024px;
  height: 768px;
  border-radius: 24px;
}
.al-frame--phone-landscape {
  width: 812px;
  height: 375px;
  border-radius: 32px;
}
.al-frame--desktop {
  width: min(1680px, 96vw);
  height: calc(100vh - 140px);
  max-height: 1100px;
  border-radius: 12px;
}

.al-notch {
  flex-shrink: 0;
  width: 120px;
  height: 28px;
  margin-top: 6px;
  background: #1a1b2e;
  border-radius: 0 0 18px 18px;
  z-index: 2;
}
.al-frame--tablet-portrait .al-notch, .al-frame--tablet-landscape .al-notch, .al-frame--phone-landscape .al-notch, .al-frame--desktop .al-notch {
  display: none;
}

.al-screen {
  flex: 1;
  width: 100%;
  background: #fff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.al-frame--tablet-portrait > .al-screen,
.al-frame--tablet-landscape > .al-screen,
.al-frame--desktop > .al-screen {
  box-sizing: border-box;
  padding: 22px;
}

.al-frame--phone-landscape > .al-screen {
  box-sizing: border-box;
  padding: 16px;
}

.al-iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

.al-home-bar {
  flex-shrink: 0;
  width: 120px;
  height: 5px;
  margin: 8px auto;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 3px;
}
.al-frame--tablet-portrait .al-home-bar, .al-frame--tablet-landscape .al-home-bar, .al-frame--phone-landscape .al-home-bar, .al-frame--desktop .al-home-bar {
  display: none;
}

.al-live-notice {
  position: absolute;
  top: 46px;
  left: 12px;
  right: 12px;
  z-index: 3;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: 12px;
  background: #b04a42;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  transition: opacity 220ms ease, transform 220ms ease;
}
.al-live-notice--show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .al-live-notice {
    transition: none;
  }
}
.al-live-notice__icon {
  flex: 0 0 auto;
  margin-top: 1px;
  font-size: 22px;
  line-height: 1;
  color: #fff;
}
.al-live-notice__body {
  flex: 1 1 auto;
  min-width: 0;
}
.al-live-notice__title {
  margin: 0 0 3px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
}
.al-live-notice__text {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.45;
  color: #fbe6e4;
}
.al-live-notice__ok {
  display: inline-block;
  padding: 5px 18px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 8px;
  cursor: pointer;
  transition: background 140ms ease;
}
.al-live-notice__ok:hover {
  background: rgba(255, 255, 255, 0.28);
}
.al-live-notice__ok:active {
  transform: scale(0.98);
}
.al-frame--tablet-portrait .al-live-notice, .al-frame--tablet-landscape .al-live-notice {
  left: 16px;
  right: auto;
  max-width: 420px;
  top: 16px;
}

@keyframes nova-soft-pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.12);
  }
}
#navbar-nova-btn.qdnapro-icon-btn {
  transform-origin: center;
  animation: nova-soft-pulse 2.6s ease-in-out infinite;
}
#navbar-nova-btn.qdnapro-icon-btn:hover {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  #navbar-nova-btn.qdnapro-icon-btn {
    animation: none;
  }
}
#navbar-notification-menu {
  background: rgba(247, 248, 253, 0.5) !important;
  backdrop-filter: blur(28px) saturate(1.5);
  -webkit-backdrop-filter: blur(28px) saturate(1.5);
  border: none;
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(40, 46, 100, 0.18);
  overflow: hidden;
  padding: 0 !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(40, 46, 100, 0.25) transparent;
}
#navbar-notification-menu::-webkit-scrollbar {
  width: 8px;
}
#navbar-notification-menu::-webkit-scrollbar-track {
  background: transparent;
}
#navbar-notification-menu::-webkit-scrollbar-thumb {
  background: rgba(40, 46, 100, 0.25);
  border-radius: 4px;
}
#navbar-notification-menu::-webkit-scrollbar-thumb:hover {
  background: rgba(40, 46, 100, 0.4);
}

.user-profile-dropdown .user-profile-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 8px;
  border-radius: 8px;
  user-select: none;
  cursor: pointer;
  border: 1px solid #40499a;
  color: #40499a;
  white-space: nowrap;
}
.user-profile-dropdown .user-profile-btn img.profile-picture {
  width: 29px;
  height: 29px;
  aspect-ratio: 1/1;
  border-radius: calc(infinity * 1px);
  user-select: inherit;
}
.user-profile-dropdown .user-profile-btn .profile-content {
  font-size: 16px;
  font-weight: 400;
}
.user-profile-dropdown .user-profile-btn:hover {
  background: #daddf2;
}
.user-profile-dropdown .user-profile-details {
  border: none;
  z-index: 1;
}
.user-profile-dropdown .user-profile-details .user-card {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-bottom: 1rem;
  width: 301px;
}
.user-profile-dropdown .user-profile-details .user-card .user-image {
  position: relative;
  margin-bottom: 1.5rem;
}
.user-profile-dropdown .user-profile-details .user-card .user-image img.image {
  width: 124px;
  height: 124px;
  border-radius: 50%;
  object-fit: cover;
}
.user-profile-dropdown .user-profile-details .user-card .user-image .settings-icon {
  width: 40px;
  height: 40px;
  background-color: #F0F1F2;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: absolute;
  right: -8px;
  bottom: -8px;
}
.user-profile-dropdown .user-profile-details .user-card .user-info {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.user-profile-dropdown .user-profile-details .user-card .user-info .info-name {
  font-weight: 800;
  color: #202124;
}
.user-profile-dropdown .user-profile-details .user-card .user-info .info-email {
  color: #6B7280;
}

.ts-load-large, .ts-load-statusbar {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: none;
}
.ts-load-large--in, .ts-load-statusbar--in {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  height: 100%;
  width: 100%;
}

.ts-loader, .ts-loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

.ts-loader {
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(255, 255, 255, 0.2);
  border-right: 1.1em solid rgba(255, 255, 255, 0.2);
  border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
  border-left: 1.1em solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.flash-message {
  padding: 16px;
  position: absolute;
  width: 100%;
  top: 24px;
}
.flash-message .alert {
  padding: 8px 24px;
  font-size: 14px;
}

qdnapro-nav-item[href="/v1/kwaliteitslandschap"] .nav-item-label {
  font-size: 12.5px;
  letter-spacing: -0.015em;
}

.tox.tox-silver-sink,
.tox-tinymce-aux {
  z-index: 100000 !important;
}

.about-qdna {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  text-align: center;
}

.about-qdna__crown {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.about-qdna__lockup {
  display: flex;
  align-items: baseline;
  gap: 9px;
  color: #40499a;
}

.about-qdna__pro {
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  color: #40499a;
}

.about-qdna__tagline {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #6b6884;
}

.about-qdna__version {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.about-qdna__num {
  font-size: 38px;
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1;
  color: #23253a;
  font-variant-numeric: tabular-nums;
}

.about-qdna__channel {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #40499a;
  background: rgba(64, 73, 154, 0.1);
  border-radius: 999px;
  padding: 4px 9px;
}

.about-qdna__grid {
  width: 100%;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: #f7f7fb;
  border: 1px solid #e2e2f0;
  border-radius: 10px;
  overflow: hidden;
}
.about-qdna__grid > div {
  padding: 11px 8px 12px;
  border-left: 1px solid #e2e2f0;
  min-width: 0;
}
.about-qdna__grid > div:first-child {
  border-left: 0;
}
.about-qdna__grid dt {
  margin: 0 0 4px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #8a8fb5;
}
.about-qdna__grid dd {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: #23253a;
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
}

.about-qdna__actions qdnapro-icon {
  margin-right: 6px;
}

.about-qdna__contact {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.about-qdna__contact a {
  color: #40499a;
  text-decoration: none;
  font-weight: 500;
}
.about-qdna__contact a:hover {
  text-decoration: underline;
}

.about-qdna__dot {
  color: #c3c3d6;
}

.about-qdna__footer {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding-top: 16px;
  border-top: 1px solid #e2e2f0;
}

.about-qdna__by {
  margin: 0;
  font-size: 12.5px;
  color: #6b6884;
}

.about-qdna__copy {
  margin: 0 0 6px;
  font-size: 12px;
  color: #8a8fb5;
}

.about-qdna__eyebrow {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: #8a8fb5;
}

.about-qdna__plate {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  background: #ffffff;
  border: 1px solid #e6e7f2;
  border-radius: 10px;
  padding: 12px 18px;
}
.about-qdna__plate img {
  height: 58px;
  width: auto;
  display: block;
}

.about-qdna__standards {
  margin: 0;
  font-size: 11px;
  line-height: 1.5;
  color: #8a8fb5;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 520px) {
  .about-qdna__plate {
    gap: 10px;
    padding: 10px 12px;
  }
  .about-qdna__plate img {
    height: 44px;
  }
}
.default-overview {
  display: flex;
  flex-flow: column;
  height: calc(100vh - 56px);
  min-height: 0;
  background-color: transparent;
  padding-top: 1rem;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 1rem;
}
.default-overview .overview-panel-left {
  display: flex;
  flex-flow: column;
  flex: 1;
  min-width: 0;
  padding: 0px;
  margin: 0px 8px 0px 0px;
}
.default-overview .overview-panel-center {
  display: flex;
  flex-flow: column;
  flex: 3;
  min-width: 0;
  padding: 0px;
}
.default-overview > .overview-header {
  display: flex;
  flex-flow: row;
  flex: 0 0 auto;
  min-height: 0;
  padding-top: 10px;
}
.default-overview > .overview-header > #header-panel-left {
  gap: 16px;
}
.default-overview > .overview-header > #header-panel-left > * {
  background-color: white;
}
.default-overview > .overview-header > #header-panel-left > *:first-child {
  border-top-left-radius: 8px;
}
.default-overview > .overview-header > #header-panel-left > *:last-child {
  border-top-right-radius: 8px;
}
.default-overview > .overview-header > #header-panel-left > * {
  flex: 0 0 auto;
  padding: 8px;
  padding-bottom: 4px;
  padding-top: 4px;
}
.default-overview > .overview-header > #header-panel-left > #header-pl-options {
  display: flex;
  flex-flow: row;
}
.default-overview > .overview-header > #header-panel-left > #header-pl-options > *:last-child {
  margin-left: auto;
  order: 2;
}
.default-overview > .overview-header > #header-panel-left.hidden-content {
  align-self: flex-start;
}
.default-overview > .overview-header > #header-panel-left.hidden-content > *:first-child {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}
.default-overview > .overview-header > #header-panel-left.hidden-content > *:last-child {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}
.default-overview > .overview-header > #header-panel-center {
  display: flex;
  flex-flow: column;
  gap: 8px;
  margin-bottom: 8px;
}
.default-overview > .overview-header > #header-panel-center > #header-pc-functions {
  display: flex;
  flex: 0 0;
  flex-flow: row;
  align-items: center;
  gap: 4px;
}
.default-overview > .overview-header > #header-panel-center > #header-pc-functions > #header-pc-search {
  display: flex;
  flex-flow: row;
  width: 50%;
}
.default-overview > .overview-header > #header-panel-center > #header-pc-functions > #header-pc-options {
  display: flex;
  flex-flow: row;
  align-items: center;
  flex: 0 0 auto;
}
.default-overview > .overview-header > #header-panel-center > #header-pc-functions > #header-pc-options > * {
  flex: 0 0 auto;
}
.default-overview > .overview-header > #header-panel-center > #header-pc-functions > #header-pc-options > #header-pc-btn-advanced-search .btn-icon-prefix {
  font-size: 21px;
}
.default-overview > .overview-header > #header-panel-center > #header-pc-filters {
  gap: 8px;
}
.default-overview > .overview-body {
  display: flex;
  flex-flow: row;
  flex: 1 1 auto;
  min-height: 0;
}
.default-overview > .overview-body > #body-panel-left {
  margin-top: -9px;
  background-color: white;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.default-overview > .overview-body > #body-panel-left > #body-pl-search {
  display: flex;
  flex-flow: row;
  flex: 0 0 auto;
  padding: 8px;
}
.default-overview > .overview-body > #body-panel-left > #body-pl-search > * {
  flex: 1 1 auto;
}
.default-overview > .overview-body > #body-panel-left > #body-pl-search > *:last-child {
  margin-left: 8px;
  flex: 0 0 auto;
}
.default-overview > .overview-body > #body-panel-left > #body-pl-none {
  flex: 0 0 auto;
  margin: 8px;
}
.default-overview > .overview-body > #body-panel-left > hr {
  border-top-width: 2px;
  border-top-color: #D9DBEB;
  margin: 2px auto 0px;
  width: 94%;
}
.default-overview > .overview-body > #body-panel-left > #body-pl-data {
  display: flex;
  flex-flow: column;
  flex: 1 1 auto;
  padding: 8px;
  min-width: 0;
  overflow-y: scroll;
  overflow-x: hidden;
}
.default-overview > .overview-body > #body-panel-left > #body-pl-data .body-pl-data-record {
  display: flex;
  flex-flow: row;
  flex: 0 0 auto;
  padding: 6px 12px 6px 0px;
  border-radius: 8px;
  cursor: pointer;
}
.default-overview > .overview-body > #body-panel-left > #body-pl-data .body-pl-data-record > *:first-child {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.default-overview > .overview-body > #body-panel-left > #body-pl-data .body-pl-data-record > *:last-child {
  flex: 0 0 auto;
  text-align: right;
}
.default-overview > .overview-body > #body-panel-left > #body-pl-data .body-pl-data-record:hover {
  background-color: #F0F1F2;
}
.default-overview > .overview-body > #body-panel-left > #body-pl-data .body-pl-data-record.active {
  background-color: #F0F1F2;
}
.default-overview > .overview-body > #body-panel-center {
  border-radius: 8px;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-header {
  display: flex;
  flex-flow: column;
  flex: 0 0 auto;
  padding: 8px;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-header > div {
  display: flex;
  flex-flow: row;
  flex: 0 0 auto;
  padding: 4px;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-header > div .body-pc-header-option-group {
  display: flex;
  flex-flow: row;
  flex: 0 0 auto;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-header > div .body-pc-header-option-group > #btn-pc-header-options-add-existing {
  margin-right: 8px;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-header > div .body-pc-header-checked-option-group {
  display: flex;
  flex-flow: row;
  flex: 0 0 auto;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-header > div .body-pc-header-checked-option-group > qdna-label#lbl-checked-options-count {
  font-size: 1rem;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-header #body-pc-header-options > .body-pc-header-option-group:not(:only-child):last-child {
  margin-left: auto;
  order: 2;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-header #body-pc-header-checked-options {
  gap: 8px;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-data {
  display: flex;
  flex-flow: column;
  flex: 1 1 auto;
  min-width: 0;
  text-align: center;
  overflow-y: auto;
  overflow-x: hidden;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-data > table {
  text-align: left;
  table-layout: fixed;
  width: 100%;
  min-width: 0;
  border-collapse: separate;
  border-spacing: 0 1px;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-data > table > thead > tr > th {
  position: sticky;
  background-color: #DADADA;
  top: 0;
  z-index: 2;
  padding-top: 4px;
  padding-bottom: 4px;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-data > table > thead > tr > th > div {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-data > table > thead > tr > th > div > *:last-child {
  text-align: right;
  display: none;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-data > table > tbody > tr > td {
  border-bottom: 1px solid #ccc;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-data > table > tbody > tr:hover {
  background-color: #F0F1F2;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-data > table > tbody > tr:hover > td {
  background-color: #F0F1F2;
}
.default-overview > .overview-body > #body-panel-center > #body-pc-data > .loader {
  margin: 16px auto;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border: 2px solid black;
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.default-overview > .overview-body > #body-panel-center.table-view > #body-pc-header {
  background-color: white;
  border-radius: 8px 8px 0 0;
}
.default-overview > .overview-body > #body-panel-center.table-view > #body-pc-data {
  background-color: white;
  border-radius: 0 0 8px 8px;
}
.default-overview > .overview-body > #body-panel-center:not(.table-view) {
  background-color: transparent;
}
.default-overview > .overview-body > #body-panel-center:not(.table-view) > #body-pc-header {
  background-color: white;
  border-radius: 8px;
}
.default-overview > .overview-footer #footer-navigation {
  position: absolute;
  bottom: 48px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
}

.total-data {
  padding-bottom: 70px;
}

.hidden {
  display: none !important;
}

th.checkbox {
  width: 48px;
  border-bottom: 1px solid #ccc;
}
th.checkbox qdna-input {
  display: flex !important;
  justify-content: center !important;
}

.pc-data-table-cell.bigger {
  padding: 16px 0px 16px 0px !important;
}
.pc-data-table-cell qdna-label {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pc-data-table-cell > div {
  min-width: 0;
  height: 36px;
  display: flex;
}

table#body-pc-data-table thead tr {
  cursor: pointer;
}
table#body-pc-data-table tbody tr[data-id] {
  cursor: pointer;
}

.creation-row {
  padding: 8px;
}

.creation-row:last-child {
  padding-bottom: 48px;
}

.id-column {
  width: 82px;
}

#body-pc-data-cards,
#default-overview-optionsbox {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
  max-width: 100%;
  margin-bottom: 8px;
  text-align: start;
  padding-right: 1rem;
}

/* ==========  Side-panel show/hide animation (Jan 2026-06-17)  ==========
   The left/right overview side panels (Teams/Locaties/Units list) are toggled
   via the `.hidden` class (globally `display:none !important`). To make the
   WHOLE row feel fluid — panel AND the neighbouring list moving together —
   we don't pop the panel in/out with display. Instead, under no-preference we
   override `.hidden` to keep the panel in flow at zero width and animate its
   `flex-grow` (0↔1) + opacity. Because the panel and the center list share one
   flex row, the browser redistributes the freed/claimed space frame-by-frame,
   so the list glides to its new width instead of snapping. `overflow:hidden`
   clips the content while the box is narrower than its content; `min-width:0`
   (already on the panel) lets it collapse fully. The "hidden" panel stays at
   0 width / opacity 0 / pointer-events:none — visually gone, no layout cost.
   Under `prefers-reduced-motion: reduce` this whole block is skipped, so the
   global `.hidden { display:none }` applies and the toggle is instant. */
@media (prefers-reduced-motion: no-preference) {
  .default-overview .overview-panel-left,
  .default-overview .overview-panel-right {
    overflow: hidden;
    transition: flex-grow 260ms ease, opacity 200ms ease, margin 260ms ease;
  }
  .default-overview .overview-panel-left.hidden,
  .default-overview .overview-panel-right.hidden {
    display: flex !important; /* beat global .hidden { display:none !important } */
    flex-grow: 0;
    opacity: 0;
    margin-right: 0;
    margin-left: 0;
    pointer-events: none;
  }
}
.tsa-toolbar-colors .slick-next,
.tsa-toolbar-users .slick-next, .tsa-toolbar-colors .slick-prev,
.tsa-toolbar-users .slick-prev, #dashboard-colors .slick-next, #dashboard-users .slick-next, #dashboard-colors .slick-prev, #dashboard-users .slick-prev {
  font-size: 0;
  line-height: 0;
  display: block;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
  flex: 0 0 auto;
  z-index: 10;
}
.tsa-toolbar-colors .slick-next:focus,
.tsa-toolbar-users .slick-next:focus, .tsa-toolbar-colors .slick-prev:focus,
.tsa-toolbar-users .slick-prev:focus, #dashboard-colors .slick-next:focus, #dashboard-users .slick-next:focus, #dashboard-colors .slick-prev:focus, #dashboard-users .slick-prev:focus {
  color: transparent;
  outline: none;
  background: transparent;
}
.tsa-toolbar-colors .slick-disabled.slick-next:before,
.tsa-toolbar-users .slick-disabled.slick-next:before, .tsa-toolbar-colors .slick-disabled.slick-prev:before,
.tsa-toolbar-users .slick-disabled.slick-prev:before, #dashboard-colors .slick-disabled.slick-next:before, #dashboard-users .slick-disabled.slick-next:before, #dashboard-colors .slick-disabled.slick-prev:before, #dashboard-users .slick-disabled.slick-prev:before {
  opacity: 0.25;
  cursor: default;
}
.tsa-toolbar-colors .slick-next:before,
.tsa-toolbar-users .slick-next:before, .tsa-toolbar-colors .slick-prev:before,
.tsa-toolbar-users .slick-prev:before, #dashboard-colors .slick-next:before, #dashboard-users .slick-next:before, #dashboard-colors .slick-prev:before, #dashboard-users .slick-prev:before {
  display: inline-block;
  font: normal normal normal 24px/1 "Material Design Icons";
  font-size: 24px;
  text-rendering: auto;
  line-height: 1;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.tsa-dashboard-header-title, .tsa-dashboard-header-color, .tsa-dashboard-header-logo {
  background: #e1e1e1;
  border: 1px dashed rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.tsa-dashboard-item-empty, .tsa-dashboard-item {
  min-height: 200px;
  border-radius: 0.25rem;
  position: relative;
  color: #797979;
  height: 100%;
  transition: box-shadow 0.5s;
}

.ts-autometrics {
  display: flex;
  flex-grow: 1;
  height: calc(100vh - 100px);
  overflow: hidden;
}
.ts-autometrics .tsa-sidebar {
  border-radius: 0.25rem;
  margin-right: 0.625rem;
  flex: 0 0 150px;
  max-width: 150px;
  overflow-y: auto;
  background-color: #fff;
}
@media (min-width: 1200px) {
  .ts-autometrics .tsa-sidebar {
    flex: 0 0 200px;
    max-width: 200px;
  }
}
.ts-autometrics .tsa-main {
  border-radius: 0.25rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  background: #fff;
}
.ts-autometrics .tsa-main .tsa-toolbar {
  background: #555;
  display: flex;
  padding: 8px 16px;
  color: #fff;
  flex-shrink: 0;
}
.ts-autometrics .tsa-main .tsa-toolbar .slick-slider {
  display: flex;
}
.ts-autometrics .tsa-main .tsa-toolbar-group {
  padding: 0 10px;
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  text-align: center;
  font-size: 0.625rem;
  font-weight: 500;
}
.ts-autometrics .tsa-main .tsa-toolbar-group:not(:first-child) {
  border-left: 1px solid #888888;
}
.ts-autometrics .tsa-main .tsa-toolbar-group-inner {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.ts-autometrics .tsa-main .tsa-toolbar-group-inner .clearfix {
  display: flex;
  gap: 4px;
}
.ts-autometrics .tsa-main .tsa-toolbar-group.slick-fix {
  flex: 1;
  gap: 4px;
}
.ts-autometrics .tsa-main .tsa-toolbar-item:not(:first-child) {
  margin-left: 8px;
}
.ts-autometrics .tsa-main .tsa-toolbar-btn {
  border: 1px solid rgb(49.3, 49.3, 49.3);
  background: rgb(69.7, 69.7, 69.7);
  color: #fff;
  border-radius: 0.25rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  width: 24px;
  height: 24px;
  line-height: 1;
  transition: 0.3s;
}
.ts-autometrics .tsa-main .tsa-toolbar-btn:hover {
  background: rgb(49.3, 49.3, 49.3);
}
.ts-autometrics .tsa-main .tsa-toolbar-btn-primary {
  background-color: #40499a !important;
  border-color: #40499a !important;
}
.ts-autometrics .tsa-main .tsa-toolbar-btn-primary:hover {
  background-color: rgb(58.0110091743, 66.1688073394, 139.5889908257) !important;
  border-color: rgb(58.0110091743, 66.1688073394, 139.5889908257) !important;
}
.ts-autometrics-modal.modal .modal-content {
  padding: 1rem;
}
.ts-autometrics-modal.modal .modal-header {
  gap: 8px;
  padding: 0 0 0.5rem !important;
  align-items: center;
}
.ts-autometrics-modal.modal .modal-header .modal-title {
  font-size: 1rem;
}
.ts-autometrics-modal.modal img.ts-rounded {
  width: 36px;
  border-radius: 8px;
}
.ts-autometrics-modal.modal .modal-body .table td, .ts-autometrics-modal.modal .modal-body .table th {
  vertical-align: middle !important;
  padding: 0.5rem;
}
.ts-autometrics-modal.modal .modal-body .form-setting-field {
  padding: 0.5rem 0rem;
  gap: 0.75rem;
  display: flex;
  align-items: center;
  width: 75%;
  justify-content: space-between;
}
.ts-autometrics-modal.modal .modal-body .form-setting-field input[type=checkbox] {
  width: 1rem;
  height: 1rem;
}
.ts-autometrics-modal.modal .modal-footer {
  padding: 0.5rem 0 0 !important;
}
.ts-autometrics-modal.modal .modal-icon {
  padding: 8px 16px;
  border-radius: 8px;
}

.tsa-type-selected {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  text-align: center;
}
.tsa-type-selected a {
  margin-left: 8px;
}
.tsa-type-selected-item {
  flex-direction: column;
  width: 75px;
  height: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px dashed #ababab;
  padding: 10px;
  border-radius: 8px;
}
.tsa-type-selected-item img {
  transform: scale(0.8);
}
.tsa-type-selected-item span {
  font-size: 11px;
}

.tsa-type-selector {
  margin-top: 10px;
  display: flex;
  justify-content: flex-start;
  border: 1px dashed #ababab;
  background: rgb(244.8, 244.8, 244.8);
  border-radius: 8px;
  padding: 10px;
}
.tsa-type-selector-item {
  display: flex;
  width: 100%;
  justify-content: flex-start;
  flex-direction: column;
}
.tsa-type-selector-item-cat {
  width: 100%;
  margin: 0 2px;
  background: #fff;
}
.tsa-type-selector-item-cat-header {
  background: #40499a;
  color: #fff;
  padding: 5px 10px;
  margin-bottom: 5px;
  border-radius: 0.25rem;
  font-size: 14px;
}
.tsa-type-selector-item-cat-list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.tsa-type-selector-item-cat-list a {
  flex: 0 0 30%;
  max-width: 30%;
  transition: background 0.3s;
  font-size: 12px;
  padding: 5px 10px;
}
.tsa-type-selector-item-cat-list a .tsa-charttype-icon {
  width: 18px;
  height: 18px;
  max-width: 100%;
  margin-right: 10px;
}
.tsa-type-selector-item-cat-list a:hover, .tsa-type-selector-item-cat-list a.active {
  background: rgb(244.8, 244.8, 244.8);
}

.tsa-dashboard {
  padding: 15px 15px 0;
  flex-grow: 1;
  overflow-y: auto;
}

.tsa-dashboard-themes {
  padding: 12px;
  width: 50%;
}
.tsa-dashboard-themes-color {
  width: 25%;
  height: 50px;
  float: left;
}
.tsa-dashboard-themes-color:first-child {
  border-top-left-radius: 0.25rem;
}
.tsa-dashboard-themes-color:last-child {
  border-top-right-radius: 0.25rem;
}
.tsa-dashboard-themes .card {
  max-width: 23.699%;
  width: 23.699%;
  margin: 5px;
  transition: all 1s;
}
.tsa-dashboard-themes .card:last-child {
  margin-right: 0;
}
.tsa-dashboard-themes .card.selected {
  box-shadow: 0 0 10px #9f9f9f;
}
.tsa-dashboard-themes .card:hover {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
.tsa-dashboard-themes .card-body {
  padding: 0;
}
.tsa-dashboard-themes .card-footer {
  padding: 10px 0;
  font-size: 12px;
  font-weight: 500;
}

#dash_colors .child_colors,
#dash_colors .ui-sortable-placeholder {
  width: 24px;
  height: 24px;
  border-radius: 50%;
}
#dash_colors .ui-sortable-placeholder {
  float: left;
}
#dash_colors .ui-state-highlight {
  border-style: dashed;
  border-color: rgba(255, 255, 255, 0.5);
  background-color: rgba(255, 255, 255, 0.1);
}

.tsa-dashboard-color {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  position: relative;
  font-size: 0.625rem;
  transition: all 0.5s;
  cursor: pointer;
}
.tsa-dashboard-color > a {
  position: absolute;
  top: -2px;
  right: -2px;
  background: #fff;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  line-height: 12px;
}

.tsa-dashboard-user {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto;
}
@media (min-width: 1520px) {
  .tsa-dashboard-user {
    width: 48px;
    height: 48px;
  }
}

.tsa-dashboard-header {
  padding: 8px 16px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.tsa-dashboard-header-logo {
  height: 60px;
  min-width: 100px;
  border-radius: 0.25rem;
  overflow: hidden;
}
.tsa-dashboard-header-logo:hover .btn-tr, .tsa-dashboard-header-logo:hover .btn-br {
  opacity: 1;
}
.tsa-dashboard-header-color {
  width: 48px;
  height: 48px;
  border-radius: 50%;
}
.tsa-dashboard-header-title {
  height: 48px;
  border-radius: 0.25rem;
  padding: 32px 16px;
}
.tsa-dashboard-header-title-bold.active, .tsa-dashboard-header-title-italic.active {
  color: #FFF;
  background-color: #40499a;
}
.tsa-dashboard-header-title input {
  font-size: 24px;
  max-width: 350px;
  background: transparent;
  border: none;
  text-align: right;
  padding-right: 15px;
}
.tsa-dashboard-header-title input:focus {
  outline: none;
}
.tsa-dashboard-header-btn {
  width: 24px;
  height: 24px;
  border-radius: 0.25rem;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #797979;
  transition: 0.3s;
  box-shadow: none;
  border: none;
}
.tsa-dashboard-header-btn.btn-tr, .tsa-dashboard-header-btn.btn-br {
  opacity: 0;
}
.tsa-dashboard-header-btn:hover {
  color: #797979;
  background: rgb(186.75, 186.75, 186.75);
}

.tsa-dashboard-tabs {
  display: flex;
  align-items: center;
  background-color: #fff;
  flex-shrink: 0;
}
.tsa-dashboard-tabs .ts-tabs {
  flex-grow: 1;
  background: transparent;
  margin: 0;
  padding: 0;
}
.tsa-dashboard-tabs .ts-tabs .active a {
  background: #f5f5f5;
}

.tsa-dashboard-item {
  background: #fff;
  padding: 0 16px 16px;
}
.tsa-dashboard-item .tsa-group-icon {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
}
.tsa-dashboard-item-placeholder {
  border: 2px dashed #878787;
}
.tsa-dashboard-item-question {
  display: flex;
  align-items: center;
  margin-top: 16px;
}
.tsa-dashboard-item-question .ts-icon {
  margin-right: 8px;
}
.tsa-dashboard-item-question .ts-rounded-border {
  background: #ebebeb;
  border-color: #ebebeb;
  color: #666666;
  padding: 6px 12px;
  border-radius: 4px;
}
.tsa-dashboard-item-question input {
  font-size: 14px;
}
.tsa-dashboard-item-type {
  border: 1px dashed #ababab;
  display: flex;
  align-items: center;
  border-radius: 0.25rem;
  margin-bottom: 8px;
  padding: 4px 16px;
  font-size: 14px;
}
.tsa-dashboard-item-type .mdi {
  margin-right: 16px;
  font-size: 24px;
}
.tsa-dashboard-item-type span {
  flex-grow: 1;
}
.tsa-dashboard-item-empty {
  background: #e1e1e1;
  padding: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tsa-dashboard-item-empty > .mdi {
  font-size: 36px;
}
.tsa-dashboard-item-empty .tsa-item-icon {
  position: absolute;
  top: 0;
  right: 0;
}

.tsa-btn {
  font-size: 24px;
  color: #fff;
  border-radius: 6px;
  border: 1px solid rgb(44.5, 44.5, 44.5);
  background: #464646;
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
  transition: 0.3s;
}
.tsa-btn:not(:first-child) {
  margin-left: 8px;
}
.tsa-btn:hover {
  color: #fff;
  background: rgb(59.8, 59.8, 59.8);
}
.tsa-btn-grp {
  display: flex;
}
.tsa-btn-primary {
  background-color: #40499a !important;
  border-color: #40499a !important;
}
.tsa-btn-primary:hover {
  background-color: rgb(58.0110091743, 66.1688073394, 139.5889908257) !important;
  border-color: rgb(58.0110091743, 66.1688073394, 139.5889908257) !important;
}
.tsa-btn-danger {
  background-color: #40499a !important;
  border-color: #40499a !important;
}
.tsa-btn-danger:hover {
  background-color: rgb(58.0110091743, 66.1688073394, 139.5889908257) !important;
  border-color: rgb(58.0110091743, 66.1688073394, 139.5889908257) !important;
}

.tsa-item-icon {
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  transition: 0.2s;
}
.tsa-item-icon-danger {
  color: #e44d42;
}
.tsa-item-icon-danger:hover {
  color: rgb(225.45, 60.1888888889, 48.15) !important;
}

.tsa-drag-handle, .element-drag-handle {
  font-size: 24px;
  text-align: center;
  cursor: pointer;
}

#dashboard-colors .slick-list, #dashboard-users .slick-list {
  flex-grow: 1;
}
#dashboard-colors .slick-prev, #dashboard-users .slick-prev {
  left: 0;
}
#dashboard-colors .slick-prev:before, #dashboard-users .slick-prev:before {
  content: "\f141";
}
#dashboard-colors .slick-next, #dashboard-users .slick-next {
  right: 0;
}
#dashboard-colors .slick-next:before, #dashboard-users .slick-next:before {
  content: "\f142";
}

.tsa-toolbar-colors .slick-prev:before,
.tsa-toolbar-users .slick-prev:before {
  content: "\f141";
}
.tsa-toolbar-colors .slick-next:before,
.tsa-toolbar-users .slick-next:before {
  content: "\f142";
}

.tsa-slider-grp {
  display: flex;
}

.tsa-chart-colors .tsa-toolbar-btn-add, .tsa-dashboard-users .tsa-toolbar-btn-add {
  background: transparent;
  border: 1px dashed #fff;
  border-radius: 50%;
  color: #fff;
  flex-shrink: 0;
  cursor: pointer;
  transition: background 0.3s;
  width: 24px;
  height: 24px;
  font-size: 10px;
}
.tsa-chart-colors .tsa-toolbar-btn-add:hover, .tsa-dashboard-users .tsa-toolbar-btn-add:hover {
  background: rgba(255, 255, 255, 0.1);
}
.tsa-chart-colors .tsa-toolbar-btn-add:focus, .tsa-dashboard-users .tsa-toolbar-btn-add:focus {
  outline: none;
}

@media (min-width: 1520px) {
  .tsa-dashboard-users .tsa-toolbar-btn-add {
    width: 24px;
    height: 24px;
  }
}

.tsa-charttype-preview {
  padding: 12px 0;
  text-align: center;
}
.tsa-charttype-preview img {
  width: 20px;
  height: 20px;
  margin-bottom: 4px;
}
.tsa-charttype-preview p {
  margin-bottom: 0;
  font-size: 14px;
}

.chart_container .ui-sortable-placeholder {
  min-height: 300px;
}
.chart_container .ui-state-highlight {
  border: none;
  background: transparent;
}
.chart_container .ui-state-highlight > div {
  border: 1px dashed rgba(0, 0, 0, 0.2);
  background: rgba(0, 0, 0, 0.1);
  border-radius: 0.5rem;
  height: 100%;
}
.chart_container .ui-sortable-helper .tsa-dashboard-item {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
}

#tabs.ui-widget {
  font-family: inherit;
}
#tabs.ui-widget.ui-widget-content {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}

.tsa-tabs {
  background-color: #e1e1e1;
  display: flex;
  align-items: center;
  padding: 4px 8px 0px 8px;
}
.tsa-tabs .tab-actions {
  position: absolute;
  top: 4px;
  right: 4px;
  opacity: 0;
}
.tsa-tabs .tab-actions span.mdi {
  font-size: 0.75rem;
  cursor: pointer;
  padding: 2px;
  border-radius: 2px;
  color: #40499a;
  background-color: #ccc;
}
.tsa-tabs .btn-circle:hover {
  background: #e1e1e1;
}
.tsa-tabs .ui-widget-header {
  border: none;
  background: transparent;
  padding: 0px 4px 0px 0px;
}
.tsa-tabs .ui-widget-header .ui-state-default {
  background: transparent;
  border: none;
  transition: background 0.3s;
}
.tsa-tabs .ui-widget-header .ui-state-hover {
  background: rgba(255, 255, 255, 0.5);
}
.tsa-tabs .ui-widget-header .ui-tabs-anchor {
  padding: 8px 24px 8px 16px;
  color: inherit;
  font-size: 12px;
  font-weight: 500;
}
.tsa-tabs .ui-widget-header .ui-tabs-active,
.tsa-tabs .ui-widget-header .ui-state-active {
  background: #f5f5f5;
}
.tsa-tabs .ui-widget-header .ui-tabs-active > a,
.tsa-tabs .ui-widget-header .ui-state-active > a {
  color: #333 !important;
}
.tsa-tabs .ui-tabs-nav li {
  margin: 0 !important;
  padding: 0 !important;
}
.tsa-tabs .ui-tabs-nav li:hover .tab-actions {
  opacity: 1;
  transition: opacity 0.1s 0.2s;
}
.tsa-tabs .ui-corner-top,
.tsa-tabs .ui-corner-all {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
.tsa-tabs .btn-circle {
  margin-top: 0.375rem;
}
.tsa-tabs .tsa-dashboard-header-btn {
  color: #797979;
}
.tsa-tabs .ui-state-highlight {
  border: 1px dashed rgba(0, 0, 0, 0.3);
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.5);
}

.element-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-radius: 0.25rem;
}
.element-list-header {
  background: #40499a;
  border-radius: 0.25rem;
  cursor: pointer;
  color: #fff;
  padding: 6px 16px;
  font-size: 0.75rem;
  margin-bottom: 8px;
  display: flex;
}
.element-list-header:not(:first-child) {
  margin-top: 10px;
}
.element-list-header.not-draggable {
  cursor: default;
}
.element-list-header.not-draggable:hover {
  color: #fff;
}
.element-list-item {
  display: block;
  border-radius: 0.25rem;
  cursor: pointer;
  font-size: 0.75rem;
  padding: 4px 12px;
  transition: background 0.3s;
}
.element-list-item:hover {
  background: rgb(244.8, 244.8, 244.8);
}
.element-list-item .charttype-icon {
  width: 16px;
  height: 16px;
  max-width: 100%;
  margin-right: 12px;
}

.tsa-list-item {
  padding-bottom: 12px;
}

.ts-autometrics-popover .popover-body select {
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
}

.dms-idoc-page {
  max-width: 880px;
  margin: 0 auto;
  background: #fff;
  color: #23253a;
  border-radius: 8px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
  padding: 40px 48px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

@media (max-width: 640px) {
  .dms-idoc-page {
    padding: 24px 18px;
    border-radius: 0;
    gap: 18px;
  }
}
.dms-idoc-block {
  min-width: 0;
}

.dms-idoc-heading {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: #23253a;
}

.dms-idoc-text-body {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #33344a;
  word-break: break-word;
}
.dms-idoc-text-body p {
  margin: 0 0 0.8em;
}
.dms-idoc-text-body p:last-child {
  margin-bottom: 0;
}
.dms-idoc-text-body ul,
.dms-idoc-text-body ol {
  padding-left: 1.4em;
  margin: 0 0 0.8em;
}

.dms-idoc-block-image {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.dms-idoc-img-wrap {
  position: relative;
  display: block;
}

.dms-idoc-img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  display: block;
}

.dms-idoc-img-large .dms-idoc-img-wrap {
  width: 100%;
}

.dms-idoc-img-medium .dms-idoc-img-wrap {
  width: 60%;
}

.dms-idoc-img-small .dms-idoc-img-wrap {
  width: 33%;
  min-width: 160px;
}

.dms-idoc-caption {
  font-size: 0.82rem;
  color: #6b6884;
  text-align: center;
}

.dms-idoc-block-video {
  display: flex;
}

.dms-idoc-video-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border: 1px solid #e2e2f0;
  border-radius: 8px;
  background: #f7f7fb;
  color: #40499a;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
}
.dms-idoc-video-link:hover {
  background: #edeefb;
}
.dms-idoc-video-link qdnapro-icon {
  color: #ff0000;
  flex: 0 0 auto;
}

.dms-idoc-table-wrap {
  overflow-x: auto;
}

.dms-idoc-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.88rem;
}
.dms-idoc-table th,
.dms-idoc-table td {
  border: 1px solid #e2e2f0;
  padding: 8px 12px;
  text-align: left;
  vertical-align: top;
}
.dms-idoc-table th {
  background: #f4f4fa;
  font-weight: 700;
  color: #23253a;
}

.dms-idoc-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: #8a8fb5;
  padding: 40px 0;
  text-align: center;
}

.dms-idoc-hidden {
  display: none !important;
}

.dms-idoc-block-choice {
  min-width: 0;
}

.dms-idoc-choice-title {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 12px;
  color: #23253a;
}

.dms-idoc-choice-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.dms-idoc-choice-options-vertical {
  flex-direction: column;
  align-items: flex-start;
}

.dms-idoc-choice-btn {
  appearance: none;
  border: 1px solid #d7d8ec;
  border-radius: 8px;
  background: #edeefb;
  color: #23253a;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 10px 18px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.dms-idoc-choice-btn:hover {
  background: #dfe0f7;
}
.dms-idoc-choice-btn.dms-idoc-choice-btn-selected {
  background: #40499a;
  border-color: #40499a;
  color: #fff;
}
.dms-idoc-choice-btn.dms-idoc-choice-btn-selected:hover {
  background: #333a80;
}

.dms-idoc-shell {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  box-sizing: border-box;
  container-type: inline-size;
  position: relative;
  overflow: clip;
}

.dms-idoc-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  justify-content: center;
}

.dms-idoc-main .dms-idoc-page {
  margin: 0;
}

.dms-idoc-toc {
  flex: 0 0 220px;
  width: 220px;
  box-sizing: border-box;
  position: sticky;
  top: 0;
  align-self: flex-start;
  background: #fff;
  border: 1px solid #e2e2f0;
  border-radius: 8px;
  padding: 12px;
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
}

.dms-idoc-toc[hidden] {
  display: none;
}

.dms-idoc-toc-header {
  display: flex;
  align-items: center;
}

.dms-idoc-toc-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 4px 2px;
  cursor: pointer;
  color: #40499a;
  font-weight: 700;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.dms-idoc-toc-toggle qdnapro-icon {
  flex: 0 0 auto;
}

.dms-idoc-toc-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dms-idoc-toc-item {
  appearance: none;
  border: 0;
  background: transparent;
  text-align: left;
  width: 100%;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: 0.85rem;
  color: #33344a;
  cursor: pointer;
}
.dms-idoc-toc-item:hover {
  background: #edeefb;
  color: #40499a;
}

.dms-idoc-toc-fab {
  display: none;
}

.dms-idoc-toc-close {
  display: none;
}

@container (max-width: 760px) {
  .dms-idoc-toc {
    position: fixed;
    top: 0;
    left: 0;
    width: min(300px, 82%);
    height: 100%;
    max-height: none;
    box-sizing: border-box;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    z-index: 5;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
    overflow-y: auto;
  }
  .dms-idoc-toc.dms-idoc-toc-open {
    transform: translateX(0);
  }
  .dms-idoc-toc-header {
    justify-content: space-between;
  }
  .dms-idoc-toc.dms-idoc-toc-open .dms-idoc-toc-close {
    display: flex;
    align-items: center;
    justify-content: center;
    appearance: none;
    border: 0;
    background: transparent;
    color: #6b6884;
    padding: 4px;
    border-radius: 6px;
    cursor: pointer;
    flex: 0 0 auto;
  }
  .dms-idoc-toc.dms-idoc-toc-open .dms-idoc-toc-close:hover {
    background: #edeefb;
    color: #40499a;
  }
  .dms-idoc-main {
    flex: 0 0 100%;
    transition: transform 0.25s ease;
  }
  .dms-idoc-toc.dms-idoc-toc-open ~ .dms-idoc-main {
    transform: translateX(min(300px, 82%));
  }
  .dms-idoc-toc-fab {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 16px;
    left: 16px;
    z-index: 6;
    width: 44px;
    height: 44px;
    box-sizing: border-box;
    border-radius: 50%;
    border: 0;
    background: #40499a;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
    transition: background 0.12s ease;
  }
  .dms-idoc-toc-fab:hover {
    background: #333a80;
  }
  .dms-idoc-toc.dms-idoc-toc-open ~ .dms-idoc-toc-fab {
    display: none;
  }
}
.dms-idoc-block-panel {
  min-width: 0;
}

.dms-idoc-panelgroup {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dms-idoc-panel {
  border: 1px solid #e2e2f0;
  border-radius: 8px;
  background: #fff;
}

.dms-idoc-panel-head {
  appearance: none;
  border: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  background: #f4f4fa;
  color: #23253a;
  font-size: 0.95rem;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  border-radius: 8px;
}
.dms-idoc-panel-head:hover {
  background: #edeefb;
}

.dms-idoc-panel-open > .dms-idoc-panel-head {
  position: sticky;
  top: 0;
  z-index: 2;
  border-radius: 8px 8px 0 0;
}

.dms-idoc-panel-chevron {
  flex: 0 0 auto;
  transition: transform 0.15s ease;
}

.dms-idoc-panel-open .dms-idoc-panel-chevron {
  transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
  .dms-idoc-panel-chevron {
    transition: none;
  }
}
.dms-idoc-panel-body {
  display: none;
  flex-direction: column;
  gap: 16px;
  padding: 16px 18px;
  border-top: 1px solid #e2e2f0;
}

.dms-idoc-panel-open > .dms-idoc-panel-body {
  display: flex;
}

.dms-idoc-moreinfo {
  border: 1px solid #e2e2f0;
  border-radius: 8px;
  background: #f7f7fb;
}

.dms-idoc-moreinfo-toggle {
  appearance: none;
  border: 0;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: transparent;
  color: #40499a;
  font-size: 0.88rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  border-radius: 8px;
}
.dms-idoc-moreinfo-toggle:hover {
  background: #edeefb;
}
.dms-idoc-moreinfo-toggle span {
  flex: 1 1 auto;
}
.dms-idoc-moreinfo-toggle .dms-idoc-panel-chevron {
  color: #40499a;
}

.dms-idoc-moreinfo-open .dms-idoc-moreinfo-toggle {
  border-radius: 8px 8px 0 0;
}

.dms-idoc-moreinfo-body {
  display: none;
  flex-direction: column;
  gap: 16px;
  padding: 0 16px 16px;
}

.dms-idoc-moreinfo-open .dms-idoc-moreinfo-body {
  display: flex;
}

.dms-idoc-toc-item-indent {
  padding-left: 24px;
  font-size: 0.8rem;
  color: #6b6884;
}

.dms-idoc-hotspot {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 1;
  width: 22px;
  height: 22px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  appearance: none;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
  color: #fff;
  text-decoration: none;
  line-height: 1;
  cursor: default;
}

.dms-idoc-hotspot-clickable {
  cursor: pointer;
  transition: transform 0.12s ease;
}
.dms-idoc-hotspot-clickable:hover, .dms-idoc-hotspot-clickable:focus-visible {
  transform: translate(-50%, -50%) scale(1.15);
}

.dms-idoc-hotspot:focus-visible {
  outline: 2px solid #40499a;
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .dms-idoc-hotspot-clickable {
    transition: none;
  }
  .dms-idoc-hotspot-clickable:hover, .dms-idoc-hotspot-clickable:focus-visible {
    transform: translate(-50%, -50%);
  }
}
.dms-idoc-hotspot-label {
  font-size: 0.68rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  pointer-events: none;
}

.dms-idoc-hotspot-open {
  box-shadow: 0 0 0 3px rgba(64, 73, 154, 0.35), 0 1px 4px rgba(0, 0, 0, 0.35);
}

.dms-idoc-hotspot-pop {
  position: absolute;
  transform: translate(calc(-50% + var(--dms-idoc-hs-shift, 0px)), 14px);
  z-index: 2;
  max-width: 260px;
  box-sizing: border-box;
  background: #fff;
  color: #23253a;
  border: 1px solid #e2e2f0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
  padding: 10px 12px;
  font-size: 0.85rem;
  line-height: 1.5;
  word-wrap: break-word;
}

.dms-idoc-hotspot-pop[hidden] {
  display: none;
}

.dms-idoc-hotspot-pop-text {
  margin: 0 0 8px;
  white-space: pre-wrap;
}

.dms-idoc-hotspot-pop-text:last-child {
  margin-bottom: 0;
}

.dms-idoc-hotspot-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #40499a;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.82rem;
  word-break: break-all;
}
.dms-idoc-hotspot-link:hover {
  text-decoration: underline;
}
.dms-idoc-hotspot-link qdnapro-icon {
  flex: 0 0 auto;
}

@keyframes dms-idoc-flash-pulse {
  0% {
    box-shadow: 0 0 0 4px rgba(64, 73, 154, 0.55);
    background-color: rgba(64, 73, 154, 0.1);
  }
  100% {
    box-shadow: 0 0 0 4px rgba(64, 73, 154, 0);
    background-color: transparent;
  }
}
.dms-idoc-flash {
  animation: dms-idoc-flash-pulse 1.6s ease-out;
  border-radius: 8px;
}

@media (prefers-reduced-motion: reduce) {
  .dms-idoc-flash {
    animation: none;
  }
}
.dms-idoc-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f7f7fb;
  border: 1px solid #e2e2f0;
  border-radius: 8px;
  margin-bottom: 4px;
}
.dms-idoc-search qdnapro-icon {
  color: #6b6884;
  flex: 0 0 auto;
}

.dms-idoc-search-input {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 320px;
  background: #fff;
  color: #23253a;
  border: 1px solid #d7d8ec;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 0.85rem;
  font-family: inherit;
  outline: none;
}
.dms-idoc-search-input:focus {
  border-color: #40499a;
}
.dms-idoc-search-input::placeholder {
  color: #8a8fb5;
}
.dms-idoc-search-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.dms-idoc-search-count {
  flex: 0 0 auto;
  font-size: 0.8rem;
  color: #6b6884;
  min-width: 44px;
  text-align: center;
}

.dms-idoc-search-count[hidden] {
  display: none;
}

.dms-idoc-search-count-nomatch {
  color: #c0392b;
}

.dms-idoc-search-nav {
  display: flex;
  align-items: center;
  gap: 2px;
}

.dms-idoc-mark {
  background: #ffe08a;
  color: #23253a;
  border-radius: 2px;
  padding: 0 1px;
}

.dms-idoc-mark-current {
  background: #e8912d;
  color: #fff;
  box-shadow: 0 0 0 2px rgba(232, 145, 45, 0.35);
}

.dms-idoc-print {
  background: #fff;
  color: #23253a;
  font-family: inherit;
}

.dms-idoc-print-doc {
  max-width: 760px;
  margin: 0 auto;
  padding: 24px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 18px;
  font-size: 0.92rem;
  line-height: 1.55;
}

.dms-idoc-print-block {
  min-width: 0;
  page-break-inside: avoid;
  break-inside: avoid;
}

.dms-idoc-print-condition {
  font-size: 0.78rem;
  font-style: italic;
  color: #6b6884;
  margin-bottom: 4px;
}

.dms-idoc-print-choice {
  min-width: 0;
}

.dms-idoc-print-choice-title {
  font-size: 1.02rem;
  font-weight: 700;
  margin: 0 0 6px;
  color: #23253a;
}

.dms-idoc-print-choice-options {
  margin: 0;
  padding-left: 1.3em;
}

.dms-idoc-print-image {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  page-break-inside: avoid;
  break-inside: avoid;
}

.dms-idoc-print-img-wrap {
  position: relative;
  display: block;
  width: 100%;
  max-width: 480px;
}

.dms-idoc-print-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

.dms-idoc-print-caption {
  font-size: 0.8rem;
  color: #6b6884;
  text-align: center;
}

.dms-idoc-print-hotspot {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid #fff;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.dms-idoc-print-hotspot-legend {
  width: 100%;
  max-width: 480px;
  margin: 4px 0 0;
  padding-left: 1.4em;
  font-size: 0.8rem;
  color: #33344a;
}

.dms-idoc-print-panelgroup {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dms-idoc-print-panel {
  border: 1px solid #e2e2f0;
  border-radius: 6px;
  padding: 10px 14px;
  page-break-inside: avoid;
  break-inside: avoid;
}

.dms-idoc-print-panel-title {
  font-weight: 700;
  color: #23253a;
  margin-bottom: 8px;
}

.dms-idoc-print-panel-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

@media print {
  .dms-idoc-print {
    background: #fff;
  }
  .dms-idoc-print-doc {
    max-width: 100%;
    padding: 0;
  }
  .dms-idoc-print-block,
  .dms-idoc-print-panel,
  .dms-idoc-print-image {
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .dms-idoc-print a {
    color: inherit;
    text-decoration: underline;
  }
}
.dms-idoc-block-action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.dms-idoc-action {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 12px 22px;
  font-size: 0.92rem;
  font-weight: 700;
  font-family: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}
.dms-idoc-action qdnapro-icon {
  flex: 0 0 auto;
}
.dms-idoc-action:active {
  transform: translateY(1px);
}
.dms-idoc-action:focus-visible {
  outline: 2px solid #40499a;
  outline-offset: 2px;
}

.dms-idoc-action-primary {
  background: #40499a;
  color: #fff;
}
.dms-idoc-action-primary qdnapro-icon {
  color: #fff;
}
.dms-idoc-action-primary:hover {
  background: #333a80;
}

.dms-idoc-action-secondary {
  background: #edeefb;
  color: #23253a;
  border-color: #d7d8ec;
}
.dms-idoc-action-secondary qdnapro-icon {
  color: #40499a;
}
.dms-idoc-action-secondary:hover {
  background: #dfe0f7;
}

.dms-idoc-action-disabled {
  opacity: 0.5;
  cursor: default;
}
.dms-idoc-action-disabled:hover {
  background: inherit;
}
.dms-idoc-action-disabled:active {
  transform: none;
}

.dms-idoc-action-primary.dms-idoc-action-disabled:hover {
  background: #40499a;
}

.dms-idoc-action-secondary.dms-idoc-action-disabled:hover {
  background: #edeefb;
}

.dms-idoc-action-preview {
  cursor: default;
  border: 1px dashed rgba(255, 255, 255, 0.6);
}
.dms-idoc-action-preview:hover {
  background: inherit;
}
.dms-idoc-action-preview:active {
  transform: none;
}

.dms-idoc-action-primary.dms-idoc-action-preview:hover {
  background: #40499a;
}

.dms-idoc-action-secondary.dms-idoc-action-preview:hover {
  background: #edeefb;
}

@media (prefers-reduced-motion: reduce) {
  .dms-idoc-action {
    transition: none;
  }
}
.dms-idoc-action-note {
  font-size: 0.78rem;
  color: #6b6884;
}

.dms-idoc-action-note-preview {
  font-style: italic;
}

.dms-idoc-print-action {
  display: flex;
}

.dms-idoc-print-action-label {
  display: inline-block;
  border: 1px solid #6b6884;
  border-radius: 6px;
  padding: 8px 16px;
  font-weight: 700;
  color: #23253a;
}

/* === Briefing modal (qdnapro-wysiwyg) ===
   Verhuisd uit scss/v1/tasklist-activities.scss op 03.08.2026. Het modal wordt nu
   door TWEE pagina's gebruikt (de activiteitenpagina en de flow editor, voor een
   briefing op een vraag), en tasklist-activities.css wordt alleen door de
   activiteitenpagina geladen. Beide pagina's laden style-v1.css, dus daar hoort dit. */
/* The briefing editor is a full-document writing surface, so give the modal
   nearly the whole viewport and let the editor FILL it via a flex chain
   (modal-body -> briefing-modal-body -> editor-col -> wysiwyg -> .tox-tinymce),
   each link min-height:0 so the edit area gets a definite height and scrolls
   INTERNALLY. ID specificity (0,1,1) beats the component's .modal-size-large
   (0,3,0) max-height:800 cap. [Kim 2026-06-11] */
#modal-briefing .modal-dialog {
  height: min(960px, 100vh - 32px);
  max-width: min(1400px, 100vw - 56px);
  min-height: 0;
  overflow: hidden;
}

#modal-briefing .modal-body {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.briefing-modal-body {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
}

.briefing-editor-col {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

#modal-briefing qdnapro-wysiwyg,
#modal-briefing .qdnapro-wysiwyg {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

#modal-briefing .tox-tinymce {
  flex: 1 1 auto;
  min-height: 0;
}

/* === Live device-preview (right column of the briefing split) === */
.briefing-preview-col {
  flex: 0 0 clamp(320px, 36%, 520px);
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-left: 1px solid #eceef5;
  background: #f6f7fb;
  border-radius: 0 8px 8px 0;
  overflow: hidden;
}

.briefing-preview-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-bottom: 1px solid #eceef5;
  flex-shrink: 0;
}

.bp-bar-title {
  font-size: 13px;
  font-weight: 600;
  color: #3b4252;
}

.bp-device-toggle {
  display: flex;
  gap: 2px;
  margin-left: auto;
  background: #eceef5;
  border-radius: 8px;
  padding: 2px;
}

.bp-device {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 26px;
  border: 0;
  background: transparent;
  border-radius: 6px;
  color: #6b7280;
  cursor: pointer;
  transition: background 120ms, color 120ms;
}

.bp-device:hover {
  color: #3b4252;
}

.bp-device.is-active {
  background: #fff;
  color: #4652f3;
  box-shadow: 0 1px 2px rgba(17, 20, 45, 0.1);
}

.bp-device-dims {
  font-size: 11px;
  color: #9aa0ad;
  font-variant-numeric: tabular-nums;
  min-width: 62px;
  text-align: right;
}

.briefing-preview-stage {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px;
}

.bp-sizer {
  position: relative;
  flex-shrink: 0;
}

.briefing-preview-frame {
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: top left;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #e1e3e6;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(17, 20, 45, 0.16);
}

.briefing-preview-frame[data-device=phone] {
  border-radius: 22px;
}

.briefing-preview-frame[data-device=tablet] {
  border-radius: 16px;
}

.briefing-preview-frame[data-device=desktop] {
  border-radius: 8px;
}

.briefing-preview-iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #fff;
}

[data-theme=dark] .briefing-preview-col {
  background: #1b1d27;
  border-left-color: rgba(255, 255, 255, 0.08);
}

[data-theme=dark] .briefing-preview-bar {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

[data-theme=dark] .bp-bar-title {
  color: #d4d7e0;
}

[data-theme=dark] .bp-device-toggle {
  background: #2a2d3a;
}

[data-theme=dark] .bp-device.is-active {
  background: #3a3f52;
  color: #aeb4ff;
}

.briefing-modal-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 16px;
  margin-top: 8px;
  border-top: 1px solid #eceef5;
}

/* "Elke keer opnieuw tonen" toggle. Sits at the far left of the footer, before
   the status text, so it reads as a property of the briefing you are about to
   save rather than as another action button. [Kim 03.08.2026]
   De vraag-briefing hangt "knop tonen bij de vraag" op exact dezelfde vorm, dus
   de klasse is generiek: één toggle-blok, per consumer een andere tekst. */
.briefing-repeat-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-right: 16px;
}

.briefing-repeat-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.briefing-repeat-label {
  font-size: 13px;
  font-weight: 600;
  color: #1f2430;
}

.briefing-repeat-sub {
  font-size: 11.5px;
  color: #6b7280;
}

[data-theme=dark] .briefing-repeat-label {
  color: #f3f4f6;
}

[data-theme=dark] .briefing-repeat-sub {
  color: #a6aab3;
}

/* Een toggle-blok dat niet bij deze consumer hoort, staat op hidden. Zonder deze
   regel zou display:flex het `hidden`-attribuut overrulen en stond hij er alsnog. */
.briefing-repeat-toggle[hidden] {
  display: none;
}

/* Status text (e.g. "Concept opgeslagen") sits far-left, buttons right. */
.briefing-status {
  margin-right: auto;
  font-size: 13px;
  color: #6b7280;
}

.briefing-status[data-kind=concept] {
  color: #8a6d1f;
}

.briefing-status[data-kind=live] {
  color: #2f8a5b;
  font-weight: 600;
}

.briefing-status[data-kind=error] {
  color: #c33a30;
}

[data-theme=dark] .briefing-modal-footer {
  border-top-color: rgba(255, 255, 255, 0.08);
}

[data-theme=dark] .briefing-status {
  color: #a6aab3;
}

/* ============================================================================
   BlockStrip — de GEDEELDE blokkenlijst (client/shared/BlockStrip.vue).
   ----------------------------------------------------------------------------
   Gebruikt door de interactieve-documenteditor én de rapport-editor. Stond eerder
   als `.idoc-fs-*` / `.idoc-add-*` in de <style> van `documents/interactive-editor.html`
   en is bij het gelijktrekken van de twee editors (Jan, 2026-08-03) hierheen verhuisd
   en hernoemd naar `bstrip-*`.

   ⚠️ Deze stijlen zitten in `style-v1.css`, dus ELKE pagina die de blokkenlijst mount
      heeft ze al — nooit een los CSS-bestand naast de editor hangen (huisregel).
   ⚠️ Bewerk je hier iets, dan verandert het in BEIDE editors. Dat is de bedoeling:
      precies daarom staat het hier en niet twee keer.
   ============================================================================ */
/* ── de "+"-balk tussen en rond de kaarten ─────────────────────────────────── */
.bstrip-add-bar {
  position: relative;
  display: flex;
  justify-content: center;
  height: 14px;
}

.bstrip-add-bar-btn {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px dashed #d3d3e6;
  background: #fff;
  color: #8a8fb5;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.12s, border-color 0.12s, color 0.12s;
  padding: 0;
}

.bstrip-add-bar:hover .bstrip-add-bar-btn,
.bstrip-add-bar-open .bstrip-add-bar-btn {
  opacity: 1;
  border-color: #40499a;
  color: #40499a;
}

/* Lege lijst: zonder dit stond er niets dan één "+" die je moest raken om te zien —
   "een raadselspel" (Jan, 2026-07-22). Zolang er geen blokken zijn staat de "+" er
   blijvend, met een hint erboven. Allebei weg zodra het eerste blok geplaatst is. */
.bstrip-empty-hint {
  text-align: center;
  color: #b3b3c6;
  font-size: 12.5px;
  padding: 24px 12px 4px;
}

.bstrip-add-bar-empty {
  height: auto;
  padding: 4px 0 20px;
}

.bstrip-add-bar-empty .bstrip-add-bar-btn {
  opacity: 1;
}

.bstrip-add-picker {
  position: absolute;
  z-index: 20;
  top: 22px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 6px 24px rgba(34, 32, 58, 0.18);
  padding: 6px;
  display: flex;
  flex-direction: column;
  min-width: 170px;
}

.bstrip-add-picker-up {
  top: auto;
  bottom: 22px;
}

.bstrip-add-picker-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border: none;
  background: none;
  border-radius: 6px;
  font-size: 13px;
  color: #23253a;
  text-align: left;
  cursor: pointer;
}

.bstrip-add-picker-item:hover {
  background: #f3f5ff;
  color: #40499a;
}

/* ── de kaart ──────────────────────────────────────────────────────────────── */
.bstrip-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
  padding: 9px 8px;
  border-radius: 8px;
  cursor: pointer;
  border: 1px solid #d6d8dd;
  background: #fff;
}

.bstrip-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.bstrip-card:hover {
  background: #f7f7fb;
}

.bstrip-card-selected {
  background: #f3f5ff;
  border-color: var(--c-brand-purple);
}

.bstrip-card-incomplete .bstrip-snippet {
  opacity: 0.65;
  font-style: italic;
}

.bstrip-card-checked {
  background: #f3f5ff;
}

.bstrip-drag-handle {
  color: #c3c3d6;
  cursor: grab;
  flex: 0 0 auto;
}

/* ── slepen: de lijst herschikt LIVE ───────────────────────────────────────────
   Tijdens het slepen schuift elke kaart met een `transform` naar de plek die hij bij
   lossen zou krijgen; de volgorde in de data verandert pas bij het lossen. Zie de lange
   toelichting bij `onDragStart` in BlockStrip.vue — vooral wáárom er hier alleen
   `transform` staat en de kaarten nooit met de hand verplaatst mogen worden.

   ⚠️ De overgang hangt aan `.bstrip-dragging` en niet aan `.bstrip-card` zelf. Die klasse
      verdwijnt in dezelfde render als de echte herordening, zodat een kaart die door Vue
      naar zijn nieuwe plek wordt gezet daar NIET naartoe animeert (hij staat er al) — en
      een gewone her-render buiten een sleep om nooit gaat schuiven.
   ⚠️ Duur bewust kort (~165ms): dit loopt terwijl je nog sleept, dus een kaart moet zijn
      beweging af hebben vóór je de volgende grens overgaat. Trager voelt stroperig en laat
      de lijst achterlopen op je cursor. */
.bstrip-dragging .bstrip-card {
  transition: transform 165ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* De opgepakte kaart blijft zichtbaar op zijn landingsplek, maar gedimd: hij is "in
   beweging", en de volle kaart hangt op dat moment als sleep-schaduw onder je cursor. */
.bstrip-card-dragsource {
  opacity: 0.5;
}

.bstrip-type-icon {
  color: #6b6884;
  flex: 0 0 auto;
}

.bstrip-snippet {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13px;
  color: #33344a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Het "Zeker?"-label van het twee-staps verwijderen. Staat hier — bij de blokkenlijst — omdat dit
   gebaar één plek hoort te hebben: `shared/arm-delete.js` bewaakt de TERMIJN, deze regel het BEELD.
   `.idoc-arm-label` is dezelfde stap in de blokFORMULIEREN van de documenteditor (optieregels,
   paneelregels, hotspot-regels). Twee namen, één regel — anders lopen ze uit elkaar op kleur.
   ⚠️ `white-space: nowrap` is functioneel: een label dat afbreekt maakt de rij hoger en dan
   verschuift de prullenbak alsnog, precies wat de tweede klik moet kunnen vertrouwen. */
/* `.qfr-arm` is dezelfde stap in `qdnapro-format-rules` (de voorwaardelijke opmaak van een
   rapportkolom). Dat is een COMPONENT en geen pagina, maar de regel staat hier bij de andere drie
   omdat de comment hierboven precies dat vraagt: vier namen, één regel — anders lopen ze uit elkaar
   op kleur, en dan heet hetzelfde gebaar op vier plekken iets anders. */
.bstrip-arm-label,
.idoc-arm-label,
.qfr-arm,
.rpe-arm {
  font-size: 11.5px;
  color: #c33a30;
  font-weight: 600;
  white-space: nowrap;
  flex: 0 0 auto;
}

/* De actiehoek van een kaart. Bestaat als eigen element omdat de natieve klik hier moet STOPPEN —
   zie de ⚠️ in BlockStrip.vue: zonder die stopper selecteert een klik op de prullenbak óók nog de
   kaart die daarmee net verdween. */
.bstrip-card-acties {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 0 0 auto;
}

/* Miniatuur van het echte blok, bovenaan afgesneden. De binnenkant tekent op volle
   breedte en wordt daarna verkleind; `pointer-events:none` houdt hem inert zodat een
   klik doorvalt naar de kaart zelf. */
.bstrip-preview {
  height: 88px;
  overflow: hidden;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--c-brand-purple) 45%, transparent);
  border-radius: 8px;
}

.bstrip-preview-inner {
  width: 760px;
  transform: scale(0.33);
  transform-origin: top left;
  pointer-events: none;
  padding: 14px 16px;
  box-sizing: border-box;
  color: #23253a;
}

/* ── meervoudige selectie ──────────────────────────────────────────────────── */
.bstrip-checkbox-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 18px;
  opacity: 0;
  transition: opacity 0.12s;
}

.bstrip-card:hover .bstrip-checkbox-wrap,
.bstrip-mode-select .bstrip-checkbox-wrap {
  opacity: 1;
}

.bstrip-selectbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 8px 10px;
  margin-bottom: 10px;
  border-radius: 12px;
  background: rgba(232, 235, 252, 0.55);
  border: 1px solid rgba(64, 73, 154, 0.1);
}

.bstrip-selchip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  padding: 5px 10px;
  border: none;
  border-radius: 999px;
  background: #e2e6fc;
  color: #40499a;
  font: 600 12px "Inter", sans-serif;
}

.bstrip-selchip:hover {
  background: #d5dbfa;
}

.bstrip-selectbar-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-wrap: wrap;
}

/* Een UITGEZETTE actieknop moet aanwijsbaar blijven, anders is zijn tooltip — die
   uitlegt waaróm hij grijs is — onbereikbaar. De knop zelf doet bij `disabled` toch
   al niets, dus pointer-events terugzetten blijft klik-veilig. */
.bstrip-selectbar-actions .qdnapro-icon-btn.icon-btn-disabled {
  pointer-events: auto;
}

.tls-intro {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 4px 8px 20px;
}
.tls-intro__title {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--c-text-heading, #1a1f4d);
}
.tls-intro__text {
  font-size: 14px;
  color: var(--c-text-muted, #6e7280);
  max-width: 62ch;
}

.tls-layout {
  display: grid;
  grid-template-columns: 236px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding-bottom: 96px;
}
@media (max-width: 900px) {
  .tls-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

.tls-nav {
  background: var(--c-bg-card, #ffffff);
  border: 1px solid var(--c-border-soft-2, #e6e9ef);
  border-radius: var(--r-card, 16px);
  box-shadow: var(--shadow-card, 0 1px 2px rgba(20, 25, 80, 0.04), 0 4px 16px rgba(20, 25, 80, 0.04));
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  position: sticky;
  top: 16px;
}
@media (max-width: 900px) {
  .tls-nav {
    position: static;
  }
}
.tls-nav__label {
  padding: 12px 12px 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-text-muted, #6e7280);
}

.tls-main {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.tls-search {
  max-width: 420px;
}

.tls-layout.is-searching .tls-panel {
  display: flex;
}

.tls-layout qdnapro-list-row[hidden],
.tls-layout qdnapro-section-card[hidden],
.tls-main qdnapro-empty-state[hidden] {
  display: none;
}

.tls-panel {
  display: none;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}
.tls-panel.is-active {
  display: flex;
}

.tls-control {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}
.tls-control qdnapro-select {
  width: clamp(220px, 24vw, 360px);
}
.tls-control #tls-name,
.tls-control #tls-purpose {
  width: clamp(220px, 26vw, 380px);
}
.tls-control [data-tls-duration] {
  width: 180px;
}

.tls-saved {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border-radius: var(--r-pill, 999px);
  background: var(--c-signal-green-bg, #c5f5e2);
  color: var(--c-signal-green-text, #428b6e);
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(-2px);
  transition: opacity 200ms ease, transform 200ms ease;
  pointer-events: none;
}
.tls-saved.is-on {
  opacity: 1;
  transform: none;
}
.tls-saved.tls-saved--error {
  background: var(--c-signal-red-bg, #fee3e3);
  color: var(--c-signal-red-text, #c65a5a);
}
@media (prefers-reduced-motion: reduce) {
  .tls-saved {
    transition: none;
  }
}

.tls-field-error {
  margin-top: 4px;
  font-size: 12px;
  color: var(--c-signal-red-text, #c65a5a);
}
.tls-field-error:empty {
  display: none;
}

.tls-duration {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tls-info {
  min-width: 0;
}
.tls-info__title {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 600;
  color: var(--c-text-heading, #1a1f4d);
  padding-right: 24px;
}
.tls-info [data-tls-info-note]:not(:empty) {
  margin-top: 12px;
}

@property --fe2-beam-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.fe-font-preload {
  font-family: "Montserrat", sans-serif;
  position: absolute;
  visibility: hidden;
  pointer-events: none;
}

.fe-breadcrumb-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: transparent;
}
.fe-breadcrumb-bar .fe-breadcrumb-back {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #41499a;
  text-decoration: none;
  transition: background 120ms ease;
  flex-shrink: 0;
}
.fe-breadcrumb-bar .fe-breadcrumb-back:hover {
  background: rgba(65, 73, 154, 0.1);
}
.fe-breadcrumb-bar .fe-breadcrumb-back .mdi {
  font-size: 20px;
  line-height: 1;
}

.floweditor_modal .table-responsive {
  display: inline !important;
}

.floweditor_holder {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.floweditor_holder__canvas-row {
  display: flex;
  align-items: stretch;
  width: 100%;
  height: 100%;
}

.floweditor_holder__canvas-row > .floweditor-nodepicker-v2 {
  flex: 0 0 56px;
  min-width: 0;
  position: relative;
  z-index: 10;
}

.floweditor_holder__canvas-row > .fe-right-col {
  flex: 1 1 0%;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.floweditor_holder__canvas-row .fe-breadcrumb-host {
  flex: 0 0 auto;
}

.floweditor_holder__canvas-row .fe-right-col > .floweditor {
  flex: 1 1 0%;
  min-height: 0;
  width: auto;
  min-width: 0;
}

.fe-form-empty-hint {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 12;
  transform: translate(-50%, calc(-100% - 46px));
  width: 264px;
  max-width: 78%;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 18px 44px rgba(38, 42, 92, 0.2);
  padding: 16px 16px 18px;
  pointer-events: none;
  transition: opacity 160ms ease;
}
.fe-form-empty-hint::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -7px;
  width: 16px;
  height: 16px;
  background: #ffffff;
  transform: translateX(-50%) rotate(45deg);
  border-radius: 0 0 3px 0;
  box-shadow: 3px 3px 7px rgba(38, 42, 92, 0.1);
}

.fe-form-empty-hint__title {
  font-size: 15px;
  font-weight: 700;
  color: #2a2e5e;
  line-height: 1.3;
  margin-bottom: 4px;
  text-align: center;
}

.fe-form-empty-hint__sub {
  font-size: 12.5px;
  color: #6c7099;
  line-height: 1.4;
  margin-bottom: 14px;
  text-align: center;
}

.fe-form-empty-hint__card {
  border: 1.5px solid #e6e7ef;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(38, 42, 92, 0.08);
  padding: 10px;
}

.fe-form-empty-hint__card-header {
  background: #eceefb;
  color: #3a4290;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 8px;
  border-radius: 6px;
  margin-bottom: 10px;
}

.fe-form-empty-hint__card-field {
  height: 20px;
  border: 1.5px solid #e6e7ef;
  border-radius: 6px;
  background: #fbfbfe;
}
.fe-form-empty-hint__card-field + .fe-form-empty-hint__card-field {
  margin-top: 8px;
}

.floweditor-diagram-holder {
  width: 100%;
  height: 100%;
}

.floweditor_empty_state {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #fff;
  z-index: 23;
  font-weight: 400;
  font-size: 18px;
  color: rgba(0, 0, 0, 0.4);
  text-align: center;
  cursor: pointer;
}

.floweditor_empty_state_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 100px;
}

.floweditor_empty_state_text:hover {
  color: #158b6c;
}

.floweditor_empty_state_icon {
  font-size: 40px;
  display: block;
}

.floweditor-overflow-auto {
  max-height: 500px;
  overflow-x: auto;
}

.floweditor_modal-holder {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1001;
  overflow-y: auto;
}

.floweditor_modal-background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1003;
  animation: modal-fade-in 200ms ease-out both;
}

.floweditor_modal,
.floweditor_menu {
  position: fixed;
  background: rgba(249, 249, 249, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  animation: modal-scale-in 200ms cubic-bezier(0.16, 1, 0.3, 1) both;
  box-shadow: 0 2px 4px rgba(31, 14, 14, 0.15);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1004;
  border-radius: 30px;
  backface-visibility: hidden;
  padding: 2rem;
  max-height: 90vh;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(65, 73, 154, 0.3) transparent;
}
.floweditor_modal::-webkit-scrollbar,
.floweditor_menu::-webkit-scrollbar {
  width: 4px;
}
.floweditor_modal::-webkit-scrollbar-track,
.floweditor_menu::-webkit-scrollbar-track {
  background: transparent;
}
.floweditor_modal::-webkit-scrollbar-thumb,
.floweditor_menu::-webkit-scrollbar-thumb {
  background: rgba(65, 73, 154, 0.3);
  border-radius: 4px;
}
.floweditor_modal::-webkit-scrollbar-thumb:hover,
.floweditor_menu::-webkit-scrollbar-thumb:hover {
  background: rgba(65, 73, 154, 0.5);
}

.floweditor_menu {
  padding: 1rem;
  border-radius: 1rem;
}

@media (max-width: 1000px) {
  .floweditor_menu,
  .floweditor_modal {
    left: 50% !important;
    top: 50% !important;
  }
}
.floweditor_modal-title {
  display: flex;
  align-items: center;
}
.floweditor_modal-title .icon-wrapper {
  margin-right: 15px;
}
.floweditor_modal-title .icon-wrapper .ts-rounded-border-small {
  background: #000;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  border-radius: 0.225rem;
}
.floweditor_modal-title .icon-wrapper .ts-rounded-border-small i {
  color: #ffffff;
}

.floweditor_menu.-add-node {
  width: 370px;
}

.floweditor_modal.-translate-label {
  min-width: 500px;
}

.floweditor_modal.-template-manager {
  width: 80%;
  min-width: 1075px;
}

.floweditor_modal.-activities-manager {
  min-width: 500px;
}

.floweditor_modal.-conditions-manager {
  min-width: 950px;
}

.floweditor_modal.-node-options {
  min-width: 950px;
}

.floweditor_modal.-prompt {
  padding: 20px;
}

.floweditor_modal.-subflow-logic-and-rules,
.floweditor_modal.-action-node-options {
  width: 90%;
  max-width: 960px;
}
.floweditor_modal.-subflow-logic-and-rules .floweditor_modal-body,
.floweditor_modal.-action-node-options .floweditor_modal-body {
  overflow-y: auto;
  max-height: 80vh;
}

.floweditor_modal.-flow-logic {
  width: 92%;
  max-width: 1120px;
}
.floweditor_modal.-flow-logic .floweditor_modal-body {
  overflow-y: auto;
  max-height: 80vh;
}
.floweditor_modal.-flow-logic .floweditor_modal-body .fe-trigger-editor-wrapper {
  max-height: none;
  overflow-y: visible;
}
.floweditor_modal.-flow-logic .floweditor_modal-body {
  scrollbar-width: thin;
  scrollbar-color: rgba(49, 56, 122, 0.35) transparent;
}
.floweditor_modal.-flow-logic .floweditor_modal-body::-webkit-scrollbar {
  width: 7px;
}
.floweditor_modal.-flow-logic .floweditor_modal-body::-webkit-scrollbar-track {
  background: transparent;
}
.floweditor_modal.-flow-logic .floweditor_modal-body::-webkit-scrollbar-thumb {
  background: rgba(49, 56, 122, 0.35);
  border-radius: 4px;
}
.floweditor_modal.-flow-logic .floweditor_modal-body::-webkit-scrollbar-thumb:hover {
  background: rgba(49, 56, 122, 0.55);
}

.floweditor_modal-header {
  border-bottom: 2px solid #31387a;
  font-size: 18px;
  /*margin: 15px 0;*/
  font-weight: 500;
  color: #333333;
  padding-bottom: 1rem;
  display: flex;
  align-items: center;
}
.floweditor_modal-header .fe-card {
  flex: 1;
  min-width: 0;
}
.floweditor_modal-header .ts-rounded {
  margin-right: 1rem;
}
.floweditor_modal-header .subtitle {
  display: block;
  font-weight: 400;
  font-size: 0.875rem;
}

.floweditor_modal-close {
  color: #000;
  opacity: 0.5;
  font-size: 18px;
  cursor: pointer;
  margin-left: auto;
}

.floweditor_modal-close:hover {
  color: #000;
  opacity: 0.75;
}

.floweditor_modal-close:before {
  font-family: "Material Design Icons";
  content: "\f0156";
}

.floweditor_modal-body {
  padding: 1rem;
}

.fe-header-color-picker {
  display: flex;
  align-items: center;
  margin-right: 1rem;
}

.fe-header-color-list {
  display: flex;
  align-items: center;
  gap: 6px;
}

.fe-header-color-input {
  display: none;
}

.fe-header-color-dot {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid transparent;
  transition: transform 0.15s ease, border-color 0.15s ease;
}
.fe-header-color-dot:hover {
  transform: scale(1.2);
}

.fe-header-color-input:checked + .fe-header-color-dot {
  border-color: #fff;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.35);
  transform: scale(1.15);
}

.floweditor_modal-footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 1rem;
}
.floweditor_modal-footer .btn:not(:first-child) {
  margin-left: 0.5rem;
}

.floweditor_modal-label {
  display: block;
  margin-bottom: 10px;
  position: relative;
}

.floweditor_modal-label.-error:after {
  font-family: "Material Design Icons";
  content: "\f0787";
  position: absolute;
  color: #e33244;
  right: 7px;
  font-size: 20px;
  top: 3px;
}

.floweditor_modal-error {
  display: none;
}

.floweditor_modal-label.-error .floweditor_modal-error {
  display: block;
  color: #df9292;
  font-style: italic;
  margin: 5px 0 0 20%;
}

.floweditor_modal-label.-error .floweditor_modal-input {
  border: 1px solid #df9292;
}

.floweditor_modal-label_text {
  float: left;
  width: 20%;
  margin: 6px 0 0;
}

.floweditor_modal-input {
  width: 80%;
}

input.floweditor_modal-separator-checkbox {
  float: left;
  margin-right: 5px;
}

.floweditor_modal-separator {
  margin: 10px 0 10px 0;
  font-weight: bold;
  display: block;
}

.floweditor_conditions-manager_list-holder {
  float: left;
  width: 45%;
  position: relative;
}

.floweditor_conditions-manager_list {
  border: 1px solid #e4e4e4;
  height: 400px;
  overflow-x: auto;
}

.floweditor_conditions-manager_list-loading {
  position: absolute;
  top: 75px;
  left: 1px;
  right: 1px;
  bottom: 1px;
  background-color: rgba(255, 255, 255, 0.8);
}

.floweditor_conditions-manager_list-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #0ea57f;
  font-size: 24px;
}

.floweditor_conditions-manager_list-item {
  padding: 5px 10px;
}

.floweditor_conditions-manager_list-item.-selected {
  background: #1aae88;
  color: #fff;
}

.floweditor_conditions-manager_list-empty {
  padding: 5px 10px;
  font-style: italic;
  color: #a39f9f;
}

.floweditor_conditions-manager_list-search {
  display: block;
  margin: 10px 0;
}

.floweditor_conditions-manager_buttons {
  float: left;
  width: 10%;
  margin-top: 200px;
}

.floweditor_conditions-manager_button {
  float: left;
  margin: 0 0 15px 22px;
}

.floweditor_modal-separator.-clickable:hover {
  cursor: pointer;
  color: #158b6c;
}

.floweditor_menu-option-holder {
  max-height: 400px;
  overflow-x: auto;
}

.floweditor_menu-option {
  cursor: pointer;
  padding: 5px 10px;
  border-radius: 0.25rem;
  flex: 0 0 50%;
  display: flex;
  align-items: center;
}
.floweditor_menu-option#menu-node-type-10 .floweditor_menu-icon {
  color: #f5605a;
}
.floweditor_menu-option#menu-node-type-14 .floweditor_menu-icon {
  color: #4cb8ab;
}
.floweditor_menu-option#menu-node-type-15 .floweditor_menu-icon {
  color: #f6a855;
}
.floweditor_menu-option#menu-node-type-16 .floweditor_menu-icon {
  color: #f14167;
}

.floweditor_menu-option:hover,
.floweditor_menu-option.active {
  background: #eeeeee;
}

.floweditor_menu-icon {
  font-family: "Material Design Icons";
  font-size: 24px;
  float: left;
  margin-right: 10px;
}

.floweditor_menu-label {
  padding: 10px;
  font-weight: bold;
}

.floweditor_menu_input-holder {
  position: relative;
  margin-bottom: 10px;
}

.floweditor_menu_input-holder.-error:after {
  font-family: "Material Design Icons";
  content: "\f0787";
  position: absolute;
  color: #e33244;
  right: 7px;
  font-size: 20px;
  top: 3px;
}

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

.floweditor_menu_input-holder.-error .floweditor_menu_input {
  border: 1px solid #df9292;
}

.floweditor_menu_input-error-message {
  color: #df9292;
  font-style: italic;
  display: none;
}

.floweditor_menu_input-holder.-error .floweditor_menu_input-error-message {
  display: block;
}

.floweditor_menu-header {
  background-color: #5c82ed;
  color: #fff;
  border-radius: 0.25rem;
  padding: 8px 15px;
  text-align: center;
  position: relative;
}
.nodebar .floweditor_menu-header {
  width: 222px;
  margin-top: 0.5rem;
}
.floweditor_menu-header.header-collapse {
  cursor: pointer;
}
.floweditor_menu-header.header-collapse::after {
  content: "\f0d7";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  float: right;
}
.floweditor_menu-header.header-collapse.collapsed::after {
  content: "\f0d8";
}

.floweditor_menu-subheader {
  padding: 8px 15px;
  text-align: center;
  border-top: 1px solid #ababab;
  border-bottom: 1px solid #ababab;
}

.floweditor_menu-holder {
  padding: 8px 0;
}

.floweditor_menu-templates-options {
  margin: 10px 0;
  width: 550px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 5px;
}

.floweditor_menu-templates-options:after {
  content: "";
  clear: both;
  display: block;
}

.floweditor_menu-label-templates {
  float: left;
  margin-right: 10px;
  font-weight: bold;
  padding-top: 7px;
}

.floweditor_menu-label-input {
  float: left;
  width: auto;
  padding: 3px 6px;
  font-size: 12px;
  margin-right: 20px;
}

.floweditor_menu-radio {
  float: left;
  margin: 7px 5px 0 10px;
}

.floweditor_menu-radio-input {
  float: left;
  margin: 2px 5px 0 10px;
}

.floweditor_menu-loading,
.floweditor_menu-empty {
  font-style: italic;
  padding: 10px 0;
}

.floweditor_menu-loader {
  color: #0ea57f;
}

.floweditor-toolbar-label-holder {
  position: relative;
  width: 100%;
  margin-right: 10px;
}

.floweditor-toolbar-label-holder.-error:after {
  font-family: "Material Design Icons";
  content: "\f0787";
  position: absolute;
  color: #e33244;
  right: 7px;
  font-size: 20px;
  top: 3px;
}

.floweditor-toolbar-label-input {
  width: 100%;
  max-height: 220px;
}

.floweditor-toolbar-label-holder.-error .floweditor-toolbar-label-input {
  border: 1px solid #df9292;
}

.floweditor-toolbar-label-button {
  float: left;
  width: 25%;
}

.floweditor-toolbar-label-error-message {
  color: #df9292;
  font-style: italic;
  float: left;
  clear: both;
  margin: 0 0 10px 0;
}

.floweditor-toolbar-translate-link {
  color: #3f469c;
  cursor: pointer;
  margin: 0 0 10px 0;
  float: left;
  clear: both;
  font-weight: 500;
}

.floweditor-toolbar-translate-link:hover {
  color: #2d336f;
}

.floweditor-toolbar-translate-link.-error {
  color: #df9292;
}

.floweditor-toolbar-translate-link.-error:hover {
  color: #e33244;
}

.floweditor-toolbar-translate-link.-error:before {
  content: "\f02fc";
  color: #e33244;
}

.floweditor_activities-manager_search-holder {
  margin-bottom: 15px;
}

.floweditor_activities-manager_search-loading {
  font-style: italic;
}

.floweditor_activities-manager_search-spinner {
  color: #0ea57f;
}

.fe-section {
  clear: both;
  border-bottom: 2px solid #31387a;
  padding: 2.5em 0 2em;
}
.fe-section.no-border {
  border: none;
}
.fe-section:last-child {
  border-bottom: 0;
}

.fe-section-header {
  background-color: #5a5a5a;
  color: #fff;
  padding: 0.5rem 1rem;
  font-weight: 400;
  display: flex;
  align-items: center;
  margin-top: 0.5rem;
}

.fe-item-text:after,
.fe-item-text:before {
  font-family: "Material Design Icons";
  float: left;
  font-size: 17px;
  margin: -2px 5px 0 0;
  font-style: normal;
}

.fe-item-text.-smile-tevreden:before {
  color: #9ab498;
  content: "\f01f5";
}

.fe-item-text.-smile-ontevreden:before {
  color: #df9292;
  content: "\f01f8";
}

.fe-item-text.-smile-zeer-tevreden:before {
  color: #9ab498;
  content: "\f01f2";
}

.fe-item-text.-smile-zeer-ontevreden:before {
  color: #df9292;
  content: "\f0c6a";
}

.fe-item-text.-smile-neutraal:before {
  color: #df9292;
  content: "\f01f6";
}

.fe-item-text.-yes-node:before {
  color: #9ab498;
  content: "\f0513";
}

.fe-item-text.-no-node:before {
  color: #df9292;
  content: "\f0511";
}

.fe-item-text.-empty {
  color: #df9292;
}

.fe-item-text.-empty:after {
  content: "\f02fc";
  color: #e33244;
}

.fe-item-actions-icon {
  float: left;
  cursor: pointer;
  font-size: 22px;
  color: #3c4144;
  margin-left: 5px;
}

.fe-item-actions-icon:hover {
  color: #181a1c;
}

.fe-item-actions-icon-sed {
  float: left;
  cursor: pointer;
  font-size: 18px;
  color: #3c4144;
  margin: 5px 0px 5px 5px;
}

.fe-item-actions-icon-sed:hover {
  color: #181a1c;
}

.fe-item-actions-icon:before {
  font-family: "Material Design Icons";
}

.fe-item-actions-icon.-add-datapoint:before {
  content: "\f0419";
}

.fe-item-actions-icon.-remove-datapoint:before {
  content: "\f0377";
}

.fe-item-actions-icon.-unlink-link {
  color: #f87070;
}

.fe-item-actions-icon.-unlink-link:hover {
  color: #e33244;
}

.fe-item-actions-icon.-unlink-node:before {
  content: "\f033a";
}

.fe-item-actions-icon.-link-link {
  color: #3f469c;
}

.fe-item-actions-icon.-link-link:hover {
  color: #2d3371;
}

.fe-item-actions-icon.-link-node:before {
  content: "\f0339";
}

.fe-item-actions-icon.-remove-link {
  color: #3f469c;
}

.fe-item-actions-icon.-remove-link:hover {
  color: #2d3371;
}

.fe-item-actions-icon.-remove-link:before {
  content: "\f0a7a";
}

.fe-create-datapoint-holder {
  padding: 10px 0;
}

.fe-datapoints-list {
  position: fixed;
  margin: 0 !important;
  padding: 4px 0 !important;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(20, 25, 80, 0.18), 0 0 0 1px rgba(64, 73, 154, 0.12);
  max-height: 220px;
  overflow-y: auto;
  z-index: 9200;
}

.fe-add-datapoint {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 12px;
  margin: 0 4px;
  border-radius: 6px;
  background: transparent;
  font-weight: normal;
  cursor: pointer;
  border-bottom: 1px solid #f0f1f8;
}
.fe-add-datapoint:last-child {
  border-bottom: none;
}
.fe-add-datapoint:hover {
  background: #f0f1f8;
}

.fe-dp-label {
  font-size: 13px;
  color: #2a2e5e;
  line-height: 1.3;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fe-dp-type {
  font-size: 11px;
  color: #8890b8;
  white-space: nowrap;
  flex-shrink: 0;
}

.fe-tab {
  font-size: 25px;
  padding: 10px 15px;
  color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}

.fe-tab:hover {
  color: #0ea57f;
}

.fe-save-methods {
  margin-bottom: 15px;
}

.fe-delete-template {
  font-family: "Material Design Icons";
  font-size: 18px;
  color: #e33244;
  float: right;
  cursor: pointer;
}

.fe-delete-template:hover {
  color: #843534;
}

.fe-delete-template:before {
  content: "\f1c0";
}

.fe-node-icon {
  font-family: "Material Design Icons";
  float: left;
  width: 44px;
  height: 44px;
  position: relative;
  border-radius: 0.625rem;
  box-sizing: border-box;
  font-size: 24px;
  color: #ffffff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
}

.fe-versions {
  display: none;
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 10;
  padding: 7px 5px;
  background: #ffffff;
}

/*.fe-versions-text,
.fe-versions-item {
    float: left;
    font-size: 12px;
    padding: 7px 5px;
}*/
/*.fe-versions-text {
    padding: 7px 0 7px 10px;
}*/
.ts-editor-big-btn {
  /*line-height: 50px;*/
}

.fe-versions-text {
  font-size: 12px;
  padding: 0 15px;
  font-weight: 400;
}

.fe-versions-item:not(.-active) {
  cursor: pointer;
  text-decoration: underline;
  color: #1aae88;
}

.fe-versions-item:not(.-active):hover {
  color: #158b6c;
}

.fe-versions-item.-active {
  font-weight: bold;
}

.fe-versions-activate {
  float: right;
  margin-left: 10px;
}

.fe-versions-select {
  float: left;
  padding: 5px;
  font-size: 12px;
  width: 40px;
  margin: 0 0 0 10px;
  height: auto;
}

.fe-properties-errors {
  color: #df9292;
  margin-bottom: 10px;
}

.fe-properties-error:before {
  font-family: "Material Design Icons";
  content: "\f2fc";
  float: left;
  font-size: 17px;
  margin: -2px 5px 0 0;
  color: #e33244;
}

.fe-properties-image {
  width: 100%;
  margin: 5px 0 10px;
  border: 1px solid #cbd5dd;
}

.fe-modal {
  position: relative;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  width: 100%;
  height: 50vh;
}
.fe-modal .modal-dialog {
  background: #fff;
  border-radius: 8px;
  margin: 0px;
  width: 100%;
  max-width: 100%;
}
.fe-modal .modal-dialog .cropper-crop-box, .fe-modal .modal-dialog .cropper-view-box {
  border-radius: 15px;
  outline: 0;
}
.fe-modal .modal-dialog .cropper-line, .fe-modal .modal-dialog .cropper-point, .fe-modal .modal-dialog .cropper-face {
  background-color: transparent;
}

.fe-properties-no-meta {
  margin: 5px 0 10px;
  color: #df9292;
}

.fe-properties-no-meta:before {
  font-family: "Material Design Icons";
  content: "\f2fc";
  color: #e33244;
  float: left;
  font-size: 17px;
  margin: -2px 5px 0 0;
}

textarea.fe-properties-textarea {
  width: 100%;
  display: block;
  margin: 10px 0;
  height: 150px;
}

/*
Marx's stuff
 */
.floweditor_modal-button {
  float: left;
  margin: 10px 0 0 0;
  width: calc(50% - 5px);
}

.floweditor_modal-button-100 {
  float: left;
  margin: 10px 0 0 0;
  width: 100%;
}

.floweditor_modal-button.-yes {
  margin-right: 10px;
}

.floweditor-toolbar .fe-add-margin-10 {
  margin: 1em;
}

.floweditor-toolbar .fe-add-margin-12 {
  margin: 1.2em;
}

.floweditor-toolbar .fe-add-margin-15 {
  margin: 1.5em;
}

.floweditor-toolbar .fe-add-margin-20 {
  margin: 2em;
}

.floweditor-toolbar .fe-add-padding-12 {
  padding: 1.2em;
}

.floweditor-modal .fe-m-content {
  box-shadow: 0px 0px 60px 10px rgba(0, 0, 0, 0.3);
}

#fe-working-target {
  margin-left: auto;
  display: flex;
  align-items: center;
}

.fe-working-indicator {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 12px 4px 8px;
  background: rgba(65, 73, 154, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 20px;
  color: #fff;
  font-size: 12px;
  font-family: "Inter", system-ui, sans-serif;
  font-weight: 500;
  pointer-events: none;
  white-space: nowrap;
}
.fe-working-indicator .mdi {
  font-size: 14px;
  line-height: 1;
}

.fe-working-fade-enter-active,
.fe-working-fade-leave-active {
  transition: opacity 180ms ease, transform 180ms ease;
}

.fe-working-fade-enter,
.fe-working-fade-enter-from,
.fe-working-fade-leave-to {
  opacity: 0;
  transform: translateY(-6px);
}

.floweditor-controls {
  position: absolute;
  bottom: 15px;
  left: 15px;
  width: 150px;
  display: flex;
  justify-content: space-between;
}

.floweditor-controls .floweditor-zoom {
  display: flex;
  margin-right: 15px;
}

.floweditor-status {
  position: absolute;
  top: 15px;
  left: 15px;
  display: flex;
}

.floweditor-status p {
  font-size: 24px;
  color: #676767;
  margin: 0;
}

body {
  transition: margin-right 240ms cubic-bezier(0.4, 0, 0.2, 1);
}

body.fe-tp-open {
  margin-right: 420px;
}

.floweditor {
  position: relative;
  width: 100%;
  height: 100%;
}

.floweditor .form-control {
  border-radius: 0.625rem;
  padding: 0.75rem 0.8rem;
  height: auto;
}

.floweditor-canvas {
  background: #e6e9ff;
  position: relative;
  width: 100%;
  height: 100%;
}

.floweditor-publish {
  position: relative;
}
.floweditor-publish .floweditor-canvas {
  background: #e6e9ff;
}
.floweditor-publish .floweditor-buttons {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  padding: 1rem;
}

.floweditor-toolbar.nodebar {
  position: absolute;
  top: 1em;
  left: 1em;
  z-index: 10;
  zoom: 80%;
}
.floweditor-toolbar.toolbar {
  position: absolute;
  top: 1em;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  zoom: 80%;
}

.floweditor-toolbar.toolbar .toolbar_menu-wrapper {
  max-width: none;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu {
  background: rgba(65, 73, 154, 0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 0.5em;
  border-radius: 1em;
  display: flex;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .toolbar_sub_menu {
  display: flex;
  gap: 0.2em;
  border-right: 1px #dfe2fb solid;
  padding: 0 0.75em;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .toolbar_sub_menu:last-child {
  border-right: none;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .menu-item {
  display: flex;
  gap: 1em;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .menu-button {
  border-radius: 1em;
  color: #fff;
  padding: 0.5em 1em;
  background: #3b257a;
  cursor: pointer;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .menu-button.button-icon {
  font-size: 1.6em;
  padding: 0em 0.25em;
  background: transparent;
  line-height: 1.5em;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .menu-button:hover {
  background: #1f205c;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-version-item {
  position: relative;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-version-item.fe-version-item--dirty::after {
  content: "";
  position: absolute;
  top: -4px;
  right: -4px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #f59e0b;
  animation: fe-publish-pulse 2s ease-in-out infinite;
  pointer-events: none;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap {
  display: flex;
  align-items: center;
  align-self: center;
  gap: 4px;
  border-radius: 20px;
  padding: 0 4px;
  height: 1.5em;
  width: 1.6em;
  overflow: hidden;
  cursor: pointer;
  background: transparent;
  border: 1px solid transparent;
  transition: width 240ms cubic-bezier(0.4, 0, 0.2, 1), background 200ms ease, border-color 200ms ease;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap--active {
  width: 210px;
  height: 30px;
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.3);
  cursor: default;
  padding: 0 8px 0 6px;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap .fe-search-input,
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap .fe-search-close {
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease 80ms;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap--active .fe-search-input, .floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap--active .fe-search-close {
  opacity: 1;
  pointer-events: auto;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap .fe-search-icon {
  color: #fff !important;
  font-size: 1.6em;
  flex-shrink: 0;
  line-height: 1;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap--active .fe-search-icon {
  font-size: 1.1em;
  color: rgba(255, 255, 255, 0.75) !important;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap .fe-search-input {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: #fff !important;
  font-size: 0.85em;
  width: 100%;
  min-width: 0;
  padding: 0;
  box-shadow: none !important;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap .fe-search-input::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap .fe-search-close {
  color: rgba(255, 255, 255, 0.65) !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  line-height: 1;
  text-decoration: none !important;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap .fe-search-close .mdi {
  color: rgba(255, 255, 255, 0.65) !important;
  font-size: 1em;
  line-height: 1;
}
.floweditor-toolbar.toolbar .toolbar_menu-wrapper .toolbar_menu .fe-search-wrap .fe-search-close:hover .mdi {
  color: #fff !important;
}

.floweditor-toolbar-v2 {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 10;
  zoom: 80%;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.glass2 {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: 0 12px 30px rgba(38, 42, 92, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.5);
  border-radius: 999px;
  pointer-events: auto;
}

.fe2-toprow {
  --fe2-zoom-extra-w: 129px;
  position: absolute;
  top: 1em;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 14px;
  transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1);
}

.fe2-toprow:has(.fe2-zoom:hover),
.fe2-toprow:has(.fe2-zoom:focus-within) {
  transform: translateX(calc(-50% - var(--fe2-zoom-extra-w) / 2));
}

.fe2-barwrap {
  position: relative;
  pointer-events: none;
}

.fe2-bar {
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 8px;
}

.fe2-divider {
  width: 1px;
  height: 26px;
  background: rgba(38, 42, 92, 0.14);
  margin: 0 7px;
  flex: 0 0 auto;
}

.fe2-icon-btn {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #52579c;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 120ms ease, color 120ms ease;
  flex: 0 0 auto;
}
.fe2-icon-btn .mdi {
  font-size: 22px;
  line-height: 1;
}
.fe2-icon-btn:hover {
  background: rgba(65, 73, 154, 0.1);
  color: #2f3570;
}

.fe2-icon-btn--labelled {
  width: auto;
  min-width: 0;
  border-radius: 999px;
  padding: 0 14px 0 10px;
  gap: 7px;
}

.fe2-btn-label {
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.fe2-zoom {
  display: flex;
  align-items: center;
  gap: 3px;
  pointer-events: auto;
}

.fe2-zoom-core {
  display: flex;
  align-items: center;
  gap: 3px;
  flex: 0 0 auto;
}

.fe2-zoom-pct {
  font-size: 14px;
  font-weight: 700;
  color: #41499a;
  font-variant-numeric: tabular-nums;
  user-select: none;
  min-width: 42px;
  text-align: center;
  flex: 0 0 auto;
}

.fe2-zoom-extra {
  display: flex;
  align-items: center;
  gap: 3px;
  opacity: 0;
  width: 0;
  overflow: hidden;
  transition: opacity 140ms ease 60ms, width 220ms cubic-bezier(0.4, 0, 0.2, 1);
}

.fe2-zoom:hover .fe2-zoom-extra,
.fe2-zoom:focus-within .fe2-zoom-extra {
  opacity: 1;
  width: var(--fe2-zoom-extra-w);
}

.fe2-play {
  position: relative;
  overflow: hidden;
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1e1f20;
  cursor: pointer;
  text-decoration: none;
  pointer-events: auto;
  flex: 0 0 auto;
  transition: background-color 140ms ease, transform 100ms ease;
}
.fe2-play .mdi {
  font-size: 26px;
  line-height: 1;
  margin-left: 2px;
  position: relative;
  z-index: 1;
}
.fe2-play:active {
  transform: scale(0.94);
}
.fe2-play--loading {
  pointer-events: none;
}
.fe2-play::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(108, 92, 231, 0) 38%, rgba(108, 92, 231, 0.3) 50%, rgba(108, 92, 231, 0) 62%);
  transform: translateX(-130%);
  animation: fe2-play-shimmer 9s ease-in-out infinite;
  pointer-events: none;
}

@keyframes fe2-play-shimmer {
  0%, 88% {
    transform: translateX(-130%);
  }
  100% {
    transform: translateX(130%);
  }
}
.fe2-play::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 2px;
  background: conic-gradient(from var(--fe2-beam-angle), transparent 0deg, transparent 250deg, rgba(70, 82, 243, 0.95) 305deg, #b9c0f7 335deg, transparent 360deg);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0;
  transition: opacity 160ms ease;
  z-index: 0;
}

.fe2-play:hover::before,
.fe2-play:focus-visible::before {
  opacity: 1;
  animation: fe2-play-beam 1.6s linear infinite;
}

@keyframes fe2-play-beam {
  to {
    --fe2-beam-angle: 360deg;
  }
}
.fe2-context {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  padding: 5px;
  pointer-events: auto;
  animation: fe2-context-in 160ms ease-out;
}

@keyframes fe2-context-in {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
.fe2-context-btn {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 34px;
  padding: 0 14px 0 11px;
  border-radius: 999px;
  color: #c0392b;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 120ms ease, color 120ms ease;
}
.fe2-context-btn .mdi {
  font-size: 19px;
  line-height: 1;
}
.fe2-context-btn:hover {
  background: rgba(192, 57, 43, 0.1);
  color: #96281b;
}

.fe2-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  padding-right: 4px;
}

.fe2-header-item {
  display: inline-flex;
}

.fe2-inline-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f59e0b;
  flex: 0 0 auto;
  animation: fe-publish-pulse 2s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .fe2-inline-dot {
    animation: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fe2-zoom-extra, .fe2-play, .fe2-context {
    transition: none;
    animation: none;
  }
  .fe2-play::after {
    animation: none;
    opacity: 0;
  }
}
.fe2-search-item {
  display: flex;
  align-items: center;
}

.fe2-bar .fe-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  border-radius: 22px;
  padding: 0 4px;
  height: 40px;
  width: 40px;
  overflow: hidden;
  cursor: pointer;
  background: transparent;
  border: 1px solid transparent;
  transition: width 240ms cubic-bezier(0.4, 0, 0.2, 1), background 200ms ease, border-color 200ms ease;
}
.fe2-bar .fe-search-wrap:not(.fe-search-wrap--active):hover {
  background: rgba(65, 73, 154, 0.1);
}
.fe2-bar .fe-search-wrap:not(.fe-search-wrap--active):hover .fe-search-icon {
  color: #2f3570 !important;
}
.fe2-bar .fe-search-wrap:not(.fe-search-wrap--active) .fe-search-icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.fe2-bar .fe-search-wrap--active {
  width: 220px;
  background: rgba(65, 73, 154, 0.08);
  border-color: rgba(65, 73, 154, 0.2);
  cursor: default;
  padding: 0 10px 0 8px;
}
.fe2-bar .fe-search-wrap .fe-search-input, .fe2-bar .fe-search-wrap .fe-search-close {
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease 80ms;
}
.fe2-bar .fe-search-wrap--active .fe-search-input, .fe2-bar .fe-search-wrap--active .fe-search-close {
  opacity: 1;
  pointer-events: auto;
}
.fe2-bar .fe-search-wrap .fe-search-icon {
  color: #1e1f20 !important;
  font-size: 22px;
  flex-shrink: 0;
  line-height: 1;
}
.fe2-bar .fe-search-wrap--active .fe-search-icon {
  font-size: 17px;
  color: #6d72a8 !important;
}
.fe2-bar .fe-search-wrap .fe-search-input {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: #262a5c !important;
  font-size: 14px;
  width: 100%;
  min-width: 0;
  padding: 0;
  box-shadow: none !important;
}
.fe2-bar .fe-search-wrap .fe-search-input::placeholder {
  color: rgba(38, 42, 92, 0.4) !important;
}
.fe2-bar .fe-search-wrap .fe-search-close {
  cursor: pointer;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  line-height: 1;
  text-decoration: none !important;
}
.fe2-bar .fe-search-wrap .fe-search-close .mdi {
  color: rgba(38, 42, 92, 0.45) !important;
  font-size: 15px;
  line-height: 1;
}
.fe2-bar .fe-search-wrap .fe-search-close:hover .mdi {
  color: #2f3570 !important;
}
.fe2-bar .fe-translate-btn--active {
  background: rgba(65, 73, 154, 0.14);
  color: #2f3570 !important;
}
.fe2-bar .fe-translate-btn--incomplete::after {
  top: 2px;
  right: 4px;
}
.fe2-bar .fe-preview-toolbar-btn {
  color: #52579c;
  opacity: 1;
}
.fe2-bar .fe-preview-toolbar-btn:hover {
  color: #2f3570;
  background: rgba(65, 73, 154, 0.1);
}
.fe2-bar .qdnapro-button.button-on-purple {
  color: #41499a !important;
}
.fe2-bar .qdnapro-button.button-on-purple:hover:not(.button-disabled),
.fe2-bar .qdnapro-button.button-on-purple:active:not(.button-disabled) {
  background: rgba(65, 73, 154, 0.1) !important;
}
.fe2-bar .qdnapro-button.button-on-purple-solid:not(.button-disabled) {
  background: #41499a !important;
}
.fe2-bar .qdnapro-button.button-on-purple-solid:hover:not(.button-disabled),
.fe2-bar .qdnapro-button.button-on-purple-solid:active:not(.button-disabled) {
  background: #2f3570 !important;
}
.fe2-bar .qdnapro-button.button-disabled {
  background: transparent !important;
  color: rgba(38, 42, 92, 0.36) !important;
  border: 1.5px solid rgba(38, 42, 92, 0.18) !important;
}

.floweditor-toolbar .nodebar_menu-wrapper {
  display: flex;
}

@keyframes nodebar-slide-in {
  from {
    opacity: 0;
    transform: translateX(-10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes modal-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modal-scale-in {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}
.floweditor-toolbar .nodebar_menu {
  font-size: 0.8em;
}
.floweditor-toolbar .nodebar_menu.primary-menu {
  color: #fff;
  max-width: 220px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 1em;
  overflow: hidden;
}
.floweditor-toolbar .nodebar_menu.primary-menu .nodebar_menu-item {
  cursor: pointer;
  background: rgba(65, 73, 154, 0.55);
}
.floweditor-toolbar .nodebar_menu.primary-menu .nodebar_menu-item:first-child {
  border-radius: 1em 1em 0 0;
}
.floweditor-toolbar .nodebar_menu.primary-menu .nodebar_menu-item:last-child {
  border-radius: 0 0 1em 1em;
}
.floweditor-toolbar .nodebar_menu.primary-menu .nodebar_menu-item:hover, .floweditor-toolbar .nodebar_menu.primary-menu .nodebar_menu-item.active {
  background: rgba(59, 37, 122, 0.7);
}
.floweditor-toolbar .nodebar_menu.primary-menu .nodebar_menu-item:active {
  background: rgba(31, 32, 92, 0.8);
}
.floweditor-toolbar .nodebar_menu.secondary-menu {
  color: #41499a;
  font-weight: bold;
  display: none;
  max-height: 60vh;
  overflow-y: scroll;
  margin-left: -20px;
  scrollbar-width: thin;
  scrollbar-color: rgba(65, 73, 154, 0.3) transparent;
}
.floweditor-toolbar .nodebar_menu.secondary-menu::-webkit-scrollbar {
  width: 4px;
}
.floweditor-toolbar .nodebar_menu.secondary-menu::-webkit-scrollbar-track {
  background: transparent;
}
.floweditor-toolbar .nodebar_menu.secondary-menu::-webkit-scrollbar-thumb {
  background: rgba(65, 73, 154, 0.3);
  border-radius: 4px;
}
.floweditor-toolbar .nodebar_menu.secondary-menu::-webkit-scrollbar-thumb:hover {
  background: rgba(65, 73, 154, 0.5);
}
.floweditor-toolbar .nodebar_menu.secondary-menu {
  border-radius: 0 1em 1em 1em;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 4px 24px rgba(65, 73, 154, 0.12);
}
.floweditor-toolbar .nodebar_menu.secondary-menu.active {
  display: block;
  animation: nodebar-slide-in 180ms cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
.floweditor-toolbar .nodebar_menu.secondary-menu .nodebar_menu-item {
  cursor: move;
  background: transparent;
}
.floweditor-toolbar .nodebar_menu.secondary-menu .nodebar_menu-item:first-child {
  border-radius: 0 1em 0 0;
}
.floweditor-toolbar .nodebar_menu.secondary-menu .nodebar_menu-item:last-child {
  border-radius: 0 0 1em 1em;
}
.floweditor-toolbar .nodebar_menu.secondary-menu .nodebar_menu-item:hover, .floweditor-toolbar .nodebar_menu.secondary-menu .nodebar_menu-item.active {
  background: rgba(235, 235, 235, 0.7);
}
.floweditor-toolbar .nodebar_menu .nodebar_menu-item {
  padding: 0.75em 1em;
  display: flex;
  align-items: center;
  gap: 0.75em;
  width: 100%;
  font-weight: 500;
  -webkit-user-select: none;
  user-select: none;
}
.floweditor-toolbar .nodebar_menu .nodebar_menu-item.option {
  background: rgba(59, 37, 122, 0.65);
  border-bottom: 1px rgba(31, 32, 92, 0.6) solid;
  padding: 0em 1em;
}
.floweditor-toolbar .nodebar_menu .nodebar_menu-item.option .nodebar_menu-icon {
  font-family: "Material Design Icons";
  font-size: 18px;
  font-size: #939acd;
}
.floweditor-toolbar .nodebar_menu .nodebar_menu-item.option .nodebar_menu-icon .mdi {
  margin-right: -10px;
}
.floweditor-toolbar .nodebar_menu .nodebar_menu-icon {
  font-family: "Material Design Icons";
  font-size: 18px;
}

.floweditor-toolbar.nodebar.minimized .primary-menu .nodebar_menu-item span.nodebar_menu-title {
  display: none;
}
.floweditor-toolbar.nodebar.minimized .secondary-menu {
  margin-left: 0px;
}

.floweditor-toolbar .fe-tabs {
  flex-basis: 50px;
  border-left: 1px solid #efefef;
  background-color: #fafafa;
}

.floweditor-toolbar .fe-tabs .fe-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  /*height: 100vh;*/
  height: 100%;
}

.floweditor-toolbar .fe-tabs .fe-wrapper ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.floweditor-toolbar .fe-tabs .fe-wrapper ul:first-child {
  margin-top: 65px;
}

.floweditor-toolbar .fe-tabs .fe-wrapper ul:last-child {
  margin-bottom: 10px;
}

.floweditor-toolbar .fe-right {
  flex-basis: 100%;
  /*height: 100vh;*/
  height: 100%;
  overflow-x: scroll;
  color: #66584e;
}

.floweditor-toolbar .fe-right .fe-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  /*height: 100vh;*/
  height: 100%;
}

.floweditor-toolbar .fe-right .fe-empty p {
  font-weight: 400;
  font-size: 18px;
  color: rgba(0, 0, 0, 0.4);
  text-align: center;
}

.floweditor-toolbar .fe-right .fe-empty p i {
  font-size: 40px;
  display: block;
}

.floweditor-toolbar .fe-node-frame {
  border-radius: 8px;
  background-color: #f7f7f7;
  box-shadow: 0 2px 4px rgba(31, 14, 14, 0.15);
  width: 50%;
  padding: 15px 10px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 400;
  color: #777;
}
.floweditor-toolbar .fe-node-frame .ts-rounded {
  background-color: #c5c5c5;
  color: #fff;
  margin-bottom: 0.5rem;
  border-radius: 0.375rem;
  width: 44px;
  height: 44px;
}
.floweditor-toolbar .fe-node-type {
  color: #acacac;
  font-size: 12px;
  margin-top: 0.5rem;
}

.floweditor-toolbar .fe-right .fe-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /*height: 100vh;*/
  height: 100%;
}

.floweditor-toolbar .fe-right .fe-wrapper footer {
  border-top: 1px solid #eaeaea;
}

.floweditor-toolbar .fe-right .fe-wrapper footer .fe-card-body {
  display: block;
}

.floweditor-toolbar .fe-section-wrapper {
  display: flex;
  flex-grow: 1;
}
.floweditor-toolbar .fe-section-wrapper > .fe-right {
  overflow-x: visible;
}

.floweditor-toolbar .fe-section .fe-card-body {
  display: none;
}

.floweditor-toolbar .fe-section.fe-open .fe-card-body {
  display: block;
  min-height: 34px;
}

.floweditor-toolbar .fe-section .fe-card-body i {
  font-size: 18px;
}

.floweditor-toolbar .fe-section .fe-card-body .fe-card-action-bar {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  align-items: center;
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 10px;
}

.floweditor-toolbar .fe-section .fe-card-body .fe-card-overlay {
  padding: 0 12px;
  box-shadow: 0px 5px 50px 2px rgba(0, 0, 0, 0.1);
}

.floweditor-toolbar .fe-section .fe-card-body .fe-card-overlay .fe-title {
  background: none;
  padding-left: 0;
  padding-right: 0;
  font-size: 14px;
  border-top: none;
  border-bottom: none;
}

.floweditor-toolbar .fe-section .fe-card-body .fe-card-overlay .fe-title i {
  font-size: 14px;
}

.floweditor-toolbar .fe-section ul {
  list-style: none;
  margin: 1em 0 0 0;
  padding: 0;
  /*overflow-y: auto;
  overflow-x: hidden;
  max-height: 223px;*/
  -moz-user-select: none;
}

.floweditor-toolbar .fe-section .fe-card-body ul li {
  padding-bottom: 1em;
  padding-right: 1.5rem;
}

.floweditor-toolbar .fe-section .fe-card-body ul li span.fe-item-subtext {
  display: block;
}

.floweditor-toolbar .fe-section .fe-tab-title,
.floweditor-toolbar .fe-section .fe-title {
  padding: 0.8em 1.2em;
  letter-spacing: 0.2px;
  color: #636363;
}

.floweditor-toolbar .fe-section .fe-card-body .fe-item-content .fe-item-actions a {
  /*margin-right: 10px;*/
}

.floweditor-toolbar .fe-section .fe-card-body .fe-item-content .fe-item-actions a:last-child {
  margin-right: 0;
}

.floweditor-toolbar .fe-section .fe-card-body .fe-item-content {
  display: flex;
  justify-content: space-between;
}

.floweditor-toolbar .fe-section .fe-tab-title {
  background: #fafafa;
  color: rgba(0, 0, 0, 0.6);
  font-size: 16px;
  font-weight: 400;
}

.floweditor-toolbar .fe-section .fe-tab-title span,
.floweditor-modal .fe-m-content .fe-m-body .fe-sections-overview ul li a span,
.floweditor-modal .fe-m-content .fe-m-body .fe-or-line {
  color: rgba(0, 0, 0, 0.4);
}

.floweditor-toolbar .fe-section .fe-tab-title span {
  display: block;
  font-size: 14px;
}

.floweditor-toolbar .fe-section .fe-title {
  background: #fafafa;
  font-size: 14px;
  font-weight: 400;
  border-top: 1px solid #eee;
}

.floweditor-toolbar .fe-section.fe-open .fe-title {
  background-color: #f3f3f3;
}

.floweditor-toolbar .fe-section .fe-btn {
  margin-bottom: 0.8em;
}

.floweditor-modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
}

.floweditor-modal.fe-open {
  display: block;
}

.floweditor-modal .fe-m-content {
  background-color: #fefefe;
  margin: 10% auto;
  padding: 30px 25px;
  width: 80%;
}

.floweditor-modal .fe-m-content .fe-m-header {
  border-bottom: 1px solid #e4e4e4;
  margin-bottom: 30px;
}

.floweditor-modal .fe-m-content .fe-m-header h2 {
  font-size: 18px;
  margin: 15px 0;
  padding: 0;
}

.floweditor-modal .fe-m-content .fe-m-header h2 span {
  color: rgba(0, 0, 0, 0.4);
}

.floweditor-modal .fe-m-content .fe-m-body .fe-sections-overview {
  /* Reserved */
}

.fe-save-methods ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  text-align: center;
  flex-direction: row;
}

.fe-save-methods ul li {
  width: 100%;
  margin-right: 15px;
}

.fe-save-methods ul li:last-child {
  margin-right: 0;
}

.fe-save-method {
  border: 2px solid rgba(0, 0, 0, 0.1);
  display: block;
  text-align: center;
  /*padding: 30px 15px;*/
  padding: 15px;
  text-decoration: none;
  color: #222222;
  cursor: pointer;
}

.fe-save-method:hover {
  background: rgba(14, 165, 127, 0.2);
}

.fe-save-method span {
  display: block;
  color: #9c9c9c;
}

.floweditor-modal .fe-m-content .fe-m-body .fe-sections-overview .fe-other-tools {
  /* Reserved */
}

.fe-or-line {
  margin-top: 35px;
  margin-bottom: 15px;
  border-top: 1px solid #e4e4e4;
  overflow: visible;
  padding: 0;
  font-weight: 600;
  text-align: center;
}

.fe-or-line:after {
  content: "or";
  display: inline-block;
  position: relative;
  top: -1em;
  font-size: 12px;
  padding: 0 0.95em;
  background: white;
}

.fe-other-tools ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  text-align: center;
  flex-direction: column;
}

.fe-other-tools ul li {
  width: 100%;
}

.fe-other-tools ul li a {
  border: 2px solid rgba(0, 0, 0, 0.1);
  display: block;
  text-align: center;
  padding: 30px 15px;
  text-decoration: none;
}

.floweditor-modal .fe-m-content .fe-m-body .fe-sections {
  /* Reserved */
}

.floweditor-modal .fe-m-content .fe-m-body .fe-sections .fe-section {
  display: none;
}

.floweditor-modal .fe-m-content .fe-m-body .fe-sections .fe-section.fe-open {
  display: block;
}

.floweditor-modal .fe-m-content .fe-m-body .fe-sections .fe-section .fe-table-wrapper {
  max-height: 300px !important;
  overflow-x: scroll;
}

.floweditor-modal .fe-m-content .fe-m-footer {
  border-top: 1px solid #e4e4e4;
  margin-top: 30px;
  padding-top: 15px;
}

.floweditor-modal .fe-m-close {
  float: right;
  font-size: 16px;
}

.floweditor-modal .fe-m-close:hover,
.floweditor-modal .fe-m-close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.text-rules {
  color: #5a83ec;
}

.card-rules {
  background-color: rgb(231.7744565217, 237.5456521739, 252.3255434783);
  border: 1px solid #5a83ec;
  padding: 1.25rem;
  border-radius: 0.25rem;
  position: relative;
}
.card-rules h6 {
  color: #5a83ec;
  font-size: 1rem;
}
.card-rules .top-right {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}
.card-rules .form-control {
  border-color: #5a83ec;
}
.card-rules .form-control:focus {
  box-shadow: 0 0 0 0.2rem rgba(90, 131, 236, 0.25);
}
.card-rules .form-control:disabled {
  background-color: rgb(245.4945652174, 247.8565217391, 253.9054347826);
}
.card-rules .rule-header {
  display: flex;
  flex-direction: row;
  font-size: 0.875rem;
  color: #5a83ec;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 1rem;
}
.card-rules .rule-header:before, .card-rules .rule-header:after {
  content: "";
  flex: 1;
  border-bottom: 1px dotted #5a83ec;
  margin: auto;
}
.card-rules .rule-header span {
  background-color: rgb(231.7744565217, 237.5456521739, 252.3255434783);
  border: 1px solid #5a83ec;
  padding: 0.375rem 1rem;
  border-radius: 0.25rem;
  overflow: hidden;
}
.card-rules .rule-header .btn-outline-primary {
  border-color: #5a83ec;
  color: #5a83ec;
  font-size: 0.875rem;
}
.card-rules .rule-header .btn-outline-primary:hover {
  background-color: #5a83ec;
  border-color: #5a83ec;
  color: #fff;
}
.card-rules .rule-header .btn-outline-primary:focus {
  box-shadow: 0 0 0 0.2rem rgba(90, 131, 236, 0.5);
}
.card-rules .rule-header .btn-outline-primary:not(:disabled):not(.disabled).active, .card-rules .rule-header .btn-outline-primary:not(:disabled):not(.disabled):active {
  color: #fff;
  background-color: #5a83ec;
  border-color: #5a83ec;
}
@media (min-width: 992px) {
  .card-rules .rule-header {
    margin-bottom: 0;
  }
}
.card-rules .rule {
  position: relative;
}
.card-rules .rule .btn-circle {
  position: absolute;
  top: 0;
  right: -40px;
}
.card-rules .btn-circle {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: transparent;
  border: none;
  user-select: none;
  font-size: 24px;
  color: #5a83ec;
  line-height: 1;
  padding: 0;
  transition: background-color 0.15s ease-in-out;
  cursor: pointer;
}
.card-rules .btn-circle:hover {
  background-color: rgb(199.7608695652, 213.4869565217, 248.6391304348);
}

.btn-rules {
  background-color: rgb(231.7744565217, 237.5456521739, 252.3255434783);
  color: #5a83ec;
  border-color: #5a83ec;
}
.btn-rules:hover {
  color: #fff;
  background-color: #5a83ec;
  border-color: #5a83ec;
}
.btn-rules:focus {
  box-shadow: 0 0 0 0.2rem rgba(90, 131, 236, 0.5);
}
.btn-rules:not(:disabled):not(.disabled):active {
  color: #fff;
  background-color: #5a83ec;
  border-color: #5a83ec;
}

.btn-rule {
  background-color: rgb(199.7608695652, 213.4869565217, 248.6391304348);
  color: #5a83ec;
  border-color: rgb(199.7608695652, 213.4869565217, 248.6391304348);
}
.btn-rule:hover {
  background-color: #5a83ec;
  color: #fff;
  border-color: #5a83ec;
}
.btn-rule:focus {
  box-shadow: 0 0 0 0.2rem rgba(90, 131, 236, 0.5);
}
.btn-rule:not(:disabled):not(.disabled):active {
  color: #fff;
  background-color: #5a83ec;
  border-color: #5a83ec;
}

.floweditor_modal {
  zoom: 80%;
}
.floweditor_modal .tabs-component-tabs {
  display: flex;
  list-style: none;
  margin-bottom: 0;
  padding-left: 0;
}
.floweditor_modal .tabs-component-tab {
  flex-grow: 1;
}
.floweditor_modal .tabs-component-tab a {
  display: block;
  padding: 1rem;
  font-weight: 400;
  text-align: center;
  background-color: #ebebeb;
  color: #acacac;
}
.floweditor_modal .tabs-component-tab.is-active a {
  background-color: #fff;
  color: #5a83ec;
}
.floweditor_modal .tabs-component-panels {
  padding: 2rem;
}
.floweditor_modal .ts-form-check {
  margin-top: 0;
}
.floweditor_modal .ts-form-check .ts-element-label {
  font-size: 1rem;
  font-weight: 400;
}
.floweditor_modal .ts-form-check .ts-label-text::before {
  font-size: 22px;
}
.floweditor_modal .ts-form-check input[type=checkbox] + .ts-label-text:before {
  color: #5a83ec;
}

.selected-questions {
  border: 1px solid #5a83ec;
  border-radius: 0.25rem;
  background-color: rgb(231.7744565217, 237.5456521739, 252.3255434783);
  overflow: hidden;
}
.selected-questions table {
  width: 100%;
  color: #5a83ec;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.selected-questions table td {
  padding: 0.3rem;
}
.selected-questions table td:first-child {
  width: 24px;
}
.selected-questions table td .btn-remove {
  cursor: pointer;
  transition: color 0.15s ease-in-out;
}
.selected-questions table td .btn-remove:hover {
  color: rgb(44.2663043478, 96.6304347826, 230.7336956522);
}
.selected-questions table tbody tr:nth-of-type(even) {
  background-color: rgb(199.7608695652, 213.4869565217, 248.6391304348);
}

.fe-node-title-card {
  background: #3f469c;
  padding: 0.75em;
  border-radius: 1em;
  color: white;
  display: inline-flex;
  width: fit-content;
  gap: 1em;
  align-items: center;
}
.fe-node-title-card .fe-node-title-icon {
  font-size: 1em;
}
.fe-node-title-card .fe-node-title-name {
  font-weight: 600;
  font-size: 1em;
}
.fe-node-title-card .fe-node-title-id {
  font-size: 0.75em;
}

.fe-card-title {
  color: #3f469c;
  font-weight: bold;
  font-size: 1.2em;
}

.btn {
  padding: 0.75rem 2rem;
  font-size: 16px;
  border-radius: 0.75em;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid transparent;
}
.btn.btn-primary {
  background: #3f469c;
}
.btn.btn-outline {
  border: 1px #3f469c solid;
  background: transparent;
  color: #3f469c;
}
.btn.btn-outline:hover {
  background: #3f469c;
  color: #fff;
}
.btn.btn-link {
  padding: 0;
  margin: 0;
  background: transparent;
  color: #3f469c;
  border: none;
  font-size: 1.2em;
  font-weight: bold;
}
.btn.btn-size-sm {
  padding: 0.5rem 1rem;
  font-size: 14px;
}
.btn.btn-color-primary {
  background: #3f469c;
  border-color: #3f469c;
  color: #fff;
}
.btn.btn-color-primary:hover {
  background: #333a7b;
  border-color: #333a7b;
}
.btn.btn-color-secondary {
  background: #f0f1f2;
  border-color: transparent;
  color: #0b0b0d;
}
.btn.btn-color-secondary:hover {
  background: #c4c7cc;
}
.btn.btn-color-secondary-outline {
  border: 1px #3f469c solid;
  background: transparent;
  color: #3f469c;
}
.btn.btn-color-secondary-outline:hover {
  background: #3f469c;
  color: #fff;
}
.btn.btn-color-secondary-white {
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  color: #3f469c;
  font-size: 1.2em;
  font-weight: bold;
}
.btn.btn-color-secondary-white:hover {
  background: transparent;
  color: rgb(48.3287671233, 53.698630137, 119.6712328767);
}
.btn.btn-color-warning {
  background: #f0f1f2;
  border-color: transparent;
  color: #C65A5A;
}
.btn.btn-color-warning:hover {
  background: #c4c7cc;
}

.fe-form.form-row label {
  font-weight: bold;
  color: #40499A;
}
.fe-form.form-row .form-control {
  border-radius: 0.625rem;
  padding: 0.75rem 0.8rem;
  height: auto;
}

.input-group .input-group-prepend.inline .input-group-text {
  background: #fff;
  border-right: 0;
  border-radius: 0.625rem;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group .input-group-append.inline .input-group-text {
  background: #fff;
  border-left: 0;
  border-radius: 0.625rem;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group:has(.input-group-prepend.inline) .form-control {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-left: 0;
}
.input-group:has(.input-group-append.inline) .form-control {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-right: 0;
}

.fe-lang-indicator {
  color: #6c5f55;
  font-weight: bold;
}

.fe-language-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1em;
}

.fe-items {
  padding: 0;
  margin: 0;
  list-style: none;
}
.fe-items.fe-link-list {
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.fe-items.fe-link-list::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.fe-items.fe-link-list > .fe-answer-row-wrap + .fe-answer-row-wrap,
.fe-items.fe-link-list > .fe-answer-row-wrap + .fe-answer-row--adding {
  margin-top: 4px;
}
.fe-items.fe-link-list > .fe-grade-row + .fe-grade-row,
.fe-items.fe-link-list > .fe-grade-row + .fe-answer-row--adding {
  margin-top: 4px;
}
.fe-items::-webkit-scrollbar {
  width: 8px;
}
.fe-items {
  /* Track */
}
.fe-items::-webkit-scrollbar-track {
  background: transparent;
}
.fe-items {
  /* Handle */
}
.fe-items::-webkit-scrollbar-thumb {
  background: #3b257a;
  border-radius: 4px;
}
.fe-items {
  /* Handle on hover */
}
.fe-items::-webkit-scrollbar-thumb:hover {
  background: #3b257a;
}

.fe-selectable-wrapper .fe-selectable {
  border: 1px #3f469c solid;
  border-radius: 0.625rem;
  padding: 1.25em;
  cursor: pointer;
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  justify-content: start;
  gap: 1em;
}
.fe-selectable-wrapper .fe-selectable .fe-selectable--image {
  width: 100px;
  height: 100px;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  border-radius: 1em;
  flex-grow: 0;
}
.fe-selectable-wrapper .fe-selectable .fe-selectable--title {
  color: #3f469c;
  font-weight: bold;
  font-size: 1.2em;
}
.fe-selectable-wrapper .fe-selectable .fe-selectable--description {
  color: #66584e;
  font-weight: medium;
  font-size: 1em;
  padding: 0;
  margin: 0;
  flex-grow: 1;
}
.fe-selectable-wrapper .fe-selectable.fe-selectable-big-icon {
  flex-direction: column;
  justify-content: center;
}
.fe-selectable-wrapper .fe-selectable.fe-selectable-big-icon .fe-selectable--image {
  width: 100%;
  margin: auto;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  border-radius: 1em;
  flex-grow: 0;
}
.fe-selectable-wrapper .fe-selectable-input:checked + .fe-selectable {
  background: #e6e8ff;
  border: 2px #3f469c solid;
}
.fe-selectable-wrapper .fe-selectable-input {
  display: none;
}

.fe-hero-button {
  border: 1px #3f469c solid;
  background: #e6e8ff;
  border-radius: 0.625rem;
  padding: 2em;
  text-align: center;
  cursor: pointer;
  font-size: 1em;
  font-weight: bold;
  color: #3f469c;
}
.fe-hero-button:hover {
  border: 1px #3f469c solid;
  background: #d3d8ff;
}
.fe-hero-button .mdi {
  font-size: 2em;
}

.fe-property-color .fe-color-list {
  display: flex;
  gap: 0.5em;
}
.fe-property-color .fe-color-list .fe-color-wrapper .fe-color {
  width: 30px;
  height: 30px;
  cursor: pointer;
  border-radius: 100%;
  border: 2px #ffffff solid;
  outline: #ffffff solid;
}
.fe-property-color .fe-color-list .fe-color-wrapper .fe-color-selector {
  display: none;
}
.fe-property-color .fe-color-list .fe-color-wrapper .fe-color-selector:checked + .fe-color {
  outline: #3d449d solid;
}

.gap-1 {
  gap: 1em;
}

.fe-settings-title {
  color: #414696;
  font-size: 1em;
}
.fe-settings-title .fe-settings-description-icon {
  color: #FFF;
  background: #ee8e01;
  border-radius: 100%;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  flex-grow: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.fe-settings-switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}
.fe-settings-switch input {
  display: none;
}
.fe-settings-switch input:checked + .slider {
  background-color: #414696;
}
.fe-settings-switch input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
}
.fe-settings-switch .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #e8e8e8;
  -webkit-transition: 0.1s;
  transition: 0.1s;
  border-radius: 34px;
}
.fe-settings-switch .slider:before {
  position: absolute;
  content: "";
  height: 28px;
  width: 28px;
  left: 3px;
  bottom: 3px;
  border-radius: 100%;
  background-color: white;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.1);
}

.fe-debug-holder {
  position: fixed;
  color: #000;
  top: 1em;
  right: 1em;
  z-index: 100;
  zoom: 80%;
}
.fe-debug-holder .fe-debug {
  border-radius: 1em;
}
.fe-debug-holder .fe-debug .fe-debug-controls {
  display: flex;
  background: #3b257a;
  justify-content: space-between;
  color: #FFF;
  border-radius: 0.5em 0.5em 0 0;
}
.fe-debug-holder .fe-debug .fe-debug-controls .fe-debug-control-option {
  padding: 0.5em 1em;
  cursor: pointer;
}
.fe-debug-holder .fe-debug .fe-debug-item {
  background: #FFF;
  border-bottom: 1px #727299 solid;
  padding: 0.2em 0.5em;
}
.fe-debug-holder .fe-debug .fe-debug-item--title {
  font-weight: bold;
  color: #20244d;
}
.fe-debug-holder .fe-debug .fe-debug-item--content {
  font-weight: medium;
  color: #ffffff;
  background: #41499a;
  padding: 0.4em 0.8em;
  border-radius: 10em;
  font-size: 0.75em;
}
.fe-debug-holder .fe-debug .fe-debug-item--child {
  background: #b4bbd8;
  padding: 0.2em 2em;
}

.fe-card .fe-card-tabs {
  background: #40499a;
  display: flex;
  padding: 0 1em;
}
.fe-card .fe-card-tabs .fe-card-tab {
  color: #Fff;
  background: #40499a;
  padding: 1.5em 1.25em;
  font-weight: bold;
  margin: 0 1em;
  cursor: pointer;
}
.fe-card .fe-card-tabs .fe-card-tab:hover {
  background: #353d83;
}
.fe-card .fe-card-tabs .fe-card-tab.active {
  color: #40499a;
  background: #FFF;
}

.fe-divider {
  display: flex;
  align-items: center;
  color: #3f469c;
  font-weight: bold;
  font-size: 1.2em;
}
.fe-divider::after {
  content: "";
  flex: 1;
  padding: 1px;
  background-color: #3f469c;
  margin: 5px;
}

.fe-range-current-value {
  margin-top: 4px;
  margin-bottom: 0;
  font-size: 13px;
  font-weight: 600;
  color: #40499a;
}

.fe-no .fe-range-row {
  padding: 12px 0;
}

.fe-no .fe-range-block .qdnapro-modal-toggle-text {
  margin-bottom: 6px;
}

table.fe-handover-trigger-list {
  border-collapse: collapse;
  width: 100%;
  color: #000;
}
table.fe-handover-trigger-list tr {
  border-bottom: 1px solid #e5e3eb;
}
table.fe-handover-trigger-list tr td {
  font-weight: 500;
  padding: 0.5rem 0;
}
table.fe-handover-trigger-list tr th {
  font-weight: 600;
  padding: 1rem 0;
}
table.fe-handover-trigger-list tbody tr {
  cursor: pointer;
}
table.fe-handover-trigger-list tbody tr:hover {
  background: #DEDEDE;
}
table.fe-handover-trigger-list .fe-list-action {
  color: #41499a;
}
table.fe-handover-trigger-list .fe-list-action:hover {
  color: #282d66;
}

.fe-trigger-editor-wrapper {
  background: #f2f2f2;
  border-radius: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  min-width: 900px;
  max-height: 60vh;
  overflow-y: auto;
}
.fe-trigger-editor-wrapper .btn-add-trigger {
  background: #cbcccb;
  color: #FFF;
  font-size: 1.5rem;
  width: 35px;
  height: 35px;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
  z-index: 10;
}
.fe-trigger-editor-wrapper .btn-add-trigger:hover {
  background: #bdbdbd;
}
.fe-trigger-editor-wrapper .btn-add-trigger:active {
  background: #979797;
}
.fe-trigger-editor-wrapper .btn-remove-trigger {
  background: #cd5e68;
  color: #FFF;
  font-size: 1rem;
  width: 25px;
  height: 25px;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
  z-index: 10;
}
.fe-trigger-editor-wrapper .btn-remove-trigger:hover {
  background: #99454d;
}
.fe-trigger-editor-wrapper .btn-remove-trigger:active {
  background: #803a41;
}
.fe-trigger-editor-wrapper .trigger-condition {
  display: flex;
  gap: 1rem;
  margin: 1rem 0;
  position: relative;
  align-items: center;
  border-radius: 1rem;
  padding-right: 1rem;
}
.fe-trigger-editor-wrapper .trigger-condition .trigger-column {
  flex: 1 1 50%;
  min-width: 200px;
}
.fe-trigger-editor-wrapper .trigger-condition .trigger-column.column-flex {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.fe-trigger-editor-wrapper .trigger-condition .separator {
  width: 100%;
  border-top: 2px dashed #d1d4e6;
}
.fe-trigger-editor-wrapper .trigger-condition .trigger-condition-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  position: relative;
}
.fe-trigger-editor-wrapper .trigger-condition .trigger-condition-wrapper::before {
  content: "";
  position: absolute;
  height: 200%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-left: 2px dashed #d1d4e6;
}
.fe-trigger-editor-wrapper .trigger-condition.last-trigger .trigger-condition-wrapper::before {
  height: 100%;
}
.fe-trigger-editor-wrapper .trigger-condition.trigger-removable .btn-remove-trigger {
  display: none;
}
.fe-trigger-editor-wrapper .trigger-condition.trigger-removable:hover {
  background: #ececec;
}
.fe-trigger-editor-wrapper .trigger-condition.trigger-removable:hover .btn-remove-trigger {
  display: flex;
}
.fe-trigger-editor-wrapper .condition-select {
  flex-shrink: 0;
}
.fe-trigger-editor-wrapper .condition-select .vs__dropdown-toggle {
  padding: 0.75rem 1.3rem;
  background: #434796;
  color: #fff;
  font-weight: 600;
  border-radius: 0.75rem;
  font-size: 1.1rem;
  position: relative;
  cursor: pointer;
}
.fe-trigger-editor-wrapper .condition-select .vs__selected-options {
  padding: 0;
}
.fe-trigger-editor-wrapper .condition-select .vs__selected {
  margin: 0;
  padding: 0;
  border: none;
  color: #FFF;
}
.fe-trigger-editor-wrapper .condition-select.vs--open .vs__selected {
  position: relative;
}
.fe-trigger-editor-wrapper .condition-select .vs__actions svg {
  fill: #FFF;
}
.fe-trigger-editor-wrapper .condition {
  padding: 0.75rem 1.3rem;
  background: #434796;
  color: #fff;
  font-weight: 600;
  border-radius: 0.75rem;
  font-size: 1.1rem;
  position: relative;
}
.fe-trigger-editor-wrapper .condition.condition-secondary {
  background: #b4b4b4;
}
.fe-trigger-editor-wrapper .condition::before, .fe-trigger-editor-wrapper .condition::after {
  content: "";
  display: none;
  position: absolute;
  background: #e6e8fd;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  border: 2px #434796 solid;
}
.fe-trigger-editor-wrapper .condition.condition-secondary::before, .fe-trigger-editor-wrapper .condition.condition-secondary::after {
  border: 2px #b4b4b4 solid;
}
.fe-trigger-editor-wrapper .condition.condition-connection-top::before, .fe-trigger-editor-wrapper .condition.condition-connection-y::before {
  display: block;
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
}
.fe-trigger-editor-wrapper .condition.condition-connection-bottom::after, .fe-trigger-editor-wrapper .condition.condition-connection-y::after {
  display: block;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
}

.fe-translate-btn {
  position: relative;
}
.fe-translate-btn--active {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff !important;
}
.fe-translate-btn--incomplete::after {
  content: "";
  position: absolute;
  top: -4px;
  right: -4px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ef4444;
  animation: fe-publish-pulse 2s ease-in-out infinite;
}

.fe-translation-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 420px;
  background: rgba(232, 235, 252, 0.78);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-left: 1px solid rgba(255, 255, 255, 0.4);
  display: flex;
  flex-direction: column;
  z-index: 1050;
  box-shadow: -8px 0 32px rgba(40, 46, 100, 0.18);
  overflow: hidden;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.fe-tp-slide-enter-active,
.fe-tp-slide-leave-active {
  transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1);
}

.fe-tp-slide-enter,
.fe-tp-slide-enter-from,
.fe-tp-slide-leave-to {
  transform: translateX(100%);
}

.fe-tp-slide-enter-to,
.fe-tp-slide-leave,
.fe-tp-slide-leave-from {
  transform: translateX(0);
}

.fe-tp-header {
  display: flex;
  align-items: center;
  padding: 11px 16px;
  background: rgba(65, 73, 154, 0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  flex-shrink: 0;
  gap: 9px;
}

.fe-tp-header-icon {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.85);
}

.fe-tp-header-title {
  font-size: 15px;
  font-weight: 500;
  color: #fff;
  flex: 1;
}

.fe-tp-close {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.65);
  font-size: 18px;
  cursor: pointer;
  line-height: 1;
  padding: 4px 6px;
  border-radius: 5px;
}
.fe-tp-close:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}

.fe-tp-at-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: none;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  color: rgba(255, 255, 255, 0.85);
  font-size: 12px;
  font-family: inter, sans-serif;
  font-weight: 400;
  cursor: pointer;
  border-radius: 6px;
  padding: 4px 8px;
  transition: border-color 160ms, background 160ms, color 160ms;
}
.fe-tp-at-btn .mdi {
  font-size: 15px;
}
.fe-tp-at-btn:hover {
  border-color: rgba(255, 255, 255, 0.65);
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.fe-tp-at-btn--active, .fe-tp-at-btn:active {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.7);
  color: #fff;
}
.fe-tp-at-btn:disabled {
  opacity: 0.55;
  cursor: default;
}

@keyframes fe-tp-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.fe-tp-at-spin {
  display: inline-block;
  animation: fe-tp-rotate 0.8s linear infinite;
}

.fe-tp-at-bar {
  padding: 9px 14px;
  background: rgba(65, 73, 154, 0.12);
  border-bottom: 1px solid rgba(65, 73, 154, 0.15);
  font-size: 12px;
  color: #3f499a;
  flex-shrink: 0;
}
.fe-tp-at-bar--done {
  background: rgba(34, 140, 90, 0.1);
  border-bottom-color: rgba(34, 140, 90, 0.18);
  color: #1a7a50;
  display: flex;
  align-items: center;
  gap: 6px;
}
.fe-tp-at-bar--done .mdi {
  font-size: 15px;
}
.fe-tp-at-bar--error {
  background: rgba(196, 54, 42, 0.1);
  border-bottom-color: rgba(196, 54, 42, 0.18);
  color: #c4362a;
  display: flex;
  align-items: center;
  gap: 6px;
}
.fe-tp-at-bar--error .mdi {
  font-size: 15px;
}

.fe-tp-at-bar-question {
  display: block;
  margin-bottom: 7px;
  font-weight: 500;
}

.fe-tp-at-bar-btns {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.fe-tp-at-bar-btn {
  background: #3f499a;
  color: #fff;
  border: none;
  border-radius: 5px;
  padding: 4px 10px;
  font-size: 11px;
  font-family: inter, sans-serif;
  cursor: pointer;
}
.fe-tp-at-bar-btn:hover {
  background: #31397e;
}
.fe-tp-at-bar-btn--all {
  background: rgba(65, 73, 154, 0.15);
  color: #3f499a;
  border: 1px solid rgba(65, 73, 154, 0.3);
}
.fe-tp-at-bar-btn--all:hover {
  background: rgba(65, 73, 154, 0.25);
}
.fe-tp-at-bar-btn--cancel {
  background: none;
  color: rgba(63, 73, 154, 0.65);
  border: none;
}
.fe-tp-at-bar-btn--cancel:hover {
  color: #3f499a;
}

.fe-tp-at-slide-enter-active, .fe-tp-at-slide-leave-active {
  transition: max-height 200ms ease, opacity 200ms ease;
  overflow: hidden;
}

.fe-tp-at-slide-enter, .fe-tp-at-slide-leave-to {
  max-height: 0;
  opacity: 0;
}

.fe-tp-at-slide-enter-to, .fe-tp-at-slide-leave {
  max-height: 120px;
  opacity: 1;
}

.fe-tp-lang-bar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 8px 14px 8px;
  background: rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(216, 219, 237, 0.7);
  flex-shrink: 0;
}

.fe-tp-lang-indicator {
  position: absolute;
  background: #e8eafd;
  border-radius: 20px;
  pointer-events: none;
  z-index: 0;
}

.fe-tp-lang-tab {
  position: relative;
  z-index: 1;
  font-size: 12px;
  font-weight: 500;
  padding: 5px 13px;
  border-radius: 20px;
  border: none;
  background: transparent;
  color: #8890b8;
  cursor: pointer;
  font-family: inherit;
  transition: color 150ms;
}
.fe-tp-lang-tab--active {
  color: #40499a;
  font-weight: 600;
}

.fe-tp-col-headers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.5);
  border-bottom: 2px solid rgba(216, 219, 237, 0.7);
}

.fe-tp-col-h {
  font-size: 11px;
  font-weight: 700;
  color: #41499a;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
}
.fe-tp-col-h:first-child {
  border-right: 1px solid #d8dbed;
}

.fe-tp-missing-pill {
  font-size: 10px;
  background: #fdf0dc;
  color: #b47a14;
  border-radius: 4px;
  padding: 2px 6px;
  border: 1px solid #e8a320;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}

.fe-tp-body {
  flex: 1;
  overflow-y: auto;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.fe-tp-card {
  border-radius: 7px;
  border: 1px solid #d0d3ea;
  overflow: hidden;
  background: #fff;
  border-left: 4px solid var(--node-color, #41499a);
  transition: box-shadow 120ms;
  flex-shrink: 0;
}
.fe-tp-card:hover {
  box-shadow: 0 2px 10px rgba(65, 73, 154, 0.14);
}
.fe-tp-card--selected {
  box-shadow: 0 0 0 2px var(--node-color, #41499a);
}
.fe-tp-card--missing {
  background: #fefdfb;
}
.fe-tp-card--spotlight {
  animation: fe-tp-spotlight 900ms ease-out forwards;
}

@keyframes fe-tp-spotlight {
  0% {
    box-shadow: 0 0 0 3px rgba(65, 73, 154, 0.55);
  }
  60% {
    box-shadow: 0 0 0 3px rgba(65, 73, 154, 0.25);
  }
  100% {
    box-shadow: none;
  }
}
.fe-tp-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 6px 10px 6px 8px;
  background: rgba(65, 73, 154, 0.06);
  border-bottom: 1px solid #e4e6f4;
  cursor: pointer;
}

.fe-tp-badge {
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 5px;
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
}

.fe-tp-node-id {
  font-size: 11px;
  color: #9099c0;
  font-weight: 500;
}

.fe-tp-save-indicator {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-left: auto;
}
.fe-tp-save-indicator--saving {
  background: #e8a320;
}
.fe-tp-save-indicator--saved {
  background: #3e9e6e;
}
.fe-tp-save-indicator--error {
  background: #c4362a;
}

.fe-tp-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.fe-tp-col {
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 50px;
}
.fe-tp-col--target {
  background: #f4f5fb;
  border-left: 1px solid #e4e6f4;
}

.fe-tp-input {
  width: 100%;
  box-sizing: border-box;
  font-size: 10px;
  line-height: 1.4;
  padding: 4px 7px;
  border: 1px solid #cdd0e8;
  border-radius: 5px;
  background: #fff;
  color: #1e2460 !important;
  resize: none;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  overflow-y: auto;
  min-height: 36px !important;
  height: auto;
  display: block;
  transition: border-color 120ms, background 120ms;
}
.fe-tp-input:focus {
  outline: none;
  border-color: #41499a;
  background: #fff;
  box-shadow: 0 0 0 2px rgba(65, 73, 154, 0.12);
}
.fe-tp-input--sub {
  font-size: 8px;
  font-style: italic;
  color: #6670a0;
  min-height: 24px;
  border-style: dashed;
  border-color: #d8dbed;
}
.fe-tp-input--ans {
  font-size: 10px;
  min-height: 28px;
}
.fe-tp-input--missing {
  border-color: #e8a320;
  background: #fffcf3;
  border-style: solid;
}
.fe-tp-input--missing::placeholder {
  color: #c89430;
  font-style: italic;
  font-size: 10px;
}
.fe-tp-col--target .fe-tp-input {
  background: #eef0fa;
  border-color: #c8cbdf;
}
.fe-tp-col--target .fe-tp-input:focus {
  background: #fff;
  border-color: #41499a;
}
.fe-tp-col--target .fe-tp-input.fe-tp-input--missing {
  background: #fffcf3;
  border-color: #e8a320;
}
.fe-tp-input::placeholder {
  color: #b0b5cc;
  font-size: 10px;
}
.fe-tp-input--sub::placeholder {
  font-size: 8px;
}
.fe-tp-input--ans::placeholder {
  font-size: 10px;
}

.fe-tp-ans-divider {
  height: 1px;
  background: #e4e6f4;
  margin: 2px 0;
}

.fe-tp-ans-row {
  display: flex;
  align-items: flex-start;
  gap: 6px;
}
.fe-tp-ans-row--target {
  padding-left: 0;
}

.fe-tp-ans-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 11px;
}

.fe-nm-holder {
  position: fixed;
  inset: 0;
  z-index: 9100;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.fe-nm-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(20, 24, 60, 0.35);
  backdrop-filter: blur(2px);
  pointer-events: all;
  z-index: 0;
}

.fe-nm {
  position: relative;
  z-index: 1;
  pointer-events: all;
  display: flex;
  flex-direction: column;
  width: min(860px, 94vw);
  max-height: calc(100vh - 48px);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(245, 246, 252, 0.84);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 24px 64px rgba(20, 24, 60, 0.22), 0 2px 8px rgba(20, 24, 60, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.7);
}
.fe-nm.fe-nm--annotation {
  width: min(480px, 94vw);
  background: rgba(255, 253, 235, 0.92);
  border-color: rgba(224, 200, 64, 0.45);
}

.fe-nm-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px 12px 16px;
  border-bottom: 1px solid rgba(180, 188, 220, 0.35);
  background: rgba(255, 255, 255, 0.45);
  flex-shrink: 0;
}

.fe-nm-type-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 20px;
  background: rgba(64, 73, 154, 0.1);
  border: 1px solid rgba(64, 73, 154, 0.18);
}

.fe-nm-type-icon {
  font-size: 15px;
  color: #40499a;
  line-height: 1;
}

.fe-nm-type-name {
  font-size: 12px;
  font-weight: 600;
  color: #2a2e5e;
  font-family: "Inter", -apple-system, sans-serif;
}

.fe-nm-type-id {
  font-size: 11px;
  color: #9097b8;
  font-family: "Inter", -apple-system, sans-serif;
}

.fe-nm-close-btn,
.fe-nm-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: #667;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 12px;
  cursor: pointer;
  transition: background 120ms, color 120ms;
  flex-shrink: 0;
  line-height: 1;
}
.fe-nm-close-btn:hover,
.fe-nm-back-btn:hover {
  background: rgba(64, 73, 154, 0.08);
  color: #2a2e5e;
}
.fe-nm-close-btn .mdi,
.fe-nm-back-btn .mdi {
  font-size: 16px;
}

.fe-nm-close-btn {
  margin-left: auto;
  padding: 5px;
  font-size: 16px;
  color: #888;
}

.fe-nm-body {
  display: flex;
  flex: 1;
  overflow: hidden;
  min-height: 0;
  padding: 10px;
  gap: 10px;
}

.fe-nm-info {
  width: 220px;
  flex-shrink: 0;
  padding: 20px 16px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-right: 1px solid rgba(180, 188, 220, 0.3);
  background: rgba(255, 255, 255, 0.3);
  overflow-y: auto;
}

.fe-nm-info-illu svg {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

.fe-nm-info-desc {
  font-size: 11.5px;
  line-height: 1.6;
  color: #555e88;
  font-family: "Inter", -apple-system, sans-serif;
  margin: 0;
}

.fe-nm-content {
  flex: 1;
  overflow-y: auto;
  min-width: 0;
  padding: 20px 24px;
  background: #ffffff;
  border: 0.5px solid #c4c7cc;
  border-radius: 12px;
}
.fe-nm-content.fe-nm-content--full {
  padding: 20px 24px;
}
.fe-nm-content .fe-section {
  border: none;
  padding: 0;
  clear: none;
}
.fe-nm-content .fe-card-body {
  padding: 0;
}
.fe-nm-content label.qdnapro-modal-label {
  display: block;
  font-weight: 500;
  font-size: 14px;
  line-height: 24px;
  color: #0b0b0d;
  margin-bottom: 4px;
}
.fe-nm-content label.qdnapro-modal-label .fe-label-required {
  color: #c65a5a;
  margin-left: 2px;
}
.fe-nm-content label.qdnapro-modal-label.fe-nm-q-label {
  margin-top: 22px;
}

.fe-nm-footer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-top: 1px solid rgba(180, 188, 220, 0.35);
  background: rgba(255, 255, 255, 0.4);
  flex-shrink: 0;
  gap: 8px;
}

.fe-nm-footer-play {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #40499a;
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: background 140ms, transform 140ms, box-shadow 140ms;
  box-shadow: 0 2px 8px rgba(64, 73, 154, 0.3);
  pointer-events: all;
}
.fe-nm-footer-play .mdi {
  line-height: 1;
}
.fe-nm-footer-play:hover {
  background: #353e8c;
  transform: translateX(-50%) scale(1.08);
  box-shadow: 0 4px 12px rgba(64, 73, 154, 0.4);
}

.fe-nm-footer-left,
.fe-nm-footer-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.fe-nm-adv-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 7px;
  border: 1.5px solid rgba(64, 73, 154, 0.35);
  background: transparent;
  color: #40499a;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 120ms, border-color 120ms;
}
.fe-nm-adv-btn:hover {
  background: rgba(64, 73, 154, 0.08);
  border-color: #40499a;
}
.fe-nm-adv-btn .mdi {
  font-size: 14px;
}

.fe-nm-btn {
  display: inline-flex;
  align-items: center;
  padding: 7px 18px;
  border-radius: 7px;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: background 120ms, box-shadow 120ms;
}
.fe-nm-btn--cancel {
  background: rgba(64, 73, 154, 0.08);
  color: #40499a;
}
.fe-nm-btn--cancel:hover {
  background: rgba(64, 73, 154, 0.14);
}
.fe-nm-btn--save {
  background: #40499a;
  color: #fff;
  box-shadow: 0 2px 8px rgba(64, 73, 154, 0.3);
}
.fe-nm-btn--save:hover {
  background: #333d88;
  box-shadow: 0 3px 12px rgba(64, 73, 154, 0.4);
}

.fe-answer-row {
  display: flex;
  align-items: center;
  gap: 0;
  border-radius: 7px;
  border: 1px solid #e2e4ef;
  background: #fafbff;
  overflow: visible;
  min-height: 38px;
  transition: border-color 140ms, box-shadow 140ms;
  position: relative;
}
.fe-answer-row:hover {
  border-color: #a8b2e8;
  box-shadow: 0 1px 5px rgba(64, 73, 154, 0.1);
}
.fe-answer-row:hover .fe-answer-actions {
  opacity: 1;
  pointer-events: all;
}
.fe-answer-row:hover .fe-answer-act--delete,
.fe-answer-row:hover .fe-answer-act--unlink {
  transform: scale(1);
  opacity: 1;
}
.fe-answer-row--unlinked {
  border-color: #ddb84a;
  background: #fffbf0;
}
.fe-answer-row--confirming {
  border-color: #e4a0a0;
  background: #fff5f5;
}

.fe-answer-drag {
  padding: 0 5px 0 8px;
  color: #ccc;
  cursor: grab;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  font-size: 16px;
}

.fe-answer-label {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  color: #2a2e5e;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 12px;
  padding: 9px 6px;
  line-height: 1.4;
  min-width: 0;
}
.fe-answer-label:focus {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 4px;
  box-shadow: inset 0 0 0 1.5px #40499a;
}
.fe-answer-label[readonly] {
  color: #6a6e9a;
  cursor: default;
}

.fe-answer-conn {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 8px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
  margin-right: 4px;
  font-family: "Inter", -apple-system, sans-serif;
}
.fe-answer-conn--linked {
  background: #eef0ff;
  color: #40499a;
  border: none;
  cursor: default;
}
.fe-answer-conn--linked.fe-answer-conn--has-tip {
  transition: background 120ms;
}
.fe-answer-conn--linked.fe-answer-conn--has-tip:hover {
  background: #e0e3ff;
}
.fe-answer-conn--empty {
  background: #fff3cd;
  color: #8a6a10;
  border: 1px dashed #ddb84a;
  cursor: pointer;
  transition: background 120ms;
}
.fe-answer-conn--empty:hover {
  background: #ffeea0;
}

.fe-next-step-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.fe-next-step-remove {
  background: none;
  border: none;
  color: #c4362a;
  font-size: 12px;
  font-weight: 500;
  font-family: "Inter", -apple-system, sans-serif;
  padding: 3px 8px;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1;
  transition: background 120ms;
}
.fe-next-step-remove:hover {
  background: rgba(196, 54, 42, 0.08);
}
.fe-next-step-remove .mdi {
  font-size: 13px;
}

.fe-conn-tip {
  position: fixed;
  z-index: 9300;
  transform: translate(-50%, calc(-100% - 10px));
  max-width: 280px;
  padding: 7px 11px;
  border-radius: 8px;
  background: rgba(42, 46, 94, 0.96);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  font-family: "Inter", -apple-system, sans-serif;
  box-shadow: 0 6px 20px rgba(20, 24, 60, 0.28);
  pointer-events: none;
  white-space: normal;
  word-break: break-word;
  animation: fe-conn-tip-in 120ms ease;
}
.fe-conn-tip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: rgba(42, 46, 94, 0.96);
}

@keyframes fe-conn-tip-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fe-answer-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0 5px 0 0;
  flex-shrink: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms;
}

.fe-answer-act {
  width: 26px;
  height: 26px;
  border-radius: 5px;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: background 120ms, border-color 120ms, color 120ms;
  flex-shrink: 0;
}
.fe-answer-act--unlink {
  color: #9a6a10;
  background: #fff3cd;
  border-color: #f0d060;
}
.fe-answer-act--unlink:hover {
  background: #fde8a0;
  border-color: #d0a820;
}
.fe-answer-act--delete {
  color: #c94040;
  background: #fde8e8;
  border-color: #e8b0b0;
}
.fe-answer-act--delete:hover {
  background: #fcc;
  border-color: #c94040;
}

.fe-answer-confirm {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  padding: 6px 10px;
}

.fe-answer-confirm-icon {
  color: #c94040;
  font-size: 15px;
  flex-shrink: 0;
}

.fe-answer-confirm-text {
  flex: 1;
  font-size: 12px;
  font-weight: 600;
  color: #c94040;
  font-family: "Inter", -apple-system, sans-serif;
}

.fe-answer-btn {
  padding: 4px 11px;
  border-radius: 5px;
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  border: none;
  white-space: nowrap;
  transition: background 120ms;
}
.fe-answer-btn--cancel {
  background: #f0f1f4;
  color: #555;
  border: 1px solid #d0d2db;
}
.fe-answer-btn--cancel:hover {
  background: #e4e6ef;
}
.fe-answer-btn--delete {
  background: #c94040;
  color: #fff;
}
.fe-answer-btn--delete:hover {
  background: #a83030;
}

.fe-pm-fade-enter-active,
.fe-pm-fade-leave-active {
  transition: opacity 180ms ease;
}

.fe-pm-fade-enter-from,
.fe-pm-fade-leave-to {
  opacity: 0;
}

.fe-pm-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10100;
  background: rgba(10, 12, 40, 0.72);
  backdrop-filter: blur(4px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 20px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.fe-pm-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding-bottom: 32px;
}

.fe-pm-chrome {
  display: flex;
  align-items: center;
  gap: 12px;
}

.fe-pm-devices {
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  padding: 3px;
}

.fe-pm-device-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  font-size: 18px;
  cursor: pointer;
  transition: background 140ms, color 140ms;
}
.fe-pm-device-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.fe-pm-device-btn--active {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

.fe-pm-close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.75);
  font-size: 18px;
  cursor: pointer;
  transition: background 140ms, color 140ms;
}
.fe-pm-close-btn:hover {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}

.fe-pm-device-sep {
  width: 1px;
  height: 20px;
  background: rgba(255, 255, 255, 0.2);
  margin: 0 2px;
  flex-shrink: 0;
}

.fe-pm-stage {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.fe-pm-frame {
  position: relative;
  background: #1a1b2e;
  border: 3px solid #3a3b55;
  border-radius: 40px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 24px 80px rgba(0, 0, 0, 0.7);
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: width 280ms cubic-bezier(0.4, 0, 0.2, 1), height 280ms cubic-bezier(0.4, 0, 0.2, 1), border-radius 280ms;
  overflow: hidden;
}
.fe-pm-frame--phone {
  width: 375px;
  height: 812px;
  border-radius: 44px;
}
.fe-pm-frame--tablet-portrait {
  width: 768px;
  height: 1024px;
  border-radius: 24px;
}
.fe-pm-frame--tablet-landscape {
  width: 1024px;
  height: 768px;
  border-radius: 24px;
}
.fe-pm-frame--phone-landscape {
  width: 812px;
  height: 375px;
  border-radius: 32px;
}
.fe-pm-frame--desktop {
  width: min(1680px, 96vw);
  height: calc(100vh - 140px);
  max-height: 1100px;
  border-radius: 12px;
}

.fe-pm-notch {
  flex-shrink: 0;
  width: 120px;
  height: 28px;
  margin-top: 6px;
  background: #1a1b2e;
  border-radius: 0 0 18px 18px;
  z-index: 2;
}
.fe-pm-frame--tablet-portrait .fe-pm-notch, .fe-pm-frame--tablet-landscape .fe-pm-notch, .fe-pm-frame--phone-landscape .fe-pm-notch, .fe-pm-frame--desktop .fe-pm-notch {
  display: none;
}

.fe-pm-screen {
  flex: 1;
  width: 100%;
  background: #fff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fe-pm-frame--phone .fe-pm-screen {
  border-radius: 0 0 0 0;
}

.fe-pm-frame--tablet-portrait > .fe-pm-screen,
.fe-pm-frame--tablet-landscape > .fe-pm-screen,
.fe-pm-frame--desktop > .fe-pm-screen {
  box-sizing: border-box;
  padding: 22px;
}

.fe-pm-frame--phone-landscape > .fe-pm-screen {
  box-sizing: border-box;
  padding: 16px;
}

.fe-pm-iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

.fe-pm-home-bar {
  flex-shrink: 0;
  width: 120px;
  height: 5px;
  margin: 8px auto;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 3px;
}
.fe-pm-frame--tablet-portrait .fe-pm-home-bar, .fe-pm-frame--tablet-landscape .fe-pm-home-bar, .fe-pm-frame--phone-landscape .fe-pm-home-bar, .fe-pm-frame--desktop .fe-pm-home-bar {
  display: none;
}

.fe-pm-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #40499a;
}

.fe-pm-spinner {
  font-size: 40px;
}

.fe-pm-error-icon {
  font-size: 40px;
  color: #c94040;
}

.fe-pm-loading-text {
  font-size: 14px;
  color: #6b7280;
}

.fe-preview-toolbar-btn {
  color: #fff;
  font-size: 1.6em;
  opacity: 0.9;
}
.fe-preview-toolbar-btn:hover {
  opacity: 1;
}

.fe-nm-preview-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1.5px solid rgba(64, 73, 154, 0.35);
  background: rgba(64, 73, 154, 0.07);
  color: #40499a;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: background 140ms, border-color 140ms;
  white-space: nowrap;
  margin-right: 4px;
}
.fe-nm-preview-btn .mdi {
  font-size: 15px;
}
.fe-nm-preview-btn:hover {
  background: rgba(64, 73, 154, 0.13);
  border-color: rgba(64, 73, 154, 0.55);
}

.fe-add-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  margin-top: 6px;
  border-radius: 7px;
  border: 1.5px dashed rgba(70, 82, 243, 0.3);
  background: #fafbff;
  cursor: pointer;
  color: #4652f3;
  transition: border-color 150ms, background 150ms;
  user-select: none;
}
.fe-add-bar:hover {
  background: #f0f1fb;
  border-color: rgba(70, 82, 243, 0.55);
}
.fe-add-bar:hover .fe-add-bar-circle {
  background: #4652f3;
  color: white;
}

.fe-add-bar-circle {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(70, 82, 243, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4652f3;
  transition: background 150ms, color 150ms;
}

@keyframes fe-publish-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7);
  }
  50% {
    box-shadow: 0 0 0 5px rgba(245, 158, 11, 0);
  }
}
.fe-vl-wrap {
  font-family: inter, sans-serif;
  min-height: 120px;
}

.fe-vl-loading,
.fe-vl-error,
.fe-vl-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 16px;
  color: #8890b8;
  font-size: 14px;
  gap: 8px;
}
.fe-vl-loading .mdi,
.fe-vl-error .mdi,
.fe-vl-empty .mdi {
  font-size: 18px;
}

.fe-vl-error {
  color: #c4362a;
}

.fe-vl-section {
  border-radius: 10px;
  border: 1px solid #e4e7f5;
  margin-bottom: 10px;
  overflow: hidden;
  background: #fff;
}
.fe-vl-section:last-child {
  margin-bottom: 0;
}

.fe-vl-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  cursor: pointer;
  background: #f5f6fd;
  border-bottom: 1px solid transparent;
  user-select: none;
  transition: background 120ms;
}
.fe-vl-header:hover {
  background: #eceffe;
}
.fe-vl-section--open .fe-vl-header {
  border-bottom-color: #e4e7f5;
}

.fe-vl-chevron {
  font-size: 16px;
  color: #8890b8;
  flex-shrink: 0;
  transition: transform 150ms;
}

.fe-vl-title {
  flex: 1;
  font-size: 13px;
  color: #2a2e5e;
  line-height: 1.4;
}
.fe-vl-title strong {
  font-weight: 600;
}

.fe-vl-tag {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 20px;
  background: #e0e3ff;
  color: #40499a;
  font-size: 11px;
  font-weight: 600;
  vertical-align: middle;
}

.fe-vl-tag-pub {
  margin-left: 6px;
  font-size: 11px;
  font-weight: 400;
  color: #8890b8;
  vertical-align: middle;
}

.fe-vl-count {
  font-size: 11px;
  color: #a0a4b8;
  white-space: nowrap;
  flex-shrink: 0;
}

.fe-vl-events {
  display: none;
  padding: 6px 0;
}
.fe-vl-section--open .fe-vl-events {
  display: block;
}

.fe-vl-event-empty {
  padding: 16px 14px;
  font-size: 13px;
  color: #a0a4b8;
}

.fe-vl-event {
  display: grid;
  grid-template-columns: 280px 1fr auto;
  align-items: start;
  gap: 8px;
  padding: 7px 14px;
  border-bottom: 1px solid #f0f1f8;
  transition: background 100ms;
}
.fe-vl-event:last-child {
  border-bottom: none;
}
.fe-vl-event:hover {
  background: #f9f9fd;
}

.fe-vl-event-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  min-width: 0;
}

.fe-vl-pill {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  background: #e8eaf8;
  color: #40499a;
}
.fe-vl-pill.fe-vl-pill--node-created {
  background: #d1fae5;
  color: #065f46;
}
.fe-vl-pill.fe-vl-pill--node-deleted {
  background: #fee2e2;
  color: #991b1b;
}
.fe-vl-pill.fe-vl-pill--node-type-changed {
  background: #ede9fe;
  color: #5b21b6;
}
.fe-vl-pill.fe-vl-pill--label-changed, .fe-vl-pill.fe-vl-pill--sublabel-changed {
  background: #ede9fe;
  color: #5b21b6;
}
.fe-vl-pill.fe-vl-pill--meta-changed {
  background: #fef3c7;
  color: #92400e;
}
.fe-vl-pill.fe-vl-pill--link-created, .fe-vl-pill.fe-vl-pill--link-connected {
  background: #d1fae5;
  color: #065f46;
}
.fe-vl-pill.fe-vl-pill--link-disconnected, .fe-vl-pill.fe-vl-pill--link-deleted {
  background: #fee2e2;
  color: #991b1b;
}
.fe-vl-pill.fe-vl-pill--answer-added {
  background: #d1fae5;
  color: #065f46;
}
.fe-vl-pill.fe-vl-pill--answer-changed {
  background: #fef3c7;
  color: #92400e;
}
.fe-vl-pill.fe-vl-pill--answer-deleted {
  background: #fee2e2;
  color: #991b1b;
}

.fe-vl-time {
  font-size: 11px;
  color: #a0a4b8;
  white-space: nowrap;
}

.fe-vl-user {
  font-size: 11px;
  color: #6b7280;
  white-space: nowrap;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fe-vl-event-detail {
  min-width: 0;
}

.fe-vl-node {
  display: block;
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fe-vl-field {
  font-size: 12px;
  line-height: 1.5;
  color: #4b5563;
  word-break: break-word;
}

.fe-vl-field-name {
  font-weight: 600;
  color: #374151;
}

.fe-vl-before {
  text-decoration: line-through;
  color: #9ca3af;
}

.fe-vl-arrow {
  color: #d1d5db;
  font-size: 11px;
}

.fe-vl-after {
  color: #111827;
}

@keyframes fe-vl-row-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fe-vl-event--entering {
  animation: fe-vl-row-in 180ms cubic-bezier(0.2, 0, 0.38, 1) both;
}

.fe-vl-filter-bar {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0 0 12px 0;
  margin-bottom: 12px;
  border-bottom: 1px solid #e4e7f5;
}

.fe-vl-filter-indicator {
  position: absolute;
  background: #e8eafd;
  border-radius: 20px;
  pointer-events: none;
  z-index: 0;
}

.fe-vl-pill-filter {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 5px 12px;
  border-radius: 20px;
  border: none;
  background: transparent;
  font-family: inter, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #8890b8;
  cursor: pointer;
  transition: color 150ms;
}
.fe-vl-pill-filter--active {
  color: #40499a;
  font-weight: 600;
}
.fe-vl-pill-filter:hover:not(.fe-vl-pill-filter--active) {
  color: #5560b8;
}
.fe-vl-pill-filter:focus-visible {
  outline: 2px solid #40499a;
  outline-offset: 2px;
}

.fe-vl-restore-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid #c7d2fe;
  background: #eef2ff;
  color: #4338ca;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  align-self: center;
  transition: background 120ms, border-color 120ms;
}
.fe-vl-restore-btn:hover:not(:disabled) {
  background: #e0e7ff;
  border-color: #a5b4fc;
}
.fe-vl-restore-btn:disabled {
  opacity: 0.6;
  cursor: default;
}
.fe-vl-restore-btn.fe-vl-restore-btn--done {
  background: #d1fae5;
  border-color: #6ee7b7;
  color: #065f46;
  cursor: default;
}

/* ════════════════════════════════════════════════════════════════
   Open invoer modal — InputFieldOptions converted to qdnapro-wizard-modal
   (wm-with-info: left info panel + live dummy preview, right settings).
   Shell/chrome (wm-*) comes from style-v1.css; these are the modal-specific
   bits. [Kim + Claude 2026-06-18]
   ════════════════════════════════════════════════════════════════ */
.fe-oi-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 16px 4px;
  flex-shrink: 0;
}

.fe-oi-title {
  font-family: "Inter", -apple-system, sans-serif;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: #40499a;
}

.fe-oi-x {
  border: 0;
  background: transparent;
  padding: 4px;
  line-height: 1;
  color: #6b7280;
  cursor: pointer;
  border-radius: 8px;
  transition: background 120ms ease, color 120ms ease;
}
.fe-oi-x i {
  font-size: 20px;
}
.fe-oi-x:hover {
  background: rgba(64, 73, 154, 0.08);
  color: #40499a;
}

.fe-oi-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 4px 16px 8px;
}

.fe-oi-panel > p {
  color: #6b7280;
  margin-bottom: 12px;
}

.fe-oi-footer {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-top: 1px solid #e1e3e6;
}

.fe-oi-preview {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fe-oi-preview-cap {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #9097b8;
}

.fe-oi-phone {
  background: #ffffff;
  border: 1px solid #d8daea;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 6px 18px rgba(20, 24, 60, 0.1);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.fe-oi-q {
  font-size: 14px;
  font-weight: 600;
  color: #1a1f4d;
  word-break: break-word;
}

.fe-oi-field {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid #c4c7cc;
  border-radius: 10px;
  padding: 8px 10px;
  background: #fbfbfd;
}

.fe-oi-field--counter {
  justify-content: space-between;
}

.fe-oi-step {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border: 1px solid #c4c7cc;
  border-radius: 8px;
  background: #ffffff;
  color: #40499a;
  font-size: 18px;
  line-height: 1;
  cursor: default;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fe-oi-input {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.fe-oi-cur {
  color: #40499a;
  font-weight: 600;
}

.fe-oi-val {
  color: #0b0b0d;
}

.fe-oi-ph {
  color: #9aa0b5;
}

.fe-oi-barcode {
  margin-left: auto;
  color: #40499a;
  font-size: 18px;
}

.fe-oi-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
}

.fe-oi-hint {
  font-size: 12px;
  color: #6b7280;
}

.fe-oi-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  color: #40499a;
  background: rgba(64, 73, 154, 0.1);
  border-radius: 20px;
  padding: 2px 8px;
}
.fe-oi-chip i {
  font-size: 13px;
}

.fe-oi-skip {
  align-self: flex-start;
  font-size: 13px;
  font-weight: 600;
  color: #40499a;
  text-decoration: underline;
  cursor: default;
}

/* ════════════════════════════════════════════════════════════════
   NodeOptions modal — converted to qdnapro-wizard-modal (fase 1).
   Shell/chrome (wm-*) comes from style-v1.css; these are the
   step-specific bits for the basis + advanced steps. [Kim + Claude 2026-06-18]
   ════════════════════════════════════════════════════════════════ */
.fe-no-illu {
  margin-top: 8px;
}
.fe-no-illu svg {
  width: 100%;
  height: auto;
  display: block;
}

.fe-no-desc {
  font-size: 14px;
  line-height: 22px;
  color: #1a1f4d;
  margin: 12px 0 0;
}

.fe-no-main {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.fe-no-hdr {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 12px 8px 16px;
  flex-shrink: 0;
}

.fe-no-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 20px;
  background: rgba(64, 73, 154, 0.1);
  border: 1px solid rgba(64, 73, 154, 0.18);
}

.fe-no-pill-icon {
  font-size: 15px;
  color: #40499a;
  line-height: 1;
}

.fe-no-pill-name {
  font-size: 12px;
  font-weight: 600;
  color: #2a2e5e;
}

.fe-no-pill-id {
  font-size: 11px;
  color: #9097b8;
}

.fe-no-x {
  margin-left: auto;
  border: 0;
  background: transparent;
  padding: 4px;
  line-height: 1;
  color: #6b7280;
  cursor: pointer;
  border-radius: 8px;
  transition: background 120ms ease, color 120ms ease;
}
.fe-no-x i {
  font-size: 20px;
}
.fe-no-x:hover {
  background: rgba(64, 73, 154, 0.08);
  color: #40499a;
}

.fe-no-back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 0;
  background: transparent;
  padding: 4px 8px;
  color: #40499a;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border-radius: 8px;
  transition: background 120ms ease;
}
.fe-no-back i {
  font-size: 18px;
}
.fe-no-back:hover {
  background: rgba(64, 73, 154, 0.08);
}

.fe-no > .wm-scrim {
  transition: background 220ms ease;
}

.fe-no.fe-no--stacked > .wm-scrim {
  background: rgba(11, 11, 13, 0.62);
}

.fe-no > .wm-scrim > .wm-dialog {
  transition: box-shadow 220ms ease;
}

.fe-no.fe-no--stacked > .wm-scrim > .wm-dialog {
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.34), 0 16px 24px 10px rgba(0, 0, 0, 0.22);
}

@media (prefers-reduced-motion: reduce) {
  .fe-no > .wm-scrim,
  .fe-no > .wm-scrim > .wm-dialog {
    transition: none;
  }
}
.fe-no-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 12px 16px 8px;
  position: relative;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.fe-no-body::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.fe-node-link .qdnapro-answer-option__label--static.is-empty {
  font-style: normal;
  color: #c2410c;
}

.fe-no-style-block {
  margin-bottom: 18px;
}
.fe-no-style-block .fe-nm-q-label {
  display: block;
  margin-bottom: 8px;
}

.fe-no-style {
  border: 1px solid #e6e8ef;
  border-radius: 12px;
  padding: 14px;
}

.fe-no-colors {
  display: flex;
  justify-content: flex-start;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--default {
  --qcp-bg: #3a4290;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--indigo {
  --qcp-bg: #4F46E5;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--default_dark {
  --qcp-bg: #7C3AED;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--purple {
  --qcp-bg: #DB2777;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--pink {
  --qcp-bg: #D97706;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--green {
  --qcp-bg: #059669;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--blue {
  --qcp-bg: #0284C7;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--grey {
  --qcp-bg: #475569;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--orange {
  --qcp-bg: #E05A38;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-grey {
  --qcp-bg: #f0f1f2;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-grey-2 {
  --qcp-bg: #c4c7cc;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-red {
  --qcp-bg: #fee3e3;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-red-2 {
  --qcp-bg: #fbaaaa;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-yellow {
  --qcp-bg: #fef6db;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-yellow-2 {
  --qcp-bg: #fde594;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-green {
  --qcp-bg: #e2faf1;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-green-2 {
  --qcp-bg: #8becc5;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-blue {
  --qcp-bg: #e6eff9;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-blue-2 {
  --qcp-bg: #b5ceed;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-bright-blue {
  --qcp-bg: #85a1ec;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-bright-blue-2 {
  --qcp-bg: #d6e0f9;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-pink {
  --qcp-bg: #f6e1e8;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-dark-pink {
  --qcp-bg: #e5a6b9;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-purple {
  --qcp-bg: #ebe9fb;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--tag-dark-purple {
  --qcp-bg: #c4bcf3;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--qdna-purple {
  --qcp-bg: #3a4290;
}
.fe-no-colors .qdnapro-color-picker .qcp-swatch--qdna-orange {
  --qcp-bg: #f59e0b;
}

.fe-no-img .fe-label-align-toolbar {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  margin-left: auto;
}

.fe-no-ftr {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-top: 1px solid #e1e3e6;
}

.fe-no-ftr-left {
  flex: 1 1 0;
  display: flex;
  align-items: center;
}

.fe-no-ftr-right {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.fe-no-adv-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #d8daea;
  background: #fff;
  border-radius: 8px;
  padding: 6px 12px;
  color: #40499a;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease;
}
.fe-no-adv-btn i {
  font-size: 16px;
}
.fe-no-adv-btn:hover {
  background: rgba(64, 73, 154, 0.06);
  border-color: #b0b8e8;
}

.fe-no-play {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: #40499a;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(64, 73, 154, 0.35);
  transition: transform 120ms ease, box-shadow 120ms ease;
}
.fe-no-play i {
  font-size: 20px;
  margin-left: 2px;
}
.fe-no-play:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(64, 73, 154, 0.45);
}

/* ── Live "how it looks in the app" preview (fase 2) ──────────────
   Mirrors the app's qtypes.scss (.flow-question-*) at panel scale.
   Colors: primary #40499A, yes #6BB6AB, no #DE5066. [Kim + Claude 2026-06-18] */
.fe-no-preview {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
}

.fe-no-preview-cap {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #9097b8;
}

.fe-pv {
  padding: 4px 0 8px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.fe-pv-screen {
  position: relative;
  background: #ffffff;
  border: 1px solid #d8daea;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 6px 18px rgba(20, 24, 60, 0.1);
  flex: 0 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.fe-pv-screen::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.fe-pv-question {
  position: relative;
}

.fe-pv-title {
  color: #40499A;
}

.fe-pv-title--center {
  text-align: center;
}

.fe-pv-label {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  word-break: break-word;
}

.fe-pv-sub {
  font-size: 12px;
  margin-top: 2px;
  opacity: 0.85;
}

.fe-pv-body {
  margin-top: 12px;
}

.fe-pv-yesno-wrap {
  display: flex;
  flex-direction: column;
}

.fe-pv-yesno {
  display: flex;
  gap: 8px;
}

.fe-pv-yesno qdnapro-answer-button {
  flex: 1 1 0;
  min-width: 0;
}

.fe-pv-yesno--stacked {
  flex-direction: column;
}

.fe-pv-yesno--stacked qdnapro-answer-button {
  flex: 0 0 auto;
  width: 100%;
}

.fe-pv-btn {
  flex: 1 1 0;
  border-radius: 10px;
  padding: 12px 8px;
  text-align: center;
  color: #ffffff;
  font-weight: 600;
  font-size: 13px;
}

.fe-pv-btn--yes {
  background: #6BB6AB;
}

.fe-pv-btn--no {
  background: #DE5066;
}

.fe-pv-options {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fe-pv-opts-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fe-pv-opts-wrap.fe-pv-opts--cols2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.fe-pv-opt {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  background: #40499A;
  color: #ffffff;
  border-radius: 10px;
  padding: 10px 28px 10px 14px;
  font-size: 13px;
  font-weight: 600;
  opacity: 0.5;
  word-break: break-word;
  cursor: pointer;
  transition: opacity 0.12s ease, background 0.12s ease;
}
.fe-pv-opt:hover {
  opacity: 0.75;
}

.fe-pv-opt-icon {
  flex-shrink: 0;
}

.fe-pv-opt--color-positive {
  background: var(--c-signal-green-text, #428b6e);
}

.fe-pv-opt--color-warning {
  background: var(--c-warn-amber-500, #d97706);
}

.fe-pv-opt--color-negative {
  background: var(--c-signal-red-text, #c65a5a);
}

.fe-pv-opt--color-neutral_alt {
  background: var(--c-signal-blue-text, #6a8ab4);
}

.fe-pv-score {
  padding: 6px 2px;
}
.fe-pv-score qdnapro-score-scale {
  display: block;
}

.fe-pv-comment {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed rgba(180, 188, 220, 0.55);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fe-pv-comment-label {
  font-size: 13px;
  font-weight: 500;
  color: #1f2430;
}

.fe-pv-smile {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 6px 2px;
}

.fe-pv-smile-face {
  cursor: pointer;
  line-height: 0;
  transition: transform 0.12s ease;
}
.fe-pv-smile-face img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  display: block;
}
.fe-pv-smile-face:hover {
  transform: scale(1.08);
}

.fe-pv-smile-face--active {
  transform: scale(1.14);
}

.fe-pv-smile-face--active:hover {
  transform: scale(1.14);
}

.fe-pv-opt--empty {
  font-style: italic;
}

.fe-pv-opt--active {
  opacity: 1;
}
.fe-pv-opt--active::after {
  content: "\f012c";
  font-family: "Material Design Icons";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
}

.fe-pv-options-empty {
  padding: 10px 2px;
}

.fe-pv-options-empty-title {
  font-size: 13px;
  font-weight: 600;
  color: #2a2c3a;
  margin-bottom: 2px;
}

.fe-pv-options-empty-hint {
  font-size: 12px;
  line-height: 1.4;
  color: #9aa0bd;
}

/* Multi-radio "Toon als dropdown" preview = the REAL qdnapro-select (it brings
   its own styling). Just let it sit flush in the preview card. [Kim 2026-06-20] */
.fe-pv-select {
  display: block;
}

/* ---- Import answer options (modal + trigger) ---- [Kim 2026-06-20] */
.fe-answeropts-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 20px 0 8px;
}
.fe-answeropts-head .qdnapro-modal-label {
  margin: 0;
}

.fe-answeropts-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.fe-import-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding: 6px 4px;
  background: none;
  border: none;
  color: #40499A;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border-radius: 8px;
}
.fe-import-trigger .mdi {
  font-size: 16px;
}
.fe-import-trigger:hover {
  color: #2f367a;
  text-decoration: underline;
}

.fe-import-trigger--head {
  margin-top: 0;
}

.fe-bulk-actions-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 8px;
  padding: 8px 10px;
  background: rgba(64, 73, 154, 0.06);
  border-radius: 10px;
}
.fe-bulk-actions-row qdnapro-icon {
  margin-right: 4px;
}

.fe-grade-row {
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 10px;
  transition: background-color 120ms ease-out;
}
.fe-grade-row qdnapro-answer-option {
  flex: 1 1 auto;
  min-width: 0;
}

.fe-grade-row--checked {
  background: rgba(64, 73, 154, 0.06);
}

.fe-grade-select {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
}

.fe-answer-row-wrap {
  display: flex;
  align-items: center;
  gap: 2px;
  width: 100%;
  min-width: 0;
}
.fe-answer-row-wrap qdnapro-answer-option {
  flex: 1 1 auto;
  min-width: 0;
}

.fe-answer-appearance {
  position: relative;
  flex: 0 0 auto;
}

.fe-answer-pending-tag {
  flex: 0 0 auto;
  font-size: 11px;
  line-height: 1.2;
  color: var(--qdna-color-text-muted, #6b7280);
  background: rgba(107, 114, 128, 0.1);
  border-radius: 999px;
  padding: 3px 8px;
  white-space: nowrap;
}

.fe-answer-appearance-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  border: 1px solid transparent;
  background: transparent;
  color: #8a8fb8;
  cursor: pointer;
  font-size: 14px;
  transition: background 120ms, color 120ms, border-color 120ms;
}
.fe-answer-appearance-trigger:hover, .fe-answer-appearance-trigger--active {
  background: #eef0ff;
  color: #40499a;
  border-color: #d4d8ee;
}

.fe-oa-modal {
  z-index: 9350;
}

.fe-oa-browse-body {
  display: flex;
  gap: 28px;
  height: 100%;
  min-height: 0;
}

.fe-oa-browse-left {
  flex: 0 0 296px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
  overflow-y: auto;
  padding: 2px 4px 2px 2px;
}

.fe-oa-browse-right {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.fe-oa-preview {
  padding: 12px;
  border-radius: 10px;
  background: #f4f5fb;
}
.fe-oa-preview qdnapro-answer-button {
  display: block;
}

[data-theme=dark] .fe-oa-preview {
  background: rgba(255, 255, 255, 0.04);
}

.fe-oa-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fe-oa-nav {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid #e5e5ea;
}

.fe-oa-nav-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 600;
  color: #0b0b0d;
}

.fe-oa-nav-title-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fe-oa-dirty-dot {
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #c98a1f;
}

.fe-oa-nav-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.fe-oa-nav-counter {
  flex-shrink: 0;
  font-size: 12px;
  color: #6b7280;
  white-space: nowrap;
}

.fe-oa-nav-hint {
  margin: 0;
  font-size: 12px;
  line-height: 18px;
  color: #8a90ac;
}

[data-theme=dark] .fe-oa-nav {
  border-top-color: #40444d;
}

.fe-oa-icon-search {
  flex-shrink: 0;
}

.fe-oa-grid-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-top: 12px;
  margin-top: -4px;
  border-top: 1px solid #e5e5ea;
}

[data-theme=dark] .fe-oa-grid-scroll {
  border-top-color: #40444d;
}

.fe-oa-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, 36px);
  gap: 8px;
  justify-content: start;
  padding-bottom: 4px;
}

.fe-oa-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #e1e3e6;
  border-radius: 6px;
  background: #ffffff;
  color: #565b66;
  cursor: pointer;
  outline: none;
  transition: background 120ms ease, border-color 120ms ease, box-shadow 150ms ease;
}
.fe-oa-tile qdnapro-icon {
  pointer-events: none;
}
.fe-oa-tile:hover {
  background: #ebedfb;
  border-color: #b8bde8;
}
.fe-oa-tile:focus-visible {
  border-color: #40499a;
  box-shadow: 0 0 0 4px rgba(70, 82, 243, 0.2);
}
.fe-oa-tile--selected {
  border-color: #4652f3;
  background: rgba(70, 82, 243, 0.06);
  box-shadow: 0 0 0 3px rgba(70, 82, 243, 0.25);
  color: #40499a;
}

[data-theme=dark] .fe-oa-tile {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
  color: #d1d5db;
}
[data-theme=dark] .fe-oa-tile:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
}
[data-theme=dark] .fe-oa-tile.fe-oa-tile--selected {
  border-color: #a5acff;
  background: rgba(70, 82, 243, 0.18);
  box-shadow: 0 0 0 2px rgba(70, 82, 243, 0.3);
  color: #a5acff;
}

.fe-oa-icon-empty {
  text-align: center;
  padding: 24px 8px;
  color: #6e6e73;
  font-size: 13px;
}

.fe-oa-icon-count {
  flex-shrink: 0;
  text-align: right;
  font-size: 11px;
  color: #6e6e73;
}

.fe-fi-anchor {
  flex: 0 0 auto;
}

.fe-fi-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid #e2e4ef;
  background: #ffffff;
  color: #40499a;
  cursor: pointer;
  font-size: 13px;
  transition: background 120ms, border-color 120ms;
}
.fe-fi-trigger:hover, .fe-fi-trigger--active {
  background: #eef0ff;
  border-color: #d4d8ee;
}

.fe-fi-trigger-label {
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fe-import {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 420px;
}

.fe-import-pane {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 170px;
}

/* qdnapro-modal toggles .modal-tab-panel(-active); supply the show/hide here
   (the modal build ships no tab-panel CSS of its own). [Kim 2026-06-20] */
.fe-import-pane.modal-tab-panel:not(.modal-tab-panel-active) {
  display: none;
}

/* Drop-zone resting content (it is an overlay wrapper, so it needs its own
   body for height + a click target). */
.fe-import-dz {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 28px 16px;
  text-align: center;
  color: #6B7192;
}
.fe-import-dz .mdi {
  font-size: 28px;
  color: #40499A;
}
.fe-import-dz-text {
  font-size: 14px;
  font-weight: 600;
  color: #2A2F45;
}
.fe-import-dz-hint {
  font-size: 12px;
  color: #8A90AC;
}
.fe-import-dz .fe-import-pick {
  margin-top: 8px;
}

.fe-import-hint {
  margin: 0;
  font-size: 12px;
  color: #8A90AC;
}

.fe-import-count {
  margin-left: 4px;
  color: #40499A;
  font-weight: 600;
}

.fe-import-file {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: #F4F5FB;
  border-radius: 10px;
}
.fe-import-file-name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13px;
  color: #2A2F45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fe-import-file-remove {
  flex: 0 0 auto;
  background: none;
  border: none;
  color: #8A90AC;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
}
.fe-import-file-remove:hover {
  color: #40499A;
}

.fe-import-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 4px;
}

.fe-pv-field {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid #40499A;
  border-radius: 10px;
  padding: 10px 12px;
  background: #ffffff;
}

.fe-pv-field--counter {
  justify-content: space-between;
}

.fe-pv-step {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border: 1px solid #40499A;
  border-radius: 7px;
  background: #ffffff;
  color: #40499A;
  font-size: 16px;
  line-height: 1;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 120ms ease;
}
.fe-pv-step:hover {
  background: rgba(64, 73, 154, 0.1);
}
.fe-pv-step:active {
  background: rgba(64, 73, 154, 0.18);
}

.fe-pv-input {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.fe-pv-cur {
  color: #40499A;
  font-weight: 700;
}

.fe-pv-realinput {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  background: transparent;
  outline: none;
  padding: 0;
  font-size: 14px;
  font-family: inherit;
  color: #0b0b0d;
}
.fe-pv-realinput::placeholder {
  color: #9aa0b5;
}

.fe-pv-ph {
  color: #9aa0b5;
  font-size: 14px;
}

.fe-pv-barcode {
  margin-left: auto;
  color: #40499A;
  font-size: 18px;
}

.fe-no input[type=date]::before,
.fe-no input[type=time]::before,
.fe-pv input[type=date]::before,
.fe-pv input[type=time]::before {
  content: none !important;
}

.fe-pv-imgaction {
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px solid #eceef5;
}

.fe-pv-photo {
  margin: 12px 0;
}
.fe-pv-photo img {
  display: block;
  width: 100%;
  max-height: 220px;
  object-fit: cover;
  border-radius: 14px;
}

.fe-pv-photo--s img,
.fe-pv-photo--m img {
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  object-fit: contain;
}

.fe-pv-photo--s img {
  max-height: 75px;
}

.fe-pv-photo--m img {
  max-height: 130px;
}

.fe-pv-req {
  color: #DE5066;
  font-weight: 700;
  margin-left: 2px;
  cursor: help;
}

.fe-pv-single {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fe-pv-field--error {
  border-color: #DE5066 !important;
}

.fe-pv-error {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #DE5066;
}
.fe-pv-error .mdi {
  font-size: 14px;
}

.fe-pv-hint {
  font-size: 11px;
  color: #9aa0bd;
  line-height: 1.3;
}

.fe-pv-textarea {
  width: 100%;
  min-height: 96px;
  resize: none;
  text-align: left;
  line-height: 1.4;
  overflow: hidden;
}

.fe-pv-realinput--center {
  text-align: center;
}

.fe-pv-affix {
  color: #40499A;
  font-size: 18px;
  margin-left: 6px;
  flex: 0 0 auto;
  opacity: 0.8;
}

.fe-pv-sum {
  align-self: flex-end;
}

.fe-pv-units {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fe-pv-unit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 0;
}

.fe-pv-unit-info {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  width: 160px;
  min-width: 160px;
  max-width: 160px;
  overflow: hidden;
  cursor: pointer;
  user-select: none;
}

.fe-pv-unit-img {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #eef0fa;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.fe-pv-unit-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.fe-pv-unit-img.fe-pv-unit-img--icon img {
  object-fit: contain;
  padding: 8px;
  box-sizing: border-box;
}

.fe-pv-units-empty {
  font-size: 12px;
  line-height: 1.4;
  color: #9aa0bd;
  padding: 8px 2px;
}

.fe-pv-unit-label {
  font-size: 13px;
  font-weight: 600;
  color: #2a2c3a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fe-pv-unit-counter {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
}

.fe-pv-unit-input {
  width: 96px;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 6px 8px;
  font: inherit;
  color: #2a2c3a;
  background: #fff;
}
.fe-pv-unit-input::placeholder {
  color: #9aa0bd;
}

.fe-pv-units-note {
  font-size: 11px;
  color: #9aa0bd;
  line-height: 1.3;
}

.fe-pv-unit-control {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 auto;
  min-width: 0;
}

.fe-pv-unit-field {
  flex: 1 1 auto;
  min-width: 0;
}
.fe-pv-unit-field .input-field-row, .fe-pv-unit-field .input-field {
  min-width: 0;
}

.fe-pv-unit-control--yesno {
  flex-wrap: wrap;
}
.fe-pv-unit-control--yesno qdnapro-answer-button {
  flex: 1 1 0;
  min-width: 64px;
}
.fe-pv-unit-control--yesno qdnapro-answer-button .qdnapro-answer-button__tick,
.fe-pv-unit-control--yesno qdnapro-answer-button .qdnapro-answer-button__icon {
  display: none;
}

.fe-pv-unit-control--yesno-stacked {
  flex-direction: column;
  align-items: stretch;
}
.fe-pv-unit-control--yesno-stacked qdnapro-answer-button {
  flex: 1 1 auto;
}

.fe-pv-unit-control--photo {
  flex: 0 0 auto;
  justify-content: flex-end;
}
.fe-pv-unit-control--photo .fe-pv-camera-btn--mini {
  opacity: 1;
}

.fe-pv-unit-select {
  flex: 1 1 auto;
  min-width: 0;
}

.fe-pv-unit-scan {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 8px;
  background: #40499A;
  color: #fff;
  cursor: pointer;
  transition: background-color 120ms ease-out;
}
.fe-pv-unit-scan qdnapro-icon {
  width: 18px;
  height: 18px;
}
.fe-pv-unit-scan:hover {
  background: #353d86;
}

.fe-pv-barcode-btn {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 6px;
  background: #40499A;
  color: #fff;
  cursor: pointer;
}
.fe-pv-barcode-btn .mdi {
  font-size: 16px;
}

.fe-pv-scan-btn {
  margin-top: 10px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border: none;
  border-radius: 10px;
  background: #40499A;
  color: #fff;
  font: inherit;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 120ms ease-out;
}
.fe-pv-scan-btn qdnapro-icon {
  width: 18px;
  height: 18px;
}
.fe-pv-scan-btn:hover {
  background: #353d86;
}

.fe-pv-photo-node {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fe-pv-camera-btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 14px;
  border: none;
  border-radius: 10px;
  background: #40499A;
  color: #fff;
  font: inherit;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: background-color 120ms ease-out;
}
.fe-pv-camera-btn qdnapro-icon {
  width: 18px;
  height: 18px;
}
.fe-pv-camera-btn:hover {
  background: #353d86;
}

.fe-pv-signature-pad {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 96px;
  padding: 16px;
  border: 1.5px dashed #b0b8e8;
  border-radius: 12px;
  background: #f5f6ff;
  color: #8b93c9;
}

.fe-pv-signature-line {
  width: 70%;
  height: 2px;
  border-radius: 2px;
  background: #d3d8f2;
}

.fe-pv-toast {
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: calc(100% - 32px);
  padding: 10px 14px;
  border-radius: 10px;
  background: #2a2c3a;
  color: #fff;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.3;
  box-shadow: 0 6px 20px rgba(20, 22, 40, 0.28);
  z-index: 5;
}
.fe-pv-toast qdnapro-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.fe-pv-toast-fade-enter-active,
.fe-pv-toast-fade-leave-active {
  transition: opacity 180ms ease-out, transform 180ms ease-out;
}

.fe-pv-toast-fade-enter-from,
.fe-pv-toast-fade-leave-to {
  opacity: 0;
  transform: translateX(-50%) translateY(8px);
}

.fe-pv-formcard-empty {
  font-size: 12.5px;
  color: #9aa0bd;
  padding: 8px 0;
}

.fe-pv-formcard-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.fe-pv-formcard-item {
  padding-top: 12px;
  border-top: 1px solid #eceef5;
}
.fe-pv-formcard-item:first-child {
  padding-top: 0;
  border-top: none;
}

.fe-pv-formcard-item-label {
  font-size: 13px;
  font-weight: 600;
  color: #2a2c3a;
  margin-bottom: 8px;
  word-break: break-word;
}

.fe-pv-formcard-item-label--has-sub {
  margin-bottom: 2px;
}

.fe-pv-formcard-item-sub {
  font-size: 12px;
  color: #6b7093;
  margin-bottom: 8px;
  word-break: break-word;
}

.fe-pv-yesno--mini .fe-pv-btn {
  padding: 8px 6px;
  font-size: 12px;
}

.fe-pv-opt--mini {
  padding: 8px 12px;
  font-size: 12px;
  cursor: default;
}

.fe-pv-formcard-input-mock {
  height: 36px;
  border: 1.5px solid #40499A;
  border-radius: 10px;
  background: #ffffff;
  opacity: 0.6;
}

.fe-pv-camera-btn--mini {
  padding: 8px 12px;
  font-size: 12px;
  opacity: 0.85;
  cursor: default;
}

.fe-pv-field--mini {
  padding: 8px 12px;
}

.fe-pv-formcard-smile {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 2px 0;
}
.fe-pv-formcard-smile img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  display: block;
}

.fe-pv-formcard-scoremock {
  pointer-events: none;
}

.fe-pv-formcard-signature {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 8px 12px;
  border: 1.5px dashed #b0b8e8;
  border-radius: 10px;
  background: #f5f6ff;
  color: #8b93c9;
}
.fe-pv-formcard-signature .fe-pv-signature-line {
  flex: 1;
  width: auto;
}

.fe-pv-display {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.fe-pv-display-content {
  color: #1f2430;
  font-size: 14px;
  line-height: 1.55;
}
.fe-pv-display-content h1, .fe-pv-display-content h2, .fe-pv-display-content h3 {
  color: #40499A;
  font-weight: 600;
  line-height: 1.25;
  margin: 0.9em 0 0.3em;
}
.fe-pv-display-content h1:first-child, .fe-pv-display-content h2:first-child, .fe-pv-display-content h3:first-child {
  margin-top: 0;
}
.fe-pv-display-content h1 {
  font-size: 20px;
}
.fe-pv-display-content h2 {
  font-size: 17px;
}
.fe-pv-display-content h3 {
  font-size: 15px;
}
.fe-pv-display-content p {
  margin: 0 0 0.7em;
}
.fe-pv-display-content p:last-child {
  margin-bottom: 0;
}
.fe-pv-display-content ul, .fe-pv-display-content ol {
  padding-left: 20px;
  margin: 0 0 0.7em;
}
.fe-pv-display-content li {
  margin: 0.2em 0;
}
.fe-pv-display-content a {
  color: #40499A;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.fe-pv-display-content a:hover {
  color: #333a7b;
}
.fe-pv-display-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.fe-pv-display-video {
  display: block;
  width: 100%;
  max-height: 220px;
  border-radius: 10px;
  background: #000;
}

.fe-pv-display-empty {
  padding: 16px;
  border: 1px dashed #d0d4e8;
  border-radius: 10px;
  text-align: center;
}

.fe-pv-display-empty-title {
  font-size: 13px;
  font-weight: 600;
  color: #40499A;
  margin-bottom: 4px;
}

.fe-pv-display-empty-hint {
  font-size: 12px;
  color: #9aa0bd;
  line-height: 1.35;
}

.fe-rt-sublabel {
  margin: 2px 0 8px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--qdna-color-text-muted, #6b7280);
}

.fe-video-block qdnapro-button {
  margin-right: 8px;
}

.fe-video-preview {
  display: flex;
  align-items: center;
  gap: 10px;
}

.fe-video-el {
  max-width: 260px;
  max-height: 160px;
  border-radius: 8px;
  background: #000;
}

.fe-video-errors {
  margin-top: 6px;
}

.fe-video-error {
  font-size: 12px;
  color: #c33a30;
  line-height: 1.35;
}

.fe-no .fe-set-divider {
  margin: 16px 0;
}
.fe-no .fe-set-divider .fe-set-divider-label {
  font-size: 12px;
  font-weight: 600;
  color: #6b6f78;
  margin-bottom: 8px;
}

.fe-no .fe-set-number-sub {
  display: block;
  font-size: 12px;
  line-height: 1.35;
  color: #6b6f78;
  margin: 2px 0 8px;
}

.fe-form--compact-number .form-control {
  width: 72px;
  max-width: 72px;
  text-align: center;
}

.fe-no .fe-set-disabled-hint {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 2px 0 6px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #fdf4e3;
  color: #8a6100;
  font-size: 12px;
  line-height: 1.35;
}
.fe-no .fe-set-disabled-hint qdnapro-icon {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  margin-top: 1px;
  color: #c98a00;
}

.fe-no .wm-info {
  flex: 0 0 380px;
}

.fe-no .fe-section {
  border-bottom: 0;
  padding: 10px 0;
}

.fe-no .fe-set-block {
  display: flex;
  flex-direction: column;
}

.fe-no .fe-set-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
}

.fe-no .fe-ti-inputs {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 0 12px 2px;
}
.fe-no .fe-ti-inputs.fe-ti-inputs--multi {
  flex-direction: row;
  flex-wrap: wrap;
}
.fe-no .fe-ti-inputs.fe-ti-inputs--multi .fe-ti-field {
  flex: 1 1 140px;
}

.fe-no .fe-ti-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.fe-no .fe-ti-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--qdna-color-text-muted, #6b7280);
}

.fe-no .fe-ti-input {
  height: 38px;
  padding: 0 12px;
  font-size: 14px;
  border: 1px solid #d8d6ea;
  border-radius: 8px;
  background: #fff;
  color: #1f2430;
  outline: none;
  transition: border-color 140ms ease, box-shadow 140ms ease;
}
.fe-no .fe-ti-input:focus {
  border-color: #40499a;
  box-shadow: 0 0 0 2px rgba(64, 73, 154, 0.15);
}

.fe-no .qdnapro-modal-toggle-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.fe-no .qdnapro-modal-toggle-label {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: #0b0b0d;
}

.fe-no .qdnapro-modal-toggle-sub {
  font-size: 12px;
  line-height: 16px;
  color: #6b7280;
}

.fe-no .qdnapro-modal-section-title,
.fe-no .fe-set-section {
  margin: 18px 0 2px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: #40499a;
}

.fe-no .fe-no-tiles-block {
  margin: 8px 0 16px;
}
.fe-no .fe-no-tiles-block .qdnapro-modal-toggle-label {
  display: block;
  margin-bottom: 8px;
}

.fe-no-seg {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
}

.fe-no .wm-info .fe-no-pill {
  align-self: flex-start;
}

.fe-no .fe-no-inputtype {
  margin-top: 20px;
}
.fe-no .fe-no-inputtype .fe-no-inputtype-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.fe-no .fe-no-inputtype .fe-no-inputtype-head-text {
  min-width: 0;
}
.fe-no .fe-no-inputtype .fe-nm-q-label {
  display: block;
  margin-bottom: 4px;
}
.fe-no .fe-no-inputtype .fe-no-inputtype-hint {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--qdna-color-text-muted, #6b7280);
}

.fe-multi-next-step-hint {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--qdna-color-text-muted, #6b7280);
}

.fe-scale-sync-hint {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--qdna-color-text-muted, #6b7280);
}

.fe-link-list {
  position: relative;
}

.fe-drop-line {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: #4652f3;
  border-radius: 1px;
  box-shadow: 0 0 10px rgba(70, 82, 243, 0.55);
  pointer-events: none;
  z-index: 5;
  transition: top 120ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.qdnapro-answer-option[data-fe-settle] {
  animation: fe-ao-settle 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

@keyframes fe-ao-settle {
  0% {
    box-shadow: 0 8px 20px rgba(70, 82, 243, 0.2);
  }
  100% {
    box-shadow: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fe-drop-line {
    transition: none;
  }
  .qdnapro-answer-option[data-fe-settle] {
    animation: none;
  }
}
.fe-prop-warning {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 6px 0 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: #fff3cd;
  border: 1px solid #f0d060;
  color: #9a6a10;
  font-size: 12px;
  line-height: 1.4;
}
.fe-prop-warning .mdi {
  font-size: 15px;
  line-height: 1.3;
  flex-shrink: 0;
}

.fe-prop-alert {
  margin: 6px 0 0;
}

.fe-no-preview-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.fe-no-preview-btn qdnapro-icon {
  margin-right: 6px;
}

.fe-no-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
  margin-bottom: 14px;
}

.fe-no .fe-no-typesettings-btn {
  flex-shrink: 0;
}
.fe-no .fe-no-typesettings-btn qdnapro-icon:first-child {
  margin-right: 6px;
}
.fe-no .fe-no-typesettings-btn qdnapro-icon:last-child {
  margin-left: 4px;
}

.fe-no .fe-no-format-row {
  margin-top: 12px;
}
.fe-no .fe-no-format-row .fe-no-format-select {
  display: block;
  width: 100%;
}

.fe-no .fe-no-startflow-btn {
  position: relative;
  overflow: hidden;
}
.fe-no .fe-no-startflow-btn qdnapro-icon {
  margin-right: 6px;
}
.fe-no .fe-no-startflow-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 55%;
  background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.45) 50%, transparent 100%);
  transform: translateX(-200%);
  animation: fe-no-startflow-shimmer 3.4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes fe-no-startflow-shimmer {
  0% {
    transform: translateX(-200%);
  }
  30% {
    transform: translateX(220%);
  }
  100% {
    transform: translateX(220%);
  }
}
.fe-no-img {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.fe-no-img-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

.fe-no-img-pos {
  position: relative;
  display: inline-flex;
}

.fe-no-img-pos-backdrop {
  position: fixed;
  inset: 0;
  z-index: 40;
}

.fe-no-img-pos-menu {
  position: fixed;
  z-index: 50;
  min-width: 200px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(20, 24, 60, 0.18);
  padding: 4px;
}

.fe-no-img-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #40499a;
  background: #fff;
  border: 1px solid #d8d6ea;
  border-radius: 8px;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease;
}
.fe-no-img-btn qdnapro-icon {
  color: #40499a;
}
.fe-no-img-btn:hover {
  background: #f4f3fb;
  border-color: #c3bfe4;
}

.fe-no-img-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  color: #b3261e;
  background: transparent;
  border: 1px solid #ecc9c6;
  border-radius: 8px;
  cursor: pointer;
}
.fe-no-img-remove:hover {
  background: #fdeceb;
}

.fe-logic-section .fe-logic-match {
  margin: 6px 0 12px;
}
.fe-logic-section .fe-logic-empty-hint {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #f4f5fb;
  color: #6b6f78;
  font-size: 13px;
  line-height: 1.4;
}
.fe-logic-section .fe-logic-add-if-btn {
  flex: 0 0 auto;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #4652f3;
  background: #fff;
  border: 1.5px solid rgba(70, 82, 243, 0.3);
  border-radius: 7px;
  cursor: pointer;
  transition: background 140ms ease, border-color 140ms ease;
}
.fe-logic-section .fe-logic-add-if-btn:hover {
  background: #f0f1fb;
  border-color: rgba(70, 82, 243, 0.55);
}
.fe-logic-section .fe-logic-rules {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.fe-logic-section .fe-logic-rule {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #f8f8fb;
}
.fe-logic-section .fe-logic-rule-prefix {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 600;
  color: #40499a;
  min-width: 52px;
}
.fe-logic-section .fe-logic-rule-node {
  flex: 1 1 220px;
  min-width: 180px;
}
.fe-logic-section .fe-logic-rule-op {
  flex: 0 0 auto;
  min-width: 72px;
}
.fe-logic-section .fe-logic-rule-value {
  flex: 1 1 160px;
  min-width: 120px;
}
.fe-logic-section .fe-logic-rule-del {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  margin-left: auto;
  color: #9aa0cc;
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: color 140ms ease, background 140ms ease;
}
.fe-logic-section .fe-logic-rule-del:hover {
  color: #c8485b;
  background: rgba(200, 72, 91, 0.08);
}
.fe-logic-section .fe-logic-target-label {
  margin-top: 14px;
  display: block;
}

.fe-logic-section.fe-logic-section--focus {
  border-radius: 10px;
  animation: fe-logic-focus-flash 1300ms ease;
}

@keyframes fe-logic-focus-flash {
  0% {
    background: rgba(64, 73, 154, 0.14);
  }
  100% {
    background: transparent;
  }
}
.fe-fcq-empty-state {
  padding: 12px 0;
}

.fe-fcq-empty-illustration {
  max-height: 160px;
  width: auto;
}

.fe-fcq-add-row {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  margin-top: 8px;
  padding: 10px;
  border: 1px dashed #a8b2e8;
  border-radius: 8px;
  background: transparent;
  color: #40499a;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease;
}
.fe-fcq-add-row:hover {
  background: rgba(64, 73, 154, 0.06);
  border-color: #40499a;
}

.fe-fcq-add-row__icon {
  font-size: 15px;
}

.fe-typepicker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
}

.fe-typepicker-tile {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 10px;
  border: 1px solid #e2e4ef;
  border-radius: 8px;
  background: #f4f5fb;
  color: #2a2e5e;
  font-size: 13px;
  line-height: 1.3;
  text-align: center;
  cursor: pointer;
  transition: border-color 140ms, box-shadow 140ms, background 140ms;
}
.fe-typepicker-tile:hover, .fe-typepicker-tile:focus-visible {
  border-color: #a8b2e8;
  background: #eef0ff;
  box-shadow: 0 1px 5px rgba(64, 73, 154, 0.1);
}

.fe-typepicker-tile__icon {
  font-size: 22px;
  color: #40499a;
}

.fe-typepicker-tile__label {
  word-break: break-word;
}

.fe-fcq-jump-line {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(64, 73, 154, 0.07);
  color: #2a2e5e;
  font-size: 13px;
  line-height: 1.4;
}

.fe-fcq-jump-line__icon {
  flex-shrink: 0;
  margin-top: 1px;
  font-size: 15px;
  color: #40499a;
}

.fe-fcq-list {
  position: relative;
  padding: 0;
  margin: 0;
  list-style: none;
}
.fe-fcq-list > .fe-fcq-row + .fe-fcq-row {
  margin-top: 6px;
}

.fe-fcq-row {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  padding: 10px 10px 10px 18px;
  border-radius: 8px;
  border: 1px solid #e2e4ef;
  background: color-mix(in srgb, var(--theme-btn-color, #40499a) 12%, #fff);
  cursor: pointer;
  transition: border-color 140ms, box-shadow 140ms, background 140ms;
}
.fe-fcq-row:hover {
  border-color: #a8b2e8;
  box-shadow: 0 1px 5px rgba(64, 73, 154, 0.1);
}
.fe-fcq-row:hover .fe-fcq-row__drag {
  opacity: 1;
}
.fe-fcq-row:hover .fe-fcq-row__move {
  opacity: 1;
  pointer-events: all;
}
.fe-fcq-row:hover .fe-fcq-row__delete {
  opacity: 1;
  pointer-events: all;
}

.fe-fcq-row__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.fe-fcq-row__drag {
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 22px;
  background: #4652f3;
  border-radius: 2px;
  opacity: 0;
  transition: opacity 150ms ease;
  pointer-events: none;
}

.fe-fcq-row__icon {
  flex-shrink: 0;
  font-size: 18px;
  color: #40499a;
}

.fe-fcq-row__label {
  min-width: 0;
  font-size: 15px;
  line-height: 1.4;
  color: #2a2e5e;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fe-fcq-row__chip {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  padding: 2px 8px;
  border: 1px solid rgba(64, 73, 154, 0.22);
  border-radius: 20px;
  background: rgba(64, 73, 154, 0.08);
  color: #40499a;
  font-size: 12px;
  line-height: 1.5;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: background 120ms ease, border-color 120ms ease;
}
.fe-fcq-row__chip:hover {
  background: rgba(64, 73, 154, 0.14);
  border-color: rgba(64, 73, 154, 0.34);
}

.fe-fcq-row__chip-icon {
  flex-shrink: 0;
  font-size: 12px;
}

.fe-fcq-row__required {
  flex-shrink: 0;
  color: #c65a5a;
  font-weight: 600;
}

.fe-fcq-row__move {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: #40499a;
  background: #eef0ff;
  border: 1px solid #c7cced;
  border-radius: 5px;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms, background 120ms, border-color 120ms;
}
.fe-fcq-row__move .mdi {
  font-size: 15px;
}
.fe-fcq-row__move:hover {
  background: #dde1ff;
  border-color: #a8b2e8;
}
.fe-fcq-row__move.fe-fcq-row__move--active {
  opacity: 1;
  pointer-events: all;
  background: #dde1ff;
  border-color: #40499a;
}

.fe-fcq-row__delete {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: #c94040;
  background: #fde8e8;
  border: 1px solid #e8b0b0;
  border-radius: 5px;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms, background 120ms, border-color 120ms;
}
.fe-fcq-row__delete .mdi {
  font-size: 15px;
}
.fe-fcq-row__delete:hover {
  background: #ffcccc;
  border-color: #c94040;
}

.fe-fcq-move-row {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  padding: 10px;
  border-radius: 8px;
  border: 1px dashed #b0b8e8;
  background: #eef0ff;
}

.fe-fcq-move-select {
  flex: 1 1 220px;
  min-width: 160px;
}

.fe-fcq-move-empty {
  flex: 1;
  font-size: 13px;
  color: #6b6f78;
}

.fe-fcq-move-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

.fe-fcq-move-cancel,
.fe-fcq-move-confirm {
  flex-shrink: 0;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 6px;
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, opacity 120ms ease;
}

.fe-fcq-move-cancel {
  color: #40499a;
  background: transparent;
  border: 1px solid transparent;
}
.fe-fcq-move-cancel:hover {
  background: rgba(64, 73, 154, 0.08);
}

.fe-fcq-move-confirm {
  color: #fff;
  background: #40499a;
  border: 1px solid #40499a;
}
.fe-fcq-move-confirm:hover {
  background: #333a7b;
}
.fe-fcq-move-confirm:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.fe-fcq-move-toast {
  position: sticky;
  bottom: 6px;
  z-index: 3;
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 9px 14px;
  border-radius: 10px;
  background: #1f7a4d;
  color: #fff;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.3;
  box-shadow: 0 6px 20px rgba(20, 22, 40, 0.24);
}

.fe-fcq-move-toast__icon {
  flex-shrink: 0;
  font-size: 16px;
}

.fe-fcq-move-toast-fade-enter-active,
.fe-fcq-move-toast-fade-leave-active {
  transition: opacity 180ms ease-out, transform 180ms ease-out;
}

.fe-fcq-move-toast-fade-enter-from,
.fe-fcq-move-toast-fade-leave-to {
  opacity: 0;
  transform: translateY(8px);
}

.inbox-container {
  height: calc(100vh - 76px);
  max-height: calc(100vh - 76px);
  overflow: hidden;
  padding: 8px 0 0 8px;
  display: flex;
  flex-direction: column;
}

.inbox-selection-group {
  display: flex;
  align-items: center;
  gap: 4px;
}

.inbox-count-display {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 40px;
  padding: 0 12px;
  border-radius: 8px;
  background: #e6e9ff;
  color: #40499a;
  font-size: 16px;
  font-weight: 400;
  white-space: nowrap;
  user-select: none;
  flex-shrink: 0;
}

.search-actions-bar {
  padding-bottom: 8px;
  display: flex;
  gap: 16px;
  align-items: center;
}
.search-actions-bar .search-section {
  flex: 0 1 400px;
  min-width: 160px;
  max-width: 400px;
}
.search-actions-bar .search-section .search-input-wrapper {
  position: relative;
}
.search-actions-bar .actions-section {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #40499A;
  flex: 1 1 auto;
  min-width: 0;
  animation: inbox-toolbar-in 180ms ease-out;
}
.search-actions-bar .actions-section .divider {
  height: 30px;
  border-left: 2px solid rgba(0, 0, 0, 0.05);
  margin: 0 4px;
}
.search-actions-bar .actions-section .actions-inline {
  display: flex;
  align-items: center;
  gap: 12px;
}
.search-actions-bar .actions-section .actions-overflow-anchor {
  display: none;
  position: relative;
}
.search-actions-bar .actions-section .actions-overflow-anchor .inbox-menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  z-index: 200;
}
.search-actions-bar .actions-section .actions-overflow-anchor.inbox-menu-open .inbox-menu {
  display: block;
  transform-origin: top right;
  animation: inbox-menu-in 140ms ease-out;
}

.main-content {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  overflow: hidden;
  gap: 8px;
}

.left-sidebar {
  flex: 0 0 180px;
  width: 180px;
  max-width: 180px;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  border-radius: 8px;
  background-color: white;
  border-right: 1px solid #dee2e6;
  padding: 4px 8px;
  font-weight: 400;
}
.left-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px 12px 20px;
  font-weight: 600;
  color: #40499A;
  font-size: 18px;
}
.left-sidebar hr {
  width: 90%;
  margin: 8px;
}
.left-sidebar .sidebar-section {
  margin-bottom: 8px;
}
.left-sidebar .sidebar-section .sidebar-items-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.left-sidebar .sidebar-section .section-header {
  display: flex;
  align-items: center;
  padding: 6px 8px;
  font-weight: 600;
  color: #323130;
  font-size: 0.75rem;
  border-radius: 8px;
  gap: 8px;
}
.left-sidebar .sidebar-section .section-header > i.collapse-btn {
  flex-shrink: 0;
  width: 20px;
  text-align: center;
  font-size: 14px;
  margin: 0;
  color: #5f6368;
  cursor: pointer;
}
.left-sidebar .sidebar-section .section-header.active {
  color: #40499A;
  background-color: #EEEFFA;
}
.left-sidebar .sidebar-section .section-header.active > i.collapse-btn {
  color: #40499A;
}
.left-sidebar .sidebar-section .section-header-title {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.left-sidebar .sidebar-section .section-header-title i {
  flex-shrink: 0;
  width: 16px;
  text-align: center;
  font-size: 14px;
  margin: 0;
}
.left-sidebar .sidebar-section .section-header-title .section-label {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  min-width: 0;
}
.left-sidebar .sidebar-section .section-header-title .section-label .section-title {
  flex: 1;
  min-width: 0;
}
.left-sidebar .sidebar-section .section-header-title .section-label .count {
  font-size: 11px;
  color: #8C92C2;
  flex-shrink: 0;
}
.left-sidebar .sidebar-section .sidebar-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px 6px 28px;
  color: #323130;
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
  cursor: pointer;
  border-radius: 8px;
  user-select: none;
}
.left-sidebar .sidebar-section .sidebar-item i {
  font-size: 14px;
  flex-shrink: 0;
  width: 16px;
  text-align: center;
  margin: 0;
  color: #323130;
}
.left-sidebar .sidebar-section .sidebar-item .sidebar-item-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.left-sidebar .sidebar-section .sidebar-item .sidebar-item-count {
  font-size: 11px;
  color: #8C92C2;
  flex-shrink: 0;
}
.left-sidebar .sidebar-section .sidebar-item:hover {
  background-color: #f0f1f2;
}
.left-sidebar .sidebar-section .sidebar-item.active {
  background-color: #EEEFFA;
  color: #40499A;
  font-weight: 500;
}
.left-sidebar .sidebar-section .sidebar-item.active i {
  color: #40499A;
}
.left-sidebar .sidebar-section .section-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.middle-panel {
  flex: 1 1 300px;
  width: auto !important;
  min-width: 300px;
  max-width: 380px;
  min-height: 0;
  border-right: 1px solid #dee2e6;
  display: flex;
  flex-direction: column;
  background-color: white;
  border-radius: 8px;
}
.middle-panel .panel-header {
  border-bottom: 1px solid #dee2e6;
  height: 56px;
  box-sizing: border-box;
  padding: 0 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.middle-panel .panel-header .filter-tabs {
  display: flex;
  gap: 4px;
  background-color: #e9e9e9;
  border-radius: 24px;
  padding: 6px 8px;
  font-weight: 400;
}
.middle-panel .panel-header .filter-tabs .filter-tab {
  padding: 4px 12px;
  border: none;
  background: none;
  color: #6c757d;
  font-size: 1rem;
  border-radius: 24px;
  box-shadow: none !important;
}
.middle-panel .panel-header .filter-tabs .filter-tab:hover:not(.active) {
  background-color: rgba(0, 0, 0, 0.05);
}
.middle-panel .panel-header .filter-tabs .filter-tab.active {
  background-color: #fff;
  color: #40499A;
}
.middle-panel .panel-header .panel-actions {
  display: flex;
  gap: 4px;
  padding: 0px 4px;
}
.middle-panel .panel-header .inbox-menu-anchor {
  position: relative;
}
.middle-panel .panel-header .inbox-menu-anchor .inbox-menu {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  z-index: 200;
}
.middle-panel .panel-header .inbox-menu-anchor.inbox-menu-open .inbox-menu {
  display: block;
  transform-origin: top right;
  animation: inbox-menu-in 140ms ease-out;
}
.middle-panel .multi-select-hint {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 6px 12px;
  font-size: 11px;
  color: #8C92C2;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.middle-panel .multi-select-hint:empty {
  display: none;
}
.middle-panel .multi-select-hint .inbox-select-count {
  font-weight: 500;
  color: #40499A;
}
.middle-panel .multi-select-hint .inbox-select-clear {
  cursor: pointer;
  color: #40499A;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 6px;
}
.middle-panel .multi-select-hint .inbox-select-clear:hover {
  background: #EEEFFA;
}
.middle-panel .timeline-section {
  flex: 1;
  overflow-y: auto;
  padding: 4px 8px;
}
.middle-panel .timeline-section .timeline-header {
  font-weight: 600;
  color: #323130;
  margin-bottom: 8px;
  font-size: 14px;
}
.middle-panel .timeline-section .message-item {
  padding: 4px 8px;
  margin-bottom: 4px;
  display: flex;
  border-radius: 8px;
  gap: 8px;
  cursor: pointer;
  border: none;
}
.middle-panel .timeline-section qdnapro-inbox-message.inbox-message-selected:hover {
  background: #daddf2 !important;
}

.right-panel {
  flex: 8 1 0;
  width: auto !important;
  min-width: 0;
  overflow-y: auto;
  background-color: white;
  border-radius: 8px;
}

/* Let the detail view fill the panel so its "nothing selected" empty state
   centres vertically like the other panel-3 empty states (which live in
   #inbox-detail-empty, a direct child of .right-panel). */
#notification_detail-view {
  height: 100%;
}

.inbox-skeleton-card {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 4px 8px;
  min-height: 108px;
  box-sizing: border-box;
}
.inbox-skeleton-card__avatar {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
}
.inbox-skeleton-card__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 4px;
}
.inbox-skeleton-card__sender {
  height: 12px;
  width: 45%;
}
.inbox-skeleton-card__subject {
  height: 14px;
  width: 80%;
}
.inbox-skeleton-card__preview {
  height: 12px;
  width: 65%;
}
.inbox-skeleton-card__tag {
  height: 24px;
  width: 88px;
  border-radius: 12px;
}

@keyframes inbox-msg-enter {
  0% {
    opacity: 0;
    transform: translateY(6px) scale(0.98);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.inbox-msg-stagger {
  opacity: 0;
  animation: inbox-msg-enter 240ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.qdnapro-tooltip {
  z-index: 10001 !important;
}

qdnapro-inbox-message[data-deadline-status=overdue] .inbox-message-due,
qdnapro-inbox-message[data-deadline-status=overdue] .inbox-message-due qdnapro-icon {
  color: #d93025 !important;
}

qdnapro-inbox-message[data-deadline-status=due-soon] .inbox-message-due,
qdnapro-inbox-message[data-deadline-status=due-soon] .inbox-message-due qdnapro-icon {
  color: #e8810a !important;
}

.middle-panel .timeline-section .message-item:hover {
  background: var(--msg-bg-hover, #f0f1f2) !important;
}

.right-panel::-webkit-scrollbar,
.middle-panel .timeline-section::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.right-panel::-webkit-scrollbar-track,
.middle-panel .timeline-section::-webkit-scrollbar-track {
  background: transparent;
}
.right-panel::-webkit-scrollbar-thumb,
.middle-panel .timeline-section::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 8px;
  transition: background 160ms ease;
}
.right-panel:hover::-webkit-scrollbar-thumb, .right-panel:focus-within::-webkit-scrollbar-thumb,
.middle-panel .timeline-section:hover::-webkit-scrollbar-thumb,
.middle-panel .timeline-section:focus-within::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.22);
}
.right-panel::-webkit-scrollbar-thumb:hover,
.middle-panel .timeline-section::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.34);
}

.left-sidebar {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.left-sidebar::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.inbox-body {
  padding: 0 20px 12px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.inbox-body qdnapro-message-header {
  display: block;
  position: sticky;
  top: 0;
  background: white;
  z-index: 10;
  margin: 0 -20px;
}
.inbox-body qdnapro-message-header .mh-title-actions qdnapro-icon[name=bookmark],
.inbox-body qdnapro-message-header .mh-title-actions qdnapro-icon[name=square-rounded-badge] {
  color: #4652f3;
}
.inbox-body qdnapro-message-header .mh-title-actions qdnapro-button.inbox-action-blocked {
  cursor: not-allowed;
}
.inbox-body qdnapro-message-header .mh-title-actions qdnapro-button.inbox-action-blocked qdnapro-icon {
  color: #898e99;
}
.inbox-body-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 56px;
  box-sizing: border-box;
  position: sticky;
  top: 0;
  background: white;
  z-index: 10;
  margin: 0 -20px;
  padding: 0 0 0 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.inbox-body-title-label {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #40499A;
  font-size: 16px;
  font-weight: 600;
}
.inbox-body-title-actions {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 4px;
  color: #40499A;
}
.inbox-body-title-actions qdnapro-icon[name=bookmark],
.inbox-body-title-actions qdnapro-icon[name=square-rounded-badge] {
  color: #4652f3;
}
.inbox-body-title-actions qdnapro-button.inbox-action-blocked {
  cursor: not-allowed;
}
.inbox-body-title-actions qdnapro-button.inbox-action-blocked qdnapro-icon {
  color: #898e99;
}
.inbox-body-title-actions #inbox-dots-menu qdnapro-menu-item.inbox-dots-blocked {
  color: #898e99 !important;
  cursor: not-allowed;
  pointer-events: auto !important;
}
.inbox-body-title-actions #inbox-dots-menu qdnapro-menu-item.inbox-dots-blocked .menu-item-icon {
  color: #898e99 !important;
}
.inbox-body-title-actions .action-btn {
  display: flex;
  padding: 4px 10px;
}
.inbox-body-title-actions .action-btn:hover:not(.action-block) {
  cursor: pointer;
  background-color: #D9DBEB;
  border-radius: 8px;
}
.inbox-body-title-actions .action-btn i {
  font-size: 16px;
}
.inbox-body-title-actions .action-btn i.selected {
  color: #4852ea;
}
.inbox-body-title-actions .action-btn.action-block {
  opacity: 0.5;
}
.inbox-body-title-actions .divider {
  height: 30px;
  border-left: 2px solid rgba(0, 0, 0, 0.05);
  margin: 0 4px;
}
.inbox-body-header {
  animation: inbox-detail-in 200ms ease-out;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin: -6px -20px 0;
  padding-bottom: 6px;
}
.inbox-body-header .inbox-body-user {
  display: flex;
  gap: 16px;
  margin-bottom: 0;
  padding: 0 24px 0 24px;
}
.inbox-body-header .inbox-body-user .user-avatar .avatar-placeholder {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #f9e69e;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #e29334;
}
.inbox-body-header .inbox-body-user .user-avatar .avatar-placeholder i {
  font-size: 20px;
}
.inbox-body-header .inbox-body-user .user-avatar img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.inbox-body-header .inbox-body-user .user-info {
  flex: 1;
  display: flex;
  padding: 6px 0px;
  gap: 12px;
  align-items: center;
}
.inbox-body-header .inbox-body-user .user-info-name {
  display: block;
  font-weight: 600;
  color: #323130;
  font-size: 15px;
}
.inbox-body-header .inbox-body-user .user-info-email {
  display: block;
  color: #6c757d;
  font-size: 14px;
  font-weight: 500;
}
.inbox-body-header .inbox-body-user .inbox-body-meta {
  text-align: right;
  font-size: 12px;
  color: #6c757d;
  font-weight: 500;
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
}
.inbox-body-header .inbox-body-user .inbox-body-meta .time {
  display: block;
  font-weight: 600;
}
.inbox-body-header .inbox-body-user .inbox-body-meta .days {
  display: block;
}
.inbox-body-header .inbox-body-details {
  flex: 1;
  display: flex;
  font-weight: 500;
  flex-wrap: wrap;
}
.inbox-body-header .inbox-body-details .email-to-block {
  display: flex;
  flex-wrap: wrap;
}
.inbox-body-header .inbox-body-details .email-cc-block {
  display: flex;
  flex-wrap: wrap;
}
.inbox-body-header .inbox-body-details .inbox-body-field {
  display: block;
  font-size: 12px;
  color: #6c757d;
  margin-bottom: 2px;
}
.inbox-body-header .inbox-body-details .inbox-body-field-bold {
  font-weight: 600;
  padding-right: 4px;
}
.inbox-body-header .status-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.inbox-body-header .status-badges .badge {
  font-size: 12px;
  display: flex;
  border-radius: 16px;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
}
.inbox-body-header .status-badges .badge.bg-danger {
  background-color: #efadac !important;
}
.inbox-body-header .status-badges .badge.bg-secondary {
  background-color: #c3bcef !important;
}
.inbox-body-header .status-badges .badge.bg-warning {
  background-color: #f9e69e !important;
}
.inbox-body-header .status-badges .badge.bg-info {
  background-color: #bacdea !important;
}
.inbox-body-header .status-badges .btn-sm {
  font-size: 12px;
  padding: 2px 8px;
  color: #4852ea;
  text-decoration: none;
}
.inbox-body-header .status-badges .btn-sm:hover {
  text-decoration: none;
}
.inbox-body-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.inbox-body-content .inbox-body-group {
  display: flex;
  font-size: 14px;
  padding: 4px 8px;
  flex-direction: column;
}
.inbox-body-content .inbox-body-group .inbox-body-label {
  display: flex;
  align-items: center;
  min-height: 20px;
  margin-bottom: 0;
  font-weight: 600;
  color: #40499A;
  font-size: 14px;
  line-height: 20px;
}
.inbox-body-content .inbox-body-group .inbox-body-label .inbox-q-type-icon {
  flex: 0 0 auto;
  margin-right: 6px;
  font-size: 18px;
  line-height: 1;
  color: #c2c2c2;
}
.inbox-body-content .inbox-body-group .inbox-body-label .inbox-q-node-id {
  flex: 0 0 auto;
  margin-left: 6px;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  color: #c2c2c2;
}
.inbox-body-content .inbox-body-group .inbox-body-value {
  padding-left: 24px;
  color: #202124;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}
.inbox-body-content .inbox-body-group .inbox-body-value.sub-label {
  color: #40499A;
}
.inbox-body-content .task-status {
  position: relative;
  z-index: 1;
  padding: 8px 0;
  display: flex;
  justify-content: center;
  color: #8C92C2;
  font-weight: 400;
  font-size: 14px;
  gap: 24px;
}
.inbox-body-content .task-status-block {
  display: flex;
  align-items: center;
  border: 1px solid #D9DBEB;
  border-radius: 12px;
  gap: 8px;
  padding: 6px 16px;
  background-color: #fff;
}
.inbox-body-content .task-status-block .status-badge {
  background-color: #bacdea;
  color: #40499A;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  margin-left: 8px;
}
.inbox-body-content .task-status-block .user-avatar .avatar-placeholder {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #f9e69e;
  display: flex;
  align-items: center;
  justify-content: center;
}
.inbox-body-content .task-status-block .user-avatar .avatar-placeholder i {
  font-size: 20px;
  color: #e29334;
}
.inbox-body-content .task-status-block .user-avatar .avatar-placeholder i:first {
  color: #40499A;
}
.inbox-body-content .task-status-block .user-avatar img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
}
.inbox-body-content hr {
  border: 0;
  height: 1px;
  background: #D9DBEB;
  margin: -2rem -24px 28px;
}
.inbox-body-content qdnapro-message-actionbar {
  display: block;
  margin-top: 2rem;
  margin-bottom: 16px;
}
.inbox-body-content .input-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #EEEFFA;
  color: #40499A;
  padding: 16px;
  border-radius: 8px;
  gap: 8px;
  margin-top: 2rem;
  margin-bottom: 16px;
}
.inbox-body-content .input-footer-info {
  display: flex;
  align-items: center;
  gap: 10px;
}
.inbox-body-content .input-footer-info i {
  cursor: pointer;
}
.inbox-body-content .input-footer-action-btn {
  display: flex;
  align-items: center;
  gap: 16px;
  font-weight: 500;
}
.inbox-body-content .input-footer-action-btn .inbox-secondary-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 20px;
  cursor: pointer;
}
.inbox-body-content .input-footer-action-btn .inbox-primary-btn {
  color: white;
  background-color: #40499A;
  border-radius: 12px;
  padding: 8px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.multiple-selection {
  display: flex;
  justify-content: center;
  height: 72vh;
}
.multiple-selection-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.multiple-selection-block-image {
  height: 175px;
  width: 175px;
}
.multiple-selection-block-message {
  color: #4852ea;
  font-weight: 600;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.custom-popup {
  position: fixed;
  top: 50px;
  left: 100px;
  width: 60%;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 10px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35);
  z-index: 9999;
  height: 90vh;
  overflow: hidden;
  resize: none;
}
.custom-popup .ui-resizable-se {
  width: 20px;
  height: 20px;
  right: 12px;
  bottom: 4px;
  cursor: se-resize;
  background: none;
}
.custom-popup .ui-resizable-se::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  margin: 5px 0 0 5px;
  border-right: 2px solid rgba(0, 0, 0, 0.25);
  border-bottom: 2px solid rgba(0, 0, 0, 0.25);
  border-radius: 0 0 3px 0;
}
.custom-popup .ui-resizable-se:hover::after {
  border-color: #40499A;
}
.custom-popup .ui-resizable-handle {
  z-index: 100;
}
.custom-popup-body {
  padding: 4px;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
}
.custom-popup-body .ui-draggable-handle {
  cursor: move;
}
.custom-popup-body .close-popup {
  padding: 6px 12px;
  border-radius: 10px;
}
.custom-popup-body .close-popup:hover {
  background-color: rgba(0, 0, 0, 0.05);
  cursor: pointer;
}

.popup-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #c3bcef;
  z-index: 9998;
  opacity: 0.2;
}

.title-bar {
  color: #40499a;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 24px;
  border-bottom: 1px solid #dee2e6;
}

.inbox-sidebar-toggle {
  display: none;
}

.inbox-mobile-back {
  display: none;
}

/* ── Phase 3: mobile (≤768px) — master-detail drill-down ───────────────────
   One pane at a time. The message list is the default ("master"); tapping a
   message slides in the detail with a ← back button to return. The Activity
   drawer (from the ≤1100 block above) still overlays via the ☰ toggle. This
   replaces the old three-panel vertical stack, which was impractical on a phone. */
@media (max-width: 768px) {
  .inbox-container {
    max-width: 768px;
    margin: 0 auto;
  }
  .search-actions-bar {
    flex-direction: row;
    align-items: center;
  }
  .search-actions-bar .search-section {
    flex: 1 1 auto;
    max-width: none;
  }
  .middle-panel,
  .right-panel {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100% !important;
    min-width: 0;
    max-width: none;
    max-height: none;
    transition: transform 280ms cubic-bezier(0.2, 0.7, 0.3, 1);
    will-change: transform;
  }
  .middle-panel {
    transform: translateX(0);
    z-index: 2;
  }
  .right-panel {
    transform: translateX(100%);
    z-index: 3;
  }
  .inbox-container.mobile-detail-open .search-actions-bar {
    display: none;
  }
  .inbox-container.mobile-detail-open .middle-panel {
    transform: translateX(-100%);
  }
  .inbox-container.mobile-detail-open .right-panel {
    transform: translateX(0);
  }
  .inbox-mobile-back {
    display: inline-flex;
    margin: 8px 0 0 8px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .left-sidebar {
    width: 180px;
  }
}
@media (min-width: 1025px) {
  .left-sidebar {
    width: 180px;
  }
}
/* ── Phase 2: tablet (769–1100px) — Activity sidebar becomes a slide-in drawer ──
   In this band the list + detail need the full row, so the Activity pane leaves
   the flow and opens on demand as an overlay from the left. A "☰ Activity" toggle
   in the list header opens it; the scrim or picking a filter closes it. Above
   1100px the sidebar is in-flow as usual and both toggle + scrim stay hidden. */
.inbox-sidebar-scrim {
  position: absolute;
  inset: 0;
  z-index: 40;
  background: rgba(20, 22, 40, 0.32);
  opacity: 0;
  visibility: hidden;
  transition: opacity 200ms ease, visibility 0s linear 200ms;
  cursor: pointer;
}

@media (max-width: 1100px) {
  .main-content {
    position: relative;
  }
  .inbox-sidebar-toggle {
    display: inline-flex;
    flex: 0 0 auto;
  }
  .left-sidebar {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 50;
    flex: 0 0 auto;
    width: 248px;
    max-width: 248px;
    max-height: none;
    border-radius: 0;
    transform: translateX(calc(-100% - 16px));
    transition: transform 240ms cubic-bezier(0.2, 0.7, 0.3, 1);
    box-shadow: 0 8px 28px rgba(20, 22, 40, 0.18);
    will-change: transform;
  }
  .main-content.sidebar-open .left-sidebar {
    transform: translateX(0);
  }
  .main-content.sidebar-open .inbox-sidebar-scrim {
    opacity: 1;
    visibility: visible;
    transition: opacity 200ms ease;
  }
}
/* Reduced-motion: no slide, just appear/disappear. */
@media (prefers-reduced-motion: reduce) {
  .left-sidebar {
    transition: none !important;
  }
  .inbox-sidebar-scrim {
    transition: opacity 1ms linear !important;
  }
  .middle-panel, .right-panel {
    transition: none !important;
  }
}
@keyframes inbox-toolbar-in {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Detail (message-open): plugin content follows the sender block by 40ms. */
.inbox-body-content {
  animation: inbox-detail-in 200ms ease-out 40ms both;
}

.inbox-forwarded-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0 14px;
  padding: 10px 14px;
  border-radius: 8px;
  background: #f3f1ff;
  border-left: 3px solid #c0c5ff;
  color: #4b4470;
  font-size: 13px;
  line-height: 1.4;
}
.inbox-forwarded-notice qdnapro-icon {
  flex-shrink: 0;
  color: #7a7fb0;
}

.inbox-text-body--rich hr {
  border: none;
  border-top: 1px solid #e1e3e6;
  margin: 18px 0;
}
.inbox-text-body--rich blockquote {
  margin: 18px 0 0;
  padding: 14px 0 2px 14px;
  border-top: 1px solid #e1e3e6;
  border-left: 3px solid #c0c5ff;
  color: #4b4470;
}

@keyframes inbox-detail-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes inbox-menu-in {
  from {
    opacity: 0;
    transform: scale(0.96) translateY(-4px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
/* Right-click context menu on a message tile. The anchor is positioned fixed at
   the cursor (left/top set inline by JS); the menu sits at the anchor's top-left.
   Inbox runs at body{zoom:1}, so clientX/clientY map 1:1 — no zoom correction.
   qdnapro-menu provides its own surface/shadow; we only position + animate. */
.inbox-ctx-anchor {
  position: fixed;
  z-index: 1000;
}
.inbox-ctx-anchor .inbox-ctx-menu {
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: top left;
  animation: inbox-menu-in 140ms ease-out;
}

/* Toolbar overflow swap: the ⋮ (and the inline row, on the way back) fade +
   scale in so the eye catches the change instead of a hard snap. Applied via JS
   only on the actual inline⇄overflow transition (see fitToolbar). */
@keyframes inbox-overflow-in {
  from {
    opacity: 0;
    transform: scale(0.7);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes inbox-inline-in {
  from {
    opacity: 0;
    transform: translateX(8px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* Secondary→all collapse: the ⋮ is already visible, so give it a tiny pulse
   to signal "more moved in here" rather than re-popping the whole button. */
@keyframes inbox-overflow-pulse {
  0% {
    transform: scale(1);
  }
  45% {
    transform: scale(1.18);
  }
  100% {
    transform: scale(1);
  }
}
/* Respect users who prefer less motion: drop all inbox entrance animations. */
@media (prefers-reduced-motion: reduce) {
  .actions-section,
  .inbox-body-header,
  .inbox-body-content,
  .inbox-menu-anchor.inbox-menu-open .inbox-menu,
  .inbox-msg-stagger {
    animation: none !important;
  }
}
/* ── Empty states ──────────────────────────────────────────────────────── */
/* Panel 2: message-list empty state */
.inbox-empty {
  /* display toggled to flex via JS */
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 16px;
  padding: 64px 24px 0;
  min-height: 320px;
  /* Target the element, not a class: qdnapro-illustration rewrites its own
     class attribute on render, so a custom class won't survive.
     The component sizes by WIDTH only; portrait illustrations (e.g. share)
     then blow up in height. Constrain by both max-width and max-height so
     any aspect ratio fits the same box. */
}
.inbox-empty qdnapro-illustration {
  opacity: 0.6;
  /* Pin the height, let width follow the aspect ratio. Reliable for
     both landscape and portrait art (the component only sizes width,
     which blows up tall illustrations like `share`). */
  width: auto !important;
  height: 190px !important;
}
.inbox-empty qdnapro-illustration img {
  width: auto !important;
  height: 100% !important;
}
.inbox-empty .inbox-empty-text {
  margin: 0;
  max-width: 260px;
  font-size: 15px;
  line-height: 1.4;
  color: var(--text-secondary, #6b7280);
}

/* Panel 3: detail empty state (Show all + Handover) */
.inbox-detail-empty {
  /* display toggled to flex via JS */
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 24px;
  /* Panel stays white; the empty-state card uses surface="solid"
     (light-purple) so it reads without needing a tinted backdrop. */
}
.inbox-detail-empty qdnapro-illustration {
  opacity: 0.6;
  /* Pin the height, width follows aspect ratio (see panel-2 note). */
  width: auto !important;
  height: 230px !important;
}
.inbox-detail-empty qdnapro-illustration img {
  width: auto !important;
  height: 100% !important;
}

/* ── Forward modal: recipient picker ─────────────────────────────────────── */
/* Hier stond `.qdnapro-modal, .qdnapro-select-popover { zoom: 1 !important }` om de counter-zoom
   van 1.25 uit `_modal.scss` te neutraliseren. Twee redenen om hem weg te halen (2026-08-03):
   de comment zei "page-scoped" maar de SELECTOR was dat niet — deze regel gold app-breed en
   bepaalde dus in elk scherm de maat van elk venster; en de 1.25 die hij neutraliseerde bestaat
   niet meer (zie de uitleg in `components/v2/modal/_modal.scss`). Netto verandert er niets: het
   was 1, en het blijft 1. */
/* Recipient picker — identical to the project "Managers" picker (pv2-bm-*).
   Values copied from projects-v2.html and scoped to the forward modal. */
#inbox-forward-modal {
  /* The candidate list is an absolute overlay dropdown (like projects), so the
     modal body must not clip it; reserve height so it doesn't cover the footer. */
}
#inbox-forward-modal .modal-body {
  overflow: visible;
  min-height: 360px;
}
#inbox-forward-modal .pv2-bm {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
#inbox-forward-modal .pv2-bm-subtitle {
  margin: 0 0 2px;
  font-size: 13px;
  color: var(--c-text-muted, #8a8fa3);
}
#inbox-forward-modal .pv2-bm-search-wrap {
  position: relative;
}
#inbox-forward-modal {
  /* Overlay dropdown card below the search field. */
}
#inbox-forward-modal .pv2-bm-results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 30;
  max-height: 260px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #c4c7cc;
  border-radius: 8px;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.08), 0 1px 2px 0 rgba(0, 0, 0, 0.14);
  padding: 6px;
}
#inbox-forward-modal .pv2-bm-results[hidden] {
  display: none;
}
#inbox-forward-modal .pv2-bm-results-list {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  min-height: 0;
}
#inbox-forward-modal .pv2-bm-results-list::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
#inbox-forward-modal .pv2-bm-results-list::-webkit-scrollbar-track {
  background: transparent;
}
#inbox-forward-modal .pv2-bm-results-list::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 8px;
  transition: background 160ms ease;
}
#inbox-forward-modal .pv2-bm-results-list:hover::-webkit-scrollbar-thumb, #inbox-forward-modal .pv2-bm-results-list:focus-within::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.22);
}
#inbox-forward-modal .pv2-bm-results-list::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.34);
}
#inbox-forward-modal .pv2-bm-result {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 8px;
  border-radius: 8px;
  cursor: pointer;
}
#inbox-forward-modal .pv2-bm-result:hover, #inbox-forward-modal .pv2-bm-result:focus-visible {
  background: var(--c-bg-hover, #f3f4fb);
  outline: none;
}
#inbox-forward-modal .pv2-bm-result-check {
  flex: 0 0 auto;
}
#inbox-forward-modal .pv2-bm-result-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
#inbox-forward-modal .pv2-bm-result-name {
  font-size: 14px;
  color: var(--c-text, #1c1e2a);
}
#inbox-forward-modal .pv2-bm-result-role {
  font-size: 12px;
  color: var(--c-text-muted, #8a8fa3);
}
#inbox-forward-modal .pv2-bm-row-you {
  font-size: 12px;
  color: var(--c-text-muted, #8a8fa3);
  margin-left: 4px;
}
#inbox-forward-modal .pv2-bm-result-added {
  opacity: 0.6;
  cursor: default;
}
#inbox-forward-modal .pv2-bm-result-added:hover {
  background: transparent;
}
#inbox-forward-modal .pv2-bm-results-empty {
  padding: 14px 10px;
  font-size: 13px;
  color: var(--c-text-muted, #8a8fa3);
  text-align: center;
}
#inbox-forward-modal .pv2-bm-loading {
  padding: 20px;
  text-align: center;
  font-size: 13px;
  color: var(--c-text-muted, #8a8fa3);
}
#inbox-forward-modal {
  /* Selected recipients (shown below the search, under the overlay dropdown). */
}
#inbox-forward-modal .inbox-forward-selected {
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-height: 168px;
  overflow-y: auto;
}
#inbox-forward-modal .inbox-forward-selected::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
#inbox-forward-modal .inbox-forward-selected::-webkit-scrollbar-track {
  background: transparent;
}
#inbox-forward-modal .inbox-forward-selected::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 8px;
  transition: background 160ms ease;
}
#inbox-forward-modal .inbox-forward-selected:hover::-webkit-scrollbar-thumb, #inbox-forward-modal .inbox-forward-selected:focus-within::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.22);
}
#inbox-forward-modal .inbox-forward-selected::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.34);
}
#inbox-forward-modal .inbox-forward-selected-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 6px;
  border-radius: 8px;
}
#inbox-forward-modal .inbox-forward-selected-row:hover {
  background: var(--c-bg-hover, #f3f4fb);
}
#inbox-forward-modal .inbox-forward-selected-name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 14px;
  color: var(--c-text, #1c1e2a);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#inbox-forward-modal .inbox-forward-selected-remove {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 6px;
  color: #8a8fa3;
  cursor: pointer;
  transition: background 120ms ease, color 120ms ease;
}
#inbox-forward-modal .inbox-forward-selected-remove:hover {
  background: #eceef5;
  color: #c0392b;
}
#inbox-forward-modal {
  /* "X selected" count, pinned to the footer's left corner. Positioned
     absolutely so the global .modal-footer margin override can't clobber it. */
}
#inbox-forward-modal .modal-footer {
  position: relative;
}
#inbox-forward-modal .inbox-forward-count {
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  color: var(--c-text-muted, #8a8fa3);
  pointer-events: none;
}

/* Pickup status badge in the handover detail */
.inbox-pickup-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 999px;
  padding: 4px 10px;
}
.inbox-pickup-status.is-open {
  color: #8a6d00;
  background: #fff4d6;
}
.inbox-pickup-status.is-pending {
  color: #2f6f3e;
  background: #e3f4e9;
}
.inbox-pickup-status.is-finished {
  color: #3a4290;
  background: #e4e6f8;
}

/* ════════════════════════════════════════════════════════════════════════
   Responsive — phased rework (industry-standard inbox patterns)
   Phase 1: bulk-action toolbar overflow ⋮ + empty-state art on small screens
   (Phase 2 = collapse Activity sidebar; Phase 3 = mobile drill-down.)
   ════════════════════════════════════════════════════════════════════════ */
/* The bulk-action toolbar collapses into the ⋮ overflow menu via JS overflow
   detection (fitToolbar()) the moment the inline buttons no longer fit — no
   magic breakpoint. The search box scales (flex) to give the actions room
   first. See .search-section / .actions-section above + fitToolbar() in JS. */
/* Detail empty-state cards reflow on the PANEL width, not the viewport: a wide
   window can still leave a narrow detail panel, which squeezes the 2-column
   grid until the illustration overlaps the copy. Container query → when the card
   is narrow, stack the illustration BELOW the centered copy (don't hide it). */
.inbox-detail-empty {
  container-type: inline-size;
}

@container (max-width: 520px) {
  .inbox-detail-empty .qdnapro-empty-state.empty-state-extended {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
  }
  .inbox-detail-empty .empty-state-extended .empty-state-copy {
    align-items: center;
    order: 1;
  }
  .inbox-detail-empty .empty-state-extended .empty-state-illustration {
    display: flex;
    order: 2;
    margin-top: 8px;
  }
  .inbox-detail-empty .empty-state-illustration qdnapro-illustration,
  .inbox-detail-empty .empty-state-illustration img,
  .inbox-detail-empty .empty-state-illustration svg {
    max-width: 180px;
  }
}
/* Panel-2 (list) empty: drop the decorative art on mobile (revisit in Phase 3). */
@media (max-width: 768px) {
  .inbox-empty qdnapro-illustration {
    display: none;
  }
}
/* ── Nova melding-analyse (meldingen-classificatie Fase 4, 2026-07-11) ──
   Knop-slot rechtsboven in de handover-detail + het analysepaneel
   (samenvatting / toon / classificatie-suggestie / disclaimer). */
.inbox-nova-btn-slot {
  flex: none;
  margin-left: auto;
  align-self: flex-start;
}

.inbox-nova-panel {
  background: #f5f3ff;
  border: 1px solid #e3defa;
  border-radius: 12px;
  padding: 14px 16px;
  margin: 10px 0 14px;
  font-size: 13px;
  color: #22203a;
}
.inbox-nova-panel.is-loading {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #6b6884;
}
.inbox-nova-panel.is-loading .mdi-creation {
  color: #7c6fe0;
  animation: inbox-nova-pulse 1.2s ease-in-out infinite;
}
.inbox-nova-panel .inbox-nova-head {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  color: #4f46a5;
  margin-bottom: 8px;
}
.inbox-nova-panel .inbox-nova-head .mdi {
  color: #7c6fe0;
}
.inbox-nova-panel .inbox-nova-head {
  /* "Opnieuw analyseren" (force) rechts in de kop */
}
.inbox-nova-panel .inbox-nova-head .js-inbox-nova-reanalyse {
  margin-left: auto;
}
.inbox-nova-panel .inbox-nova-summary {
  margin: 0 0 10px;
  white-space: pre-wrap;
}
.inbox-nova-panel .inbox-nova-row {
  margin: 4px 0;
}
.inbox-nova-panel .inbox-nova-label {
  font-weight: 600;
  color: #4f46a5;
  margin-right: 4px;
}
.inbox-nova-panel .inbox-nova-class {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #e9e6fb;
  color: #4f46a5;
  border-radius: 999px;
  padding: 2px 10px;
  font-weight: 600;
}
.inbox-nova-panel .inbox-nova-class.is-none {
  background: #eeedf5;
  color: #6b6884;
  font-weight: 400;
}
.inbox-nova-panel .inbox-nova-rationale {
  color: #6b6884;
  font-size: 12.5px;
  margin-top: 6px;
}
.inbox-nova-panel .inbox-nova-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #e3defa;
  color: #6b6884;
  font-size: 12px;
  font-style: italic;
}
.inbox-nova-panel .inbox-nova-disclaimer .mdi {
  flex: none;
  margin-top: 1px;
}

@keyframes inbox-nova-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.35;
  }
}
/* ── Classificatie-blok (meldingen-classificatie Fase 5, 2026-07-11) ──
   Huidig resultaat (chip + kans + score-badge in bandkleur + herkomst +
   AI-kalibratie-marker) en het inline classificatieformulier met live score. */
.inbox-mc {
  background: #fff;
  border: 1px solid #e6e4f0;
  border-radius: 12px;
  padding: 14px 16px;
  margin: 10px 0 14px;
  font-size: 13px;
  color: #22203a;
}
.inbox-mc .inbox-mc-head {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  color: #4f46a5;
}
.inbox-mc .inbox-mc-head .mdi {
  color: #7c6fe0;
}
.inbox-mc .inbox-mc-head qdnapro-button {
  margin-left: auto;
}
.inbox-mc .inbox-mc-result {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.inbox-mc .inbox-mc-rec {
  color: #6b6884;
}
.inbox-mc .inbox-mc-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin-top: 8px;
  color: #6b6884;
  font-size: 12px;
}
.inbox-mc .inbox-mc-ai {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.inbox-mc .inbox-mc-ai .mdi {
  color: #7c6fe0;
}
.inbox-mc .inbox-mc-ai.is-match {
  color: #2e7d32;
}
.inbox-mc .inbox-mc-ai.is-deviated {
  color: #b06e00;
}
.inbox-mc .inbox-mc-empty {
  margin-top: 8px;
  color: #6b6884;
}
.inbox-mc .inbox-mc-form {
  margin-top: 12px;
}
.inbox-mc .inbox-mc-form-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.inbox-mc .inbox-mc-form-row qdnapro-select {
  flex: 1;
  min-width: 220px;
}
.inbox-mc .inbox-mc-form-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}
.inbox-mc .inbox-mc-form-foot .inbox-mc-live-score {
  flex: 1;
}

/* ── Melding-samenvatting (opening van het bericht, 2026-07-20) ──
   De prominente OPENING, op de plek onder de takenlijst-kop; de ingevulde velden
   eronder blijven als "bewijs". Bewust visueel GELIJK aan .inbox-nova-panel
   (zelfde kaart + fontgrootte) voor consistentie tussen samenvatting en analyse.
   Het bewerk-veld is een echt qdnapro-input (type=expanding), geen textarea. */
.inbox-summary {
  background: #f5f3ff;
  border: 1px solid #e3defa;
  border-radius: 12px;
  padding: 14px 16px;
  margin: 10px 0 14px;
  font-size: 13px;
  color: #22203a;
}
.inbox-summary .inbox-summary-head {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  color: #4f46a5;
}
.inbox-summary .inbox-summary-head .mdi {
  color: #7c6fe0;
}
.inbox-summary .inbox-summary-title {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  min-width: 0;
}
.inbox-summary .inbox-summary-src {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 1px 8px;
  border-radius: 999px;
  background: #e9e6fb;
  color: #4f46a5;
  font-size: 11px;
  font-weight: 600;
}
.inbox-summary .inbox-summary-src .mdi {
  font-size: 13px;
  color: #4f46a5;
}
.inbox-summary .inbox-summary-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  flex-shrink: 0;
}
.inbox-summary .inbox-summary-body {
  margin-top: 8px;
}
.inbox-summary .inbox-summary-text {
  margin: 0;
  line-height: 1.5;
  white-space: pre-wrap;
}
.inbox-summary .inbox-summary-meta {
  margin-top: 8px;
  font-size: 12px;
  color: #6b6884;
}
.inbox-summary.is-collapsed .inbox-summary-body {
  display: none;
}
.inbox-summary .inbox-summary-add {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: #4f46a5;
  font-size: 13px;
  font-weight: 600;
}
.inbox-summary .inbox-summary-add .mdi {
  font-size: 18px;
}
.inbox-summary .inbox-summary-add:hover {
  text-decoration: underline;
}
.inbox-summary .inbox-summary-input {
  display: block;
  width: 100%;
  margin-top: 8px;
}
.inbox-summary .inbox-summary-form-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}
.inbox-summary .inbox-summary-form-foot .inbox-summary-spacer {
  flex: 1;
}

/* ── Incidentanalyse-blok (PRISMA/SIRE fase 1, 2026-07-20) ──
   Router-advies + Start-knop, of de bestaande analyse (methode-chip + status +
   deep-link naar het workbench op het meldingen-dashboard). Zelfde kaart-idioom
   als .inbox-mc erboven. */
.inbox-ia {
  background: #fff;
  border: 1px solid #e6e4f0;
  border-radius: 12px;
  padding: 14px 16px;
  margin: 10px 0 14px;
  font-size: 13px;
  color: #22203a;
}
.inbox-ia .inbox-ia-head {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  color: #4f46a5;
}
.inbox-ia .inbox-ia-head .mdi {
  color: #7c6fe0;
}
.inbox-ia .inbox-ia-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.inbox-ia .inbox-ia-row qdnapro-button {
  margin-left: auto;
}
.inbox-ia .inbox-ia-status {
  color: #6b6884;
}
.inbox-ia .inbox-ia-src {
  color: #6b6884;
  font-size: 12px;
}
.inbox-ia .inbox-ia-open {
  margin-left: auto;
  color: #4f46a5;
  font-weight: 600;
  text-decoration: none;
}
.inbox-ia .inbox-ia-open:hover {
  text-decoration: underline;
}
.inbox-ia .inbox-ia-muted {
  margin-top: 8px;
  color: #6b6884;
}

/* ── Classificatiemappen in de sidebar-tree (meldingen-classificatie Fase 6) ──
   Status-rij met uitklap-chevron + geneste sublijst: per set een vette kop, de
   classificaties en "Ongeclassificeerd". Bouwt voort op .sidebar-item. */
.left-sidebar .cls-status-row {
  padding-left: 8px;
}
.left-sidebar .cls-status-row .cls-collapse-btn {
  cursor: pointer;
  transition: color 0.12s;
}
.left-sidebar .cls-status-row .cls-collapse-btn:hover {
  color: #40499A;
}
.left-sidebar .cls-status-row .cls-collapse-spacer {
  visibility: hidden;
}
.left-sidebar .cls-sub-list {
  margin: 2px 0 4px;
}
.left-sidebar .cls-set-header {
  padding: 6px 8px 3px 30px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #8C92C2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.left-sidebar .cls-item {
  padding-left: 42px;
  font-size: 11.5px;
}
.left-sidebar .cls-item.cls-item-unclassified i, .left-sidebar .cls-item.cls-item-unclassified .sidebar-item-label {
  color: #8C92C2;
}

#project-content-info {
  position: relative;
  background-color: #40499A;
}

#project-content-info-man {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#project-content-info-details {
  text-align: center;
  position: absolute;
  top: 62%;
  left: 45%;
  transform: translate(-50%, -50%);
  width: 40%;
}

.lightbulb-icon {
  width: 25%;
}

.essentials-button {
  padding: 4px 12px 4px 6px;
  border-radius: 10px;
  background-color: #40499a !important;
  color: #f1f1f1;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.circle-count {
  padding-left: 3px;
  padding-right: 3px;
  background-color: #1E205C;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
}

.project-content-row {
  font-size: 14px;
  gap: 16px;
  flex-wrap: nowrap;
}
.project-content-row .card {
  background-color: #FFF !important;
}

.project-content-col {
  border-radius: 20px;
  background-color: #FFF;
  padding: 12px 16px;
}

.txt-vw-2 {
  font-size: 2vmin;
}

.txt-vw-3 {
  font-size: 3vmin;
}

.custom-text-blue {
  color: #40499A;
  text-align: center;
}

.abcd {
  border-radius: 20px;
  font-weight: normal;
}
.abcd .ts-primary-button {
  width: 200px;
  border-radius: 10px;
  padding: 8px;
  background-color: #40499A !important;
  color: #FFF;
  cursor: pointer;
}

.def {
  border-radius: 12px;
  background-color: #FFF;
  min-height: 124px;
  text-align: center;
  color: #40499A;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  cursor: pointer;
}

.modal-backdrop {
  width: 100%;
  height: 100%;
}

.validate-error {
  color: red;
}

.ts-sort-placeholder {
  border: 2px dashed #c1c1c1;
  height: 75px;
  margin: 15px 0;
}

#home {
  gap: 12px;
  display: flex;
  flex-direction: column;
}
#home .blocks_background {
  background-color: #FFF;
  border-radius: 12px;
}
#home .block_heading {
  font-weight: 600;
}
#home .detail_block {
  font-weight: 400;
  padding: 24px 32px;
}
#home .detail_block-title {
  font-size: 25px;
  font-weight: 600;
}
#home .detail_block-description {
  font-size: 16px;
}
#home .detail_block-user_detail {
  padding-top: 8px;
  display: flex;
  align-items: center;
  gap: 72px;
}
#home .detail_block-user_detail-info {
  padding-top: 8px;
  display: flex;
  align-items: center;
  gap: 36px;
  border-radius: 8px;
}
#home .detail_block-user_detail-info img {
  width: 90px;
  border-radius: 16px;
}
#home .detail_block-user_detail-info .block_heading {
  font-size: 18px;
}
#home .project_count {
  display: flex;
  gap: 12px;
}
#home .project_count-cols {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
}
#home .project_count .star_block {
  display: flex;
  align-items: center;
  flex: 1;
  padding: 4px 0px;
}
#home .project_count .star_block-detail {
  display: flex;
  flex: 1;
  font-weight: 500;
}
#home .project_count .star_block-detail-icon {
  font-size: 48px;
  text-align: center;
  color: #40499a;
  padding: 0px 24px;
}
#home .project_count .star_block-detail-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#home .project_count .star_block-detail-body-title {
  font-size: 20px;
}
#home .project_count .star_block-count {
  font-size: 48px;
  font-weight: 600;
  display: flex;
  justify-content: end;
  padding: 0px 40px;
}
#home .project_count .assesment_block {
  display: flex;
  flex: 1;
  padding: 0;
  flex-direction: column;
  padding: 0px 16px;
}
#home .project_count .assesment_block-icon {
  font-size: 60px;
  padding: 0px 24px;
  color: #40499a;
}
#home .project_count .assesment_block-body {
  padding: 0px 24px;
}
#home .project_count .assesment_block-body-title {
  font-size: 32px;
  font-weight: 700;
}
#home .project_count .assesment_block-body-description {
  font-size: 16px;
}
#home .project_count .assesment_block-body-count {
  font-size: 60px;
  font-weight: 700;
}
#home .graph_container i {
  font-size: 48px;
  padding: 8px;
  color: #40499a;
}
#home .graph_container-title {
  font-size: 16px;
  padding: 0px 8px;
  font-weight: 600;
}

.ov-root {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 56px);
  overflow: hidden;
  padding: 0;
}

.ov-body {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0 8px;
}

.ov-ctrl-bar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0;
  padding: 8px 0 6px;
  transition: gap 220ms cubic-bezier(0.4, 0, 0.2, 1);
}

.ov-ctrl-sidebar {
  flex: 0 0 auto;
  width: 0;
  overflow: hidden;
  background: white;
  border-radius: 12px;
  transition: width 220ms cubic-bezier(0.4, 0, 0.2, 1), border-radius 220ms cubic-bezier(0.4, 0, 0.2, 1);
}

.ov-ctrl-sidebar-inner {
  width: 260px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 6px 0 12px;
  min-height: 44px;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  white-space: nowrap;
  box-sizing: border-box;
}

.ov-ctrl-sidebar-title {
  flex: 1 1 auto;
}

.ov-ctrl-search {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ov-ctrl-search qdnapro-input {
  flex: 1 1 auto;
}

.ov-workspace {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  gap: 0;
  padding-bottom: 8px;
}

.ov-sidebar-wrap {
  flex: 0 0 auto;
  width: 0;
  overflow: hidden;
  margin-right: 0;
  background: white;
  border-radius: 12px;
  transition: width 220ms cubic-bezier(0.4, 0, 0.2, 1), border-radius 220ms cubic-bezier(0.4, 0, 0.2, 1), margin-right 220ms cubic-bezier(0.4, 0, 0.2, 1), margin-top 220ms cubic-bezier(0.4, 0, 0.2, 1);
}
.ov-sidebar-wrap qdnapro-sidebar {
  width: 260px;
  height: 100%;
}

.ov-content {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: white;
  border-radius: 12px;
  overflow: hidden;
}

.ov-panel-header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px;
  border-bottom: 1px solid #f0f1f2;
}

.ov-panel-header-left {
  display: flex;
  align-items: center;
  gap: 6px;
}

.ov-panel-header-right {
  display: flex;
  align-items: center;
  gap: 4px;
}

.ov-label {
  font-size: 13px;
  font-weight: 500;
  color: #374151;
}

.ov-count {
  font-size: 12px;
  font-weight: 500;
  color: #6b7280;
  background: #f3f4f6;
  border-radius: 4px;
  padding: 2px 7px;
}

.ov-table-area {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.ov-table-area qdnapro-table {
  flex: 1 1 auto;
}

.ov-btn-active {
  background: var(--c-purple-50, #e6e9ff) !important;
  color: var(--c-purple-500, #40499a) !important;
}

.ov-footer {
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
  padding: 6px 8px;
}

.ov-root.sidebar-open .ov-ctrl-bar {
  gap: 8px;
}
.ov-root.sidebar-open .ov-ctrl-sidebar {
  width: 260px;
  border-radius: 12px 12px 0 0;
  padding: 4px;
}
.ov-root.sidebar-open .ov-sidebar-wrap {
  width: 260px;
  border-radius: 0 0 12px 12px;
  margin-right: 8px;
  margin-top: -6px;
}

.ov-root.sidebar-collapsed .ov-ctrl-bar {
  gap: 8px;
}
.ov-root.sidebar-collapsed .ov-ctrl-sidebar {
  width: 260px;
  padding: 4px;
}

.alert.mdi::before,
.breadcrumb .mdi::before,
.btn.mdi::before,
.card-title.mdi::before,
.card-subtitle.mdi::before,
.card-link.mdi::before,
.dropdown-item.mdi::before,
.list-group-item.mdi::before,
.nav-link.mdi::before {
  font-size: 1.25em;
  line-height: initial;
  position: relative;
  top: 0.09rem;
}

.alert.mdi::before,
.breadcrumb .mdi:not(:empty)::before,
.btn.mdi:not(:empty)::before,
.card-title.mdi:not(:empty)::before,
.card-subtitle.mdi:not(:empty)::before,
.card-link.mdi:not(:empty)::before,
.dropdown-item.mdi:not(:empty)::before,
.nav-link.mdi:not(:empty)::before {
  margin-right: 0.25rem;
}

.list-group-item.mdi:not(:empty)::before {
  margin-right: 0.5rem;
}

.dropdown-item.mdi:not(:empty)::before {
  margin-left: -0.75rem;
}

.alert.mdi::before,
.list-group-item.mdi:not(:empty)::before {
  margin-left: -0.5rem;
}

.modal-title.mdi::before {
  font-size: 1.5em;
  line-height: 0.5;
  position: relative;
  top: 0.26rem;
  margin-right: 0.5rem;
}

fieldset[disabled] .multiselect {
  pointer-events: none;
}

.multiselect__spinner {
  position: absolute;
  right: 1px;
  top: 1px;
  width: 48px;
  height: 35px;
  background: #fff;
  display: block;
}

.multiselect__spinner:after, .multiselect__spinner:before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  margin: -8px 0 0 -8px;
  width: 16px;
  height: 16px;
  border-radius: 100%;
  border: 2px solid transparent;
  border-top-color: #41b883;
  box-shadow: 0 0 0 1px transparent;
}

.multiselect__spinner:before {
  animation: spinning 2.4s cubic-bezier(0.41, 0.26, 0.2, 0.62);
  animation-iteration-count: infinite;
}

.multiselect__spinner:after {
  animation: spinning 2.4s cubic-bezier(0.51, 0.09, 0.21, 0.8);
  animation-iteration-count: infinite;
}

.multiselect__loading-enter-active, .multiselect__loading-leave-active {
  transition: opacity 0.4s ease-in-out;
  opacity: 1;
}

.multiselect__loading-enter, .multiselect__loading-leave-active {
  opacity: 0;
}

.multiselect, .multiselect__input, .multiselect__single {
  font-family: inherit;
  font-size: 16px;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

.multiselect {
  box-sizing: content-box;
  display: block;
  position: relative;
  width: 100%;
  min-height: 40px;
  text-align: left;
  color: #35495e;
}

.multiselect * {
  box-sizing: border-box;
}

.multiselect:focus {
  outline: none;
}

.multiselect--disabled {
  background: #ededed;
  pointer-events: none;
  opacity: 0.6;
}

.multiselect--active {
  z-index: 50;
}

.multiselect--active:not(.multiselect--above) .multiselect__current, .multiselect--active:not(.multiselect--above) .multiselect__input, .multiselect--active:not(.multiselect--above) .multiselect__tags {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.multiselect--active .multiselect__select {
  transform: rotate(180deg);
}

.multiselect--above.multiselect--active .multiselect__current, .multiselect--above.multiselect--active .multiselect__input, .multiselect--above.multiselect--active .multiselect__tags {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.multiselect__input, .multiselect__single {
  position: relative;
  display: inline-block;
  min-height: 20px;
  line-height: 20px;
  border: none;
  border-radius: 5px;
  background: #fff;
  padding: 0 0 0 5px;
  width: 100%;
  transition: border 0.1s ease;
  box-sizing: border-box;
  margin-bottom: 8px;
  vertical-align: top;
}

.multiselect__input:-ms-input-placeholder {
  color: #35495e;
}

.multiselect__input::placeholder {
  color: #35495e;
}

.multiselect__tag ~ .multiselect__input, .multiselect__tag ~ .multiselect__single {
  width: auto;
}

.multiselect__input:hover, .multiselect__single:hover {
  border-color: #cfcfcf;
}

.multiselect__input:focus, .multiselect__single:focus {
  border-color: #a8a8a8;
  outline: none;
}

.multiselect__single {
  padding-left: 5px;
  margin-bottom: 8px;
}

.multiselect__tags-wrap {
  display: inline;
}

.multiselect__tags {
  min-height: 40px;
  display: block;
  padding: 8px 40px 0 8px;
  border-radius: 5px;
  border: 1px solid #e8e8e8;
  background: #fff;
  font-size: 14px;
}

.multiselect__tag {
  position: relative;
  display: inline-block;
  padding: 4px 26px 4px 10px;
  border-radius: 5px;
  margin-right: 10px;
  color: #fff;
  line-height: 1;
  background: #41b883;
  margin-bottom: 5px;
  white-space: nowrap;
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
}

.multiselect__tag-icon {
  cursor: pointer;
  margin-left: 7px;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  font-weight: 700;
  font-style: normal;
  width: 22px;
  text-align: center;
  line-height: 22px;
  transition: all 0.2s ease;
  border-radius: 5px;
}

.multiselect__tag-icon:after {
  content: "×";
  color: #266d4d;
  font-size: 14px;
}

.multiselect__tag-icon:focus, .multiselect__tag-icon:hover {
  background: #369a6e;
}

.multiselect__tag-icon:focus:after, .multiselect__tag-icon:hover:after {
  color: #fff;
}

.multiselect__current {
  min-height: 40px;
  overflow: hidden;
  padding: 8px 30px 0 12px;
  white-space: nowrap;
  border-radius: 5px;
  border: 1px solid #e8e8e8;
}

.multiselect__current, .multiselect__select {
  line-height: 16px;
  box-sizing: border-box;
  display: block;
  margin: 0;
  text-decoration: none;
  cursor: pointer;
}

.multiselect__select {
  position: absolute;
  width: 40px;
  height: 38px;
  right: 1px;
  top: 1px;
  padding: 4px 8px;
  text-align: center;
  transition: transform 0.2s ease;
}

.multiselect__select:before {
  position: relative;
  right: 0;
  top: 65%;
  color: #999;
  margin-top: 4px;
  border-color: #999 transparent transparent;
  border-style: solid;
  border-width: 5px 5px 0;
  content: "";
}

.multiselect__placeholder {
  color: #adadad;
  display: inline-block;
  margin-bottom: 10px;
  padding-top: 2px;
}

.multiselect--active .multiselect__placeholder {
  display: none;
}

.multiselect__content-wrapper {
  position: absolute;
  display: block;
  background: #fff;
  width: 100%;
  max-height: 240px;
  overflow: auto;
  border: 1px solid #e8e8e8;
  border-top: none;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  z-index: 50;
  -webkit-overflow-scrolling: touch;
}

.multiselect__content {
  list-style: none;
  display: inline-block;
  padding: 0;
  margin: 0;
  min-width: 100%;
  vertical-align: top;
}

.multiselect--above .multiselect__content-wrapper {
  bottom: 100%;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom: none;
  border-top: 1px solid #e8e8e8;
}

.multiselect__content::webkit-scrollbar {
  display: none;
}

.multiselect__element {
  display: block;
}

.multiselect__option {
  display: block;
  padding: 12px;
  min-height: 40px;
  line-height: 16px;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  white-space: nowrap;
}

.multiselect__option:after {
  top: 0;
  right: 0;
  position: absolute;
  line-height: 40px;
  padding-right: 12px;
  padding-left: 20px;
  font-size: 13px;
}

.multiselect__option--highlight {
  background: #41b883;
  outline: none;
  color: #fff;
}

.multiselect__option--highlight:after {
  content: attr(data-select);
  background: #41b883;
  color: #fff;
}

.multiselect__option--selected {
  background: #f3f3f3;
  color: #35495e;
  font-weight: 700;
}

.multiselect__option--selected:after {
  content: attr(data-selected);
  color: silver;
}

.multiselect__option--selected.multiselect__option--highlight {
  background: #ff6a6a;
  color: #fff;
}

.multiselect__option--selected.multiselect__option--highlight:after {
  background: #ff6a6a;
  content: attr(data-deselect);
  color: #fff;
}

.multiselect--disabled .multiselect__current, .multiselect--disabled .multiselect__select {
  background: #ededed;
  color: #a6a6a6;
}

.multiselect__option--disabled {
  background: #ededed !important;
  color: #a6a6a6 !important;
  cursor: text;
  pointer-events: none;
}

.multiselect__option--group {
  background: #ededed;
  color: #35495e;
}

.multiselect__option--group.multiselect__option--highlight {
  background: #35495e;
  color: #fff;
}

.multiselect__option--group.multiselect__option--highlight:after {
  background: #35495e;
}

.multiselect__option--disabled.multiselect__option--highlight {
  background: #dedede;
}

.multiselect__option--group-selected.multiselect__option--highlight {
  background: #ff6a6a;
  color: #fff;
}

.multiselect__option--group-selected.multiselect__option--highlight:after {
  background: #ff6a6a;
  content: attr(data-deselect);
  color: #fff;
}

.multiselect-enter-active, .multiselect-leave-active {
  transition: all 0.15s ease;
}

.multiselect-enter, .multiselect-leave-active {
  opacity: 0;
}

.multiselect__strong {
  margin-bottom: 8px;
  line-height: 20px;
  display: inline-block;
  vertical-align: top;
}

[dir=rtl] .multiselect {
  text-align: right;
}

[dir=rtl] .multiselect__select {
  right: auto;
  left: 1px;
}

[dir=rtl] .multiselect__tags {
  padding: 8px 8px 0 40px;
}

[dir=rtl] .multiselect__content {
  text-align: right;
}

[dir=rtl] .multiselect__option:after {
  right: auto;
  left: 0;
}

[dir=rtl] .multiselect__clear {
  right: auto;
  left: 12px;
}

[dir=rtl] .multiselect__spinner {
  right: auto;
  left: 1px;
}

@keyframes spinning {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(2turn);
  }
}
.multiselect__tags {
  display: block;
  width: 100%;
  padding-top: 0.375rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  color: #495057;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  min-height: calc(2.25rem + 2px);
}

.multiselect__single,
.multiselect__placeholder,
.multiselect__input {
  color: #495057;
  padding-top: 0;
  margin-bottom: 0.375rem;
  font-weight: 400;
  padding-left: 0;
  line-height: 1.5;
}

.card-rules .multiselect__tags {
  border-color: #5a83ec;
}
.card-rules .multiselect__tag {
  background-color: #e8eefc;
  color: #495057;
  border: 1px solid #5a83ec;
  font-weight: 400;
  font-size: 0.875rem;
  margin-bottom: 2px;
}
.card-rules .multiselect__tag-icon:after {
  color: #495057;
}
.card-rules .multiselect__tag-icon {
  border-radius: 50%;
}
.card-rules .multiselect__tag-icon:focus, .card-rules .multiselect__tag-icon:hover {
  background: #5a83ec;
  color: #495057;
}
.card-rules .multiselect__tag-icon:focus:after, .card-rules .multiselect__tag-icon:hover:after {
  color: #fff;
}
.card-rules .multiselect--above .multiselect__content-wrapper {
  border-color: #5a83ec;
  font-size: 0.875rem;
}
.card-rules .multiselect__option--highlight {
  background: #44bcab;
}
.card-rules .multiselect__option--highlight:after {
  background: #44bcab;
}
.card-rules .multiselect__option--selected {
  background: #5a83ec;
  color: #fff;
}
.card-rules .multiselect__option--selected:hover {
  background: #d63b49;
}
.card-rules .multiselect__option--selected:hover:after {
  background: #d63b49;
}
.card-rules .multiselect__option--selected:after {
  background: #5a83ec;
}

.cropper-container {
  direction: ltr;
  font-size: 0;
  line-height: 0;
  position: relative;
  touch-action: none;
  -webkit-touch-callout: none;
  user-select: none;
}
.cropper-container img {
  backface-visibility: hidden;
  display: block;
  height: 100%;
  image-orientation: 0deg;
  max-height: none !important;
  max-width: none !important;
  min-height: 0 !important;
  min-width: 0 !important;
  width: 100%;
}
.cropper-wrap-box, .cropper-canvas, .cropper-drag-box, .cropper-crop-box, .cropper-modal {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.cropper-wrap-box, .cropper-canvas {
  overflow: hidden;
}
.cropper-drag-box {
  background-color: #fff;
  opacity: 0;
}
.cropper-modal {
  background-color: #000;
  opacity: 0.5;
}
.cropper-view-box {
  display: block;
  height: 100%;
  outline: 1px solid #39f;
  outline-color: rgba(51, 153, 255, 0.75);
  overflow: hidden;
  width: 100%;
}
.cropper-dashed {
  border: 0 dashed #eee;
  display: block;
  opacity: 0.5;
  position: absolute;
}
.cropper-dashed.dashed-h {
  border-bottom-width: 1px;
  border-top-width: 1px;
  height: 33.3333333333%;
  left: 0;
  top: 33.3333333333%;
  width: 100%;
}
.cropper-dashed.dashed-v {
  border-left-width: 1px;
  border-right-width: 1px;
  height: 100%;
  left: 33.3333333333%;
  top: 0;
  width: 33.3333333333%;
}
.cropper-center {
  display: block;
  height: 0;
  left: 50%;
  opacity: 0.75;
  position: absolute;
  top: 50%;
  width: 0;
}
.cropper-center::before, .cropper-center::after {
  background-color: #eee;
  content: " ";
  display: block;
  position: absolute;
}
.cropper-center::before {
  height: 1px;
  left: -3px;
  top: 0;
  width: 7px;
}
.cropper-center::after {
  height: 7px;
  left: 0;
  top: -3px;
  width: 1px;
}
.cropper-face, .cropper-line, .cropper-point {
  display: block;
  height: 100%;
  opacity: 0.1;
  position: absolute;
  width: 100%;
}
.cropper-face {
  background-color: #fff;
  left: 0;
  top: 0;
}
.cropper-line {
  background-color: #39f;
}
.cropper-line.line-e {
  cursor: ew-resize;
  right: -3px;
  top: 0;
  width: 5px;
}
.cropper-line.line-n {
  cursor: ns-resize;
  height: 5px;
  left: 0;
  top: -3px;
}
.cropper-line.line-w {
  cursor: ew-resize;
  left: -3px;
  top: 0;
  width: 5px;
}
.cropper-line.line-s {
  bottom: -3px;
  cursor: ns-resize;
  height: 5px;
  left: 0;
}
.cropper-point {
  background-color: #39f;
  height: 5px;
  opacity: 0.75;
  width: 5px;
}
.cropper-point.point-e {
  cursor: ew-resize;
  margin-top: -3px;
  right: -3px;
  top: 50%;
}
.cropper-point.point-n {
  cursor: ns-resize;
  left: 50%;
  margin-left: -3px;
  top: -3px;
}
.cropper-point.point-w {
  cursor: ew-resize;
  left: -3px;
  margin-top: -3px;
  top: 50%;
}
.cropper-point.point-s {
  bottom: -3px;
  cursor: s-resize;
  left: 50%;
  margin-left: -3px;
}
.cropper-point.point-ne {
  cursor: nesw-resize;
  right: -3px;
  top: -3px;
}
.cropper-point.point-nw {
  cursor: nwse-resize;
  left: -3px;
  top: -3px;
}
.cropper-point.point-sw {
  bottom: -3px;
  cursor: nesw-resize;
  left: -3px;
}
.cropper-point.point-se {
  bottom: -3px;
  cursor: nwse-resize;
  height: 20px;
  opacity: 1;
  right: -3px;
  width: 20px;
}
@media (min-width: 768px) {
  .cropper-point.point-se {
    height: 15px;
    width: 15px;
  }
}
@media (min-width: 992px) {
  .cropper-point.point-se {
    height: 10px;
    width: 10px;
  }
}
@media (min-width: 1200px) {
  .cropper-point.point-se {
    height: 5px;
    opacity: 0.75;
    width: 5px;
  }
}
.cropper-point.point-se::before {
  background-color: #39f;
  bottom: -50%;
  content: " ";
  display: block;
  height: 200%;
  opacity: 0;
  position: absolute;
  right: -50%;
  width: 200%;
}
.cropper-invisible {
  opacity: 0;
}
.cropper-bg {
  background-image: url("../images/bg.png");
}
.cropper-hide {
  display: block;
  height: 0;
  position: absolute;
  width: 0;
}
.cropper-hidden {
  display: none !important;
}
.cropper-move {
  cursor: move;
}
.cropper-crop {
  cursor: crosshair;
}
.cropper-disabled .cropper-drag-box, .cropper-disabled .cropper-face, .cropper-disabled .cropper-line, .cropper-disabled .cropper-point {
  cursor: not-allowed;
}

.cropper-line {
  background-color: #3f499a;
}

:host,
:root {
  --vs-colors--lightest: rgba(60, 60, 60, 0.26);
  --vs-colors--light: rgba(60, 60, 60, 0.5);
  --vs-colors--dark: #333;
  --vs-colors--darkest: rgba(0, 0, 0, 0.15);
  --vs-search-input-color: inherit;
  --vs-search-input-bg: #fff;
  --vs-search-input-placeholder-color: inherit;
  --vs-font-size: 1rem;
  --vs-line-height: 1.4;
  --vs-state-disabled-bg: #f8f8f8;
  --vs-state-disabled-color: var(--vs-colors--light);
  --vs-state-disabled-controls-color: var(--vs-colors--light);
  --vs-state-disabled-cursor: not-allowed;
  --vs-border-color: var(--vs-colors--lightest);
  --vs-border-width: 1px;
  --vs-border-style: solid;
  --vs-border-radius: 4px;
  --vs-actions-padding: 4px 6px 0 3px;
  --vs-controls-color: var(--vs-colors--light);
  --vs-controls-size: 1;
  --vs-controls--deselect-text-shadow: 0 1px 0 #fff;
  --vs-selected-bg: #f0f0f0;
  --vs-selected-color: var(--vs-colors--dark);
  --vs-selected-border-color: var(--vs-border-color);
  --vs-selected-border-style: var(--vs-border-style);
  --vs-selected-border-width: var(--vs-border-width);
  --vs-dropdown-bg: #fff;
  --vs-dropdown-color: inherit;
  --vs-dropdown-z-index: 1000;
  --vs-dropdown-min-width: 160px;
  --vs-dropdown-max-height: 350px;
  --vs-dropdown-box-shadow: 0px 3px 6px 0px var(--vs-colors--darkest);
  --vs-dropdown-option-bg: #000;
  --vs-dropdown-option-color: var(--vs-dropdown-color);
  --vs-dropdown-option-padding: 3px 20px;
  --vs-dropdown-option--active-bg: #5897fb;
  --vs-dropdown-option--active-color: #fff;
  --vs-dropdown-option--deselect-bg: #fb5858;
  --vs-dropdown-option--deselect-color: #fff;
  --vs-transition-timing-function: cubic-bezier(1, -0.115, 0.975, 0.855);
  --vs-transition-duration: 150ms ;
}

.v-select {
  font-family: inherit;
  position: relative;
}

.v-select,
.v-select * {
  box-sizing: border-box;
}

:root {
  --vs-transition-timing-function: cubic-bezier(1, 0.5, 0.8, 1);
  --vs-transition-duration: 0.15s ;
}

@-webkit-keyframes vSelectSpinner {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(1turn);
  }
}
@keyframes vSelectSpinner {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(1turn);
  }
}
.vs__fade-enter-active,
.vs__fade-leave-active {
  pointer-events: none;
  transition: opacity var(--vs-transition-duration) var(--vs-transition-timing-function);
}

.vs__fade-enter,
.vs__fade-leave-to {
  opacity: 0;
}

:root {
  --vs-disabled-bg: var(--vs-state-disabled-bg);
  --vs-disabled-color: var(--vs-state-disabled-color);
  --vs-disabled-cursor: var(--vs-state-disabled-cursor) ;
}

.vs--disabled .vs__clear,
.vs--disabled .vs__dropdown-toggle,
.vs--disabled .vs__open-indicator,
.vs--disabled .vs__search,
.vs--disabled .vs__selected {
  background-color: var(--vs-disabled-bg);
  cursor: var(--vs-disabled-cursor);
}

.v-select[dir=rtl] .vs__actions {
  padding: 0 3px 0 6px;
}

.v-select[dir=rtl] .vs__clear {
  margin-left: 6px;
  margin-right: 0;
}

.v-select[dir=rtl] .vs__deselect {
  margin-left: 0;
  margin-right: 2px;
}

.v-select[dir=rtl] .vs__dropdown-menu {
  text-align: right;
}

.vs__dropdown-toggle {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: var(--vs-search-input-bg);
  border: var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);
  border-radius: var(--vs-border-radius);
  display: flex;
  padding: 0 0 4px;
  white-space: normal;
}

.vs__selected-options {
  display: flex;
  flex-basis: 100%;
  flex-grow: 1;
  flex-wrap: wrap;
  padding: 0 2px;
  position: relative;
}

.vs__actions {
  align-items: center;
  display: flex;
  padding: var(--vs-actions-padding);
}

.vs--searchable .vs__dropdown-toggle {
  cursor: text;
}

.vs--unsearchable .vs__dropdown-toggle {
  cursor: pointer;
}

.vs--open .vs__dropdown-toggle {
  border-bottom-color: transparent;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.vs__open-indicator {
  fill: var(--vs-controls-color);
  transform: scale(var(--vs-controls-size));
  transition: transform var(--vs-transition-duration) var(--vs-transition-timing-function);
  transition-timing-function: var(--vs-transition-timing-function);
}

.vs--open .vs__open-indicator {
  transform: rotate(180deg) scale(var(--vs-controls-size));
}

.vs--loading .vs__open-indicator {
  opacity: 0;
}

.vs__clear {
  fill: var(--vs-controls-color);
  background-color: transparent;
  border: 0;
  cursor: pointer;
  margin-right: 8px;
  padding: 0;
}

.vs__dropdown-menu {
  background: var(--vs-dropdown-bg);
  border: var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);
  border-radius: 0 0 var(--vs-border-radius) var(--vs-border-radius);
  border-top-style: none;
  box-shadow: var(--vs-dropdown-box-shadow);
  box-sizing: border-box;
  color: var(--vs-dropdown-color);
  display: block;
  left: 0;
  list-style: none;
  margin: 0;
  max-height: var(--vs-dropdown-max-height);
  min-width: var(--vs-dropdown-min-width);
  overflow-y: auto;
  padding: 5px 0;
  position: absolute;
  text-align: left;
  top: calc(100% - var(--vs-border-width));
  width: 100%;
  z-index: var(--vs-dropdown-z-index);
}

.vs__no-options {
  text-align: center;
}

.vs__dropdown-option {
  clear: both;
  color: var(--vs-dropdown-option-color);
  cursor: pointer;
  display: block;
  line-height: 1.42857143;
  padding: var(--vs-dropdown-option-padding);
  white-space: nowrap;
}

.vs__dropdown-option--highlight {
  background: var(--vs-dropdown-option--active-bg);
  color: var(--vs-dropdown-option--active-color);
}

.vs__dropdown-option--deselect {
  background: var(--vs-dropdown-option--deselect-bg);
  color: var(--vs-dropdown-option--deselect-color);
}

.vs__dropdown-option--disabled {
  background: var(--vs-state-disabled-bg);
  color: var(--vs-state-disabled-color);
  cursor: var(--vs-state-disabled-cursor);
}

.vs__selected {
  align-items: center;
  background-color: var(--vs-selected-bg);
  border: var(--vs-selected-border-width) var(--vs-selected-border-style) var(--vs-selected-border-color);
  border-radius: var(--vs-border-radius);
  color: var(--vs-selected-color);
  display: flex;
  line-height: var(--vs-line-height);
  margin: 4px 2px 0;
  padding: 0 0.25em;
  z-index: 0;
}

.vs__deselect {
  fill: var(--vs-controls-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  margin-left: 4px;
  padding: 0;
  text-shadow: var(--vs-controls--deselect-text-shadow);
}

.vs--single .vs__selected {
  background-color: transparent;
  border-color: transparent;
}

.vs--single.vs--loading .vs__selected,
.vs--single.vs--open .vs__selected {
  opacity: 0.4;
  position: absolute;
}

.vs--single.vs--searching .vs__selected {
  display: none;
}

.vs__search::-webkit-search-cancel-button {
  display: none;
}

.vs__search::-ms-clear,
.vs__search::-webkit-search-decoration,
.vs__search::-webkit-search-results-button,
.vs__search::-webkit-search-results-decoration {
  display: none;
}

.vs__search,
.vs__search:focus {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: 1px solid transparent;
  border-left: none;
  box-shadow: none;
  color: var(--vs-search-input-color);
  flex-grow: 1;
  font-size: var(--vs-font-size);
  line-height: var(--vs-line-height);
  margin: 4px 0 0;
  max-width: 100%;
  outline: none;
  padding: 0 7px;
  width: 0;
  z-index: 1;
}

.vs__search::-moz-placeholder {
  color: var(--vs-search-input-placeholder-color);
}

.vs__search:-ms-input-placeholder {
  color: var(--vs-search-input-placeholder-color);
}

.vs__search::placeholder {
  color: var(--vs-search-input-placeholder-color);
}

.vs--unsearchable .vs__search {
  opacity: 1;
}

.vs--unsearchable:not(.vs--disabled) .vs__search {
  cursor: pointer;
}

.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search {
  opacity: 0.2;
}

.vs__spinner {
  align-self: center;
  -webkit-animation: vSelectSpinner 1.1s linear infinite;
  animation: vSelectSpinner 1.1s linear infinite;
  border: 0.9em solid hsla(0, 0%, 39%, 0.1);
  border-left-color: rgba(60, 60, 60, 0.45);
  font-size: 5px;
  opacity: 0;
  overflow: hidden;
  text-indent: -9999em;
  transform: translateZ(0) scale(var(--vs-controls--spinner-size, var(--vs-controls-size)));
  transition: opacity 0.1s;
}

.vs__spinner,
.vs__spinner:after {
  border-radius: 50%;
  height: 5em;
  transform: scale(var(--vs-controls--spinner-size, var(--vs-controls-size)));
  width: 5em;
}

.vs--loading .vs__spinner {
  opacity: 1;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vZHVsZXMvdjEvdHlwb2dyYXBoeS5zY3NzIiwicGFydGlhbHMvX2Zsb3dlZGl0b3Iuc2NzcyIsIm1vZHVsZXMvdjEvY29sb3JzLnNjc3MiLCJjb21wb25lbnRzL3YyL2Rlc2lnbi10b2tlbnMvX2Rlc2lnbi10b2tlbnMuc2NzcyIsImNvbXBvbmVudHMvdjEvYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy92MS9pbnB1dC5zY3NzIiwiY29tcG9uZW50cy92MS9sYWJlbHMuc2NzcyIsImNvbXBvbmVudHMvdjEvYmFkZ2VzLnNjc3MiLCJjb21wb25lbnRzL3YxL3RhZ3Muc2NzcyIsImNvbXBvbmVudHMvdjEvc2lkZWJhci5zY3NzIiwiY29tcG9uZW50cy92MS9kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy92MS9kaWFsb2cuc2NzcyIsImNvbXBvbmVudHMvdjEvbmF2aWdhdGlvbmJ1dHRvbi5zY3NzIiwiY29tcG9uZW50cy92MS9tb2RhbC5zY3NzIiwiY29tcG9uZW50cy92MS9jYXJkLnNjc3MiLCJjb21wb25lbnRzL3YxL3VuaXRUeXBlLnNjc3MiLCJjb21wb25lbnRzL3YxL21lbnVMYWJlbC5zY3NzIiwiY29tcG9uZW50cy92MS9zZWFyY2hiYXIuc2NzcyIsImNvbXBvbmVudHMvdjEvY29sdW1uLnNjc3MiLCJjb21wb25lbnRzL3YxL2NhbGVuZGVyL2pvYi1jYXJkLnNjc3MiLCJjb21wb25lbnRzL3YxL2NhbGVuZGVyL2Ryb3Bkb3duX21lbnUuc2NzcyIsImNvbXBvbmVudHMvdjEvY2FsZW5kZXIvdG9nZ2xlLnNjc3MiLCJjb21wb25lbnRzL3YxL2NhbGVuZGVyL2R1ZS1kYXRlLnNjc3MiLCJjb21wb25lbnRzL3YxL3Rvb2x0aXAuc2NzcyIsImNvbXBvbmVudHMvdjEvY2hlY2tib3guc2NzcyIsImNvbXBvbmVudHMvdjEvcmFkaW9CdXR0b24uc2NzcyIsImNvbXBvbmVudHMvdjEvbWVudUl0ZW0uc2NzcyIsImNvbXBvbmVudHMvdjEvYXZhdGFyLnNjc3MiLCJjb21wb25lbnRzL3YyL2FjY291bnQtY2FyZC9fYWNjb3VudC1jYXJkLnNjc3MiLCJjb21wb25lbnRzL3YyL2FjdGlvbi1iYXIvX2FjdGlvbi1iYXIuc2NzcyIsImNvbXBvbmVudHMvdjIvYWN0aXZpdHktY2FyZC9fYWN0aXZpdHktY2FyZC5zY3NzIiwiY29tcG9uZW50cy92Mi9hY3Rpdml0eS1pY29uL19hY3Rpdml0eS1pY29uLnNjc3MiLCJjb21wb25lbnRzL3YyL2FjdGl2aXR5LWljb24tcGlja2VyL19hY3Rpdml0eS1pY29uLXBpY2tlci5zY3NzIiwiY29tcG9uZW50cy92Mi9hY3Rpdml0eS1pY29uLXBpY2tlci1vdmVybGF5L19hY3Rpdml0eS1pY29uLXBpY2tlci1vdmVybGF5LnNjc3MiLCJjb21wb25lbnRzL3YyL2FjdGl2aXR5LXJvdy9fYWN0aXZpdHktcm93LnNjc3MiLCJjb21wb25lbnRzL3YyL2FnZW5kYS1saXN0L19hZ2VuZGEtbGlzdC5zY3NzIiwiY29tcG9uZW50cy92Mi9hbGVydC9fYWxlcnQuc2NzcyIsImNvbXBvbmVudHMvdjIvYW5zd2VyLW9wdGlvbi9fYW5zd2VyLW9wdGlvbi5zY3NzIiwiY29tcG9uZW50cy92Mi9hbnN3ZXItYnV0dG9uL19hbnN3ZXItYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL3YyL2F2YXRhci9fYXZhdGFyLnNjc3MiLCJjb21wb25lbnRzL3YyL2F2YXRhci1zdGFjay9fYXZhdGFyLXN0YWNrLnNjc3MiLCJjb21wb25lbnRzL3YyL2JvdHRvbS1zaGVldC9fYm90dG9tLXNoZWV0LnNjc3MiLCJjb21wb25lbnRzL3YyL2JvdHRvbS1zaGVldC1idXR0b24vX2JvdHRvbS1zaGVldC1idXR0b24uc2NzcyIsImNvbXBvbmVudHMvdjIvcG9wb3Zlci9fcG9wb3Zlci5zY3NzIiwiY29tcG9uZW50cy92Mi9icmVhZGNydW1iL19icmVhZGNydW1iLnNjc3MiLCJjb21wb25lbnRzL3YyL2J1dHRvbi9fYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL3YyL2NhbGVuZGFyLXNlcnZpY2UtYnV0dG9uL19jYWxlbmRhci1zZXJ2aWNlLWJ1dHRvbi5zY3NzIiwiY29tcG9uZW50cy92Mi9jZWxlYnJhdGlvbi9fY2VsZWJyYXRpb24uc2NzcyIsImNvbXBvbmVudHMvdjIvcGFydHktc2NlbmUvX3BhcnR5LXNjZW5lLnNjc3MiLCJjb21wb25lbnRzL3YyL3Njb3JlLWNvdW50L19zY29yZS1jb3VudC5zY3NzIiwiY29tcG9uZW50cy92Mi9jaGVja2JveC9fY2hlY2tib3guc2NzcyIsImNvbXBvbmVudHMvdjIvY29sb3ItcGlja2VyL19jb2xvci1waWNrZXIuc2NzcyIsImNvbXBvbmVudHMvdjIvZGF0ZS1waWNrZXIvX2RhdGUtcGlja2VyLnNjc3MiLCJjb21wb25lbnRzL3YyL2RpdmlkZXIvX2RpdmlkZXIuc2NzcyIsImNvbXBvbmVudHMvdjIvZG9jdW1lbnQtdmlld2VyL19kb2N1bWVudC12aWV3ZXIuc2NzcyIsImNvbXBvbmVudHMvdjIvZHJvcC16b25lL19kcm9wLXpvbmUuc2NzcyIsImNvbXBvbmVudHMvdjIvZW1vamktc2hlZXQvX2Vtb2ppLXNoZWV0LnNjc3MiLCJjb21wb25lbnRzL3YyL2VtcHR5LXN0YXRlL19lbXB0eS1zdGF0ZS5zY3NzIiwiY29tcG9uZW50cy92Mi9ldmVudC1jYXJkL19ldmVudC1jYXJkLnNjc3MiLCJjb21wb25lbnRzL3YyL2V4cG9ydC1tb2RhbC9fZXhwb3J0LW1vZGFsLnNjc3MiLCJjb21wb25lbnRzL3YyL21vbnRoLWdyaWQvX21vbnRoLWdyaWQuc2NzcyIsImNvbXBvbmVudHMvdjIvbW9udGgtc3RyaXAvX21vbnRoLXN0cmlwLnNjc3MiLCJjb21wb25lbnRzL3YyL3RpbWUtZ3JpZC9fdGltZS1ncmlkLnNjc3MiLCJjb21wb25lbnRzL3YyL3RpbWUtcGlja2VyL190aW1lLXBpY2tlci5zY3NzIiwiY29tcG9uZW50cy92Mi90aW1lLXNlbGVjdC9fdGltZS1zZWxlY3Quc2NzcyIsImNvbXBvbmVudHMvdjIvZXZlbnQtc2hlZXQvX2V2ZW50LXNoZWV0LnNjc3MiLCJjb21wb25lbnRzL3YyL2Zhdm9yaXRlLWJ1dHRvbi9fZmF2b3JpdGUtYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL3YyL2ZpbGUtaWNvbi9fZmlsZS1pY29uLnNjc3MiLCJjb21wb25lbnRzL3YyL2ZvbGRlci1pY29uL19mb2xkZXItaWNvbi5zY3NzIiwiY29tcG9uZW50cy92Mi9zdGF0dXMtYmFkZ2UvX3N0YXR1cy1iYWRnZS5zY3NzIiwiY29tcG9uZW50cy92Mi9maWxlLXVwbG9hZC9fZmlsZS11cGxvYWQuc2NzcyIsImNvbXBvbmVudHMvdjIvZmlsdGVyLXNoZWV0L19maWx0ZXItc2hlZXQuc2NzcyIsImNvbXBvbmVudHMvdjIvY29udGV4dC1tZW51L19jb250ZXh0LW1lbnUuc2NzcyIsImNvbXBvbmVudHMvdjIvZm9ybS1jYXJkL19mb3JtLWNhcmQuc2NzcyIsImNvbXBvbmVudHMvdjIvZm9ybWF0LXJ1bGVzL19mb3JtYXQtcnVsZXMuc2NzcyIsImNvbXBvbmVudHMvdjIvZm9ybXVsYS1lZGl0b3IvX2Zvcm11bGEtZWRpdG9yLnNjc3MiLCJjb21wb25lbnRzL3YyL2dyaWQtdGlsZS9fZ3JpZC10aWxlLnNjc3MiLCJjb21wb25lbnRzL3YyL2ljb24tZmllbGQvX2ljb24tZmllbGQuc2NzcyIsImNvbXBvbmVudHMvdjIvaGlzdG9yeS1pdGVtL19oaXN0b3J5LWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvdjIvaWNvbi9faWNvbi5zY3NzIiwiY29tcG9uZW50cy92Mi9pY29uLWJ0bi9faWNvbi1idG4uc2NzcyIsImNvbXBvbmVudHMvdjIvaWxsdXN0cmF0aW9uL19pbGx1c3RyYXRpb24uc2NzcyIsImNvbXBvbmVudHMvdjIvaW5mby1jYXJkL19pbmZvLWNhcmQuc2NzcyIsImNvbXBvbmVudHMvdjIvaW1hZ2UtY3JvcC9faW1hZ2UtY3JvcC5zY3NzIiwiY29tcG9uZW50cy92Mi90eXBvZ3JhcGh5L190eXBvZ3JhcGh5LnNjc3MiLCJjb21wb25lbnRzL3YyL2luYm94LW1lc3NhZ2UvX2luYm94LW1lc3NhZ2Uuc2NzcyIsImNvbXBvbmVudHMvdjIvaW5wdXQvX2lucHV0LnNjc3MiLCJjb21wb25lbnRzL3YyL2xhYmVsLWNpcmNsZS9fbGFiZWwtY2lyY2xlLnNjc3MiLCJjb21wb25lbnRzL3YyL2xvZ28vX2xvZ28uc2NzcyIsImNvbXBvbmVudHMvdjIvbWVtYmVycy9fbWVtYmVycy5zY3NzIiwiY29tcG9uZW50cy92Mi9tZW51L19tZW51LnNjc3MiLCJjb21wb25lbnRzL3YyL21lbnUtaXRlbS9fbWVudS1pdGVtLnNjc3MiLCJjb21wb25lbnRzL3YyL21vZGFsL19tb2RhbC5zY3NzIiwiY29tcG9uZW50cy92Mi9uYXYtaXRlbS9fbmF2LWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvdjIvbmF2LXJhaWwvX25hdi1yYWlsLnNjc3MiLCJjb21wb25lbnRzL3YyL25vZGUtcGlja2VyL19ub2RlLXBpY2tlci5zY3NzIiwiY29tcG9uZW50cy92Mi9ub3ZhL19ub3ZhLnNjc3MiLCJjb21wb25lbnRzL3YyL25vdmEtbGF1bmNoZXIvX25vdmEtbGF1bmNoZXIuc2NzcyIsImNvbXBvbmVudHMvdjIvbm92YS1tZXNzYWdlL19ub3ZhLW1lc3NhZ2Uuc2NzcyIsImNvbXBvbmVudHMvdjIvbnVtYmVyLWluZGljYXRvci1iYWRnZS9fbnVtYmVyLWluZGljYXRvci1iYWRnZS5zY3NzIiwiY29tcG9uZW50cy92Mi9waG90by1nYWxsZXJ5L19waG90by1nYWxsZXJ5LnNjc3MiLCJjb21wb25lbnRzL3YyL3Bob3RvLXRpbGUvX3Bob3RvLXRpbGUuc2NzcyIsImNvbXBvbmVudHMvdjIvcGlja2VyLXRpbGUvX3BpY2tlci10aWxlLnNjc3MiLCJjb21wb25lbnRzL3YyL3BpY2tlci1yb3cvX3BpY2tlci1yb3cuc2NzcyIsImNvbXBvbmVudHMvdjIvcGxhY2Vob2xkZXItaW1hZ2UvX3BsYWNlaG9sZGVyLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL3YyL3Byb2dyZXNzL19wcm9ncmVzcy5zY3NzIiwiY29tcG9uZW50cy92Mi9wcm9qZWN0LWNhcmQvX3Byb2plY3QtY2FyZC5zY3NzIiwiY29tcG9uZW50cy92Mi9wdXNoLW5vdGlmaWNhdGlvbi9fcHVzaC1ub3RpZmljYXRpb24uc2NzcyIsImNvbXBvbmVudHMvdjIvcmFkaW8vX3JhZGlvLnNjc3MiLCJjb21wb25lbnRzL3YyL3JhbmdlLXNsaWRlci9fcmFuZ2Utc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL3YyL3JlY2lwaWVudC1waWNrZXIvX3JlY2lwaWVudC1waWNrZXIuc2NzcyIsIm1vZHVsZXMvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy92Mi9yZXNvdXJjZS10aW1lbGluZS9fcmVzb3VyY2UtdGltZWxpbmUuc2NzcyIsImNvbXBvbmVudHMvdjIvcm93LWJ0bi9fcm93LWJ0bi5zY3NzIiwiY29tcG9uZW50cy92Mi9zZWdtZW50L19zZWdtZW50LnNjc3MiLCJjb21wb25lbnRzL3YyL3NlZ21lbnQtdGlsZXMvX3NlZ21lbnQtdGlsZXMuc2NzcyIsImNvbXBvbmVudHMvdjIvc2NvcmUtc2NhbGUvX3Njb3JlLXNjYWxlLnNjc3MiLCJjb21wb25lbnRzL3YyL2xpa2VydC1zY2FsZS9fbGlrZXJ0LXNjYWxlLnNjc3MiLCJjb21wb25lbnRzL3YyL3NtaWxleS9fc21pbGV5LnNjc3MiLCJjb21wb25lbnRzL3YyL3NtaWxleS1waWNrZXIvX3NtaWxleS1waWNrZXIuc2NzcyIsImNvbXBvbmVudHMvdjIvc2VsZWN0L19zZWxlY3Quc2NzcyIsImNvbXBvbmVudHMvdjIvc2hhcmUvX3NoYXJlLnNjc3MiLCJjb21wb25lbnRzL3YyL3NoYXJlLWxpbmsvX3NoYXJlLWxpbmsuc2NzcyIsImNvbXBvbmVudHMvdjIvc2lkZWJhci9fc2lkZWJhci5zY3NzIiwiY29tcG9uZW50cy92Mi9zbGlkZXIvX3NsaWRlci5zY3NzIiwiY29tcG9uZW50cy92Mi9za2VsZXRvbi9fc2tlbGV0b24uc2NzcyIsImNvbXBvbmVudHMvdjIvc2tlbGV0b24tYm9uZS9fc2tlbGV0b24tYm9uZS5zY3NzIiwiY29tcG9uZW50cy92Mi9za2VsZXRvbi1pbmJveC1yb3cvX3NrZWxldG9uLWluYm94LXJvdy5zY3NzIiwiY29tcG9uZW50cy92Mi9za2VsZXRvbi1wcm9qZWN0LWNhcmQvX3NrZWxldG9uLXByb2plY3QtY2FyZC5zY3NzIiwiY29tcG9uZW50cy92Mi9zb3VyY2UtcGlsbC9fc291cmNlLXBpbGwuc2NzcyIsImNvbXBvbmVudHMvdjIvc3Rhci1yYXRpbmcvX3N0YXItcmF0aW5nLnNjc3MiLCJjb21wb25lbnRzL3YyL3N0YXQtY2FyZC9fc3RhdC1jYXJkLnNjc3MiLCJjb21wb25lbnRzL3YyL3N1Z2dlc3Rpb24tY2hpcC9fc3VnZ2VzdGlvbi1jaGlwLnNjc3MiLCJjb21wb25lbnRzL3YyL3RhYmxlL3RhYmxlLnNjc3MiLCJjb21wb25lbnRzL3YyL3RhZy9fdGFnLnNjc3MiLCJjb21wb25lbnRzL3YyL3Rhc2tsaXN0LWNhcmQvX3Rhc2tsaXN0LWNhcmQuc2NzcyIsImNvbXBvbmVudHMvdjIvdGV4dC1saW5rL190ZXh0LWxpbmsuc2NzcyIsImNvbXBvbmVudHMvdjIvdGltZXN0YW1wL190aW1lc3RhbXAuc2NzcyIsImNvbXBvbmVudHMvdjIvdG9hc3QvX3RvYXN0LnNjc3MiLCJjb21wb25lbnRzL3YyL3RvZ2dsZS9fdG9nZ2xlLnNjc3MiLCJjb21wb25lbnRzL3YyL3Rvb2xiYXItYWN0aW9uLWJ0bi9fYWN0aW9uLWJ0bi5zY3NzIiwiY29tcG9uZW50cy92Mi90b29sdGlwL190b29sdGlwLnNjc3MiLCJjb21wb25lbnRzL3YyL3RvdWNoLWJ1dHRvbi9fdG91Y2gtYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL3YyL3RyYW5zbGF0aW9uLXBhbmVsL190cmFuc2xhdGlvbi1wYW5lbC5zY3NzIiwiY29tcG9uZW50cy92Mi90cmFuc2xhdGlvbi1tb2RhbC9fdHJhbnNsYXRpb24tbW9kYWwuc2NzcyIsImNvbXBvbmVudHMvdjIvdHJlZS1pdGVtL190cmVlLWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvdjIvdW5pdC1pbnB1dC1yb3cvX3VuaXQtaW5wdXQtcm93LnNjc3MiLCJjb21wb25lbnRzL3YyL3dpemFyZC1tb2RhbC9fd2l6YXJkLW1vZGFsLnNjc3MiLCJjb21wb25lbnRzL3YyL3VuaXQtdHlwZS9fdW5pdC10eXBlLnNjc3MiLCJjb21wb25lbnRzL3YyL2RhdGUtY2Fyb3VzZWwvX2RhdGUtY2Fyb3VzZWwuc2NzcyIsImNvbXBvbmVudHMvdjIvdW5pdC1jYXJkL191bml0LWNhcmQuc2NzcyIsImNvbXBvbmVudHMvdjIvdW5pdC1jb250ZXh0L191bml0LWNvbnRleHQuc2NzcyIsImNvbXBvbmVudHMvdjIvc3VtbWFyeS1iYWRnZS9fc3VtbWFyeS1iYWRnZS5zY3NzIiwiY29tcG9uZW50cy92Mi9wd2EtbWFpbi1tZW51LWl0ZW0vX3B3YS1tYWluLW1lbnUtaXRlbS5zY3NzIiwiY29tcG9uZW50cy92Mi9ib3R0b20tbmF2L2JvdHRvbS1uYXYuc2NzcyIsImNvbXBvbmVudHMvdjIvdGFiLWJhci9fdGFiLWJhci5zY3NzIiwiY29tcG9uZW50cy92Mi9hcHAtaGVhZGVyL2FwcC1oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvdjIvc3dpcGUtcm93L19zd2lwZS1yb3cuc2NzcyIsImNvbXBvbmVudHMvdjIvbGlzdC1yb3cvX2xpc3Qtcm93LnNjc3MiLCJjb21wb25lbnRzL3YyL3NlY3Rpb24tY2FyZC9fc2VjdGlvbi1jYXJkLnNjc3MiLCJjb21wb25lbnRzL3YyL3NlYXJjaC1vdmVybGF5L19zZWFyY2gtb3ZlcmxheS5zY3NzIiwiY29tcG9uZW50cy92Mi90YXNrbGlzdC1ydW4tY2FyZC9fdGFza2xpc3QtcnVuLWNhcmQuc2NzcyIsImNvbXBvbmVudHMvdjIvc2VsZWN0aW9uLWJhci9fc2VsZWN0aW9uLWJhci5zY3NzIiwiY29tcG9uZW50cy92Mi9tZXNzYWdlLWhlYWRlci9fbWVzc2FnZS1oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvdjIvYW5zd2VyLXJvdy9fYW5zd2VyLXJvdy5zY3NzIiwiY29tcG9uZW50cy92Mi9tZXNzYWdlLWFjdGlvbmJhci9fbWVzc2FnZS1hY3Rpb25iYXIuc2NzcyIsImNvbXBvbmVudHMvdjIvdGltZWxpbmUtbWFya2VyL190aW1lbGluZS1tYXJrZXIuc2NzcyIsInBhcnRpYWxzL3YxL2Jhc2Uuc2NzcyIsInBhcnRpYWxzL3YxL292ZXJ2aWV3L292ZXJ2aWV3LnNjc3MiLCJwYXJ0aWFscy92MS9hdXRvbWV0cmljcy5zY3NzIiwibW9kdWxlcy9fY29sb3JzLnNjc3MiLCJwYXJ0aWFscy92MS9fZG1zLWlkb2Muc2NzcyIsInBhcnRpYWxzL3YxL19icmllZmluZy1lZGl0b3Iuc2NzcyIsInBhcnRpYWxzL3YxL19ibG9jay1zdHJpcC5zY3NzIiwicGFydGlhbHMvdjEvX3Rhc2tsaXN0LXNldHRpbmdzLnNjc3MiLCJwYXJ0aWFscy9faW5ib3guc2NzcyIsInBhZ2VzL19zdXJ2ZXlfdmlldy5zY3NzIiwicGFnZXMvX2hvbWUuc2NzcyIsInBhZ2VzL19vdmVydmlldy5zY3NzIiwidmVuZG9yL19tYXRlcmlhbGRlc2lnbmljb25zLnNjc3MiLCJ2ZW5kb3IvX3Z1ZS1tdWx0aXNlbGVjdC5zY3NzIiwiVXNlcnMvamFuZGVydWl0ZXIvRG9jdW1lbnRzL3FkbmEtcHJvL25vZGVfbW9kdWxlcy9jcm9wcGVyanMvc3JjL2Nzcy9jcm9wcGVyLnNjc3MiLCJ2ZW5kb3IvX2Nyb3BwZXIuc2NzcyIsInZlbmRvci9fdnVlLXNlbGVjdC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHUTtBQ0RBO0FEUVI7RUFDSTtFQUNBO0VBQ0EsT0VpQ1M7OztBQzFDYjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFjQTtBQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVBO0VBQ0E7RUFDQTtFQUNBO0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNBO0FBQUE7QUFBQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7RUFJQTtBQUVBO0FBQUE7QUFBQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0FBRUE7QUFBQTtBQUFBO0FBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRUE7RUFDQTtBQUFBO0FBR0E7RUFDQTtFQUNBO0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ0E7QUFBQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFQTtFQUNBO0FBQUE7QUFHQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtFQUNJO0lBQVc7O0VBQ1g7SUFBVzs7RUFDWDtJQUFnQjs7RUFDaEI7SUFBVzs7O0FBRWY7RUFDSTs7O0FBRUo7RUFDSTtJQUFpQjs7O0FBR3JCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE0Q0E7RUFDSTtFQUNBO0VBR0E7OztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFFQTtFQUNJOzs7QUFHSjtBQUNBO0VBQWtEOzs7QUFDbEQ7RUFBeUQ7OztBQUV6RDtBQUFBO0FBRUE7RUFBNEQ7OztBQUU1RDtFQUNJO0FBQUE7SUFDc0I7OztBQzlSMUI7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUlKO0VBQ0k7O0FBR0o7RUFFSTs7QUFHSjtFQUVJO0VBQ0E7RUFDQTs7QUFHSjtFQUVJOztBQUtKO0VBRUk7RUFDQTtFQUNBO0VBRUE7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1I7QUFBQTtBQUFBO0FBQUE7QUFLSTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VBRUk7RUFDQTs7QUFHSjtFQUVJOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQTFCUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VBRUk7RUFDQTs7QUFHSjtFQUVJOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQTFCUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VBRUk7RUFDQTs7QUFHSjtFQUVJOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQTFCUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VBRUk7RUFDQTs7QUFHSjtFQUVJOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQTFCUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VBRUk7RUFDQTs7QUFHSjtFQUVJOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQTFCUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VBRUk7RUFDQTs7QUFHSjtFQUVJOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQTFCUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VBRUk7RUFDQTs7QUFHSjtFQUVJOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQTFCUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VBRUk7RUFDQTs7QUFHSjtFQUVJOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQ3BNWjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7O0FBSVI7QUFBQTtFQUVJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FDeEtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBRUo7RUFDSTs7O0FBS0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOzs7QUFiUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7OztBQWJSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTs7O0FBYlI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOzs7QUFiUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7OztBQWJSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTs7O0FBYlI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOzs7QUNqRFo7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUlJO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUxSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUxSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUxSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUxSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUxSO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOzs7QUFRaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7OztBQzNDUjtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBTlI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBTlI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBTlI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBTlI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBTlI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBTlI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBTlI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBUVo7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0VBRUU7O0FBSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzFKTjtFQUNJLFlQMkNTO0VPekNUO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFJSjtFQUNJOztBQUVBO0VBQ0k7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJLFlQbENIOztBT3FDRDtFQUNJLFlQK0VHOztBTzdFSDtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSSxZUG9FRDs7QU9oRUM7RUFDSSxNUHREWDs7QU82RFQ7RUFDSTs7QUFFQTtFQUNJOzs7QUN6R1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDdkRwQjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FDdkNGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0M7OztBQUtIO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFFQTs7QUFFQTtBQUFBO0FBQUE7RUFHRTs7QUFJSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtBQUFBO0VBRUU7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFO0VBQ0E7RUFDQTs7QUFFSDtFQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFFQTs7QUFFQTtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHSjtFQUNFOzs7QUFJSjtBQUNBO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0FDalFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUdBO0VBQ0E7OztBQUlGO0FBRUE7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUNqRUY7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0k7RUFDSTs7QUFESjtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7OztBQU1aO0FBQUE7RUFFQztFQUNBO0VBQ0E7OztBQUtFO0VBQ0M7O0FBTUQ7RUFDQzs7QUFJSDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUVEO0VBQ0M7RUFDQTs7O0FBR0Y7QUFBQTtFQUVDO0VBQ0E7RUFDQTs7O0FBRUQ7RUFDSTtJQUNJOzs7QUN4R1I7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3pHUjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtJQUFROzs7QUNsRVY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNLO0VBQ0E7OztBQUVMO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FDL0VGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFFRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUM5SkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFFQTtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFLRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUN0SEY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQStDOzs7QUFDL0M7RUFBK0M7OztBQUMvQztFQUErQzs7O0FBRS9DO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUF3Qjs7O0FBQ3hCO0VBQTJCO0VBQXFCOzs7QUFDaEQ7RUFBMkI7RUFBYzs7O0FBRXpDO0VBQ0U7RUFDQTs7O0FBR0Y7RUFBaUQ7OztBQUNqRDtFQUF1RDtFQUFrQjs7O0FBRXpFO0VBQW1CO0VBQWdCO0VBQWE7RUFBZTs7O0FBQy9EO0VBQWlCO0VBQWdCO0VBQWlCO0VBQWtCOzs7QUFFcEU7RUFDRTs7O0FBR0Y7RUFDRTtJQUFPO0lBQVk7O0VBQ25CO0lBQUs7SUFBWTs7O0FDMUVuQjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUNuRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUMxQ0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFJRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7OztBQUlGO0FBQUE7RUFFRTtFQUNBOzs7QUFJRjtBQUFBO0VBRUU7OztBQUlGO0FBQUE7RUFFRTs7O0FBSUY7QUFBQTtFQUVFOzs7QUM5TUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsWUF6Qkk7RUEwQko7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0UsY0FoRE07O0FBbURSO0VBRUU7O0FBR0Y7RUFDRSxZQXpETTtFQTBETixjQTFETTs7QUE2RFI7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQkExREk7RUE0REo7RUFDQTs7QUFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBekVFO0VBMEVGO0VBQ0E7O0FBS0Y7RUFDRSxjQXRGSTs7QUF5Rk47RUFDRSxZQXpGTztFQTBGUCxjQTNGSTs7QUFxRk47RUFDRSxjQXBGRTs7QUF1Rko7RUFDRSxZQXZGSztFQXdGTCxjQXpGRTs7QUFxR047RUFDRTtFQUNBOztBQUVBO0VBQ0UsWUF0R1E7RUF1R1IsY0F0R1k7O0FBeUdkO0VBQ0UsWUE1R0U7O0FBK0dKO0VBQ0Usa0JBN0dVOztBQWlIZDtFQUNFOzs7QUNoSEo7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQW5DSTtFQW9DSjtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBNUNFO0VBOENGO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0UsY0FsRUs7O0FBcUVQO0VBQ0UsWUF0RUs7RUF1RUwsY0F2RUs7O0FBMEVQO0VBQ0U7O0FBSUE7RUFDRSxjQTVFSTs7QUErRU47RUFDRSxZQWhGSTtFQWlGSixjQWpGSTs7QUEyRU47RUFDRSxjQTNFRTs7QUE4RUo7RUFDRSxZQS9FRTtFQWdGRixjQWhGRTs7QUE0Rk47RUFDRTtFQUNBOztBQUVBO0VBQ0UsWUEvRlE7RUFnR1IsY0EvRlk7O0FBa0dkO0VBQ0UsWUF6R0U7RUEwR0YsY0FwR1k7O0FBdUdkO0VBQ0UsWUF2R1M7RUF3R1Q7O0FBSUo7RUFDRTs7O0FDdkhKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTs7O0FDbkVGO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFLSjtFQUFhO0VBQWE7RUFBYzs7O0FBQ3hDO0VBQWE7RUFBYTtFQUFjOzs7QUFDeEM7RUFBYTtFQUFhO0VBQWM7OztBQUN4QztFQUFhO0VBQWE7RUFBYzs7O0FBWXRDO0VBSUUsY0FIUztFQUlULFlBSEs7O0FBS0w7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FBZEo7RUFJRSxjQUhTO0VBSVQsWUFISzs7QUFLTDtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFkSjtFQUlFLGNBSFM7RUFJVCxZQUhLOztBQUtMO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7OztBQWRKO0VBSUUsY0FIUztFQUlULFlBSEs7O0FBS0w7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FBZEo7RUFJRSxjQUhTO0VBSVQsWUFISzs7QUFLTDtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFkSjtFQUlFLGNBSFM7RUFJVCxZQUhLOztBQUtMO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7OztBQy9DTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQzFFRjtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0k7RUFFSjtFQUNBOzs7QUFFSjtFQUEwQjs7O0FBRTFCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7SUFBTztJQUFZOztFQUNuQjtJQUFPO0lBQVk7OztBQUd2QjtBQUFBO0VBRUk7RUFDQTtFQUNBLFlBQ0k7OztBQ3hDUjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVFGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtFQUdFOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUE7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFBSzs7RUFDTDtJQUFNOztFQUNOO0lBQU07O0VBQ047SUFBTzs7O0FBR1Q7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFOzs7QUFJSjtBQUNBO0VBQ0U7SUFBSztJQUFxQjs7RUFDMUI7SUFBTTtJQUF5Qjs7RUFDL0I7SUFBTztJQUFxQjs7O0FBRzlCO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTs7O0FBSUo7QUFBQTtBQUFBO0FBR0E7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7SUFDQTs7O0FDL21CSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FDNUNGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQWdDO0VBQWU7RUFBd0I7RUFBVTs7O0FBQ2pGO0FBQUE7QUFBQTtFQUV5Qzs7O0FBRXpDO0VBQ0k7RUFBZTtFQUF1Qzs7O0FBRTFEO0VBQ0k7SUFBMEM7OztBQUc5QztFQUNJO0VBQXNCO0VBQXFCO0VBQzNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBaUI7RUFDakI7OztBQUVKO0VBQWdFO0VBQXNCOzs7QUFDdEY7RUFDSTtFQUFxQjtFQUF1Qjs7O0FBRWhEO0VBQWlEOzs7QUFDakQ7RUFDSTtFQUF1Qjs7O0FBRTNCO0VBQ0k7RUFBdUI7RUFDdkI7OztBQUVKO0VBQWtFOzs7QUFFbEU7RUFDSTtFQUFlO0VBQXFCO0VBQ3BDOzs7QUFFSjtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7RUFDSTtFQUNBOzs7QUFFSjtBQUNBO0VBQ0k7OztBQUVKO0FBQUE7QUFFQTtFQUNJOzs7QUFFSjtBQUFBO0FBQUE7QUFHQTtFQUNJO0VBQ0E7OztBQUdKO0VBQTZDO0VBQWU7OztBQUU1RDtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUFXO0VBQWlCO0VBQzVCO0VBQWdCOzs7QUFHcEI7QUFDQTtFQUFpRDs7O0FBQ2pEO0VBQ0k7RUFBd0M7OztBQUU1QztFQUNJO0lBQTJEOzs7QUFFL0Q7RUFDSTtJQUEyRDs7O0FBRS9EO0VBQTJEOzs7QUFDM0Q7RUFBaUU7OztBQUNqRTtFQUNJOzs7QUN6R0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtFQUF3Qzs7O0FBQ3hDO0FBQUE7QUFBQTtFQUVpRDs7O0FBRWpEO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQUNJO0VBRUo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUF3Qzs7O0FBQ3hDO0VBQ0k7SUFBTztJQUFZOztFQUNuQjtJQUFPO0lBQVk7OztBQUd2QjtFQUNJO0VBQWU7RUFBcUI7RUFDcEM7RUFBVztFQUNYO0VBQWtDOzs7QUFFdEM7RUFDSTtFQUFXO0VBQWlCO0VBQW1CO0VBQWtCOzs7QUFFckU7RUFBcUI7OztBQUVyQjtFQUNJO0VBQWU7RUFBd0I7RUFDdkM7RUFBMkI7RUFBZ0I7OztBQUUvQztFQUNJO0VBQWU7RUFBcUI7RUFBVzs7O0FBRW5EO0VBQXNCO0VBQWdCOzs7QUFDdEM7RUFDSTtFQUFnQjtFQUFpQjtFQUFnQjs7O0FBR3JEO0VBQ0k7RUFBZ0I7RUFDaEI7RUFBa0I7RUFDbEI7RUFDQTtFQUErQjs7O0FBRW5DO0VBQXlDOzs7QUFDekM7RUFDSTtFQUFpQzs7O0FBRXJDO0VBQXFEOzs7QUFFckQ7RUFDSTtFQUFnQjtFQUFhO0VBQWlCOzs7QUFHbEQ7RUFDSTtFQUFvQjtFQUFtQjs7O0FBRTNDO0VBQ0k7RUFBaUI7RUFBa0I7RUFBZ0I7OztBQUV2RDtFQUF5QjtFQUFpQjs7O0FBRTFDO0VBQ0k7RUFBZTtFQUFxQjtFQUEyQjtFQUMvRDtFQUFvQjtFQUErQjs7O0FBR3ZEO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQzNJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNzQjs7QUFqQjFCO0VBbUJJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxZQUNJOzs7QUFVUjtBQUFBO0VBRUk7RUFDQSxZQUNJOzs7QUFJUjtBQUFBO0VBRUk7OztBQVFKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDSTs7O0FBT1I7RUFDSTtFQUNBO0VBQ0E7OztBQU9KO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBZUo7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7OztBQUtKO0VBQ0ksWUFDSTs7O0FBSVI7RUFDSSxZQUNJOzs7QUFNUjtBQUFBO0VBRUk7RUFDQTtFQUNBOzs7QUFPSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFLSjtBQUFBO0VBRUk7OztBQUlKO0VBQ0k7OztBQUtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFBcUI7OztBQUVyQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQWlCOzs7QUFFakI7RUFBYztFQUFlOzs7QUFDN0I7RUFBb0I7OztBQUlwQjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1KO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFVSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7O0FBU0o7RUFDSTs7O0FBS0o7RUFDSTtJQUFnQjs7O0FBR3BCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUo7RUFBZ0I7RUFBZTs7O0FBRS9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUE2Qjs7O0FBSzdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQUNJOzs7QUFNUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBT0o7RUFDSTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7RUFBNEM7OztBQUM1QztBQUFBO0VBQzRDOzs7QUFDNUM7RUFBNEM7OztBQUM1QztFQUE0Qzs7O0FBQzVDO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUE0Qzs7O0FBQzVDO0VBQTRDOzs7QUFDNUM7RUFBNEM7OztBQUM1QztFQUE0Qzs7O0FBQzVDO0VBQTRDOzs7QUFFNUM7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FDL2lCSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFVRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQy9GRjtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7OztBQVFGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFNRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUNwSkY7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBeUI7O0FBSXpCO0VBRUk7RUFDQTs7QUFFQTtFQUFrQzs7QUFDbEM7RUFBa0M7RUFBWTs7QUFDOUM7RUFBa0M7RUFBcUI7O0FBSTNEO0VBQTZDOztBQUc3QztFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUErQjs7QUFJbkM7RUFDSTtFQUNBOztBQUlKO0VBQ0k7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7O0FBakVSO0VBNkVJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOzs7QUFPUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVJO0VBQ0E7RUFDQTs7QUFHSjtFQUFjO0VBQWdCOzs7QUFLbEM7RUFDSTtFQUNBO0VBQ0E7O0FBR0E7RUFBYTtFQUFnQjs7O0FBYWpDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBTTtFQUFhOztBQUVuQjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0k7O0FBQ0E7RUFBVTs7QUFHZDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFBVTs7QUFNZDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTs7O0FBSWxCO0VBR0k7SUFBZ0I7O0VBQ2hCO0lBQU07O0VBQ047SUFBTTs7RUFDTjtJQUFNOztFQUNOO0lBQU07OztBQUdWO0VBQ0k7SUFBd0M7OztBQUk1QztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQU07RUFBYTs7QUFFbkI7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFBVTtFQUFxQjs7QUFHbkM7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFBVTtFQUFxQjs7O0FBS3ZDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQU07RUFBYTs7O0FBR3ZCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7QUFBQTtFQUVJOzs7QUM3VUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQU1GO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQW1DOzs7QUFHbkM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQWtFO0VBQTBDOzs7QUFFNUc7RUFBZ0M7RUFBUzs7O0FBR3pDO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFO0lBQU87O0VBQ1A7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7RUFDUDtJQUFPOzs7QUFHVDtFQUNFO0lBQU87O0VBQ1A7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87OztBQUlUO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFTRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFNRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFVRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUNoVUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBRUU7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBZ0JGO0VBQ0U7RUFDQTtFQUNBOzs7QUFVRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBRUU7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFLRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDL05GO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUN0REY7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7QUFPRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtFQUlBO0VBQ0E7RUFDQTtFQUNBO0FBQ0E7QUFBQTtBQUFBO0VBR0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0E7QUFDQTtBQUFBO0FBQUE7RUFHQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUFtRDs7O0FBRW5EO0FBQUE7QUFBQTtBQUdBO0VBQStEOzs7QUFDL0Q7RUFBaUY7OztBQUNqRjtFQUE2RTs7O0FBQzdFO0VBQTZFOzs7QUFDN0U7RUFBNkU7OztBQUU3RTtBQUFBO0FBQUE7QUFHQTtFQUFvRDs7O0FBQ3BEO0VBQW1EOzs7QUFDbkQ7RUFBb0Q7OztBQUNwRDtFQUF1RDs7O0FBQ3ZEO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQWtEOzs7QUFDbEQ7RUFBbUQ7OztBQUNuRDtFQUFzRDs7O0FBQ3REO0FBQ0E7RUFDRTtJQUFtRDs7O0FBR3JEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUVGO0FBQUE7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUE7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0FBQ0E7QUFBQTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7QUFDQTtBQUFBO0FBQUE7RUFHQTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBYUE7RUFDRTtFQUNBO0FBQ0E7QUFBQTtFQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtBO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7OztBQUVGO0FBQUE7QUFFQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQzNiRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUEwQztFQUFTOzs7QUFDbkQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBcUQ7OztBQUlyRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBd0Q7OztBQUN4RDtFQUF1RDs7O0FBQ3ZEO0VBQW1EOzs7QUFVbkQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUFvRDs7O0FBQ3BEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUEwRDs7O0FBQzFEO0VBQW9FOzs7QUFHcEU7RUFBNEM7RUFBeUI7RUFBNEI7OztBQUNqRztFQUFzRjtFQUE4Qjs7O0FBQ3BIO0VBQXVEO0VBQStCO0VBQTJCOzs7QUFDakg7RUFBdUQ7RUFBeUI7OztBQUNoRjtFQUF5RDtFQUF5QjtFQUEwQjs7O0FBRzVHO0VBQTZDO0VBQXlCO0VBQWdDOzs7QUFDdEc7RUFBdUY7RUFBK0I7OztBQUN0SDtFQUF3RDtFQUErQjtFQUEyQjs7O0FBQ2xIO0VBQXdEO0VBQXlCOzs7QUFDakY7RUFBMEQ7RUFBeUI7RUFBMEI7OztBQUc3RztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUFrRDs7O0FBQ2xEO0VBQW1EO0VBQVk7RUFBaUI7RUFBb0I7OztBQUlwRztFQUFrRDtFQUFZO0VBQXFCO0VBQVU7OztBQUM3RjtFQUFpRDtFQUFpQjtFQUFtQjtFQUFpQjs7O0FBQ3RHO0FBQUE7RUFDOEQ7OztBQUc5RDtFQUFnRDtFQUFlO0VBQXFCOzs7QUFDcEY7RUFBNkU7RUFBMkI7OztBQUd4RztFQUF3RTtFQUE4Qjs7O0FBQ3RHO0VBQWlHOzs7QUFDakc7RUFBbUY7RUFBK0I7OztBQUdsSDtFQUF5RTtFQUErQjs7O0FBQ3hHO0VBQWtHOzs7QUFDbEc7RUFBb0Y7RUFBK0I7OztBQUduSDtFQUErQztFQUFzQztFQUFtQzs7O0FBQ3hIO0VBQXdFOzs7QUFDeEU7RUFBMEQ7RUFBb0M7OztBQUM5RjtFQUE0RDtFQUE4QjtFQUEwQjs7O0FBRXBIO0VBQTJDO0VBQXdDO0VBQXFDOzs7QUFDeEg7RUFBb0U7OztBQUNwRTtFQUFzRDtFQUF1Qzs7O0FBQzdGO0VBQXdEO0VBQThCO0VBQTBCOzs7QUFFaEg7RUFBMkM7RUFBdUM7RUFBbUM7OztBQUNySDtFQUFvRTs7O0FBQ3BFO0VBQXNEO0VBQXNDOzs7QUFDNUY7RUFBd0Q7RUFBOEI7RUFBMEI7OztBQUloSDtFQUFxQztFQUFnQjtFQUF3QjtFQUEyQjs7O0FBQ3hHO0VBQW9EOzs7QUFDcEQ7RUFBb0Q7OztBQUNwRDtFQUFrRTtFQUE2QjtFQUFvQjs7O0FBQ25IO0VBQWlHO0VBQWlCOzs7QUFDbEg7QUFBQTtFQUM2SDs7O0FBQzdIO0VBQStGOzs7QUFHL0Y7RUFBdUk7OztBQUN2STtFQUF3Rzs7O0FBRXhHO0VBQWlGOzs7QUFDakY7RUFBNEY7RUFBeUI7OztBQVVySDtFQUE4RjtFQUEwQjs7O0FBTXhIO0FBQUE7RUFDMEY7OztBQUcxRjtBQUFBO0FBQUE7RUFFb0Q7RUFBcUI7OztBQUV6RTtFQUFxRDtFQUFnQjs7O0FBQ3JFO0VBQWtFOzs7QUFDbEU7QUFBQTtFQUN1Rzs7O0FBR3ZHO0VBQ0U7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87OztBQUVUO0VBQ0U7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7O0FBRVQ7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUNyTkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFhRjtFQUFnQzs7O0FBSWhDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUlGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBSUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFXRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUFVRjtFQUNFO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBO0VBR0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQVVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUlGO0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFjRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQVlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFZRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTs7O0FBSUY7RUFHRTtFQUNBO0VBSUE7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FDN1dGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FDM0RGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFJQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFNRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FDMWFGO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFLSjtFQUNJOzs7QUFLSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FDdEhKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUNaRjtFQUF1Qjs7O0FBRXZCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQXlDO0VBQVk7OztBQUVyRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBc0M7OztBQUN0QztFQUNFO0VBQ0E7RUFBUztFQUFRO0VBQ2pCO0VBQ0E7RUFDQTs7O0FBRUY7RUFBK0I7RUFBb0I7RUFBWTtFQUF1Qjs7O0FBQ3RGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQTBDO0VBQVk7OztBQUN0RDtFQUF1QztFQUF1Qjs7O0FBQzlEO0VBQWlDO0VBQWE7RUFBb0I7RUFBaUI7RUFBZ0I7OztBQUNuRztFQUFtQztFQUFnQjs7O0FDbEZuRDtFQUF1QjtFQUFnQjs7O0FBRXZDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQXNDOzs7QUFDdEM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0lBQUs7O0VBQ0w7SUFBTTs7RUFDTjtJQUFPOzs7QUFHVDtFQUNFO0lBQXNDOzs7QUN6QnhDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFNRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQU9GO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7QUFDQTtBQUFBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUMzTUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtBQUNBO0FBQUE7RUFFQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUN0SUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVFGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFLRjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBSUY7RUFDRTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFLRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFlRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFOzs7QUFLRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7OztBQzFOSjtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQXNDO0VBQWE7OztBQUNuRDtFQUFzQztFQUFZO0VBQWM7OztBQUNoRTtFQUF5RDs7O0FBQ3pEO0VBQXlDOzs7QUFDekM7RUFBeUM7OztBQUV6QztBQUFBO0VBQzREOzs7QUFDNUQ7QUFBQTtFQUM0RDs7O0FDWDVEO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFHQTs7QUFFQTtFQUFZOztBQUdaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFBK0I7O0FBQy9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUE4Qjs7QUFDOUI7RUFBc0M7O0FBQ3RDO0VBQWE7O0FBR2I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBT0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQXlCOztBQUN6QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBS0E7O0FBRUo7RUFBcUI7O0FBQ3JCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQU9BOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUEyQjs7QUFDM0I7RUFBb0M7O0FBR3BDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFBNkI7O0FBQzdCO0VBQXlCO0VBQXFDOztBQUM5RDtFQUFpQzs7QUFHakM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQWlDOztBQUNqQztFQUE4QjtFQUFZOztBQUMxQztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFBaUM7O0FBQ2pDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQWtDO0VBQWdCOztBQUdsRDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQXFCOztBQUNyQjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUEyQjs7QUFPM0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFZOztBQUVoQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBWTs7QUFFaEI7RUFBMkI7RUFBZ0I7O0FBSTNDO0VBQ0k7RUFDQTs7QUFPSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBWTs7QUFFaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFlO0VBQWdCO0VBQWdCOztBQUVuRDtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQWlCOztBQUNqQjtFQUFVOztBQUVkO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQW9EOztBQUdwRDtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFLSjtFQTdhSjtJQThhUTs7RUFDQTtJQUF1Qjs7RUFDdkI7SUFBZTs7OztBQUl2QjtFQUNJO0lBQUs7OztBQUdUO0VBQ0k7SUFBTzs7RUFDUDtJQUFLOzs7QUFJVDtBQUFBO0VBRUk7OztBQ3hjSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7QUM3UUo7RUFDRTs7O0FBTUY7RUFDRTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7QUFBQTtFQUVFOzs7QUFJRjtFQUFvQjtFQUFhO0VBQWM7RUFBZ0I7OztBQUMvRDtFQUE0QjtFQUFhOzs7QUFHekM7RUFDRTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUE4QjtFQUFjOzs7QUFDNUM7RUFBa0M7OztBQUdsQztFQUE0Qjs7O0FBQzVCO0VBQTJDOzs7QUFDM0M7RUFBeUM7OztBQUV6QztFQUFpQzs7O0FBQ2pDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBeUM7OztBQUN6QztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQXlDO0VBQVU7RUFBVzs7O0FBRTlEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBNEI7OztBQUc1QjtFQUFvQzs7O0FBQ3BDO0VBQXVCOzs7QUFFdkI7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBMEI7OztBQUMxQjtFQUE2QjtFQUFhOzs7QUFHMUM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUFvQzs7O0FBRXBDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQTJCOzs7QUNqTzNCO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFlQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQUlKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FDelFGO0VBRUU7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFjRjtFQUNFO0VBQ0E7OztBQVVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTs7O0FBSUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0EsWUFDRTs7O0FBV0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBV0Y7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FDck9GO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTtFQUFxQjs7QUFHbkM7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFLOztBQUlUO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7QUFFQTtFQUFVOztBQUVWO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7O0FBRVY7RUFDVTs7QUFJZDtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFVOztBQUlkO0VBQ0k7SUFDSTs7RUFFSjtJQUNJO0lBQ0E7Ozs7QUMxTFo7RUFFRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFRRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFPRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQVdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLE9BMUplO0VBMkpmLFFBM0plO0VBNEpmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFhRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQVlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRjtFQUNFOzs7QUFFRjtFQUdFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUlBOzs7QUFhRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUVFO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtBQUFBO0VBRUU7OztBQ2pZRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFNRjtFQUEyQzs7O0FBQzNDO0VBQTJDOzs7QUFDM0M7RUFDRTtJQUFPO0lBQW1COztFQUMxQjtJQUFPO0lBQWdCOzs7QUFFekI7RUFDRTtJQUFPO0lBQW9COztFQUMzQjtJQUFPO0lBQWdCOzs7QUFHekI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBR0E7OztBQU1GO0VBQ0U7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87OztBQUVUO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQVlGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBSUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFJRjtFQUFrQzs7O0FBQ2xDO0VBQ0UsWUFDRTs7O0FBV0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUFzQzs7O0FBQ3RDO0VBQ0UsWUFDRTs7O0FBSUo7RUFDRTtJQUE2Qjs7RUFDN0I7SUFBNkI7O0VBQzdCO0lBQTRCOztFQUM1QjtJQUE2RDs7RUFDN0Q7QUFBQTtJQUMyQzs7O0FDalE3QztFQUVFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBa0Q7RUFBVTtFQUFXOzs7QUFRdkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQVNGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBT0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRjtFQUNFOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFNQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBLFlBQ0U7OztBQUtKO0VBQ0U7RUFDQTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFPQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBa0Q7RUFBVTtFQUFXOzs7QUFFdkU7RUFDRTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBUUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBT0Y7RUFBbUQ7OztBQUNuRDtFQUFnRTs7O0FBR2hFO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBT0Y7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQSxZQUNFO0VBRUY7OztBQUVGO0VBQ0U7OztBQWFGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUdBOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsWUFDRTtFQUVGOzs7QUFJRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQU1GO0VBQ0U7RUFDQTs7O0FBSUY7QUFBQTtFQUVFO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTtJQUFnRTs7RUFDaEU7SUFBNkI7OztBQUkvQjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ25kRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBSUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUFrQzs7O0FBQ2xDO0VBQ0UsWUFDRTs7O0FBSUo7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTtJQUE2Qjs7O0FDckYvQjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQU1GO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FDblBGO0VBQXNCOzs7QUFPdEI7RUFDRTtFQUNBOzs7QUFHRjtFQUFnRDs7O0FBRWhEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBV0Y7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBNkQ7RUFBVTtFQUFXOzs7QUFHbEY7RUFBeUM7RUFBZTtFQUFxQjs7O0FBQzdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQTJDOzs7QUFDM0M7RUFBNEM7OztBQUs1QztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUE2Qzs7O0FBQzdDO0VBQThDOzs7QUFDOUM7RUFBK0M7OztBQUUvQztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQXlDO0VBQWU7RUFBZ0I7OztBQUN4RTtFQUE4RDs7O0FBRTlEO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtFQUE0RTs7O0FBRzVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUFtRTs7O0FBR25FO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUF3RDtFQUFrQjs7O0FBQzFFO0VBQThDOzs7QUFDOUM7QUFBQTtFQUNrRTs7O0FBSWxFO0FBQUE7RUFDdUU7OztBQUd2RTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBNkM7OztBQUM3QztFQUE4Qzs7O0FBRTlDO0VBQWlEO0VBQThCOzs7QUFHL0U7RUFBbUU7OztBQUVuRTtFQUEwQzs7O0FBRzFDO0VBQTJDOzs7QUFDM0M7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQTZEOzs7QUFHN0Q7RUFDRTtJQUFXOztFQUNYO0lBQU07O0VBQ047SUFBTTs7RUFDTjtJQUFNOztFQUNOO0lBQU07OztBQUVSO0VBQXVDOzs7QUFFdkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFBc0M7O0VBQ3RDO0FBQUE7QUFBQTtJQUV5Qzs7RUFDekM7SUFBdUM7OztBQ25SekM7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87OztBQUdUO0VBQ0U7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7O0FBR0o7RUFDRTtBQUFBO0lBRUU7O0VBRUY7QUFBQTtJQUVFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7QUFBQTtBQUVBO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtBQUFBO0VBRUU7Ozs7QUN6S0Y7QUFBQTtBQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0VBSUE7OztBQUVKO0VBQWtDO0VBQWE7OztBQUMvQztFQUFrQztFQUFhOzs7QUFDL0M7RUFBa0M7RUFBYTs7O0FBQy9DO0VBQWtDO0VBQWE7OztBQUUvQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBRUE7RUFDSTs7O0FDdkRKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFDQTtBQUFBO0FBQUE7RUFHQTs7O0FBR0o7QUFBQTtBQUFBO0FBR0E7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUNyQko7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFDQTtFQUNJOzs7QUFHSjtBQUFBO0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7QUFDSTtBQUFBO0VBRUE7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTs7O0FDaEdKO0VBQ0k7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFZOzs7QUFFaEI7RUFBa0M7RUFBZ0I7RUFBaUI7OztBQUNuRTtFQUF5Qzs7O0FBTXpDO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNrQjtFQUF1QjtFQUF1Qzs7QUFHaEY7RUFDSTtFQUNBLFlBQ0k7RUFFSjs7QUFHSjtFQUNJLFlBQ0k7RUFFSjs7O0FBR1I7RUFBa0M7RUFBZ0I7OztBQUdsRDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7OztBQUdKO0VBQ0k7SUFBSzs7O0FBRVQ7RUFBOEI7RUFBaUI7RUFBaUI7RUFBa0I7OztBQUNsRjtFQUE4QjtFQUFXO0VBQWlCOzs7QUFDMUQ7RUFBOEI7RUFBaUI7RUFBaUI7OztBQU1oRTtFQUE2Qjs7O0FBRzdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFZOzs7QUFFaEI7RUFBa0M7RUFBZ0I7RUFBOEI7OztBQUNoRjtFQUFrQztFQUFnQjtFQUFpQjtFQUFnQjs7O0FBQ25GO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFhO0VBQ2I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7RUFBcUI7OztBQUluQztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVk7OztBQUloQjtFQUNJO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7SUFBa0M7OztBQzdKdEM7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUF3Qko7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQWlCRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FDakZGO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUNDSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBb0M7OztBQUNwQztFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQXVDOzs7QUFHdkM7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBdUM7OztBQUV2QztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUFxQzs7O0FBR3JDO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUVGO0VBQW9EOzs7QUN0S3BEO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUFVOztBQUdkO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTs7QUFDVjtFQUFrQjtFQUErQzs7QUFLckU7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBZTtFQUFnQjtFQUF1Qzs7QUFJMUU7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFNSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0o7RUFBWTs7QUFDWjtFQUFZOztBQUNaO0VBQVk7RUFBbUI7O0FBUS9CO0VBQVk7RUFBbUI7O0FBRS9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBT0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTs7QUFNZDtFQUNJO0VBR0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7RUFBK0M7O0FBQ3pEO0VBQWtCO0VBQStDOztBQUtyRTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFBWTs7QUFJaEI7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQW1COztBQUVuQjtFQUNJO0VBQ0E7O0FBR0o7RUFBbUI7O0FBR25CO0VBQStCOztBQUMvQjtFQUFxQzs7QUFDckM7RUFBcUM7RUFBZ0M7O0FBQ3JFO0VBQVk7RUFBdUI7O0FBRW5DO0VBQ0k7SUFBb0I7O0VBQ3BCO0lBQWU7Ozs7QUNqVHZCO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFJQTtFQVFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTs7QUFDVjtFQUFrQjtFQUErQzs7QUFNckU7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU1KO0VBQ0k7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUtKO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUE2Qjs7QUFDN0I7RUFBNkI7O0FBQzdCO0VBQTZCOztBQUc3QjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUlKO0VBQStCOztBQUMvQjtFQUFxQzs7QUFDckM7RUFDSTtFQUNBOztBQUVKO0VBQVk7RUFBdUI7O0FBR25DO0VBQ0k7SUFBWTs7RUFDWjtJQUFZOztFQUNaO0lBQVk7Ozs7QUM3THBCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUlJO0VBQ0E7O0FBR0o7RUFDSTtFQUdBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUVJO0VBQ0EsWUFDSTs7QUFJUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBekVKO0lBMEVROztFQUNBO0lBQ0k7O0VBRUo7SUFDSTtJQUNBOzs7QUFLUjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOzs7QUFTUjtFQUNJOztBQUVBO0VBQWU7RUFBYTs7QUFDNUI7RUFBb0I7RUFBYTs7QUFDakM7RUFBYTs7QUFDYjtFQUFZOzs7QUFHaEI7RUFDSTs7QUFFQTtFQUFlO0VBQWE7O0FBQzVCO0VBQW9CO0VBQWE7O0FBQ2pDO0VBQWE7O0FBQ2I7RUFBWTs7O0FBR2hCO0VBQ0k7O0FBRUE7RUFBZTtFQUFhOztBQUM1QjtFQUFvQjtFQUFhOztBQUNqQztFQUFhOztBQUNiO0VBQVk7OztBQUloQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7OztBQVNKO0VBQXdCO0VBQTJCOzs7QUFDbkQ7RUFBd0I7RUFBMkI7OztBQUNuRDtFQUF3QjtFQUEyQjs7O0FBQ25EO0VBQXdCO0VBQTJCOzs7QUFDbkQ7RUFBd0I7RUFBMkI7OztBQUNuRDtFQUF3QjtFQUEyQjs7O0FBQ25EO0VBQXdCO0VBQTJCOzs7QUFDbkQ7RUFBd0I7RUFBMkI7OztBQUVuRDtFQUEwQztFQUEyQjs7O0FBQ3JFO0VBQTBDO0VBQTJCOzs7QUFDckU7RUFBMEM7RUFBMkI7OztBQUNyRTtFQUEwQztFQUEyQjs7O0FBQ3JFO0VBQTBDO0VBQTJCOzs7QUFDckU7RUFBMEM7RUFBMkI7OztBQUNyRTtFQUEwQztFQUEyQjs7O0FBQ3JFO0VBQTBDO0VBQTJCOzs7QUFjckU7RUFDSTs7O0FBU0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7OztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUM1U0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7OztBQ3BDUjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FDakpGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQ3pCRjtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0FBQ0E7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0FBQ0E7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0FBQ0E7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtBQUFBO0FBRUE7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQ0E7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FDalZGO0FBQUE7QUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7OztBQy9DSjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFBa0M7OztBQUNsQztFQUFrQzs7O0FBQ2xDO0VBQWtDOzs7QUFDbEM7RUFBa0M7OztBQUNsQztFQUFrQzs7O0FBQ2xDO0VBQWtDOzs7QUFDbEM7RUFBa0M7OztBQUNsQztFQUFrQzs7O0FBR2xDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUM5RkY7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBeUI7O0FBR3pCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0o7RUFDSTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFBVTtFQUNWO0VBQ0E7RUFBYTtFQUNiO0VBQ0E7O0FBRUo7RUFBcUQ7O0FBR3JEO0VBQXFEO0VBQWM7O0FBR25FO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsWUFDSTs7QUFLUjtFQUF1RDs7QUFHdkQ7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFBOEI7O0FBQzlCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBT0E7QUFBQTtFQUNnQjs7QUFDaEI7RUFBNkI7O0FBRzdCO0FBQUE7RUFDZ0I7O0FBQ2hCO0VBQTZCOztBQU9qQztFQUFvQjs7QUFDcEI7QUFBQTtFQUNpQjs7QUFDakI7RUFBa0M7O0FBQ2xDO0VBQWlCO0VBQWlDOztBQUNsRDtFQUFjOzs7QUFNbEI7RUFDSTtJQUErQjs7RUFDL0I7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUo7SUFDSTtJQUNBO0lBQ0E7OztBQU9SO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFVSjtBQUFBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtBQUFBO0FBQUE7RUFBdUM7O0FBQ3ZDO0FBQUE7QUFBQTtFQUEwRTs7O0FDc0k5RTtFQTVVSSxhQXJGbUI7RUFzRm5CO0VBTUEsYUFuRnFCO0VBb0ZyQixXQTVEbUI7RUE2RG5CLGFBdkNxQjs7O0FBMld6QjtFQTdVSSxhQXJGbUI7RUFzRm5CO0VBYUEsYUExRnFCO0VBMkZyQixXQXBFbUI7RUFxRW5CLGFBL0NxQjs7O0FBNld6QjtFQTlVSSxhQXJGbUI7RUFzRm5CO0VBb0JBLGFBakdxQjtFQWtHckIsV0E1RW1CO0VBNkVuQixhQXZEcUI7OztBQStXekI7RUEvVUksYUFyRm1CO0VBc0ZuQjtFQTJCQSxhQXhHcUI7RUF5R3JCLFdBcEZtQjtFQXFGbkIsYUEvRHFCOzs7QUFpWHpCO0VBaFZJLGFBckZtQjtFQXNGbkI7RUFrQ0EsYUEvR3FCO0VBZ0hyQixXQTVGbUI7RUE2Rm5CLGFBdkVxQjs7O0FBbVh6QjtFQWpWSSxhQXJGbUI7RUFzRm5CO0VBeUNBLGFBdEhxQjtFQXVIckIsV0FwR21CO0VBcUduQixhQS9FcUI7OztBQXNYekI7RUFuVkksYUFyRm1CO0VBc0ZuQjtFQWlEQSxhQWhJcUI7RUFpSXJCLFdBdkhrQjtFQXdIbEIsYUFqRytCOzs7QUFpWW5DO0VBcFZJLGFBckZtQjtFQXNGbkI7RUF3REEsYUF2SXFCO0VBd0lyQixXQTdIa0I7RUE4SGxCLGFBeEcrQjs7O0FBa1luQztFQXJWSSxhQXJGbUI7RUFzRm5CO0VBK0RBLGFBOUlxQjtFQStJckIsV0FuSWtCO0VBb0lsQixhQTdHK0I7OztBQWlZbkM7RUF0VkksYUFyRm1CO0VBc0ZuQjtFQXNFQSxhQXJKcUI7RUFzSnJCLFdBeklrQjtFQTBJbEIsYUFySCtCOzs7QUFtWW5DO0VBdlZJLGFBckZtQjtFQXNGbkI7RUE2RUEsYUE1SnFCO0VBNkpyQixXQS9Ja0I7RUFnSmxCLGFBMUgrQjs7O0FDUG5DO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQU9BOztBQUNBO0VBQXlCOztBQWI3QjtFQWVJO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7RUFDSTs7QUFNSjtFQUNJO0VBQ0E7O0FBZ0JKO0VBQ0k7RUFDQTtFQUVBOztBQU9KO0VBQVU7O0FBQ1Y7RUFFSTtFQUNBLFlBQ0k7O0FBT1I7RUFFSSxZQUNJOztBQW9DUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQVNKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7RUFBbUI7RUFBYTtFQUFjOztBQUM5QztFQUFtQjtFQUFhO0VBQWM7O0FBQzlDO0VBQW1CO0VBQWE7RUFBYzs7QUFFOUM7RUFBbUI7RUFBYTtFQUFjOztBQUM5QztFQUFtQjtFQUFhO0VBQWM7O0FBQzlDO0VBQW1CO0VBQWE7RUFBYzs7QUFZbEQ7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VEbkpKLGFBckZtQjtFQXNGbkI7RUEyS0EsYUF2UHFCO0VBd1ByQixXQS9Pa0I7RUFnUGxCLGFBek4rQjtFQ2dNM0I7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUQzSkEsYUFyRm1CO0VBc0ZuQjtFQW1HQSxhQWpMcUI7RUFrTHJCLFdBdktrQjtFQXdLbEIsYUFqSitCOztBQ2lOL0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQVFKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFPSjtFQUF3Qjs7QUFjeEI7RUFFSTtFQUNBO0VBQ0E7O0FBRUo7RUFJSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBRUk7O0FBYUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBY1I7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtBQUFBO0VBRUk7O0FBR0o7RUFFSTtFQUNBOztBQUdKO0VBSUk7O0FBS1I7RUFDSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFNSTs7O0FBYVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RURyV0osYUFyRm1CO0VBc0ZuQjtFQW1HQSxhQWpMcUI7RUFrTHJCLFdBdktrQjtFQXdLbEIsYUFqSitCO0VDa1ozQjtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFRDVXQSxhQXJGbUI7RUFzRm5CO0VBMktBLGFBdlBxQjtFQXdQckIsV0EvT2tCO0VBZ1BsQixhQXpOK0I7RUN5WjNCOztBQUVKO0VBQ0k7RURqWEosYUFyRm1CO0VBc0ZuQjtFQTRGQSxhQTFLcUI7RUEyS3JCLFdBaktrQjtFQWtLbEIsYUE1SStCO0VDZ2EzQjs7QUFFSjtFRHJYQSxhQXJGbUI7RUFzRm5CO0VBb0tBLGFBaFBxQjtFQWlQckIsV0F6T2tCO0VBME9sQixhQXBOK0I7RUNvYTNCOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VEbllKLGFBckZtQjtFQXNGbkI7RUF3REEsYUF2SXFCO0VBd0lyQixXQTdIa0I7RUE4SGxCLGFBeEcrQjtFQ2tiM0I7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFRDlZSixhQXJGbUI7RUFzRm5CO0VBd0RBLGFBdklxQjtFQXdJckIsV0E3SGtCO0VBOEhsQixhQXhHK0I7RUM2YjNCOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFTSjtFQUVJLE9BOWRnQjs7QUFnZXBCO0VBRUksT0FqZWdCOztBQXVlcEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQVNKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7QUFBQTtFQUVJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7QUFBQTtFQUVJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQVFSO0VBRVE7QUFBQTtJQUVJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOzs7QUFlWjtFQUNJOztBQU1KO0VBQ0k7RUFDQTtFQUNBOztBQUdBO0VBRUk7OztBQVlaO0VBQ0k7OztBQVFKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBSUE7O0FBR0o7RUFFSSxZQUNJOztBQUlSO0VBRUksWUFDSTs7O0FDaHJCWjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFRRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW9CQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQVVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFLRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0FBQUE7QUFFQTtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0lBQ0U7OztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtBQUFBO0FBRUE7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0VBSUU7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQU9GO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUVGO0FBQ0E7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtBQUNBO0VBQ0U7RUFDQTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtBQUNBO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7QUFDQTtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUNBO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFnQkE7RUFDRTs7O0FBR0Y7QUFBQTtBQUVBO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUE7RUFDRTtFQUNBOzs7QUNsbENGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQ3RNRjtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7QUNqQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUM3R0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFPRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FDL0hGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBcUM7OztBQUNyQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFBb0M7OztBQUNwQztFQUF1RDs7O0FBQ3ZEO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUF5RDs7O0FBQ3pEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBQzRFOzs7QUFDNUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7QUFDQTtBQUFBO0FBQUE7RUFHQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQXFCOzs7QUFDckI7RUFBdUM7OztBQUN2QztFQUE0Qzs7O0FBQzVDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFFQTtBQUFBO0FBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDelhBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBNEI7RUFBZTs7O0FBRTNDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7RUFDMEM7OztBQUUxQztBQUFBO0FBQUE7QUFBQTtBQUlBO0VBQStCOzs7QUFDL0I7RUFBK0I7OztBQUUvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcUJBO0VBQ0U7RUFBb0I7RUFDcEI7RUFBZTtFQUFxQjtFQUNwQztFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0U7RUFFRjtFQUNBO0VBQWE7RUFBa0I7RUFDL0I7OztBQUVGO0VBQWtEOzs7QUFDbEQ7RUFBa0Q7OztBQUNsRDtFQUFrRDs7O0FBQ2xEO0VBQWtEOzs7QUFDbEQ7RUFBa0Q7OztBQUVsRDtBQUNBO0VBQXNEOzs7QUFDdEQ7RUFDRTtFQUFpQjtFQUFjO0VBQy9CO0VBQWU7RUFBd0I7RUFDdkM7RUFDQTtFQUFpQjtFQUFtQjtFQUNwQztFQUNBO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUFnQjtFQUFhOzs7QUFFL0I7RUFDRTtFQUFXO0VBQWlCO0VBQW1CO0VBQWtCOzs7QUFFbkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBO0VBQWtEOzs7QUFDbEQ7RUFDRTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFBVztFQUFpQjtFQUFtQjtFQUFrQjs7O0FBRW5FO0VBQ0U7RUFBaUI7RUFBaUI7RUFBbUI7RUFBZ0I7OztBQUV2RTtFQUNFO0VBQWU7RUFBZ0M7OztBQUVqRDtFQUNFO0VBQWU7RUFBcUI7RUFBVTtFQUM5QztFQUFpQjtFQUFtQjtFQUFrQjs7O0FBRXhEO0VBQTBEO0VBQWdCOzs7QUFFMUU7RUFDRTtFQUFlO0VBQXFCOzs7QUFFdEM7RUFBb0U7OztBQUVwRTtFQUNFO0VBQWU7RUFBeUI7RUFDeEM7RUFBVzs7O0FBRWI7RUFDRTtFQUFlO0VBQXdCOzs7QUFFekM7RUFDRTtFQUFpQjtFQUFtQjtFQUFrQjs7O0FBRXhEO0VBQ0U7RUFBaUI7RUFBbUI7RUFBZ0I7OztBQUV0RDtFQUNFO0VBQXNCO0VBQXFCO0VBQzNDO0VBQWlCO0VBQW1CO0VBQ3BDO0VBQWdCOzs7QUFHbEI7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtFQUdzRDs7O0FBQ3REO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPc0Q7OztBQUN0RDtBQUFBO0FBQUE7QUFBQTtFQUlFO0VBQWdCO0VBQWU7QUFDL0I7QUFBQTtBQUFBO0FBQUE7RUFJQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFBeUQ7OztBQUN6RDtFQUF5RDs7O0FBQ3pEO0FBQUE7RUFDeUQ7OztBQUN6RDtFQUF5RDtFQUFnQjtFQUFlOzs7QUFDeEY7QUFBQTtBQUFBO0FBR0E7QUFBQTtFQUVFO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtBQUFBO0FBR0E7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0U7OztBQWtCRjtFQUFxQztFQUFZOzs7QUFDakQ7RUFBMkM7OztBQUMzQztFQUE0Qzs7O0FBQzVDO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBQ3lEOzs7QUFDekQ7RUFBaUQ7OztBQUVqRDtFQUFpQjs7O0FBQ2pCO0VBQXdEOzs7QUFFeEQ7RUFDRTtFQUFlO0VBQXFCO0VBQ3BDO0VBQVc7OztBQUViO0VBQ0U7RUFBVztFQUNYO0VBQ0E7RUFBaUI7RUFBbUI7RUFDcEM7OztBQUVGO0VBQThCOzs7QUFFOUI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUFpQjtFQUNqQjs7O0FBRUY7RUFBcUM7OztBQUNyQztFQUNFO0VBQWdCO0VBQ2hCO0VBQWlCO0VBQW1COzs7QUFHdEM7RUFDRTtFQUFlO0VBQTJCO0VBQzFDO0VBQVc7OztBQUdiO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0U7OztBQUVGO0VBQ0U7RUFBZTtFQUF1Qjs7O0FBR3hDO0FBQ0E7RUFBcUQ7OztBQUNyRDtFQUNFO0VBQ0E7RUFDQSxZQUNFOzs7QUFHSjtFQUNFO0VBQ0E7OztBQUVGO0VBQStEOzs7QUFDL0Q7RUFBK0Q7OztBQUMvRDtFQUErRDs7O0FBQy9EO0VBQStEOzs7QUFDL0Q7QUFBQTtFQUNvRTs7O0FBQ3BFO0VBQWtFOzs7QUFDbEU7RUFBa0U7OztBQUNsRTtFQUFrRTs7O0FBQ2xFO0VBQWtFOzs7QUFDbEU7RUFBa0U7OztBQUNsRTtFQUFrRTs7O0FBQ2xFO0VBQWtFOzs7QUFDbEU7RUFBa0U7OztBQUVsRTtFQUF1QztJQUFPOztFQUFjO0lBQUs7OztBQUNqRTtFQUNFO0lBQU87SUFBWTs7RUFDbkI7SUFBTztJQUFZOzs7QUFFckI7RUFDRTtJQUErRDs7O0FDNVpqRTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDSTs7O0FBT1I7QUFBQTtBQUFBO0VBRTZCOzs7QUFFN0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDSTs7O0FBTVI7RUFNSTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFBMEI7OztBQUMxQjtBQUFBO0VBRUk7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBTUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUtJO0VBQ0E7RUFDQTs7O0FBRUo7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7QUNqTEE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7QUFBQTtFQUU2Qjs7O0FBTzdCO0VBQTJDOzs7QUFDM0M7RUFBMkM7OztBQUUzQztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFFSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7RUFDMkM7RUFBYTtFQUFjO0VBQW9COzs7QUFFMUY7RUFBcUM7OztBQUVyQztFQUNJO0VBQ0E7RUFDQSxZQUNJOzs7QUFHUjtFQUEwRDs7O0FBQzFEO0VBQTBEOzs7QUFDMUQ7RUFDSTtFQUNBOzs7QUFHSjtFQUlJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQTJDOzs7QUFDM0M7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQU1BOzs7QUFFSjtFQUFnRTs7O0FBQ2hFO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQW9FOzs7QUFFcEU7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUdBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7QUMvTUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFFZ0M7OztBQUdoQztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVNKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFVO0VBQXFDOztBQUcvQztFQUFjOztBQUVkO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUFJO0VBQWlCOzs7QUFNekI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFBaUI7RUFBNkI7O0FBQzlDO0VBQWlCOztBQUNqQjtFQUM2Qzs7O0FBTWpEO0VBQ0k7SUFBTztJQUFpRjs7RUFDeEY7SUFBTztJQUFrRjs7RUFDekY7SUFBTztJQUFrRjs7O0FBRTdGO0VBQ0k7OztBQUVKO0VBQ0k7SUFBOEQ7OztBQVNsRTtFQUNJOzs7QUFFSjtFQUNJO0lBQW1GOzs7QUFJdkY7RUFDSTtFQUNBO0VBQ0E7RUFVQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBQ0E7RUFBWTs7QUFFaEI7RUFBVzs7QUFDWDtFQUNJO0VBQ0E7O0FBVUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBS0E7RUFRQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7SUFBSzs7O0FBR1Q7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUFROzs7QUFHWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQWtCOzs7QUFHdEI7RUFDSTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUFlOztBQUNmO0VBQ0k7O0FBQ0E7RUFBWTs7QUFFaEI7RUFBVzs7QUFDWDtFQUNJO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQUk7RUFBaUI7OztBQUV6QjtFQUNJO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtJQUE4Qjs7RUFDOUI7SUFBeUM7OztBQzdZN0M7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOzs7QUFHSjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7QUFBQTtBQUFBO0FBQUE7SUFJRTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7QUFBQTtJQUVFOzs7QUFHSjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtJQUNFO0lBQ0E7OztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtJQUFXOztFQUNYO0lBQVk7OztBQUVkO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7OztBQU1KO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0lBQU87O0VBQ1A7SUFBTzs7O0FBRVQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0lBQThDO0lBQWlCOzs7QUFHakU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7RUFHRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7QUFDQTtBQUFBO0FBQUE7RUFHQTs7O0FBRUY7QUFDQTtFQUNFOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTtBQUNBO0FBQUE7QUFBQTtJQUdBO0lBQ0E7SUFDQTtJQUNBOztBQUVGO0VBQ0E7SUFDRTs7O0FDMTVDSjtBQUFBO0FBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQUNJO0VBR0osWUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQTBEOzs7QUFDMUQ7RUFBMEQ7OztBQUUxRDtBQUFBO0VBRUk7RUFDQSxZQUNJOzs7QUFJUjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7RUFFSTtFQUNBLFlBQ0k7RUFHSjs7O0FBRUo7RUFBK0I7OztBQUMvQjtBQUFBO0VBRUk7RUFDQTtFQUNBLFlBQ0k7OztBQU1SO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0k7OztBQUlSO0FBQUE7RUFFSSxZQUNJOzs7QUFJUjtBQUFBO0VBRUk7OztBQUVKO0FBQUE7RUFFSSxZQUNJOzs7QUFJUjtBQUFBO0VBRUksWUFDSTs7O0FBTVI7RUFDSTtFQUNBO0VBQ0EsWUFDSTs7O0FBSVI7QUFBQTtFQUVJLFlBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBLFlBQ0k7OztBQUtSO0VBQ0k7SUFBVzs7RUFDWDtJQUFXOzs7QUFFZjtFQUNJO0lBQVc7O0VBQ1g7SUFBVzs7O0FBRWY7RUFDSTtJQUFPO0lBQXVCOztFQUM5QjtJQUFPO0lBQXVCOztFQUM5QjtJQUFPO0lBQXVCOzs7QUFFbEM7RUFDSTtJQUFPOztFQUNQO0lBQU87OztBQUdYO0VBQ0k7QUFBQTtBQUFBO0FBQUE7SUFHdUM7OztBQ3hLM0M7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1FO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTtFQUNBOzs7QUM5WEY7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBSUE7RUFHQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0k7RUFDQTs7QUFRSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBS0o7RUFBMEM7O0FBQzFDO0VBQTBDOztBQUMxQztFQUEwQzs7QUFLMUM7RUFDSTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7O0FBSUo7RUFDSTtFQUNBOztBQUlKO0VBQ0k7RUFDQTs7QUFNSjtFQUNJO0VBQ0E7O0FBS0o7RUFDSTtFQUNBOztBQVNKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQU1KO0VBQXNDOzs7QUFTMUM7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFtQztFQUFhO0VBQWM7O0FBQzlEO0VBQW1DO0VBQWE7RUFBYzs7QUFDOUQ7RUFBbUM7RUFBYTtFQUFjOztBQUM5RDtFQUFtQztFQUFhO0VBQWM7OztBQWU5RDtFQUNJO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBOztBQUlKO0VBQ0k7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7O0FBSUo7RUFDSTtFQUNBOztBQUtKO0VBQ0k7RUFDQTs7QUFNSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUFzQzs7O0FDdFAxQztFQUNJO0VBQ0E7RUFHQTs7QUFFQTtFQUFJOztBQUVKO0VBQ0k7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBUUE7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQTBDOztBQUMxQztFQUFtQztFQUFtRDs7QUFJdEY7RUFDSTs7QUFJSjtFQUEyQzs7QUFDM0M7RUFBZ0U7O0FBRWhFO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUEwQzs7QUFPMUM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQVNKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFBb0I7O0FBRXBCO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7SUFBSzs7RUFDTDtJQUFPOzs7QUFHWDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBSztFQUFXOztBQUNoQjtFQUFJO0VBQVc7O0FBR25CO0VBQWU7OztBQVdmO0VBQ0k7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFNSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUE0Qjs7QUFDNUI7RUFBNkI7O0FBQzdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUFFSjtFQUF3Qzs7QUFReEM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQWlDOztBQUdqQztFQUNJO0lBQWlCOzs7QUFJckI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQXFDOztBQUNyQztFQUEyQzs7QUFDM0M7RUFBZ0M7RUFBYzs7QUFDOUM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUEwQjs7QUFFMUI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUFxQjtFQUEwRDs7QUFFL0U7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUFrQjtFQUFrQjtFQUF1Qzs7QUFDM0U7RUFBaUY7O0FBSWpGO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUF1QztFQUFxQjtFQUFnQjs7QUFDNUU7RUFBcUU7O0FBQ3JFO0VBQXdCO0VBQWU7RUFBcUI7RUFBaUI7O0FBQzdFO0VBQXVCO0VBQXFDOztBQUU1RDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUFrQjs7QUFNbEI7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFNUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVk7O0FBR2hCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQXFCO0VBQWdCOztBQUNyQztFQUFtQjtFQUFnQjs7QUFDbkM7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUlKO0VBQXdCOztBQUN4QjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQXVCO0VBQWdCOztBQU92QztFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUF3Qzs7QUFDeEM7RUFBcUM7O0FBQ3JDO0VBQ3dDOztBQUN4QztFQUU4Qzs7QUFDOUM7RUFBMEM7O0FBTTFDO0VBQXdEOztBQUN4RDtFQUE4RDs7O0FBTzlEO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFBb0M7O0FBQ3BDO0VBQWdEO0VBQWE7RUFBYztFQUFpQjs7QUFDNUY7RUFDSTtFQUNBO0VBQ0E7OztBQzFpQlI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNBO0FBQUE7RUFFQTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFNQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUE4RDs7O0FBQzlEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0VBQ0UsWUFDRTs7O0FBR0o7RUFDRTs7O0FBRUY7RUFDRTtFQUNBLFlBQ0U7OztBQUdKO0VBQTRCOzs7QUFDNUI7QUFBQTtFQUVFO0VBQ0EsWUFDRTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FDckhGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FDN0VGO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0VBR0k7OztBQUlKO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFRSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU9KO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTs7O0FBUUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7QUFBQTtBQUFBO0VBR0k7RUFDQTs7O0FBUUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBV0o7RUFBNkI7OztBQUM3QjtFQUE2Qjs7O0FBQzdCO0VBQTZCOzs7QUFDN0I7RUFBNkI7OztBQUM3QjtFQUE2Qjs7O0FBQzdCO0VBQTZCOzs7QUFDN0I7RUFBNkI7OztBQUM3QjtFQUE2Qjs7O0FBRTdCO0VBQStDOzs7QUFDL0M7RUFBK0M7OztBQUMvQztFQUErQzs7O0FBQy9DO0VBQStDOzs7QUFDL0M7RUFBK0M7OztBQUMvQztFQUErQzs7O0FBQy9DO0VBQStDOzs7QUFDL0M7RUFBK0M7OztBQUkvQztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7QUFBQTtBQUFBO0FBQUE7SUFJSTs7O0FBUVI7RUFDSTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFBOEI7OztBQUM5QjtFQUE4Qjs7O0FDdFE5QjtBQUFBO0FBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtBQUNBO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQ2pDSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFBNEM7OztBQUM1QztFQUE0Qzs7O0FBQzVDO0VBQTRDOzs7QUFFNUM7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0lBQU87O0VBQ1A7SUFBTzs7O0FBUVQ7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQVFKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0lBQU87O0VBQ1A7SUFBTzs7O0FBSVQ7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUVGO0lBQWlFOzs7QUFLbkU7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQXVFOzs7QUFDdkU7RUFBdUU7OztBQUN2RTtFQUF1RTs7O0FBQ3ZFO0VBQXVFOzs7QUFDdkU7RUFBK0Q7OztBQUMvRDtFQUNFO0VBQ0E7OztBQUVGO0VBQTZEOzs7QUNuSDdEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ0E7QUFBQTtBQUFBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFNQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFFQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0VBRUU7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUNBO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7OztBQUdKO0VBQ0U7QUFBQTtBQUFBO0FBQUE7SUFJRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7O0FBRUY7RUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBS0U7SUFDQTs7RUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFNRTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7OztBQ3BsQkY7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFBc0M7OztBQUN0QztFQUFzQzs7O0FBQ3RDO0VBQXNDOzs7QUFDdEM7RUFBc0M7OztBQU10QztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFXRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1GO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQU1GO0FBQUE7RUFFRTtFQUNBOzs7QUM3SkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQ3hJRjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFBeUM7OztBQUN6QztFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQTRDOzs7QUFFNUM7RUFDSTtFQUNBOzs7QUN4REo7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQU1KO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBa0JKO0VBQ0k7O0FBRUE7RUFDSTs7O0FBVVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUN4RUE7RUFBdUI7RUFBWTs7QUFDbkM7RUFBNkI7O0FBQzdCO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQzBDOztBQUMxQztFQUFtQzs7O0FEbUV2QztBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtJQUFLOzs7QUFHVDtFQUNJO0lBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBT0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FFak1KO0VBT0U7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFRRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBU0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQU1GO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRjtFQUNFOzs7QUFJRjtBQUFBO0VBRUU7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFNRTs7O0FBRUY7RUFDRTs7O0FBZ0JGO0FBQUE7RUFFRTs7O0FBTUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBeUJGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQkFDRTtFQUlGO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0lBQ0U7OztBQUtKO0VBQ0U7SUFDRTs7O0FBZ0JKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFNRjtFQUNFO0VBQ0E7OztBQVlGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBYUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0EsWUFDRTs7O0FBT0o7QUFBQTtFQUVFOzs7QUN2YUY7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQXlCOztBQUd6QjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFBTTs7QUFHTjtFQUNJO0VBQ0E7O0FBQ0E7QUFBQTtFQUNlO0VBQWE7O0FBUWhDO0VBQ0k7RUFDQTs7QUFDQTtBQUFBO0VBQ2U7RUFBYTs7QUFJaEM7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7QUFBQTtFQUNlO0VBQWE7O0FBSWhDO0VBQ0k7RUFDQTs7QUFJSjtFQUNJOztBQUlKO0VBQ0k7O0FBS0o7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBOzs7QUFPUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOzs7QUN6RlI7RUFDSTtFQUNBO0VBQ0EsS0FoQzRCO0VBaUM1QixTQXZDNEI7RUF3QzVCLFlBM0I0QjtFQTRCNUIsZUE3QzRCO0VBOEM1QjtFQUVBOztBQUVBO0VBQ0ksZUFsRHdCOztBQXFENUI7RUFDSTtFQUNBOztBQUdKO0VBRUksWUEzQ3dCOztBQTZDeEI7RUFDSTs7O0FBVVo7RUFDSTtFQUNBLEtBeEU0QjtFQXlFNUI7RUFDQTtFQUNBO0VBQ0E7RUFDQSxlQS9FNEI7RUFnRjVCLFlBL0Q0QjtFQWdFNUIsWUE5RDRCO0VBK0Q1QjtFQUNBO0VBRUEsWUFDSTs7QUFHSjtFQUNJLGVBekZ3Qjs7QUE0RjVCO0VBRUksWUE3RXdCO0VBOEV4QixZQUNJOzs7QUFTWjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0EzRzRCO0VBNEc1QixRQTlHNEI7RUErRzVCO0VBQ0E7RUFHQTtFQUNBO0VBR0EsZUExSDRCO0VBNkg1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0E1RzRCO0VBK0c1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQUNJOztBQUtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU1KO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLUjtFQUNJO0VBQ0EsWUFwSndCOztBQXdKNUI7RUFDSSxZQXZKd0I7RUF3SnhCOztBQUlKO0VBQ0ksWUFDSTs7QUFPUjtFQUNJLE9BOUt3QjtFQStLeEI7RUFDQTs7QUFFQTtFQUNJLFlBQ0k7O0FBTVo7RUFDSSxPQXZMd0I7RUF3THhCO0VBQ0E7RUFDQTs7QUFPSjtFQUNJLFFBdE53QjtFQXVOeEI7RUFDQSxlQTNOd0I7RUE0TnhCO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQVFSO0VBRUksT0FyTndCOztBQXVOeEI7RUFDSTtFQUNBLFlBck5vQjs7QUF3TnhCO0VBQ0ksWUF2Tm9CO0VBd05wQjs7QUFHSjtFQUNJLE9BcE9vQjs7QUF1T3hCO0VBQ0ksT0FwT29CO0VBcU9wQjs7O0FBWVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7OztBQ2xUWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDSTs7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7O0FBS0E7RUFBaUI7O0FBQ2pCO0VBQWlCO0VBQWdCOztBQUtqQztFQUFpQjs7QUFDakI7RUFBaUI7O0FBS3JCO0VBQ0k7RUFDQTs7QUFFQTtFQUFpQjs7QUFDakI7RUFBaUI7OztBQVdyQjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBaUI7OztBQVF6QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0k7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0k7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7O0FBRUE7RUFBZTs7QUFLdkI7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFNWjtFQUNJOzs7QUFTQTtBQUFBO0VBQ0k7O0FBSUE7QUFBQTtFQUFpQjs7QUFDakI7QUFBQTtFQUFpQjs7QUFHYjtBQUFBO0VBQWlCOztBQUNqQjtBQUFBO0VBQWlCO0VBQThCOztBQUkvQztBQUFBO0VBQWlCOztBQUNqQjtBQUFBO0VBQWlCOztBQUlqQjtBQUFBO0VBQWlCOztBQUNqQjtBQUFBO0VBQWlCOztBQUtyQjtBQUFBO0VBQ0k7O0FBRUE7QUFBQTtFQUNJO0VBQ0E7O0FBS0o7QUFBQTtFQUFlOztBQUVmO0FBQUE7RUFDSTtFQUNBOztBQUVBO0FBQUE7RUFBZTs7QUFLbkI7QUFBQTtFQUFTOztBQUNUO0FBQUE7RUFBUzs7O0FDNVVyQjtFQUdFO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RUFHQTtFQUVBO0VBSUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFJQTtFQUNBO0VBR0E7RUFDQTtFQUtBOzs7QUFNRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0U7OztBQVdKO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQVdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBT0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQU1GO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBUUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQU9GO0VBQ0U7SUFDRTs7O0FBUUo7RUFDRTtJQUNFOzs7QUN0UEo7RUFNRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFJQTs7QUFFQTtBQUFBO0FBQUE7RUFHRTs7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0VBSUE7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7OztBQVNGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1GO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQSxZQUNFOzs7QUFVSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBLFdBQ0U7OztBQUdKO0VBQ0U7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87OztBQUVUO0VBQ0U7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7O0FBR1Q7RUFDRTtJQUNFO0lBQ0E7OztBQUdKO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFLRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQU1GO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUlGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQVNGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBYUY7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUVGO0lBQ0U7SUFDQTtJQUNBOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUlBO0lBQ0E7O0VBRUY7SUFBNkI7O0VBQzdCO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUlGO0lBQWlDOztFQUNqQztJQUNFO0lBQ0E7SUFDQTs7O0FBS0o7RUFDRTtJQUNFOzs7QUN6Vko7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFBd0U7OztBQUN4RTtFQUF3RTs7O0FBQ3hFO0VBQXVFOzs7QUFDdkU7RUFBMEU7OztBQUMxRTtFQUF3RTs7O0FBRXhFO0VBQ0k7SUFBVzs7RUFDWDtJQUFNOzs7QUFFVjtFQUNJO0lBQVc7O0VBQ1g7SUFBTTs7O0FBRVY7RUFDSTtJQUFXOztFQUNYO0lBQU07OztBQUVWO0VBQ0k7SUFBVzs7RUFDWDtJQUFNOzs7QUFFVjtFQUNJO0lBQWdCOztFQUNoQjtJQUFNOztFQUNOO0lBQU07OztBQUtWO0VBQW9GOzs7QUFDcEY7RUFBb0Y7OztBQUNwRjtFQUFtRjs7O0FBQ25GO0VBQXNGOzs7QUFDdEY7RUFBb0Y7OztBQUVwRjtFQUNJO0lBQUs7O0VBQ0w7SUFBTTs7RUFDTjtJQUFNOztFQUNOO0lBQU07O0VBQ047SUFBTTs7RUFDTjtJQUFPOzs7QUFFWDtFQUNJO0lBQUs7O0VBQ0w7SUFBTTs7RUFDTjtJQUFNOztFQUNOO0lBQU87OztBQUVYO0VBQ0k7SUFBSzs7RUFDTDtJQUFNOztFQUNOO0lBQU07O0VBQ047SUFBTzs7O0FBRVg7RUFDSTtJQUFLOztFQUNMO0lBQU07O0VBQ047SUFBTTs7RUFDTjtJQUFNOztFQUNOO0lBQU87OztBQUVYO0VBQ0k7SUFBSzs7RUFDTDtJQUFNOztFQUNOO0lBQU07O0VBQ047SUFBTTs7RUFDTjtJQUFNOztFQUNOO0lBQU07O0VBQ047SUFBTzs7O0FBR1g7RUFDSTtJQUEwQjs7O0FDbkg5QjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTs7O0FBUUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7SUFBb0M7O0VBQ3BDO0lBQW9DOzs7QUNwRXhDO0FBQUE7QUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQUNJO0VBRUo7RUFDQTtFQUNBO0FBQ0E7QUFBQTtBQUFBO0VBR0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0EsWUFDSTs7O0FBR1I7RUFDSTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZUE7QUFBQTtBQUVBO0FBQ0k7QUFBQTtBQUFBO0VBR0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7QUFDQTtBQUFBO0FBQUE7RUFHQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUdBO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0FBQ0E7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTs7O0FDbEtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFrQjtFQUFzQjs7QUFFeEM7RUFDSTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFLUjtFQUNJO0VBQ0E7O0FBQ0E7RUFBVzs7QUFDWDtFQUFXOzs7QUFJZjtFQUNJO0VBQ0E7O0FBQ0E7RUFBa0I7O0FBQ2xCO0VBQVU7OztBQUlkO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQWtCOztBQUNsQjtFQUFVOzs7QUFNZDtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUF5QztFQUFlO0VBQXdCOzs7QUFDaEY7RUFDSTtFQUFtQjtFQUNuQjtFQUEyQjtFQUF1Qjs7O0FBRXREO0VBQ0k7RUFBaUI7RUFBZ0I7RUFBMkI7RUFDNUQ7RUFBcUI7RUFBbUI7RUFBYTs7O0FBRXpEO0VBQTJDO0VBQWU7OztBQUUxRDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFVOztBQUNWO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7OztBQUlSO0VBQTZCOzs7QUFDN0I7RUFBOEI7OztBQUU5QjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUM3UEo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7O0FDMUdGO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBT0E7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQVFKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBYUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0k7O0FBU1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0k7O0FBT1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFLSjtFQUNJO0VBQ0E7OztBQVVSO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOztBQUlKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7OztBQ2hMUjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTs7O0FBT0Y7RUFBcUQ7OztBQUNyRDtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFPRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQStCO0VBQWE7RUFBYzs7O0FBRzFEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFRRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTtFQUNBOzs7QUFFRjtFQUFtQzs7O0FBQ25DO0VBQ0U7OztBQWFGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7OztBQU1GO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQVVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FDblBGO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXNCQTtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7O0FDcEVKO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQTtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQ0FGO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBTUE7RUFDQTs7QUFHSTtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFESjtFQUNJOztBQURKO0VBQ0k7O0FBREo7RUFDSTs7QUFLUjtFQUNJOzs7QUFJUjtFQUNJO0lBQU87SUFBWTs7RUFDbkI7SUFBTztJQUFZOzs7QUFHdkI7RUFDSTtJQUNJO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQVVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDekdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFHQTtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQ25DRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTs7O0FDdE9GO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBT0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBRUo7RUFDSTs7O0FDN0NSO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUEyQztFQUFzQjtFQUFvQjs7O0FBQ3JGO0VBQTJDO0VBQXNCO0VBQW9COzs7QUFDckY7RUFBMkM7RUFBc0I7RUFBb0I7OztBQUNyRjtFQUEyQztFQUFzQjtFQUFvQjs7O0FBQ3JGO0VBQTJDO0VBQXNCO0VBQW9COzs7QUFDckY7RUFBMkM7RUFBc0I7RUFBb0I7OztBQUdyRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFPRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUY7RUFBMkI7OztBQUMzQjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtBQUFBO0VBRUU7RUFDQTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTs7O0FDL05GO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQ3pGRjtFQUNJO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBTUE7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFrQjs7QUFFbEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtJQUFLOzs7QUFLVDtFQUNJO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBUUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7O0FBRUE7RUFBaUI7O0FBR3JCO0VBQ0k7O0FBRUE7RUFBaUI7RUFBWTs7QUFPckM7RUFDSTs7QUFFQTtFQUFXOztBQUdmO0VBQWdCOztBQUVoQjtFQUFnQjs7QUFDaEI7RUFBZ0I7O0FBR2hCO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQVdoQjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFBZ0I7O0FBSWhCO0VBQXNCOztBQUl0QjtFQUFxQzs7QUFDckM7RUFBcUM7O0FBS3JDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0k7RUFDQTs7QUFFQTtFQUFlOztBQUVmO0VBQVU7O0FBRVY7RUFBZ0I7O0FBRWhCO0VBQWlCOztBQUdiO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFBYzs7QUFJZDtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBYTs7O0FBVWpDO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBTUo7RUFDSTs7QUFHSjtFQUtJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQ3RhUjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtBQUNBO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQ2xZRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ0E7QUFBQTtFQUVBOzs7QUFHRjtBQUFBO0FBQUE7RUFHRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0FBQ0E7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFFQTtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQ0E7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUNwV0Y7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFPQTtFQUFVOztBQUNWO0VBRUk7RUFDQTtFQUNBOztBQUlKO0VBRUk7RUFDQTs7QUFDQTtFQUNnQjtFQUFnQzs7QUFJcEQ7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUlKO0VBQWlCO0VBQWlCOztBQUNsQztFQUFpQjtFQUFpQjs7QUFDbEM7RUFBaUI7RUFBaUI7O0FBQ2xDO0VBQWlCO0VBQWlCOztBQUNsQztFQUFpQjtFQUFpQjs7QUFHbEM7RUFBOEI7O0FBQzlCO0VBQThCOztBQUM5QjtFQUE4Qjs7QUFDOUI7RUFBOEI7O0FBRzlCO0VBRUk7O0FBTUo7RUFFSTs7QUFHSjtFQUVJO0VBQ0E7RUFDQTs7QUFHSjtFQUVJO0VBQ0E7O0FBU0o7RUFHSTtFQUNBO0VBQ0E7O0FBS0o7RUFHSTtFQUNBOztBQUdKO0VBR0k7RUFDQTtFQUNBOztBQUdKO0VBR0k7RUFDQTtFQUNBOzs7QUFXUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUlKO0VBRUk7RUFDQTtFQUNBOztBQUVKO0VBRUk7RUFDQTtFQUNBOztBQUlKO0VBR0k7RUFDQTtFQUNBOztBQUVKO0VBR0k7RUFDQTtFQUNBOzs7QUM5UlI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUM1REY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQXFDOzs7QUFDckM7RUFBc0M7OztBQUV0QztBQUFBO0VBQ3VEOzs7QUFDdkQ7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7OztBQ2xISjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUNyR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUVFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDbk9GO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUlFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQzlIRjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFJQTtFQUNBOzs7QUFNSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQU1KO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFNSjtFQUNJO0VBQ0E7RUFHQTtFQUNBOzs7QUFLSjtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7OztBQUlKO0VBQ0k7OztBQU1KO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0lBQ0k7OztBQzVOUjtFQUNJOzs7QUFRQTtBQUFBO0FBQUE7RUFHSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQUk7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJOzs7QUFPSjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTs7O0FBR1I7RUFDSTtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7O0FBTVg7RUFBZTs7O0FBQ2Y7RUFBcUI7OztBQUVyQjtFQUNJO0lBQU87O0VBQ1A7SUFBTzs7O0FBSVg7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdSO0VBQ0k7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FBQ0E7RUFBdUI7RUFBVTs7O0FBRXJDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUVBO0VBQ0k7O0FBSUo7RUFFSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFDQTtFQUFZO0VBQXVDOzs7QUFJM0Q7RUFDSTtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7O0FBU1A7RUFBYTs7QUFDYjtFQUFhOzs7QUFJakI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQW9COzs7QUFHcEI7RUFDSTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7OztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUFZOztBQUNaO0VBQVk7O0FBQ1o7RUFBWTs7O0FBSWhCO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQWE7O0FBQ2I7RUFDSTtFQUNBO0VBQ0E7OztBQVFSO0VBQ0k7RUFDQTs7O0FBT0o7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0k7RUFDQTs7O0FBR1I7RUFDSTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7OztBQU9KO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3hmSjtFQUNJOzs7QUFHSjtFQUNJOztBQUNBO0VBQUk7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFBb0I7RUFBZ0I7OztBQUdwQztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOzs7QUFLUjtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBOztBQUdKO0VBQXFCOzs7QUFFekI7RUFDSTtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7O0FBRVg7RUFBZTs7O0FBQ2Y7RUFBcUI7OztBQUNyQjtFQUNJO0lBQU87O0VBQ1A7SUFBTzs7O0FBSVg7RUFBK0I7OztBQUMvQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHUjtFQUNJO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTs7O0FDcExKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUMzS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUNBO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFNRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtBQUVBO0VBQ0U7RUFDQTs7O0FBTUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFHRjtFQUNFO0lBQU87O0VBQ1A7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7RUFDUDtJQUFPOzs7QUFFVDtFQUNFO0lBQU87O0VBQ1A7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87OztBQUdUO0VBQ0U7RUFDQTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBTUY7RUFDRTs7O0FBTUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQU1BOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBZUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUdBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtJQUNFOztBQUVGO0VBQ0E7SUFDRTs7QUFFRjtBQUFBO0FBQUE7RUFHQTtJQUNFOztFQUVGO0lBQ0U7OztBQUlKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7RUFDRTs7O0FBU0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUlGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFrQkY7QUFBQTtFQUNxRjs7O0FBRXJGO0FBQUE7RUFDc0Y7RUFBYTtFQUFjOzs7QUFFakg7QUFBQTtFQUNvRztFQUFTO0VBQWE7OztBQUsxSDtFQUlJO0FBQUE7SUFBMkI7O0VBSTdCO0lBQXVFOztFQUN2RTtJQUF1RTs7O0FBV3pFO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTs7O0FBSUY7RUFDRTtJQUNFO0lBQ0E7SUFDQTs7RUFLRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOzs7QUMzV0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBOzs7QUFLRjtFQUFnQzs7O0FBRWhDO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDRTtFQUVGO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFBb0M7RUFBaUI7OztBQUNyRDtFQUFvQztFQUE4QjtFQUFZOzs7QUFDOUU7RUFBb0M7RUFBOEI7RUFBWTs7O0FBRTlFO0FBQUE7QUFBQTtBQUdBO0VBQWE7RUFBZTtFQUF5QjtFQUF1Qjs7O0FBRTVFO0FBQUE7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUFnQjtFQUFlO0VBQXFCOzs7QUFDcEQ7RUFBNkI7OztBQUM3QjtFQUFpQjtFQUFpQjtFQUFtQjtFQUFrQjs7O0FBQ3ZFO0VBQWdCO0VBQWlCO0VBQW1COzs7QUFDcEQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDQTtBQUFBO0VBRUE7OztBQUVGO0FBQUE7QUFBQTtFQUU0QjtFQUFnQjtFQUFpQjs7O0FBQzdEO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFBMEM7RUFBYTtFQUFtQjtFQUFtQjs7O0FBQzdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBT0Y7RUFBNEM7RUFBWTs7O0FBQ3hEO0VBQWtEOzs7QUFDbEQ7RUFBbUQ7OztBQUNuRDtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7QUFBQTtFQUNnRTs7O0FBQ2hFO0VBQXdEOzs7QUFFeEQ7RUFBaUM7SUFBTzs7RUFBYztJQUFLOzs7QUFDM0Q7RUFBa0M7SUFBTztJQUFZOztFQUEwQztJQUFLO0lBQVk7OztBQUVoSDtBQUNBO0FBQUE7RUFDK0I7RUFBcUI7OztBQUNwRDtBQUFBO0FBQUE7QUFBQTtFQUc2QjtFQUFxQjs7O0FDcktsRDtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBSVI7QUFBQTtBQUFBO0VBR0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUM5R0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQU9BOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBT0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOzs7QUMzUko7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUtBOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7QUFBQTtJQUNpQztJQUFrQjs7O0FBSXJEO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7QUFBQTtFQUVFO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7OztBQU9GO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQU9GO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQXNFOzs7QUFDdEU7RUFBc0U7OztBQUN0RTtFQUFzRTs7O0FBQ3RFO0VBQXNFOzs7QUFHdEU7QUFBQTtFQUVFOzs7QUFPRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFPRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUdGO0VBQ0U7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87OztBQUdUO0VBQ0U7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7O0FBRVQ7QUFBQTtFQUVFO0VBQ0E7OztBQVVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFJRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQ3hYRjtFQUF3Qjs7O0FBQ3hCO0VBQWlDOzs7QUFHakM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQW1DOzs7QUFDbkM7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFBcUM7OztBQUdyQztFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUF5Qzs7O0FBRXpDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBOzs7QUFNSjtFQUF5RTs7O0FBQ3pFO0VBQ0k7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBT0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJO0lBQU87O0VBQ1A7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7O0FBU1g7RUFDSTtFQUNBOzs7QUFRSjtFQUNJO0VBTUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFBZ0M7OztBQUdoQztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUFzQzs7O0FBRXRDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQXVDOzs7QUFJdkM7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUM1T1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ1RKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUlSO0FBQUE7QUFBQTtBQUFBO0VBRUk7O0FBR0o7QUFBQTtBQUFBO0FBQUE7RUFFSTs7QUFHSjtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDakJSO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTs7QUFDQTtFQUF5Qjs7QUFuQjdCO0VBcUJJOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQW9CSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFXSjtFQUNJOztBQUlKO0VBRVE7SUFDSTs7O0FBUVI7RUFDSTtFQUNBOztBQUtSO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOztBQUtSO0VBRVE7SUFDSTs7O0FBUVI7RUFDSTtFQUNBOztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFBbUI7O0FBQ25CO0VBQ0k7RUFDQTtFQUNBOztBQUlKO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQUNJO0VBRUosWUFDSTs7QUFJSjtFQUFNOztBQUdWO0VBRVE7SUFDSTtJQUNBO0lBQ0EsWUFDSTs7O0FBUVo7RUFDSTtFQUNBO0VBQ0EsWUFDSTs7QUFLWjtFQUNJOztBQUVBO0VBQWdDO0VBQXFCOztBQUNyRDtFQUFnQzs7QUFHcEM7RUFDSTtFQUNBOzs7QUFVWjtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUFXOztBQUdYO0VBQXdEOztBQUN4RDtFQUF3RDs7QUFHeEQ7RUFBb0M7O0FBR3BDO0VBQ0k7RUFDQTtFQUNBO0VBRUE7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0k7RUFFSjtFQUNBO0VBQ0E7RUFDQTs7O0FBU1I7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDSTtFQUtKO0VBQ0E7RUFHQTs7QUFDQTtBQUFBO0VBQVc7O0FBS1g7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtBQUFBO0VBQWM7O0FBSWQ7QUFBQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQU07RUFBYTs7QUFJdkI7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0FBQUE7RUFBaUM7O0FBQ2pDO0FBQUE7RUFBaUM7O0FBR2pDO0VBQ0k7QUFBQTtJQUEwRDs7O0FBRTlEO0FBQUE7QUFBQTtFQUVJO0VBQ0E7O0FBR0o7QUFBQTtFQUNJOztBQUNBO0FBQUE7RUFBZ0M7O0FBUWhDO0FBQUE7RUFBZ0M7O0FBQ2hDO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtBQUFBO0VBQXNDOztBQUs5QztBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFXUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDSTs7QUFHSjtFQUFpQzs7QUFDakM7RUFBb0M7O0FBR3BDO0VBQTRCOztBQU81QjtFQUE4RDs7QUFHOUQ7RUFBOEY7OztBQVFsRztFQUNJO0lBQU87SUFBNkI7O0VBQ3BDO0lBQU87SUFBNkI7OztBQUd4QztFQUNJO0lBQU87SUFBOEI7O0VBQ3JDO0lBQU87SUFBOEI7OztBQUd6QztFQUNJO0lBQU87SUFBNkI7O0VBQ3BDO0lBQU87SUFBNkI7OztBQUd4QztFQUNJO0lBQU87SUFBNEI7O0VBQ25DO0lBQU87SUFBNEI7OztBQUd2QztFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQ3RqQko7RUFDRTtFQU9BO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUFtQjs7O0FBTXJCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFDRTs7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtGO0VBQ0U7RUFDQTs7O0FBSUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBWUY7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FDakdGO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBOztBQUNBO0VBQXlCOzs7QUFLN0I7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7O0FBRUE7RUFBWTs7O0FBUWhCO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBRUE7RUFDQTs7QUFFQTtFQUFVOzs7QUFZZDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQVU7OztBQUdkO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTs7O0FBdUJkO0FBQUE7QUFBQTtBQUFBO0VBSUk7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTs7O0FBYWQ7RUFDSTtFQUNBO0VBQ0E7RUFZQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQVU7O0FBTVY7RUFDSTtFQUNBO0VBQ0E7OztBQWVSO0VBQ0k7OztBQWlESjtFQUNJOzs7QUFHSjtFQUNJO0lBQ0k7O0VBRUE7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUdKO0lBQ0k7O0VBR0o7QUFBQTtJQUVJOzs7QUFLWjtFQUNJO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7O0FBT1I7QUFBQTtFQUVJO0VBRUE7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFBVTs7O0FBTVY7RUFBVTs7O0FBUWQ7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFPSjtFQUNJO0VBQ0E7RUFDQTs7O0FBcUJKO0VBQ0k7O0FBRUE7RUFDSTs7QUFVSjtBQUFBO0VBRUk7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBV0o7RUFDSTtFQUNBOztBQVVKO0VBQ0k7O0FBR0o7QUFBQTtFQUVJOzs7QUFJUjtFQUNJO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7O0FBbUJSO0VBZUk7RUFDQTs7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7O0FBT1I7RUFDSTtJQUNJO0lBQ0E7O0VBR0o7SUFBYTs7O0FBR2pCO0VBQ0k7SUFDSTs7O0FDcmdCUjtFQUNJO0VBQ0E7RUFDQTtBQUNBO0FBQUE7QUFBQTtFQUdBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtBQUVBO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7RUFFSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7RUFBdUM7OztBQUN2QztFQUF1Qzs7O0FBQ3ZDO0VBQXVDOzs7QUFDdkM7RUFBdUM7OztBQUN2QztFQUNJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0FBQUE7SUFFSTs7O0FDOUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQU1BO0VBaUJBO0VBQ0E7RUFJQTtFQUNBO0VBTUE7RUFDQTtFQUdBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFFSTtFQUNBLFlBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBWUo7RUFDSTs7QUFFQTtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTtFQUNBOztBQUtSO0VBQ0k7O0FBRUo7RUFDSTs7QUFTSjtFQUNJOztBQUVKO0VBQ0k7O0FBV0o7RUFHSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQU1JO0VBQ0E7RUFDQTtFQUNBOzs7QUFpQ1I7QUFBQTtFQU1JO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUVBO0VBQ0E7OztBQVVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTs7O0FBUVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQSxZQUNJOzs7QUFLWjtFQUNJO0VBQ0E7RUFHQTs7O0FBTUo7RUFDSTs7O0FBUUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBYUo7RUFDSTs7O0FBZ0JKO0VBQThCO0VBQXdCOzs7QUFDdEQ7RUFBOEI7RUFBd0I7OztBQUN0RDtFQUE4QjtFQUF3Qjs7O0FBQ3REO0VBQThCO0VBQXdCOzs7QUFDdEQ7RUFBOEI7RUFBd0I7OztBQUN0RDtFQUE4QjtFQUF3Qjs7O0FBQ3REO0VBQThCO0VBQXdCOzs7QUFDdEQ7RUFBOEI7RUFBd0I7OztBQUV0RDtFQUFnRDtFQUF3Qjs7O0FBQ3hFO0VBQWdEO0VBQXdCOzs7QUFDeEU7RUFBZ0Q7RUFBd0I7OztBQUN4RTtFQUFnRDtFQUF3Qjs7O0FBQ3hFO0VBQWdEO0VBQXdCOzs7QUFDeEU7RUFBZ0Q7RUFBd0I7OztBQUN4RTtFQUFnRDtFQUF3Qjs7O0FBQ3hFO0VBQWdEO0VBQXdCOzs7QUFzQnBFO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBS0o7RUFDSTtFQUNBOzs7QUFLUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBZ0JKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFnQko7RUFJSTtFQUlBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUVBOztBQW1CSjtFQUNJOzs7QUFLUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7OztBQXdCUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFVSjtFQUNJO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7O0FBU1I7RUFDSTtFQUNBO0VBQ0E7O0FBTUE7RUFDSTs7O0FBUVI7RUFDSTs7O0FDbm9CSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBSUE7RUFDQTs7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBTUE7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBUUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7QUFZQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFJSjtFQUNJOztBQVFSO0VBQ0k7O0FBUUo7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7O0FBV0o7RUFFSTs7O0FDaklSO0VBQTBCOzs7QUFXMUI7RUFBdUM7OztBQUd2QztFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUF1Qjs7O0FBRXZCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQWVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUFxQzs7O0FBQ3JDO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtBQUFBO0lBRUk7OztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQVFBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU9KO0VBQ0k7OztBQUlKO0VBQ0k7RUFDQTs7O0FBRUo7RUFBa0I7OztBQUdsQjtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFVQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFBdUI7OztBQUV2QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUE0Qjs7O0FBQzVCO0VBQ0k7RUFDQTtFQUNBO0VBR0E7OztBQWFKO0VBQ0k7RUFLQTtFQUNBO0VBQ0E7OztBQUdKO0VBQXFCOzs7QUFDckI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVNKO0VBQ0k7RUFDQTs7O0FBT0o7RUFDSTtJQUNJO0lBQ0E7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQXlCUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUo7RUFDSTs7O0FBaUJKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFNQTtFQUNBO0VBSUE7RUFDQTs7O0FBWUo7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QWpEbFdBO0VBQXVCO0VBQVk7O0FBQ25DO0VBQTZCOztBQUM3QjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUMwQzs7QUFDMUM7RUFBbUM7OztBaUQ4WHZDO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7OztBQWVKO0VBQ0k7OztBQWFKO0VBQ0k7OztBQWtCSjtFQUNJOzs7QUFhSjtFQU9JOzs7QUFZSjtFQUNJOzs7QUNqZ0JKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7SUFDRTs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtBQUFBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFXRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtBQUNBO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFOzs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUM3VkY7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUtBO0VBSUE7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUtBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7RUFFa0M7OztBQUtsQztFQUFpQzs7O0FBS2pDO0VBQ0k7RUFDQTtFQUNBOzs7QUFNSjtFQUNJO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOzs7QUFNSjtFQUdJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFNQTtFQUNBO0VBQ0E7OztBQU1KO0VBQ0k7SUFDSTtJQUNBOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSUo7RUFDSTs7O0FBR0o7RUFDSTtJQUNJO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQU9KO0FBQUE7QUFBQTtFQUdJOzs7QUFHSjtBQUFBO0FBQUE7RUFHSTs7O0FBR0o7QUFBQTtBQUFBO0VBR0k7OztBQUdKO0FBQUE7QUFBQTtFQUdJOzs7QUFHSjtFQUNJO0lBQTZCOzs7QUFtQmpDO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFHSTtJQUF5Qjs7RUFDekI7SUFBK0M7OztBQXdCbkQ7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQU9BO0VBQ0E7RUFJQTs7O0FBUUo7RUFDSTs7O0FBUUo7QUFBQTtBQUFBO0VBR0k7RUFDQTtFQUNBO0VBQ0E7OztBQzNWSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFVQTtFQUVBOztBQUNBO0VBQXlCOzs7QUFJN0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBS0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7OztBQVFkO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFJQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFPSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDeEtKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBOztBQUNBO0VBQXlCOzs7QUFHN0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBT0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1KO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBS0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7OztBQ2hGSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7QUFDQTtFQUF5Qjs7O0FBRzdCO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQU1KO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7OztBQzVDZDtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUNBO0VBQXlCOzs7QUFHN0I7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFRSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBT0o7RUFDSTtFQUdBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FDN0dKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7RUFBOEI7OztBQUM5QjtFQUE4Qjs7O0FBQzlCO0VBQTZCO0lBQU87O0VBQWM7SUFBSzs7O0FBRXZEO0FBQUE7RUFDdUM7OztBQUV2QztFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQWNBO0VBQ0k7OztBQVFKO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBSUE7RUFDSSxZcktvR2U7OztBcUtqR25CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT3JLdEVTO0VxS3VFVCxZckt5RmU7OztBcUt0Rm5CO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQU1BOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUlBOztBQW5CUjtBQXNCSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFPQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBTUE7OztBQUlSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7RUFBZ0U7OztBQUVoRTtFQUNJO0VBRUE7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFNQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJLE9yS2hMQztFcUtpTEQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBSUE7RUFDSTs7QUFPaEI7RUFDSTtFQUNBO0VBQ0E7OztBQVFSO0FBQUE7QUFBQTtFQUdJLE9yS3ZLUzs7QXFLeUtUO0FBQUE7QUFBQTtFQUNJLGtCcktyRFc7OztBcUtnRW5CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUdBO0VBQVk7OztBQUdoQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFVO0VBQXVDOztBQUVqRDtFQUNJO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFBVTtFQUF1Qzs7O0FBS3JEO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZQUNJO0VBRUo7RUFDQTtFQUNBO0VBQ0E7RUFHQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBR3VCOzs7QUFHM0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUo7QUFBQTtBQUFBO0VBR0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUd1Qjs7O0FBTzNCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUF4Qko7SUF3QjhDOzs7QUFFMUM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQVU7RUFBZ0I7O0FBRTFCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7O0FBQ1Y7RUFBVzs7QUFJZjtFQUVJO0VBQ0E7RUFDQTtFQUNBOzs7QUFNUjtFQUNJO0lBQVc7O0VBQ1g7SUFBVzs7O0FBR2Y7RUFDSTtFQUNBOztBQUVBO0VBQVU7OztBQUdkO0VBQ0k7SUFBb0M7OztBQUt4QztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBOztBQUNBO0VBQXVCOztBQUN2QjtFQUE2Qjs7QUFDN0I7RUFBNkI7RUFBcUM7O0FBQ2xFO0VBQW1DOzs7QUFJbkM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0EsT3JLM2ZLO0VxSzRmTDs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0ksWXJLdlpPOztBcUsyWmY7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7O0FBT3BCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdSO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTtJQUNBOzs7QUFHUjtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOzs7QUFRUjtFQUNJO0VBQ0E7OztBQVNKO0FBQUE7RUFFSTs7O0FBV0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQW9COztBQUVwQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJUjtFQUFvQzs7O0FBRXBDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTs7O0FBR2xCO0VBQW1COzs7QUFFbkI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFBcUI7RUFBVztFQUFtQjs7O0FBQ25EO0VBQXFCO0VBQWlCO0VBQWlCOzs7QUFDdkQ7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFPSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBTTtFQUFjO0VBQWE7OztBQUVyQztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTtJQUNBOztFQUVBO0lBQU07OztBQzMzQmQ7RUFDSTtFQUNBO0VBUUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOztBQVJSO0VBV0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFLWjtFQUNJOztBQUdJO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUlKO0VBQ0k7O0FBS1o7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBSVI7RUFDSTs7QUFHSjtFQUNJOztBQU1aO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFNUjtFQUNJO0VBQ0E7O0FBSVI7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFLWjtFQUNJOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7SUFBTzs7RUFDUDtJQUFPOzs7QUFNWDtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUtSO0VBQ0k7O0FBRUE7RUFDSTtFQUNBOztBQVNaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBS0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFLSjtFQUNJOztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBO0VBRVE7QUFBQTtJQUVJO0lBQ0E7O0VBR0o7QUFBQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FDeGNaO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0FBQUE7QUFBQTtFQUNJO0VBQ0E7O0FBRUo7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9DbEJBO0VEbUJBO0VBQ0E7OztBQUlSO0VBQ0ksWUF4Q2U7RUF5Q2Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQSxPQXhEZTtFQXlEZjtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQ3REQTs7QUR3REE7RUFSSjtJQVNRO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlDcEVBOztBRHNFQTtFQUNJLFlBcEZPO0VBcUZQO0VBQ0E7RUFDQSxPQzFFSjtFRDJFSTs7QUFFQTtFQUFnQjs7QUFFaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFzQjs7QUFFdEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7O0FBSVI7RUFBMkI7O0FBRTNCO0VBQ0k7RUFDQTtFQUNBLE9DbEhSO0VEbUhRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7O0FBRVY7RUFDSTtFQUNBOztBQUNBO0VBRUk7RUFDQTs7QUFTckI7RUFDQzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTs7QUFDQTtFQUNDOztBQUdGO0VBQ0M7RUFDQTs7QUFHQTtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDQztFQUNBOztBQUlIO0VBQ0M7O0FBSUQ7RUFDQztFQUNBOzs7QUFNSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQUk7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBUTs7QUFDUjtFQUFROzs7QUFJaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBLFlDeE9KOztBRDBPSTtFQUNJLFlBL1BHO0VBZ1FILE9DNU9SO0VENk9RO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ1c7OztBQU8vQjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQWdCOztBQUNoQjtFQUFnQjs7QUFHcEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFnQjs7QUFDaEI7RUFBZ0I7O0FBQ2hCO0VBQWdCOztBQUNoQjtFQUFnQjs7QUFDaEI7RUFDSTtFQUNBO0VBQ0E7OztBQU1SO0FBQUE7RUFFSTtFQUNBO0VBQ0E7O0FBRUo7RUFBMkI7O0FBQzNCO0VBQ0k7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsWUM5VUE7RUQrVUE7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVBKO0lBUVE7SUFDQTs7OztBQUlSO0VBQ0k7RUFDQSxPQ3JXSTtFRHNXSjtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVJO0VBQ047RUFDTTtFQUNBOztBQUVBO0VBQW1DOztBQUd2QztFQUVJO0VBQ0E7RUFDQTs7QUFHSjtFQUVJO0VBQ0E7RUFDQTs7QUFHSTtFQUNJO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFBVTs7QUFJbEI7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQkN4WkE7RUR5WkE7RUFDQTtFQUNBO0VBQ0EsT0EvYVc7RUFnYlg7RUFDQTtFQUNBOztBQUVOO0VBQ0M7O0FBR0Q7RUFDQyxPQXpiZ0I7RUEwYmhCOzs7QUFLSDtFQUNJO0VBQ0E7RUFDQSxrQkMvYUk7RURnYko7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFZOzs7QUFJcEI7RUFFSSxZQzliSTtFRCtiSjs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQWdCOztBQUVoQjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUFXOztBQUVYO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBUTtFQUFvQjs7QUFDNUI7RUFBUTs7QUFHWjtFQUVJLFlBM2ZXO0VBNGZYO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVM7O0FBRVQ7RUFDSTtFQUNBO0VBQ0E7OztBQUtaO0VBQ0k7RUFDQSxPQzlmSTtFRCtmSjtFQUNBO0VBQ0EsWUEvZ0JlO0VBZ2hCZjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFzQjs7QUFDdEI7RUFDSSxPQzVnQkE7RUQ2Z0JBOztBQUdKO0VBQVE7O0FBRVI7RUFDSTtFQUNBOztBQUNBO0VBRUk7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7O0FBQ0E7RUFFSTtFQUNBOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0ksT0MxZks7O0FEMmZMO0VBQVU7OztBQUlsQjtFQUNJO0VBQ0E7RUFDQTs7O0FBSUE7RUFBYzs7QUFFZDtFQUVJOztBQUNBO0VBQVc7O0FBRWY7RUFFSTs7QUFDQTtFQUFXOzs7QUFRWDtBQUFBO0VBQVc7O0FBSVg7QUFBQTtFQUFXOzs7QUFJbkI7RUFBa0I7OztBQUdkO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsT0M5bEJBO0VEK2xCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBVzs7QUFDWDtFQUFXOzs7QUFLZjtFQURKO0lBRVE7SUFDQTs7OztBQUlSO0VBQ0k7RUFDQTs7QUFFQTtFQUFNO0VBQWE7RUFBYzs7QUFDakM7RUFBTTtFQUFrQjs7O0FBSXhCO0VBQTJCOztBQUUzQjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOzs7QUFJUjtFQUNJOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0ksa0JBdnFCZTtFQXdxQmY7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9BNXJCTztFQTZyQlA7O0FBSVI7RUFBb0IsWUE1ckJMOztBQThyQmY7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFBbUI7O0FBQ25CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7QUFBQTtFQUVJOztBQUNBO0FBQUE7RUFBTTs7QUFLVjtFQUNJO0VBQ0E7O0FBQ0E7RUFBdUI7RUFBWTs7QUFJM0M7QUFBQTtFQUVJO0VBQ0E7O0FBR0o7RUFBdUI7O0FBQ3ZCO0VBQTRCLE9BMXVCYjs7QUE0dUJmO0VBQ0k7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0ksWUEzdkJXO0VBNHZCWDtFQUNBO0VBQ0EsT0MxdUJBO0VEMnVCQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFzQjs7QUFFdEI7RUFDSTs7QUFDQTtFQUFVLE9DcHZCZDs7QUR3dkJKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7O0FBRVY7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFBaUI7OztBQUdoQjtFQUNDO0VBQ0E7RUFDQTs7O0FFdnhCRjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7OztBQUlSO0VBQWtCOzs7QUFFbEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFJOztBQUNKO0VBQWU7O0FBRWY7QUFBQTtFQUVJO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVUo7RUFDSTtFQUNBOzs7QUFVSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUF5Qzs7O0FBQ3pDO0VBQTBDOzs7QUFDMUM7RUFBeUM7RUFBWTs7O0FBRXJEO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUF3Qjs7O0FBS3hCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFVOztBQUVWO0VBQWU7RUFBZ0I7OztBQUduQztFQUF1Qjs7O0FBRXZCO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVUo7RUFBbUI7OztBQUVuQjtFQUF5Qjs7O0FBRXpCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFVOztBQUVWO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQVU7OztBQVNsQjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFNQTtFQVFBO0VBZUE7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0VBQWdDOzs7QUFFaEM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQVNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFBd0I7OztBQUV4QjtFQUF1QjtFQUFlOzs7QUFFdEM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQWU7OztBQUduQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFVO0VBQXFCOzs7QUFRbkM7RUFBb0I7OztBQUNwQjtFQUFzQjs7O0FBWXRCO0VBc0JJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVKO0lBQWtDOztFQUVsQztJQUNJOztFQUlKO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFFQTtJQUFVO0lBQXFCOztFQUduQztJQUNJO0lBQ0E7O0VBS0o7SUFDSTs7RUFXSjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUE7SUFBVTs7RUFJZDtJQUFzRDs7O0FBVTFEO0VBQXdCOzs7QUFFeEI7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFVOzs7QUFRZDtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQStDOzs7QUFFL0M7RUFDSTtJQUEwQjs7O0FBRzlCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFBOEM7OztBQUk5QztFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7O0FBRVY7RUFBTzs7QUFFUDtFQUEwQjs7O0FBRzlCO0VBQW9EOzs7QUFFcEQ7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFBa0Q7OztBQUlsRDtFQUNJO0VBQ0E7RUFDQTs7O0FBWUo7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBOztBQUVBO0VBS0k7OztBQUlSO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtJQUNJOztFQUNBO0lBQ2tCOzs7QUFJMUI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNSjtFQUNJOzs7QUFHSjtFQUNJO0VBV0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQWdDOzs7QUFFaEM7RUFDSTtFQUNBOzs7QUFFSjtFQUF3Qzs7O0FBRXhDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFVOztBQUVWO0VBQWU7OztBQWNuQjtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJO0lBQ0E7OztBQUdSO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtJQUFrQjs7O0FBVXRCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFlO0VBQWdCOzs7QUFHbkM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7O0FBQ1Y7RUFBaUI7O0FBR2pCO0VBQWtDOzs7QUFHdEM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUFpQzs7O0FBQ2pDO0VBQWlDOzs7QUFFakM7RUFDSTtFQUNBO0VBQ0E7OztBQVNKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFnQko7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBT0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFBeUI7OztBQUN6QjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFPSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7SUFBa0I7O0VBQ2xCO0lBQ0k7SUFDQTs7RUFLSjtBQUFBO0FBQUE7SUFHSTtJQUNBOztFQU1KO0lBQW9CO0lBQWdCOzs7QUFZeEM7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFlOztBQUVmO0VBQVc7O0FBRVg7RUFDSTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7O0FBRUE7RUFBZTs7QUFFZjtFQUFVOzs7QUFHZDtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUFlOztBQUVmO0VBQVU7OztBQU1kO0VBQ0k7RUFDQTs7QUFFQTtFQUFVOztBQUNWO0VBQVc7OztBQUVmO0VBQTBEOzs7QUFDMUQ7RUFBNEQ7OztBQU01RDtFQUNJO0VBQ0E7O0FBRUE7RUFBVTs7QUFDVjtFQUFXOzs7QUFFZjtFQUF5RDs7O0FBQ3pEO0VBQTJEOzs7QUFFM0Q7RUFDSTtJQUFtQjs7O0FBR3ZCO0VBQ0k7RUFDQTs7O0FBRUo7RUFBZ0M7OztBQU9oQztFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDaGtDSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFBOEI7RUFBZTtFQUF3Qjs7O0FBQ3JFO0VBQXVCO0VBQWU7RUFBZ0I7OztBQUN0RDtFQUNJO0VBQWdCO0VBQWM7RUFDOUI7RUFBZTs7O0FBRW5CO0FBQUE7RUFFSTtFQUFnQjtFQUNoQjtFQUFlOzs7QUFFbkI7RUFBK0I7RUFBZ0I7OztBQUUvQztBQUNBO0VBQ0k7RUFDQTtFQUFjO0VBQ2Q7RUFBZTtFQUNmO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQWU7RUFBcUI7RUFDcEM7RUFDQTtFQUNBOzs7QUFFSjtFQUFnQjtFQUFpQjtFQUFrQjs7O0FBQ25EO0VBQ0k7RUFBZTtFQUFVO0VBQ3pCO0VBQXFCO0VBQW9COzs7QUFFN0M7RUFDSTtFQUFzQjtFQUFxQjtFQUMzQztFQUFhO0VBQ2I7RUFBVztFQUF5QjtFQUNwQztFQUFnQjtFQUNoQjs7O0FBRUo7RUFBbUI7OztBQUNuQjtFQUNJO0VBQWtCO0VBQ2xCOzs7QUFFSjtFQUNJO0VBQWlCO0VBQ2pCO0VBQ0E7RUFBaUI7OztBQUVyQjtFQUNJO0VBQWdCO0VBQ2hCO0VBQ0E7RUFBZTtFQUF5QjtFQUN4Qzs7O0FBRUo7RUFBWTtFQUFvQjs7O0FBQ2hDO0VBQ0k7RUFBb0I7RUFBUTtFQUM1QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQWlEOzs7QUFDakQ7RUFBaUQ7OztBQUNqRDtFQUFpRDs7O0FBQ2pEO0VBQ0k7RUFBYTtFQUNiO0VBQVc7RUFBZ0I7OztBQUUvQjtFQUE0QztFQUFxQjs7O0FBQ2pFO0VBQTRDOzs7QUFDNUM7RUFBb0M7OztBQUNwQztFQUF3Qzs7O0FBQ3hDO0VBQTJDO0VBQXFCOzs7QUFFaEU7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUF3QjtFQUFlO0VBQXdCOzs7QUFDL0Q7RUFBeUI7RUFBaUI7RUFBa0I7OztBQUM1RDtFQUF5QjtFQUFtQjs7O0FBQzVDO0VBQTZDOzs7QUFDN0M7RUFBNkM7OztBQUM3QztBQUFBO0FBRUE7RUFBa0M7OztBQUVsQztBQUNBO0VBQW1CO0VBQW9CO0VBQWlCOzs7QUFDeEQ7RUFBd0M7OztBQUN4QztFQUF3QztFQUFnQjs7O0FBQ3hEO0VBQXdDOzs7QUFDeEM7RUFBNkM7OztBQUM3QztFQUF1Qzs7O0FDcEl2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0E7QUFDQTtFQUFrQjtFQUFvQjtFQUFlO0VBQXlCOzs7QUFDOUU7RUFDSTtFQUFhO0VBQWM7RUFDM0I7RUFBNEI7RUFBa0I7RUFDOUM7RUFBZTtFQUFxQjtFQUNwQztFQUFpQjtFQUFZO0VBQzdCOzs7QUFFSjtBQUFBO0VBQzJDO0VBQVk7RUFBdUI7OztBQUU5RTtBQUFBO0FBQUE7QUFHQTtFQUNJO0VBQW9CO0VBQWdCO0VBQ3BDOzs7QUFFSjtFQUF3QjtFQUFjOzs7QUFDdEM7RUFBNEM7OztBQUU1QztFQUNJO0VBQW9CO0VBQWE7RUFBVztFQUFXO0VBQ3ZEO0VBQWtCO0VBQXFCO0VBQ3ZDO0VBQWM7RUFBZTtFQUF3Qjs7O0FBRXpEO0VBQXdCO0VBQVc7OztBQUNuQztFQUNJO0VBQWU7RUFBcUI7RUFDcEM7RUFBbUI7RUFBYztFQUFrQjtFQUNuRDtFQUFpQjtFQUFnQjtFQUFrQjs7O0FBRXZEO0VBQWdDO0VBQXFCOzs7QUFFckQ7QUFDQTtFQUNJO0VBQWU7RUFBd0I7RUFBc0I7RUFDN0Q7RUFBa0I7RUFBb0I7RUFDdEM7RUFBMkI7OztBQUUvQjtFQUFvQjtFQUFlO0VBQXFCO0VBQVU7OztBQUNsRTtFQUFxQjs7O0FBQ3JCO0VBQXdCO0VBQXFCOzs7QUFDN0M7RUFBMEM7RUFBYzs7O0FBQ3hEO0VBQXVCOzs7QUFDdkI7RUFBc0I7RUFBZ0I7RUFBYzs7O0FBRXBEO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQTtFQUFnQzs7O0FBQ2hDO0FBQUE7QUFFQTtFQUEwQjs7O0FBQzFCO0VBQW9CO0VBQWdCOzs7QUFDcEM7RUFDSTtFQUFnQjtFQUFjO0VBQWlCO0VBQy9DO0VBQWtCO0VBQXlCOzs7QUFFL0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUdXO0VBQW1CO0VBQWdCO0VBQWtCO0VBQXFCOzs7QUFDckY7QUFBQTtBQUFBO0FBR0E7RUFBc0I7RUFBZTtFQUFxQjtFQUFVOzs7QUFFcEU7QUFBQTtBQUFBO0FBR0E7RUFDSTtFQUFjO0VBQWtCO0VBQ2hDO0VBQ0E7OztBQUVKO0VBQ0k7RUFBYztFQUF1QjtFQUNyQztFQUFzQjtFQUFvQjtFQUMxQzs7O0FBR0o7QUFDQTtFQUNJO0VBQWU7RUFBcUI7RUFDcEM7RUFBZ0I7RUFBYTtFQUFZOzs7QUFFN0M7QUFBQTtFQUM0Qzs7O0FBRTVDO0VBQ0k7RUFBZTtFQUFxQjtFQUFXO0VBQy9DO0VBQW1CO0VBQXFCO0VBQ3hDO0VBQXNDOzs7QUFFMUM7RUFDSTtFQUFzQjtFQUFxQjtFQUFVO0VBQ3JEO0VBQW1CO0VBQWM7RUFDakM7RUFBcUI7RUFBZ0I7OztBQUV6QztFQUF3Qjs7O0FBQ3hCO0VBQTRCO0VBQWU7RUFBcUI7RUFBVTs7O0FBQzFFO0FBQUE7QUFBQTtBQUdBO0VBQWdFOzs7QUM1SGhFO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUVBOzs7QUFPUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBZ0JBOztBQUVBO0VBdEJKO0lBdUJROzs7O0FBUVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTs7QUFFQTtFQWZKO0lBZ0JROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFHSTs7O0FBS0o7RUFDSTs7O0FBVUo7QUFBQTtBQUFBO0VBR0k7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBUVI7RUFDSTtFQUNBO0VBQ0E7RUFHQTs7QUF5QkE7RUFDSTs7QUFVSjtBQUFBO0VBRUk7O0FBY0o7RUFDSTs7O0FBT1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUEzQko7SUE0QlE7Ozs7QUFNUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFTUjtFQUNJO0VBQ0E7RUFDQTs7O0FBY0o7RUFNSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FBTUo7RUFDSTs7O0E3S3ZTUjtFQUNJO0VBQ0E7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFVOztBQUVWO0VBQU87RUFBaUI7OztBQUtoQztFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBZUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQU1BO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBSUE7RUFDQTs7O0FBT0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFBUTs7O0FBR1o7RUFDSTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZeUs3S0k7RXpLOEtKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBR0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0k7O0FBRUo7QUFBQTtFQUNJOztBQUVKO0FBQUE7RUFDSTtFQUNBOztBQUNBO0FBQUE7RUFBVTs7O0FBSWxCO0VBQ0k7RUFDQTs7O0FBSUo7RUFFSTtBQUFBO0lBRUk7SUFDQTs7O0FBSVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFNaEI7RUFDSTs7O0FBS0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7QUFFQTtBQUFBO0VBQ0k7RUFDQTs7O0FBVVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFLQTtFQUNJO0VBQ0E7O0FBVFI7RUFhSTtFQUNBOztBQUVBO0VBQXVCOztBQUN2QjtFQUE2Qjs7QUFDN0I7RUFDSTtFQUNBOztBQUVKO0VBQW1DOzs7QUFJM0M7RUFDSTtFQUNBO0FBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdBO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQSxPeUtuakJJOzs7QXpLc2pCUjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFJSjtFQUNJOztBQUlKO0VBQ0k7O0FBSUo7RUFDSTs7O0FBTVI7QUFBQTtFQUVJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBS0o7RUFDSTtFQUNBLE95SzNxQkk7RXpLNHFCSjtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUVBOztBQU9BO0VBQ0k7OztBQVFoQjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUdJOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBS0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQSxPeUsxMkJJO0V6SzIyQko7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBS0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBSUo7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBTUo7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFlOztBQUVmO0VBQVU7OztBQUlkO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUlBO0FBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUVKO0VBQ0k7OztBQUtaO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBSUo7RUFDSTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBS1I7QUFBQTtFQUVJOzs7QUFFSjtBQUFBO0FBQUE7RUFHSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsTUF2NUNVOztBQTA1Q2Q7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsTUFoNkNVOzs7QUEyNkNkO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZUFaUTtFQWFSOztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7O0FBR0o7RUFDSSxlQWpDSTtFQWtDSixPeUt2N0NSO0V6S3c3Q1E7RUFDQSxZQXRDSTtFQXVDSjs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0ksWUFqREM7O0FBbUVUO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7O0FBR0o7RUFFSTtFQUNBOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOzs7QUEwQnhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxNQWxuRGM7RUFtbkRkOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNSjtFQUtJO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBVUo7QUFBQTtFQUVJOzs7QUFLSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBTztFQUFpQjs7QUFFeEI7RUFBVTtFQUFxQzs7O0FBSW5EO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7O0FBU0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU9KO0VBQVc7O0FBQ1g7RUFBYTs7QUFNYjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0lBQVU7O0VBQ1Y7SUFBVTs7O0FBVWQ7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFRQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTs7O0FBR0o7RUFDSTtJQUFLOzs7QUFJVDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtJQUFPO0lBQVk7O0VBQ25CO0lBQU87SUFBWTs7O0FBR3ZCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBTztFQUFpQjs7QUFFeEI7RUFBVTtFQUFxQzs7O0FBS25EO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBT0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7SUFBa0I7OztBQUd0QjtFQUNJO0lBQTJDO0lBQWtCOztFQUM3RDtJQUFtQjtJQUFpQjs7O0FBR3hDO0VBQW1CO0VBQWU7OztBQWM5QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQWFJO0VBQ0k7O0FBQ0E7RUFBa0I7O0FBR3RCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFNSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUFpQjs7QUFFckI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFBTztFQUEwQztFQUFpQjs7QUFDbEU7RUFBZTs7QUFJdkI7RUFDSTtFQUNBOztBQVFKO0VBQ0k7RUFDQTs7QUFHSjtFQUEwQjtFQUFnQjs7QUFDMUM7RUFBZ0M7RUFBZ0I7O0FBT2hEO0VBQ0k7O0FBRUo7QUFBQTtFQUVJOztBQU9KO0VBQ0k7O0FBRUo7QUFBQTtFQUVJOztBQVNKO0VBQ0k7RUFDQTtFQUNBOzs7QUFTUjtFQUNJOzs7QUFLSjtFQUNJO0lBQU87SUFBWTs7RUFDbkI7SUFBTztJQUFZOzs7QUFHdkI7RUFDSTtJQUFPOztFQUNQO0lBQU87OztBQUdYO0VBQ0k7SUFBTztJQUFZOztFQUNuQjtJQUFPO0lBQVk7OztBQUd2QjtFQU9JOztBQUdBO0VBRUksT3lLam5FQTtFektrbkVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZUFiWTtFQWNaOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFFSTs7QUFHSjtFQUNJOztBQVFaO0VBQ0ksT0E5Q007RUErQ047RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFDQTtFQUFVOztBQXRCbEI7RUF3Qkk7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBSUo7RUFFSTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUVJOztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQVFoQjtFQUNJO0VBQ0E7OztBQVNJO0VBQ0k7O0FBS1o7RUFDSTs7O0FBaUNSO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7QUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7QUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBLE95S3IyRUo7RXpLczJFSTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7QUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7O0FBS1I7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7QUFDQTtBQUFBO0FBQUE7RUFHQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFLSjtFQUVJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBOzs7QUFLSjtBQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtFQUdJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7QUFDSTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0FBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtBQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBOzs7QUFXSjtFQUNJLE9BTEk7OztBQVFSO0VBQ0ksa0JBUFk7RUFRWjtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJLE9BaEJBO0VBaUJBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0ksY0EzQkE7O0FBNkJBO0VBQ0k7O0FBR0o7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBLE9BMUNBO0VBMkNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0ksa0JBdERJO0VBdURKO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0ksY0FqRUo7RUFrRUksT0FsRUo7RUFtRUk7O0FBRUE7RUFDSSxrQkF0RVI7RUF1RVEsY0F2RVI7RUF3RVEsT3lLcHZGUjs7QXpLdXZGSTtFQUNJOztBQUdKO0VBRUksT3lLN3ZGUjtFeks4dkZRLGtCQWxGUjtFQW1GUSxjQW5GUjs7QUF1RkE7RUFqREo7SUFrRFE7OztBQUlSO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9BOUdBO0VBK0dBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0ksa0JBcEhFOzs7QUEwSGQ7RUFDSSxrQkExSFk7RUEySFosT0E3SEk7RUE4SEosY0E5SEk7O0FBZ0lKO0VBQ0ksT3lLN3lGQTtFeks4eUZBLGtCQWxJQTtFQW1JQSxjQW5JQTs7QUFzSUo7RUFDSTs7QUFHSjtFQUNJLE95S3Z6RkE7RXpLd3pGQSxrQkE1SUE7RUE2SUEsY0E3SUE7OztBQWlKUjtFQUNJLGtCQWpKVTtFQWtKVixPQW5KSTtFQW9KSixjQW5KVTs7QUFxSlY7RUFDSSxrQkF2SkE7RUF3SkEsT3lLcDBGQTtFektxMEZBLGNBekpBOztBQTRKSjtFQUNJOztBQUdKO0VBQ0ksT3lLNzBGQTtFeks4MEZBLGtCQWxLQTtFQW1LQSxjQW5LQTs7O0FBdUtSO0VBQ0k7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0ksa0J5SzUyRlI7RXpLNjJGUTs7QUFLWjtFQUNJOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7O0FBTVo7RUFDSTtFQUNBO0VBQ0Esa0JBOU5ZO0VBK05aOztBQUVBO0VBQ0k7RUFDQSxPQXJPQTtFQXNPQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFLWjtFQUNJLGtCQTFQRTs7O0FBK1BkO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUdJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOzs7QUFLUjtFQUVJLE9BRFU7RUFFVjtFQUNBOzs7QUFJSjtFQVFJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNJLFlBakJNOztBQW9CVjtFQUNJO0VBQ0E7RUFDQSxPQXZCTTs7QUF5Qk47RUFDSSxZQTFCRTtFQTJCRjs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBLE9BbkNNO0VBb0NOO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSSxZQS9DTTtFQWdETixjQWhETTtFQWlETjs7QUFFQTtFQUNJLFlBbkRRO0VBb0RSLGNBcERROztBQXdEaEI7RUFDSSxZQXhEUTtFQXlEUjtFQUNBOztBQUVBO0VBQ0ksWUE1RFU7O0FBZ0VsQjtFQUNJO0VBQ0E7RUFDQSxPQXRFTTs7QUF3RU47RUFDSSxZQXpFRTtFQTBFRjs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0FuRk07RUFvRk47RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBSVI7RUFDSSxZQTFGTTtFQTJGTjtFQUNBOztBQUVBO0VBQ0ksWUE5RlE7OztBQW9HaEI7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBT0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU1KO0VBQ0k7RUFDQTtFQUNBOztBQUtKO0VBQ0k7RUFDQTtFQUNBOzs7QUFLWjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUVJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7O0FBQ0E7RUFBdUI7RUFBVTtFQUFXOztBQW9CNUM7QUFBQTtFQUVJOztBQVlKO0FBQUE7RUFFSTs7QUFLUjtFQUNJOztBQXhEUjtBQTZESTs7QUFDQTtFQUNJOztBQS9EUjtBQWtFSTs7QUFDQTtFQUNJO0VBQ0E7O0FBckVSO0FBd0VJOztBQUNBO0VBQ0k7OztBQU9KO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FBVVo7RUFDSTtFQUNBOztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOzs7QUFNSjtFQUNJO0VBQ0E7O0FBS0k7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FBS0o7RUFDSTs7QUFFQTtFQUNJOzs7QUFlaEI7RUFDSTs7O0FBSVI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSTtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQU9oQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1I7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0EsTUF6N0djOztBQTI3R2Q7RUFFSTs7QUFHQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTtFQUNBOztBQUtSO0VBQ0k7RUFDQTtFQUNBOztBQUdBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLSjtFQUNJO0VBQ0E7OztBQVNoQjtFQUVJO0VBQ0E7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUlKO0VBQ0k7RUFDQTs7O0FBT1o7RUFHSTtFQUNBO0VBQ0EsT0FKVTtFQUtWO0VBQ0E7O0FBRUE7RUFDSTtFQUVBO0VBQ0E7RUFDQSxrQkFiTTtFQWNOOzs7QUFLUjtFQUNJO0VBR0E7RUFDQTtFQUNBO0VBSUE7OztBQVNKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTs7QUFFQTtFQUNJOzs7QUFVWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUk7O0FBS0o7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VBQ0k7O0FBTVI7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7O0FBRUE7RUFFSTtFQUNBO0VBQ0E7O0FBUVI7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtKO0VBQ0k7O0FBS0o7RUFDSTs7QUFJSjtFQUNJOztBQUVBO0VBQ0k7O0FBT2hCO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUVJOztBQUdKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBVVo7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7OztBQUVKO0FBQUE7QUFBQTtFQUdJOzs7QUFFSjtBQUFBO0FBQUE7RUFHSTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTs7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUFPOztBQUNQO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7O0FBSVI7RUFDSTtJQUFPOztFQUNQO0lBQU87OztBQUVYO0VBQ0k7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFBTzs7QUFFWDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUFPOzs7QUFHZjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUFVOztBQUNWO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQVU7O0FBRWQ7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFBVTs7O0FBS2xCO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7OztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7OztBQUlSO0VBQ0k7SUFBTzs7RUFDUDtJQUFPOztFQUNQO0lBQU87OztBQUlYO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQVk7O0FBQ1o7RUFBWTs7QUFDWjtFQUFZOzs7QUFJaEI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOzs7QUFLUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBOztBQUdSO0VBQ0k7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7O0FBR1I7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7OztBQUtSO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUFZOzs7QUFFaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFPSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0k7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7OztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBU0o7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUFVO0VBQXFDOztBQUUvQztBQUFBO0VBQU87OztBQUdYO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0k7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7O0FBS0o7RUFDSTs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7O0FBT1I7RUFDSTs7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFPOztBQUVQO0VBQ0k7RUFDQTtFQUNBOzs7QUFJUjtBQUFBO0VBRUk7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUFPOzs7QUFJWDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFDQTtFQUFVOztBQUdkO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQVU7RUFBcUI7OztBQVN2QztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0k7RUFDQTs7QUFFQTtFQUFxQjtFQUFZOztBQUNqQztBQUFBO0VBQ3lCO0VBQXFCOztBQUlsRDtFQUNJO0VBQ0E7O0FBSUo7RUFDSTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQWM7RUFBZ0I7OztBQUlsQztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFLSjtFQUNJOztBQUVBO0VBQVU7O0FBR2Q7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7OztBQUtsQjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTs7QUFFVjtFQUFPOzs7QUFPWDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtJQUFPOztFQUNQO0lBQU87OztBQVFYO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTtFQUFxQjs7QUFHbkM7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTtFQUFrQjs7O0FBS3BDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFBVTs7QUFHZDtFQUNJO0VBQ0E7O0FBQ0E7RUFBVTs7O0FBTWxCO0FBQUE7RUFDMkI7OztBQUMzQjtBQUFBO0VBQzBCOzs7QUFFMUI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7RUFBb0M7O0FBRTlDO0VBQ0k7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUFVO0VBQW9DOzs7QUFJbEQ7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0k7RUFFSjtFQUNBO0VBQ0E7RUFDQTtFQUdBOztBQUdBO0VBQ0k7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBOztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFJSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFPUjtBQUFBO0FBQUE7RUFHSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBSUk7OztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFBVTs7O0FBSWQ7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQU87O0FBRVA7RUFDSTtFQUNBOzs7QUFLUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtJQUFXOztFQUNYO0lBQVk7OztBQUtoQjtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUFPOzs7QUFHWDtFQUFlOzs7QUFHZjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBZTs7O0FBR25CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7O0FBRVY7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFTOzs7QUFHYjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7O0FBRUE7RUFBeUI7OztBQUc3QjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFlOztBQUNmO0VBQVU7OztBQUdkO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQWdDO0VBQXFCOztBQUNyRDtFQUFnQztFQUFxQjs7QUFDckQ7RUFBa0M7RUFBcUI7O0FBR3ZEO0VBQ2lDO0VBQXFCOztBQUd0RDtFQUFnQztFQUFxQjs7QUFHckQ7RUFDZ0M7RUFBcUI7O0FBQ3JEO0VBQ2dDO0VBQXFCOztBQUdyRDtFQUFnQztFQUFxQjs7QUFDckQ7RUFBZ0M7RUFBcUI7O0FBQ3JEO0VBQWdDO0VBQXFCOzs7QUFHekQ7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFJSjtFQUNJO0lBQU87SUFBWTs7RUFDbkI7SUFBTztJQUFZOzs7QUFHdkI7RUFDSTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQWE7RUFBYzs7QUFFM0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQUk7O0FBQ0o7RUFBVTtFQUFxQzs7O0FBR25EO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFBd0I7OztBQUN4QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQWE7RUFBZ0I7OztBQUM3QjtFQUFhOzs7QUFDYjtFQUFhOzs7QUFDYjtFQUFpQjtFQUFtQjtFQUFnQjs7O0FBQ3BEO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQWM7RUFBaUI7OztBQUMvQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFJOzs7QUFFUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0VBQ0k7O0FBRUE7RUFBTTtFQUFhO0VBQWM7OztBQUVyQztFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQW1CO0VBQWlCO0VBQWdCOzs7QUFDcEQ7RUFBbUI7RUFBaUI7RUFBa0I7OztBQUN0RDtFQUFtQjtFQUFpQjs7O0FBRXBDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQUk7O0FBQ0o7RUFBVTtFQUFxQzs7O0FBRW5EO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQUk7O0FBQ0o7RUFBVTs7O0FBdUJkO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0ksWUFDSTs7O0FBUVI7RUFDSTtBQUFBO0lBRUk7OztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTs7QUFDQTtFQUF1QjtFQUFVO0VBQVc7OztBQUloRDtFQUNJO0VBQ0E7OztBQU9KO0VBQ0k7O0FBRUE7RUFBaUI7RUFBZ0I7OztBQUVyQztFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOztBQUtBO0VBQWtEOztBQUNsRDtFQUFrRDs7QUFDbEQ7RUFBa0Q7O0FBQ2xEO0VBQWtEOztBQUNsRDtFQUFrRDs7QUFDbEQ7RUFBa0Q7O0FBQ2xEO0VBQWtEOztBQUNsRDtFQUFrRDs7QUFDbEQ7RUFBa0Q7O0FBR2xEO0VBQXVEOztBQUN2RDtFQUF1RDs7QUFDdkQ7RUFBdUQ7O0FBQ3ZEO0VBQXVEOztBQUN2RDtFQUF1RDs7QUFDdkQ7RUFBdUQ7O0FBQ3ZEO0VBQXVEOztBQUN2RDtFQUF1RDs7QUFDdkQ7RUFBdUQ7O0FBQ3ZEO0VBQXVEOztBQUN2RDtFQUF1RDs7QUFDdkQ7RUFBdUQ7O0FBQ3ZEO0VBQXVEOztBQUN2RDtFQUF1RDs7QUFDdkQ7RUFBdUQ7O0FBQ3ZEO0VBQXVEOztBQUV2RDtFQUF1RDs7QUFDdkQ7RUFBdUQ7OztBQVMzRDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUFtQjtFQUFhO0VBQWU7OztBQUMvQztFQUFtQjtFQUFhO0VBQWU7RUFBcUI7RUFBMkI7OztBQUMvRjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFJOztBQUNKO0VBQVU7RUFBcUM7OztBQUVuRDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQUk7RUFBaUI7O0FBQ3JCO0VBQVU7RUFBNkI7OztBQUczQztBQUFBO0FBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBS0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTtFQUNBO0VBSUE7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQVVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUF1QjtFQUFVO0VBQVc7OztBQU1oRDtFQUNJOzs7QUFFSjtFQUFlOzs7QUFJZjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFBYzs7O0FBT2Q7RUFBb0I7RUFBZTs7O0FBQ25DO0VBQWU7RUFBZTs7O0FBQzlCO0VBQXFDO0VBQWE7OztBQVNsRDtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQWtCOzs7QUFDbEI7RUFBa0I7OztBQUdsQjtFQUFpQjtFQUFlO0VBQXdCOzs7QUFFeEQ7RUFBbUI7RUFBZTtFQUF3Qjs7O0FBQzFEO0VBQXFDO0VBQWU7RUFBZ0M7OztBQUNwRjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTs7O0FBR2Q7RUFBa0I7OztBQUtsQjtFQUFnQzs7O0FBQ2hDO0VBQWdDOzs7QUFDaEM7RUFBZ0M7OztBQUNoQztFQUFnQzs7O0FBSWhDO0VBQ0k7O0FBRUE7RUFBc0I7OztBQU8xQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUFVOzs7QUFFZDtFQUE0Qjs7O0FBQzVCO0VBQWtDOzs7QUFHbEM7RUFBb0I7OztBQUNwQjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVFSO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0FBRUE7RUFBZ0I7OztBQUVoQjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUF1Qjs7O0FBTzNCO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFPOztBQUNQO0VBQVU7RUFBZ0I7OztBQUU5QjtFQUEyQjs7O0FBUTNCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFlOzs7QUFRbkI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQVlBO0VBQ0k7RUFDQTs7O0FBR1I7RUFBeUI7OztBQU16QjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBY0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQU9BO0VBQ0k7RUFDQTs7O0FBT1I7RUFDSTtFQUNBOzs7QUFPSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUk7RUFDQTtFQUNBOzs7QUFrQlI7RUFDSTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU9KO0VBQ0k7RUFDQTtFQUNBOztBQU1BO0VBQ0k7OztBQUdSO0VBQ0k7OztBQVVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFNSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJOzs7QUFRSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHUjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBT0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFSTtFQUNBOzs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtBQUFBO0FBRUE7RUFDSTs7O0FBRUo7QUFBQTtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFPO0VBQWlCOztBQUN4QjtFQUFTO0VBQWlCO0VBQWtCOztBQUM1QztFQUFTO0VBQWlCOztBQUUxQjtFQUFrQjs7O0FBRXRCO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQVU7OztBQUdsQjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUF3Qjs7O0FBQ3hCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7O0FBQ1Y7RUFBVzs7O0FBRWY7RUFBZTtFQUFnQjtFQUFjO0VBQWU7RUFBcUI7OztBQUNqRjtFQUFhO0VBQWdCOzs7QUFDN0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBaUI7OztBQUVyQjtFQUFhO0VBQWdCOzs7QUFDN0I7RUFBaUI7RUFBbUI7RUFBZ0I7OztBQU1wRDtBQUFBO0FBQUE7QUFBQTtFQUdvQzs7O0FBSXBDO0VBQ0k7RUFDQTtFQUNBOzs7QUFNSjtFQUNJOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBV1I7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUFzQjs7O0FBQ3RCO0VBQXNCOzs7QUFJdEI7RUFBYTtFQUFnQjtFQUFrQjtFQUFrQjs7O0FBRWpFO0VBQWdCO0VBQWU7RUFBd0I7OztBQUl2RDtFQUFzQjs7O0FBQ3RCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFPOzs7QUFFWDtFQUFjO0VBQWlCO0VBQWdCOzs7QUFHL0M7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQTJCOzs7QUFHM0I7RUFBZTtFQUFnQjtFQUFpQjtFQUFrQjtFQUFnQjs7O0FBSWxGO0VBQWE7OztBQUdiO0VBQWU7RUFBZTtFQUF3Qjs7O0FBSXREO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUtBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFBTTtFQUFhO0VBQWM7RUFBbUI7O0FBRXBEO0VBQTZCO0VBQXFCO0VBQWM7OztBQUdwRTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFBc0I7RUFBZTtFQUFxQjtFQUFVOzs7QUFDcEU7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQWlCOzs7QUFFckI7RUFBb0I7RUFBaUI7RUFBZ0I7OztBQUtyRDtFQUFzQjtFQUFlO0VBQXFCO0VBQVU7RUFBZ0I7OztBQUNwRjtFQUNJO0VBQ0E7O0FBR0E7RUFBaUM7OztBQU1yQztFQUNJOztBQUNBO0VBQXdCO0VBQWE7O0FBT3JDO0FBQUE7RUFFSTs7O0FBR1I7RUFDSTtFQUNBOztBQUNBO0VBQXdCOzs7QUFNNUI7RUFDSTtFQUNBOztBQUNBO0VBQTBCOzs7QUFJOUI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFlO0VBQWE7O0FBQzVCO0VBQVU7OztBQUVkO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFPOzs7QUFLWDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQWU7RUFBYTs7QUFDNUI7RUFBVTs7O0FBTWQ7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQWU7RUFBYTs7QUFDNUI7RUFBVTs7O0FBS2Q7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBZTtFQUFhO0VBQWM7OztBQUU5QztBQUFBO0VBQ2lDOzs7QUFDakM7QUFBQTtFQUM2QjtFQUFZOzs7QUFRekM7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOzs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQXNDOzs7QUFDdEM7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFBZ0M7RUFBa0I7OztBQUNsRDtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUFxQjs7O0FBQ3JCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR1I7RUFJSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOzs7QUFRUjtFQUNJO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFnQjs7QUFFcEI7RUFBSzs7QUFDTDtFQUFLOztBQUNMO0VBQUs7O0FBRUw7RUFBSTs7QUFBbUI7RUFBZTs7QUFDdEM7RUFBUztFQUFvQjs7QUFDN0I7RUFBSzs7QUFFTDtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQVU7O0FBRVY7RUFBTTtFQUFpQjtFQUFjOzs7QUFFekM7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0E7RUFBaUI7OztBQUVyQjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFZSjtFQUNJO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFlO0VBQWdCO0VBQWE7RUFBYztFQUFpQjs7O0FBSy9FO0VBQ0k7OztBQUtKO0VBQ0k7RUFDQTs7O0FBT0o7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTtFQUNBOztBQUVBO0VBQWU7OztBQUd2QjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7O0FBTVI7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUlKO0VBQ0k7O0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQTZCOztBQUM3QjtFQUNJO0VBQ0E7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBT1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTtJQUFPOztFQUNQO0lBQU87OztBQUVYO0VBQ0k7SUFBZ0I7O0VBQ2hCO0lBQXlDOzs7QUFLN0M7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQU87RUFBaUI7RUFBa0I7OztBQU85QztFQUNJOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0E7RUFBZTs7O0FBSW5CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTs7QUFFQTtFQUEyQjs7QUFDM0I7RUFBMkI7OztBQU0vQjtFQUNJOztBQUNBO0VBQXVCO0VBQWdCOzs7QUFLM0M7RUFDSTtFQUNBOztBQUVBO0VBQWU7O0FBRWY7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR1I7RUFDSTtJQUFPOztFQUNQO0lBQU87O0VBQ1A7SUFBTzs7O0FBUVg7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBRUo7RUFLSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFlOztBQUVmO0VBQ0k7RUFDQTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQVU7OztBQVFWO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUlSO0VBQ0k7RUFDQTs7O0FBT1I7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0lBQUs7O0VBQ0w7SUFBTzs7O0FBYVg7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFTSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBR1I7RUFDSTs7O0FBT0o7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHUjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7OztBQU1KO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUFvQjs7QUFDcEI7RUFBb0I7RUFBWTs7QUFDaEM7RUFBc0I7RUFBWTs7O0FBSzFDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBR1I7RUFDSTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBTzs7QUFFUDtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBTzs7QUFFUDtFQUNJO0VBQ0E7OztBQVFSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTs7O0FBRWQ7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTs7QUFFVjtFQUNJO0VBQ0E7OztBQXVCUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0FBQUE7RUFDdUM7OztBQUN2QztBQUFBO0VBQ21DO0VBQVk7OztBOEtubVEvQztFQUdDO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7OztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFHQztFQUNBO0VBQ0E7O0FBQ0E7RUFDQzs7QUFHRjtFQUNDO0VBQ0E7RUFDQTtFQUNNLE9BbkZBO0VBb0ZBO0VBQ0E7RUFHQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTs7QUFLSjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUFNaEI7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNHOzs7QUFHSjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JBekhxQjtFQTBIckI7RUFDQTtFQUNHOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9BdEpBO0VBdUpBOztBQUVKO0VBQ0k7RUFDQTs7QUFFUDtFQUNDOztBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLE9BdEtPO0VBdUtQO0VBQ1M7RUFDQTs7QUFHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQW5MTjtFQW9MTTs7QUFFSjtFQUNJLE9BMUxSO0VBMkxRLGtCQWxMSzs7QUFtTEw7RUFBbUIsT0E1TDNCOztBQThMSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQWlCO0VBQVM7O0FBQzFCO0VBQVM7RUFBaUIsT0E1TXBDO0VBNE1xRDs7QUFJN0Q7RUFDQztFQUNBO0VBQ0E7RUFFQTtFQUNBLE9Bek5PO0VBME5QO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQXRPTTs7QUF3T1A7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVEO0VBQ0M7RUFDQSxPQTlPTTtFQStPTjs7QUFFRDtFQUNDOztBQUVRO0VBQ0ksa0JBblBLO0VBb1BMLE9BN1BSO0VBOFBKOztBQUNBO0VBQUksT0EvUEE7O0FBa1FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUtaO0VBR0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQXBRcUI7RUFxUXJCOztBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDQztFQUNBO0VBQ1Msa0JBclJTO0VBc1JUO0VBQ0E7RUFDQTs7QUFDVDtFQUNDO0VBQ0E7RUFDQTtFQUNBLE9BNVNNO0VBNlNOO0VBQ0E7RUFDWTs7QUFFWDtFQUNDLGtCQXZTZTs7QUEyU2xCO0VBQ0Msa0JBMVNpQjtFQTJTakIsT0F2VEk7O0FBMFROO0VBQ0M7RUFDQTtFQUNTOztBQUVWO0VBQ0M7O0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVEO0VBQ0M7RUFFQTtFQUNBOztBQUlIO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0FoVlE7RUFpVlI7O0FBQ0E7RUFBVTs7QUFDVjtFQUNDO0VBQ0EsT0E1Vks7O0FBOFZOO0VBQ0M7RUFDQSxPQWhXSztFQWlXTDtFQUNBO0VBQ0E7O0FBQ0E7RUFBVSxZQTNWUTs7QUE4VnBCO0VBQ0M7RUFDQTtFQUNBOztBQUNBO0VBQ0M7RUFDQSxPQXpXTztFQTBXUDtFQUNBOztBQUtEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBTUQ7RUFDQzs7O0FBS0g7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNHLGtCQTFYa0I7RUEyWGxCOzs7QUFHSjtBQUFBO0FBQUE7QUFHQTtFQUNDOzs7QUFJRDtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUFhO0VBQWU7RUFBWTtFQUFhOztBQUNyRDtFQUFhO0VBQVE7RUFBYTtFQUFjO0VBQXVCO0VBQVM7O0FBQ2hGO0VBQWE7RUFBYTs7QUFDMUI7RUFBYTtFQUFhOztBQUMxQjtFQUFhO0VBQWE7O0FBQzFCO0VBQWE7RUFBYTtFQUFZOzs7QUFHMUM7RUFDSTtJQUFPO0lBQVc7O0VBQ2xCO0lBQU87SUFBVzs7O0FBRXRCO0VBQ0k7RUFDQTs7O0FBS0o7RUFBbUI7OztBQUlmO0FBQUE7RUFDa0M7OztBQUdsQztBQUFBO0VBQ2tDOzs7QUFNdEM7RUFDSTs7O0FoRS9hQTtBQUFBO0VBQXVCO0VBQVk7O0FBQ25DO0FBQUE7RUFBNkI7O0FBQzdCO0FBQUE7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7QUFBQTtBQUFBO0VBQzBDOztBQUMxQztBQUFBO0VBQW1DOzs7QWdFK2F2QztFaEUzYUk7RUFDQTs7QUFDQTtFQUF1QjtFQUFVO0VBQVc7OztBZ0U0YWhEO0VBRUk7RUFDQTtFQUNBO0VBQ0E7O0FBb0JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsWUF6ZGM7RUEwZGQ7RUFDQTs7QUFHSTtBQUFBO0VBRUk7O0FBRUo7RUFDSTs7QUFDQTtFQUFlOztBQUszQjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFJQTtFQUNBO0VBQ0EsWUFyZmM7RUFzZmQ7RUFFQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0FuaEJKO0VBb2hCSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQTVoQko7O0FBK2hCSTtBQUFBO0VBRUk7O0FBSUo7RUFDSTs7QUFDQTtFQUFlOztBQUkvQjtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUFrQjs7QUFFVjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBLGtCQXppQkM7RUEwaUJEOztBQUVKO0VBQ0k7O0FBQ0E7RUFDSSxPQXRqQmQ7O0FBeWpCTTtFQUNJOztBQUdSO0VBQ0k7RUFDQTtFQUNBOztBQUlaO0VBRUk7RUFFQTtFQUtBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGtCQTFrQkU7RUEya0JGO0VBQ0E7RUFDQTtFQUNBLE9BM2xCVDs7QUE0bEJTO0VBQ0k7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBLE9Bbm5CVjtFQW9uQlU7O0FBRUo7RUFDSTtFQUNBLE9BN25CVjtFQThuQlU7RUFDQTs7QUFHUjtFQUNJO0VBQ0E7RUFDQSxPQXJvQk47RUFzb0JNO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOztBQUVKO0VBQ0k7O0FBSVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBLE9BcHFCTjtFQXFxQk07O0FBQ0E7RUFDSTtFQUNBOztBQUlaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7RUFDQSxPQWpzQk47RUFrc0JNOztBQUNBO0VBQ0k7O0FBS2hCO0VBRUk7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0FodUJSO0VBaXVCUTtFQUNBOztBQUdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUdJO0VBQ0EsT0ExdkJOO0VBMnZCTTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSSxPQWp3Qlo7O0FBcXdCQTtFQUlJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQXZ3QkY7RUF3d0JFO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCQTd3Qks7O0FBOHdCTDtFQUNJLGtCQXJ3QkU7RUFzd0JGLE9BNXhCWjtFQTZ4Qlk7RUFDQTtFQUNBO0VBQ0E7O0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQkFseEJGO0VBbXhCRTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBLE9BcnlCakI7O0FBc3lCaUI7RUFDSSxPQS95QnhCOztBQW16Qlk7RUFDSTtFQUNBO0VBQ0E7O0FBS2hCO0VBVUk7RUFDQTtFQUNBLFlBMXpCUztFQTJ6QlQ7O0FBU0o7RUFDSTtFQUNBO0VBQ0E7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQkFwMUJTO0VBcTFCVCxPQTkxQko7RUErMUJJO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJLE9BMzNCVjtFQTQzQlUsa0JBNzNCWjtFQTgzQlk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNcEI7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTs7QUFFSjtFQUNJLE9BbDVCRjtFQW01QkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0ksY0F0OEJKOztBQXk4Qko7RUFBdUI7O0FBQ3ZCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFDQTtFQUNJLGtCQTc4Qks7RUE4OEJMOzs7QUFNaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFwOUJpQjtFQXE5QmpCO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0VBQXdCOzs7QUFDeEI7RUFBd0I7OztBQUV4QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDQztJQUNDO0lBQ0E7O0VBTUQ7SUFDQztJQUNBOztFQUVEO0lBQ0M7SUFDQTs7RUFLRDtBQUFBO0lBRUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUQ7SUFBZ0I7SUFBNkI7O0VBQzdDO0lBQWdCO0lBQTZCOztFQUs1QztJQUFzQjs7RUFDdEI7SUFBZ0I7O0VBQ2hCO0lBQWdCOztFQUlqQjtJQUNDO0lBQ0E7OztBQUlGO0VBQ0M7SUFDQzs7O0FBSUY7RUFDQztJQUNDOzs7QUFJRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0lBQWdCOztFQUdoQjtJQUNDO0lBQ0E7O0VBR0Q7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUlBO0lBQWdCOztFQUNoQjtJQUNDO0lBQ0E7SUFDQTs7O0FBS0g7QUFDQTtFQUNDO0lBQWdCOztFQUNoQjtJQUF1Qjs7RUFDdkI7SUFBOEI7OztBQUcvQjtFQUNDO0lBQU87SUFBWTs7RUFDbkI7SUFBTztJQUFZOzs7QUFHcEI7QUFDQTtFQUNDOzs7QUFNRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBOzs7QUFVRDtFQUNDO0VBQ0E7RUFDQTs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0M7SUFBTztJQUFZOztFQUNuQjtJQUFPO0lBQVk7OztBQUdwQjtFQUNDO0lBQU87SUFBWTs7RUFDbkI7SUFBTztJQUFZOzs7QUFHcEI7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUNDO0VBQ0E7O0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtBQUFBO0FBQUE7QUFHQTtFQUNDO0lBQU87SUFBWTs7RUFDbkI7SUFBTztJQUFZOzs7QUFFcEI7RUFDQztJQUFPO0lBQVk7O0VBQ25CO0lBQU87SUFBWTs7O0FBRXBCO0FBQUE7QUFFQTtFQUNDO0lBQU87O0VBQ1A7SUFBTzs7RUFDUDtJQUFPOzs7QUFHUjtBQUNBO0VBQ0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtJQUtDOzs7QUFJRjtBQUNBO0FBQ0E7QUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFLQTtFQUNDO0FBQ0E7QUFBQTtBQUFBO0VBR0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtBQUNBO0FBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNBO0FBQUE7O0FBR0E7RUFDQztBQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7OztBQUtIO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUVBO0FBQ0M7QUFBQTs7QUFFQTtFQUFjO0VBQW1COztBQUVqQztFQUFVO0VBQWU7RUFBd0I7O0FBRWpEO0VBQ0M7RUFDQTtFQUNBOztBQUdEO0VBQXNCOztBQWJ2QjtBQWVDOztBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsWUFDQztFQUVEOztBQUVBO0VBQVk7O0FBR2I7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QWhFcDBDRTtFQUF1QjtFQUFZOztBQUNuQztFQUE2Qjs7QUFDN0I7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDMEM7O0FBQzFDO0VBQW1DOztBZ0UrekN0QztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNrQjtFQUF3Qzs7QUFHM0Q7RUFBdUI7O0FBRXZCO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUFzQjtFQUFpQjs7QUFDdkM7RUFBc0I7RUFBaUI7O0FBQ3ZDO0VBQWtCO0VBQWlCO0VBQXFDOztBQUV4RTtFQUNDO0VBQ0E7O0FBQ0E7RUFBVTs7QUFHWDtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBekZGO0FBNEZDOztBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QWhFNTNDRTtFQUF1QjtFQUFZOztBQUNuQztFQUE2Qjs7QUFDN0I7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDMEM7O0FBQzFDO0VBQW1DOztBZ0VzM0N0QztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTs7QUFFWDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFBVTtFQUFxQjs7QUF0SWpDO0FBeUlDO0FBQUE7O0FBRUE7RUFBZ0I7O0FBQ2hCO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUFpQjtFQUFnQjs7QUFDakM7RUFBaUI7RUFBZ0I7O0FBQ2pDO0VBQWlCO0VBQWdCOzs7QUFHbEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFJQTtFQUFzQjs7O0FBRXRCO0VBQ0M7SUFDQztJQUNBO0lBQ0E7O0VBRUQ7SUFDQztJQUNBOztFQUVEO0lBQ0M7SUFDQTtJQUNBOztFQUdEO0FBQUE7QUFBQTtJQUVvRDs7O0FBR3JEO0FBQ0E7RUFDQztJQUFvQzs7O0FBR3JDO0FBQUE7QUFBQTtBQUdBO0VBQ0M7RUFDQTtFQUNBOzs7QUFFRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFBZ0I7RUFBZ0I7O0FBR2pDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQU87O0FBUFI7QUFRQzs7QUFDQTtFQUEyQjs7QUFFNUI7RUFBc0I7RUFBa0I7O0FBQ3hDO0VBQWtCOztBQUNsQjtFQUFvQjtFQUFrQjtFQUFnQjs7QUFDdEQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQVk7RUFBcUI7RUFBZ0I7O0FBRWxEO0VBQXdCO0VBQWdCO0VBQW1COztBQUMzRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUFPO0VBQVk7OztBQUdyQjtFQUNDO0lBQVc7O0VBQ1g7SUFBTTs7O0FBR1A7QUFBQTtBQUFBO0FBR0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFBTzs7QUFDUDtFQUFpQjs7QUFFbEI7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVEO0VBQWdCOztBQUNoQjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVEO0VBQ0M7RUFDQTtFQUNBOztBQUNBO0VBQU87O0FBQ1A7RUFBYTs7QUFDYjtFQUFnQjs7QUFFakI7RUFBa0I7RUFBaUI7O0FBQ25DO0VBQWlCOztBQUNqQjtFQUNDO0VBQ0E7RUFDQTs7QUFDQTtFQUFpQjtFQUFTOztBQUUzQjtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQXVCOzs7QUFJekI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQU87O0FBRVI7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQU87RUFBaUI7O0FBRXpCO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRDtFQUFzQjs7QUFDdEI7RUFDQztFQUNBO0VBQ0E7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7O0FBRUQ7RUFBcUM7O0FBRXJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFBTzs7QUFDUDtFQUFVOztBQUdYO0VBQ0M7RUFDQTtFQUNBOztBQUVEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFBd0I7OztBQUkxQjtBQUFBO0FBQUE7QUFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQU87O0FBRVI7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQWlCOztBQUVsQjtFQUFtQjs7QUFDbkI7RUFBZ0I7RUFBZ0I7O0FBQ2hDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFBVTs7QUFFWDtFQUFrQjtFQUFpQjs7O0FBR3BDO0FBQUE7QUFBQTtBQUlDO0VBRUM7O0FBQ0E7RUFDQztFQUNBOztBQUNBO0VBQVUsT0Evd0RMOztBQWl4RE47RUFBdUI7O0FBRXhCO0VBRUM7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0F0eERRO0VBdXhEUjtFQUNBO0VBQ0E7O0FBRUQ7RUFFQztFQUNBOztBQUNBO0VBQzhDLE9BaHlEdEM7OztBQ2RWO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7O0FDbEhKO0VBQ0k7RUFDQTtFQUNBOztBQUNIO0VBQ0M7RUFDQTs7QUFFRTtFQUNJOztBQUVQO0VBQ0M7RUFDQTs7QUFDQTtFQUNDO0VBQ0c7O0FBRUo7RUFDQzs7QUFFSztFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFNaEI7RUFDSTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7O0FBQ0E7RUFDSTtFQUNBOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTtFQUNBOztBQU9aO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOzs7QUNqSFo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZUF4Q2lCO0VBeUNqQixZQUNJOzs7QUFJUjtFQUNJLE9BaERnQjtFQWlEaEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBTVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxlQTdGaUI7RUE4RmpCLFlBQ0k7O0FBS0o7RUFDSSxPQXRHWTtFQXVHWjs7O0FBTVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZUFsSGlCO0VBbUhqQjs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7OztBQU1SO0VBQ0k7RUFDQTs7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUE7RUFBb0I7O0FBQ3BCO0VBQW9CLE9BNUxKO0VBNEw4QjtFQUEwRDs7QUFDeEc7RUFBb0IsT0E3TEo7RUE2TDhCO0VBQTBEO0VBQW1COzs7QUFNM0g7RUFBb0I7O0FBQ3BCO0VBQW9CLE9BcE1KO0VBb004Qjs7O0FDek1sRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFTSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVFJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtBQUFBO0VBRUk7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDdkNKO0VBQWdDOzs7QUFBb0I7RUFBc0I7RUFBa0I7RUFBVTtFQUFRO0VBQVc7RUFBWTtFQUFnQjs7O0FBQWM7RUFBeUQ7RUFBa0I7RUFBVztFQUFRO0VBQVM7RUFBcUI7RUFBVztFQUFZO0VBQW1CO0VBQTZCO0VBQXlCOzs7QUFBaUM7RUFBNkI7RUFBcUQ7OztBQUFtQztFQUE0QjtFQUFxRDs7O0FBQW1DO0VBQXNFO0VBQW1DOzs7QUFBVTtFQUErRDs7O0FBQVU7RUFBc0Q7RUFBb0I7RUFBZTtFQUE4Qjs7O0FBQTBCO0VBQWE7RUFBdUI7RUFBYztFQUFrQjtFQUFXO0VBQWdCO0VBQWdCOzs7QUFBYztFQUFlOzs7QUFBc0I7RUFBbUI7OztBQUFhO0VBQXVCO0VBQW1CO0VBQW9COzs7QUFBVztFQUFxQjs7O0FBQVc7RUFBdU07RUFBNEI7OztBQUE2QjtFQUEwQzs7O0FBQXlCO0VBQXFMO0VBQXlCOzs7QUFBMEI7RUFBeUM7RUFBa0I7RUFBcUI7RUFBZ0I7RUFBaUI7RUFBWTtFQUFrQjtFQUFnQjtFQUFrQjtFQUFXO0VBQTJCO0VBQXNCO0VBQWtCOzs7QUFBbUI7RUFBMEM7OztBQUFjO0VBQWlDOzs7QUFBYztFQUE2RTs7O0FBQVc7RUFBcUQ7OztBQUFxQjtFQUFxRDtFQUFxQjs7O0FBQWE7RUFBcUI7RUFBaUI7OztBQUFrQjtFQUF3Qjs7O0FBQWU7RUFBbUI7RUFBZ0I7RUFBYztFQUF1QjtFQUFrQjtFQUF5QjtFQUFnQjs7O0FBQWU7RUFBa0I7RUFBa0I7RUFBcUI7RUFBMEI7RUFBa0I7RUFBa0I7RUFBVztFQUFjO0VBQW1CO0VBQWtCO0VBQW1CO0VBQWdCO0VBQWU7OztBQUF1QjtFQUF1QjtFQUFlO0VBQWdCO0VBQWtCO0VBQVE7RUFBTTtFQUFTO0VBQWdCO0VBQWtCO0VBQVc7RUFBa0I7RUFBaUI7RUFBd0I7OztBQUFrQjtFQUE2QjtFQUFjO0VBQWM7OztBQUFlO0VBQTBEOzs7QUFBbUI7RUFBc0U7OztBQUFXO0VBQXNCO0VBQWdCO0VBQWdCO0VBQXdCO0VBQW1CO0VBQWtCOzs7QUFBeUI7RUFBMkM7RUFBaUI7RUFBc0I7RUFBYztFQUFTO0VBQXFCOzs7QUFBZTtFQUFxQjtFQUFrQjtFQUFXO0VBQVk7RUFBVTtFQUFRO0VBQWdCO0VBQWtCOzs7QUFBOEI7RUFBNEI7RUFBa0I7RUFBUTtFQUFRO0VBQVc7RUFBZTtFQUEwQztFQUFtQjtFQUF1Qjs7O0FBQVc7RUFBMEI7RUFBYztFQUFxQjtFQUFtQjs7O0FBQWdCO0VBQStDOzs7QUFBYTtFQUE4QjtFQUFrQjtFQUFjO0VBQWdCO0VBQVc7RUFBaUI7RUFBYztFQUF5QjtFQUFnQjtFQUE4QjtFQUErQjtFQUFXOzs7QUFBaUM7RUFBc0I7RUFBZ0I7RUFBcUI7RUFBVTtFQUFTO0VBQWU7OztBQUFtQjtFQUFrRDtFQUFZO0VBQTRCO0VBQTZCO0VBQTJCO0VBQTRCO0VBQW1COzs7QUFBNkI7RUFBd0M7OztBQUFhO0VBQXNCOzs7QUFBYztFQUFxQjtFQUFjO0VBQWE7RUFBZ0I7RUFBaUI7RUFBcUI7RUFBb0I7RUFBc0I7RUFBa0I7RUFBZTs7O0FBQW1CO0VBQTJCO0VBQU07RUFBUTtFQUFrQjtFQUFpQjtFQUFtQjtFQUFrQjs7O0FBQWU7RUFBZ0M7RUFBbUI7RUFBYTs7O0FBQVc7RUFBc0M7RUFBMEI7RUFBbUI7OztBQUFXO0VBQStCO0VBQW1CO0VBQWM7OztBQUFnQjtFQUFxQztFQUE0Qjs7O0FBQWE7RUFBOEQ7RUFBbUI7OztBQUFXO0VBQW9FO0VBQW1CO0VBQTRCOzs7QUFBVztFQUF5RjtFQUFtQjs7O0FBQWM7RUFBK0I7RUFBNkI7RUFBd0I7RUFBWTs7O0FBQW9CO0VBQTRCO0VBQW1COzs7QUFBYztFQUEyRDtFQUFtQjs7O0FBQVc7RUFBaUU7OztBQUFtQjtFQUE4RDs7O0FBQW1CO0VBQW9FO0VBQW1COzs7QUFBVztFQUEwRTtFQUFtQjtFQUE0Qjs7O0FBQVc7RUFBb0Q7OztBQUF5QjtFQUE2Qzs7O0FBQVU7RUFBcUI7RUFBa0I7RUFBaUI7RUFBcUI7OztBQUFtQjtFQUF1Qjs7O0FBQWlCO0VBQStCO0VBQVc7OztBQUFTO0VBQTZCOzs7QUFBdUI7RUFBZ0M7OztBQUFpQjtFQUFxQztFQUFXOzs7QUFBTztFQUE4QjtFQUFXOzs7QUFBVTtFQUFnQztFQUFXOzs7QUFBUztFQUFvQjtJQUFHOztFQUFvQjtJQUFHOzs7QUFHNzlOO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBQ0E7RUFFSTtFQUNBOztBQUNBO0VBQ0k7O0FBS1o7RUFFSTtFQUNBOztBQUVKO0VBQ0k7O0FBQ0E7RUFDSTs7QUFHUjtFQUNJO0VBQ0E7O0FBQ0E7RUFDSTs7QUFDQTtFQUNJOztBQUdSO0VBQ0k7OztBQ3hFVjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBS0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUVFOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBUkY7SUFTSTtJQUNBOzs7QUFHRjtFQWJGO0lBY0k7SUFDQTs7O0FBR0Y7RUFsQkY7SUFtQkk7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUlFOzs7QUM3Uko7RUFDSTs7O0FDSEo7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTs7O0FBSVI7QUFBQTtFQUVJO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7RUFFSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0kiLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlIFwiY29sb3JzXCI7XG5cblxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SW50ZXI6aXRhbCxvcHN6LHdnaHRAMCwxNC4uMzIsMTAwLi45MDA7MSwxNC4uMzIsMTAwLi45MDAmZGlzcGxheT1zd2FwJyk7XG5cbiR0ZXh0LWJvZHktY29sb3I6IGNvbG9ycy4kYmFzZS1ibGFjaztcbiR0aXRsZS1ib2R5LWNvbG9yOiBjb2xvcnMuJHB1cnBsZS01MDA7XG5cbiRwYWdlLXJlc29sdXRpb246IDgwJTtcblxuaDEucGFnZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICR0aXRsZS1ib2R5LWNvbG9yO1xuXG59IiwiQHVzZSAnLi4vbW9kdWxlcy9fY29sb3JzLnNjc3MnO1xuQHVzZSBcInNhc3M6Y29sb3JcIjtcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUludGVyOml0YWwsb3Bzeix3Z2h0QDAsMTQuLjMyLDEwMC4uOTAwOzEsMTQuLjMyLDEwMC4uOTAwJmRpc3BsYXk9c3dhcCcpO1xuXG4kcGFnZS1yZXNvbHV0aW9uOiA4MCU7XG5cbi8vIEJvcmRlci1iZWFtIGFuZ2xlIGZvciB0aGUgdjIgdG9vbGJhcidzIHBsYXkgYnV0dG9uICguZmUyLXBsYXk6OmJlZm9yZSkuXG4vLyBNVVNUIGJlIGEgdG9wLWxldmVsIEBwcm9wZXJ0eSDigJQgcmVnaXN0ZXJpbmcgaXQgYXMgYW4gPGFuZ2xlPiBpcyB3aGF0IGxldHMgdGhlXG4vLyBicm93c2VyIGludGVycG9sYXRlIGl0IGZyYW1lLWJ5LWZyYW1lLCBvdGhlcndpc2UgdGhlIGNvbmljLWdyYWRpZW50IHNuYXBzXG4vLyBpbnN0ZWFkIG9mIHJvdGF0aW5nLiBTYW1lIG1lY2hhbmlzbSBhcyAtLXFucC1iZWFtLWFuZ2xlIGluIHRoZSBub2RlLXBpY2tlci5cbkBwcm9wZXJ0eSAtLWZlMi1iZWFtLWFuZ2xlIHtcbiAgICBzeW50YXg6IFwiPGFuZ2xlPlwiO1xuICAgIGluaGVyaXRzOiBmYWxzZTtcbiAgICBpbml0aWFsLXZhbHVlOiAwZGVnO1xufVxuXG4vLyBNaW5pbWFsIGJyZWFkY3J1bWIgYmFyIGFib3ZlIHRoZSBmbG93IGVkaXRvciBjYW52YXNcbi5mZS1mb250LXByZWxvYWQge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmZlLWJyZWFkY3J1bWItYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogNnB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAuZmUtYnJlYWRjcnVtYi1iYWNrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29sb3I6ICM0MTQ5OWE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcyBlYXNlO1xuICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSg2NSwgNzMsIDE1NCwgMC4xKTsgfVxuXG4gICAgICAgIC5tZGkgeyBmb250LXNpemU6IDIwcHg7IGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgfVxuXG59XG5cbi5mbG93ZWRpdG9yX21vZGFsIC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cblxuLmZsb3dlZGl0b3JfaG9sZGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLy8gcWRuYXByby1ub2RlLXBpY2tlciByYWlsIChvcHQtaW4gP25vZGVwaWNrZXI9djIsIHNlZSBIb2xkZXIudnVlKS4gQSBERURJQ0FURURcbi8vIHdyYXBwZXIgYXJvdW5kIGp1c3QgPG5vZGViYXI+KzxtYWluPiDigJQgTk9UIGRpc3BsYXk6ZmxleCBvbiAuZmxvd2VkaXRvcl9ob2xkZXJcbi8vIGl0c2VsZiwgd2hpY2ggd291bGQgYWxzbyB0dXJuIDxtb2RhbHM+ICh0aGUgbm9kZS1vcHRpb25zIFwid2hpdGUgd2luZG93XCIpLFxuLy8gPGxvYWRpbmc+LCA8bmV3PiwgPHZlcnNpb25zPiwgPHByZXZpZXctbW9kYWw+IGludG8gZmxleCBpdGVtcyBhbmQgZHJhZyB0aGVtXG4vLyBpbnRvIHRoZSByb3cgaW5zdGVhZCBvZiBvdmVybGF5aW5nIChidWcgZm91bmQgMTYuMDcuMjAyNikuIFRoZSByYWlsIGdldHMgYVxuLy8gRklYRUQgNTZweCBzbG90IChtYXRjaGVzIHRoZSBjb21wb25lbnQncyAtLW5wLXJhaWwtdywgc2hydW5rIGZyb20gNjhweFxuLy8gMTYuMDcuMjAyNikgc28gaXQgcmVzZXJ2ZXMgcmVhbCBzcGFjZSBpbnN0ZWFkIG9mIGZsb2F0aW5nIG9uIHRvcCBvZiB0aGVcbi8vIGNhbnZhczsgLmZsb3dlZGl0b3IgdGFrZXMgdGhlIHJlc3QuIFRoZSByYWlsJ3MgZXhwYW5kIHBhbmVsICgyMDhweCB3aGVuIGFcbi8vIGNhdGVnb3J5IGlzIG9wZW4pIGlzIE5PVCBwYXJ0IG9mIHRoaXMgcmVzZXJ2ZWQgd2lkdGgg4oCUIGl0IHNpbXBseSBvdmVyZmxvd3Ncbi8vIHRoZSA1NnB4IHNsb3Qgd2hlbiBvcGVuIChub1xuLy8gb3ZlcmZsb3c6aGlkZGVuIGhlcmUgdG8gY2xpcCBpdCksIHNvIG9wZW5pbmcvY2xvc2luZyBhIGNhdGVnb3J5IG5ldmVyXG4vLyBjaGFuZ2VzIC5mbG93ZWRpdG9yJ3Mgc2l6ZSBhbmQgbmV2ZXIgdHJpZ2dlcnMgYSBHb0pTIGNhbnZhcyByZXNpemUuXG4uZmxvd2VkaXRvcl9ob2xkZXJfX2NhbnZhcy1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLmZsb3dlZGl0b3JfaG9sZGVyX19jYW52YXMtcm93ID4gLmZsb3dlZGl0b3Itbm9kZXBpY2tlci12MiB7XG4gICAgZmxleDogMCAwIDU2cHg7XG4gICAgLy8gV2l0aG91dCB0aGlzLCB0aGUgaXRlbSdzIGRlZmF1bHQgbWluLXdpZHRoOmF1dG8gcmVzb2x2ZXMgdG8gaXRzIG93blxuICAgIC8vIG1pbi1jb250ZW50IHNpemUg4oCUIHJhaWwgKDU2cHgpIFBMVVMgYW4gb3BlbiBwYW5lbCAofjIwOHB4KSDigJQgd2hpY2hcbiAgICAvLyBzaWxlbnRseSBvdmVycmlkZXMgZmxleC1zaHJpbms6MCBhbmQgZm9yY2VzIHRoZSBib3ggcGFzdCBpdHMgNTZweFxuICAgIC8vIGJhc2lzLCBzaG92aW5nIC5mbG93ZWRpdG9yIG92ZXIgaW5zdGVhZCBvZiBsZXR0aW5nIHRoZSBwYW5lbCBmbG9hdFxuICAgIC8vIG92ZXIgdGhlIGNhbnZhcyAoZm91bmQgdmlhIEtpbSdzIHNjcmVlbnNob3QsIDE2LjA3LjIwMjYpLlxuICAgIG1pbi13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIHN0YWNraW5nIGNvbnRleHQgZm9yIHRoZSBvdmVyZmxvd2luZyBwYW5lbFxuICAgIHotaW5kZXg6IDEwO1xufVxuLy8gUmlnaHQgY29sdW1uID0gYnJlYWRjcnVtYiBob3N0IChhdXRvIGhlaWdodCkgc3RhY2tlZCBhYm92ZSB0aGUgY2FudmFzXG4vLyAoZmxleDoxKS4gU2l0cyB0byB0aGUgUklHSFQgb2YgdGhlIGZ1bGwtaGVpZ2h0IHJhaWwsIHNvIHRoZSByYWlsIHJ1bnMgdGhlXG4vLyBmdWxsIHBhZ2UgaGVpZ2h0IGFuZCB0aGUgYnJlYWRjcnVtYiBzdGFydHMgbmV4dCB0byBpdCAoS2ltIDE2LjA3LjIwMjY6XG4vLyBcImhlbGVtYWFsIHRvdCBib3ZlbiBsYXRlbiBkb29ybG9wZW4sIGJyZWFkY3J1bWIgZXZlbiBvcHNjaHVpdmVuXCIpLlxuLmZsb3dlZGl0b3JfaG9sZGVyX19jYW52YXMtcm93ID4gLmZlLXJpZ2h0LWNvbCB7XG4gICAgZmxleDogMSAxIDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uZmxvd2VkaXRvcl9ob2xkZXJfX2NhbnZhcy1yb3cgLmZlLWJyZWFkY3J1bWItaG9zdCB7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG4uZmxvd2VkaXRvcl9ob2xkZXJfX2NhbnZhcy1yb3cgLmZlLXJpZ2h0LWNvbCA+IC5mbG93ZWRpdG9yIHtcbiAgICBmbGV4OiAxIDEgMCU7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICAvLyBPdmVycmlkZXMgdGhlIGNsYXNzaWMgd2lkdGg6MTAwJSBiZWxvdywgd2hpY2ggd291bGQgZmlnaHQgZmxleC1iYXNpczpcbiAgICAvLyBhdXRvIChpdCByZWFkcyB0aGUgd2lkdGggcHJvcGVydHkpIGFuZCBwcm9kdWNlIGEgaHVnZWx5IG5lZ2F0aXZlXG4gICAgLy8gZnJlZS1zcGFjZSBjYWxjIGluc3RlYWQgb2YgXCJyZW1haW5pbmcgc3BhY2UgYWZ0ZXIgdGhlIHJhaWxcIi5cbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi8vIOKUgOKUgCBGb3JtIGVkaXRvciBlbXB0eS1zdGF0ZSBjYWxsb3V0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQ2VudHJlZCBvdmVyIHRoZSBjYW52YXMsIGxpZnRlZCBhYm92ZSB0aGUgKGF1dG8tY2VudHJlZCkgZmxvdyByb3cgc28gaXRzIHRhaWxcbi8vIHBvaW50cyBkb3duIGF0IHRoZSBcIitcIiBiZXR3ZWVuIHN0YXJ0IGFuZCBmaW5pc2guIFB1cmVseSBpbnN0cnVjdGlvbmFsLCBzbyBpdFxuLy8gbmV2ZXIgaW50ZXJjZXB0cyBwb2ludGVyIGV2ZW50cyBvbiB0aGUgY2FudmFzIGJlbmVhdGggaXQuXG4uZmUtZm9ybS1lbXB0eS1oaW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIGNhbGMoLTEwMCUgLSA0NnB4KSk7XG4gICAgd2lkdGg6IDI2NHB4O1xuICAgIG1heC13aWR0aDogNzglO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDRweCByZ2JhKDM4LCA0MiwgOTIsIDAuMjApO1xuICAgIHBhZGRpbmc6IDE2cHggMTZweCAxOHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTYwbXMgZWFzZTtcblxuICAgIC8vIERvd253YXJkIHRhaWwgKHJvdGF0ZWQgc3F1YXJlKSBwb2ludGluZyBhdCB0aGUgXCIrXCIuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm90dG9tOiAtN3B4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDNweCAwO1xuICAgICAgICBib3gtc2hhZG93OiAzcHggM3B4IDdweCByZ2JhKDM4LCA0MiwgOTIsIDAuMTApO1xuICAgIH1cbn1cbi5mZS1mb3JtLWVtcHR5LWhpbnRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzJhMmU1ZTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8vIFtLaW0gMTYuMDddIGNlbnRyZWVyIGRlIHRla3N0IG9wIGRlIGVtcHR5LXN0YXRlIGNhcmRcbn1cbi5mZS1mb3JtLWVtcHR5LWhpbnRfX3N1YiB7XG4gICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgY29sb3I6ICM2YzcwOTk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mZS1mb3JtLWVtcHR5LWhpbnRfX2NhcmQge1xuICAgIGJvcmRlcjogMS41cHggc29saWQgI2U2ZTdlZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMzgsIDQyLCA5MiwgMC4wOCk7XG4gICAgcGFkZGluZzogMTBweDtcbn1cbi5mZS1mb3JtLWVtcHR5LWhpbnRfX2NhcmQtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWNlZWZiO1xuICAgIGNvbG9yOiAjM2E0MjkwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uZmUtZm9ybS1lbXB0eS1oaW50X19jYXJkLWZpZWxkIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCAjZTZlN2VmO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmJmYmZlO1xuICAgICYgKyAmIHsgbWFyZ2luLXRvcDogOHB4OyB9XG59XG5cbi5mbG93ZWRpdG9yLWRpYWdyYW0taG9sZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbn1cblxuLmZsb3dlZGl0b3JfZW1wdHlfc3RhdGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogY29sb3JzLiR3aGl0ZTtcbiAgICB6LWluZGV4OiAyMztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogcmdiYSgjMDAwLCAuNCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZsb3dlZGl0b3JfZW1wdHlfc3RhdGVfdGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBwYWRkaW5nOiAxMDBweDtcbn1cblxuLmZsb3dlZGl0b3JfZW1wdHlfc3RhdGVfdGV4dDpob3ZlciB7XG4gICAgY29sb3I6ICMxNThiNmM7XG59XG5cbi5mbG93ZWRpdG9yX2VtcHR5X3N0YXRlX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZsb3dlZGl0b3Itb3ZlcmZsb3ctYXV0byB7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmZsb3dlZGl0b3JfbW9kYWwtaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDE7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmZsb3dlZGl0b3JfbW9kYWwtYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCMwMDAsIC41KTtcbiAgICB6LWluZGV4OiAxMDAzO1xuICAgIGFuaW1hdGlvbjogbW9kYWwtZmFkZS1pbiAyMDBtcyBlYXNlLW91dCBib3RoO1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbCxcbi5mbG93ZWRpdG9yX21lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0OSwgMjQ5LCAyNDksIDAuNzUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcbiAgICBhbmltYXRpb246IG1vZGFsLXNjYWxlLWluIDIwMG1zIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpIGJvdGg7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMzEsIDE0LCAxNCwgMC4xNSk7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHotaW5kZXg6IDEwMDQ7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcGFkZGluZzogMnJlbTtcblxuICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIE1vZGVybiB0aGluIHNjcm9sbGJhclxuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHJnYmEoNjUsIDczLCAxNTQsIDAuMykgdHJhbnNwYXJlbnQ7XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiA0cHg7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg2NSwgNzMsIDE1NCwgMC4zKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSg2NSwgNzMsIDE1NCwgMC41KTsgfVxuICAgIH1cbn1cblxuLmZsb3dlZGl0b3JfbWVudXtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgXG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHtcblxuICAgIC5mbG93ZWRpdG9yX21lbnUsXG4gICAgLmZsb3dlZGl0b3JfbW9kYWwge1xuICAgICAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5mbG93ZWRpdG9yX21vZGFsLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuaWNvbi13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG4gICAgICAgIC50cy1yb3VuZGVkLWJvcmRlci1zbWFsbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjIyNXJlbTtcblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mbG93ZWRpdG9yX21lbnUuLWFkZC1ub2RlIHtcbiAgICB3aWR0aDogMzcwcHg7XG59XG5cbi5mbG93ZWRpdG9yX21vZGFsIHt9XG5cbi5mbG93ZWRpdG9yX21vZGFsLi10cmFuc2xhdGUtbGFiZWwge1xuICAgIG1pbi13aWR0aDogNTAwcHg7XG59XG5cbi5mbG93ZWRpdG9yX21vZGFsLi10ZW1wbGF0ZS1tYW5hZ2VyIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1pbi13aWR0aDogMTA3NXB4O1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbC4tYWN0aXZpdGllcy1tYW5hZ2VyIHtcbiAgICBtaW4td2lkdGg6IDUwMHB4O1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbC4tY29uZGl0aW9ucy1tYW5hZ2VyIHtcbiAgICBtaW4td2lkdGg6IDk1MHB4O1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbC4tbm9kZS1vcHRpb25zIHtcbiAgICBtaW4td2lkdGg6IDk1MHB4O1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbC4tcHJvbXB0IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbC4tc3ViZmxvdy1sb2dpYy1hbmQtcnVsZXMsXG4uZmxvd2VkaXRvcl9tb2RhbC4tYWN0aW9uLW5vZGUtb3B0aW9ucyB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xuXG4gICAgLmZsb3dlZGl0b3JfbW9kYWwtYm9keSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgfVxufVxuXG4vLyBMb2dpY2Etbm9kZSBkZWVsIDJiICgzMC4wNy4yMDI2KTogZGUgcmVnZWxzZXRzLW1vZGFsIGRyYWFndCBiaW5uZW5pbiBkZXplbGZkZVxuLy8gYC5mZS10cmlnZ2VyLWVkaXRvci13cmFwcGVyYCBhbHMgZGUgb3ZlcmRyYWNodC10cmlnZ2VyLWVkaXRvciwgZW4gZGllIGhlZWZ0IGVlblxuLy8gYG1pbi13aWR0aDogOTAwcHhgLiBJbiBkZSA5NjBweC1tb2RhbCBoaWVyYm92ZW4gd2VyZCBkZSBrYWFydCA4MzBweCBicmVlZCDihpIgOTBweFxuLy8gaG9yaXpvbnRhbGUgb3Zlcmxvb3AsIGdlbWV0ZW4gKGNhcmQgY2xpZW50V2lkdGggODMwIHZzIHNjcm9sbFdpZHRoIDkyMCkuIFZhbmRhYXIgZWVuXG4vLyBlaWdlbiwgYnJlZGVyZSBtb2RpZmllciBpbiBwbGFhdHMgdmFuIG1lZWxpZnRlbiBvcCAtc3ViZmxvdy1sb2dpYy1hbmQtcnVsZXMgKGRhdCBpcyBkZVxuLy8gbW9kYWwgdmFuIFN1YmZsb3dMb2dpY0FuZFJ1bGVzLCBlZW4gYW5kZXIgc2NoZXJtKS5cbi5mbG93ZWRpdG9yX21vZGFsLi1mbG93LWxvZ2ljIHtcbiAgICB3aWR0aDogOTIlO1xuICAgIG1heC13aWR0aDogMTEyMHB4O1xuXG4gICAgLmZsb3dlZGl0b3JfbW9kYWwtYm9keSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XG5cbiAgICAgICAgLy8gw4nDiU4gc2Nyb2xsZXIuIERlIHdyYXBwZXIgYnJlbmd0IHonbiBlaWdlbiBgbWF4LWhlaWdodDogNjB2aDsgb3ZlcmZsb3cteTogYXV0b2BcbiAgICAgICAgLy8gbWVlLCB3YXQgaGllciBwZXIgcmVnZWxzZXQgZWVuIGFwYXJ0ZSBzY3JvbGxiYWsgem91IG9wbGV2ZXJlbiDigJQgbWV0IGRyaWUgc2V0c1xuICAgICAgICAvLyBrcmlqZyBqZSBkYW4gZHJpZSBnZW5lc3RlIHNjcm9sbGdlYmllZGVuLiBIZXQgc2Nyb2xsZW4gaG9vcnQgb3AgZGUgbW9kYWwtYm9keS5cbiAgICAgICAgLmZlLXRyaWdnZXItZWRpdG9yLXdyYXBwZXIge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTbWFsbGUgc2Nyb2xsYmFyIG1ldCBlZW4gdHJhbnNwYXJhbnRlIHRyYWNrLCBiaW5uZW4gaGV0IGNvbXBvbmVudCAoaHVpc3JlZ2VsKS5cbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgICAgICBzY3JvbGxiYXItY29sb3I6IHJnYmEoNDksIDU2LCAxMjIsIC4zNSkgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogN3B4OyB9XG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSg0OSwgNTYsIDEyMiwgLjM1KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgfVxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoNDksIDU2LCAxMjIsIC41NSk7IH1cbiAgICB9XG59XG5cbi5mbG93ZWRpdG9yX21vZGFsLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMTM4N2E7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIC8qbWFyZ2luOiAxNXB4IDA7Ki9cbiAgICAvLyBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICAvLyBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuZmUtY2FyZCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudHMtcm91bmRlZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIH1cbn1cblxuLmZsb3dlZGl0b3JfbW9kYWwtY2xvc2Uge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIG9wYWNpdHk6IC41O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5mbG93ZWRpdG9yX21vZGFsLWNsb3NlOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBvcGFjaXR5OiAuNzU7XG59XG5cbi5mbG93ZWRpdG9yX21vZGFsLWNsb3NlOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XG4gICAgY29udGVudDogJ1xcRjAxNTYnO1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbC1ib2R5IHtcbiAgICBwYWRkaW5nOiAxcmVtXG59XG5cbi8vIEhlYWRlciBjb2xvciBwaWNrZXIgKG1vdmVkIGZyb20gR2VhdmFuY2VlcmRlIGluc3RlbGxpbmdlbilcbi5mZS1oZWFkZXItY29sb3ItcGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uZmUtaGVhZGVyLWNvbG9yLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbn1cblxuLmZlLWhlYWRlci1jb2xvci1pbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZlLWhlYWRlci1jb2xvci1kb3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLCBib3JkZXItY29sb3IgMC4xNXMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgfVxufVxuXG4uZmUtaGVhZGVyLWNvbG9yLWlucHV0OmNoZWNrZWQgKyAuZmUtaGVhZGVyLWNvbG9yLWRvdCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG59XG5cbi5mbG93ZWRpdG9yX21vZGFsLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuXG5cbiAgICAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgIH1cbn1cblxuLmZsb3dlZGl0b3JfbW9kYWwtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbC1sYWJlbC4tZXJyb3I6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1hdGVyaWFsIERlc2lnbiBJY29uc1wiO1xuICAgIGNvbnRlbnQ6ICdcXEYwNzg3JztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6ICNlMzMyNDQ7XG4gICAgcmlnaHQ6IDdweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgdG9wOiAzcHg7XG59XG5cbi5mbG93ZWRpdG9yX21vZGFsLWVycm9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbC1sYWJlbC4tZXJyb3IgLmZsb3dlZGl0b3JfbW9kYWwtZXJyb3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjZGY5MjkyO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW46IDVweCAwIDAgMjAlO1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbC1sYWJlbC4tZXJyb3IgLmZsb3dlZGl0b3JfbW9kYWwtaW5wdXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZjkyOTI7XG59XG5cbi5mbG93ZWRpdG9yX21vZGFsLWxhYmVsX3RleHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7XG4gICAgbWFyZ2luOiA2cHggMCAwO1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbC1pbnB1dCB7XG4gICAgd2lkdGg6IDgwJTtcbn1cblxuaW5wdXQuZmxvd2VkaXRvcl9tb2RhbC1zZXBhcmF0b3ItY2hlY2tib3gge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbC1zZXBhcmF0b3Ige1xuICAgIG1hcmdpbjogMTBweCAwIDEwcHggMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZsb3dlZGl0b3JfY29uZGl0aW9ucy1tYW5hZ2VyX2xpc3QtaG9sZGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDUlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZsb3dlZGl0b3JfY29uZGl0aW9ucy1tYW5hZ2VyX2xpc3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNGU0ZTQ7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uZmxvd2VkaXRvcl9jb25kaXRpb25zLW1hbmFnZXJfbGlzdC1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3NXB4O1xuICAgIGxlZnQ6IDFweDtcbiAgICByaWdodDogMXB4O1xuICAgIGJvdHRvbTogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3JzLiR3aGl0ZSwgLjgpO1xufVxuXG4uZmxvd2VkaXRvcl9jb25kaXRpb25zLW1hbmFnZXJfbGlzdC1zcGlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGNvbG9yOiAjMGVhNTdmO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLmZsb3dlZGl0b3JfY29uZGl0aW9ucy1tYW5hZ2VyX2xpc3QtaXRlbSB7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG59XG5cbi5mbG93ZWRpdG9yX2NvbmRpdGlvbnMtbWFuYWdlcl9saXN0LWl0ZW0uLXNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWFhZTg4O1xuICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xufVxuXG4uZmxvd2VkaXRvcl9jb25kaXRpb25zLW1hbmFnZXJfbGlzdC1lbXB0eSB7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAjYTM5ZjlmO1xufVxuXG4uZmxvd2VkaXRvcl9jb25kaXRpb25zLW1hbmFnZXJfbGlzdC1zZWFyY2gge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTBweCAwO1xufVxuXG4uZmxvd2VkaXRvcl9jb25kaXRpb25zLW1hbmFnZXJfYnV0dG9ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwJTtcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcbn1cblxuLmZsb3dlZGl0b3JfY29uZGl0aW9ucy1tYW5hZ2VyX2J1dHRvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDAgMTVweCAyMnB4O1xufVxuXG4uZmxvd2VkaXRvcl9tb2RhbC1zZXBhcmF0b3IuLWNsaWNrYWJsZTpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjMTU4YjZjO1xufVxuXG4uZmxvd2VkaXRvcl9tZW51LW9wdGlvbi1ob2xkZXIge1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5mbG93ZWRpdG9yX21lbnUtb3B0aW9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJiNtZW51LW5vZGUtdHlwZS0xMCAuZmxvd2VkaXRvcl9tZW51LWljb24ge1xuICAgICAgICBjb2xvcjogI2Y1NjA1YVxuICAgIH1cblxuICAgIC8vIGlzc3Vlc1xuICAgICYjbWVudS1ub2RlLXR5cGUtMTQgLmZsb3dlZGl0b3JfbWVudS1pY29uIHtcbiAgICAgICAgY29sb3I6ICM0Y2I4YWJcbiAgICB9XG5cbiAgICAvLyBva1xuICAgICYjbWVudS1ub2RlLXR5cGUtMTUgLmZsb3dlZGl0b3JfbWVudS1pY29uIHtcbiAgICAgICAgY29sb3I6ICNmNmE4NTVcbiAgICB9XG5cbiAgICAvLyBmdXR1cmUgZml4XG4gICAgJiNtZW51LW5vZGUtdHlwZS0xNiAuZmxvd2VkaXRvcl9tZW51LWljb24ge1xuICAgICAgICBjb2xvcjogI2YxNDE2N1xuICAgIH1cblxuICAgIC8vIG5vdCBva1xufVxuXG4uZmxvd2VkaXRvcl9tZW51LW9wdGlvbjpob3Zlcixcbi5mbG93ZWRpdG9yX21lbnUtb3B0aW9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogI2VlZWVlZTtcbn1cblxuLmZsb3dlZGl0b3JfbWVudS1pY29uIHtcbiAgICBmb250LWZhbWlseTogXCJNYXRlcmlhbCBEZXNpZ24gSWNvbnNcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uZmxvd2VkaXRvcl9tZW51LWxhYmVsIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZmxvd2VkaXRvcl9tZW51X2lucHV0LWhvbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5mbG93ZWRpdG9yX21lbnVfaW5wdXQtaG9sZGVyLi1lcnJvcjphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XG4gICAgY29udGVudDogJ1xcRjA3ODcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogI2UzMzI0NDtcbiAgICByaWdodDogN3B4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB0b3A6IDNweDtcbn1cblxuLmZsb3dlZGl0b3JfbWVudV9pbnB1dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mbG93ZWRpdG9yX21lbnVfaW5wdXQtaG9sZGVyLi1lcnJvciAuZmxvd2VkaXRvcl9tZW51X2lucHV0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGY5MjkyO1xufVxuXG4uZmxvd2VkaXRvcl9tZW51X2lucHV0LWVycm9yLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiAjZGY5MjkyO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmxvd2VkaXRvcl9tZW51X2lucHV0LWhvbGRlci4tZXJyb3IgLmZsb3dlZGl0b3JfbWVudV9pbnB1dC1lcnJvci1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG5cbi5mbG93ZWRpdG9yX21lbnUtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWM4MmVkO1xuICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbiAgICBwYWRkaW5nOiA4cHggMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLm5vZGViYXIgJiB7XG4gICAgICAgIHdpZHRoOiAyMjJweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgfVxuXG4gICAgJi5oZWFkZXItY29sbGFwc2Uge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwZDdcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG5cbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb2xsYXBzZWQge1xuXG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjBkOFwiO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmZsb3dlZGl0b3JfbWVudS1zdWJoZWFkZXIge1xuICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3JzLiRib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9ycy4kYm9yZGVyLWNvbG9yO1xufVxuXG4uZmxvd2VkaXRvcl9tZW51LWhvbGRlciB7XG4gICAgLy8gZGlzcGxheTogZmxleDtcbiAgICAvLyBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogOHB4IDA7XG5cbn1cblxuLmZsb3dlZGl0b3JfbWVudS10ZW1wbGF0ZXMtb3B0aW9ucyB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgd2lkdGg6IDU1MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG59XG5cbi5mbG93ZWRpdG9yX21lbnUtdGVtcGxhdGVzLW9wdGlvbnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmxvd2VkaXRvcl9tZW51LWxhYmVsLXRlbXBsYXRlcyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmctdG9wOiA3cHg7XG59XG5cbi5mbG93ZWRpdG9yX21lbnUtbGFiZWwtaW5wdXQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLmZsb3dlZGl0b3JfbWVudS1yYWRpbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiA3cHggNXB4IDAgMTBweDtcbn1cblxuLmZsb3dlZGl0b3JfbWVudS1yYWRpby1pbnB1dCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAycHggNXB4IDAgMTBweDtcbn1cblxuLmZsb3dlZGl0b3JfbWVudS1sb2FkaW5nLFxuLmZsb3dlZGl0b3JfbWVudS1lbXB0eSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbn1cblxuLmZsb3dlZGl0b3JfbWVudS1sb2FkZXIge1xuICAgIGNvbG9yOiAjMGVhNTdmO1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyLWxhYmVsLWhvbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhci1sYWJlbC1ob2xkZXIuLWVycm9yOmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogXCJNYXRlcmlhbCBEZXNpZ24gSWNvbnNcIjtcbiAgICBjb250ZW50OiAnXFxGMDc4Nyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiAjZTMzMjQ0O1xuICAgIHJpZ2h0OiA3cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRvcDogM3B4O1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyLWxhYmVsLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhci1sYWJlbC1ob2xkZXIuLWVycm9yIC5mbG93ZWRpdG9yLXRvb2xiYXItbGFiZWwtaW5wdXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZjkyOTI7XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXItbGFiZWwtYnV0dG9uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlO1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyLWxhYmVsLWVycm9yLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiAjZGY5MjkyO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXItdHJhbnNsYXRlLWxpbmsge1xuICAgIGNvbG9yOiAjM2Y0NjljO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhci10cmFuc2xhdGUtbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMyZDMzNmY7XG59XG5cblxuXG4uZmxvd2VkaXRvci10b29sYmFyLXRyYW5zbGF0ZS1saW5rLi1lcnJvciB7XG4gICAgY29sb3I6ICNkZjkyOTI7XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXItdHJhbnNsYXRlLWxpbmsuLWVycm9yOmhvdmVyIHtcbiAgICBjb2xvcjogI2UzMzI0NDtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhci10cmFuc2xhdGUtbGluay4tZXJyb3I6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxGMDJGQyc7XG4gICAgY29sb3I6ICNlMzMyNDQ7XG59XG5cbi5mbG93ZWRpdG9yX2FjdGl2aXRpZXMtbWFuYWdlcl9zZWFyY2gtaG9sZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uZmxvd2VkaXRvcl9hY3Rpdml0aWVzLW1hbmFnZXJfc2VhcmNoLWxvYWRpbmcge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZsb3dlZGl0b3JfYWN0aXZpdGllcy1tYW5hZ2VyX3NlYXJjaC1zcGlubmVyIHtcbiAgICBjb2xvcjogIzBlYTU3Zjtcbn1cblxuLmZlLXNlY3Rpb24ge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMzEzODdhO1xuICAgIHBhZGRpbmc6IDIuNWVtIDAgMmVtO1xuXG4gICAgJi5uby1ib3JkZXIge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5mZS1zZWN0aW9uLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVhNWE1YTtcbiAgICBjb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IC41cmVtO1xufVxuXG4uZmUtaXRlbSB7fVxuXG4uZmUtaXRlbS10ZXh0OmFmdGVyLFxuLmZlLWl0ZW0tdGV4dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1hdGVyaWFsIERlc2lnbiBJY29uc1wiO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBtYXJnaW46IC0ycHggNXB4IDAgMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5mZS1pdGVtLXRleHQuLXNtaWxlLXRldnJlZGVuOmJlZm9yZSB7XG4gICAgY29sb3I6ICM5YWI0OTg7XG4gICAgY29udGVudDogJ1xcRjAxRjUnO1xufVxuXG4uZmUtaXRlbS10ZXh0Li1zbWlsZS1vbnRldnJlZGVuOmJlZm9yZSB7XG4gICAgY29sb3I6ICNkZjkyOTI7XG4gICAgY29udGVudDogJ1xcRjAxRjgnO1xufVxuXG4uZmUtaXRlbS10ZXh0Li1zbWlsZS16ZWVyLXRldnJlZGVuOmJlZm9yZSB7XG4gICAgY29sb3I6ICM5YWI0OTg7XG4gICAgY29udGVudDogJ1xcRjAxRjInO1xufVxuXG4uZmUtaXRlbS10ZXh0Li1zbWlsZS16ZWVyLW9udGV2cmVkZW46YmVmb3JlIHtcbiAgICBjb2xvcjogI2RmOTI5MjtcbiAgICBjb250ZW50OiAnXFxGMEM2QSc7XG59XG5cbi5mZS1pdGVtLXRleHQuLXNtaWxlLW5ldXRyYWFsOmJlZm9yZSB7XG4gICAgY29sb3I6ICNkZjkyOTI7XG4gICAgY29udGVudDogJ1xcRjAxRjYnO1xufVxuXG4uZmUtaXRlbS10ZXh0Li15ZXMtbm9kZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjOWFiNDk4O1xuICAgIGNvbnRlbnQ6ICdcXEYwNTEzJztcbn1cblxuLmZlLWl0ZW0tdGV4dC4tbm8tbm9kZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjZGY5MjkyO1xuICAgIGNvbnRlbnQ6ICdcXEYwNTExJztcbn1cblxuLmZlLWl0ZW0tdGV4dC4tZW1wdHkge1xuICAgIGNvbG9yOiAjZGY5MjkyO1xufVxuXG4uZmUtaXRlbS10ZXh0Li1lbXB0eTphZnRlciB7XG4gICAgY29udGVudDogJ1xcRjAyRkMnO1xuICAgIGNvbG9yOiAjZTMzMjQ0O1xufVxuXG4uZmUtaXRlbS1hY3Rpb25zLWljb24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICMzYzQxNDQ7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLmZlLWl0ZW0tYWN0aW9ucy1pY29uOmhvdmVyIHtcbiAgICBjb2xvcjogIzE4MWExYztcbn1cblxuLmZlLWl0ZW0tYWN0aW9ucy1pY29uLXNlZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogIzNjNDE0NDtcbiAgICBtYXJnaW46IDVweCAwcHggNXB4IDVweDtcbn1cblxuLmZlLWl0ZW0tYWN0aW9ucy1pY29uLXNlZDpob3ZlciB7XG4gICAgY29sb3I6ICMxODFhMWM7XG59XG5cbi5mZS1pdGVtLWFjdGlvbnMtaWNvbjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1hdGVyaWFsIERlc2lnbiBJY29uc1wiO1xufVxuXG4uZmUtaXRlbS1hY3Rpb25zLWljb24uLWFkZC1kYXRhcG9pbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxGMDQxOSc7XG59XG5cbi5mZS1pdGVtLWFjdGlvbnMtaWNvbi4tcmVtb3ZlLWRhdGFwb2ludDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXEYwMzc3Jztcbn1cblxuXG5cbi5mZS1pdGVtLWFjdGlvbnMtaWNvbi4tdW5saW5rLWxpbmsge1xuICAgIGNvbG9yOiAjZjg3MDcwO1xufVxuXG4uZmUtaXRlbS1hY3Rpb25zLWljb24uLXVubGluay1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogI2UzMzI0NDtcbn1cblxuLmZlLWl0ZW0tYWN0aW9ucy1pY29uLi11bmxpbmstbm9kZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXEYwMzNBJztcbn1cblxuLmZlLWl0ZW0tYWN0aW9ucy1pY29uLi1saW5rLWxpbmsge1xuICAgIGNvbG9yOiAjM2Y0NjljO1xufVxuXG4uZmUtaXRlbS1hY3Rpb25zLWljb24uLWxpbmstbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMyZDMzNzE7XG59XG5cbi5mZS1pdGVtLWFjdGlvbnMtaWNvbi4tbGluay1ub2RlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcRjAzMzknO1xufVxuXG5cbi5mZS1pdGVtLWFjdGlvbnMtaWNvbi4tcmVtb3ZlLWxpbmsge1xuICAgIGNvbG9yOiAjM2Y0NjljO1xufVxuXG4uZmUtaXRlbS1hY3Rpb25zLWljb24uLXJlbW92ZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzJkMzM3MTtcbn1cblxuLmZlLWl0ZW0tYWN0aW9ucy1pY29uLi1yZW1vdmUtbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXEYwQTdBJztcbn1cblxuLmZlLWNyZWF0ZS1kYXRhcG9pbnQtaG9sZGVyIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG59XG5cblxuXG5cbi5mZS1kYXRhcG9pbnRzLWxpc3Qge1xuICAgIC8vIHBvc2l0aW9uOiBmaXhlZCDigJQgSlMgc2V0cyBsZWZ0L3RvcC9ib3R0b20vd2lkdGggdmlhIHBvc2l0aW9uRHJvcGRvd24oKVxuICAgIC8vIHNvIHRoZSBkcm9wZG93biBlc2NhcGVzIHRoZSBvdmVyZmxvdzpoaWRkZW4gbW9kYWwvbGlzdCBhbmNlc3RvcnNcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogNHB4IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMjAsIDI1LCA4MCwgMC4xOCksIDAgMCAwIDFweCByZ2JhKDY0LCA3MywgMTU0LCAwLjEyKTtcbiAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHotaW5kZXg6IDkyMDA7IC8vIGFib3ZlIG1vZGFsICg5MTAwKVxufVxuXG4uZmUtYWRkLWRhdGFwb2ludCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDdweCAxMnB4O1xuICAgIG1hcmdpbjogMCA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjBmMWY4O1xuXG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6ICNmMGYxZjg7IH1cbn1cblxuLy8gQXV0b2NvbXBsZXRlIHN1Z2dlc3Rpb24gdGV4dCBlbGVtZW50c1xuLmZlLWRwLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICMyYTJlNWU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5mZS1kcC10eXBlIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICM4ODkwYjg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmZlLXRhYiB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICBjb2xvcjogcmdiYSgjMDAwLCAuNSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmUtdGFiOmhvdmVyIHtcbiAgICBjb2xvcjogIzBlYTU3Zjtcbn1cblxuLmZlLXNhdmUtbWV0aG9kcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmZlLWRlbGV0ZS10ZW1wbGF0ZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjZTMzMjQ0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mZS1kZWxldGUtdGVtcGxhdGU6aG92ZXIge1xuICAgIGNvbG9yOiAjODQzNTM0O1xufVxuXG4uZmUtZGVsZXRlLXRlbXBsYXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjFjMCc7XG59XG5cbi5mZS1ub2RlLWljb24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1hdGVyaWFsIERlc2lnbiBJY29uc1wiO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuLmZlLXZlcnNpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgbGVmdDogMTVweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwYWRkaW5nOiA3cHggNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5cbi8qLmZlLXZlcnNpb25zLXRleHQsXG4uZmUtdmVyc2lvbnMtaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDdweCA1cHg7XG59Ki9cblxuLyouZmUtdmVyc2lvbnMtdGV4dCB7XG4gICAgcGFkZGluZzogN3B4IDAgN3B4IDEwcHg7XG59Ki9cblxuLnRzLWVkaXRvci1iaWctYnRuIHtcbiAgICAvKmxpbmUtaGVpZ2h0OiA1MHB4OyovXG59XG5cbi5mZS12ZXJzaW9ucy10ZXh0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5mZS12ZXJzaW9ucy1pdGVtOm5vdCguLWFjdGl2ZSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogIzFhYWU4ODtcbn1cblxuLmZlLXZlcnNpb25zLWl0ZW06bm90KC4tYWN0aXZlKTpob3ZlciB7XG4gICAgY29sb3I6ICMxNThiNmM7XG59XG5cbi5mZS12ZXJzaW9ucy1pdGVtLi1hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZmUtdmVyc2lvbnMtYWN0aXZhdGUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLmZlLXZlcnNpb25zLXNlbGVjdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZmUtcHJvcGVydGllcy1lcnJvcnMge1xuICAgIGNvbG9yOiAjZGY5MjkyO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5mZS1wcm9wZXJ0aWVzLWVycm9yOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XG4gICAgY29udGVudDogJ1xcZjJmYyc7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIG1hcmdpbjogLTJweCA1cHggMCAwO1xuICAgIGNvbG9yOiAjZTMzMjQ0O1xufVxuXG4uZmUtcHJvcGVydGllcy1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYmQ1ZGQ7XG59XG5cbi5mZS1tb2RhbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTB2aDtcblxuICAgIC5tb2RhbC1kaWFsb2cge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5jcm9wcGVyLWNyb3AtYm94LCAuY3JvcHBlci12aWV3LWJveCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgICAuY3JvcHBlci1saW5lLCAuY3JvcHBlci1wb2ludCwgLmNyb3BwZXItZmFjZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZlLXByb3BlcnRpZXMtbm8tbWV0YSB7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4O1xuICAgIGNvbG9yOiAjZGY5MjkyO1xufVxuXG4uZmUtcHJvcGVydGllcy1uby1tZXRhOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XG4gICAgY29udGVudDogJ1xcZjJmYyc7XG4gICAgY29sb3I6ICNlMzMyNDQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIG1hcmdpbjogLTJweCA1cHggMCAwO1xufVxuXG50ZXh0YXJlYS5mZS1wcm9wZXJ0aWVzLXRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBoZWlnaHQ6IDE1MHB4O1xufVxuXG5cblxuLypcbk1hcngncyBzdHVmZlxuICovXG5cbi5mbG93ZWRpdG9yX21vZGFsLWJ1dHRvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDVweCk7XG59XG5cbi5mbG93ZWRpdG9yX21vZGFsLWJ1dHRvbi0xMDAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZsb3dlZGl0b3JfbW9kYWwtYnV0dG9uLi15ZXMge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtYWRkLW1hcmdpbi0xMCB7XG4gICAgbWFyZ2luOiAxZW07XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLWFkZC1tYXJnaW4tMTIge1xuICAgIG1hcmdpbjogMS4yZW07XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLWFkZC1tYXJnaW4tMTUge1xuICAgIG1hcmdpbjogMS41ZW07XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLWFkZC1tYXJnaW4tMjAge1xuICAgIG1hcmdpbjogMi4wZW07XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLWFkZC1wYWRkaW5nLTEyIHtcbiAgICBwYWRkaW5nOiAxLjJlbTtcbn1cblxuLy8gS2VlcCAuZmxvd2VkaXRvci1tb2RhbCBvdmVybGF5IHNoYWRvdyAodXNlZCBlbHNld2hlcmUpXG4uZmxvd2VkaXRvci1tb2RhbCAuZmUtbS1jb250ZW50IHtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDYwcHggMTBweCByZ2JhKCMwMDAsIC4zKTtcbn1cblxuLy8gU21hbGwgXCJXb3JraW5n4oCmXCIgaW5kaWNhdG9yIOKAlCByZXBsYWNlcyB0aGUgb2xkIGZ1bGwtc2NyZWVuIG92ZXJsYXlcbi8vIFRhcmdldCBzcGFuIGxpdmVzIGluIHRoZSBicmVhZGNydW1iIGJhcjsgYXV0by1tYXJnaW4gcHVzaGVzIGl0IHRvIHRoZSByaWdodFxuI2ZlLXdvcmtpbmctdGFyZ2V0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mZS13b3JraW5nLWluZGljYXRvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDdweDtcbiAgICBwYWRkaW5nOiA0cHggMTJweCA0cHggOHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNjUsIDczLCAxNTQsIDAuODIpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAubWRpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG59XG5cbi8vIEZhZGUgdHJhbnNpdGlvblxuLmZlLXdvcmtpbmctZmFkZS1lbnRlci1hY3RpdmUsXG4uZmUtd29ya2luZy1mYWRlLWxlYXZlLWFjdGl2ZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyBlYXNlLCB0cmFuc2Zvcm0gMTgwbXMgZWFzZTtcbn1cbi5mZS13b3JraW5nLWZhZGUtZW50ZXIsXG4uZmUtd29ya2luZy1mYWRlLWVudGVyLWZyb20sXG4uZmUtd29ya2luZy1mYWRlLWxlYXZlLXRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcbn1cblxuLmZsb3dlZGl0b3ItY29udHJvbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDE1cHg7XG4gICAgbGVmdDogMTVweDtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5mbG93ZWRpdG9yLWNvbnRyb2xzIC5mbG93ZWRpdG9yLXpvb20ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4uZmxvd2VkaXRvci1zdGF0dXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgbGVmdDogMTVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxvd2VkaXRvci1zdGF0dXMgcCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjNjc2NzY3O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLy8gUHVzaCB0aGUgZW50aXJlIHBhZ2Ugd2hlbiB0aGUgdHJhbnNsYXRpb24gcGFuZWwgaXMgb3BlblxuYm9keSB7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXJpZ2h0IDI0MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5ib2R5LmZlLXRwLW9wZW4ge1xuICAgIG1hcmdpbi1yaWdodDogNDIwcHg7XG59XG5cbi5mbG93ZWRpdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZmxvd2VkaXRvciAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItcmFkaXVzOiAuNjI1cmVtO1xuICAgIHBhZGRpbmc6IC43NXJlbSAuOHJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5mbG93ZWRpdG9yLWNhbnZhcyB7XG4gICAgYmFja2dyb3VuZDogI2U2ZTlmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZmxvd2VkaXRvci1wdWJsaXNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuZmxvd2VkaXRvci1jYW52YXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTZlOWZmO1xuICAgIH1cblxuICAgIC5mbG93ZWRpdG9yLWJ1dHRvbnMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgfVxufVxuXG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIge1xuICAgICYubm9kZWJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxZW07XG4gICAgICAgIGxlZnQ6IDFlbTtcbiAgICAgICAgei1pbmRleDogMTA7ICAgICAgICBcbiAgICAgICAgem9vbTogJHBhZ2UtcmVzb2x1dGlvbjtcbiAgICB9XG5cbiAgICAmLnRvb2xiYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMWVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHpvb206ICRwYWdlLXJlc29sdXRpb247XG4gICAgfVxufVxuXG4uZmxvd2VkaXRvci10b29sYmFyLnRvb2xiYXIge1xuICAgICRwcmltYXJ5OiAjNDE0OTlhO1xuICAgICRwcmltYXJ5LWhvdmVyOiAjM2IyNTdhO1xuICAgICRwcmltYXJ5LWFjdGl2ZTogIzFmMjA1YztcbiAgICAkYm9yZGVyLXJhZGl1czogMWVtO1xuICAgICRzZWNvbmRhcnlfb2Zmc2V0OiAyMHB4O1xuXG4gICAgLnRvb2xiYXJfbWVudS13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICAgIC50b29sYmFyX21lbnUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSg2NSwgNzMsIDE1NCwgMC41NSk7XG4gICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNWVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG5cbiAgICAgICAgICAgIC50b29sYmFyX3N1Yl9tZW51IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogLjJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCAjZGZlMmZiIHNvbGlkO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgLjc1ZW07XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogMWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWVudS1idXR0b24ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41ZW0gMWVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWhvdmVyO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuXG4gICAgICAgICAgICAgICAgJi5idXR0b24taWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBlbSAuMjVlbTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktYWN0aXZlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIaXN0b3J5ICh2e259KSBhbmQgUHVibGlzaCBhcmUgcmVhbCBxZG5hcHJvLWJ1dHRvbiBpbnN0YW5jZXMgbm93XG4gICAgICAgICAgICAvLyAoMTcuMDcuMjAyNjogXCJtb2V0ZW4gYnV0dG9uIGNvbXBvbmVudHMgd29yZGVuXCIg4oCUIEtpbSksIHR5cGVcbiAgICAgICAgICAgIC8vIG9uLXB1cnBsZSAvIG9uLXB1cnBsZS1zb2xpZCwgc2l6ZSBjb21wYWN0LCBwaWxsIOKAlCB0aG9zZSB0d28gdHlwZXNcbiAgICAgICAgICAgIC8vIGFyZSBCVUlMVCBmb3IgYSBwdXJwbGUvZGFyayBzdXJmYWNlIGV4YWN0bHkgbGlrZSB0aGlzIHRvb2xiYXIsIHNvXG4gICAgICAgICAgICAvLyBubyBsb2NhbCBidXR0b24gc3R5bGluZyByZW1haW5zIGhlcmUuIFRoZSBcInVucHVibGlzaGVkIGNoYW5nZXNcIlxuICAgICAgICAgICAgLy8gZG90IGxpdmVzIG9uIHRoZSBzdXJyb3VuZGluZyAubWVudS1pdGVtIHdyYXBwZXIsIG5vdCB0aGUgYnV0dG9uXG4gICAgICAgICAgICAvLyBjb21wb25lbnQgaXRzZWxmOiBxZG5hcHJvLWJ1dHRvbidzIGluaXRpYWxpemVDbGFzc2VzKCkgcmVidWlsZHNcbiAgICAgICAgICAgIC8vIGl0cyBvd24gY2xhc3NOYW1lIGZyb20gYSBvbmUtdGltZSBcIm9yaWdpbmFsQ2xhc3Nlc1wiIHNuYXBzaG90XG4gICAgICAgICAgICAvLyB3aGVuZXZlciBhbiBPQlNFUlZFRCBhdHRyaWJ1dGUgY2hhbmdlcyAodHlwZS9zaXplL2Rpc2FibGVkL3BpbGwvXG4gICAgICAgICAgICAvLyBiYWRnZS9hY3RpdmUpIOKAlCBhIGNsYXNzIGFkZGVkIGV4dGVybmFsbHkgdmlhIFZ1ZSdzIDpjbGFzcyB3b3VsZFxuICAgICAgICAgICAgLy8gYmUgc2FmZSBoZXJlIHRvZGF5IChub25lIG9mIHRoaXMgYnV0dG9uJ3Mgb2JzZXJ2ZWQgYXR0cmlidXRlc1xuICAgICAgICAgICAgLy8gY2hhbmdlIGFmdGVyIG1vdW50KSBidXQgaXMgZnJhZ2lsZSB0byByZWx5IG9uLCBzbyB0aGUgZG90IGlzIGtlcHRcbiAgICAgICAgICAgIC8vIG9uZSBsZXZlbCB1cCB3aGVyZSBpdCBjYW4gbmV2ZXIgYmUgd2lwZWQgYnkgdGhlIGNvbXBvbmVudC5cbiAgICAgICAgICAgIC5mZS12ZXJzaW9uLWl0ZW0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICYuZmUtdmVyc2lvbi1pdGVtLS1kaXJ0eTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDlweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjU5ZTBiO1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IGZlLXB1Ymxpc2gtcHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VhcmNoIHBpbGwg4oCUIGFsd2F5cyBpbiBET00sIGFuaW1hdGVzIGJldHdlZW4gaWNvbi1vbmx5IGFuZCBmdWxsLXdpZHRoXG4gICAgICAgICAgICAuZmUtc2VhcmNoLXdyYXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7ICAgLy8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluIHRoZSB0b29sYmFyIHJvd1xuICAgICAgICAgICAgICAgIGdhcDogNHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVlbTsgICAgICAgIC8vIG1hdGNoIGJ1dHRvbi1pY29uIGxpbmUtaGVpZ2h0IHNvIGhlaWdodHMgYXJlIGVxdWFsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuNmVtOyAgICAgICAgIC8vIGNvbGxhcHNlZDogc2FtZSB3aWR0aCBhcyBvdGhlciBidXR0b24taWNvbiBidXR0b25zXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMjQwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDIwMG1zIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAvLyBFeHBhbmRlZCBzdGF0ZVxuICAgICAgICAgICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMCk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA4cHggMCA2cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gSW5wdXQgYW5kIGNsb3NlOiBpbnZpc2libGUgd2hlbiBjb2xsYXBzZWQsIGZhZGUgaW4gYWZ0ZXIgd2lkdGggc3RhcnRzIGdyb3dpbmdcbiAgICAgICAgICAgICAgICAuZmUtc2VhcmNoLWlucHV0LFxuICAgICAgICAgICAgICAgIC5mZS1zZWFyY2gtY2xvc2Uge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNDBtcyBlYXNlIDgwbXM7IC8vIDgwbXMgZGVsYXkgc28gd2lkdGggbGVhZHNcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLS1hY3RpdmUgLmZlLXNlYXJjaC1pbnB1dCxcbiAgICAgICAgICAgICAgICAmLS1hY3RpdmUgLmZlLXNlYXJjaC1jbG9zZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5mZS1zZWFyY2gtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIENvbGxhcHNlZDogbWF0Y2ggb3RoZXIgYnV0dG9uLWljb24gYnV0dG9ucyBleGFjdGx5XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBFeHBhbmRlZDogc21hbGxlciBwcmVmaXggaWNvbiwgbXV0ZWRcbiAgICAgICAgICAgICAgICAmLS1hY3RpdmUgLmZlLXNlYXJjaC1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZmUtc2VhcmNoLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZlLXNlYXJjaC1jbG9zZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAubWRpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciAubWRpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gdjIgVE9PTEJBUiBDT05DRVBUICgxNy4wNy4yMDI2LCBLaW0rSmFuIHJldmlldywgb3B0LWluIHZpYSA/dG9vbGJhcj12Milcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVEVNUE9SQVJZLiBPbmNlIGFwcHJvdmVkIGZvciBmdWxsIHJvbGxvdXQ6IGRlbGV0ZSB0aGlzIGVudGlyZSBibG9jayBQTFVTXG4vLyB0aGUgY2xhc3NpYyAuZmxvd2VkaXRvci10b29sYmFyLnRvb2xiYXIgcnVsZXMgYWJvdmUgaXQsIGNvbnZlcmdlIHRvIG9uZVxuLy8gaW1wbGVtZW50YXRpb24gKEtpbSwgMTcuMDcuMjAyNjogXCJhbHMgd2Ugdm9sbGVkaWcgaW50ZWdyZXJlbiBtb2V0ZW4gd2Vcbi8vIGRlIHYyIHZlcnNpZSBvb2sgd2VlciBvcHJ1aW1lblwiIOKAlCByZWFkIGxpdGVyYWxseTogb24gZnVsbCBpbnRlZ3JhdGlvbixcbi8vIFRISVMgdjIgYmxvY2sgKyBpdHMgZmxhZyBnZXQgZm9sZGVkIGludG8gdGhlIHNpbmdsZSByZW1haW5pbmcgdmVyc2lvbixcbi8vIG5vdCBrZXB0IGFzIGEgcGVybWFuZW50IHNlY29uZCBuYW1lc3BhY2UpLlxuLy9cbi8vIE9uZSBnbGFzcyBiYXIgKG5vdCBzcGxpdCBpbnRvIHBhbmVscyDigJQgS2ltLCAxNy4wNzogXCJob3UgJ20gaW4gMSBiYWxrXCIpXG4vLyB3aXRoIGFuIGludGVybmFsIGRpdmlkZXIgYmV0d2VlbiBjYW52YXMtYWN0aW9ucyBhbmQgZmxvdy1hY3Rpb25zLCByb3VuZFxuLy8gaWNvbiBidXR0b25zIChLaW0sIDE3LjA3OiBcImRpZSBtb2dlbiB3ZWwgcm9uZCBibGlqdmVuXCIpLCBWMS9QdWJsaXNoIHJldXNlXG4vLyB0aGUgU0FNRSBxZG5hcHJvLWJ1dHRvbiBtYXJrdXAgYWxyZWFkeSBsaXZlIGluIHRoZSBjbGFzc2ljIGJhci4gWm9vbSBtb3Zlc1xuLy8gdG8gYSBjb3JuZXIgZG9jayB0aGF0IGlzIG5lYXItaW52aXNpYmxlIGF0IHJlc3QgYW5kIGV4cGFuZHMgb24gaG92ZXIg4oCUXG4vLyBKYW4ncyBiaWdnZXN0IHdvcnJ5IHdhcyB0aGF0IGEgY29ybmVyIHpvb20gY2x1c3RlciB3b3VsZCBmZWVsIGludHJ1c2l2ZVxuLy8gYW5kIGludGVycnVwdCB0aGUgd29ya2Zsb3csIHNvIHRoaXMgcmV1c2VzIHRoZSBFWEFDVCBleHBhbmQgaWRpb20gdGhlXG4vLyBzZWFyY2ggYmFyIGFscmVhZHkgaGFzICh3aWR0aC9vcGFjaXR5IHRyYW5zaXRpb24pLCBub3QgYSBuZXcgcGF0dGVybi5cbi5mbG93ZWRpdG9yLXRvb2xiYXItdjIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gY2hpbGRyZW4gb3B0IGJhY2sgaW4gaW5kaXZpZHVhbGx5XG4gICAgei1pbmRleDogMTA7XG4gICAgem9vbTogJHBhZ2UtcmVzb2x1dGlvbjsgLy8gc2FtZSB6b29tIGNvbnRleHQgYXMgdGhlIGNsYXNzaWMgYmFyXG4gICAgZm9udC1mYW1pbHk6IEludGVyLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgc2Fucy1zZXJpZjtcbn1cblxuLmdsYXNzMiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcyKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCkgc2F0dXJhdGUoMS40KTtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KSBzYXR1cmF0ZSgxLjQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDM4LCA0MiwgOTIsIDAuMTQpLCBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLy8gVG9wIGNsdXN0ZXI6IHRoZSBiYXIgKHdpdGggdGhlIGNvbnRleHR1YWwgcGlsbCBoYW5naW5nIHVuZGVyIGl0KSArIHRoZSBsb29zZVxuLy8gcGxheSBjaXJjbGUgYmVzaWRlIGl0LiBPbmUgY2VudHJlZCBmbGV4IHJvdywgc28gdGhlIHBsYXkgYnV0dG9uIHNpdHMgbmV4dCB0b1xuLy8gdGhlIGJhciB3aXRob3V0IGFic29sdXRlLXBvc2l0aW9uaW5nIGd1ZXNzd29yay4gW0tpbSAxNy4wNy4yMDI2XVxuLmZlMi10b3Byb3cge1xuICAgIC8vIFdpZHRoIHRoZSB6b29tIGNsdXN0ZXIgZ2FpbnMgd2hlbiBpdHMgZXh0cmFzIHNsaWRlIG91dC4gU0lOR0xFIHNvdXJjZSBvZlxuICAgIC8vIHRydXRoOiB0aGUgZXh0cmFzIGNvbnRhaW5lciBpcyBwaW5uZWQgdG8gZXhhY3RseSB0aGlzIHdpZHRoLCBhbmQgdGhlIHJvd1xuICAgIC8vIHNoaWZ0cyBieSBleGFjdGx5IGhhbGYgb2YgaXQgKGJlbG93KSwgd2hpY2ggaXMgd2hhdCBrZWVwcyDiiJIvJS8rIHZpc3VhbGx5XG4gICAgLy8gc3RpbGwuIDMgw5cgNDBweCBidXR0b25zICsgMiDDlyAzcHggZ2FwcyA9IDEyNnB4LCByb3VuZGVkIHVwIGZvciBzbGFjay5cbiAgICAtLWZlMi16b29tLWV4dHJhLXc6IDEyOXB4O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMWVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTRweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjIwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLy8gS2VlcCBldmVyeSBidXR0b24gdW5kZXIgdGhlIGN1cnNvciB3aGlsZSB0aGUgem9vbSBleHRyYXMgZXhwYW5kIChLaW1cbi8vIDE3LjA3LjIwMjY6IFwicGx1cyBlbiBtaW4gZW4gNzAlIG1vZXRlbiBvcCBkZXplbGZkZSBwbGVrIGJsaWp2ZW4gc3RhYW5cIikuXG4vLyBUaGUgYmFyIGlzIGNlbnRyZS1hbmNob3JlZCwgc28gZ3Jvd2luZyBpdCBieSBYIG1vdmVzIGV2ZXJ5dGhpbmcgYnkgWC8yIOKAlFxuLy8gd2hpY2hldmVyIHNpZGUgdGhlIGV4dHJhcyBhcHBlYXIgb24uIFRoZSBleHRyYXMgc2l0IEZJUlNUIGluIHRoZSBET00gKGdyb3dcbi8vIGxlZnR3YXJkKSBhbmQgdGhpcyBzaGlmdHMgdGhlIHdob2xlIHJvdyBsZWZ0IGJ5IFgvMiwgY2FuY2VsbGluZyB0aGF0IG91dFxuLy8gZXhhY3RseTogbmV0IG1vdmVtZW50IGZvciDiiJIvJS8rLCBzZWFyY2gsIFB1YmxpY2VyZW4gYW5kIHRoZSBwbGF5IGJ1dHRvbiBpc1xuLy8gemVybywgYW5kIG9ubHkgdGhlIGV4dHJhcyB0aGVtc2VsdmVzIGFuaW1hdGUgaW50byB2aWV3LlxuLmZlMi10b3Byb3c6aGFzKC5mZTItem9vbTpob3ZlciksXG4uZmUyLXRvcHJvdzpoYXMoLmZlMi16b29tOmZvY3VzLXdpdGhpbikge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC01MCUgLSAodmFyKC0tZmUyLXpvb20tZXh0cmEtdykgLyAyKSkpO1xufVxuXG4vLyBBbmNob3IgZm9yIHRoZSBjb250ZXh0dWFsIHBpbGwgc28gaXQgY2VudHJlcyB1bmRlciB0aGUgQkFSLCBub3QgdW5kZXIgdGhlXG4vLyBiYXIrcGxheSBjb21iaW5hdGlvbi5cbi5mZTItYmFyd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBjaGlsZHJlbiBvcHQgYmFjayBpblxufVxuXG4uZmUyLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogM3B4O1xuICAgIHBhZGRpbmc6IDhweDtcbn1cblxuLmZlMi1kaXZpZGVyIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDM4LCA0MiwgOTIsIDAuMTQpO1xuICAgIG1hcmdpbjogMCA3cHg7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG5cbi8vIEJ1bXBlZCBhIG5vdGNoIGFjcm9zcyB0aGUgYm9hcmQgKEtpbSwgMTcuMDcuMjAyNjogXCJtYWcgYWxsZXMgZWNodCBmZiBlZW5cbi8vIHRpa2tpZSBncm90ZXJcIikg4oCUIHdhcyAzNHB4LzE5cHguXG4uZmUyLWljb24tYnRuIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWluLXdpZHRoOiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6ICM1MjU3OWM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsIGNvbG9yIDEyMG1zIGVhc2U7XG4gICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAubWRpIHsgZm9udC1zaXplOiAyMnB4OyBsaW5lLWhlaWdodDogMTsgfVxuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoNjUsIDczLCAxNTQsIDAuMTApOyBjb2xvcjogIzJmMzU3MDsgfVxufVxuXG4vLyBJY29uICsgdGV4dCB2YXJpYW50IChWZXJ0YWxpbmdlbikg4oCUIGEgcGlsbCBpbnN0ZWFkIG9mIGEgZml4ZWQgY2lyY2xlLlxuLmZlMi1pY29uLWJ0bi0tbGFiZWxsZWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiAwIDE0cHggMCAxMHB4O1xuICAgIGdhcDogN3B4O1xufVxuXG4uZmUyLWJ0bi1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8g4pSA4pSAIFpvb20gY2x1c3RlciwgSU5TSURFIHRoZSBiYXIsIGNvbGxhcHNlZCBhdCByZXN0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gS2ltIDE3LjA3LjIwMjY6IHpvb20gcmV0dXJucyB0byB0aGUgYmFyICh0aGUgY29ybmVyIGRvY2sgaXMgZ29uZSksIGJ1dCBrZWVwc1xuLy8gdGhlIGhvdmVyLWV4cGFuZCBzaGUgZXhwbGljaXRseSBsaWtlZCDigJQgXCJkYXQgc2NoZWVsdCBlZW4gaG9vcCBydWlzXCIuIEF0IHJlc3Rcbi8vIG9ubHkg4oiSLyUvKyBzaG93OyAxOjEgLyBmaXQgLyByYXN0ZXIgc2xpZGUgb3V0IG9uIGhvdmVyLiBTYW1lIGlkaW9tIGFzIHRoZVxuLy8gc2VhcmNoIGZpZWxkLCBzbyBub3RoaW5nIG5ldyB0byBsZWFybi5cbi5mZTItem9vbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogM3B4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uZmUyLXpvb20tY29yZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogM3B4O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uZmUyLXpvb20tcGN0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzQxNDk5YTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG1pbi13aWR0aDogNDJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG5cbi8vIFVzZXMgYW4gZXhwbGljaXQgYHdpZHRoYCAobm90IG1heC13aWR0aCkgc28gdGhlIGdyb3duIHNpemUgaXMgRVhBQ1RMWVxuLy8gLS1mZTItem9vbS1leHRyYS13LiBUaGUgcm93J3MgY29tcGVuc2F0aW5nIHNoaWZ0IGlzIGhhbGYgdGhhdCB2YWx1ZTsgd2l0aFxuLy8gbWF4LXdpZHRoIHRoZSByZWFsIHdpZHRoIHdvdWxkIHN0YXkgdW5rbm93biBhbmQgdGhlIGNvbXBlbnNhdGlvbiB3b3VsZCBkcmlmdC5cbi5mZTItem9vbS1leHRyYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogM3B4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE0MG1zIGVhc2UgNjBtcywgd2lkdGggMjIwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLmZlMi16b29tOmhvdmVyIC5mZTItem9vbS1leHRyYSxcbi5mZTItem9vbTpmb2N1cy13aXRoaW4gLmZlMi16b29tLWV4dHJhIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHdpZHRoOiB2YXIoLS1mZTItem9vbS1leHRyYS13KTtcbn1cblxuLy8g4pSA4pSAIExvb3NlIHBsYXkgY2lyY2xlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gRGV0YWNoZWQgYmVzaWRlIHRoZSBiYXIgKEtpbSdzIG93biBjYWxsLCAxNy4wNy4yMDI2OiBcImxla2tlciBvcHZhbGxlbmRcIikuXG4vLyBTdXJmYWNlIGlzIHRoZSBTQU1FIGdsYXNzIGFzIHRoZSBiYXIvcGFuZWwg4oCUIGl0IGNhcnJpZXMgdGhlIGBnbGFzczJgIGNsYXNzLCBzb1xuLy8gdGhlIGZpbGwvYmx1ci9zaGFkb3cgY29tZSBmcm9tIHRoZXJlIGFuZCB0aGlzIHJ1bGUgb25seSBkb2VzIHNoYXBlICsgaWNvblxuLy8gKEtpbSAxNy4wNy4yMDI2OiBcImRlemVsZmRlIHN1cmZhY2Uga2xldXIgYWxzIGRlIHBhbmVsXCIpLiBBdHRlbnRpb24gY29tZXMgZnJvbVxuLy8gaXRzIGRldGFjaGVkIHBvc2l0aW9uIHBsdXMgYW4gb2NjYXNpb25hbCBzaGltbWVyLCBub3QgZnJvbSBhIGxvdWQgZmlsbC5cbi5mZTItcGxheSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47ICAgLy8gY2xpcHMgdGhlIHNoaW1tZXIgc3dlZXAgdG8gdGhlIGNpcmNsZVxuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBtaW4td2lkdGg6IDUycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzFlMWYyMDsgICAvLyBzYW1lIG5lYXItYmxhY2sgYXMgZXZlcnkgb3RoZXIgdG9vbGJhciBpY29uXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE0MG1zIGVhc2UsIHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuXG4gICAgLm1kaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7ICAgLy8gb3B0aWNhbCBjZW50cmluZyBvZiB0aGUgdHJpYW5nbGVcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBzdGF5IGFib3ZlIHRoZSBzaGltbWVyIGxheWVyXG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLy8gTm8gaG92ZXIgdGludCAoS2ltIDE3LjA3LjIwMjY6IFwibmlldCB6byB0ZXZyZWRlbiBtZXQgZGUgaG92ZXIga2xldXIsIGRlXG4gICAgLy8gZmxldHMuLi4gbWlzc2NoaWVuIGdld29vbiBhbGxlZW4gZGUgYm9yZGVyIGJlYW1cIikuIEEgdHJhbnNsdWNlbnQgcHVycGxlXG4gICAgLy8gd2FzaCBvdmVyIHRyYW5zbHVjZW50IGdsYXNzIGp1c3QgbXVkZGllZCBpdDsgdGhlIGJlYW0gYWxvbmUgaXMgdGhlIGhvdmVyXG4gICAgLy8gc2lnbmFsLCBzbyB0aGUgc3VyZmFjZSBzdGF5cyBjbGVhbi5cbiAgICAmOmFjdGl2ZSB7IHRyYW5zZm9ybTogc2NhbGUoMC45NCk7IH1cbiAgICAmLS1sb2FkaW5nIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuICAgIC8vIFNwYXJzZSBzaGltbWVyOiB0aGUgc3dlZXAgb25seSBvY2N1cGllcyB0aGUgbGFzdCB+MTIlIG9mIGEgOXMgY3ljbGUsIHNvIGl0XG4gICAgLy8gY2F0Y2hlcyB0aGUgZXllIHJvdWdobHkgZXZlcnkgOSBzZWNvbmRzIGluc3RlYWQgb2YgYW5pbWF0aW5nIGNvbnN0YW50bHlcbiAgICAvLyAoS2ltOiBcIm5pZXQgdGUgdmFhaywgYW5kZXJzIGludHJ1c2l2ZVwiKS4gUHVycGxlLXRpbnRlZCwgYmVjYXVzZSBhIHdoaXRlXG4gICAgLy8gc2hlZW4gd291bGQgYmUgaW52aXNpYmxlIG9uIHRoaXMgd2hpdGUgZ2xhc3Mgc3VyZmFjZS5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTVkZWcsXG4gICAgICAgICAgICByZ2JhKDEwOCwgOTIsIDIzMSwgMCkgMzglLFxuICAgICAgICAgICAgcmdiYSgxMDgsIDkyLCAyMzEsIDAuMzApIDUwJSxcbiAgICAgICAgICAgIHJnYmEoMTA4LCA5MiwgMjMxLCAwKSA2MiUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEzMCUpO1xuICAgICAgICBhbmltYXRpb246IGZlMi1wbGF5LXNoaW1tZXIgOXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmZTItcGxheS1zaGltbWVyIHtcbiAgICAwJSwgODglIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMzAlKTsgfVxuICAgIDEwMCUgICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTMwJSk7IH1cbn1cblxuLy8gQm9yZGVyIGJlYW0gb24gaG92ZXIgKEtpbSAxNy4wNy4yMDI2OiBcImRhdCBlciBlZW4gaGlnaGxpZ2h0IG9tIGRlIGtub3AgaGVlblxuLy8gbG9vcHQuLi4gZGF0IGRpZSBrbm9wIGVjaHQgdG90IGxldmVuIGtvbXRcIikuIFNhbWUgcmVjaXBlIGFzIHRoZSBub2RlLXBpY2tlclxuLy8gZm9ybS1jYXJkJ3MgYmVhbSDigJQgYSByb3RhdGluZyBjb25pYy1ncmFkaWVudCBtYXNrZWQgZG93biB0byBqdXN0IHRoZSBib3JkZXJcbi8vIHJpbmcgdmlhIG1hc2stY29tcG9zaXRlOiBleGNsdWRlLCBzbyBpdCB0cmFjZXMgdGhlIGVkZ2Ugd2l0aG91dCBjb3ZlcmluZyB0aGVcbi8vIGljb24uIFJldXNlcyA6OmJlZm9yZSBiZWNhdXNlIDo6YWZ0ZXIgaXMgYWxyZWFkeSB0aGUgc2hpbW1lciBsYXllci5cbi8vIFRoZSBhbmdsZSBuZWVkcyBpdHMgb3duIHJlZ2lzdGVyZWQgQHByb3BlcnR5IChiZWxvdykgb3IgaXQgc25hcHMgaW5zdGVhZCBvZlxuLy8gcm90YXRpbmcuIEhvdmVyLW9ubHkgaGVyZSwgc28gaXQgc3RheXMgY2FsbSB1bnRpbCB5b3UgcmVhY2ggZm9yIGl0LlxuLmZlMi1wbGF5OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGJhY2tncm91bmQ6IGNvbmljLWdyYWRpZW50KFxuICAgICAgICBmcm9tIHZhcigtLWZlMi1iZWFtLWFuZ2xlKSxcbiAgICAgICAgdHJhbnNwYXJlbnQgMGRlZyxcbiAgICAgICAgdHJhbnNwYXJlbnQgMjUwZGVnLFxuICAgICAgICByZ2JhKDcwLCA4MiwgMjQzLCAwLjk1KSAzMDVkZWcsXG4gICAgICAgICNiOWMwZjcgMzM1ZGVnLFxuICAgICAgICB0cmFuc3BhcmVudCAzNjBkZWdcbiAgICApO1xuICAgIC13ZWJraXQtbWFzazogbGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCwgbGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKTtcbiAgICAtd2Via2l0LW1hc2stY29tcG9zaXRlOiB4b3I7XG4gICAgbWFzazogbGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCwgbGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKTtcbiAgICBtYXNrLWNvbXBvc2l0ZTogZXhjbHVkZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTYwbXMgZWFzZTtcbiAgICB6LWluZGV4OiAwO1xufVxuXG4uZmUyLXBsYXk6aG92ZXI6OmJlZm9yZSxcbi5mZTItcGxheTpmb2N1cy12aXNpYmxlOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYW5pbWF0aW9uOiBmZTItcGxheS1iZWFtIDEuNnMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGZlMi1wbGF5LWJlYW0ge1xuICAgIHRvIHsgLS1mZTItYmVhbS1hbmdsZTogMzYwZGVnOyB9XG59XG5cbi8vIOKUgOKUgCBDb250ZXh0dWFsIGRlbGV0ZSBwaWxsIChvbmx5IHdoaWxlIGEgbm9kZSBpcyBzZWxlY3RlZCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uZmUyLWNvbnRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDEwcHgpO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBhbmltYXRpb246IGZlMi1jb250ZXh0LWluIDE2MG1zIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZlMi1jb250ZXh0LWluIHtcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTRweCk7IH1cbiAgICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLmZlMi1jb250ZXh0LWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogN3B4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBwYWRkaW5nOiAwIDE0cHggMCAxMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGNvbG9yOiAjYzAzOTJiO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLCBjb2xvciAxMjBtcyBlYXNlO1xuXG4gICAgLm1kaSB7IGZvbnQtc2l6ZTogMTlweDsgbGluZS1oZWlnaHQ6IDE7IH1cblxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDE5MiwgNTcsIDQzLCAwLjEwKTsgY29sb3I6ICM5NjI4MWI7IH1cbn1cblxuLy8g4pSA4pSAIEhlYWRlciBhY3Rpb25zIChWZXJzaWVnZXNjaGllZGVuaXMgKyBIZWxwKSwgcmVsb2NhdGVkIGludG8gdGhlIGJyZWFkY3J1bWJcbi8vICAgIHJvdyBieSBUb29sYmFyLnZ1ZSdzIF9yZWxvY2F0ZUhlYWRlckFjdGlvbnMoKS4g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uZmUyLWhlYWRlci1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IC8vIHB1c2ggdG8gdGhlIHJpZ2h0IGVuZCBvZiB0aGUgYnJlYWRjcnVtYiByb3dcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG59XG5cbi5mZTItaGVhZGVyLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4vLyBVbnB1Ymxpc2hlZC1jaGFuZ2VzIGRvdCwgSU5MSU5FIGluc2lkZSB0aGUgdmVyc2lvbiBidXR0b24gKHNlZSB0aGUgdGVtcGxhdGVcbi8vIGNvbW1lbnQpLiBFZGdlLWFuY2hvcmluZyBpdCBmYWlsZWQgaGVyZTogdGhpcyBidXR0b24gdmFyaWFudCBpcyB0cmFuc3BhcmVudCxcbi8vIHNvIHRoZXJlIGlzIG5vIHZpc2libGUgYm9yZGVyIGZvciB0aGUgZG90IHRvIHNpdCBhZ2FpbnN0IGFuZCBpdCBqdXN0IGZsb2F0ZWRcbi8vIGluIHRoZSBwaWxsJ3MgZW1wdHkgcGFkZGluZy4gUmlkaW5nIGFsb25nIHdpdGggdGhlIGxhYmVsIHNvbHZlcyB0aGF0LlxuLmZlMi1pbmxpbmUtZG90IHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZjU5ZTBiO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGFuaW1hdGlvbjogZmUtcHVibGlzaC1wdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuZmUyLWlubGluZS1kb3QgeyBhbmltYXRpb246IG5vbmU7IH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuZmUyLXpvb20tZXh0cmEsIC5mZTItcGxheSwgLmZlMi1jb250ZXh0IHsgdHJhbnNpdGlvbjogbm9uZTsgYW5pbWF0aW9uOiBub25lOyB9XG4gICAgLmZlMi1wbGF5OjphZnRlciB7IGFuaW1hdGlvbjogbm9uZTsgb3BhY2l0eTogMDsgfVxufVxuXG4uZmUyLXNlYXJjaC1pdGVtIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vLyBUaGUgY2xhc3NpYyAuZmUtc2VhcmNoLXdyYXAgY29sbGFwc2UvZXhwYW5kIG1lY2hhbmljcyAod2lkdGggdHJhbnNpdGlvbixcbi8vIG92ZXJmbG93OmhpZGRlbiwgb3BhY2l0eSBmYWRlcykgYXJlIG5lc3RlZCA0IGxldmVscyBkZWVwIHVuZGVyXG4vLyAuZmxvd2VkaXRvci10b29sYmFyLnRvb2xiYXIgLnRvb2xiYXJfbWVudS13cmFwcGVyIC50b29sYmFyX21lbnVcbi8vIC50b29sYmFyX3N1Yl9tZW51LCBpLmUuIFBSSVZBVEUgdG8gdGhhdCBleGFjdCBhbmNlc3RvciBjaGFpbiDigJQgcmV1c2luZyB0aGVcbi8vIGJhcmUgY2xhc3MgbmFtZSB1bmRlciAuZmUyLWJhciBpbmhlcml0cyBOT05FIG9mIHRoYXQgKGNvbmZpcm1lZCBsaXZlLFxuLy8gMTcuMDcuMjAyNjogdGhlIHYyIHNlYXJjaCBib3ggcmVuZGVyZWQgcGVybWFuZW50bHkgZXhwYW5kZWQsIHVuc3R5bGVkLFxuLy8gYmVjYXVzZSBvbmx5IGNvbG91cnMgd2VyZSBvdmVycmlkZGVuIGhlcmUgb3JpZ2luYWxseSBhbmQgdGhlIGFjdHVhbFxuLy8gbGF5b3V0IHJ1bGVzIG5ldmVyIG1hdGNoZWQpLiBTbyB0aGlzIGlzIGEgZnVsbCwgc2VsZi1jb250YWluZWRcbi8vIHJlLWltcGxlbWVudGF0aW9uIG9mIHRoZSBzYW1lIGJlaGF2aW91ciBmb3IgdGhlIGxpZ2h0IGdsYXNzIHN1cmZhY2UsIG5vdFxuLy8ganVzdCBhIHJlY29sb3VyIOKAlCB2ZXJiYXRpbSBkaW1lbnNpb25zL3RpbWluZ3MgZnJvbSB0aGUgY2xhc3NpYyB2ZXJzaW9uLFxuLy8gUFVSUExFLU9OLUdMQVNTIGNvbG91cnMgaW5zdGVhZCBvZiB3aGl0ZS1vbi1wdXJwbGUuXG4uZmUyLWJhciB7XG4gICAgLmZlLXNlYXJjaC13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAgIC8vIGxldHMgdGhlIGljb24gYmUgb3B0aWNhbGx5IGNlbnRyZWQgd2hpbGUgY29sbGFwc2VkXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDI0MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgMjAwbXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7XG5cbiAgICAgICAgLy8gQ09MTEFQU0VEIHN0YXRlIOKAlCBpdCByZWFkcyBhcyBhIHBsYWluIGljb24gYnV0dG9uIGhlcmUsIHNvIGl0IG5lZWRzXG4gICAgICAgIC8vIGJvdGggYSBob3ZlciB0aW50IChLaW06IFwiaGVlZnQgZ2VlbiBob3ZlciBzdGF0ZVwiKSBhbmQgYSBwcm9wZXJseVxuICAgICAgICAvLyBjZW50cmVkIGljb24gKEtpbTogXCJzdGFhdCBuaWV0IGluIGhldCBtaWRkZW5cIikuIFRoZSBpY29uIGhhcyB0byBiZVxuICAgICAgICAvLyBjZW50cmVkIEFCU09MVVRFTFk6IHRoZSBpbnB1dCBhbmQgY2xlYXItbGluayBhcmUgb25seSBvcGFjaXR5OjAsIHNvXG4gICAgICAgIC8vIHRoZXkgc3RpbGwgb2NjdXB5IGZsZXggc3BhY2UgYW5kIHNob3ZlIHRoZSBpY29uIG9mZi1jZW50cmUg4oCUXG4gICAgICAgIC8vIGp1c3RpZnktY29udGVudCBjYW4ndCBmaXggdGhhdCBiZWNhdXNlIHRoZSBpbnB1dCdzIHdpZHRoOjEwMCVcbiAgICAgICAgLy8gY29uc3VtZXMgYWxsIHRoZSBmcmVlIHNwYWNlLiBXcml0dGVuIGFzIGFuIGV4cGxpY2l0IDpub3QoKSByYXRoZXJcbiAgICAgICAgLy8gdGhhbiBhIG5lc3RlZCBgJmAgc28gdGhlIGNvbXBpbGVkIHNlbGVjdG9yIHN0YXlzIHNpbXBsZS5cbiAgICAgICAgJjpub3QoLmZlLXNlYXJjaC13cmFwLS1hY3RpdmUpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjUsIDczLCAxNTQsIDAuMTApO1xuICAgICAgICAgICAgICAgIC5mZS1zZWFyY2gtaWNvbiB7IGNvbG9yOiAjMmYzNTcwICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZlLXNlYXJjaC1pY29uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjUsIDczLCAxNTQsIDAuMDgpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDY1LCA3MywgMTU0LCAwLjIwKTtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mZS1zZWFyY2gtaW5wdXQsIC5mZS1zZWFyY2gtY2xvc2Uge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNDBtcyBlYXNlIDgwbXM7XG4gICAgICAgIH1cbiAgICAgICAgJi0tYWN0aXZlIC5mZS1zZWFyY2gtaW5wdXQsICYtLWFjdGl2ZSAuZmUtc2VhcmNoLWNsb3NlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5lYXItYmxhY2ssIG1hdGNoaW5nIGV2ZXJ5IG90aGVyIHRvb2xiYXIgaWNvbiAoS2ltIDE3LjA3LjIwMjY6IGl0IHdhc1xuICAgICAgICAvLyB0aGUgb25seSBwdXJwbGUgb25lKS4gIWltcG9ydGFudCBiZWNhdXNlIHRoZSBjbGFzc2ljIGJhcidzIG93blxuICAgICAgICAvLyB3aGl0ZS1vbi1wdXJwbGUgcnVsZSB1c2VzIGl0IHRvby5cbiAgICAgICAgLmZlLXNlYXJjaC1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMWUxZjIwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgICAgICYtLWFjdGl2ZSAuZmUtc2VhcmNoLWljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgY29sb3I6ICM2ZDcyYTggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mZS1zZWFyY2gtaW5wdXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICMyNjJhNWMgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHJnYmEoMzgsIDQyLCA5MiwgMC40MCkgIWltcG9ydGFudDsgfVxuICAgICAgICB9XG4gICAgICAgIC5mZS1zZWFyY2gtY2xvc2Uge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAubWRpIHsgY29sb3I6IHJnYmEoMzgsIDQyLCA5MiwgMC40NSkgIWltcG9ydGFudDsgZm9udC1zaXplOiAxNXB4OyBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgICAgICAgJjpob3ZlciAubWRpIHsgY29sb3I6ICMyZjM1NzAgIWltcG9ydGFudDsgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZlLXRyYW5zbGF0ZS1idG4tLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjUsIDczLCAxNTQsIDAuMTQpO1xuICAgICAgICBjb2xvcjogIzJmMzU3MCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEluY29tcGxldGUtdHJhbnNsYXRpb25zIGRvdDogcHVsbGVkIE9OVE8gdGhlIGJ1dHRvbiAoS2ltIDE3LjA3LjIwMjYsXG4gICAgLy8gXCJzdGFhdCBlZW4gYmVldGplIGF3a3dhcmRcIikuIFRoZSBzaGFyZWQgcnVsZSBhbmNob3JzIGl0IGF0IC00cHgvLTRweCxcbiAgICAvLyB3aGljaCBpcyByaWdodCBmb3IgdGhlIGNsYXNzaWMgYmFyJ3MgQ0lSQ1VMQVIgaWNvbiBidXR0b24g4oCUIGJ1dCB0aGlzXG4gICAgLy8gdmFyaWFudCBpcyBhIHRleHQgUElMTCwgc28gdGhhdCBjb3JuZXIgZG9lc24ndCB2aXN1YWxseSBleGlzdCBhbmQgdGhlIGRvdFxuICAgIC8vIGZsb2F0ZWQgZGlhZ29uYWxseSBvZmYgaW50byBzcGFjZS4gU2l0cyBvbiB0aGUgdG9wLXJpZ2h0IGN1cnZlIG5vdy5cbiAgICAuZmUtdHJhbnNsYXRlLWJ0bi0taW5jb21wbGV0ZTo6YWZ0ZXIge1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgcmlnaHQ6IDRweDtcbiAgICB9XG5cbiAgICAuZmUtcHJldmlldy10b29sYmFyLWJ0biB7IGNvbG9yOiAjNTI1NzljOyBvcGFjaXR5OiAxOyB9XG4gICAgLmZlLXByZXZpZXctdG9vbGJhci1idG46aG92ZXIgeyBjb2xvcjogIzJmMzU3MDsgYmFja2dyb3VuZDogcmdiYSg2NSwgNzMsIDE1NCwgMC4xMCk7IH1cblxuICAgIC8vIFYxL2hpc3RvcnkgaXMgcWRuYXByby1idXR0b24gdHlwZT1cIm9uLXB1cnBsZVwiIOKAlCB0cmFuc3BhcmVudCBiZyArIFdISVRFXG4gICAgLy8gdGV4dC9pY29uIChkZXNpZ25lZCBmb3IgYSBwdXJwbGUgc3VyZmFjZSkuIE9uIHRoaXMgbGlnaHQgZ2xhc3MgYmFyIHRoYXRcbiAgICAvLyB3YXMgaW52aXNpYmxlIChLaW0sIDE3LjA3LjIwMjY6IFwiZGUgdmVyc2lvbiBidXR0b24gaXMgb256aWNodGJhYXJcIikuXG4gICAgLy8gUmVjb2xvdXIgdG8gdGhlIGJyYW5kIHB1cnBsZTsgc3RheXMgYSBnaG9zdC9vaG9zdCAodHJhbnNwYXJlbnQgYmcpLCBqdXN0XG4gICAgLy8gZGFyay1vbi1saWdodCBpbnN0ZWFkIG9mIGxpZ2h0LW9uLWRhcmsuXG4gICAgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1vbi1wdXJwbGUge1xuICAgICAgICBjb2xvcjogIzQxNDk5YSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucWRuYXByby1idXR0b24uYnV0dG9uLW9uLXB1cnBsZTpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCksXG4gICAgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1vbi1wdXJwbGU6YWN0aXZlOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjUsIDczLCAxNTQsIDAuMTApICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gUHVibGlzaCwgRU5BQkxFRDogcWRuYXByby1idXR0b24gdHlwZT1cIm9uLXB1cnBsZS1zb2xpZFwiIGZpbGxzICMyYTMyNjggKGFcbiAgICAvLyBkYXJrIG5hdnkgdHVuZWQgZm9yIGEgcHVycGxlL2Rhcmsgc3VyZmFjZSkg4oCUIG9uIGxpZ2h0IGdsYXNzIGl0IHJlYWQgYXNcbiAgICAvLyBuZWFyLWJsYWNrIHJhdGhlciB0aGFuIFwicHVycGxlXCIuIEtpbSwgMTcuMDcuMjAyNjogXCJhbHMgaGlqIHB1YmxpY2VlcmJhYXJcbiAgICAvLyBpcyBnZXdvb24gcGFhcnNcIiDigJQgb3ZlcnJpZGUgdG8gdGhlIHJlYWwgYnJhbmQgcHVycGxlLlxuICAgIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tb24tcHVycGxlLXNvbGlkOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0MTQ5OWEgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1vbi1wdXJwbGUtc29saWQ6aG92ZXI6bm90KC5idXR0b24tZGlzYWJsZWQpLFxuICAgIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tb24tcHVycGxlLXNvbGlkOmFjdGl2ZTpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMmYzNTcwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gUHVibGlzaCwgRElTQUJMRUQ6IEtpbSwgMTcuMDcuMjAyNiDigJQgXCJ3aWwgaWsgdHJhbnNwYXJhbnQgYWxzIGhpalxuICAgIC8vIGRpc2FibGVkIGlzXCIgKG5vdCB0aGUgZmlsbGVkIGdyZXkgYm94IGZyb20gdGhlIGZpcnN0IHBhc3MsIHdoaWNoIGZpeGVkXG4gICAgLy8gdGhlIGNvbnRyYXN0IHByb2JsZW0gYnV0IG92ZXJzaG90IGludG8gYSBzb2xpZCBib3gpLiBUcmFuc3BhcmVudCBmaWxsLFxuICAgIC8vIGEgaGFpcmxpbmUgYm9yZGVyIGZvciBkZWZpbml0aW9uIHNvIGl0IHN0aWxsIHJlYWRzIGFzIGEgYnV0dG9uIG91dGxpbmUsXG4gICAgLy8gbXV0ZWQgdGV4dC4gU2NvcGVkICsgIWltcG9ydGFudCB0byB3aW4gb3ZlciB0aGUgZ2xvYmFsIC5idXR0b24tZGlzYWJsZWRcbiAgICAvLyBydWxlIChhbHNvICFpbXBvcnRhbnQpIHdpdGhvdXQgdG91Y2hpbmcgaXQgYW55d2hlcmUgZWxzZSBpbiB0aGUgYXBwLlxuICAgIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogcmdiYSgzOCwgNDIsIDkyLCAwLjM2KSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHJnYmEoMzgsIDQyLCA5MiwgMC4xOCkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vIChUaGUgYm90dG9tLXJpZ2h0IGNvcm5lciB6b29tIGRvY2sgbGl2ZWQgaGVyZSB1bnRpbCAxNy4wNy4yMDI2LiBLaW0gbW92ZWRcbi8vIHZlcnNpb24gKyBoZWxwIHRvIHRoZSBoZWFkZXIsIHdoaWNoIGZyZWVkIGVub3VnaCByb29tIHRvIGJyaW5nIHpvb20gYmFja1xuLy8gSU5UTyB0aGUgYmFyIGFzIGEgY29sbGFwc2VkIGNsdXN0ZXIg4oCUIHNlZSAuZmUyLXpvb20gYWJvdmUg4oCUIHNvIHRoZSBjb3JuZXIgaXNcbi8vIGVtcHR5IGFnYWluIGFuZCBKYW4ncyBcIm5pZXQgaW4gZGUgd2VnXCIgY29uY2VybiBpcyBtb290LilcblxuLmZsb3dlZGl0b3ItdG9vbGJhciAubm9kZWJhcl9tZW51LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vIC5mZS1zZWFyY2gtb3ZlcmxheSBpcyBpbmplY3RlZCBpbnRvIHRoZSBHb0pTIGRpdiB2aWEgSlMgKGFwcGx5U2VhcmNoIGluIGRpYWdyYW0vaW5kZXguanMpXG5cbkBrZXlmcmFtZXMgbm9kZWJhci1zbGlkZS1pbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG59XG5cbkBrZXlmcmFtZXMgbW9kYWwtZmFkZS1pbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgICB0byAgIHsgb3BhY2l0eTogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIG1vZGFsLXNjYWxlLWluIHtcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMC45NSk7IH1cbiAgICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7IH1cbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAubm9kZWJhcl9tZW51IHtcbiAgICAkcHJpbWFyeTogIzQxNDk5YTtcbiAgICAkcHJpbWFyeS1ob3ZlcjogIzNiMjU3YTtcbiAgICAkcHJpbWFyeS1hY3RpdmU6ICMxZjIwNWM7XG4gICAgJGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgICAkc2Vjb25kYXJ5X29mZnNldDogMjBweDtcblxuICAgIGZvbnQtc2l6ZTogLjhlbTtcblxuXG4gICAgJi5wcmltYXJ5LW1lbnUge1xuXG4gICAgICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjAwcHggKyAkc2Vjb25kYXJ5X29mZnNldCk7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5ub2RlYmFyX21lbnUtaXRlbSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCA3MywgMTU0LCAwLjU1KTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXMgMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAzNywgMTIyLCAwLjcwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzEsIDMyLCA5MiwgMC44MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG5cbiAgICB9XG5cbiAgICAmLnNlY29uZGFyeS1tZW51IHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBtYXgtaGVpZ2h0OiA2MHZoO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHNlY29uZGFyeV9vZmZzZXQ7XG5cbiAgICAgICAgLy8gTW9kZXJuIHRoaW4gc2Nyb2xsYmFyXG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiByZ2JhKDY1LCA3MywgMTU0LCAwLjMpIHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSg2NSwgNzMsIDE1NCwgMC4zKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDY1LCA3MywgMTU0LCAwLjUpOyB9XG4gICAgICAgIH1cbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcyKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE2cHgpO1xuICAgICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMjRweCByZ2JhKDY1LCA3MywgMTU0LCAwLjEyKTtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbm9kZWJhci1zbGlkZS1pbiAxODBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSkgYm90aDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLm5vZGViYXJfbWVudS1pdGVtIHtcblxuICAgICAgICAgICAgY3Vyc29yOiBtb3ZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgJGJvcmRlci1yYWRpdXMgMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkYm9yZGVyLXJhZGl1cyAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNSwgMjM1LCAyMzUsIDAuNyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm9kZWJhcl9tZW51LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAuNzVlbSAxZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogLjc1ZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG5cbiAgICAgICAgJi5vcHRpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMzcsIDEyMiwgMC42NSk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggcmdiYSgzMSwgMzIsIDkyLCAwLjYwKSBzb2xpZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBlbSAxZW07XG5cbiAgICAgICAgICAgIC5ub2RlYmFyX21lbnUtaWNvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogIzkzOWFjZDtcblxuICAgICAgICAgICAgICAgIC5tZGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICAubm9kZWJhcl9tZW51LWljb24ge1xuICAgICAgICBmb250LWZhbWlseTogXCJNYXRlcmlhbCBEZXNpZ24gSWNvbnNcIjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbn1cblxuLy8gbWluaW1pemVkIG5vZGViYXJcbi5mbG93ZWRpdG9yLXRvb2xiYXIubm9kZWJhci5taW5pbWl6ZWQge1xuXG4gICAgLnByaW1hcnktbWVudSB7XG4gICAgICAgIC5ub2RlYmFyX21lbnUtaXRlbSB7XG4gICAgICAgICAgICBzcGFuLm5vZGViYXJfbWVudS10aXRsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWNvbmRhcnktbWVudSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgfVxuXG59XG5cblxuLy8gLmZsb3dlZGl0b3ItdG9vbGJhciB7XG4vLyAgICAgYmFja2dyb3VuZDogI2ZmZjtcbi8vICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4vLyAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTRlNGU0O1xuXG4vLyAgICAgJi5ub2RlYmFye1xuXG4vLyAgICAgICAgIG1heC13aWR0aDogMjcycHg7XG5cblxuLy8gICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IC8qIGlPUyBTYWZhcmkgKi9cbi8vICAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4vLyAgICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSW50ZXJuZXQgRXhwbG9yZXIvRWRnZSAqL1xuLy8gICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbi8vICAgICB9XG4vLyAgICAgJi4tdG9vbGJhci1pbi1tb2RhbHtcbi8vICAgICAgICAgbWF4LXdpZHRoOmF1dG87XG4vLyAgICAgICAgIHdpZHRoOjEwMCU7XG4vLyAgICAgICAgIC5mZS1zZWN0aW9uLXdyYXBwZXJ7XG4vLyAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbi8vICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4vLyAgICAgICAgIH1cblxuLy8gICAgIH1cbi8vIH1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtdGFicyB7XG4gICAgZmxleC1iYXNpczogNTBweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlZmVmZWY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtdGFicyAuZmUtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qaGVpZ2h0OiAxMDB2aDsqL1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtdGFicyAuZmUtd3JhcHBlciB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtdGFicyAuZmUtd3JhcHBlciB1bDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogNjVweDtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtdGFicyAuZmUtd3JhcHBlciB1bDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyIC5mZS1yaWdodCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAvKmhlaWdodDogMTAwdmg7Ki9cbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIGNvbG9yOiAjNjY1ODRlO1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyIC5mZS1yaWdodCAuZmUtZW1wdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAvKmhlaWdodDogMTAwdmg7Ki9cbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLXJpZ2h0IC5mZS1lbXB0eSBwIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogcmdiYSgjMDAwLCAuNCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyIC5mZS1yaWdodCAuZmUtZW1wdHkgcCBpIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIge1xuICAgIC5mZS1ub2RlLWZyYW1lIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgzMSwgMTQsIDE0LCAwLjE1KTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMTVweCAxMHB4IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjNzc3O1xuXG4gICAgICAgIC50cy1yb3VuZGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNWM1YzU7XG4gICAgICAgICAgICBjb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZlLW5vZGUtdHlwZSB7XG4gICAgICAgIGNvbG9yOiAjYWNhY2FjO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgIH1cbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtcmlnaHQgLmZlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgLypoZWlnaHQ6IDEwMHZoOyovXG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyIC5mZS1yaWdodCAuZmUtd3JhcHBlciBmb290ZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWFlYWVhO1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyIC5mZS1yaWdodCAuZmUtd3JhcHBlciBmb290ZXIgLmZlLWNhcmQtYm9keSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLXNlY3Rpb24td3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICA+LmZlLXJpZ2h0IHtcbiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICB9XG5cbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtc2VjdGlvbiAuZmUtY2FyZC1ib2R5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyIC5mZS1zZWN0aW9uLmZlLW9wZW4gLmZlLWNhcmQtYm9keSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLWhlaWdodDogMzRweDtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtc2VjdGlvbiAuZmUtY2FyZC1ib2R5IGkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtc2VjdGlvbiAuZmUtY2FyZC1ib2R5IC5mZS1jYXJkLWFjdGlvbi1iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYWVhZWE7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLXNlY3Rpb24gLmZlLWNhcmQtYm9keSAuZmUtY2FyZC1vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDVweCA1MHB4IDJweCByZ2JhKCMwMDAsIC4xKTtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtc2VjdGlvbiAuZmUtY2FyZC1ib2R5IC5mZS1jYXJkLW92ZXJsYXkgLmZlLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLXNlY3Rpb24gLmZlLWNhcmQtYm9keSAuZmUtY2FyZC1vdmVybGF5IC5mZS10aXRsZSBpIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLXNlY3Rpb24gdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAxZW0gMCAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAvKm92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG1heC1oZWlnaHQ6IDIyM3B4OyovXG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtc2VjdGlvbiAuZmUtY2FyZC1ib2R5IHVsIGxpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtc2VjdGlvbiAuZmUtY2FyZC1ib2R5IHVsIGxpIHNwYW4uZmUtaXRlbS10ZXh0IHt9XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLXNlY3Rpb24gLmZlLWNhcmQtYm9keSB1bCBsaSBzcGFuLmZlLWl0ZW0tc3VidGV4dCB7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtc2VjdGlvbiAuZmUtdGFiLXRpdGxlLFxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtc2VjdGlvbiAuZmUtdGl0bGUge1xuICAgIHBhZGRpbmc6IDAuOGVtIDEuMmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICBjb2xvcjogIzYzNjM2Mztcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtc2VjdGlvbiAuZmUtY2FyZC1ib2R5IC5mZS1pdGVtLWlubmVyIHt9XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLXNlY3Rpb24gLmZlLWNhcmQtYm9keSAuZmUtaXRlbS1jb250ZW50IC5mZS1pdGVtLWFjdGlvbnMgYSB7XG4gICAgLyptYXJnaW4tcmlnaHQ6IDEwcHg7Ki9cbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtc2VjdGlvbiAuZmUtY2FyZC1ib2R5IC5mZS1pdGVtLWNvbnRlbnQgLmZlLWl0ZW0tYWN0aW9ucyBhOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmZsb3dlZGl0b3ItdG9vbGJhciAuZmUtc2VjdGlvbiAuZmUtY2FyZC1ib2R5IC5mZS1pdGVtLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyIC5mZS1zZWN0aW9uIC5mZS10YWItdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgY29sb3I6IHJnYmEoIzAwMCwgLjYpO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyIC5mZS1zZWN0aW9uIC5mZS10YWItdGl0bGUgc3Bhbixcbi5mbG93ZWRpdG9yLW1vZGFsIC5mZS1tLWNvbnRlbnQgLmZlLW0tYm9keSAuZmUtc2VjdGlvbnMtb3ZlcnZpZXcgdWwgbGkgYSBzcGFuLFxuLmZsb3dlZGl0b3ItbW9kYWwgLmZlLW0tY29udGVudCAuZmUtbS1ib2R5IC5mZS1vci1saW5lIHtcbiAgICBjb2xvcjogcmdiYSgjMDAwLCAuNCk7XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLXNlY3Rpb24gLmZlLXRhYi10aXRsZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5mbG93ZWRpdG9yLXRvb2xiYXIgLmZlLXNlY3Rpb24gLmZlLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyIC5mZS1zZWN0aW9uLmZlLW9wZW4gLmZlLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xufVxuXG4uZmxvd2VkaXRvci10b29sYmFyIC5mZS1zZWN0aW9uIC5mZS1idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOGVtO1xufVxuXG4uZmxvd2VkaXRvci1tb2RhbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5mbG93ZWRpdG9yLW1vZGFsLmZlLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmxvd2VkaXRvci1tb2RhbCAuZmUtbS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIG1hcmdpbjogMTAlIGF1dG87XG4gICAgcGFkZGluZzogMzBweCAyNXB4O1xuICAgIHdpZHRoOiA4MCU7XG59XG5cbi5mbG93ZWRpdG9yLW1vZGFsIC5mZS1tLWNvbnRlbnQgLmZlLW0taGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZTRlNDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uZmxvd2VkaXRvci1tb2RhbCAuZmUtbS1jb250ZW50IC5mZS1tLWhlYWRlciBoMiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5mbG93ZWRpdG9yLW1vZGFsIC5mZS1tLWNvbnRlbnQgLmZlLW0taGVhZGVyIGgyIHNwYW4ge1xuICAgIGNvbG9yOiByZ2JhKCMwMDAsIC40KTtcbn1cblxuLmZsb3dlZGl0b3ItbW9kYWwgLmZlLW0tY29udGVudCAuZmUtbS1ib2R5IC5mZS1zZWN0aW9ucy1vdmVydmlldyB7XG4gICAgLyogUmVzZXJ2ZWQgKi9cbn1cblxuXG5cbi5mZS1zYXZlLW1ldGhvZHMgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5mZS1zYXZlLW1ldGhvZHMgdWwgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuLmZlLXNhdmUtbWV0aG9kcyB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5mZS1zYXZlLW1ldGhvZCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgjMDAwLCAuMSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qcGFkZGluZzogMzBweCAxNXB4OyovXG4gICAgcGFkZGluZzogMTVweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICMyMjIyMjI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmUtc2F2ZS1tZXRob2Q6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTQsIDE2NSwgMTI3LCAuMik7XG59XG5cbi5mZS1zYXZlLW1ldGhvZCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzljOWM5Yztcbn1cblxuLmZsb3dlZGl0b3ItbW9kYWwgLmZlLW0tY29udGVudCAuZmUtbS1ib2R5IC5mZS1zZWN0aW9ucy1vdmVydmlldyAuZmUtb3RoZXItdG9vbHMge1xuICAgIC8qIFJlc2VydmVkICovXG59XG5cbi5mZS1vci1saW5lIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNGU0ZTQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZlLW9yLWxpbmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwib3JcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFlbTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogMCAwLjk1ZW07XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi5mZS1vdGhlci10b29scyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZlLW90aGVyLXRvb2xzIHVsIGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZlLW90aGVyLXRvb2xzIHVsIGxpIGEge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoIzAwMCwgLjEpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzMHB4IDE1cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZmxvd2VkaXRvci1tb2RhbCAuZmUtbS1jb250ZW50IC5mZS1tLWJvZHkgLmZlLXNlY3Rpb25zIHtcbiAgICAvKiBSZXNlcnZlZCAqL1xufVxuXG4uZmxvd2VkaXRvci1tb2RhbCAuZmUtbS1jb250ZW50IC5mZS1tLWJvZHkgLmZlLXNlY3Rpb25zIC5mZS1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmxvd2VkaXRvci1tb2RhbCAuZmUtbS1jb250ZW50IC5mZS1tLWJvZHkgLmZlLXNlY3Rpb25zIC5mZS1zZWN0aW9uLmZlLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmxvd2VkaXRvci1tb2RhbCAuZmUtbS1jb250ZW50IC5mZS1tLWJvZHkgLmZlLXNlY3Rpb25zIC5mZS1zZWN0aW9uIC5mZS10YWJsZS13cmFwcGVyIHtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbn1cblxuLmZsb3dlZGl0b3ItbW9kYWwgLmZlLW0tY29udGVudCAuZmUtbS1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG59XG5cbi5mbG93ZWRpdG9yLW1vZGFsIC5mZS1tLWNsb3NlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uZmxvd2VkaXRvci1tb2RhbCAuZmUtbS1jbG9zZTpob3Zlcixcbi5mbG93ZWRpdG9yLW1vZGFsIC5mZS1tLWNsb3NlOmZvY3VzIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8gXG4vLyBTdWJmbG93IExvZ2ljIGFuZCBSdWxlc1xuLy8gXG5cbiRydWxlczogIzVhODNlYztcbiRydWxlcy1saWdodDogY29sb3IuYWRqdXN0KCRydWxlcywgJGxpZ2h0bmVzczogMjQlKTtcbiRydWxlcy1saWdodGVyOiBjb2xvci5hZGp1c3QoJHJ1bGVzLCAkbGlnaHRuZXNzOiAzMSUpO1xuXG4udGV4dC1ydWxlcyB7XG4gICAgY29sb3I6ICRydWxlcztcbn1cblxuLmNhcmQtcnVsZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRydWxlcy1saWdodGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRydWxlcztcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBoNiB7XG4gICAgICAgIGNvbG9yOiAkcnVsZXM7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG5cbiAgICAudG9wLXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC41cmVtO1xuICAgICAgICByaWdodDogLjVyZW07XG4gICAgfVxuXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHJ1bGVzO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoJHJ1bGVzLCAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5hZGp1c3QoJHJ1bGVzLWxpZ2h0ZXIsICRsaWdodG5lc3M6IDMlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ydWxlLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICRydWxlcztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkcnVsZXM7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRydWxlcy1saWdodGVyO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHJ1bGVzO1xuICAgICAgICAgICAgcGFkZGluZzogLjM3NXJlbSAxcmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcnVsZXM7XG4gICAgICAgICAgICBjb2xvcjogJHJ1bGVzO1xuICAgICAgICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVsZXM7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcnVsZXM7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy4kd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKCRydWxlcywgLjUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgICAgICAgICAgICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVsZXM7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcnVsZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucnVsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuYnRuLWNpcmNsZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogLTQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuLWNpcmNsZSB7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgY29sb3I6ICRydWxlcztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ1bGVzLWxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBCdXR0b25zXG4uYnRuLXJ1bGVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVsZXMtbGlnaHRlcjtcbiAgICBjb2xvcjogJHJ1bGVzO1xuICAgIGJvcmRlci1jb2xvcjogJHJ1bGVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVsZXM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHJ1bGVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgkcnVsZXMsIC41KTtcbiAgICB9XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVsZXM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHJ1bGVzO1xuICAgIH1cbn1cblxuLmJ0bi1ydWxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVsZXMtbGlnaHQ7XG4gICAgY29sb3I6ICRydWxlcztcbiAgICBib3JkZXItY29sb3I6ICRydWxlcy1saWdodDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnVsZXM7XG4gICAgICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6ICRydWxlcztcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoJHJ1bGVzLCAuNSk7XG4gICAgfVxuXG4gICAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUge1xuICAgICAgICBjb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ1bGVzO1xuICAgICAgICBib3JkZXItY29sb3I6ICRydWxlcztcbiAgICB9XG59XG5cbi5mbG93ZWRpdG9yX21vZGFsIHsgICAgXG4gICAgem9vbTogODAlO1xuICAgIC50YWJzLWNvbXBvbmVudCB7fVxuXG4gICAgLnRhYnMtY29tcG9uZW50LXRhYnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnRhYnMtY29tcG9uZW50LXRhYiB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICAgICAgICAgICAgY29sb3I6ICNhY2FjYWM7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNWE4M2VjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMtY29tcG9uZW50LXBhbmVscyB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgfVxuXG4gICAgLnRzLWZvcm0tY2hlY2sge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIC50cy1lbGVtZW50LWxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cblxuICAgICAgICAudHMtbGFiZWwtdGV4dDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSsudHMtbGFiZWwtdGV4dDpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICM1YTgzZWM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEFjdGlvbiBub2RlIG9wdGlvbnNcbi5zZWxlY3RlZC1xdWVzdGlvbnMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRydWxlcztcbiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJ1bGVzLWxpZ2h0ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkcnVsZXM7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAuM3JlbTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idG4tcmVtb3ZlIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IuYWRqdXN0KCRydWxlcywgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ1bGVzLWxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmUtbm9kZS10aXRsZS1jYXJkIHtcblxuICAgIGJhY2tncm91bmQ6ICMzZjQ2OWM7XG4gICAgcGFkZGluZzogLjc1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogMWVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgZ2FwOiAxZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXG4gICAgLmZlLW5vZGUtdGl0bGUtaWNvbiB7XG5cblxuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICB9XG5cbiAgICAuZmUtbm9kZS10aXRsZS1uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuXG4gICAgLmZlLW5vZGUtdGl0bGUtaWQge1xuICAgICAgICBmb250LXNpemU6IC43NWVtO1xuICAgIH1cblxufVxuXG4uZmUtY2FyZC10aXRsZSB7XG4gICAgJHByaW1hcnk6ICMzZjQ2OWM7XG4gICAgY29sb3I6ICRwcmltYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG5cbn1cblxuLmJ0biB7XG4gICAgJHByaW1hcnk6ICMzZjQ2OWM7XG4gICAgJHByaW1hcnktaG92ZXI6ICMzMzNhN2I7XG4gICAgJHNlY29uZGFyeTogI2YwZjFmMjtcbiAgICAkc2Vjb25kYXJ5LWhvdmVyOiAjYzRjN2NjO1xuICAgICR3YXJuaW5nOiAjZjBmMWYyO1xuICAgICR3YXJuaW5nLWhvdmVyOiAjYzRjN2NjO1xuXG4gICAgcGFkZGluZzogLjc1cmVtIDJyZW07XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IC43NWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG5cblxuICAgICYuYnRuLXByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeVxuICAgIH1cblxuICAgICYuYnRuLW91dGxpbmUge1xuICAgICAgICBib3JkZXI6IDFweCAkcHJpbWFyeSBzb2xpZDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ0bi1saW5rIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgICYuYnRuLXNpemUtc20ge1xuICAgICAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgJi5idG4tY29sb3ItcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWhvdmVyO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnRuLWNvbG9yLXNlY29uZGFyeSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjMGIwYjBkO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnRuLWNvbG9yLXNlY29uZGFyeS1vdXRsaW5lIHtcbiAgICAgICAgYm9yZGVyOiAxcHggJHByaW1hcnkgc29saWQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5idG4tY29sb3Itc2Vjb25kYXJ5LXdoaXRlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IuYWRqdXN0KCRwcmltYXJ5LCAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnRuLWNvbG9yLXdhcm5pbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2FybmluZztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNDNjVBNUE7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2FybmluZy1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZlLWZvcm0uZm9ybS1yb3cge1xuICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAjNDA0OTlBO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAuNzVyZW0gLjhyZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG59XG5cbi5pbnB1dC1ncm91cCB7XG4gICAgLmlucHV0LWdyb3VwLXByZXBlbmQuaW5saW5lIHtcblxuICAgICAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cC1hcHBlbmQuaW5saW5lIHtcblxuICAgICAgICAuaW5wdXQtZ3JvdXAtdGV4dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAuNjI1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICY6aGFzKC5pbnB1dC1ncm91cC1wcmVwZW5kLmlubGluZSkge1xuICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpoYXMoLmlucHV0LWdyb3VwLWFwcGVuZC5pbmxpbmUpIHtcbiAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZlLWxhbmctaW5kaWNhdG9yIHtcbiAgICBjb2xvcjogIzZjNWY1NTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmZlLWxhbmd1YWdlLWZpZWxkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiAxZW07XG59XG5cbi5mZS1pdGVtcyB7XG4gICAgLy8gUmVzZXQgYnJvd3NlciBkZWZhdWx0IGxpc3QgaW5kZW50IHNvIGFuc3dlciByb3dzIGFsaWduIHdpdGggdGhlIHRleHQgZmllbGRzIGFib3ZlLlxuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAmLmZlLWxpbmstbGlzdCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgICAgICAgLy8gSW52aXNpYmxlIHNjcm9sbGJhcjoga2VlcCBzY3JvbGxpbmcsIGhpZGUgdGhlIGJhci4gW0tpbSAyMi4wNi4yMDI2XVxuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogMDsgaGVpZ2h0OiAwOyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgLy8gNHB4IHZlcnRpY2FsIGdhcCBiZXR3ZWVuIGNvbnNlY3V0aXZlIGFuc3dlci1vcHRpb24gcm93cy4gVGhlIGxpc3QgaXMgYVxuICAgICAgICAvLyBwbGFpbiBibG9jayA8dWw+IChub3QgZmxleCksIHNvIHVzZSBhZGphY2VudC1zaWJsaW5nIG1hcmdpbi4gQWxzbyBzcGFjZXNcbiAgICAgICAgLy8gdGhlIGlubGluZSBhZGQtZGF0YXBvaW50IG92ZXJsYXkgcm93IGZyb20gdGhlIGxhc3QgYW5zd2VyLiBUaGUgZGFzaGVkXG4gICAgICAgIC8vIFwiK1wiIGFkZC1iYXIga2VlcHMgaXRzIG93biBtYXJnaW4gYW5kIGlzIGludGVudGlvbmFsbHkgZXhjbHVkZWQuIFtLaW0gMjAyNi0wNi0yMF1cbiAgICAgICAgLy9cbiAgICAgICAgLy8gUkVHUkVTU0lPTiBGSVggKFBoYXNlIDVCIE1lZXJrZXV6ZSBwZXItb3B0aW9uIGFwcGVhcmFuY2UsIDExLjA3LjIwMjYpOlxuICAgICAgICAvLyBMaW5rLnZ1ZSdzIHRlbXBsYXRlIHJvb3QgdXNlZCB0byBCRSBxZG5hcHJvLWFuc3dlci1vcHRpb24gaXRzZWxmLCBzbyBpdFxuICAgICAgICAvLyBsYW5kZWQgYXMgdGhlIGRpcmVjdCBjaGlsZCBvZiB0aGlzIDx1bD4gYW5kIHRoaXMgc2VsZWN0b3IgbWF0Y2hlZC4gU2luY2VcbiAgICAgICAgLy8gUGhhc2UgNUIsIExpbmsudnVlIEFMV0FZUyB3cmFwcyBpdCBpbiBhIGAuZmUtYW5zd2VyLXJvdy13cmFwYCBkaXYgKGZvclxuICAgICAgICAvLyBldmVyeSBub2RlIHR5cGUsIG5vdCBqdXN0IE1lZXJrZXV6ZSDigJQgc2VlIHRoYXQgY2xhc3MncyBvd24gY29tbWVudCBpblxuICAgICAgICAvLyB0aGlzIGZpbGUpLCBzbyB0aGUgZGlyZWN0IDx1bD4gY2hpbGQgaXMgbm93IGAuZmUtYW5zd2VyLXJvdy13cmFwYCBhbmRcbiAgICAgICAgLy8gYHFkbmFwcm8tYW5zd2VyLW9wdGlvbmAgc2l0cyBvbmUgbGV2ZWwgZGVlcGVyLiBUaGUgb2xkXG4gICAgICAgIC8vIGBxZG5hcHJvLWFuc3dlci1vcHRpb24gKyBxZG5hcHJvLWFuc3dlci1vcHRpb25gIHNlbGVjdG9yIG5vIGxvbmdlciBoYXNcbiAgICAgICAgLy8gYW55IHR3byBhZGphY2VudCBtYXRjaGVzICh0aGVyZSBJUyBubyBiYXJlIHFkbmFwcm8tYW5zd2VyLW9wdGlvbiBkaXJlY3RcbiAgICAgICAgLy8gY2hpbGQgbGVmdCksIHNvIGl0IHNpbGVudGx5IHN0b3BwZWQgbWF0Y2hpbmcg4oCUIHRoYXQncyB0aGUgeWVzL25vXG4gICAgICAgIC8vIChhbmQgYW55IG90aGVyIHBsYWluLCBub24tLmZlLWdyYWRlLXJvdyByb3cgdHlwZSwgZS5nLiBNZWVya2V1emUgd2hpbGVcbiAgICAgICAgLy8gaW4gTVVMVEkvY2hlY2tib3ggbW9kZSwgZml4ZXMsIHNrdV9kZXRhaWxfZGVzY3JpcHRpb24pIHplcm8tZ2FwIGJ1Z1xuICAgICAgICAvLyBmcm9tIEtpbSdzIHNjcmVlbnNob3QuIFRhcmdldCB0aGUgbmV3IHdyYXBwZXIgaW5zdGVhZC4gW0tpbSAxMS4wNy4yMDI2XVxuICAgICAgICA+IC5mZS1hbnN3ZXItcm93LXdyYXAgKyAuZmUtYW5zd2VyLXJvdy13cmFwLFxuICAgICAgICA+IC5mZS1hbnN3ZXItcm93LXdyYXAgKyAuZmUtYW5zd2VyLXJvdy0tYWRkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgfVxuICAgICAgICAvLyBncmFkZV9ub2RlL25wc19ub2RlIHJvd3MgKGFuZCwgc2luY2UgdGhlIGxpbmtzLWVkaXRvciByZXZpZXcgYmF0Y2gsXG4gICAgICAgIC8vIE1lZXJrZXV6ZSByb3dzIGluIHJhZGlvIG1vZGUpIGFyZSB3cmFwcGVkIGluIC5mZS1ncmFkZS1yb3cgKGNoZWNrYm94ICtcbiAgICAgICAgLy8gdGhlIGFuc3dlci1vcHRpb24pLCBzbyB0aGV5IGFyZSB0aGUgRElSRUNUIGNoaWxkIGluc3RlYWQg4oCUIHNhbWUgNHB4XG4gICAgICAgIC8vIHJoeXRobSwgaW5jbC4gdGhlIGdhcCBiZWZvcmUgdGhlIGFkZC1kYXRhcG9pbnQgb3ZlcmxheSByb3cgKE1lZXJrZXV6ZVxuICAgICAgICAvLyBpcyB0aGUgZmlyc3QgYnVsay1zZWxlY3RhYmxlIHR5cGUgdGhhdCBhbHNvIGhhcyBzaG93QWRkRGF0YXBvaW50KCkpLlxuICAgICAgICAvLyAuZmUtZ3JhZGUtcm93IGl0c2VsZiB3YXMgTk9UIHRvdWNoZWQgYnkgdGhlIFBoYXNlIDVCIHdyYXBwZXIgY2hhbmdlXG4gICAgICAgIC8vIChMaW5rLnZ1ZSdzIG5ldyBgLmZlLWFuc3dlci1yb3ctd3JhcGAgbmVzdHMgSU5TSURFIGAuZmUtZ3JhZGUtcm93YCxcbiAgICAgICAgLy8gbm90IGluc3RlYWQgb2YgaXQpLCBzbyB0aGlzIHJ1bGUga2VwdCBtYXRjaGluZyBhbmQgbmVlZHMgbm8gY2hhbmdlIOKAlFxuICAgICAgICAvLyBrZXB0IGhlcmUgb25seSBzbyB0aGUgNHB4IHJoeXRobSBzdGF5cyBkZWNsYXJlZCBuZXh0IHRvIGl0cyBzaWJsaW5nXG4gICAgICAgIC8vIHJ1bGUgYWJvdmUuIFtQaGFzZSAyIFNjb3JlL05QUyBvdmVyaGF1bCwgMjAyNi0wNy0xMV1cbiAgICAgICAgPiAuZmUtZ3JhZGUtcm93ICsgLmZlLWdyYWRlLXJvdyxcbiAgICAgICAgPiAuZmUtZ3JhZGUtcm93ICsgLmZlLWFuc3dlci1yb3ctLWFkZGluZyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDhweDtcblxuXG4gICAgfVxuXG4gICAgLyogVHJhY2sgKi9cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8qIEhhbmRsZSAqL1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzNiMjU3YTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cblxuICAgIC8qIEhhbmRsZSBvbiBob3ZlciAqL1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzNiMjU3YTtcbiAgICB9XG59XG5cbi5mZS1zZWxlY3RhYmxlLXdyYXBwZXIge1xuXG5cbiAgICAuZmUtc2VsZWN0YWJsZSB7XG5cbiAgICAgICAgYm9yZGVyOiAxcHggIzNmNDY5YyBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZzogMS4yNWVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICAgICAgZ2FwOiAxZW07XG5cbiAgICAgICAgLmZlLXNlbGVjdGFibGUtLWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxZW07XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZmUtc2VsZWN0YWJsZS0tdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6ICMzZjQ2OWM7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZmUtc2VsZWN0YWJsZS0tZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgY29sb3I6ICM2NjU4NGU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbWVkaXVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5mZS1zZWxlY3RhYmxlLWJpZy1pY29uIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgLmZlLXNlbGVjdGFibGUtLWltYWdlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmZlLXNlbGVjdGFibGUtYm9keSB7fVxuXG4gICAgfVxuXG4gICAgLmZlLXNlbGVjdGFibGUtaW5wdXQ6Y2hlY2tlZCsuZmUtc2VsZWN0YWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlNmU4ZmY7XG4gICAgICAgIGJvcmRlcjogMnB4ICMzZjQ2OWMgc29saWQ7XG4gICAgfVxuXG4gICAgLmZlLXNlbGVjdGFibGUtaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBub25lXG4gICAgfVxufVxuXG4uZmUtaGVyby1idXR0b24ge1xuICAgIGJvcmRlcjogMXB4ICMzZjQ2OWMgc29saWQ7XG4gICAgYmFja2dyb3VuZDogI2U2ZThmZjtcblxuICAgIGJvcmRlci1yYWRpdXM6IC42MjVyZW07XG4gICAgcGFkZGluZzogMmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzNmNDY5YztcblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCAjM2Y0NjljIHNvbGlkO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZDNkOGZmO1xuICAgIH1cblxuICAgIC5tZGkge1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICB9XG5cbn1cblxuLmZlLXByb3BlcnR5LWNvbG9yIHtcbiAgICAuZmUtY29sb3ItbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogLjVlbTtcblxuICAgICAgICAuZmUtY29sb3Itd3JhcHBlciB7XG5cblxuICAgICAgICAgICAgLmZlLWNvbG9yIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcblxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4ICNmZmZmZmYgc29saWQ7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogI2ZmZmZmZiBzb2xpZDtcblxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mZS1jb2xvci1zZWxlY3RvciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCsuZmUtY29sb3Ige1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAjM2Q0NDlkIHNvbGlkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cblxuXG5cblxuXG4gICAgfVxufVxuXG4uZ2FwIHtcbiAgICAmLTEge1xuICAgICAgICBnYXA6IDFlbTtcbiAgICB9XG59XG5cbi5mZS1zZXR0aW5ncy10aXRsZSB7XG4gICAgY29sb3I6ICM0MTQ2OTY7XG4gICAgZm9udC1zaXplOiAxZW07XG5cbiAgICAuZmUtc2V0dGluZ3MtZGVzY3JpcHRpb24taWNvbiB7XG4gICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWU4ZTAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG59XG5cbi5mZS1zZXR0aW5ncy1zd2l0Y2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiAzNHB4O1xuXG4gICAgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAmKy5zbGlkZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MTQ2OTY7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xuICAgICAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjZweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMXM7XG4gICAgICAgIHRyYW5zaXRpb246IC4xcztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzRweDtcbiAgICB9XG5cbiAgICAuc2xpZGVyOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICBib3R0b206IDNweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjRzO1xuICAgICAgICB0cmFuc2l0aW9uOiAuNHM7XG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgfVxuXG59XG5cbi5mZS1kZWJ1Zy1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBjb2xvcjogIzAwMDtcblxuICAgIHRvcDogMWVtO1xuICAgIHJpZ2h0OiAxZW07XG4gICAgei1pbmRleDogMTAwO1xuICAgIHpvb206ICRwYWdlLXJlc29sdXRpb247XG5cbiAgICAuZmUtZGVidWcge1xuXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcblxuXG4gICAgICAgIC5mZS1kZWJ1Zy1jb250cm9scyB7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjM2IyNTdhO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAuNWVtIC41ZW0gMCAwO1xuXG5cbiAgICAgICAgICAgIC5mZS1kZWJ1Zy1jb250cm9sLW9wdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogLjVlbSAxZW07XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuZmUtZGVidWctaXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4ICM3MjcyOTkgc29saWQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAuMmVtIC41ZW07XG5cblxuICAgICAgICAgICAgJi0tdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMjAyNDRkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWVkaXVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0MTQ5OWE7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC40ZW0gMC44ZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC43NWVtO1xuICAgICAgICAgICAgfVxuXG5cblxuICAgICAgICAgICAgJi0tY2hpbGQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNiNGJiZDg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4yZW0gMmVtO1xuXG5cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmUtY2FyZCAuZmUtY2FyZC10YWJzIHtcblxuICAgIGJhY2tncm91bmQ6ICM0MDQ5OWE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwIDFlbTtcblxuXG4gICAgLmZlLWNhcmQtdGFiIHtcbiAgICAgICAgY29sb3I6ICNGZmY7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0MDQ5OWE7XG4gICAgICAgIHBhZGRpbmc6IDEuNWVtIDEuMjVlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbjogMCAxZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzNTNkODM7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNDA0OTlhO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcblxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mZS1kaXZpZGVyIHtcbiAgICAkcHJpbWFyeTogIzNmNDY5YztcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgbWFyZ2luOiA1cHg7XG4gICAgfVxufVxuXG4vLyBSZXBsYWNlZCBieSB0aGUgcWRuYXByby1zbGlkZXIgY29tcG9uZW50IChzZWUgQWJzdHJhY3RSYW5nZS52dWUpLiBbS2ltIDExLjA3LjIwMjZdXG4uZmUtcmFuZ2UtY3VycmVudC12YWx1ZSB7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIC8vIFJlc2V0IHRoZSA8cD4gdGFnJ3MgaW5oZXJpdGVkIGJvb3RzdHJhcCBtYXJnaW4tYm90dG9tIHNvIGl0IGRvZXNuJ3QgYWRkXG4gICAgLy8gZXh0cmEgd2hpdGVzcGFjZSBiZWxvdyB0aGUgcm93IG9uIHRvcCBvZiAuZmUtcmFuZ2Utcm93J3Mgb3duIHBhZGRpbmcuXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAvLyBCcmFuZCBwdXJwbGUsIGhhcmRjb2RlZCBsaWtlIHRoZSBvdGhlciBvbmUtb2ZmIGNvbG9ycyBpbiB0aGlzIGZpbGUg4oCUIG5vXG4gICAgLy8gZ2xvYmFsICRwcmltYXJ5IHZhcmlhYmxlIGlzIGluIHNjb3BlIGhlcmUgKHNlZSAuZmUtZGl2aWRlciBhYm92ZSwgd2hvc2VcbiAgICAvLyAkcHJpbWFyeSBpcyBhIExPQ0FMIHZhcmlhYmxlIHNjb3BlZCB0byB0aGF0IG9uZSBibG9jayBvbmx5KS5cbiAgICBjb2xvcjogIzQwNDk5YTtcbn1cblxuLy8gQ29tcGFjdCB2ZXJ0aWNhbCByaHl0aG0gZm9yIHRoZSByYW5nZS9zbGlkZXIgc2V0dGluZyByb3cgKFBob3RvLnBocCdzXG4vLyBpbWFnZV9xdWFsaXR5KSwgdGlnaHRlbmVkIHBlciBLaW0ncyByZXZpZXcgMTEuMDcuMjAyNjogdGl0bGUvc3ViIHNhdCAxNnB4XG4vLyAoYm9vdHN0cmFwIG1iLTMpIGFib3ZlIHRoZSBzbGlkZXIgYW5kIHRoZSB3aG9sZSByb3cgY2FycmllZCBhIDI0cHhcbi8vIG1iLTQvbXQtNCBnYXAg4oCUIGJvdGggZmFyIGxvb3NlciB0aGFuIGV2ZXJ5IG90aGVyIHNldHRpbmcgcm93IGluIHRoaXMgbW9kYWwuXG4vLyBNYXRjaCAuZmUtc2V0LXJvdydzIDEycHggdG9wL2JvdHRvbSByaHl0aG0gKHNlZSBmdXJ0aGVyIGRvd24gdGhpcyBmaWxlKVxuLy8gaW5zdGVhZCBvZiB0aGUgb2xkIGJvb3RzdHJhcCB1dGlsaXR5IGNsYXNzZXMuXG4uZmUtbm8gLmZlLXJhbmdlLXJvdyB7XG4gICAgcGFkZGluZzogMTJweCAwO1xufVxuLmZlLW5vIC5mZS1yYW5nZS1ibG9jayAucWRuYXByby1tb2RhbC10b2dnbGUtdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuXG50YWJsZS5mZS1oYW5kb3Zlci10cmlnZ2VyLWxpc3Qge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICMwMDA7XG5cbiAgICB0ciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlM2ViO1xuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0Ym9keSB0ciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNERURFREU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmUtbGlzdC1hY3Rpb24ge1xuICAgICAgICBjb2xvcjogIzQxNDk5YTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMjgyZDY2O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuXG5cblxuLmZlLXRyaWdnZXItZWRpdG9yLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBtaW4td2lkdGg6IDkwMHB4O1xuXG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG5cbiAgICAuYnRuLWFkZC10cmlnZ2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2NiY2NjYjtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYmRiZGJkO1xuXG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5Nzk3OTc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuLXJlbW92ZS10cmlnZ2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2NkNWU2ODtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDogIzk5NDU0ZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM4MDNhNDE7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLnRyaWdnZXItY29uZGl0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuXG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cblxuICAgICAgICAudHJpZ2dlci1jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG5cbiAgICAgICAgICAgICYuY29sdW1uLWZsZXgge1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXG4gICAgICAgICAgICB9XG5cblxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcGFyYXRvciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBkYXNoZWQgI2QxZDRlNlxuICAgICAgICB9XG5cbiAgICAgICAgLnRyaWdnZXItY29uZGl0aW9uLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogMjAwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IGRhc2hlZCAjZDFkNGU2O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5sYXN0LXRyaWdnZXIge1xuICAgICAgICAgICAgLnRyaWdnZXItY29uZGl0aW9uLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50cmlnZ2VyLXJlbW92YWJsZSB7XG4gICAgICAgICAgICAuYnRuLXJlbW92ZS10cmlnZ2VyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlY2VjZWM7XG5cbiAgICAgICAgICAgICAgICAuYnRuLXJlbW92ZS10cmlnZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb25kaXRpb24tc2VsZWN0IHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgLnZzX19kcm9wZG93bi10b2dnbGUge1xuICAgICAgICAgICAgcGFkZGluZzogLjc1cmVtIDEuMzByZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNDM0Nzk2O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZzX19zZWxlY3RlZC1vcHRpb25zIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cblxuICAgICAgICB9XG5cbiAgICAgICAgLnZzX19zZWxlY3RlZCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIH1cblxuICAgICAgICAmLnZzLS1vcGVuIC52c19fc2VsZWN0ZWQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZzX19hY3Rpb25zIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiAjRkZGO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuY29uZGl0aW9uIHtcbiAgICAgICAgcGFkZGluZzogLjc1cmVtIDEuMzByZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICM0MzQ3OTY7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYuY29uZGl0aW9uLXNlY29uZGFyeSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYjRiNGI0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlNmU4ZmQ7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXI6IDJweCAjNDM0Nzk2IHNvbGlkO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jb25kaXRpb24tc2Vjb25kYXJ5OjpiZWZvcmUsXG4gICAgICAgICYuY29uZGl0aW9uLXNlY29uZGFyeTo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggI2I0YjRiNCBzb2xpZDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY29uZGl0aW9uLWNvbm5lY3Rpb24tdG9wOjpiZWZvcmUsXG4gICAgICAgICYuY29uZGl0aW9uLWNvbm5lY3Rpb24teTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jb25kaXRpb24tY29ubmVjdGlvbi1ib3R0b206OmFmdGVyLFxuICAgICAgICAmLmNvbmRpdGlvbi1jb25uZWN0aW9uLXk6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gVHJhbnNsYXRpb24gUGFuZWwg4oCUIHJpZ2h0LXNpZGUgc2xpZGUtaW4gcGFuZWxcbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuXG4uZmUtdHJhbnNsYXRlLWJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYtLWluY29tcGxldGU6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNHB4O1xuICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI2VmNDQ0NDtcbiAgICAgICAgYW5pbWF0aW9uOiBmZS1wdWJsaXNoLXB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cbn1cblxuLmZlLXRyYW5zbGF0aW9uLXBhbmVsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNDIwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzIsIDIzNSwgMjUyLCAwLjc4KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDApO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB6LWluZGV4OiAxMDUwO1xuICAgIGJveC1zaGFkb3c6IC04cHggMCAzMnB4IHJnYmEoNDAsIDQ2LCAxMDAsIDAuMTgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5mZS10cC1zbGlkZS1lbnRlci1hY3RpdmUsXG4uZmUtdHAtc2xpZGUtbGVhdmUtYWN0aXZlIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjQwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cbi5mZS10cC1zbGlkZS1lbnRlcixcbi5mZS10cC1zbGlkZS1lbnRlci1mcm9tLFxuLmZlLXRwLXNsaWRlLWxlYXZlLXRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG4uZmUtdHAtc2xpZGUtZW50ZXItdG8sXG4uZmUtdHAtc2xpZGUtbGVhdmUsXG4uZmUtdHAtc2xpZGUtbGVhdmUtZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4vLyDilIDilIAgSGVhZGVyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmZlLXRwLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDExcHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCA3MywgMTU0LCAwLjU1KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZ2FwOiA5cHg7XG59XG4uZmUtdHAtaGVhZGVyLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbn1cbi5mZS10cC1oZWFkZXItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZsZXg6IDE7XG59XG4uZmUtdHAtY2xvc2Uge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogNHB4IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbn1cblxuLy8g4pSA4pSAIEF1dG8tdHJhbnNsYXRlIGJ1dHRvbiAoaW4gaGVhZGVyKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5mZS10cC1hdC1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA1cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMCk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBpbnRlciwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTYwbXMsIGJhY2tncm91bmQgMTYwbXMsIGNvbG9yIDE2MG1zO1xuICAgIC5tZGkgeyBmb250LXNpemU6IDE1cHg7IH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTApO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgJi0tYWN0aXZlLCAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcwKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU1O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZlLXRwLXJvdGF0ZSB7XG4gICAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgdG8gICB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cbi5mZS10cC1hdC1zcGluIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYW5pbWF0aW9uOiBmZS10cC1yb3RhdGUgMC44cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi8vIOKUgOKUgCBBdXRvLXRyYW5zbGF0ZSBiYXIgKGNvbmZpcm0gLyByZXN1bHQgc3RyaXApIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmZlLXRwLWF0LWJhciB7XG4gICAgcGFkZGluZzogOXB4IDE0cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSg2NSwgNzMsIDE1NCwgMC4xMik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNjUsIDczLCAxNTQsIDAuMTUpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzNmNDk5YTtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgICYtLWRvbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxNDAsIDkwLCAwLjEwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgzNCwgMTQwLCA5MCwgMC4xOCk7XG4gICAgICAgIGNvbG9yOiAjMWE3YTUwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgLm1kaSB7IGZvbnQtc2l6ZTogMTVweDsgfVxuICAgIH1cbiAgICAmLS1lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTk2LCA1NCwgNDIsIDAuMTApO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDE5NiwgNTQsIDQyLCAwLjE4KTtcbiAgICAgICAgY29sb3I6ICNjNDM2MmE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICAubWRpIHsgZm9udC1zaXplOiAxNXB4OyB9XG4gICAgfVxufVxuLmZlLXRwLWF0LWJhci1xdWVzdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uZmUtdHAtYXQtYmFyLWJ0bnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA2cHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuLmZlLXRwLWF0LWJhci1idG4ge1xuICAgIGJhY2tncm91bmQ6ICMzZjQ5OWE7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC1mYW1pbHk6IGludGVyLCBzYW5zLXNlcmlmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogIzMxMzk3ZTsgfVxuICAgICYtLWFsbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjUsIDczLCAxNTQsIDAuMTUpO1xuICAgICAgICBjb2xvcjogIzNmNDk5YTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2NSwgNzMsIDE1NCwgMC4zMCk7XG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDY1LCA3MywgMTU0LCAwLjI1KTsgfVxuICAgIH1cbiAgICAmLS1jYW5jZWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogcmdiYSg2MywgNzMsIDE1NCwgMC42NSk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAjM2Y0OTlhOyB9XG4gICAgfVxufVxuXG4vLyBTbGlkZSB0cmFuc2l0aW9uIGZvciB0aGUgYmFyXG4uZmUtdHAtYXQtc2xpZGUtZW50ZXItYWN0aXZlLCAuZmUtdHAtYXQtc2xpZGUtbGVhdmUtYWN0aXZlIHtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDIwMG1zIGVhc2UsIG9wYWNpdHkgMjAwbXMgZWFzZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZlLXRwLWF0LXNsaWRlLWVudGVyLCAuZmUtdHAtYXQtc2xpZGUtbGVhdmUtdG8ge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbn1cbi5mZS10cC1hdC1zbGlkZS1lbnRlci10bywgLmZlLXRwLWF0LXNsaWRlLWxlYXZlIHtcbiAgICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vLyDilIDilIAgTGFuZ3VhZ2UgcGlsbHMgKHNsaWRpbmcgaW5kaWNhdG9yLCBtaXJyb3JzIHZlcnNpb24tbG9nIGZpbHRlciBiYXIpIOKUgFxuLmZlLXRwLWxhbmctYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA0cHg7XG4gICAgcGFkZGluZzogOHB4IDE0cHggOHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41MCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjE2LCAyMTksIDIzNywgMC43MCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG4uZmUtdHAtbGFuZy1pbmRpY2F0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZThlYWZkO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMDtcbiAgICAvLyB0cmFuc2l0aW9uIGFybWVkIGJ5IEpTIGFmdGVyIGZpcnN0IHBvc2l0aW9uXG59XG4uZmUtdHAtbGFuZy10YWIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBhZGRpbmc6IDVweCAxM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjODg5MGI4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAxNTBtcztcbiAgICAmLS1hY3RpdmUge1xuICAgICAgICBjb2xvcjogIzQwNDk5YTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi8vIOKUgOKUgCBDb2x1bW4gaGVhZGVycyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5mZS10cC1jb2wtaGVhZGVycyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiYSgyMTYsIDIxOSwgMjM3LCAwLjcwKTtcbn1cbi5mZS10cC1jb2wtaCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM0MTQ5OWE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2Q4ZGJlZDtcbiAgICB9XG59XG4uZmUtdHAtbWlzc2luZy1waWxsIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZkZjBkYztcbiAgICBjb2xvcjogI2I0N2ExNDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZThhMzIwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi8vIOKUgOKUgCBDYXJkIGxpc3Qg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uZmUtdHAtYm9keSB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDdweDtcbn1cblxuLmZlLXRwLWNhcmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDBkM2VhO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLW5vZGUtY29sb3IsICM0MTQ5OWEpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTIwbXM7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDY1LCA3MywgMTU0LCAwLjE0KTtcbiAgICB9XG4gICAgJi0tc2VsZWN0ZWQge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tbm9kZS1jb2xvciwgIzQxNDk5YSk7XG4gICAgfVxuICAgICYtLW1pc3Npbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmVmZGZiO1xuICAgIH1cbiAgICAmLS1zcG90bGlnaHQge1xuICAgICAgICBhbmltYXRpb246IGZlLXRwLXNwb3RsaWdodCA5MDBtcyBlYXNlLW91dCBmb3J3YXJkcztcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmUtdHAtc3BvdGxpZ2h0IHtcbiAgICAwJSAgIHsgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNjUsIDczLCAxNTQsIDAuNTUpOyB9XG4gICAgNjAlICB7IGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDY1LCA3MywgMTU0LCAwLjI1KTsgfVxuICAgIDEwMCUgeyBib3gtc2hhZG93OiBub25lOyB9XG59XG5cbi8vIENhcmQgaGVhZGVyOiB0eXBlIGJhZGdlICsgbm9kZSBpZFxuLmZlLXRwLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDdweDtcbiAgICBwYWRkaW5nOiA2cHggMTBweCA2cHggOHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNjUsIDczLCAxNTQsIDAuMDYpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTRlNmY0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mZS10cC1iYWRnZSB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5mZS10cC1ub2RlLWlkIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICM5MDk5YzA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5mZS10cC1zYXZlLWluZGljYXRvciB7XG4gICAgd2lkdGg6IDdweDtcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgJi0tc2F2aW5nIHsgYmFja2dyb3VuZDogI2U4YTMyMDsgfVxuICAgICYtLXNhdmVkICB7IGJhY2tncm91bmQ6ICMzZTllNmU7IH1cbiAgICAmLS1lcnJvciAgeyBiYWNrZ3JvdW5kOiAjYzQzNjJhOyB9XG59XG5cbi8vIOKUgOKUgCBUd28tY29sdW1uIGxheW91dCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5mZS10cC1jb2xzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbn1cblxuLmZlLXRwLWNvbCB7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgJi0tdGFyZ2V0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y0ZjVmYjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTRlNmY0O1xuICAgIH1cbn1cblxuLy8g4pSA4pSAIElucHV0cyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5mZS10cC1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBwYWRkaW5nOiA0cHggN3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZGQwZTg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMxZTI0NjAgIWltcG9ydGFudDtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIHNhbnMtc2VyaWY7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxMjBtcywgYmFja2dyb3VuZCAxMjBtcztcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MTQ5OWE7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDY1LCA3MywgMTU0LCAwLjEyKTtcbiAgICB9XG4gICAgJi0tc3ViIHtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6ICM2NjcwYTA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkOGRiZWQ7XG4gICAgfVxuICAgICYtLWFucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICB9XG4gICAgJi0tbWlzc2luZyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2U4YTMyMDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmNmMztcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICNjODk0MzA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZlLXRwLWNvbC0tdGFyZ2V0ICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVmMGZhO1xuICAgICAgICBib3JkZXItY29sb3I6ICNjOGNiZGY7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzQxNDk5YTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZmUtdHAtY29sLS10YXJnZXQgJi5mZS10cC1pbnB1dC0tbWlzc2luZyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZjZjM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2U4YTMyMDtcbiAgICB9XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogI2IwYjVjYztcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgIH1cbiAgICAmLS1zdWI6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgfVxuICAgICYtLWFuczo6cGxhY2Vob2xkZXIge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgfVxufVxuXG4vLyDilIDilIAgQW5zd2VyIG9wdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uZmUtdHAtYW5zLWRpdmlkZXIge1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICNlNGU2ZjQ7XG4gICAgbWFyZ2luOiAycHggMDtcbn1cbi5mZS10cC1hbnMtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogNnB4O1xuICAgICYtLXRhcmdldCB7IHBhZGRpbmctbGVmdDogMDsgfVxufVxuLmZlLXRwLWFucy1kb3Qge1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi10b3A6IDExcHg7XG59XG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gRkUtTk0gIOKAlCAgTm9kZSBlZGl0IG1vZGFsICAoZnJvc3RlZCBnbGFzcywgdHdvLWNvbHVtbiBsYXlvdXQpXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcblxuLmZlLW5tLWhvbGRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDkxMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBob2xkZXIgaXMgcGFzcy10aHJvdWdoOyBjaGlsZHJlbiByZS1lbmFibGVcbn1cblxuLmZlLW5tLWJhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMCwgMjQsIDYwLCAwLjM1KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHotaW5kZXg6IDA7XG59XG5cbi8vIOKUgOKUgCBNb2RhbCBzaGVsbCDilIDilIBcbi5mZS1ubSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IG1pbig4NjBweCwgOTR2dyk7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDQ4cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIEZyb3N0ZWQgZ2xhc3NcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMjQ2LCAyNTIsIDAuODQpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KSBzYXR1cmF0ZSgxLjQpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpIHNhdHVyYXRlKDEuNCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDI0cHggNjRweCByZ2JhKDIwLCAyNCwgNjAsIDAuMjIpLFxuICAgICAgICAwIDJweCA4cHggcmdiYSgyMCwgMjQsIDYwLCAwLjEwKSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzApO1xuXG4gICAgLy8gQW5ub3RhdGlvbiB2YXJpYW50OiBuYXJyb3dlciwgeWVsbG93LXRpbnRlZFxuICAgICYuZmUtbm0tLWFubm90YXRpb24ge1xuICAgICAgICB3aWR0aDogbWluKDQ4MHB4LCA5NHZ3KTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1MywgMjM1LCAwLjkyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIyNCwgMjAwLCA2NCwgMC40NSk7XG4gICAgfVxufVxuXG4vLyDilIDilIAgSGVhZGVyIOKUgOKUgFxuLmZlLW5tLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweCAxMnB4IDE2cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTgwLCAxODgsIDIyMCwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmZlLW5tLXR5cGUtcGlsbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNjQsIDczLCAxNTQsIDAuMTApO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjQsIDczLCAxNTQsIDAuMTgpO1xufVxuXG4uZmUtbm0tdHlwZS1pY29uIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5mZS1ubS10eXBlLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMmEyZTVlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7XG59XG5cbi5mZS1ubS10eXBlLWlkIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICM5MDk3Yjg7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjtcbn1cblxuLy8gKFJlbW92ZWQgdGhlIGxlZ2FjeSAuZmUtbm0tY29sb3JzIGJsb2NrOiBpdCBkdXBsaWNhdGVkIHRoZSBiYXNlIGNvbG9yLXBpY2tlclxuLy8gQ1NTIHdpdGggYW4gb3V0ZGF0ZWQsIGNvbnRyYXN0LXVuYXdhcmUgc2VsZWN0IHN0YXRlLiBUaGUgZmUtbm0gbW9kYWwgaXMgZ29uZVxuLy8g4oCUIE5vZGVPcHRpb25zIGlzIHRoZSB3aXphcmQgKC5mZS1ubykgbm93LCBhbmQgc3R5bGUtdjEuY3NzIGFscmVhZHkgcHJvdmlkZXNcbi8vIHRoZSB1cGRhdGVkIHFkbmFwcm8tY29sb3ItcGlja2VyLiBUaGUgZmxvd2VkaXRvciBvbmx5IG92ZXJyaWRlcyBzd2F0Y2hcbi8vIGNvbG91cnMsIHNlZSAuZmUtbm8tY29sb3JzIGJlbG93LiBbS2ltIDIwMjYtMDYtMThdKVxuXG4uZmUtbm0tY2xvc2UtYnRuLFxuLmZlLW5tLWJhY2stYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNXB4O1xuICAgIHBhZGRpbmc6IDVweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzY2NztcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcywgY29sb3IgMTIwbXM7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSg2NCwgNzMsIDE1NCwgMC4wOCk7IGNvbG9yOiAjMmEyZTVlOyB9XG5cbiAgICAubWRpIHsgZm9udC1zaXplOiAxNnB4OyB9XG59XG5cbi5mZS1ubS1jbG9zZS1idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICM4ODg7XG59XG5cbi8vIOKUgOKUgCBCb2R5IOKUgOKUgFxuLmZlLW5tLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgLy8gVW5pZm9ybSBwYWRkaW5nIHNvIHRoZSB3aGl0ZSBjb250ZW50IGNhcmQgKGFuZCB0aGUgaW5mbyBwYW5lbCkgaGF2ZVxuICAgIC8vIGJyZWF0aGluZyByb29tIGZyb20gdGhlIGZyb3N0ZWQtZ2xhc3MgbW9kYWwgZWRnZSBvbiBhbGwgc2lkZXMuXG4gICAgcGFkZGluZzogMTBweDtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi8vIEluZm8gcGFuZWwg4oCUIGxlZnQgY29sdW1uXG4uZmUtbm0taW5mbyB7XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBhZGRpbmc6IDIwcHggMTZweCAyMHB4IDIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTRweDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDE4MCwgMTg4LCAyMjAsIDAuMzApO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMCk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmZlLW5tLWluZm8taWxsdSB7XG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG59XG5cbi5mZS1ubS1pbmZvLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMTEuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM1NTVlODg7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8vIENvbnRlbnQgcGFuZWwg4oCUIHJpZ2h0IGNvbHVtbiwgd2hpdGUgcm91bmRlZCBjYXJkIChtaXJyb3JzIC5tb2RhbC13aW5kb3cpXG4uZmUtbm0tY29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDAuNXB4IHNvbGlkICNjNGM3Y2M7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcblxuICAgIC8vIEZ1bGwgd2lkdGggZm9yIGFubm90YXRpb24gKG5vIGluZm8gcGFuZWwpIOKAlCBzYW1lIGNhcmQgdHJlYXRtZW50XG4gICAgJi5mZS1ubS1jb250ZW50LS1mdWxsIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAyNHB4O1xuICAgIH1cblxuICAgIC8vIE5ldXRyYWxpc2UgdGhlIG9sZCBsZWdhY3kgdG9vbGJhciAuZmUtc2VjdGlvbiBjaHJvbWUgKGJvcmRlciwgcGFkZGluZykuXG4gICAgLy8gSW4gdGhlIG5ldyBtb2RhbCB0aGUgc2VjdGlvbiB3cmFwcGVyIGlzIHB1cmVseSBzdHJ1Y3R1cmFsLlxuICAgIC5mZS1zZWN0aW9uIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBUaGUgZmUtY2FyZCBhbmQgZmUtY2FyZC1ib2R5IHdyYXBwZXJzIGRvbid0IG5lZWQgZXh0cmEgc3BhY2luZyBoZXJlIOKAlFxuICAgIC8vIHRoZSBjb250ZW50IHBhbmVsIHBhZGRpbmcgYWxyZWFkeSBwcm92aWRlcyB0aGUgYnJlYXRoaW5nIHJvb20uXG4gICAgLmZlLWNhcmQtYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gcWRuYXByby1tb2RhbC1sYWJlbCDigJQgc2NvcGVkIGhlcmUgYmVjYXVzZSB0aGUgcnVsZSBpbiBzdHlsZS12MS5jc3NcbiAgICAvLyBvbmx5IGFwcGxpZXMgaW5zaWRlIC5xZG5hcHJvLW1vZGFsICh3aGljaCB0aGUgZmxvdyBlZGl0b3IgaXMgbm90KS5cbiAgICBsYWJlbC5xZG5hcHJvLW1vZGFsLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIGNvbG9yOiAjMGIwYjBkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG5cbiAgICAgICAgLy8gUmVxdWlyZWQgYXN0ZXJpc2sg4oCUIG1hdGNoZXMgdGhlIHFkbmFwcm8taW5wdXQgLmlucHV0LXJlcXVpcmVkIGNvbG91ci5cbiAgICAgICAgLmZlLWxhYmVsLXJlcXVpcmVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAjYzY1YTVhO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFB1c2ggdGhlIHF1ZXN0aW9uIGhlYWRlciArIGZpZWxkIGRvd24gc28gdGhlIGZpZWxkIGNsZWFycyB0aGUgZmxvYXRlZFxuICAgIC8vIGNvbG91ciBwaWNrZXIsIGdpdmluZyBzeW1tZXRyaWMgc3BhY2luZzogKGZyYW1lLXRvcCDihpIgY29sb3VyIHBpY2tlcikg4omIXG4gICAgLy8gKGNvbG91ciBwaWNrZXIg4oaSIGZpZWxkKS4gVGhlIGNvbG91ciBwaWNrZXIgc3RheXMgYW5jaG9yZWQgdG9wLXJpZ2h0LlxuICAgIGxhYmVsLnFkbmFwcm8tbW9kYWwtbGFiZWwuZmUtbm0tcS1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIycHg7XG4gICAgfVxufVxuXG4vLyDilIDilIAgRm9vdGVyIOKUgOKUgFxuLmZlLW5tLWZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICAgICAgIC8vIGFuY2hvciBmb3IgdGhlIGNlbnRlcmVkIHBsYXkgYnV0dG9uXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTgwLCAxODgsIDIyMCwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQwKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBnYXA6IDhweDtcbn1cblxuLy8gQ2VudGVyZWQgcm91bmQgXCJTdGFydCB2YW5hZiBoaWVyXCIgcGxheSBidXR0b24gaW4gdGhlIGZvb3RlclxuLmZlLW5tLWZvb3Rlci1wbGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICM0MDQ5OWE7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMsIHRyYW5zZm9ybSAxNDBtcywgYm94LXNoYWRvdyAxNDBtcztcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSg2NCwgNzMsIDE1NCwgMC4zMCk7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcblxuICAgIC5tZGkgeyBsaW5lLWhlaWdodDogMTsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzNTNlOGM7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgxLjA4KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDY0LCA3MywgMTU0LCAwLjQwKTtcbiAgICB9XG59XG5cbi5mZS1ubS1mb290ZXItbGVmdCxcbi5mZS1ubS1mb290ZXItcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbn1cblxuLy8gQWR2YW5jZWQgc2V0dGluZ3MgYnV0dG9uXG4uZmUtbm0tYWR2LWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCByZ2JhKDY0LCA3MywgMTU0LCAwLjM1KTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzQwNDk5YTtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zLCBib3JkZXItY29sb3IgMTIwbXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg2NCwgNzMsIDE1NCwgMC4wOCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQwNDk5YTtcbiAgICB9XG5cbiAgICAubWRpIHsgZm9udC1zaXplOiAxNHB4OyB9XG59XG5cbi8vIENhbmNlbCAvIFNhdmUgYnV0dG9uc1xuLmZlLW5tLWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA3cHggMThweDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTIwbXMsIGJveC1zaGFkb3cgMTIwbXM7XG5cbiAgICAmLS1jYW5jZWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDY0LCA3MywgMTU0LCAwLjA4KTtcbiAgICAgICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDY0LCA3MywgMTU0LCAwLjE0KTsgfVxuICAgIH1cblxuICAgICYtLXNhdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDA0OTlhO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoNjQsIDczLCAxNTQsIDAuMzApO1xuICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogIzMzM2Q4ODsgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDY0LCA3MywgMTU0LCAwLjQwKTsgfVxuICAgIH1cbn1cblxuXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIEZFLUFOU1dFUiAg4oCUICBBbnN3ZXIgb3B0aW9uIHJvd3MgaW4gdGhlIG5vZGUgbW9kYWxcbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuXG4uZmUtYW5zd2VyLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTRlZjtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYmZmO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1pbi1oZWlnaHQ6IDM4cHg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE0MG1zLCBib3gtc2hhZG93IDE0MG1zO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFNob3cgYWN0aW9ucyBvbiBob3ZlclxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNhOGIyZTg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDY0LCA3MywgMTU0LCAwLjEwKTtcblxuICAgICAgICAuZmUtYW5zd2VyLWFjdGlvbnMgeyBvcGFjaXR5OiAxOyBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gICAgICAgIC5mZS1hbnN3ZXItYWN0LS1kZWxldGUsXG4gICAgICAgIC5mZS1hbnN3ZXItYWN0LS11bmxpbmsgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9XG4gICAgfVxuXG4gICAgLy8gVW5saW5rZWQgc3RhdGU6IGFtYmVyIHRpbnRcbiAgICAmLS11bmxpbmtlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RkYjg0YTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmJmMDtcbiAgICB9XG5cbiAgICAvLyBDb25maXJtLWRlbGV0ZSBzdGF0ZTogcmVkIHRpbnRcbiAgICAmLS1jb25maXJtaW5nIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTRhMGEwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmNWY1O1xuICAgIH1cbn1cblxuLmZlLWFuc3dlci1kcmFnIHtcbiAgICBwYWRkaW5nOiAwIDVweCAwIDhweDtcbiAgICBjb2xvcjogI2NjYztcbiAgICBjdXJzb3I6IGdyYWI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmZlLWFuc3dlci1sYWJlbCB7XG4gICAgZmxleDogMTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzJhMmU1ZTtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiA5cHggNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWluLXdpZHRoOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCAjNDA0OTlhO1xuICAgIH1cblxuICAgICZbcmVhZG9ubHldIHsgY29sb3I6ICM2YTZlOWE7IGN1cnNvcjogZGVmYXVsdDsgfVxufVxuXG4vLyBDb25uZWN0aW9uIHBpbGxcbi5mZS1hbnN3ZXItY29ubiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDNweDtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmO1xuXG4gICAgJi0tbGlua2VkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2VlZjBmZjtcbiAgICAgICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgIC8vIExpbmtlZCBwaWxsIHRoYXQgaGFzIGEgcmVzb2x2YWJsZSB0YXJnZXQgcXVlc3Rpb246IHN1YnRsZSBob3ZlciBoaWdobGlnaHRcbiAgICAvLyAoY3Vyc29yIHN0YXlzIGRlZmF1bHQg4oCUIHRoZSB0b29sdGlwIGFwcGVhcmluZyBpcyBjdWUgZW5vdWdoKS5cbiAgICAmLS1saW5rZWQuZmUtYW5zd2VyLWNvbm4tLWhhcy10aXAge1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zO1xuXG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZTBlM2ZmOyB9XG4gICAgfVxuXG4gICAgJi0tZW1wdHkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmM2NkO1xuICAgICAgICBjb2xvcjogIzhhNmExMDtcbiAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkICNkZGI4NGE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcztcblxuICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogI2ZmZWVhMDsgfVxuICAgIH1cbn1cblxuLy8gTmV4dC1zdGVwIHJvdyAoT3BlbiBpbnZvZXIgLyBzaW5nbGUtbGluayBub2Rlcylcbi5mZS1uZXh0LXN0ZXAtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4uZmUtbmV4dC1zdGVwLXJlbW92ZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICNjNDM2MmE7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zO1xuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMTk2LCA1NCwgNDIsIDAuMDgpOyB9XG5cbiAgICAubWRpIHsgZm9udC1zaXplOiAxM3B4OyB9XG59XG5cbi8vIFRvb2x0aXAgb24gdGhlIGNvbm5lY3Rpb24gcGlsbCDigJQgc2hvd3MgdGhlIHRhcmdldCBub2RlJ3MgcXVlc3Rpb24uXG4vLyBwb3NpdGlvbjpmaXhlZCAoSlMtcG9zaXRpb25lZCBmcm9tIHRoZSBwaWxsJ3MgYm91bmRpbmcgcmVjdCkgc28gaXQgaXMgbmV2ZXJcbi8vIGNsaXBwZWQgYnkgLmZlLW5tLWNvbnRlbnQncyBvdmVyZmxvdy4gTm8gdHJhbnNmb3JtZWQgYW5jZXN0b3IgZXhpc3RzLCBzb1xuLy8gZml4ZWQgcmVzb2x2ZXMgYWdhaW5zdCB0aGUgdmlld3BvcnQuXG4uZmUtY29ubi10aXAge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA5MzAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIGNhbGMoLTEwMCUgLSAxMHB4KSk7XG4gICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICBwYWRkaW5nOiA3cHggMTFweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSg0MiwgNDYsIDk0LCAwLjk2KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDIwLCAyNCwgNjAsIDAuMjgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBhbmltYXRpb246IGZlLWNvbm4tdGlwLWluIDEyMG1zIGVhc2U7XG5cbiAgICAvLyBkb3dud2FyZCBhcnJvdyBjZW50ZXJlZCB1bmRlciB0aGUgYnViYmxlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDQyLCA0NiwgOTQsIDAuOTYpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmZS1jb25uLXRpcC1pbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgICB0byAgIHsgb3BhY2l0eTogMTsgfVxufVxuXG4vLyAjZmUtZHVwLXRpcCByZW1vdmVkIOKAlCBkdXBsaWNhdGUtbGlua3MgYmFkZ2UgdG9vbHRpcCBub3cgdXNlcyBHb0pTIG5hdGl2ZVxuLy8gdG9vbFRpcCAoZHVwVG9vbHRpcCBhZG9ybm1lbnQgaW4gZHVwbGljYXRlX2xpbmtzLmpzKSwgd2hpY2ggcG9zaXRpb25zIGl0c2VsZlxuLy8gd2l0aGluIHRoZSBkaWFncmFtIGxheWVyIGFuZCBpcyB1bmFmZmVjdGVkIGJ5IGJvZHkgeyB6b29tOjAuOCB9LlxuXG4vLyBIb3ZlciBhY3Rpb24gYnV0dG9ucyAoc2xpZGUtaW4gZnJvbSByaWdodClcbi5mZS1hbnN3ZXItYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMnB4O1xuICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTQwbXM7XG59XG5cbi5mZS1hbnN3ZXItYWN0IHtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTIwbXMsIGJvcmRlci1jb2xvciAxMjBtcywgY29sb3IgMTIwbXM7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAmLS11bmxpbmsge1xuICAgICAgICBjb2xvcjogIzlhNmExMDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjNjZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZjBkMDYwO1xuXG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZmRlOGEwOyBib3JkZXItY29sb3I6ICNkMGE4MjA7IH1cbiAgICB9XG5cbiAgICAmLS1kZWxldGUge1xuICAgICAgICBjb2xvcjogI2M5NDA0MDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZkZThlODtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZThiMGIwO1xuXG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZmNjOyBib3JkZXItY29sb3I6ICNjOTQwNDA7IH1cbiAgICB9XG59XG5cbi8vIElubGluZSBkZWxldGUgY29uZmlybSBiYXJcbi5mZS1hbnN3ZXItY29uZmlybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG59XG5cbi5mZS1hbnN3ZXItY29uZmlybS1pY29uIHtcbiAgICBjb2xvcjogI2M5NDA0MDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5mZS1hbnN3ZXItY29uZmlybS10ZXh0IHtcbiAgICBmbGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjYzk0MDQwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7XG59XG5cbi5mZS1hbnN3ZXItYnRuIHtcbiAgICBwYWRkaW5nOiA0cHggMTFweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcztcblxuICAgICYtLWNhbmNlbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmMGYxZjQ7XG4gICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMmRiO1xuICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogI2U0ZTZlZjsgfVxuICAgIH1cblxuICAgICYtLWRlbGV0ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNjOTQwNDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogI2E4MzAzMDsgfVxuICAgIH1cbn1cblxuLy8g4pSA4pSA4pSAIEZsb3cgRWRpdG9yIFByZXZpZXcgTW9kYWwg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5mZS1wbS1mYWRlLWVudGVyLWFjdGl2ZSxcbi5mZS1wbS1mYWRlLWxlYXZlLWFjdGl2ZSB7IHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgZWFzZTsgfVxuLmZlLXBtLWZhZGUtZW50ZXItZnJvbSxcbi5mZS1wbS1mYWRlLWxlYXZlLXRvICAgIHsgb3BhY2l0eTogMDsgfVxuXG4uZmUtcG0tYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAxMDEwMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxMiwgNDAsIDAuNzIpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC8vIEtlZXAgdGhlIGJhY2tkcm9wJ3Mgb3duIHNjcm9sbCBmcm9tIGNoYWluaW5nIHRvIHRoZSBwYWdlIGJlaGluZCBpdC5cbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xufVxuXG4uZmUtcG0tc2hlbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbn1cblxuLy8gRGV2aWNlIHN3aXRjaGVyICsgY2xvc2UgYmFyXG4uZmUtcG0tY2hyb21lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4uZmUtcG0tZGV2aWNlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xMCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjE2KTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogM3B4O1xufVxuXG4uZmUtcG0tZGV2aWNlLWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNjUpO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNDBtcywgY29sb3IgMTQwbXM7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjEyKTsgY29sb3I6ICNmZmY7IH1cblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yMCk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLDAsMCwwLjI1KTtcbiAgICB9XG59XG5cbi5mZS1wbS1jbG9zZS1idG4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xOCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTtcbiAgICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMsIGNvbG9yIDE0MG1zO1xuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMTYpOyBjb2xvcjogI2ZmZjsgfVxufVxuXG4vLyBUaGluIGRpdmlkZXIgYmV0d2VlbiBkZXZpY2UgYnV0dG9ucyBhbmQgdGhlIHpvb20gdG9nZ2xlIGluc2lkZSAuZmUtcG0tZGV2aWNlc1xuLmZlLXBtLWRldmljZS1zZXAge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yMCk7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuXG4vLyBEZXZpY2UgZnJhbWVzXG4uZmUtcG0tc3RhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5mZS1wbS1mcmFtZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICMxYTFiMmU7XG4gICAgYm9yZGVyOiAzcHggc29saWQgIzNhM2I1NTtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuMDYpLFxuICAgICAgICAwIDI0cHggODBweCByZ2JhKDAsMCwwLDAuNyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMjgwbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksXG4gICAgICAgICAgICAgICAgaGVpZ2h0IDI4MG1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLFxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXMgMjgwbXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIFBob25lIHBvcnRyYWl0IChkZWZhdWx0KVxuICAgICYtLXBob25lIHtcbiAgICAgICAgd2lkdGg6IDM3NXB4O1xuICAgICAgICBoZWlnaHQ6IDgxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0NHB4O1xuICAgIH1cblxuICAgIC8vIFRhYmxldCBwb3J0cmFpdFxuICAgICYtLXRhYmxldC1wb3J0cmFpdCB7XG4gICAgICAgIHdpZHRoOiA3NjhweDtcbiAgICAgICAgaGVpZ2h0OiAxMDI0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgfVxuXG4gICAgLy8gVGFibGV0IGxhbmRzY2FwZVxuICAgICYtLXRhYmxldC1sYW5kc2NhcGUge1xuICAgICAgICB3aWR0aDogMTAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDc2OHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgIH1cblxuICAgIC8vIFBob25lIGxhbmRzY2FwZVxuICAgICYtLXBob25lLWxhbmRzY2FwZSB7XG4gICAgICAgIHdpZHRoOiA4MTJweDtcbiAgICAgICAgaGVpZ2h0OiAzNzVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICB9XG5cbiAgICAvLyBEZXNrdG9wIOKAlCBuZWFybHkgdmlld3BvcnQtZmlsbGluZyAobm8gZml4ZWQgYXNwZWN0LCBubyB6b29tOyBDU1Mgc2l6ZXMgaXQpLlxuICAgICYtLWRlc2t0b3Age1xuICAgICAgICB3aWR0aDogbWluKDE2ODBweCwgOTZ2dyk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDE0MHB4KTtcbiAgICAgICAgbWF4LWhlaWdodDogMTEwMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIH1cbn1cblxuLmZlLXBtLW5vdGNoIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiAjMWExYjJlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxOHB4IDE4cHg7XG4gICAgei1pbmRleDogMjtcblxuICAgIC5mZS1wbS1mcmFtZS0tdGFibGV0LXBvcnRyYWl0ICYsXG4gICAgLmZlLXBtLWZyYW1lLS10YWJsZXQtbGFuZHNjYXBlICYsXG4gICAgLmZlLXBtLWZyYW1lLS1waG9uZS1sYW5kc2NhcGUgJixcbiAgICAuZmUtcG0tZnJhbWUtLWRlc2t0b3AgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uZmUtcG0tc2NyZWVuIHtcbiAgICBmbGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAuZmUtcG0tZnJhbWUtLXBob25lICYge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgIH1cbn1cblxuLy8gTm9uLXBob25lLXBvcnRyYWl0IGZyYW1lcyBoaWRlIHRoZSBub3RjaC9ob21lLWJhciDihpIgaW5zZXQgdGhlICh3aGl0ZSkgc2NyZWVuIGFcbi8vIGxpdHRsZSBzbyBjb250ZW50IGlzbid0IGZsdXNoIGFnYWluc3QgLyBjbGlwcGVkIGJ5IHRoZSBmcmFtZSBlZGdlLiBNaXJyb3JzIHRoZVxuLy8gYXBwLWxhdW5jaCBvdmVybGF5ICguYWwtc2NyZWVuKS4gUGhvbmUtcG9ydHJhaXQga2VlcHMgaXRzIG5vdGNoL2hvbWUtYmFyIGJlemVsLlxuLmZlLXBtLWZyYW1lLS10YWJsZXQtcG9ydHJhaXQgPiAuZmUtcG0tc2NyZWVuLFxuLmZlLXBtLWZyYW1lLS10YWJsZXQtbGFuZHNjYXBlID4gLmZlLXBtLXNjcmVlbixcbi5mZS1wbS1mcmFtZS0tZGVza3RvcCA+IC5mZS1wbS1zY3JlZW4ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMjJweDtcbn1cbi5mZS1wbS1mcmFtZS0tcGhvbmUtbGFuZHNjYXBlID4gLmZlLXBtLXNjcmVlbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAxNnB4O1xufVxuXG4uZmUtcG0taWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmUtcG0taG9tZS1iYXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBtYXJnaW46IDhweCBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gICAgLmZlLXBtLWZyYW1lLS10YWJsZXQtcG9ydHJhaXQgJixcbiAgICAuZmUtcG0tZnJhbWUtLXRhYmxldC1sYW5kc2NhcGUgJixcbiAgICAuZmUtcG0tZnJhbWUtLXBob25lLWxhbmRzY2FwZSAmLFxuICAgIC5mZS1wbS1mcmFtZS0tZGVza3RvcCAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIExvYWRpbmcgLyBlcnJvciBzdGF0ZSBpbnNpZGUgdGhlIHNjcmVlblxuLmZlLXBtLWxvYWRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBjb2xvcjogIzQwNDk5YTtcbn1cblxuLmZlLXBtLXNwaW5uZXIge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbn1cblxuLmZlLXBtLWVycm9yLWljb24ge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBjb2xvcjogI2M5NDA0MDtcbn1cblxuLmZlLXBtLWxvYWRpbmctdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4vLyBUb29sYmFyIHBsYXkgYnV0dG9uXG4uZmUtcHJldmlldy10b29sYmFyLWJ0biB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgJjpob3ZlciB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLy8gTm9kZSBtb2RhbCBcIlN0YXJ0IHZhbmFmIGhpZXJcIiBidXR0b25cbi5mZS1ubS1wcmV2aWV3LWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDVweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCByZ2JhKDY0LDczLDE1NCwwLjM1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY0LDczLDE1NCwwLjA3KTtcbiAgICBjb2xvcjogIzQwNDk5YTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNDBtcywgYm9yZGVyLWNvbG9yIDE0MG1zO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG5cbiAgICAubWRpIHsgZm9udC1zaXplOiAxNXB4OyB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg2NCw3MywxNTQsMC4xMyk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg2NCw3MywxNTQsMC41NSk7XG4gICAgfVxufVxuXG4vLyDilIDilIAgQWRkLWJhcjogcmVwbGFjZXMgXCJUb2V2b2VnZW4gQW50d29vcmRvcHRpZVwiIGJ1dHRvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5mZS1hZGQtYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMzhweDtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGJvcmRlcjogMS41cHggZGFzaGVkIHJnYmEoNzAsIDgyLCAyNDMsIDAuMzApO1xuICAgIGJhY2tncm91bmQ6ICNmYWZiZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjNDY1MmYzO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNTBtcywgYmFja2dyb3VuZCAxNTBtcztcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjBmMWZiO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNzAsIDgyLCAyNDMsIDAuNTUpO1xuXG4gICAgICAgIC5mZS1hZGQtYmFyLWNpcmNsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNDY1MmYzO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmUtYWRkLWJhci1jaXJjbGUge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSg3MCwgODIsIDI0MywgMC4xMik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAjNDY1MmYzO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTUwbXMsIGNvbG9yIDE1MG1zO1xufVxuXG5Aa2V5ZnJhbWVzIGZlLXB1Ymxpc2gtcHVsc2Uge1xuICAgIDAlLCAxMDAlIHsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI0NSwgMTU4LCAxMSwgMC43KTsgfVxuICAgIDUwJSAgICAgICB7IGJveC1zaGFkb3c6IDAgMCAwIDVweCByZ2JhKDI0NSwgMTU4LCAxMSwgMCk7IH1cbn1cblxuLy8g4pSA4pSAIFZlcnNpb24gbG9nIG1vZGFsICguZmUtdmwtKikg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5mZS12bC13cmFwIHtcbiAgICBmb250LWZhbWlseTogaW50ZXIsIHNhbnMtc2VyaWY7XG4gICAgbWluLWhlaWdodDogMTIwcHg7XG59XG5cbi5mZS12bC1sb2FkaW5nLFxuLmZlLXZsLWVycm9yLFxuLmZlLXZsLWVtcHR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNDhweCAxNnB4O1xuICAgIGNvbG9yOiAjODg5MGI4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBnYXA6IDhweDtcblxuICAgIC5tZGkgeyBmb250LXNpemU6IDE4cHg7IH1cbn1cblxuLmZlLXZsLWVycm9yIHsgY29sb3I6ICNjNDM2MmE7IH1cblxuLy8gVmVyc2lvbiBzZWN0aW9uXG4uZmUtdmwtc2VjdGlvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlN2Y1O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxufVxuXG4uZmUtdmwtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogMTBweCAxNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNmZkO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zO1xuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6ICNlY2VmZmU7IH1cblxuICAgIC5mZS12bC1zZWN0aW9uLS1vcGVuICYge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZTRlN2Y1O1xuICAgIH1cbn1cblxuLmZlLXZsLWNoZXZyb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzg4OTBiODtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXM7XG59XG5cbi5mZS12bC10aXRsZSB7XG4gICAgZmxleDogMTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICMyYTJlNWU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbn1cblxuLmZlLXZsLXRhZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgcGFkZGluZzogMXB4IDdweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJhY2tncm91bmQ6ICNlMGUzZmY7XG4gICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmZlLXZsLXRhZy1wdWIge1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICM4ODkwYjg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmZlLXZsLWNvdW50IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICNhMGE0Yjg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLy8gRXZlbnRzIGxpc3Qg4oCUIGhpZGRlbiB3aGVuIGNvbGxhcHNlZFxuLmZlLXZsLWV2ZW50cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiA2cHggMDtcblxuICAgIC5mZS12bC1zZWN0aW9uLS1vcGVuICYgeyBkaXNwbGF5OiBibG9jazsgfVxufVxuXG4uZmUtdmwtZXZlbnQtZW1wdHkge1xuICAgIHBhZGRpbmc6IDE2cHggMTRweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICNhMGE0Yjg7XG59XG5cbi5mZS12bC1ldmVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI4MHB4IDFmciBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiA3cHggMTRweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjFmODtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEwMG1zO1xuXG4gICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZjlmOWZkOyB9XG59XG5cbi5mZS12bC1ldmVudC1tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNXB4O1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmZlLXZsLXBpbGwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBiYWNrZ3JvdW5kOiAjZThlYWY4O1xuICAgIGNvbG9yOiAjNDA0OTlhO1xuXG4gICAgLy8gTm9kZSBldmVudHMg4oCUIGJsdWUtaXNoXG4gICAgJi5mZS12bC1waWxsLS1ub2RlLWNyZWF0ZWQgICAgeyBiYWNrZ3JvdW5kOiAjZDFmYWU1OyBjb2xvcjogIzA2NWY0NjsgfVxuICAgICYuZmUtdmwtcGlsbC0tbm9kZS1kZWxldGVkICAgIHsgYmFja2dyb3VuZDogI2ZlZTJlMjsgY29sb3I6ICM5OTFiMWI7IH1cbiAgICAmLmZlLXZsLXBpbGwtLW5vZGUtdHlwZS1jaGFuZ2VkIHsgYmFja2dyb3VuZDogI2VkZTlmZTsgY29sb3I6ICM1YjIxYjY7IH1cblxuICAgIC8vIExhYmVsIGV2ZW50cyDigJQgcHVycGxlXG4gICAgJi5mZS12bC1waWxsLS1sYWJlbC1jaGFuZ2VkLFxuICAgICYuZmUtdmwtcGlsbC0tc3VibGFiZWwtY2hhbmdlZCB7IGJhY2tncm91bmQ6ICNlZGU5ZmU7IGNvbG9yOiAjNWIyMWI2OyB9XG5cbiAgICAvLyBNZXRhXG4gICAgJi5mZS12bC1waWxsLS1tZXRhLWNoYW5nZWQgICAgeyBiYWNrZ3JvdW5kOiAjZmVmM2M3OyBjb2xvcjogIzkyNDAwZTsgfVxuXG4gICAgLy8gTGlua3NcbiAgICAmLmZlLXZsLXBpbGwtLWxpbmstY3JlYXRlZCxcbiAgICAmLmZlLXZsLXBpbGwtLWxpbmstY29ubmVjdGVkICB7IGJhY2tncm91bmQ6ICNkMWZhZTU7IGNvbG9yOiAjMDY1ZjQ2OyB9XG4gICAgJi5mZS12bC1waWxsLS1saW5rLWRpc2Nvbm5lY3RlZCxcbiAgICAmLmZlLXZsLXBpbGwtLWxpbmstZGVsZXRlZCAgICB7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjOTkxYjFiOyB9XG5cbiAgICAvLyBBbnN3ZXJzXG4gICAgJi5mZS12bC1waWxsLS1hbnN3ZXItYWRkZWQgICAgeyBiYWNrZ3JvdW5kOiAjZDFmYWU1OyBjb2xvcjogIzA2NWY0NjsgfVxuICAgICYuZmUtdmwtcGlsbC0tYW5zd2VyLWNoYW5nZWQgIHsgYmFja2dyb3VuZDogI2ZlZjNjNzsgY29sb3I6ICM5MjQwMGU7IH1cbiAgICAmLmZlLXZsLXBpbGwtLWFuc3dlci1kZWxldGVkICB7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjOTkxYjFiOyB9XG59XG5cbi5mZS12bC10aW1lIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICNhMGE0Yjg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZlLXZsLXVzZXIge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogIzZiNzI4MDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmZlLXZsLWV2ZW50LWRldGFpbCB7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uZmUtdmwtbm9kZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5mZS12bC1maWVsZCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICM0YjU1NjM7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmZlLXZsLWZpZWxkLW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMzNzQxNTE7XG59XG5cbi5mZS12bC1iZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIGNvbG9yOiAjOWNhM2FmO1xufVxuXG4uZmUtdmwtYXJyb3cge1xuICAgIGNvbG9yOiAjZDFkNWRiO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbn1cblxuLmZlLXZsLWFmdGVyIHtcbiAgICBjb2xvcjogIzExMTgyNztcbn1cblxuLy8g4pSA4pSAIFZlcnNpb24gbG9nIHJvdyBlbnRlciBhbmltYXRpb24g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5Aa2V5ZnJhbWVzIGZlLXZsLXJvdy1pbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsgfVxuICAgIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLmZlLXZsLWV2ZW50LS1lbnRlcmluZyB7XG4gICAgYW5pbWF0aW9uOiBmZS12bC1yb3ctaW4gMTgwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMCwgMC4zOCwgMSkgYm90aDtcbn1cblxuLy8g4pSA4pSAIFZlcnNpb24gbG9nIGZpbHRlciBiYXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uZmUtdmwtZmlsdGVyLWJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBhbmNob3IgZm9yIHRoZSBhYnNvbHV0ZSBpbmRpY2F0b3JcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxMnB4IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZTdmNTtcbn1cblxuLmZlLXZsLWZpbHRlci1pbmRpY2F0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZThlYWZkO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMDtcbiAgICAvLyBsZWZ0L3RvcC93aWR0aC9oZWlnaHQgdHJhbnNpdGlvbiBhZGRlZCBieSBKUyBhZnRlciBpbml0aWFsIHNuYXAtcGxhY2VtZW50XG59XG5cbi5mZS12bC1waWxsLWZpbHRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IC8vIGFib3ZlIHRoZSBpbmRpY2F0b3JcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZzogNXB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1mYW1pbHk6IGludGVyLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjODg5MGI4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAxNTBtcztcblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjNDA0OTlhO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgICY6aG92ZXI6bm90KC5mZS12bC1waWxsLWZpbHRlci0tYWN0aXZlKSB7XG4gICAgICAgIGNvbG9yOiAjNTU2MGI4O1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjNDA0OTlhO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIH1cbn1cblxuLy8gUmVzdG9yZSBidXR0b25cbi5mZS12bC1yZXN0b3JlLWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M3ZDJmZTtcbiAgICBiYWNrZ3JvdW5kOiAjZWVmMmZmO1xuICAgIGNvbG9yOiAjNDMzOGNhO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zLCBib3JkZXItY29sb3IgMTIwbXM7XG5cbiAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2UwZTdmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYTViNGZjO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQgeyBvcGFjaXR5OiAwLjY7IGN1cnNvcjogZGVmYXVsdDsgfVxuXG4gICAgJi5mZS12bC1yZXN0b3JlLWJ0bi0tZG9uZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkMWZhZTU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZlZTdiNztcbiAgICAgICAgY29sb3I6ICMwNjVmNDY7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG59XG5cbi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgT3BlbiBpbnZvZXIgbW9kYWwg4oCUIElucHV0RmllbGRPcHRpb25zIGNvbnZlcnRlZCB0byBxZG5hcHJvLXdpemFyZC1tb2RhbFxuICAgKHdtLXdpdGgtaW5mbzogbGVmdCBpbmZvIHBhbmVsICsgbGl2ZSBkdW1teSBwcmV2aWV3LCByaWdodCBzZXR0aW5ncykuXG4gICBTaGVsbC9jaHJvbWUgKHdtLSopIGNvbWVzIGZyb20gc3R5bGUtdjEuY3NzOyB0aGVzZSBhcmUgdGhlIG1vZGFsLXNwZWNpZmljXG4gICBiaXRzLiBbS2ltICsgQ2xhdWRlIDIwMjYtMDYtMThdXG4gICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cblxuLy8g4pSA4pSAIFJpZ2h0IGNvbHVtbjogaGVhZGVyIC8gdGFiYmFyIC8gc2Nyb2xsaW5nIGJvZHkgLyBmb290ZXIg4pSA4pSAXG4uZmUtb2ktaGVhZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHggNHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLmZlLW9pLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjNDA0OTlhO1xufVxuLmZlLW9pLXgge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICM2YjcyODA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zIGVhc2UsIGNvbG9yIDEyMG1zIGVhc2U7XG5cbiAgICBpIHsgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoNjQsIDczLCAxNTQsIDAuMDgpOyBjb2xvcjogIzQwNDk5YTsgfVxufVxuXG4uZmUtb2ktYm9keSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiA0cHggMTZweCA4cHg7XG59XG4uZmUtb2ktcGFuZWwgPiBwIHtcbiAgICBjb2xvcjogIzZiNzI4MDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uZmUtb2ktZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTFlM2U2O1xufVxuXG4vLyDilIDilIAgTGVmdCBjb2x1bW46IGxpdmUgZHVtbXkgcHJldmlldyBvZiB0aGUgcXVlc3Rpb24gaW4gdGhlIGFwcCDilIDilIBcbi5mZS1vaS1wcmV2aWV3IHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvOyAgICAgICAgICAvLyBwaW4gdG8gdGhlIGJvdHRvbSBvZiB0aGUgaW5mbyBwYW5lbFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbn1cbi5mZS1vaS1wcmV2aWV3LWNhcCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTA5N2I4O1xufVxuLmZlLW9pLXBob25lIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGRhZWE7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgyMCwgMjQsIDYwLCAwLjEwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuLmZlLW9pLXEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMWExZjRkO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG4uZmUtb2ktZmllbGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkICNjNGM3Y2M7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmJmYmZkO1xufVxuLmZlLW9pLWZpZWxkLS1jb3VudGVyIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4uZmUtb2ktc3RlcCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNGM3Y2M7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZmUtb2ktaW5wdXQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG59XG4uZmUtb2ktY3VyIHsgY29sb3I6ICM0MDQ5OWE7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5mZS1vaS12YWwgeyBjb2xvcjogIzBiMGIwZDsgfVxuLmZlLW9pLXBoICB7IGNvbG9yOiAjOWFhMGI1OyB9XG4uZmUtb2ktYmFyY29kZSB7IG1hcmdpbi1sZWZ0OiBhdXRvOyBjb2xvcjogIzQwNDk5YTsgZm9udC1zaXplOiAxOHB4OyB9XG4uZmUtb2ktbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweCAxMHB4O1xufVxuLmZlLW9pLWhpbnQgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiAjNmI3MjgwOyB9XG4uZmUtb2ktY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzQwNDk5YTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY0LCA3MywgMTU0LCAwLjEwKTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG5cbiAgICBpIHsgZm9udC1zaXplOiAxM3B4OyB9XG59XG4uZmUtb2ktc2tpcCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzQwNDk5YTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgTm9kZU9wdGlvbnMgbW9kYWwg4oCUIGNvbnZlcnRlZCB0byBxZG5hcHJvLXdpemFyZC1tb2RhbCAoZmFzZSAxKS5cbiAgIFNoZWxsL2Nocm9tZSAod20tKikgY29tZXMgZnJvbSBzdHlsZS12MS5jc3M7IHRoZXNlIGFyZSB0aGVcbiAgIHN0ZXAtc3BlY2lmaWMgYml0cyBmb3IgdGhlIGJhc2lzICsgYWR2YW5jZWQgc3RlcHMuIFtLaW0gKyBDbGF1ZGUgMjAyNi0wNi0xOF1cbiAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuXG4vLyBMZWZ0IGluZm8gcGFuZWwgY29udGVudCAoc2l0cyBpbnNpZGUgdGhlIHdtLWluZm8gYmFzZSBwYW5lbClcbi5mZS1uby1pbGx1IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG5cbiAgICBzdmcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyBkaXNwbGF5OiBibG9jazsgfVxufVxuLmZlLW5vLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBjb2xvcjogIzFhMWY0ZDtcbiAgICBtYXJnaW46IDEycHggMCAwO1xufVxuXG4vLyBSaWdodCBjb2x1bW4g4oCUIGdldHMgd20tbWFpbiAod2hpdGUgd2luZG93KSBvbiBub3JtYWwgbm9kZXM7IG9uIGFubm90YXRpb24gaXRcbi8vIGlzIGEgYmFyZSBmbGV4IGNvbHVtbiBpbnNpZGUgdGhlIHBsYWluIHdoaXRlIHN0ZXAuXG4uZmUtbm8tbWFpbiB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi8vIEhlYWRlciByb3dcbi5mZS1uby1oZHIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHggOHB4IDE2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG4uZmUtbm8tcGlsbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNjQsIDczLCAxNTQsIDAuMTApO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjQsIDczLCAxNTQsIDAuMTgpO1xufVxuLmZlLW5vLXBpbGwtaWNvbiB7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6ICM0MDQ5OWE7IGxpbmUtaGVpZ2h0OiAxOyB9XG4uZmUtbm8tcGlsbC1uYW1lIHsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogIzJhMmU1ZTsgfVxuLmZlLW5vLXBpbGwtaWQgICB7IGZvbnQtc2l6ZTogMTFweDsgY29sb3I6ICM5MDk3Yjg7IH1cblxuLmZlLW5vLXgge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICM2YjcyODA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zIGVhc2UsIGNvbG9yIDEyMG1zIGVhc2U7XG5cbiAgICBpIHsgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoNjQsIDczLCAxNTQsIDAuMDgpOyBjb2xvcjogIzQwNDk5YTsgfVxufVxuLmZlLW5vLWJhY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zIGVhc2U7XG5cbiAgICBpIHsgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoNjQsIDczLCAxNTQsIDAuMDgpOyB9XG59XG5cbi8vIEZvcm0gZWRpdG9yIGZhc2UgNCBkZWxpdmVyeSAyIChwbGFuIEQ1LVJFVklTRUQsIFwidmlzdWVlbCBnZXN0YXBlbGRcIik6IGFcbi8vIHF1ZXN0aW9uIG9wZW5lZCBGUk9NIGEgY2FyZCdzIFZyYWdlbiB0YWIgcmVuZGVycyBpbiB0aGUgU0FNRSBOb2RlT3B0aW9uc1xuLy8gbW9kYWwgaW5zdGFuY2UgKG5vIHNlY29uZCBtb2RhbCBlbGVtZW50KSDigJQgdGhlIFwic3RhY2tlZCBzZWNvbmQgd2luZG93XCIgcmVhZFxuLy8gaXMgcHVyZWx5IHZpc3VhbDogYSBkYXJrZXIgYmFja2Ryb3AgKGFzIGlmIHRoZSBjYXJkIG1vZGFsIGRpbW1lZCBmdXJ0aGVyXG4vLyBiZWhpbmQgaXQpICsgYSBzbGlnaHRseSBoZWF2aWVyIHNoYWRvdywgcGx1cyB0aGUgLmZlLW5vLWJhY2sgaGVhZGVyXG4vLyBhZmZvcmRhbmNlIHdpcmVkIGFib3ZlLiB3bS1zY3JpbS93bS1kaWFsb2cgYXJlIGRpcmVjdCBjaGlsZHJlbiB0aGVcbi8vIHdpemFyZC1tb2RhbCBjdXN0b20gZWxlbWVudCBhcHBlbmRzIHRvIGl0c2VsZiAoc2VlIHFkbmEtd2l6YXJkLW1vZGFsLmpzKSxcbi8vIHNvIGAuZmUtbm8tLXN0YWNrZWRgIG9uIHRoZSBob3N0IHNjb3BlcyBjbGVhbmx5IOKAlCBldmVyeSBPVEhFUiB3aXphcmQtbW9kYWxcbi8vIG9uIHRoZSBzaXRlIGlzIHVudG91Y2hlZC4gW0tpbSBmYXNlIDQgZGVsaXZlcnkgMl1cbi8vXG4vLyBSRVdPUktFRCAoS2ltIGZhc2UgNCBkZWxpdmVyeSAzLCAxMC4wNy4yMDI2KTogdGhlIGVudHJhbmNlL3JldHVybiBTQ0FMRSArXG4vLyBPUEFDSVRZIG1vdGlvbiBvbiAud20tZGlhbG9nIG5vdyBwbGF5cyB2aWEgRWxlbWVudC5hbmltYXRlKCkgZnJvbVxuLy8gTm9kZU9wdGlvbnMudnVlJ3MgaGFzUmV0dXJuQW5jaG9yIHdhdGNoZXIgKF9wbGF5U3RhY2tUcmFuc2l0aW9uKSwgbm90IGEgQ1NTXG4vLyBrZXlmcmFtZSBoZXJlIOKAlCBhIGtleWZyYW1lIHRpZWQgdG8gYC5mZS1uby0tc3RhY2tlZGAgKGEgY2xhc3MgdGhhdCBzdGF5c1xuLy8gYXBwbGllZCBmb3IgdGhlIHdob2xlIHRpbWUgYSBxdWVzdGlvbiBpcyBzdGFja2VkKSBvbmx5IHBsYXlzIG9uY2UsIG9uXG4vLyBjbGFzcy1hZGQ7IGl0IGNhbiBuZXZlciByZXBsYXkgZm9yIGEgU0VDT05EIHF1ZXN0aW9uIG9wZW5lZCB3aGlsZSBvbmUgaXNcbi8vIGFscmVhZHkgc3RhY2tlZCwgYW5kIGl0IG5ldmVyIGhhZCBhIHJldmVyc2UgKFwicmV0dXJuIHRvIGNhcmRcIikgdmFyaWFudCBhdFxuLy8gYWxsLiBXaGF0IHN0YXlzIENTUy1kcml2ZW4gaXMgdGhlIHNjcmltIGRpbW1pbmc6IGEgYHRyYW5zaXRpb25gIChub3QgYW5cbi8vIGBhbmltYXRpb25gKSBuYXR1cmFsbHkgcmVwbGF5cyBjb3JyZWN0bHkgaW4gQk9USCBkaXJlY3Rpb25zIGV2ZXJ5IHRpbWUgdGhlXG4vLyBjbGFzcyB0b2dnbGVzLCBzbyB0aGVyZSdzIG5vIHJlYXNvbiB0byBtb3ZlIGl0IHRvIEpTLlxuLmZlLW5vID4gLndtLXNjcmltIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIyMG1zIGVhc2U7XG59XG4uZmUtbm8uZmUtbm8tLXN0YWNrZWQgPiAud20tc2NyaW0ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTEsIDExLCAxMywgMC42Mik7XG59XG4uZmUtbm8gPiAud20tc2NyaW0gPiAud20tZGlhbG9nIHtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIyMG1zIGVhc2U7XG59XG4uZmUtbm8uZmUtbm8tLXN0YWNrZWQgPiAud20tc2NyaW0gPiAud20tZGlhbG9nIHtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDEwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMzQpLFxuICAgICAgICAwIDE2cHggMjRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG4vLyBSZWR1Y2VkIG1vdGlvbjogTm9kZU9wdGlvbnMudnVlJ3MgX3BsYXlTdGFja1RyYW5zaXRpb24gYWxyZWFkeSBza2lwcyB0aGVcbi8vIEVsZW1lbnQuYW5pbWF0ZSgpIGNhbGwgZW50aXJlbHkgd2hlbiB0aGlzIGlzIHNldC4gVGhlIHNjcmltL3NoYWRvd1xuLy8gdHJhbnNpdGlvbnMgYWJvdmUgYXJlIGNvbXBhcmF0aXZlbHkgc3VidGxlIChubyBtb3ZlbWVudCwgbm8gc2NhbGUpIGJ1dCBhcmVcbi8vIHN0aWxsIG1vdGlvbiDigJQgZHJvcCB0aGVtIHRvbyBzbyBhIHJlZHVjZWQtbW90aW9uIHVzZXIgZ2V0cyBhbiBpbnN0YW50XG4vLyBzd2FwLCBtYXRjaGluZyB0aGUgSlMgaGFsZiBvZiB0aGlzIHNhbWUgZmVhdHVyZS4gW0tpbSBmYXNlIDQgZGVsaXZlcnkgM11cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLmZlLW5vID4gLndtLXNjcmltLFxuICAgIC5mZS1ubyA+IC53bS1zY3JpbSA+IC53bS1kaWFsb2cge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLy8gU2Nyb2xsaW5nIGJvZHlcbi5mZS1uby1ib2R5IHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDEycHggMTZweCA4cHg7ICAgLy8gdG9wIHBhZGRpbmcgc28gdGhlIGNvbG91ci1waWNrZXIncyBzZWxlY3RlZCBnbG93IGlzbid0IGNsaXBwZWRcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBJbnZpc2libGUgc2Nyb2xsYmFyLiBbS2ltIDIyLjA2LjIwMjZdXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGRpc3BsYXk6IG5vbmU7IH1cbn1cbi8vIE5vZGUtbGluayBlbXB0eSBzdGF0ZTogdGhlIFwiRGV6ZSBub2RlIGlzIG5pZXQgZ2Vrb3BwZWxkXCIgcGxhY2Vob2xkZXIgc2hvdWxkXG4vLyByZWFkIGFzIGEgY2xlYXIgZGFyay1vcmFuZ2UgbWVzc2FnZSwgbm90IGEgbXV0ZWQgaXRhbGljIGZhbGxiYWNrLiBbS2ltIDIyLjA2LjIwMjZdXG4uZmUtbm9kZS1saW5rIC5xZG5hcHJvLWFuc3dlci1vcHRpb25fX2xhYmVsLS1zdGF0aWMuaXMtZW1wdHkge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogI2MyNDEwYztcbn1cblxuLy8gTm9kZSBjb2xvdXIgcGlja2VyIOKAlCBhIGNsZWFuIHJpZ2h0LWFsaWduZWQgcm93IGF0IHRoZSB0b3Agb2YgXCJBYW5wYXNzZW5cIlxuLy8gKG5vIGZsb2F0LCBzbyBpdCBjYW4ndCBzbGlwIHVuZGVyIHRoZSBoZWFkZXIpLiBEZWVwZXIgc3dhdGNoIGNvbG91cnMgbWF0Y2hcbi8vIEphbidzIG9yaWdpbmFscy4gW0tpbSAyMDI2LTA2LTE4XVxuLy8gXCJTdGlqbFwiIGZyYW1lZCBzZWN0aW9uIChtaXJyb3JzIHRoZSB0YXNrbGlzdCBlZGl0IG1vZGFsJ3MgLnB2Mi1jdGwtc3R5bGUpLlxuLmZlLW5vLXN0eWxlLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuXG4gICAgLmZlLW5tLXEtbGFiZWwgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG59XG4uZmUtbm8tc3R5bGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU4ZWY7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxNHB4O1xufVxuLmZlLW5vLWNvbG9ycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAvLyBGbGF0IHJlcHJlc2VudGF0aXZlIGhleCBwZXIgdGhlbWUgKHRoZSB0aGVtZSBgYmFja2dyb3VuZGApLiBLZXB0IGZsYXQgLSBub3RcbiAgICAvLyBhIGdyYWRpZW50IC0gc28gdGhlIHBpY2tlcidzIG93biBjaGVja21hcmstY29udHJhc3QgZGV0ZWN0b3JcbiAgICAvLyAoZ2V0Q29tcHV0ZWRTdHlsZSgpLmJhY2tncm91bmRDb2xvcikgcmVhZHMgYSByZWFsIGNvbG91ci4gWzIyLjA2LjIwMjZdXG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS1kZWZhdWx0ICAgICAgeyAtLXFjcC1iZzogIzNhNDI5MDsgfSAvLyBLaW0ncyBkZWZhdWx0XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS1pbmRpZ28gICAgICAgeyAtLXFjcC1iZzogIzRGNDZFNTsgfSAvLyBJbmRpZ28gKHNlcGFyYXRlIG9wdGlvbilcbiAgICAucWRuYXByby1jb2xvci1waWNrZXIgLnFjcC1zd2F0Y2gtLWRlZmF1bHRfZGFyayB7IC0tcWNwLWJnOiAjN0MzQUVEOyB9IC8vIFZpb2xldFxuICAgIC5xZG5hcHJvLWNvbG9yLXBpY2tlciAucWNwLXN3YXRjaC0tcHVycGxlICAgICAgIHsgLS1xY3AtYmc6ICNEQjI3Nzc7IH0gLy8gUm9zZVxuICAgIC5xZG5hcHJvLWNvbG9yLXBpY2tlciAucWNwLXN3YXRjaC0tcGluayAgICAgICAgIHsgLS1xY3AtYmc6ICNEOTc3MDY7IH0gLy8gQW1iZXJcbiAgICAucWRuYXByby1jb2xvci1waWNrZXIgLnFjcC1zd2F0Y2gtLWdyZWVuICAgICAgICB7IC0tcWNwLWJnOiAjMDU5NjY5OyB9IC8vIFNhZ2VcbiAgICAucWRuYXByby1jb2xvci1waWNrZXIgLnFjcC1zd2F0Y2gtLWJsdWUgICAgICAgICB7IC0tcWNwLWJnOiAjMDI4NEM3OyB9IC8vIFNreVxuICAgIC5xZG5hcHJvLWNvbG9yLXBpY2tlciAucWNwLXN3YXRjaC0tZ3JleSAgICAgICAgIHsgLS1xY3AtYmc6ICM0NzU1Njk7IH0gLy8gU2xhdGVcbiAgICAucWRuYXByby1jb2xvci1waWNrZXIgLnFjcC1zd2F0Y2gtLW9yYW5nZSAgICAgICB7IC0tcWNwLWJnOiAjRTA1QTM4OyB9IC8vIENvcmFsXG5cbiAgICAvLyBxZG5hcHJvLXRhZyBwYWxldHRlIGV4cGVyaW1lbnQgKDIyLjA2LjIwMjYpIC0gc3dhdGNoID0gdGhlIGZsYXQgLS10YWctYmcuXG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctZ3JleSAgICAgICAgICB7IC0tcWNwLWJnOiAjZjBmMWYyOyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctZ3JleS0yICAgICAgICB7IC0tcWNwLWJnOiAjYzRjN2NjOyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctcmVkICAgICAgICAgICB7IC0tcWNwLWJnOiAjZmVlM2UzOyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctcmVkLTIgICAgICAgICB7IC0tcWNwLWJnOiAjZmJhYWFhOyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWcteWVsbG93ICAgICAgICB7IC0tcWNwLWJnOiAjZmVmNmRiOyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWcteWVsbG93LTIgICAgICB7IC0tcWNwLWJnOiAjZmRlNTk0OyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctZ3JlZW4gICAgICAgICB7IC0tcWNwLWJnOiAjZTJmYWYxOyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctZ3JlZW4tMiAgICAgICB7IC0tcWNwLWJnOiAjOGJlY2M1OyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctYmx1ZSAgICAgICAgICB7IC0tcWNwLWJnOiAjZTZlZmY5OyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctYmx1ZS0yICAgICAgICB7IC0tcWNwLWJnOiAjYjVjZWVkOyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctYnJpZ2h0LWJsdWUgICB7IC0tcWNwLWJnOiAjODVhMWVjOyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctYnJpZ2h0LWJsdWUtMiB7IC0tcWNwLWJnOiAjZDZlMGY5OyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctcGluayAgICAgICAgICB7IC0tcWNwLWJnOiAjZjZlMWU4OyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctZGFyay1waW5rICAgICB7IC0tcWNwLWJnOiAjZTVhNmI5OyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctcHVycGxlICAgICAgICB7IC0tcWNwLWJnOiAjZWJlOWZiOyB9XG4gICAgLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS10YWctZGFyay1wdXJwbGUgICB7IC0tcWNwLWJnOiAjYzRiY2YzOyB9XG4gICAgLy8gS2ltJ3MgYWRkaXRpb25zICgyMi4wNi4yMDI2KVxuICAgIC5xZG5hcHJvLWNvbG9yLXBpY2tlciAucWNwLXN3YXRjaC0tcWRuYS1wdXJwbGUgICAgICAgeyAtLXFjcC1iZzogIzNhNDI5MDsgfVxuICAgIC5xZG5hcHJvLWNvbG9yLXBpY2tlciAucWNwLXN3YXRjaC0tcWRuYS1vcmFuZ2UgICAgICAgeyAtLXFjcC1iZzogI2Y1OWUwYjsgfVxufVxuXG4vLyBUZXh0LWFsaWdubWVudCB0b2dnbGUgKGZhc2UgQSwgMjAyNi0wNy0xNik6IHRoZSBsZWZ0L2NlbnRlciBzZWdtZW50ZWQgdG9nZ2xlXG4vLyAobGFiZWxfYWxpZ24gbWV0YSkgbGl2aW5nIGluc2lkZSBBYnN0cmFjdEltYWdlJ3MgY29tcGFjdCBpbWFnZSB0b29sYmFyXG4vLyAoLmZlLW5vLWltZykuIEl0IHNpdHMgb24gdGhlIFNFQ09ORCB0b29sYmFyIHJvdyAoLmZlLW5vLWltZy1yb3cpIHNpbmNlIHRoZVxuLy8gYnJpZWZpbmcgYnV0dG9uIGpvaW5lZDsgbWFyZ2luLWxlZnQ6YXV0byBwaW5zIGl0IHRvIHRoZSBmYXIgcmlnaHQgb2YgdGhhdCByb3csXG4vLyB3aXRoIGJyaWVmaW5nIG9uIHRoZSBsZWZ0LiBMYXlvdXQgb25seSAtLSB0aGUgcWRuYXByby1idXR0b24vcWRuYXByby1pY29uXG4vLyBjb21wb25lbnRzIG93biB0aGVpciBvd24gbG9vay4gW3JvdyBzcGxpdDogS2ltIDAzLjA4LjIwMjZdXG4uZmUtbm8taW1nIC5mZS1sYWJlbC1hbGlnbi10b29sYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8vIEZvb3RlclxuLmZlLW5vLWZ0ciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMWUzZTY7XG59XG4uZmUtbm8tZnRyLWxlZnQgIHsgZmxleDogMSAxIDA7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi5mZS1uby1mdHItcmlnaHQgeyBmbGV4OiAxIDEgMDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgZ2FwOiAxMnB4OyB9XG4uZmUtbm8tYWR2LWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDhkYWVhO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGNvbG9yOiAjNDA0OTlhO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zIGVhc2UsIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlO1xuXG4gICAgaSB7IGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDY0LCA3MywgMTU0LCAwLjA2KTsgYm9yZGVyLWNvbG9yOiAjYjBiOGU4OyB9XG59XG4uZmUtbm8tcGxheSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogIzQwNDk5YTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSg2NCwgNzMsIDE1NCwgMC4zNSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIGVhc2UsIGJveC1zaGFkb3cgMTIwbXMgZWFzZTtcblxuICAgIGkgeyBmb250LXNpemU6IDIwcHg7IG1hcmdpbi1sZWZ0OiAycHg7IH1cbiAgICAmOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoNjQsIDczLCAxNTQsIDAuNDUpOyB9XG59XG5cbi8qIOKUgOKUgCBMaXZlIFwiaG93IGl0IGxvb2tzIGluIHRoZSBhcHBcIiBwcmV2aWV3IChmYXNlIDIpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgTWlycm9ycyB0aGUgYXBwJ3MgcXR5cGVzLnNjc3MgKC5mbG93LXF1ZXN0aW9uLSopIGF0IHBhbmVsIHNjYWxlLlxuICAgQ29sb3JzOiBwcmltYXJ5ICM0MDQ5OUEsIHllcyAjNkJCNkFCLCBubyAjREU1MDY2LiBbS2ltICsgQ2xhdWRlIDIwMjYtMDYtMThdICovXG4uZmUtbm8tcHJldmlldyB7XG4gICAgbWFyZ2luLXRvcDogYXV0bzsgICAgICAgICAgLy8gcGluIHRvIHRoZSBib3R0b20gb2YgdGhlIGluZm8gcGFuZWxcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG5cbiAgICAvLyBBbGxvdyB0aGUgYmxvY2sgdG8gc2hyaW5rIGluc2lkZSAud20taW5mbyBzbyAuZmUtcHYtc2NyZWVuIGJlbG93IGNhbiB0YWtlXG4gICAgLy8gd2hhdGV2ZXIgaGVpZ2h0IHRoZSBwYW5lbCBzdGlsbCBoYXMsIGluc3RlYWQgb2Ygc3RvcHBpbmcgYXQgYSBmaXhlZCBjYXBcbiAgICAvLyB3aGlsZSBlbXB0eSBwYW5lbCBzcGFjZSBzYXQgdW5kZXJuZWF0aCBpdC4gW0tpbSAwMy4wOC4yMDI2XVxuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG4uZmUtbm8tcHJldmlldy1jYXAge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzkwOTdiODtcbn1cblxuLy8gUHJldmlldyB1c2VzIHRoZSBGVUxMIHBhbmVsIHdpZHRoIChubyBzaWRlIHBhZGRpbmcpIHNvIGl0IGdldHMgYXMgbXVjaCByb29tIGFzXG4vLyBwb3NzaWJsZTsgaXQgYWxpZ25zIHdpdGggdGhlIGRlc2NyaXB0aW9uIHRleHQgKyBjYXB0aW9uIGFib3ZlICh3aGljaCBhbHJlYWR5IHNpdFxuLy8gaW5zaWRlIHRoZSAud20taW5mbyAxNnB4IGd1dHRlcikuIFZlcnRpY2FsLW9ubHkgcGFkZGluZy4gW0tpbSAyMDI2LTA2LTE5XVxuLmZlLXB2IHtcbiAgICBwYWRkaW5nOiA0cHggMCA4cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC8vIEZsZXggY29sdW1uICsgbWluLWhlaWdodDowIHNvIHRoZSAuZmUtcHYtc2NyZWVuIGNhcmQgaW5zaWRlIGNhbiBiZSBib3VuZGVkXG4gICAgLy8gYnkgdGhlIHBhbmVsJ3MgcmVtYWluaW5nIGhlaWdodCBhbmQgc2Nyb2xsIGludGVybmFsbHkuIFtLaW0gMDMuMDguMjAyNl1cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLWhlaWdodDogMDtcbn1cbi5mZS1wdi1zY3JlZW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gYW5jaG9yIGZvciB0aGUgZmxvYXRpbmcgYmFyY29kZSB0b2FzdFxuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q4ZGFlYTtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDIwLCAyNCwgNjAsIDAuMTApO1xuXG4gICAgLy8gU2Nyb2xsIHRoZSBwcmV2aWV3IGludGVybmFsbHkgd2hlbiBtYW55IG9wdGlvbnMgb3ZlcmZsb3cgdGhlIG1vZGFsLFxuICAgIC8vIHdpdGggYW4gaW52aXNpYmxlIHNjcm9sbGJhciBzbyBldmVyeSBvcHRpb24gc3RheXMgcmVhY2hhYmxlLiBbS2ltIDIyLjA2LjIwMjZdXG4gICAgLy9cbiAgICAvLyBUaGUgb2xkIGhhcmQgNjB2aCBjYXAgbWFkZSB0aGUgY2FyZCBzdG9wIHNob3J0IHdoaWxlIHRoZSBpbmZvIHBhbmVsIHN0aWxsXG4gICAgLy8gaGFkIGVtcHR5IHNwYWNlIGJlbG93IGl0LCBzbyBsb25nIG9wdGlvbiBsaXN0cyB3ZXJlIGN1dCBvZmYgZm9yIG5vIHJlYXNvbi5cbiAgICAvLyBJdCBub3cgZ3Jvd3MgdG8gaXRzIGNvbnRlbnQgYW5kIGlzIGJvdW5kZWQgYnkgdGhlIHBhbmVsIGluc3RlYWQgKGZsZXggY2hhaW5cbiAgICAvLyAuZmUtbm8tcHJldmlldyAtPiAuZmUtcHYgLT4gaGVyZSksIHN0aWxsIHNjcm9sbGluZyBpbnRlcm5hbGx5IHdoZW4gdGhlXG4gICAgLy8gY29udGVudCBpcyB0YWxsZXIgdGhhbiB0aGUgcm9vbSBhdmFpbGFibGUuIFtLaW0gMDMuMDguMjAyNl1cbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogMDsgaGVpZ2h0OiAwOyBkaXNwbGF5OiBub25lOyB9XG59XG4vLyBCYXJlIGVtYmVkZGVkIHZhcmlhbnQgKGZhc2UgMSwgZm9ybV9jYXJkIGNoaWxkc3RhY2sgbWlncmF0aW9uLCAxNi4wNy4yMDI2KTpcbi8vIFF1ZXN0aW9uUHJldmlldyByZW5kZXJlZCBhcyBhIENISUxEIGluc2lkZSBhIGZvcm0gY2FyZCdzIG93biAuZmUtcHYtZm9ybWNhcmQtaXRlbVxuLy8gKGJhcmUgcHJvcCkuIE5vIGJvcmRlci9zaGFkb3cvYmFja2dyb3VuZCBib3ggYW5kIG5vIG93biBtYXgtaGVpZ2h0L3Njcm9sbCDigJQgdGhlXG4vLyBxdWVzdGlvbiBmbG93cyBuYXR1cmFsbHkgaW5zaWRlIHRoZSBjYXJkLCBub3QgYXMgYSBzY3JvbGxpbmcgY2FyZC1pbi1jYXJkLlxuLmZlLXB2LXF1ZXN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIGFuY2hvciBmb3IgdGhlIGZsb2F0aW5nIGJhcmNvZGUgdG9hc3QsIGxpa2UgLmZlLXB2LXNjcmVlblxufVxuLmZlLXB2LXRpdGxlIHsgY29sb3I6ICM0MDQ5OUE7IH1cbi8vIFRleHQtYWxpZ25tZW50IHRvZ2dsZSAoZmFzZSBBLCAyMDI2LTA3LTE2KTogbGFiZWxfYWxpZ24gPT09ICdjZW50ZXInIGNlbnRlcnNcbi8vIHRoZSB0aXRsZSArIHN1YnRleHQgdG9nZXRoZXIgaW4gdGhlIGxpdmUgcHJldmlldy4gTGVmdCBpcyB0aGUgZGVmYXVsdCAobm9cbi8vIGNsYXNzIG5lZWRlZCDigJQgbWF0Y2hlcyB0aGUgYmxvY2sncyBuYXR1cmFsIGFsaWdubWVudCkuXG4uZmUtcHYtdGl0bGUtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZlLXB2LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuLmZlLXB2LXN1YiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuLmZlLXB2LWJvZHkgeyBtYXJnaW4tdG9wOiAxMnB4OyB9XG5cbi8vIEphIC8gTmVlLiAuZmUtcHYtYnRuLy0teWVzLy0tbm8gYXJlIHRoZSBwbGFpbiBzdGF0aWMgc3dhdGNoZXMgc3RpbGwgdXNlZCBieSB0aGVcbi8vIGZvcm0tY2FyZCBjaGlsZCBtaW5pIG1vY2sgKGRlbGliZXJhdGVseSBzaW1wbGUsIG5vbi1pbnRlcmFjdGl2ZSwgc2VlXG4vLyBmb3JtQ2hpbGRLaW5kKCkgJ3llc25vJyBicmFuY2ggYmVsb3cpLiBUaGUgbWFpbiBZZXMvTm8gcHJldmlldyAoUGhhc2UgNCBZZXMvTm9cbi8vIG92ZXJoYXVsLCAyMDI2LTA3LTExKSB1cGdyYWRlZCB0byB0aGUgcmVhbCBxZG5hcHJvLWFuc3dlci1idXR0b24sIHdyYXBwZWQgc28gdGhlXG4vLyBvcHRpb25hbCBcImNvbW1lbnQgb24gTm9cIiBtb2NrIGNhbiBzaXQgYmVsb3cgdGhlIGJ1dHRvbiByb3cuIFtLaW1dXG4uZmUtcHYteWVzbm8td3JhcCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbi5mZS1wdi15ZXNubyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyB9XG4uZmUtcHYteWVzbm8gcWRuYXByby1hbnN3ZXItYnV0dG9uIHsgZmxleDogMSAxIDA7IG1pbi13aWR0aDogMDsgfVxuLy8gMy1idXR0b24gbGF5b3V0IChOLnYudC4gZW5hYmxlZCkg4oCUIHNpZGUtYnktc2lkZSBhdCBmbGV4OjEgMSAwIHNxdWVlemVkIGVhY2hcbi8vIGJ1dHRvbiAoaWNvbiArIHRpY2sgKyBwYWRkaW5nIGxlYXZlIGFsbW9zdCBubyByb29tIGZvciB0aGUgbGFiZWwgYXQgfjEvM1xuLy8gd2lkdGgpLCB0cnVuY2F0aW5nIHRoZSB0ZXh0IGlsbGVnaWJseSAoXCJZZVwiIC8gXCJOb1wiIC8gXCJOb3QgYXBwLi4uXCIsIEtpbSdzXG4vLyB0ZXN0IGZlZWRiYWNrIDIwMjYtMDctMTEpLiBTdGFjayBmdWxsLXdpZHRoIHJvd3MgaW5zdGVhZDogMiBidXR0b25zIChwbGFpblxuLy8geWVzL25vKSBrZWVwIHRoZSBzaWRlLWJ5LXNpZGUgcm93IGFib3ZlIHVuY2hhbmdlZC4gYGZsZXg6IDAgMCBhdXRvYCAobm90IHRoZVxuLy8gcm93J3MgMSAxIDApIGxldHMgZWFjaCBidXR0b24gc2l6ZSB0byBpdHMgb3duIG5hdHVyYWwgaGVpZ2h0IGluIHRoZSBjb2x1bW5cbi8vIGluc3RlYWQgb2YgYmVpbmcgc3RyZXRjaGVkIHRvIGFuIGVxdWFsIDEvMyBzaGFyZSBvZiB2ZXJ0aWNhbCBzcGFjZSwgYW5kXG4vLyBrZWVwcyBxZG5hcHJvLWFuc3dlci1idXR0b24ncyBvd24gYHdpZHRoOiAxMDAlYCBpbiBjaGFyZ2Ugb2YgdGhlIHdpZHRoLiBbS2ltXVxuLmZlLXB2LXllc25vLS1zdGFja2VkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmZlLXB2LXllc25vLS1zdGFja2VkIHFkbmFwcm8tYW5zd2VyLWJ1dHRvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG4uZmUtcHYtYnRuIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5mZS1wdi1idG4tLXllcyB7IGJhY2tncm91bmQ6ICM2QkI2QUI7IH1cbi5mZS1wdi1idG4tLW5vICB7IGJhY2tncm91bmQ6ICNERTUwNjY7IH1cblxuLy8gQW50d29vcmRvcHRpZXNcbi5mZS1wdi1vcHRpb25zIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA2cHg7IH1cbi8vIEJ1dHRvbnMtd3JhcDogMSBjb2x1bW4gKGRlZmF1bHQpIG9yIDIgY29sdW1ucywgZHJpdmVuIGJ5IHRoZSBidXR0b25fY29sdW1ucyBzZXR0aW5nLiBbS2ltIDIxLjA2LjIwMjZdXG4uZmUtcHYtb3B0cy13cmFwIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA2cHg7IH1cbi5mZS1wdi1vcHRzLXdyYXAuZmUtcHYtb3B0cy0tY29sczIgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogNnB4OyB9XG4uZmUtcHYtb3B0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIGJhY2tncm91bmQ6ICM0MDQ5OUE7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDI4cHggMTBweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTJzIGVhc2UsIGJhY2tncm91bmQgMC4xMnMgZWFzZTtcblxuICAgICY6aG92ZXIgeyBvcGFjaXR5OiAwLjc1OyB9XG59XG4vLyBQZXItb3B0aW9uIGljb24gKEZhc2UgNSBNZWVya2V1emUgb3ZlcmhhdWwsIDExLjA3LjIwMjYpIOKAlCBzaXRzIGJlZm9yZSB0aGUgbGFiZWwuXG4uZmUtcHYtb3B0LWljb24geyBmbGV4LXNocmluazogMDsgfVxuLy8gU2VtYW50aWMgb3B0aW9uIGNvbG91ciDigJQgb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IHB1cnBsZSBiYWNrZ3JvdW5kLiBTYW1lXG4vLyBjbG9zZWQgcGFsZXR0ZSArIHRva2VucyBhcyB0aGUgcWRuYXByby1hbnN3ZXItb3B0aW9uIGVkaXRvciByb3cgKGljb24gYmFkZ2UpXG4vLyBhbmQgdGhlIE9wdGlvbkFwcGVhcmFuY2UgcG9wb3ZlciBzd2F0Y2hlcywgc28gdGhlIGNvbG91ciByZWFkcyBjb25zaXN0ZW50bHlcbi8vIGVuZC10by1lbmQgKHJvdyAtPiBwb3BvdmVyIC0+IGxpdmUgcHJldmlldykuIFtLaW0gMTEuMDcuMjAyNl1cbi5mZS1wdi1vcHQtLWNvbG9yLXBvc2l0aXZlICAgIHsgYmFja2dyb3VuZDogdmFyKC0tYy1zaWduYWwtZ3JlZW4tdGV4dCwgIzQyOGI2ZSk7IH1cbi5mZS1wdi1vcHQtLWNvbG9yLXdhcm5pbmcgICAgIHsgYmFja2dyb3VuZDogdmFyKC0tYy13YXJuLWFtYmVyLTUwMCwgI2Q5NzcwNik7IH1cbi5mZS1wdi1vcHQtLWNvbG9yLW5lZ2F0aXZlICAgIHsgYmFja2dyb3VuZDogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpOyB9XG4uZmUtcHYtb3B0LS1jb2xvci1uZXV0cmFsX2FsdCB7IGJhY2tncm91bmQ6IHZhcigtLWMtc2lnbmFsLWJsdWUtdGV4dCwgIzZhOGFiNCk7IH1cbi8vIFNjb3JlIC8gTlBTIOKAlCBxZG5hcHJvLXNjb3JlLXNjYWxlIHNpdHMgZmx1c2ggaW4gdGhlIHByZXZpZXcgY2FyZCwgc2FtZVxuLy8gdHJlYXRtZW50IGFzIHRoZSBtdWx0aS1yYWRpbyBkcm9wZG93biAoLmZlLXB2LXNlbGVjdCkgYWJvdmUuXG4vLyBbUGhhc2UgMiBTY29yZS9OUFMgb3ZlcmhhdWwsIDIwMjYtMDctMTFdXG4uZmUtcHYtc2NvcmUge1xuICAgIHBhZGRpbmc6IDZweCAycHg7XG5cbiAgICBxZG5hcHJvLXNjb3JlLXNjYWxlIHsgZGlzcGxheTogYmxvY2s7IH1cbn1cblxuLy8gQXR0YWNoZWQgXCJjb21tZW50IG9uIGxvdyBzY29yZVwiIG1vY2sg4oCUIGFwcGVhcnMgdW5kZXIgdGhlIHNjYWxlLCBsaXZlLFxuLy8gd2hlbiBjb21tZW50X2VuYWJsZWQgaXMgb24gYW5kIHRoZSBzYW5kYm94LXNlbGVjdGVkIHZhbHVlIGlzIDw9IHRoZVxuLy8gY29uZmlndXJlZCB0aHJlc2hvbGQuIEFuc3dlcnMgS2ltJ3MgXCJub3QgdmlzaWJsZSBpbiBwcmV2aWV3XCIgcmV2aWV3IG5vdGUuXG4vLyBbUGhhc2UgMiBTY29yZS9OUFMgb3ZlcmhhdWwgc2V0dGluZ3MtbW9kYWwgcmV2aWV3LCAyMDI2LTA3LTExXVxuLmZlLXB2LWNvbW1lbnQge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCByZ2JhKDE4MCwgMTg4LCAyMjAsIDAuNTUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDZweDtcbn1cbi5mZS1wdi1jb21tZW50LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzFmMjQzMDtcbn1cblxuLy8gRmVlZGJhY2sgKGVtb2ppKSDigJQgc21pbGV5IHNjYWxlIHJvdyBpbiB0aGUgbGl2ZSBwcmV2aWV3LiBNaXJyb3JzIHRoZSBhcHAnc1xuLy8gLmZsb3ctc21pbGUtcm93IChmYWNlcyBjZW50ZXJlZDsgdGFwIHN3YXBzIF9UIC0+IF9GKS4gWzA1LjA3LjIwMjZdXG4uZmUtcHYtc21pbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiA2cHggMnB4O1xufVxuLmZlLXB2LXNtaWxlLWZhY2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMnMgZWFzZTtcblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICY6aG92ZXIgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpOyB9XG59XG4uZmUtcHYtc21pbGUtZmFjZS0tYWN0aXZlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjE0KTsgfVxuLmZlLXB2LXNtaWxlLWZhY2UtLWFjdGl2ZTpob3ZlciB7IHRyYW5zZm9ybTogc2NhbGUoMS4xNCk7IH1cblxuLy8gUmVhbCBvcHRpb24gd2l0aG91dCBhIGxhYmVsIOKAlCBzaG93IGl0IGFzIGEgY2xlYXJseS1lbXB0eSBwbGFjZWhvbGRlci4gW0tpbSAyMS4wNi4yMDI2XVxuLmZlLXB2LW9wdC0tZW1wdHkgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbi5mZS1wdi1vcHQtLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXEYwMTJDXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk1hdGVyaWFsIERlc2lnbiBJY29uc1wiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxufVxuXG4vLyBFbXB0eSBzdGF0ZSDigJQgdGhlIG5vZGUgaGFzIHplcm8gYW5zd2VyIG9wdGlvbnMgeWV0LiBNaXJyb3JzIHRoZSBtdXRlZC1oaW50XG4vLyBsb29rIG9mIC5mZS1wdi11bml0cy1lbXB0eSAvIC5mZS1wdi1mb3JtY2FyZC1lbXB0eSBlbHNld2hlcmUgaW4gdGhpcyBwcmV2aWV3LFxuLy8gd2l0aCBhbiBleHRyYSB0aXRsZSBsaW5lIHNpbmNlIHRoaXMgaXMgdGhlIHdob2xlIGJvZHkgY29udGVudCBoZXJlIChub3QgYVxuLy8gbmVzdGVkIHJvdykuIFtLaW0gMTEuMDcuMjAyNl1cbi5mZS1wdi1vcHRpb25zLWVtcHR5IHtcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcbn1cbi5mZS1wdi1vcHRpb25zLWVtcHR5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzJhMmMzYTtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG4uZmUtcHYtb3B0aW9ucy1lbXB0eS1oaW50IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogIzlhYTBiZDtcbn1cblxuLyogTXVsdGktcmFkaW8gXCJUb29uIGFscyBkcm9wZG93blwiIHByZXZpZXcgPSB0aGUgUkVBTCBxZG5hcHJvLXNlbGVjdCAoaXQgYnJpbmdzXG4gICBpdHMgb3duIHN0eWxpbmcpLiBKdXN0IGxldCBpdCBzaXQgZmx1c2ggaW4gdGhlIHByZXZpZXcgY2FyZC4gW0tpbSAyMDI2LTA2LTIwXSAqL1xuLmZlLXB2LXNlbGVjdCB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIC0tLS0gSW1wb3J0IGFuc3dlciBvcHRpb25zIChtb2RhbCArIHRyaWdnZXIpIC0tLS0gW0tpbSAyMDI2LTA2LTIwXSAqL1xuLy8gXCJBbnR3b29yZG9wdGllc1wiIGhlYWRlciByb3c6IGxhYmVsIGxlZnQsIFwiT3B0aWVzIGltcG9ydGVyZW5cIiByaWdodC4gW0tpbSAyMS4wNi4yMDI2XVxuLmZlLWFuc3dlcm9wdHMtaGVhZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luOiAyMHB4IDAgOHB4O1xuXG4gICAgLnFkbmFwcm8tbW9kYWwtbGFiZWwgeyBtYXJnaW46IDA7IH1cbn1cbi8vIFdyYXBzIHRoZSBoZWFkZXItcmlnaHQgYnV0dG9ucyAoaW1wb3J0IHRyaWdnZXIgKyB0aGUgXCJTZWxlY3RcIiBidWxrLW1vZGUgZW50cnlcbi8vIHBvaW50KSBzbyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gYWJvdmUgc3RpbGwgc3BsaXRzIGxhYmVsIHZzIFRISVNcbi8vIGdyb3VwLCBub3QgZWFjaCBpbmRpdmlkdWFsIGJ1dHRvbi4gT25seSByZW5kZXJlZCB3aGlsZSBzZWxlY3QgbW9kZSBpcyBPRkYg4oCUXG4vLyBvbmNlIGFjdGl2ZSB0aGlzIHdob2xlIGdyb3VwIGhpZGVzIGFuZCAuZmUtYnVsay1hY3Rpb25zLXJvdyAoYmVsb3cpIHRha2VzXG4vLyBvdmVyLiBbUGhhc2UgMiBTY29yZS9OUFMgb3ZlcmhhdWwsIDIwMjYtMDctMTE7IHJlZ3JvdXBlZCBLaW0gMTIuMDcuMjAyNl1cbi5mZS1hbnN3ZXJvcHRzLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbn1cbi5mZS1pbXBvcnQtdHJpZ2dlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgcGFkZGluZzogNnB4IDRweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogIzQwNDk5QTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgLm1kaSB7IGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICY6aG92ZXIgeyBjb2xvcjogIzJmMzY3YTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbn1cbi5mZS1pbXBvcnQtdHJpZ2dlci0taGVhZCB7IG1hcmdpbi10b3A6IDA7IH1cblxuLy8gQnVsay1hY3Rpb24gdG9vbGJhcjogaXRzIG93biByb3cgdW5kZXIgdGhlIFwiQW50d29vcmRvcHRpZXNcIiB0aXRsZSwgc2hvd24gb25seVxuLy8gd2hpbGUgc2VsZWN0IG1vZGUgaXMgYWN0aXZlLiBXYXMgcHJldmlvdXNseSBjcmFtbWVkIG9udG8gdGhlIGhlYWRlciBsaW5lXG4vLyBhbG9uZ3NpZGUgdGhlIHRpdGxlICsgSW1wb3J0IG9wdGlvbnMg4oCUIEtpbSdzIGZlZWRiYWNrIDEyLjA3LjIwMjYuIEEgc3VidGxlXG4vLyB0aW50ZWQgc3RyaXAgKHNhbWUgcHVycGxlIGZhbWlseSBhcyAuZmUtZ3JhZGUtcm93LS1jaGVja2VkKSBzZXRzIGl0IGFwYXJ0XG4vLyBmcm9tIHRoZSBwbGFpbiBvcHRpb24gbGlzdCBiZWxvdyBpdC4gQ2FuY2VsL0xpbmsgc2VsZWN0aW9uL1VubGluayBzZWxlY3Rpb25cbi8vIGFyZSBxZG5hcHJvLWJ1dHRvbiBub3cgKHdlcmUgdGV4dC1saW5rIC5mZS1pbXBvcnQtdHJpZ2dlciBidXR0b25zKS4gW0tpbV1cbi5mZS1idWxrLWFjdGlvbnMtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY0LCA3MywgMTU0LCAwLjA2KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gICAgcWRuYXByby1pY29uIHsgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cbn1cblxuLy8gQnVsay1zZWxlY3RhYmxlIGFuc3dlci1vcHRpb24gcm93OiBvcHRpb25hbCBzZWxlY3QgY2hlY2tib3ggKyB0aGUgc2hhcmVkXG4vLyBxZG5hcHJvLWFuc3dlci1vcHRpb24uIFVzZWQgZm9yIGdyYWRlX25vZGUvbnBzX25vZGUgKHJlYWRvbmx5IGhhcmQtdmFsdWVcbi8vIGxhYmVsLCBubyBkZWxldGUvZHJhZyDigJQgc2VlIExpbmsudnVlJ3MgaXNIYXJkVmFsdWUpIEFORCwgc2luY2UgdGhlXG4vLyBsaW5rcy1lZGl0b3IgcmV2aWV3IGJhdGNoICgyMDI2LTA3LTExKSwgTWVlcmtldXplIHJvd3MgaW4gcmFkaW8gbW9kZSAoc3RpbGxcbi8vIGRyYWdnYWJsZS9lZGl0YWJsZS9yZW1vdmFibGUgdGhlcmUpLiBbUGhhc2UgMiBTY29yZS9OUFMgb3ZlcmhhdWwsIDIwMjYtMDctMTFdXG4uZmUtZ3JhZGUtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0O1xuXG4gICAgLy8gV0lEVEggQlVHIEZJWCAobGlua3MtZWRpdG9yIHJldmlldywgMjAyNi0wNy0xMSk6IGV2ZXJ5IG90aGVyIG5vZGUgdHlwZSdzXG4gICAgLy8gcm93IHJlbmRlcnMgcWRuYXByby1hbnN3ZXItb3B0aW9uIGFzIGEgRElSRUNUIGNoaWxkIG9mIHRoZSBwbGFpbiBibG9ja1xuICAgIC8vIDx1bCBjbGFzcz1cImZlLWl0ZW1zXCI+LCBzbyBpdCBmaWxscyB0aGUgZnVsbCB3aWR0aCBmb3IgZnJlZS4gSGVyZSBpdCdzIG9uZVxuICAgIC8vIGxldmVsIGRlZXBlciwgaW5zaWRlIFRISVMgZmxleCByb3cg4oCUIGFuZCBieSBkZWZhdWx0IGEgZmxleCBpdGVtIG9ubHlcbiAgICAvLyBzaXplcyB0byBpdHMgY29udGVudCAoZmxleC1ncm93OiAwKSwgc28gaXQgc2hyYW5rIHRvIHJvdWdobHkgaGFsZiB3aWR0aC5cbiAgICAvLyBUaGUgb2J2aW91cyBmaXggaXMgYSBgLmZlLWdyYWRlLXJvdy1saW5rYCBjbGFzcyBvbiA8bGlua2plPiBpbiBMaW5rcy52dWUsXG4gICAgLy8gYnV0IHFkbmEtYW5zd2VyLW9wdGlvbi5qcydzIF9yZW5kZXIoKSBkb2VzIGB0aGlzLmNsYXNzTmFtZSA9IFsuLi5dYCBvblxuICAgIC8vIGV2ZXJ5IHJlbmRlciwgd2hpY2ggV0lQRVMgYW55IGNsYXNzIHRoZSBob3N0IHRlbXBsYXRlIHB1dCB0aGVyZSDigJRcbiAgICAvLyB0YXJnZXRpbmcgdGhlIENVU1RPTSBFTEVNRU5UIFRBRyBOQU1FIGluc3RlYWQgc3Vydml2ZXMgdGhhdCByZXdyaXRlXG4gICAgLy8gKHRoZSBjb21wb25lbnQgbmV2ZXIgdG91Y2hlcyBpdHMgb3duIHRhZyBuYW1lKS4gW0tpbV1cbiAgICBxZG5hcHJvLWFuc3dlci1vcHRpb24ge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbn1cbi5mZS1ncmFkZS1yb3ctLWNoZWNrZWQgeyBiYWNrZ3JvdW5kOiByZ2JhKDY0LCA3MywgMTU0LCAwLjA2KTsgfVxuLy8gV2FzIGEgcmF3IDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIj4g4oCUIHJlYWQgYXMgXCJub3QgbmV0amVzIHZlcnRpY2FsbHkgY2VudGVyZWRcIlxuLy8gYWdhaW5zdCB0aGUgYW5zd2VyLW9wdGlvbiByb3cgbmV4dCB0byBpdCAoS2ltJ3MgZmVlZGJhY2sgMTIuMDcuMjAyNikuIE5vd1xuLy8gcWRuYXByby1jaGVja2JveCwgd2hpY2ggaXMgZGlzcGxheTppbmxpbmUtZmxleCArIHNlbGYtY2VudGVyaW5nIGJ5IGRlc2lnblxuLy8gKHNlZSBfY2hlY2tib3guc2Nzcyk7IHRoaXMgd3JhcHBlciBvbmx5IG5lZWRzIHRvIGNlbnRlciBUSEFUIHdpdGhpbiB0aGVcbi8vIHNhbWUgMjBweCBoaXQtYm94IHRoZSByb3cgYWxyZWFkeSByZXNlcnZlZC4gW0tpbV1cbi5mZS1ncmFkZS1zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4vLyBQZXItcm93IHdyYXBwZXIgYXJvdW5kIHFkbmFwcm8tYW5zd2VyLW9wdGlvbiAoRmFzZSA1IE1lZXJrZXV6ZSBwZXItb3B0aW9uXG4vLyBhcHBlYXJhbmNlLCAxMS4wNy4yMDI2KS4gQUxXQVlTIHByZXNlbnQg4oCUIGZvciBldmVyeSBub2RlIHR5cGUncyByb3csIG5vdFxuLy8ganVzdCBNZWVya2V1emUg4oCUIHNvIExpbmsudnVlIGhhcyBhIHN0YWJsZSBwbGFjZSB0byBhdHRhY2ggdGhlIGFwcGVhcmFuY2Vcbi8vIHRyaWdnZXIgKyBwb3BvdmVyIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHNpbmdsZS1yb290LWVsZW1lbnQgYXR0cnNcbi8vIGZhbGx0aHJvdWdoIChpZC9kcmFnZ2FibGUgbXVzdCBzdGlsbCBsYW5kIE9OIHFkbmFwcm8tYW5zd2VyLW9wdGlvbiBpdHNlbGZcbi8vIGZvciBMaXN0LnZ1ZSdzIG5hdGl2ZSBEbkQ7IExpbmsudnVlIHNldHMgaW5oZXJpdEF0dHJzOmZhbHNlICsgYW4gZXhwbGljaXRcbi8vIHYtYmluZD1cIiRhdHRyc1wiIG9uIHRoZSBxZG5hcHJvLWFuc3dlci1vcHRpb24gdGFnIHRvIGd1YXJhbnRlZSB0aGF0KS5cbi8vIHBvc2l0aW9uOiBzdGF0aWMgaXMgZGVsaWJlcmF0ZSDigJQgdGhpcyB3cmFwcGVyIG11c3QgTk9UIGJlY29tZVxuLy8gcWRuYXByby1hbnN3ZXItb3B0aW9uJ3Mgb2Zmc2V0UGFyZW50LCBvciBMaXN0LnZ1ZSdzIGRyYWcgZHJvcC1saW5lIG1hdGhcbi8vIChyZWFkcyAub2Zmc2V0VG9wIHJlbGF0aXZlIHRvIHRoZSBzY3JvbGxpbmcgPHVsPikgd291bGQgYnJlYWsuIE9ubHkgdGhlXG4vLyBzbWFsbCAuZmUtYW5zd2VyLWFwcGVhcmFuY2Ugc3BhbiAoZm9yIHRoZSBwb3BvdmVyKSBpcyBwb3NpdGlvbmVkLlxuLmZlLWFuc3dlci1yb3ctd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcblxuICAgIC8vIFNhbWUgd2lkdGggZml4IC5mZS1ncmFkZS1yb3cgYWxyZWFkeSBuZWVkZWQgYWJvdmU6IG5lc3RlZCBvbmUgbGV2ZWxcbiAgICAvLyBkZWVwZXIgdGhhbiB0aGUgYmFyZSA8dWw+IGNoaWxkLCBzbyBpdCBubyBsb25nZXIgZ2V0cyBmdWxsIHdpZHRoIGZvclxuICAgIC8vIGZyZWUgYnkgZGVmYXVsdCAoZmxleC1pdGVtIGNvbnRlbnQtc2l6aW5nKS4gVGFyZ2V0IHRoZSB0YWcgbmFtZSAobm90IGFcbiAgICAvLyBjbGFzcykgc2luY2UgcWRuYS1hbnN3ZXItb3B0aW9uLmpzJ3MgX3JlbmRlcigpIG92ZXJ3cml0ZXMgaXRzIG93blxuICAgIC8vIGNsYXNzTmFtZSB3aG9sZXNhbGUgb24gZXZlcnkgcmVuZGVyLlxuICAgIHFkbmFwcm8tYW5zd2VyLW9wdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxufVxuXG4vLyBTdWJ0bGUgcGVyLXJvdyBhZmZvcmRhbmNlIHRvIG9wZW4gdGhlIGljb24vY29sb3VyIHBvcG92ZXIg4oCUIG9ubHkgcmVuZGVyZWRcbi8vIGZvciBNZWVya2V1emUncyByZWFsIChkYXRhcG9pbnQtYmFja2VkKSBvcHRpb24gcm93cywgc2VlIExpbmsudnVlXG4vLyBzaG93QXBwZWFyYW5jZVRyaWdnZXIoKS5cbi5mZS1hbnN3ZXItYXBwZWFyYW5jZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xufVxuLy8gVGFnIG9uIHRoZSBzeW50aGV0aWMgcGVuZGluZy1udnQgcm93IChMaW5rLnZ1ZSwgYnVnZml4IDEyLjA3LjIwMjYpOiBtYXJrcyB0aGVcbi8vIGxpdmUtcHJldmlldyBhbnN3ZXItb3B0aW9uIHJvdyBhcyBcIm5vdCB5ZXQgcmVhbFwiIHVudGlsIHRoZSB3aXphcmQncyBTYXZlXG4vLyBidXR0b24gYWN0dWFsbHkgY3JlYXRlcyB0aGUgYmFja2luZyBsaW5rIHNlcnZlci1zaWRlLiBTYW1lIHNtYWxsLW11dGVkXG4vLyBsYW5ndWFnZSBhcyAuZmUtc2NhbGUtc3luYy1oaW50LCBidXQgYW4gaW5saW5lIHBpbGwgKHNpdHMgbmV4dCB0byB0aGUgcm93LFxuLy8gbm90IGEgZnVsbC13aWR0aCBwYXJhZ3JhcGgpIHNpbmNlIC5mZS1hbnN3ZXItcm93LXdyYXAgaXMgYSBmbGV4IHJvdy5cbi5mZS1hbnN3ZXItcGVuZGluZy10YWcge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiB2YXIoLS1xZG5hLWNvbG9yLXRleHQtbXV0ZWQsICM2YjcyODApO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTA3LCAxMTQsIDEyOCwgMC4xKTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5mZS1hbnN3ZXItYXBwZWFyYW5jZS10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM4YThmYjg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zLCBjb2xvciAxMjBtcywgYm9yZGVyLWNvbG9yIDEyMG1zO1xuXG4gICAgJjpob3ZlcixcbiAgICAmLS1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVmMGZmO1xuICAgICAgICBjb2xvcjogIzQwNDk5YTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDRkOGVlO1xuICAgIH1cbn1cblxuLy8gQnJvd3NlIG1vZGFsIG92ZXIgQUxMIGFuc3dlciBvcHRpb25zIChPcHRpb25BcHBlYXJhbmNlT3ZlcmxheS52dWUpLlxuLy8gUkVERVNJR04gdjcgKEtpbSwgZGVmaW5pdGl2ZSBkZXNpZ24gKyBza2V0Y2gsIDEyLjA3LjIwMjYpOiByZXBsYWNlcyB2NCdzXG4vLyBcIm9uZSBjZW50ZXJlZCBzbWFsbCBtb2RhbCBwZXIgb3B0aW9uLCBpY29uLXBpY2tpbmcgZGVsZWdhdGVkIHRvIGEgbmVzdGVkXG4vLyBwb3BvdmVyXCIgd2l0aCBPTkUgbW9kYWwtc2l6ZS1sYXJnZSwgdHdvLWNvbHVtbiBsYXlvdXQg4oCUIGV2ZXJ5IG9wdGlvbiBvZlxuLy8gdGhlIG5vZGUgaXMgYnJvd3NhYmxlIGluIG9uZSBzaXR0aW5nLCBhbmQgdGhlIGljb24gcGFuZWwgaXMgbm93IGFcbi8vIFBFUk1BTkVOVCBwYXJ0IG9mIHRoaXMgbW9kYWwncyBvd24gYm9keSAobm8gbW9yZSBvdmVybGF5LW92ZXItbW9kYWwpLlxuLy8gVGhlIGNvbXBvbmVudCBzdGlsbCByZW5kZXJzIHRoZSBFWEFDVCBxZG5hcHJvLW1vZGFsIG1hcmt1cC9jbGFzc2VzXG4vLyAoLm1vZGFsLWJhY2tkcm9wID4gLm1vZGFsLWRpYWxvZyA+IC5tb2RhbC13aW5kb3cgKyBoZWFkZXIvYm9keS9mb290ZXIpIHNvXG4vLyBhbGwgY2FyZCBjaHJvbWUgY29tZXMgMToxIGZyb20gX21vZGFsLnNjc3MgKDxxZG5hcHJvLW1vZGFsPiB0aGUgd2ViXG4vLyBjb21wb25lbnQgaXRzZWxmIHN0aWxsIGNhbid0IGhvc3QgdGhpczogaXQgY2xvbmVzIGl0cyBsaWdodCBET00gb25cbi8vIHJlbmRlciwga2lsbGluZyBldmVyeSBWdWUgbGlzdGVuZXI7IGtub3duIGdvdGNoYSkuIE9ubHkgYWRkaXRpb25zIGhlcmU6XG4vLyB0aGUgei1pbmRleCBidW1wIGFuZCB0aGUgYXBwZWFyYW5jZS1zcGVjaWZpYyBpbm5hcmRzIGJlbG93LlxuLy8gei1pbmRleCA5MzUwIGNsZWFycyB0aGUgd2l6YXJkIG1vZGFsICg5MDAwKSwgaXRzIGRyb3Bkb3duIGxheWVyICg5MjAwKSBhbmRcbi8vIHRoZSBzaGFyZWQgY29uZmlybSBkaWFsb2cncyBidW1wICg5MzAwKTogaGlnaGVzdCBzbG90IGJlbG93IHRvYXN0cyAoOTk5OSkuXG4uZmUtb2EtbW9kYWwge1xuICAgIHotaW5kZXg6IDkzNTA7XG59XG5cbi8vIFR3by1jb2x1bW4gYm9keS4gS2ltJ3MgZXhwbGljaXQgZmVlZGJhY2sgb24gdjQ6IFwiYWxsZXMgeml0IG9wIGVsa2FhclxuLy8gZ2Vwcm9wdFwiIOKAlCBnZW5lcm91cyBnYXBzIGJvdGggYmV0d2VlbiB0aGUgdHdvIGNvbHVtbnMgYW5kIGJldHdlZW4gZWFjaFxuLy8gYmxvY2sgaW5zaWRlIHRoZSBsZWZ0IGNvbHVtbiAoc2VlIC5mZS1vYS1icm93c2UtbGVmdCBiZWxvdykuXG4uZmUtb2EtYnJvd3NlLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAyOHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAwO1xufVxuLmZlLW9hLWJyb3dzZS1sZWZ0IHtcbiAgICBmbGV4OiAwIDAgMjk2cHg7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDIycHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAycHggNHB4IDJweCAycHg7XG59XG4uZmUtb2EtYnJvd3NlLXJpZ2h0IHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4vLyBMaXZlIHByZXZpZXcgYXQgdGhlIHRvcCBvZiB0aGUgbGVmdCBjb2x1bW46IHRoZSBzdGFnZWQgaWNvbi9sYWJlbC9jb2xvdXJcbi8vIGFzIHRoZSBSRUFMIGFuc3dlci1idXR0b24gY29tcG9uZW50ICh0aGUgb25lIGFjdHVhbGx5IHVzZWQgaW4gdGhlIFBXQVxuLy8gc3VydmV5L2F1ZGl0IGZsb3cpLCBvbiBhIHN1YnRsZSBjb250cmFzdGluZyBzdXJmYWNlIHNvIGl0IHJlYWRzIGFzXG4vLyBcInZvb3JiZWVsZFwiLiBEZWxpYmVyYXRlbHkgaW50ZXJhY3RpdmU6IHRoZSBhdXRob3IgY2FuIGNsaWNrIGFuZCBmZWVsIGl0LlxuLmZlLW9hLXByZXZpZXcge1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjRmNWZiO1xuXG4gICAgLy8gUHJldmVudHMgYSBGT1VDIG9mIHVuc3R5bGVkIGlubGluZSBjb250ZW50OiBxZG5hcHJvLWFuc3dlci1idXR0b24nc1xuICAgIC8vIG93biBkaXNwbGF5OmZsZXggb25seSBhcHBsaWVzIG9uY2UgaXRzIEpTIGFzc2lnbnMgdGhlIGNvbXBvbmVudCBjbGFzc1xuICAgIC8vIG9uIGNvbm5lY3RlZENhbGxiYWNrOyBiZWZvcmUgdGhhdCB0aGUgdW4tdXBncmFkZWQgdGFnIGRlZmF1bHRzIHRvXG4gICAgLy8gaW5saW5lLlxuICAgIHFkbmFwcm8tYW5zd2VyLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuZmUtb2EtcHJldmlldyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTtcbn1cblxuLy8gR2VuZXJpYyB2ZXJ0aWNhbCBibG9jayAoY29sb3VyIHBpY2tlciBzZWN0aW9uIHRvZGF5KSDigJQgbGFiZWwgdXNlcyB0aGVcbi8vIHNoYXJlZCAucWRuYXByby1tb2RhbC1sYWJlbCBjbGFzcyAoc2VlIF9tb2RhbC5zY3NzKSwgTk9UIGEgYmVzcG9rZSBzdHlsZTpcbi8vIEtpbSdzIGZlZWRiYWNrICgxMi4wNy4yMDI2KSB3YXMgdGhhdCB0aGUgb2xkIElDT04vQ09MT1VSIGtvcGplcyAoMTFweC83MDAvXG4vLyB1cHBlcmNhc2UvbGV0dGVyLXNwYWNlZCkgZGlkbid0IG1hdGNoIGhvdyBldmVyeSBvdGhlciBtb2RhbCBpbiB0aGlzIGFwcFxuLy8gbGFiZWxzIGEgZmllbGQuIFRoZSBzaGFyZWQgY2xhc3MgaXMgMTRweC81MDAvIzBiMGIwZCwgbm9ybWFsIGNhc2Ug4oCUIHRoZVxuLy8gc2FtZSBzdHlsZSB0aGlzIG1vZGFsJ3Mgb3duIFwiQW50d29vcmRvcHRpZXNcIiBzZWN0aW9uIHRpdGxlIGFuZFxuLy8gTm9kZU9wdGlvbnMudnVlJ3MgXCJTdHlsZVwiIGxhYmVsIGFscmVhZHkgdXNlLlxuLmZlLW9hLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA2cHg7XG59XG5cbi8vIFByZXZpb3VzL05leHQgKyBcIm4gdmFuIG1cIiArIHRoZSBvcHRpb24ncyBvd24gbGFiZWwgYXMgYSBjb2x1bW4gdGl0bGUgK1xuLy8gYnJvd3NlIGhpbnQuIE9ubHkgcmVuZGVyZWQgd2hpbGUgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBvcHRpb24gdG8gYnJvd3NlXG4vLyAoc2VlIE9wdGlvbkFwcGVhcmFuY2VPdmVybGF5LnZ1ZSdzIHNob3dOYXYpLlxuLmZlLW9hLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlYTtcbn1cbi5mZS1vYS1uYXYtdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBiMGIwZDtcbn1cbi5mZS1vYS1uYXYtdGl0bGUtdGV4dCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLy8gVW5zYXZlZC1jaGFuZ2UgaW5kaWNhdG9yIG5leHQgdG8gdGhlIGN1cnJlbnRseS1icm93c2VkIG9wdGlvbidzIHRpdGxlLlxuLmZlLW9hLWRpcnR5LWRvdCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2M5OGExZjtcbn1cbi5mZS1vYS1uYXYtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogOHB4O1xufVxuLmZlLW9hLW5hdi1jb3VudGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICM2YjcyODA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5mZS1vYS1uYXYtaGludCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBjb2xvcjogIzhhOTBhYztcbn1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuZmUtb2EtbmF2IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNDA0NDRkO1xufVxuXG4vLyBSaWdodCBjb2x1bW46IHBlcm1hbmVudCBpY29uIHBhbmVsIChzZWFyY2ggKyBzZWxmLXNjcm9sbGluZyBncmlkICsgYVxuLy8gcnVubmluZyBcIm4gdmFuIG0gaWNvbmVuXCIgY291bnRlcikg4oCUIHJlcGxhY2VzIHY0J3MgbmVzdGVkXG4vLyBxZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyLW92ZXJsYXkgcG9wb3Zlci1vdmVyLW1vZGFsLiBTZWVcbi8vIE9wdGlvbkFwcGVhcmFuY2VPdmVybGF5LnZ1ZSdzIGRvY2Jsb2NrIGZvciB3aHkgdGhpcyBpcyBhIGZyZXNoIFZ1ZS1uYXRpdmVcbi8vIHBhbmVsIHJhdGhlciB0aGFuIHRoYXQgcG9wb3ZlciBlbWJlZGRlZCBpbiBwbGFjZS5cbi5mZS1vYS1pY29uLXNlYXJjaCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG4uZmUtb2EtZ3JpZC1zY3JvbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWVhO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5mZS1vYS1ncmlkLXNjcm9sbCB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzQwNDQ0ZDtcbn1cbi5mZS1vYS1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgMzZweCk7XG4gICAgZ2FwOiA4cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xufVxuLy8gVGlsZSBsb29rIG1pcnJvcnMgLmFpcC1vdmVybGF5LW1kaS10aWxlICh0aGUgc2hhcmVkIG92ZXJsYXkncyBvd24gTURJIHRpbGUsXG4vLyBfYWN0aXZpdHktaWNvbi1waWNrZXItb3ZlcmxheS5zY3NzKSBzbyBib3RoIGljb24tcGlja2luZyBzdXJmYWNlcyBpbiB0aGVcbi8vIGZsb3dlZGl0b3IgcmVhZCBhcyBvbmUgY29uc2lzdGVudCB2aXN1YWwgbGFuZ3VhZ2UsIHdpdGhvdXQgdGhpcyBtb2RhbFxuLy8gZGVwZW5kaW5nIG9uIHRoYXQgcG9wb3ZlciBjb21wb25lbnQncyBpbnRlcm5hbCBjbGFzc2VzLlxuLmZlLW9hLXRpbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UxZTNlNjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzU2NWI2NjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zIGVhc2UsIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLCBib3gtc2hhZG93IDE1MG1zIGVhc2U7XG5cbiAgICBxZG5hcHJvLWljb24ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlYmVkZmI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2I4YmRlODtcbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDA0OTlhO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg3MCwgODIsIDI0MywgMC4yMCk7XG4gICAgfVxuICAgICYtLXNlbGVjdGVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDY1MmYzO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDcwLCA4MiwgMjQzLCAwLjA2KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNzAsIDgyLCAyNDMsIDAuMjUpO1xuICAgICAgICBjb2xvcjogIzQwNDk5YTtcbiAgICB9XG59XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmZlLW9hLXRpbGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIGNvbG9yOiAjZDFkNWRiO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcbiAgICB9XG4gICAgJi5mZS1vYS10aWxlLS1zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2E1YWNmZjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg3MCwgODIsIDI0MywgMC4xOCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjMwKTtcbiAgICAgICAgY29sb3I6ICNhNWFjZmY7XG4gICAgfVxufVxuLmZlLW9hLWljb24tZW1wdHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyNHB4IDhweDtcbiAgICBjb2xvcjogIzZlNmU3MztcbiAgICBmb250LXNpemU6IDEzcHg7XG59XG4uZmUtb2EtaWNvbi1jb3VudCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjNmU2ZTczO1xufVxuXG4vLyBhZHZhbmNlZF9pbnB1dCBmcmVlLWZpZWxkIGljb24gcGlja2VyIChBYnN0cmFjdEljb25QaWNrZXIudnVlLCBQaGFzZSA2QSxcbi8vIDExLjA3LjIwMjYpOiBhIHNldHRpbmdzLXJvdyB0cmlnZ2VyIGJ1dHRvbiB0aGF0IG9wZW5zIHRoZSBzaGFyZWRcbi8vIE9wdGlvbkFwcGVhcmFuY2VPdmVybGF5IChjZW50ZXJlZCBtb2RhbC1sYXllciwgc2hvd0NvbG9yPWZhbHNlKSwgc2VlIHRoZVxuLy8gLmZlLW9hLW1vZGFsIHJ1bGVzIGFib3ZlLiBbUmVkZXNpZ25lZCAxMi4wNy4yMDI2XVxuLmZlLWZpLWFuY2hvciB7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG4uZmUtZmktdHJpZ2dlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlNGVmO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zLCBib3JkZXItY29sb3IgMTIwbXM7XG5cbiAgICAmOmhvdmVyLFxuICAgICYtLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZWYwZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2Q0ZDhlZTtcbiAgICB9XG59XG4uZmUtZmktdHJpZ2dlci1sYWJlbCB7XG4gICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uZmUtaW1wb3J0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1pbi13aWR0aDogNDIwcHg7XG59XG4uZmUtaW1wb3J0LXBhbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgICBtaW4taGVpZ2h0OiAxNzBweDtcbn1cbi8qIHFkbmFwcm8tbW9kYWwgdG9nZ2xlcyAubW9kYWwtdGFiLXBhbmVsKC1hY3RpdmUpOyBzdXBwbHkgdGhlIHNob3cvaGlkZSBoZXJlXG4gICAodGhlIG1vZGFsIGJ1aWxkIHNoaXBzIG5vIHRhYi1wYW5lbCBDU1Mgb2YgaXRzIG93bikuIFtLaW0gMjAyNi0wNi0yMF0gKi9cbi5mZS1pbXBvcnQtcGFuZS5tb2RhbC10YWItcGFuZWw6bm90KC5tb2RhbC10YWItcGFuZWwtYWN0aXZlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi8qIERyb3Atem9uZSByZXN0aW5nIGNvbnRlbnQgKGl0IGlzIGFuIG92ZXJsYXkgd3JhcHBlciwgc28gaXQgbmVlZHMgaXRzIG93blxuICAgYm9keSBmb3IgaGVpZ2h0ICsgYSBjbGljayB0YXJnZXQpLiAqL1xuLmZlLWltcG9ydC1keiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgcGFkZGluZzogMjhweCAxNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzZCNzE5MjtcblxuICAgIC5tZGkgeyBmb250LXNpemU6IDI4cHg7IGNvbG9yOiAjNDA0OTlBOyB9XG4gICAgJi10ZXh0IHsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogIzJBMkY0NTsgfVxuICAgICYtaGludCB7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6ICM4QTkwQUM7IH1cblxuICAgIC5mZS1pbXBvcnQtcGljayB7IG1hcmdpbi10b3A6IDhweDsgfVxufVxuLmZlLWltcG9ydC1oaW50IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjOEE5MEFDO1xufVxuLmZlLWltcG9ydC1jb3VudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICBjb2xvcjogIzQwNDk5QTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuLmZlLWltcG9ydC1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI0Y0RjVGQjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gICAgJi1uYW1lIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjogIzJBMkY0NTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICAgICYtcmVtb3ZlIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6ICM4QTkwQUM7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAjNDA0OTlBOyB9XG4gICAgfVxufVxuLmZlLWltcG9ydC1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLy8gT3BlbiBpbnZvZXIgLyBnZXRhbFxuLmZlLXB2LWZpZWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCAjNDA0OTlBO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4uZmUtcHYtZmllbGQtLWNvdW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi5mZS1wdi1zdGVwIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQwNDk5QTtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzQwNDk5QTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTIwbXMgZWFzZTtcblxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDY0LCA3MywgMTU0LCAwLjEwKTsgfVxuICAgICY6YWN0aXZlIHsgYmFja2dyb3VuZDogcmdiYSg2NCwgNzMsIDE1NCwgMC4xOCk7IH1cbn1cbi5mZS1wdi1pbnB1dCB7IGZsZXg6IDEgMSBhdXRvOyBtaW4td2lkdGg6IDA7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyB9XG4uZmUtcHYtY3VyIHsgY29sb3I6ICM0MDQ5OUE7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi5mZS1wdi1yZWFsaW5wdXQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBjb2xvcjogIzBiMGIwZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICM5YWEwYjU7IH1cbn1cbi5mZS1wdi1waCAgeyBjb2xvcjogIzlhYTBiNTsgZm9udC1zaXplOiAxNHB4OyB9XG4uZmUtcHYtYmFyY29kZSB7IG1hcmdpbi1sZWZ0OiBhdXRvOyBjb2xvcjogIzQwNDk5QTsgZm9udC1zaXplOiAxOHB4OyB9XG5cbi8vIEtpbGwgYSBsZWdhY3kgZ2xvYmFsIGBpbnB1dFt0eXBlPVwiZGF0ZVwiXTo6YmVmb3JlYCAoYW5kIHRpbWUpIE1ESS1nbHlwaCAoZnJvbVxuLy8gc3R5bGUuY3NzKSB0aGF0IGxlYWtzIG9udG8gRVZFUlkgbmF0aXZlIGRhdGUvdGltZSBmaWVsZCBpbiB0aGUgbW9kYWwgKHFkbmFwcm8taW5wdXRcbi8vIEFORCB0aGUgcmF3IGlucHV0cyBpbiBBYnN0cmFjdFRvZ2dsZUlucHV0KSBhbmQgcmVuZGVycyBhcyBhIHN0cmF5IENKSyBjaGFyIChcIuWxolwiKVxuLy8gYmVjYXVzZSB0aGUgTURJIHdlYmZvbnQgaXNuJ3QgbG9hZGVkIG9uIHRoZSBmbG93ZWRpdG9yIHBhZ2UuIFtLaW0gMjAyNi0wNi0xOV1cbi5mZS1ubyBpbnB1dFt0eXBlPVwiZGF0ZVwiXTo6YmVmb3JlLFxuLmZlLW5vIGlucHV0W3R5cGU9XCJ0aW1lXCJdOjpiZWZvcmUsXG4uZmUtcHYgaW5wdXRbdHlwZT1cImRhdGVcIl06OmJlZm9yZSxcbi5mZS1wdiBpbnB1dFt0eXBlPVwidGltZVwiXTo6YmVmb3JlIHsgY29udGVudDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8vIEltYWdlLXVwbG9hZCBhY3Rpb24gcGlubmVkIHRvIHRoZSB0b3Agb2YgdGhlIHByZXZpZXcgY2FyZCwgc2VwYXJhdGVkIGZyb20gdGhlXG4vLyBxdWVzdGlvbiBieSBhIGtleWxpbmUuIFtLaW0gMjAyNi0wNi0xOF1cbi5mZS1wdi1pbWdhY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlY2VlZjU7XG59XG5cbi8vIFVwbG9hZGVkIGRpc3BsYXkgaW1hZ2UgaW4gdGhlIHByZXZpZXcg4oCUIHJvdW5kZWQgY29ybmVycyAobWF0Y2hlcyB0aGUgY3JvcHBlcidzXG4vLyByb3VuZGVkIG1hc2sgKyBob3cgdGhlIGFwcCByZW5kZXJzIGl0KS4gMTJweCB0b3ArYm90dG9tIHNvIGl0IGJyZWF0aGVzIHRoZSBzYW1lXG4vLyBhcyB0aGUgaW5wdXQgZmllbGQsIGluIHdoaWNoZXZlciBwb3NpdGlvbiBpdCBzaXRzLiBbS2ltIDIwMjYtMDYtMTldXG4uZmUtcHYtcGhvdG8ge1xuICAgIG1hcmdpbjogMTJweCAwO1xuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIH1cbn1cbi8vIERpc3BsYXktaW1hZ2Ugc2l6ZSAoaW1hZ2Vfc2l6ZSBtZXRhOiBzIHwgbSB8IGwpLiBMIGlzIHRoZSB1bm1vZGlmaWVkIHJ1bGUgYWJvdmUsXG4vLyBzbyBubyBleGlzdGluZyBxdWVzdGlvbiBjaGFuZ2VzLiBUaGUgcHggdmFsdWVzIGFyZSB0aGUgYXBwJ3MgMjAvMzUvNjB2aCBzY2FsZWQgdG9cbi8vIHRoaXMgcHJldmlldyBjYXJkICgyMjBweCBzdGFuZHMgaW4gZm9yIDYwdmgpLCBrZWVwaW5nIHRoZSBwcm9wb3J0aW9ucyBob25lc3QuXG4vL1xuLy8gUyBhbmQgTSBzY2FsZSBQUk9QT1JUSU9OQUxMWSBhbmQgY2VudHJlICh3aWR0aDphdXRvICsgY29udGFpbikgaW5zdGVhZCBvZiB0aGVcbi8vIGZ1bGwtd2lkdGggY3JvcCBMIHVzZXMsIGJlY2F1c2UgdGhhdCBpcyB3aGF0IHRoZSBmaWVsZCBhcHAgZG9lcyB3aXRoIGEgYm91bmRlZFxuLy8gaW1hZ2UgKG1heC13aWR0aDoxMDAlICsgaGVpZ2h0OmF1dG8gKyBtYXgtaGVpZ2h0KS4gQSBmdWxsLXdpZHRoIGNyb3AgYXQgNzVweCB0YWxsXG4vLyB3b3VsZCBzaG93IGEgbGV0dGVyYm94IHNsaWNlLCB3aGljaCBpcyBub3Qgd2hhdCB0aGUgYXBwIHJlbmRlcnMuIFtLaW0gMDMuMDguMjAyNl1cbi5mZS1wdi1waG90by0tcyBpbWcsXG4uZmUtcHYtcGhvdG8tLW0gaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5mZS1wdi1waG90by0tcyBpbWcgeyBtYXgtaGVpZ2h0OiA3NXB4OyB9XG4uZmUtcHYtcGhvdG8tLW0gaW1nIHsgbWF4LWhlaWdodDogMTMwcHg7IH1cblxuLy8g4pSA4pSAIFJlYnVpbHQgYWR2YW5jZWRfaW5wdXQgcHJldmlldzogYXBwLWZhaXRoZnVsLCByZWFjdHMgdG8gZXZlcnkgc2V0dGluZyDilIDilIBcbi8vIEVkaXRvci1vbmx5IHJlcXVpcmVkIGN1ZSAodGhlIGZpZWxkIGFwcCBzaG93cyBubyBhc3RlcmlzazsgdGhpcyBpcyBhbiBhdXRob3IgaGludCkuXG4uZmUtcHYtcmVxIHsgY29sb3I6ICNERTUwNjY7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbi1sZWZ0OiAycHg7IGN1cnNvcjogaGVscDsgfVxuXG4uZmUtcHYtc2luZ2xlIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA4cHg7IH1cblxuLy8gTGl2ZSB2YWxpZGF0aW9uIGZlZWRiYWNrIChzYW5kYm94KTogcmVkIGZpZWxkICsgbWVzc2FnZSB3aGVuIGEgcnVsZSBmYWlscyxcbi8vIG11dGVkIGhpbnQgbGlzdGluZyB0aGUgYWN0aXZlIHJ1bGVzIG90aGVyd2lzZS5cbi5mZS1wdi1maWVsZC0tZXJyb3IgeyBib3JkZXItY29sb3I6ICNERTUwNjYgIWltcG9ydGFudDsgfVxuLmZlLXB2LWVycm9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjREU1MDY2O1xuXG4gICAgLm1kaSB7IGZvbnQtc2l6ZTogMTRweDsgfVxufVxuLmZlLXB2LWhpbnQgeyBmb250LXNpemU6IDExcHg7IGNvbG9yOiAjOWFhMGJkOyBsaW5lLWhlaWdodDogMS4zOyB9XG5cbi8vIEV4cGFuZGFibGUgdGV4dCAtPiBsZWZ0LWFsaWduZWQgbXVsdGktbGluZSBhcmVhLlxuLmZlLXB2LXRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA5NnB4O1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mZS1wdi1yZWFsaW5wdXQtLWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vLyBDbG9jayAvIGNhbGVuZGFyIGFmZm9yZGFuY2UgaW5zaWRlIHRpbWUgKyBkYXRlIGZpZWxkcy5cbi5mZS1wdi1hZmZpeCB7IGNvbG9yOiAjNDA0OTlBOyBmb250LXNpemU6IDE4cHg7IG1hcmdpbi1sZWZ0OiA2cHg7IGZsZXg6IDAgMCBhdXRvOyBvcGFjaXR5OiAuODsgfVxuXG4vLyBTdW0gcm93IChhdXRvX3N1bSk6IHBvc2l0aW9ucyB0aGUgcWRuYXByby1zdW1tYXJ5LWJhZGdlIGF0IHRoZSByaWdodC5cbi8vIEludGVybmFsIHN0eWxpbmcgKGNvbG91ciwgcGFkZGluZywgYm9yZGVyLXJhZGl1cykgY29tZXMgZnJvbSB0aGUgYmFkZ2UgY29tcG9uZW50LlxuLmZlLXB2LXN1bSB7IGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi8vIElucHV0IGZvciBldmVyeSB1bml0OiBvbmUgcmVwcmVzZW50YXRpdmUgcGVyLXVuaXQgcm93ICsgY2FwdGlvbi5cbi5mZS1wdi11bml0cyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogOHB4OyB9XG4vLyBObyBwZXItcm93IGJvcmRlciBpbiB0aGUgcHJldmlldyAoS2ltIDIwMjYtMDYtMTkpOiBkZW5zZXIgPSBtb3JlIHJvb20uIFRoZVxuLy8gcm93IGNhcmQgYm9yZGVyIGlzIHRoZSBcInRhYmxldCBvbmx5XCIgdHJlYXRtZW50IGZvciB0aGUgYXBwIChzZWUgbWVtb3J5XG4vLyByZXNwb25zaXZlLWJvcmRlci10YWJsZXQtbm90LW1vYmlsZSk7IHRoZSBlZGl0b3IgcHJldmlldyBzdGF5cyBmbGF0L2RlbnNlLlxuLmZlLXB2LXVuaXQtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDRweCAwO1xufVxuLy8gSWNvbiArIG5hbWUgPSBhIGZpeGVkLCBjbGlja2FibGUgem9uZSB0aGF0IHNsaWRlcyB0aGUgbmFtZSBvdXQgb24gY2xpY2sgKHRoZVxuLy8gZmllbGQgc2hyaW5rcykuIENvbGxhcHNlZCBzaG93cyBpY29uICsgYSBzbGl2ZXIgb2YgbmFtZTsgLmlzLWV4cGFuZGVkIHJldmVhbHNcbi8vIH4xNTBweCBvZiBuYW1lLiBGdWxsIG5hbWUgdmlhIHRpdGxlIHRvb2x0aXAuIFtLaW0gMjAyNi0wNi0xOV1cbi5mZS1wdi11bml0LWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgLy8gQ29tcGFjdC1maWVsZCBsYXlvdXQgKEtpbSAyMDI2LTA2LTE5KTogdHlwZXMgdGhhdCBkb24ndCBleHBlY3QgbGFyZ2UgaW5wdXRcbiAgICAvLyAoY3VycmVuY3kvbnVtYmVyL3RpbWUvZGF0ZSkgZG9uJ3QgbmVlZCBhIHdpZGUgZmllbGQgcGVyIHVuaXQg4oCUIHNvIHRoZSBuYW1lXG4gICAgLy8gem9uZSBnZXRzIHRoZSByb29tIChpdCB3YXMgYmFyZWx5IHJlYWRhYmxlIGF0IDkycHgpLiBUaGUgZmllbGQgc2hyaW5rcyB0b1xuICAgIC8vIGZpbGwgdGhlIHJlc3QuIE9ubHkgYXBwbGllcyBpbiBwZXItdW5pdCBtb2RlICh0aGVzZSBjbGFzc2VzIG9ubHkgcmVuZGVyIHRoZW4pLlxuICAgIHdpZHRoOiAxNjBweDsgICAgICAgICAgICAvLyBjb2xsYXBzZWQgZGVmYXVsdDsgZXhwYW5kIGFuaW1hdGVzIHRvIDIzMHB4IHZpYSByQUZcbiAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLy8gTk9URTogTk8gQ1NTIHdpZHRoL21pbi9tYXggdHJhbnNpdGlvbiBoZXJlIOKAlCBpdCBmcmVlemVzIG9uIHRoaXMgZmxleCBpdGVtXG4gICAgLy8gKHJlcHJvZHVjaWJsZSkuIFRoZSBzbGlkZSBpcyBkcml2ZW4gYnkgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGluIF9hbmltYXRlVW5pdFdpZHRoXG4gICAgLy8gKHNldHMgd2lkdGgrbWluK21heCBlYWNoIGZyYW1lKS4gWzIwMjYtMDYtMTldXG59XG4uZmUtcHYtdW5pdC1pbWcge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNlZWYwZmE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyByZWFsIHVuaXQgcGhvdG8gZmlsbHMgdGhlIHRpbGVcbiAgICBpbWcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlcjsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAvLyB0eXBlLWljb24gZmFsbGJhY2sgKGFjdGl2aXR5IFNWRyBsaW5lLWFydCk6IGNvbnRhaW5lZCArIHBhZGRlZCwgdGludGVkIGJnXG4gICAgJi5mZS1wdi11bml0LWltZy0taWNvbiBpbWcgeyBvYmplY3QtZml0OiBjb250YWluOyBwYWRkaW5nOiA4cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbn1cbi8vIFNob3duIHdoZW4gdGhlIGZsb3cgaGFzIG5vIGNvdXBsZWQgdW5pdHMgeWV0LlxuLmZlLXB2LXVuaXRzLWVtcHR5IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogIzlhYTBiZDtcbiAgICBwYWRkaW5nOiA4cHggMnB4O1xufVxuLmZlLXB2LXVuaXQtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMmEyYzNhO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5mZS1wdi11bml0LWNvdW50ZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDRweDsgZmxleDogMCAwIGF1dG87IH1cbi5mZS1wdi11bml0LWlucHV0IHtcbiAgICB3aWR0aDogOTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogNnB4IDhweDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiAjMmEyYzNhO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAjOWFhMGJkOyB9XG59XG4uZmUtcHYtdW5pdHMtbm90ZSB7IGZvbnQtc2l6ZTogMTFweDsgY29sb3I6ICM5YWEwYmQ7IGxpbmUtaGVpZ2h0OiAxLjM7IH1cbi8vIFJpZ2h0LXNpZGUgY29udHJvbCBvZiBhIHBlci11bml0IHJvdzogb3B0aW9uYWwgYmFyY29kZSBzY2FuIGJ1dHRvbiArIHRoZSBmaWVsZC5cbi8vIE5PVEU6IG5vIG92ZXJmbG93OmhpZGRlbiBoZXJlIOKAlCBpdCBjbGlwcGVkIHRoZSBmaWVsZCdzIGZvY3VzIHJpbmcgb24gdGhlIHJpZ2h0XG4vLyAoS2ltIDIwMjYtMDYtMTkpLiBUaGUgZmxleCBzaHJpbmsgaXMgaGFuZGxlZCBieSBtaW4td2lkdGg6MCBhbG9uZSwgc28gdGhlIGNsaXBcbi8vIGlzbid0IG5lZWRlZDsgZHJvcHBpbmcgaXQgbGV0cyB0aGUgZm9jdXMgZ2xvdyByZW5kZXIgZnVsbHkgaW5zaWRlIHRoZSBjYXJkIHBhZGRpbmcuXG4uZmUtcHYtdW5pdC1jb250cm9sIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IGZsZXg6IDEgMSBhdXRvOyBtaW4td2lkdGg6IDA7IH1cbi5mZS1wdi11bml0LWZpZWxkIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgLy8gbGV0IHRoZSBxZG5hcHJvLWlucHV0IHNocmluayBmdWxseSBzbyBpdCBuZXZlciBicmVha3Mgb3V0IG9mIHRoZSBjYXJkIHdoZW5cbiAgICAvLyB0aGUgbmFtZSB6b25lIGV4cGFuZHMgKHRoZSBmaWVsZCBnZXRzIHNtYWxsZXIgaW5zdGVhZCkuIFtLaW0gMjAyNi0wNi0xOV1cbiAgICAuaW5wdXQtZmllbGQtcm93LCAuaW5wdXQtZmllbGQgeyBtaW4td2lkdGg6IDA7IH1cbn1cbi8vIFwiQW5zd2VyIHBlciB1bml0XCIgcGVyLXJvdyBjb250cm9scyAoeWVzX25vIC8gb3B0aW9ucyBjYXRlZ29yaWVzLCBwZXItdW5pdFxuLy8gYWRhcHRlcnMsIDEyLjA3LjIwMjYpLiBSZXVzZXMgLmZlLXB2LXVuaXQtY29udHJvbCdzIGZsZXgvZ2FwIGJhc2U7IHRoZSB5ZXNub1xuLy8gdmFyaWFudCBuZWVkcyBpdHMgYnV0dG9ucyB0byB3cmFwL3N0YWNrIHdoZW4gYSB0aGlyZCAobnZ0KSBidXR0b24gd29uJ3QgZml0LFxuLy8gbWlycm9yaW5nIC5mZS1wdi15ZXNuby0tc3RhY2tlZCdzIG93biBydWxlIGZvciB0aGUgc2luZ2xlLXF1ZXN0aW9uIGxheW91dC5cbi5mZS1wdi11bml0LWNvbnRyb2wtLXllc25vIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcWRuYXByby1hbnN3ZXItYnV0dG9uIHsgZmxleDogMSAxIDA7IG1pbi13aWR0aDogNjRweDsgfVxuICAgIC8vIFBob25lIHBhcml0eSAoWWVzL05vIHBlci11bml0LCAxMi4wNy4yMDI2KTogdGhlIGZpZWxkIGFwcCBoaWRlcyB0aGUgcm91bmRcbiAgICAvLyBpbmRpY2F0b3IgKyB0aHVtYiBpY29uIGluIHRoZXNlIGNvbXBhY3QgcGVyLXVuaXQgcm93cyB0byBzYXZlIGhvcml6b250YWxcbiAgICAvLyBzcGFjZSwgbGVhdmluZyBvbmx5IHRoZSBKYS9OZWUoL052dCkgdGV4dCDigJQgc2VlIHRoZSBwYXJhbGxlbCBQV0EgY2hhbmdlXG4gICAgLy8gdG8geWVzX25vLmpzJ3MgcGVyLXVuaXQgcm93ICgueW4tdW5pdC1idXR0b25zKS4gU2NvcGVkIHRvIFRISVMgcGVyLXVuaXRcbiAgICAvLyB3cmFwcGVyIG9ubHksIHNvIHRoZSBzaW5nbGUtcXVlc3Rpb24gWWVzL05vIGJ1dHRvbnMgYWJvdmUgKC5mZS1wdi15ZXNubylcbiAgICAvLyBrZWVwIHRoZWlyIGluZGljYXRvciArIGljb24gdW50b3VjaGVkLiBbS2ltXVxuICAgIHFkbmFwcm8tYW5zd2VyLWJ1dHRvbiAucWRuYXByby1hbnN3ZXItYnV0dG9uX190aWNrLFxuICAgIHFkbmFwcm8tYW5zd2VyLWJ1dHRvbiAucWRuYXByby1hbnN3ZXItYnV0dG9uX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4uZmUtcHYtdW5pdC1jb250cm9sLS15ZXNuby1zdGFja2VkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHFkbmFwcm8tYW5zd2VyLWJ1dHRvbiB7IGZsZXg6IDEgMSBhdXRvOyB9XG59XG4vLyBQaG90byBjYXRlZ29yeSdzIHBlci11bml0IHJvdyBjb250cm9sIChwZXItdW5pdCBhZGFwdGVycywgMTMuMDcuMjAyNik6IGEgc2luZ2xlXG4vLyBjb21wYWN0IGNhbWVyYSBidXR0b24gb24gdGhlIHJpZ2h0LCBOT1Qgc3RyZXRjaGVkIGFjcm9zcyB0aGUgcm93LiBSZXVzZXNcbi8vIC5mZS1wdi1jYW1lcmEtYnRuLS1taW5pJ3Mgc2hhcGUgYnV0IGtlZXBzIGl0IGxvb2tpbmcgZW5hYmxlZCDigJQgdGhpcyByb3cgaXMgYW5cbi8vIGlsbHVzdHJhdGl2ZSBtb2NrLCBzYW1lIGFzIHRoZSB5ZXNubyBwZXItdW5pdCBidXR0b25zIGFib3ZlLiBbMTMuMDcuMjAyNl1cbi5mZS1wdi11bml0LWNvbnRyb2wtLXBob3RvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIC5mZS1wdi1jYW1lcmEtYnRuLS1taW5pIHsgb3BhY2l0eTogMTsgfVxufVxuLy8gT3B0aW9ucyBjYXRlZ29yeSdzIHBlci11bml0IGRyb3Bkb3duIHJvdyDigJQgc2FtZSB3aWR0aC9zaHJpbmsgdHJlYXRtZW50IGFzXG4vLyAuZmUtcHYtdW5pdC1maWVsZCBhYm92ZSwganVzdCBmb3IgdGhlIHNlbGVjdCBjb250cm9sIGluc3RlYWQgb2YgYW4gaW5wdXQuXG4uZmUtcHYtdW5pdC1zZWxlY3Qge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbn1cbi8vIFBlci11bml0IGJhcmNvZGUgc2NhbiBidXR0b24gKHNtYWxsIHNxdWFyZTsgdGhlIGZpZWxkLWxldmVsIHNjYW5uZXIpLiBbS2ltIDIwMjYtMDYtMTldXG4uZmUtcHYtdW5pdC1zY2FuIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6ICM0MDQ5OUE7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQ7XG5cbiAgICBxZG5hcHJvLWljb24geyB3aWR0aDogMThweDsgaGVpZ2h0OiAxOHB4OyB9XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6ICMzNTNkODY7IH1cbn1cbi5mZS1wdi1iYXJjb2RlLWJ0biB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiAjNDA0OTlBO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5tZGkgeyBmb250LXNpemU6IDE2cHg7IH1cbn1cblxuLy8gU2NhbiBiYXJjb2RlIGJ1dHRvbiAocHJldmlldyk6IGZ1bGwtd2lkdGggcGlsbCB1bmRlciB0aGUgZmllbGQuIEluIHRoZSBhcHBcbi8vIHRoaXMgb3BlbnMgdGhlIGNhbWVyYTsgaGVyZSBpdCB0cmlnZ2VycyB0aGUgZmxvYXRpbmcgdG9hc3QgYmVsb3cuIFtLaW0gMjAyNi0wNi0xOV1cbi5mZS1wdi1zY2FuLWJ0biB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjNDA0OTlBO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQ7XG5cbiAgICBxZG5hcHJvLWljb24geyB3aWR0aDogMThweDsgaGVpZ2h0OiAxOHB4OyB9XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6ICMzNTNkODY7IH1cbn1cblxuLy8gVGFrZS1hLXBob3RvIHByZXZpZXc6IHRoZSBwdXJwbGUgXCJUYWtlIGEgcGljdHVyZVwiIGJ1dHRvbiAobWlycm9ycyB0aGUgcmVhbCBQV0Fcbi8vIGJ1dHRvbiArIHRoZSBzY2FuLWJ1dHRvbiBzdHlsaW5nKSwgdGhlIG1pbi9tYXggaGludCwgYW5kIHRoZSB1cGxvYWRlZCBpbWFnZVxuLy8gc3RhY2sgYmVsb3cgaXQuIFtLaW0gMjAyNi0wNy0wNV1cbi5mZS1wdi1waG90by1ub2RlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG59XG4uZmUtcHYtY2FtZXJhLWJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogIzQwNDk5QTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0O1xuXG4gICAgcWRuYXByby1pY29uIHsgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgfVxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjMzUzZDg2OyB9XG59XG5cbi8vIFNpZ25hdHVyZSBwcmV2aWV3OiBhIHN0YXRpYywgbm9uLWludGVyYWN0aXZlIHNpZ25hdHVyZS1wYWQgbW9jayAoYm9yZGVyZWRcbi8vIGJveCB0aGUgZmllbGQgd29ya2VyIHNpZ25zIGluLCBmYWludCBwZW4gaWNvbiArIGJhc2VsaW5lKS4gW0tpbV1cbi5mZS1wdi1zaWduYXR1cmUtcGFkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWluLWhlaWdodDogOTZweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJvcmRlcjogMS41cHggZGFzaGVkICNiMGI4ZTg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNmZmO1xuICAgIGNvbG9yOiAjOGI5M2M5O1xufVxuLmZlLXB2LXNpZ25hdHVyZS1saW5lIHtcbiAgICB3aWR0aDogNzAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZDNkOGYyO1xufVxuXG4vLyBGbG9hdGluZyB0b2FzdCBzaG93biB3aGVuIHRoZSBzY2FuIGJ1dHRvbiBpcyBjbGlja2VkIGluIHRoZSBwcmV2aWV3LlxuLmZlLXB2LXRvYXN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMTZweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICMyYTJjM2E7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgyMCwgMjIsIDQwLCAwLjI4KTtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgcWRuYXByby1pY29uIHsgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgZmxleDogMCAwIGF1dG87IH1cbn1cbi5mZS1wdi10b2FzdC1mYWRlLWVudGVyLWFjdGl2ZSxcbi5mZS1wdi10b2FzdC1mYWRlLWxlYXZlLWFjdGl2ZSB7IHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAxODBtcyBlYXNlLW91dDsgfVxuLmZlLXB2LXRvYXN0LWZhZGUtZW50ZXItZnJvbSxcbi5mZS1wdi10b2FzdC1mYWRlLWxlYXZlLXRvIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoOHB4KTsgfVxuXG4vLyDilIDilIAgRm9ybSBjYXJkIHByZXZpZXcgKGZhc2UgMyk6IHNlY3Rpb24gdGl0bGUgKyBzdWJ0ZXh0IHJlbmRlciB2aWEgdGhlIHNoYXJlZFxuLy8gZmUtcHYtdGl0bGUvZmUtcHYtc3ViIGFib3ZlOyB0aGlzIGlzIGp1c3QgdGhlIHN0YWNrZWQgY2hpbGQtcXVlc3Rpb24gbGlzdFxuLy8gYmVsb3cgaXQuIEV2ZXJ5IHJvdyByZXVzZXMgdGhlIGV4aXN0aW5nIGZlLXB2LSogdm9jYWJ1bGFyeSAoeWVzbm8vb3B0L2NhbWVyYS9cbi8vIGZpZWxkKSBhdCBhIHNtYWxsZXIgXCJtaW5pXCIgc2NhbGUsIHNvIHRoZSBjYXJkIHJlYWRzIGFzIE9ORSBwcmV2aWV3IGxhbmd1YWdlXG4vLyBpbnN0ZWFkIG9mIGEgc2Vjb25kIGRlc2lnbi4gU2Nyb2xsaW5nIGlzIGhhbmRsZWQgYnkgdGhlIGV4aXN0aW5nIC5mZS1wdi1zY3JlZW5cbi8vIG1heC1oZWlnaHQvb3ZlcmZsb3cteSAobm8gZXh0cmEgc2Nyb2xsIGNvbnRhaW5lciBuZWVkZWQgaGVyZSkuIFtLaW0gMDcuMDcuMjAyNiBmYXNlIDNdXG4uZmUtcHYtZm9ybWNhcmQtZW1wdHkge1xuICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgIGNvbG9yOiAjOWFhMGJkO1xuICAgIHBhZGRpbmc6IDhweCAwO1xufVxuLmZlLXB2LWZvcm1jYXJkLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG59XG4uZmUtcHYtZm9ybWNhcmQtaXRlbSB7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlY2VlZjU7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxufVxuLmZlLXB2LWZvcm1jYXJkLWl0ZW0tbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMmEyYzNhO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuLy8gV2hlbiBhIHBlci1xdWVzdGlvbiBzdWJ0ZXh0IGZvbGxvd3MsIHRpZ2h0ZW4gdGhlIGdhcCB0byB0aGUgbGFiZWwgc28gdGhlIHR3b1xuLy8gcmVhZCBhcyBvbmUgaGVhZGVyLCB0aGVuIGxldCB0aGUgc3VidGV4dCBjYXJyeSB0aGUgOHB4IGdhcCB0byB0aGUgY29udHJvbC4gW0tpbV1cbi5mZS1wdi1mb3JtY2FyZC1pdGVtLWxhYmVsLS1oYXMtc3ViIHsgbWFyZ2luLWJvdHRvbTogMnB4OyB9XG4uZmUtcHYtZm9ybWNhcmQtaXRlbS1zdWIge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzZiNzA5MztcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cbi8vIE1pbmkgSmEvTmVlICsgb3B0aW9uIHJvd3M6IHNhbWUgbG9vayBhcyB0aGUgZnVsbC1zaXplIHZlcnNpb25zLCBkZW5zZXIuXG4uZmUtcHYteWVzbm8tLW1pbmkgLmZlLXB2LWJ0biB7IHBhZGRpbmc6IDhweCA2cHg7IGZvbnQtc2l6ZTogMTJweDsgfVxuLmZlLXB2LW9wdC0tbWluaSB7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGN1cnNvcjogZGVmYXVsdDsgLy8gc3RhdGljIGluIHRoZSBjYXJkIHN0YWNrLCBub3QgdGhlIGludGVyYWN0aXZlIHNpbmdsZS1xdWVzdGlvbiBwcmV2aWV3XG59XG4vLyBBZHZhbmNlZF9pbnB1dCAvIG51bWJlciBwbGFjZWhvbGRlcjogYW4gZW1wdHkgb3V0bGluZWQgZmllbGQgKG5vIG1hc2ssIHN0YXRpYykuXG4uZmUtcHYtZm9ybWNhcmQtaW5wdXQtbW9jayB7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlcjogMS41cHggc29saWQgIzQwNDk5QTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgb3BhY2l0eTogMC42O1xufVxuLmZlLXB2LWNhbWVyYS1idG4tLW1pbmkge1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBvcGFjaXR5OiAwLjg1O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5mZS1wdi1maWVsZC0tbWluaSB7IHBhZGRpbmc6IDhweCAxMnB4OyB9XG4uZmUtcHYtZm9ybWNhcmQtc21pbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDJweCAwO1xuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuLmZlLXB2LWZvcm1jYXJkLXNjb3JlbW9jayB7XG4gICAgLy8gU3RhdGljIHByZXZpZXcgb2YgdGhlIHJlYWwgc2NvcmUvTlBTIHNjYWxlIOKAlCBub24taW50ZXJhY3RpdmUgYnkgZGVzaWduXG4gICAgLy8gKGZhc2UtMyBzY29wZTogdGhlIGNhcmQgcHJldmlldyBzaG93cyB0aGUgc2hhcGU7IHRoZSByZWFsIGludGVyYWN0aW9uIGxpdmVzXG4gICAgLy8gaW4gdGhlIHF1ZXN0aW9uJ3Mgb3duIHByZXZpZXcpLiBbS2ltIHB1bnQgMy80XVxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLy8gQ29tcGFjdCB2YXJpYW50IGluc2lkZSBhIGZvcm0gY2FyZCdzIGNoaWxkIHN0YWNrLlxuLmZlLXB2LWZvcm1jYXJkLXNpZ25hdHVyZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJvcmRlcjogMS41cHggZGFzaGVkICNiMGI4ZTg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNmZmO1xuICAgIGNvbG9yOiAjOGI5M2M5O1xuXG4gICAgLmZlLXB2LXNpZ25hdHVyZS1saW5lIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG4vLyBcImRpc3BsYXlcIiBub2RlIHByZXZpZXcgKGZhc2UgNywgMTIuMDcuMjAyNik6IHJpY2ggdGV4dCArIG9wdGlvbmFsIHZpZGVvLlxuLy8gVGl0bGUvc3VidGV4dC9pbWFnZSBhbHJlYWR5IHJlbmRlciBnZW5lcmljYWxseSBhYm92ZSAoZmUtcHYtdGl0bGUgLyBmZS1wdi1zdWJcbi8vIC8gZmUtcHYtcGhvdG8sIHNoYXJlZCB3aXRoIGV2ZXJ5IG5vZGUgdHlwZSkg4oCUIHRoaXMgYmxvY2sgb25seSBjb3ZlcnMgdGhlXG4vLyByaWNoLXRleHQgYm9keSArIHRoZSB2aWRlbyBwbGF5ZXIgKyB0aGUgZW1wdHkgc3RhdGUuIFtLaW1dXG4uZmUtcHYtZGlzcGxheSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cbi8vIEJlc2NoZWlkZW4gdHlwb2dyYWZpZSwgYmV3dXN0IGVlbiBzdWJzZXQgKHAvaDIvaDMvdWwvb2wvYSkg4oCUIG1pcnJvcnMgdGhlXG4vLyB3eXNpd3lnJ3Mgb3duIGNvbnRlbnRfc3R5bGUgKHFkbmEtd3lzaXd5Zy5qcyBfYnVpbGRDb250ZW50U3R5bGUgL1xuLy8gLnFkbmFwcm8td3lzaXd5Zy1yZWFkb25seSBpbiBfd3lzaXd5Zy5zY3NzKSBzbyB0aGUgcHJldmlldyBtYXRjaGVzIGJvdGggdGhlXG4vLyBlZGl0b3Igd2lkZ2V0IGFuZCB0aGUgYXBwIHJlbmRlciAxOjEuXG4uZmUtcHYtZGlzcGxheS1jb250ZW50IHtcbiAgICBjb2xvcjogIzFmMjQzMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG5cbiAgICBoMSwgaDIsIGgzIHtcbiAgICAgICAgY29sb3I6ICM0MDQ5OUE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBtYXJnaW46IDAuOWVtIDAgMC4zZW07XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgICB9XG4gICAgaDEgeyBmb250LXNpemU6IDIwcHg7IH1cbiAgICBoMiB7IGZvbnQtc2l6ZTogMTdweDsgfVxuICAgIGgzIHsgZm9udC1zaXplOiAxNXB4OyB9XG5cbiAgICBwIHsgbWFyZ2luOiAwIDAgMC43ZW07ICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIHVsLCBvbCB7IHBhZGRpbmctbGVmdDogMjBweDsgbWFyZ2luOiAwIDAgMC43ZW07IH1cbiAgICBsaSB7IG1hcmdpbjogMC4yZW0gMDsgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjNDA0OTlBO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXB4O1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG4gICAgYTpob3ZlciB7IGNvbG9yOiAjMzMzYTdiOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgYm9yZGVyLXJhZGl1czogOHB4OyB9XG59XG4uZmUtcHYtZGlzcGxheS12aWRlbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuLmZlLXB2LWRpc3BsYXktZW1wdHkge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNkMGQ0ZTg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmUtcHYtZGlzcGxheS1lbXB0eS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICM0MDQ5OUE7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuLmZlLXB2LWRpc3BsYXktZW1wdHktaGludCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjOWFhMGJkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG4vLyBTaGFyZWQgbXV0ZWQgc3VibGFiZWwgdW5kZXIgYSBzZXR0aW5nJ3MgbGFiZWwgKHJpY2hfdGV4dCAvIHZpZGVvX3VwbG9hZCDigJRcbi8vIGZhc2UgNykuIFNhbWUgdmlzdWFsIHdlaWdodCBhcyAuZmUtbm8gLmZlLXRpLWxhYmVsLiBbS2ltXVxuLmZlLXJ0LXN1YmxhYmVsIHtcbiAgICBtYXJnaW46IDJweCAwIDhweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogdmFyKC0tcWRuYS1jb2xvci10ZXh0LW11dGVkLCAjNmI3MjgwKTtcbn1cblxuLy8gVmlkZW8tdXBsb2FkIHNldHRpbmcgKGZhc2UgNyk6IGJ1dHRvbiByb3cgKyBjb21wYWN0IHByZXZpZXcgcGxheWVyICsgZXJyb3JzLlxuLmZlLXZpZGVvLWJsb2NrIHtcbiAgICBxZG5hcHJvLWJ1dHRvbiB7IG1hcmdpbi1yaWdodDogOHB4OyB9XG59XG4uZmUtdmlkZW8tcHJldmlldyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbn1cbi5mZS12aWRlby1lbCB7XG4gICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICBtYXgtaGVpZ2h0OiAxNjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbn1cbi5mZS12aWRlby1lcnJvcnMge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbn1cbi5mZS12aWRlby1lcnJvciB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjYzMzYTMwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG4vLyBTZWN0aW9uIHNlcGFyYXRvciBpbnNpZGUgdGhlIHNldHRpbmdzIHBhbmVsOiBhIHRoaW4gcWRuYXByby1kaXZpZGVyIGtleWxpbmVcbi8vIChyZXBsYWNlcyB0aGUgb2xkIHRoaWNrIFwiZmUtZGl2aWRlclwiIHB1cnBsZSBiYXIpLiBbS2ltIDIwMjYtMDYtMTldXG4uZmUtbm8gLmZlLXNldC1kaXZpZGVyIHtcbiAgICBtYXJnaW46IDE2cHggMDtcblxuICAgIC5mZS1zZXQtZGl2aWRlci1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICM2YjZmNzg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG59XG5cbi8vIFN1Yi10ZXh0IHVuZGVyIGEgbnVtYmVyIHNldHRpbmcgbGFiZWwgKGUuZy4gY291bnRlciBzdGVwLXNpemUgZXhwbGFuYXRpb24pLlxuLmZlLW5vIC5mZS1zZXQtbnVtYmVyLXN1YiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIGNvbG9yOiAjNmI2Zjc4O1xuICAgIG1hcmdpbjogMnB4IDAgOHB4O1xufVxuXG4vLyBDb21wYWN0IHdpZHRoIGZvciB0aGUgU2NvcmUvTlBTIFwiY29tbWVudF90aHJlc2hvbGRcIiBudW1iZXIgc2V0dGluZyAoXCJBc2sgZm9yXG4vLyBhIGNvbW1lbnQgYXQgc2NvcmUgdXAgdG8gYW5kIGluY2x1ZGluZ1wiKSDigJQgQWJzdHJhY3ROdW1iZXIudnVlIGlzIHNoYXJlZCBieVxuLy8gZXZlcnkgJ251bWJlcicgYmx1ZXByaW50IGVsZW1lbnQgKFBob3RvIG1heCBwaG90b3MsIEhhbmRvdmVyTm9kZSwgS3BpTm9kZSxcbi8vIEFkdmFuY2VkSW5wdXQsIOKApiksIHNvIHRoaXMgaXMgc2NvcGVkIHRvIE9OTFkgdGhlIGNvbW1lbnRfdGhyZXNob2xkIGluc3RhbmNlXG4vLyB2aWEgYSBjb25kaXRpb25hbCBjbGFzcyAoZ2V0U2VsZWN0ZWROb2RlTmFtZSA9PT0gJ2NvbW1lbnRfdGhyZXNob2xkJykg4oCUIGV2ZXJ5XG4vLyBvdGhlciBjb25zdW1lciBrZWVwcyB0aGUgZGVmYXVsdCBmdWxsLXdpZHRoIC5mb3JtLWNvbnRyb2wgdW5jaGFuZ2VkLlxuLy8gQSBzY29yZS9OUFMgc2NhbGUgbmV2ZXIgZXhjZWVkcyAyIGRpZ2l0cyAobWF4IFwiMTBcIiksIHNvIGEgc21hbGwgZml4ZWQgd2lkdGhcbi8vIGZpdHMgdGhlIHZhbHVlIHdpdGhvdXQgdGhlIGZpZWxkIGJhbGxvb25pbmcgYWNyb3NzIHRoZSBzZXR0aW5ncyBwYW5lbC5cbi8vIFtLaW0gMjAyNi0wNy0xMV1cbi5mZS1mb3JtLS1jb21wYWN0LW51bWJlciAuZm9ybS1jb250cm9sIHtcbiAgICB3aWR0aDogNzJweDtcbiAgICBtYXgtd2lkdGg6IDcycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBBbWJlciBcIndoeSBpcyB0aGlzIGRpc2FibGVkXCIgaGludCBzaG93biB1bmRlciBhIHNldHRpbmcgdGhhdCBpdHMgZGVwZW5kc19vblxuLy8gaGFzIGdyZXllZCBvdXQgKGUuZy4gYXV0b19zdW0gd2hlbiBub3QgXCJpbnB1dCBmb3IgZXZlcnkgdW5pdFwiKS4gW0tpbSAyMDI2LTA2LTE5XVxuLmZlLW5vIC5mZS1zZXQtZGlzYWJsZWQtaGludCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDZweDtcbiAgICBtYXJnaW46IDJweCAwIDZweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogI2ZkZjRlMztcbiAgICBjb2xvcjogIzhhNjEwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XG5cbiAgICBxZG5hcHJvLWljb24geyBmbGV4OiAwIDAgYXV0bzsgd2lkdGg6IDE0cHg7IGhlaWdodDogMTRweDsgbWFyZ2luLXRvcDogMXB4OyBjb2xvcjogI2M5OGEwMDsgfVxufVxuXG4vLyBXaWRlciBsZWZ0IGluZm8gcGFuZWwgc28gdGhlIGxpdmUgZXhhbXBsZSBnZXRzIG1vcmUgcm9vbSAoS2ltIDIwMjYtMDYtMTgpLlxuLy8gT3ZlcnJpZGVzIHRoZSB3aXphcmQgZGVmYXVsdCAoLndtLWluZm8gZmxleCAwIDAgMjYwcHggaW4gc3R5bGUtdjEuY3NzKS5cbi5mZS1ubyAud20taW5mbyB7XG4gICAgZmxleDogMCAwIDM4MHB4O1xufVxuXG4vLyBEcm9wIHRoZSBsZWdhY3kgbmF2eSBzZWN0aW9uIGRpdmlkZXIgKyBpdHMgb3ZlcnNpemVkIDQwLzMycHggcGFkZGluZyBpbnNpZGVcbi8vIHRoZSBuZXcgbW9kYWwgKHRoYXQgcGFkZGluZyB3YXMgdGhlIFwidGUgdmVlbCB3aXRydWltdGVcIiBiZXR3ZWVuIGZpZWxkcykuXG4uZmUtbm8gLmZlLXNlY3Rpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMTBweCAwO1xufVxuXG4vLyBTZXR0aW5ncyB0YWJzIHJlbmRlcmVkIGxpa2UgdGhlIGFjdGl2aXR5L3Byb2plY3QgbW9kYWw6IGNsZWFuIHRvZ2dsZSByb3dzXG4vLyAobGFiZWwgKyBzdWIgKyBxZG5hcHJvLXRvZ2dsZSkgdW5kZXIgcHVycGxlIHNlY3Rpb24gdGl0bGVzLiBUaGVcbi8vIC5xZG5hcHJvLW1vZGFsLSogaGVscGVycyBhcmUgc2NvcGVkIHRvIC5xZG5hcHJvLW1vZGFsIGluIF9tb2RhbC5zY3NzLCBzbyB3ZVxuLy8gcmVkZWZpbmUgdGhlbSBoZXJlIGZvciB0aGUgd2l6YXJkIG1vZGFsLiBbS2ltIDIwMjYtMDYtMThdXG4uZmUtbm8gLmZlLXNldC1ibG9jayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmZlLW5vIC5mZS1zZXQtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTZweDtcbiAgICBwYWRkaW5nOiAxMnB4IDA7XG59XG5cbi8vIHRvZ2dsZV9pbnB1dDogdGhlIHJldmVhbGVkIGlucHV0IGZpZWxkKHMpIHVuZGVyIGEgdG9nZ2xlIHJvdyAoS2ltIDIwMjYtMDYtMTgpXG4uZmUtbm8gLmZlLXRpLWlucHV0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAwIDAgMTJweCAycHg7XG5cbiAgICAvLyBUd28tdXAgKGUuZy4gSW4gcmFuZ2Ugc3RhcnQvZW5kKVxuICAgICYuZmUtdGktaW5wdXRzLS1tdWx0aSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAuZmUtdGktZmllbGQgeyBmbGV4OiAxIDEgMTQwcHg7IH1cbiAgICB9XG59XG4uZmUtbm8gLmZlLXRpLWZpZWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG4uZmUtbm8gLmZlLXRpLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tcWRuYS1jb2xvci10ZXh0LW11dGVkLCAjNmI3MjgwKTtcbn1cbi5mZS1ubyAuZmUtdGktaW5wdXQge1xuICAgIGhlaWdodDogMzhweDtcbiAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ2ZWE7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMxZjI0MzA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXMgZWFzZSwgYm94LXNoYWRvdyAxNDBtcyBlYXNlO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQwNDk5YTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNjQsIDczLCAxNTQsIDAuMTUpO1xuICAgIH1cbn1cbi5mZS1ubyAucWRuYXByby1tb2RhbC10b2dnbGUtdGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xuICAgIG1pbi13aWR0aDogMDtcbn1cbi5mZS1ubyAucWRuYXByby1tb2RhbC10b2dnbGUtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGIwYjBkO1xufVxuLmZlLW5vIC5xZG5hcHJvLW1vZGFsLXRvZ2dsZS1zdWIge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBjb2xvcjogIzZiNzI4MDtcbn1cbi5mZS1ubyAucWRuYXByby1tb2RhbC1zZWN0aW9uLXRpdGxlLFxuLmZlLW5vIC5mZS1zZXQtc2VjdGlvbiB7XG4gICAgbWFyZ2luOiAxOHB4IDAgMnB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjNDA0OTlhO1xufVxuXG4vLyBTZWdtZW50LXRpbGVzIGluc2lkZSBhIHNldHRpbmdzIHRhYiAoZS5nLiBkaXNwbGF5X3R5cGUpIOKAlCBsYWJlbCArIHRpbGVzLlxuLmZlLW5vIC5mZS1uby10aWxlcy1ibG9jayB7XG4gICAgbWFyZ2luOiA4cHggMCAxNnB4O1xuXG4gICAgLnFkbmFwcm8tbW9kYWwtdG9nZ2xlLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG59XG5cbi8vIFNlZ21lbnQgbGl2ZXMgaW4gdGhlIGhlYWRlciByb3cgbm93OyBmaWxsIHRoZSBzcGFjZSArIGNlbnRlciBpdCAoY2xvc2UgYnV0dG9uXG4vLyBzaXRzIHRvIGl0cyByaWdodCkuIFR5cGUgcGlsbCBtb3ZlZCB0byB0aGUgbGVmdCBpbmZvIHBhbmVsLlxuLmZlLW5vLXNlZyB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi8vIFR5cGUgcGlsbCBpbiB0aGUgbGVmdCBpbmZvIHBhbmVsIHN0YXlzIGNvbnRlbnQtd2lkdGgsIHRvcC1sZWZ0LlxuLmZlLW5vIC53bS1pbmZvIC5mZS1uby1waWxsIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuXG4vLyBJbnB1dC10eXBlIHNlbGVjdG9yIChzZWdtZW50LXRpbGVzKSBzaXRzIHVuZGVyIHRoZSBzdWJ0ZXh0LCBwcm9taW5lbnQuXG4uZmUtbm8gLmZlLW5vLWlucHV0dHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgIC8vIFwiSW52b2VydHlwZVwiIGxhYmVsICsgc3VidGV4dCBvbiB0aGUgbGVmdCwgdGhlIHR5cGUtc2V0dGluZ3Mgc2hvcnRjdXQgYnV0dG9uIG9uXG4gICAgLy8gdGhlIHJpZ2h0LCB2ZXJ0aWNhbGx5IGNlbnRlcmVkIHNvIGl0IHNpdHMgQkVTSURFIFRIRSBTVUJURVhUIChhIGJpdCBsb3dlciB0aGFuXG4gICAgLy8gdGhlIGxhYmVsKS4gW0tpbSAyMDI2LTA2LTE5XVxuICAgIC5mZS1uby1pbnB1dHR5cGUtaGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cbiAgICAuZmUtbm8taW5wdXR0eXBlLWhlYWQtdGV4dCB7IG1pbi13aWR0aDogMDsgfVxuICAgIC5mZS1ubS1xLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG5cbiAgICAvLyBIZWxwZXIgbGluZTogZXhwbGFpbnMgdGhlIGlucHV0IHR5cGUgZ2F0ZXMgd2hpY2ggc2V0dGluZ3MgYXBwZWFyIChLaW0gMjAyNi0wNi0xOClcbiAgICAuZmUtbm8taW5wdXR0eXBlLWhpbnQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgY29sb3I6IHZhcigtLXFkbmEtY29sb3ItdGV4dC1tdXRlZCwgIzZiNzI4MCk7XG4gICAgfVxufVxuXG4vLyBNdWx0aS1zZWxlY3Qgbm9kZS13aWRlIFwiVm9sZ2VuZGUgc3RhcFwiIGhpbnQg4oCUIHNhbWUgbXV0ZWQgc21hbGwgc3R5bGUgYXMgdGhlXG4vLyBcIlR5cGUgYW50d29vcmRcIiBoZWxwZXIsIGJ1dCBpdHMgb3duIHRvcC1sZXZlbCBydWxlICh0aGUgaW5wdXR0eXBlLWhpbnQgYWJvdmUgaXNcbi8vIHNjb3BlZCB0byAuZmUtbm8taW5wdXR0eXBlLCBzbyBpdCBkaWRuJ3QgYXBwbHkgaGVyZSkuIFtLaW0gMjIuMDYuMjAyNl1cbi5mZS1tdWx0aS1uZXh0LXN0ZXAtaGludCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogdmFyKC0tcWRuYS1jb2xvci10ZXh0LW11dGVkLCAjNmI3MjgwKTtcbn1cblxuLy8gU2NhbGUtY2hhbmdlIHBlbmRpbmctc3luYyBoaW50IChMaW5rcy52dWUncyBzY2FsZVBlbmRpbmdTeW5jTm90aWNlLCBLaW0nc1xuLy8gdGVzdCBmZWVkYmFjayAyMDI2LTA3LTExKSDigJQgc2FtZSBtdXRlZCBzbWFsbCBzdHlsZSBhcyB0aGUgdHdvIGhpbnRzIGFib3ZlLFxuLy8gb3duIHRvcC1sZXZlbCBydWxlIGZvciB0aGUgc2FtZSByZWFzb24gKExpbmtzLnZ1ZSdzIGFuc3dlci1vcHRpb25zIGxpc3Rcbi8vIGlzbid0IG5lc3RlZCB1bmRlciAuZmUtbm8taW5wdXR0eXBlIGVpdGhlcikuIFNpdHMgYmV0d2VlbiB0aGUgbGlzdCBoZWFkZXJcbi8vIGFuZCB0aGUgYW5zd2VyLW9wdGlvbiByb3dzLiBbS2ltXVxuLmZlLXNjYWxlLXN5bmMtaGludCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogdmFyKC0tcWRuYS1jb2xvci10ZXh0LW11dGVkLCAjNmI3MjgwKTtcbn1cblxuLy8gQW5zd2VyLW9wdGlvbiBkcmFnIHBvbGlzaDogdGhlIHB1cnBsZSBkcm9wLWxpbmUgaW5kaWNhdG9yIChsYW5kaW5nIHNwb3QpICsgYVxuLy8gc2V0dGxlIG9uIHRoZSBkcm9wcGVkIHJvdy4gTWlycm9ycyB0aGUgdGFza2xpc3QgaW5zZXJ0LWxpbmUgbG9vayAoIzQ2NTJmMywgMnB4LFxuLy8gZ2xvdykuIFRoZSBGTElQIHNsaWRlIG9mIHRoZSBuZWlnaGJvdXJzIGlzIGRyaXZlbiBpbmxpbmUgYnkgTGlzdC52dWUuIFtLaW0gMjIuMDYuMjAyNl1cbi5mZS1saW5rLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gYW5jaG9yIGZvciB0aGUgYWJzb2x1dGUgZHJvcC1saW5lXG59XG4uZmUtZHJvcC1saW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICAvLyBObyBuZWdhdGl2ZSBtYXJnaW46IGF0IHRoZSBUT1AgZ2FwICh0b3A6MCkgYSAtMXB4IG1hcmdpbiBwdXNoZWQgdGhlIGxpbmUgYWJvdmVcbiAgICAvLyB0aGUgc2Nyb2xsLWNvbnRhaW5lcidzIGNsaXAgZWRnZSBzbyBvbmx5IDFweCBzaG93ZWQgKFwia2xlaW4gc3RyZWVwamVcIikuIFNpdCBpdFxuICAgIC8vIGV4YWN0bHkgb24gdGhlIGdhcCBib3VuZGFyeSBpbnN0ZWFkLiBbS2ltIDIyLjA2LjIwMjZdXG4gICAgYmFja2dyb3VuZDogIzQ2NTJmMztcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSg3MCwgODIsIDI0MywgMC41NSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogNTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMTIwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC44LCAwLjIsIDEpO1xufVxuLnFkbmFwcm8tYW5zd2VyLW9wdGlvbltkYXRhLWZlLXNldHRsZV0ge1xuICAgIGFuaW1hdGlvbjogZmUtYW8tc2V0dGxlIDI2MG1zIGN1YmljLWJlemllcigwLjIsIDAuOCwgMC4yLCAxKTtcbn1cbkBrZXlmcmFtZXMgZmUtYW8tc2V0dGxlIHtcbiAgICAwJSAgIHsgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjIwKTsgfVxuICAgIDEwMCUgeyBib3gtc2hhZG93OiBub25lOyB9XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5mZS1kcm9wLWxpbmUgeyB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLnFkbmFwcm8tYW5zd2VyLW9wdGlvbltkYXRhLWZlLXNldHRsZV0geyBhbmltYXRpb246IG5vbmU7IH1cbn1cblxuLy8gTm9uLWJsb2NraW5nIGNvbmZsaWN0IHdhcm5pbmcgdW5kZXIgYSBzZXR0aW5nIChlLmcuIGJhcmNvZGUgKyBHZWhlZWwgZ2V0YWwpLlxuLy8gQW1iZXIsIHJldXNlcyB0aGUgZGVzaWduLXN5c3RlbSB3YXJuaW5nIHBhbGV0dGUuIFtLaW0gMjIuMDYuMjAyNl1cbi5mZS1wcm9wLXdhcm5pbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA2cHg7XG4gICAgbWFyZ2luOiA2cHggMCAwO1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmM2NkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMGQwNjA7XG4gICAgY29sb3I6ICM5YTZhMTA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAubWRpIHsgZm9udC1zaXplOiAxNXB4OyBsaW5lLWhlaWdodDogMS4zOyBmbGV4LXNocmluazogMDsgfVxufVxuXG4vLyBOb24tYmxvY2tpbmcgaW5mb3JtYXRpb25hbCBub3RpY2UgdW5kZXIgYSBzZXR0aW5nLCBlLmcuIFllcy9ObydzIHRodW1icyArXG4vLyBcIkFuc3dlciBwZXIgdW5pdFwiIHBob25lLXBhcml0eSBub3RpY2UgKFllc05vLnBocCwgYWN0aXZlQWxlcnQoKSBpblxuLy8gUHJvcGVydGllcy52dWUpLiBxZG5hcHJvLWFsZXJ0ICh0eXBlPVwiaW5mb1wiKSBvd25zIGl0cyBvd24gY2hyb21lIOKAlCBvbmx5IHRoZVxuLy8gdG9wIHNwYWNpbmcgbmVlZHMgbWF0Y2hpbmcgdG8gLmZlLXByb3Atd2FybmluZyBhYm92ZS4gW0tpbSAxMi4wNy4yMDI2XVxuLmZlLXByb3AtYWxlcnQge1xuICAgIG1hcmdpbjogNnB4IDAgMDtcbn1cblxuLy8gUHJldmlldyBncm91cGVkIGluIHRoZSBMRUZUIGluZm8gcGFuZWwgKEtpbSAyMDI2LTA2LTE4KVxuLmZlLW5vLXByZXZpZXctZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG4uZmUtbm8tcHJldmlldy1idG4ge1xuICAgIHFkbmFwcm8taWNvbiB7IG1hcmdpbi1yaWdodDogNnB4OyB9XG59XG5cbi8vIENvbXBhY3QgYWN0aW9uIHJvdyBhYm92ZSB0aGUgcHJldmlldzogW0FmYmVlbGRpbmcgdG9ldm9lZ2VuXSBbQmVraWprIGluIGFwcF1cbi5mZS1uby1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xufVxuXG4vLyBcIlt0eXBlLWljb25dIEluc3RlbGxpbmdlbiDigLpcIiBidXR0b24gdW5kZXIgdGhlIGlucHV0LXR5cGUgdGlsZXMg4oCUIGp1bXBzIHRvIEluc3RlbGxpbmdlbi5cbi5mZS1ubyAuZmUtbm8tdHlwZXNldHRpbmdzLWJ0biB7XG4gICAgZmxleC1zaHJpbms6IDA7ICAgLy8gc2l0cyBiZXNpZGUgdGhlIFwiSW52b2VydHlwZVwiIGxhYmVsIChpbiAuZmUtbm8taW5wdXR0eXBlLWhlYWQpXG5cbiAgICBxZG5hcHJvLWljb246Zmlyc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IDZweDsgfSAgLy8gbGVhZGluZyB0eXBlIGljb25cbiAgICBxZG5hcHJvLWljb246bGFzdC1jaGlsZCAgeyBtYXJnaW4tbGVmdDogNHB4OyB9ICAgLy8gdHJhaWxpbmcgY2hldnJvblxufVxuXG4vLyBcIkZvcm1hYXRcIiB0eXBlOiBhIGdyb3VwZWQgZHJvcGRvd24gcmlnaHQgdW5kZXIgdGhlIGlucHV0LXR5cGUgdGlsZXMgKG5vIG1vZGFsKS5cbi8vIEdyb3VwIGxhYmVscyB1c2UgdGhlIGJ1aWx0LWluIHFkbmFwcm8tbWVudS1zZWN0aW9uLWhlYWRpbmcgKEFsZ2VtZWVuIC8gWm9yZyk7XG4vLyBxZG5hcHJvLXNlbGVjdCBub3cgZm9yd2FyZHMgc2VjdGlvbi1oZWFkaW5ncyArIGRpdmlkZXJzIGludG8gaXRzIHBvcG92ZXIuXG4uZmUtbm8gLmZlLW5vLWZvcm1hdC1yb3cge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgLmZlLW5vLWZvcm1hdC1zZWxlY3QgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IH1cbn1cblxuLy8gXCJTdGFydCBmbG93IGluIGFwcFwiIGZvb3RlciBidXR0b24g4oCUIGEgbGlnaHQgc3RyZWFrIHN3ZWVwcyBhY3Jvc3MgcGVyaW9kaWNhbGx5IHRvXG4vLyBkcmF3IHRoZSBleWUgdG8gdGhlIHRlc3QgYWN0aW9uIChtaXJyb3JzIHRoZSB0cmFuc2xhdGlvbi1wYW5lbCBzaGltbWVyKS4gW0tpbSAyMDI2LTA2LTE5XVxuLmZlLW5vIC5mZS1uby1zdGFydGZsb3ctYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHFkbmFwcm8taWNvbiB7IG1hcmdpbi1yaWdodDogNnB4OyB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiA1NSU7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsIHRyYW5zcGFyZW50IDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDUpIDUwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwJSk7XG4gICAgICAgIGFuaW1hdGlvbjogZmUtbm8tc3RhcnRmbG93LXNoaW1tZXIgMy40cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuQGtleWZyYW1lcyBmZS1uby1zdGFydGZsb3ctc2hpbW1lciB7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwJSk7IH1cbiAgICAzMCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIyMCUpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMjAlKTsgfVxufVxuXG4vLyBJbWFnZS11cGxvYWQgYXMgYSBjb21wYWN0IGJ1dHRvbiAobWlycm9ycyB0aGUgc2Vjb25kYXJ5LXB1cnBsZSBidXR0b24gbG9vaykuXG4vLyBUd28gZXhwbGljaXQgcm93cyBzaW5jZSB0aGUgYnJpZWZpbmcgYnV0dG9uIGpvaW5lZCB0aGlzIHRvb2xiYXI6IHJvdyAxIGhvbGRzIHRoZVxuLy8gaW1hZ2UgY29udHJvbHMsIHJvdyAyIGhvbGRzIGJyaWVmaW5nIChsZWZ0KSArIHRleHQgYWxpZ25tZW50IChyaWdodCkuIEJlZm9yZSB0aGlzXG4vLyB0aGUgd2hvbGUgdGhpbmcgd2FzIG9uZSB3cmFwcGluZyBmbGV4IHJvdywgc28gdGhlIGFsaWdubWVudCB0b2dnbGVzIGRyb3BwZWQgdG8gYVxuLy8gc2Vjb25kIGxpbmUgYnkgYWNjaWRlbnQgYW5kIG1vdmVkIGFyb3VuZCBhcyBidXR0b25zIGFwcGVhcmVkLiBbS2ltIDAzLjA4LjIwMjZdXG4uZmUtbm8taW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNHB4O1xufVxuLmZlLW5vLWltZy1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG59XG4vLyBJbWFnZS1wb3NpdGlvbiBwaWNrZXI6IGljb24gYnV0dG9uICsgYSBzbWFsbCBwb3BvdmVyIG1lbnUgYW5jaG9yZWQgYmVsb3cgaXQuXG4uZmUtbm8taW1nLXBvcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuLmZlLW5vLWltZy1wb3MtYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiA0MDtcbn1cbi5mZS1uby1pbWctcG9zLW1lbnUge1xuICAgIC8vIEZpeGVkIChub3QgYWJzb2x1dGUpIHNvIGl0IGVzY2FwZXMgLmZlLXB2LXNjcmVlbidzIG92ZXJmbG93IGNsaXA7IHRvcC9yaWdodFxuICAgIC8vIGFyZSBzZXQgaW5saW5lIGJ5IEFic3RyYWN0SW1hZ2UudG9nZ2xlUG9zaXRpb25NZW51KCkgZnJvbSB0aGUgdHJpZ2dlcidzIHJlY3QsXG4gICAgLy8gcmlnaHQtYWxpZ25lZCB0byB0aGUgYnV0dG9uIGFuZCB2aWV3cG9ydC1jbGFtcGVkLiB6LWluZGV4IGFib3ZlIHRoZSBmaXhlZFxuICAgIC8vIGJhY2tkcm9wICh6IDQwKS4gW0tpbSAyMDI2LTA3LTEzXVxuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1MDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDIwLCAyNCwgNjAsIDAuMTgpO1xuICAgIHBhZGRpbmc6IDRweDtcbn1cbi5mZS1uby1pbWctYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA3cHggMTRweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzQwNDk5YTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOGQ2ZWE7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE0MG1zIGVhc2UsIGJvcmRlci1jb2xvciAxNDBtcyBlYXNlO1xuXG4gICAgcWRuYXByby1pY29uIHsgY29sb3I6ICM0MDQ5OWE7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmM2ZiO1xuICAgICAgICBib3JkZXItY29sb3I6ICNjM2JmZTQ7XG4gICAgfVxufVxuLmZlLW5vLWltZy1yZW1vdmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICNiMzI2MWU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VjYzljNjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6ICNmZGVjZWI7IH1cbn1cblxuLy8g4pSA4pSAIEZvcm0gZWRpdG9yIGZhc2UgNSAobG9naWMpOiBEaXNwbGF5TG9naWMudnVlICsgSWZDb25kaXRpb24udnVlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU2VudGVuY2Utc3R5bGUgY29uZGl0aW9uIHJvd3MgKFwiVG9vbiBkZXplIHZyYWFnIGFsbGVlbiBhbHMgPHZyYWFnPiA8b3A+IDx3YWFyZGU+XCIpLFxuLy8gbWlycm9ycyB0aGUgQkkgY2VsbC1lZGl0b3IgY29uZGl0aW9uIGJ1aWxkZXIgVVggKGNhcmRfdmlldy5odG1sIGJpUmVuZGVyQ29uZHMpXG4vLyB3aXRob3V0IGltcG9ydGluZyB0aGF0IGNvZGUuIFtLaW0gZmFzZSA1XVxuLmZlLWxvZ2ljLXNlY3Rpb24ge1xuICAgIC5mZS1sb2dpYy1tYXRjaCB7XG4gICAgICAgIG1hcmdpbjogNnB4IDAgMTJweDtcbiAgICB9XG5cbiAgICAuZmUtbG9naWMtZW1wdHktaGludCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y0ZjVmYjtcbiAgICAgICAgY29sb3I6ICM2YjZmNzg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG5cbiAgICAuZmUtbG9naWMtYWRkLWlmLWJ0biB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzQ2NTJmMztcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCByZ2JhKDcwLCA4MiwgMjQzLCAwLjMwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjBmMWZiO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDcwLCA4MiwgMjQzLCAwLjU1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZS1sb2dpYy1ydWxlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5mZS1sb2dpYy1ydWxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y4ZjhmYjtcbiAgICB9XG5cbiAgICAuZmUtbG9naWMtcnVsZS1wcmVmaXgge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzQwNDk5YTtcbiAgICAgICAgbWluLXdpZHRoOiA1MnB4O1xuICAgIH1cblxuICAgIC5mZS1sb2dpYy1ydWxlLW5vZGUge1xuICAgICAgICBmbGV4OiAxIDEgMjIwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgfVxuXG4gICAgLmZlLWxvZ2ljLXJ1bGUtb3Age1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiA3MnB4O1xuICAgIH1cblxuICAgIC5mZS1sb2dpYy1ydWxlLXZhbHVlIHtcbiAgICAgICAgZmxleDogMSAxIDE2MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgIH1cblxuICAgIC5mZS1sb2dpYy1ydWxlLWRlbCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBjb2xvcjogIzlhYTBjYztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDE0MG1zIGVhc2UsIGJhY2tncm91bmQgMTQwbXMgZWFzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjYzg0ODViO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMDAsIDcyLCA5MSwgMC4wOCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmUtbG9naWMtdGFyZ2V0LWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4vLyBGb3JtIGVkaXRvciBmYXNlIDQgZGVsaXZlcnkgMiAocGxhbiBzZWN0aW9uIEUpOiBicmllZiBoaWdobGlnaHQgd2hlbiBhIGxvZ2ljXG4vLyBjaGlwIGNsaWNrIHNjcm9sbHMgdGhpcyBzZWN0aW9uIGludG8gdmlldyAoTm9kZU9wdGlvbnMudnVlJ3Ncbi8vIG5vZGVfb3B0aW9uc19mb2N1c19zZWN0aW9uIHdhdGNoZXIgdG9nZ2xlcyB0aGlzIGNsYXNzIGZvciB+MS40cykuIFtLaW0gZmFzZSA0IGRlbGl2ZXJ5IDJdXG4uZmUtbG9naWMtc2VjdGlvbi5mZS1sb2dpYy1zZWN0aW9uLS1mb2N1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBhbmltYXRpb246IGZlLWxvZ2ljLWZvY3VzLWZsYXNoIDEzMDBtcyBlYXNlO1xufVxuQGtleWZyYW1lcyBmZS1sb2dpYy1mb2N1cy1mbGFzaCB7XG4gICAgMCUgeyBiYWNrZ3JvdW5kOiByZ2JhKDY0LCA3MywgMTU0LCAwLjE0KTsgfVxuICAgIDEwMCUgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxufVxuXG4vLyDilIDilIAgRm9ybSBlZGl0b3IgZmFzZSA0OiBtb2RhbCB0YWIgMiBcIlZyYWdlblwiIChQTEFOLWZvcm0tY2FyZC1yZWRlc2lnbi5tZCDCp0QpIOKUgOKUgFxuLy8gUXVlc3Rpb24gbGlzdCwgZHJhZy1yZW9yZGVyLCBkZWxldGUuIFNhbWUgdmlzdWFsIGxhbmd1YWdlIGFzIHRoZVxuLy8gcWRuYXByby1hbnN3ZXItb3B0aW9uIHJvd3MgKCNlMmU0ZWYgYm9yZGVyLCAjNDY1MmYzIGRyYWcgYmFyLCByZWQgZGVsZXRlXG4vLyBhY3Rpb24pIGJ1dCBoYW5kLWJ1aWx0IGhlcmU6IG5vbmUgb2YgdGhhdCBjb21wb25lbnQncyB2YXJpYW50cyBvZmZlciBhIHBsYWluXG4vLyBpY29uICsgbGFiZWwgKyByZXF1aXJlZC1zdGFyIHJlYWQtb25seSByb3csIGFuZCB0aGUgcGxhbiBleHBsaWNpdGx5IGNhbGxzIGZvclxuLy8gTk9UIGV4dGVuZGluZyB0aGUgc2hhcmVkIGNvbXBvbmVudCBqdXN0IGZvciB0aGlzLiBbS2ltIGZhc2UgNF1cbi8vIEZhc2UgNCBkZWxpdmVyeSA0OiByZWFsIHFkbmFwcm8tZW1wdHktc3RhdGUgKHJlcGxhY2VzIHRoZSBwbGFpbiB0d28tbGluZVxuLy8gdGV4dCB0aGlzIHVzZWQgdG8gYmUpLiBObyBleHRyYSBwb3NpdGlvbmluZyBuZWVkZWQg4oCUIHRoZSBjb21wb25lbnQgY2VudGVyc1xuLy8gaXRzZWxmOyBqdXN0IGNhcCB0aGUgaWxsdXN0cmF0aW9uIHNvIGEgdGFsbCBzb3VyY2UgU1ZHIGNhbid0IGJsb3cgb3V0IHRoZVxuLy8gdGFiJ3MgaGVpZ2h0LiBbS2ltIGZhc2UgNCBkZWxpdmVyeSA0XVxuLmZlLWZjcS1lbXB0eS1zdGF0ZSB7XG4gICAgcGFkZGluZzogMTJweCAwO1xufVxuLmZlLWZjcS1lbXB0eS1pbGx1c3RyYXRpb24ge1xuICAgIG1heC1oZWlnaHQ6IDE2MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vLyBGYXNlIDQgZGVsaXZlcnkgNDogcGVyc2lzdGVudCBcIitWcmFhZyB0b2V2b2VnZW5cIiBhZmZvcmRhbmNlIG9uY2UgdGhlIGNhcmRcbi8vIGFscmVhZHkgaGFzIHF1ZXN0aW9ucyDigJQgZnVsbC13aWR0aCBkYXNoZWQgcm93IFVOREVSIHRoZSBsaXN0LCBzYW1lIGRhc2hlZFxuLy8gdm9jYWJ1bGFyeSBhcyAuZmUtZmNxLW1vdmUtcm93IGFib3ZlIChib3JkZXItZGFzaGVkICsgdGludGVkIGJhY2tncm91bmQpXG4vLyBidXQgaW4gdGhlIHRhYidzIG93biBwdXJwbGUtcHJpbWFyeSB0b25lIChhbiBcImFkZFwiIGN1ZSkgcmF0aGVyIHRoYW4gdGhhdFxuLy8gcm93J3MgbGF2ZW5kZXIgY2hvb3NlciB0b25lLCBzbyB0aGUgdHdvIGRhc2hlZCByb3dzIHN0aWxsIHJlYWQgYXMgdmlzdWFsbHlcbi8vIGRpc3RpbmN0IGFmZm9yZGFuY2VzLiBbS2ltIGZhc2UgNCBkZWxpdmVyeSA0XVxuLmZlLWZjcS1hZGQtcm93IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgI2E4YjJlODtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTIwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg2NCwgNzMsIDE1NCwgMC4wNik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQwNDk5YTtcbiAgICB9XG59XG4uZmUtZmNxLWFkZC1yb3dfX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLy8gRmFzZSA0IGRlbGl2ZXJ5IDQ6IFwiVnJhYWcgdG9ldm9lZ2VuXCIgdHlwZS1waWNrZXIgdGlsZSBncmlkLCByZW5kZXJlZCBpbnNpZGVcbi8vIHRoZSBtb2RhbCBib2R5ICguZmUtdHlwZXBpY2tlci1tb2RhbCAubW9kYWwtYm9keSDigJQgc2VlIF9tb2RhbC5zY3NzIGZvciB0aGVcbi8vIHotaW5kZXggb3ZlcnJpZGUpLiBTYW1lIHB1cnBsZS9pY29uIGxhbmd1YWdlIGFzIC5mZS1mY3Etcm93IGFib3ZlLlxuLy8gW0tpbSBmYXNlIDQgZGVsaXZlcnkgNF1cbi5mZS10eXBlcGlja2VyLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTQwcHgsIDFmcikpO1xuICAgIGdhcDogMTBweDtcbn1cbi5mZS10eXBlcGlja2VyLXRpbGUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogMTZweCAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU0ZWY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmNGY1ZmI7XG4gICAgY29sb3I6ICMyYTJlNWU7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXMsIGJveC1zaGFkb3cgMTQwbXMsIGJhY2tncm91bmQgMTQwbXM7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBib3JkZXItY29sb3I6ICNhOGIyZTg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZWYwZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDY0LCA3MywgMTU0LCAwLjEwKTtcbiAgICB9XG59XG4uZmUtdHlwZXBpY2tlci10aWxlX19pY29uIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICM0MDQ5OWE7XG59XG4uZmUtdHlwZXBpY2tlci10aWxlX19sYWJlbCB7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLy8gRmFzZSA0IGRlbGl2ZXJ5IDIgKHBsYW4gRSk6IHRoZSBjYXJkJ3Mgb3duIGlmLWp1bXAsIGluIHBsYWluIGxhbmd1YWdlLCBhYm92ZVxuLy8gdGhlIGxpc3QuIFRpbnRlZC1iYW5uZXIgc3R5bGUgKGluZm9ybWF0aXZlLCBub3QgYSB3YXJuaW5nKSwgc291cmNlLWJyYW5jaFxuLy8gZ2x5cGggdG8gcmVhZCBhcyBcImZsb3cgbG9naWNcIiBhdCBhIGdsYW5jZS4gW0tpbSBmYXNlIDQgZGVsaXZlcnkgMl1cbi5mZS1mY3EtanVtcC1saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY0LCA3MywgMTU0LCAwLjA3KTtcbiAgICBjb2xvcjogIzJhMmU1ZTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi5mZS1mY3EtanVtcC1saW5lX19pY29uIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAjNDA0OTlhO1xufVxuXG4uZmUtZmNxLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gYW5jaG9yIGZvciB0aGUgYWJzb2x1dGUgLmZlLWRyb3AtbGluZSAoc2hhcmVkIHJ1bGUsIH42MTM3KVxuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICA+IC5mZS1mY3Etcm93ICsgLmZlLWZjcS1yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgfVxufVxuXG4uZmUtZmNxLXJvdyB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDE4cHg7IC8vIGxlZnQgcGFkZGluZyBjbGVhcnMgdGhlIGRyYWcgaGFuZGxlIGJhclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlNGVmO1xuICAgIC8vIFNhbWUgaWRsZSBzdXJmYWNlIGFzIHRoZSBZZXMvTm8gYW5zd2VyLWJ1dHRvbiAoaXRzIDEyJS1wdXJwbGUtb24td2hpdGUgbWl4LFxuICAgIC8vIHNlZSBjb21wb25lbnRzL3YyL2Fuc3dlci1idXR0b24vX2Fuc3dlci1idXR0b24uc2Nzcykgc28gdGhlIHF1ZXN0aW9uIHJvd3MgcmVhZFxuICAgIC8vIGFzIHRoZSBzYW1lIFwiYW5zd2VyIHN1cmZhY2VcIiBmYW1pbHkgaW5zdGVhZCBvZiBhIHBhbGVyIG5lYXItd2hpdGUuIFtLaW0gMTYuMDddXG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSkgMTIlLCAjZmZmKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8vIGZhc2UgNCBkZWxpdmVyeSAyIChENSk6IHJvdyBjbGljayBvcGVucyB0aGUgcXVlc3Rpb24sIHN0YWNrZWRcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXMsIGJveC1zaGFkb3cgMTQwbXMsIGJhY2tncm91bmQgMTQwbXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYThiMmU4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSg2NCwgNzMsIDE1NCwgMC4xMCk7XG5cbiAgICAgICAgLmZlLWZjcS1yb3dfX2RyYWcgeyBvcGFjaXR5OiAxOyB9XG4gICAgICAgIC5mZS1mY3Etcm93X19tb3ZlIHsgb3BhY2l0eTogMTsgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuICAgICAgICAuZmUtZmNxLXJvd19fZGVsZXRlIHsgb3BhY2l0eTogMTsgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuICAgIH1cbn1cblxuLy8gVGV4dCBjb2x1bW4gKGxhYmVsICsgb3B0aW9uYWwgbG9naWMgY2hpcCBzdGFja2VkKSDigJQgZmFzZSA0IGRlbGl2ZXJ5IDIuIFtLaW0gZmFzZSA0IGRlbGl2ZXJ5IDJdXG4uZmUtZmNxLXJvd19fdGV4dCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogM3B4O1xufVxuXG4vLyBEcmFnIGhhbmRsZSDigJQgaWRlbnRpY2FsIGFmZm9yZGFuY2UgdG8gcWRuYXByby1hbnN3ZXItb3B0aW9uX19kcmFnLlxuLmZlLWZjcS1yb3dfX2RyYWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA0cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJhY2tncm91bmQ6ICM0NjUyZjM7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBlYXNlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZmUtZmNxLXJvd19faWNvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjNDA0OTlhO1xufVxuXG4uZmUtZmNxLXJvd19fbGFiZWwge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogIzJhMmU1ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIExvZ2ljLWNoaXAgcGlsbCAocGxhbiBFKSDigJQgcGxhaW4tbGFuZ3VhZ2UgcnVsZSBzdW1tYXJ5LCBjbGljayBvcGVucyB0aGVcbi8vIHF1ZXN0aW9uIHN0YWNrZWQsIGZvY3VzZWQgb24gaXRzIGxvZ2ljIHNlY3Rpb24uIE93biBidXR0b24gc28gaXQgY2FuIHN0b3Bcbi8vIHJvdy1jbGljayBwcm9wYWdhdGlvbiB3aGlsZSBzdGlsbCByZWFkaW5nIGFzIHBhcnQgb2YgdGhlIHJvdy4gW0tpbSBmYXNlIDQgZGVsaXZlcnkgMl1cbi5mZS1mY3Etcm93X19jaGlwIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2NCwgNzMsIDE1NCwgMC4yMik7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY0LCA3MywgMTU0LCAwLjA4KTtcbiAgICBjb2xvcjogIzQwNDk5YTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTIwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg2NCwgNzMsIDE1NCwgMC4xNCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg2NCwgNzMsIDE1NCwgMC4zNCk7XG4gICAgfVxufVxuLmZlLWZjcS1yb3dfX2NoaXAtaWNvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vLyBSZXF1aXJlZCBjdWUg4oCUIHNhbWUgY29sb3VyIGFzIC5mZS1sYWJlbC1yZXF1aXJlZCAobWF0Y2hlcyBxZG5hcHJvLWlucHV0XG4vLyAuaW5wdXQtcmVxdWlyZWQpLCB+Mzk0OC5cbi5mZS1mY3Etcm93X19yZXF1aXJlZCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgY29sb3I6ICNjNjVhNWE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLy8gXCJWZXJwbGFhdHMgbmFhciBhbmRlcmUga2FhcnRcIiAoRDYpIOKAlCBzYW1lIGhvdmVyLXJldmVhbCBhZmZvcmRhbmNlIGFzXG4vLyAuZmUtZmNxLXJvd19fZGVsZXRlLCBuZXV0cmFsL3B1cnBsZSBpbnN0ZWFkIG9mIHJlZCAobm90IGRlc3RydWN0aXZlKSwgcGx1c1xuLy8gYSBwZXJzaXN0ZW50IHRpbnQgd2hpbGUgaXRzIGNob29zZXIgaXMgZXhwYW5kZWQuIFtLaW0gZmFzZSA0IGRlbGl2ZXJ5IDJdXG4uZmUtZmNxLXJvd19fbW92ZSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjNDA0OTlhO1xuICAgIGJhY2tncm91bmQ6ICNlZWYwZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M3Y2NlZDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNDBtcywgYmFja2dyb3VuZCAxMjBtcywgYm9yZGVyLWNvbG9yIDEyMG1zO1xuXG4gICAgLm1kaSB7IGZvbnQtc2l6ZTogMTVweDsgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkZGUxZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2E4YjJlODtcbiAgICB9XG5cbiAgICAmLmZlLWZjcS1yb3dfX21vdmUtLWFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkZGUxZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQwNDk5YTtcbiAgICB9XG59XG5cbi5mZS1mY3Etcm93X19kZWxldGUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogI2M5NDA0MDtcbiAgICBiYWNrZ3JvdW5kOiAjZmRlOGU4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOGIwYjA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTQwbXMsIGJhY2tncm91bmQgMTIwbXMsIGJvcmRlci1jb2xvciAxMjBtcztcblxuICAgIC5tZGkgeyBmb250LXNpemU6IDE1cHg7IH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZjY2NjO1xuICAgICAgICBib3JkZXItY29sb3I6ICNjOTQwNDA7XG4gICAgfVxufVxuXG4vLyBENiBpbmxpbmUgXCJtb3ZlIHRvIGFub3RoZXIgY2FyZFwiIGNob29zZXIg4oCUIGV4cGFuZHMgYXMgaXRzIG93biByb3cgZGlyZWN0bHlcbi8vIHVuZGVyIHRoZSBxdWVzdGlvbiByb3cgaXQgYmVsb25ncyB0byAobm90IGEgZmxvYXRpbmcgcG9wb3Zlcjogbm8gYW5jaG9yaW5nL1xuLy8gcG9zaXRpb25pbmcgbWF0aCBuZWVkZWQsIGFuZCBpdCBzdGF5cyB2aXN1YWxseSBhdHRhY2hlZCB0byB0aGUgcm93IGl0IGFjdHNcbi8vIG9uKS4gW0tpbSBmYXNlIDQgZGVsaXZlcnkgMl1cbi5mZS1mY3EtbW92ZS1yb3cge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNiMGI4ZTg7XG4gICAgYmFja2dyb3VuZDogI2VlZjBmZjtcbn1cbi5mZS1mY3EtbW92ZS1zZWxlY3Qge1xuICAgIGZsZXg6IDEgMSAyMjBweDtcbiAgICBtaW4td2lkdGg6IDE2MHB4O1xufVxuLmZlLWZjcS1tb3ZlLWVtcHR5IHtcbiAgICBmbGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzZiNmY3ODtcbn1cbi5mZS1mY3EtbW92ZS1hY3Rpb25zIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG59XG4uZmUtZmNxLW1vdmUtY2FuY2VsLFxuLmZlLWZjcS1tb3ZlLWNvbmZpcm0ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcyBlYXNlLCBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwgb3BhY2l0eSAxMjBtcyBlYXNlO1xufVxuLmZlLWZjcS1tb3ZlLWNhbmNlbCB7XG4gICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSg2NCwgNzMsIDE1NCwgMC4wOCk7IH1cbn1cbi5mZS1mY3EtbW92ZS1jb25maXJtIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjNDA0OTlhO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MDQ5OWE7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogIzMzM2E3YjsgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxufVxuXG4vLyDilIDilIAgU2hhcmVkIHYyIGNvbmZpcm0gKGZhc2UgNCBkZWxpdmVyeSAzLCBwbGFuIMKnRDQvRDYsIEtpbSAwOC4wNy4yMDI2KSDilIDilIBcbi8vIFRSQUNLIDIgcmVidWlsZCAoUExBTi1hbGVydC1jb21wb25lbnQubWQsIDA5LjA3LjIwMjYpOiB0aGUgaGFuZC1yb2xsZWRcbi8vIC5mZS1jb25maXJtLXNjcmltLy1jYXJkLy10aXRsZS8tYm9keS8td2FybmluZy8tZnRyIGZyYW1lIHRoYXQgdXNlZCB0byBsaXZlXG4vLyBoZXJlIGlzIGdvbmUg4oCUIEJveC52dWUgKHBsdWdpbnMvY29uZmlybS9Cb3gudnVlKSBub3cgcmVuZGVycyBhIHJlYWxcbi8vIDxxZG5hcHJvLW1vZGFsIGNsYXNzPVwiZmUtY29uZmlybS1tb2RhbFwiPiwgc28gdGhlIGNvbmZpcm0gZ2V0cyB0aGUgYWN0dWFsXG4vLyB2MiBkaWFsb2cgY2hyb21lICh3aGl0ZSByb3VuZGVkIGNhcmQsIHB1cnBsZSB0aXRsZSwgWCBjbG9zZSwgZm9vdGVyXG4vLyBidXR0b25zKSBmb3IgZnJlZSBmcm9tIHNjc3MvY29tcG9uZW50cy92Mi9tb2RhbC9fbW9kYWwuc2Nzcy4gT25seSB0aGVcbi8vIGZsb3dlZGl0b3Itc3BlY2lmaWMgei1pbmRleCBidW1wICg5MzAwLCBzbyBpdCBjbGVhcnMgYm90aCB0aGUgd2l6YXJkXG4vLyBtb2RhbCdzIH45MDAwLTkxMDAgYW5kIGl0cyBvd24gOTIwMCBkcm9wZG93biBsYXllcikgbGl2ZXMgdGhlcmUgbm93LFxuLy8gc2NvcGVkIGJ5IC5mZS1jb25maXJtLW1vZGFsIOKAlCBzYW1lIHBhdHRlcm4gYXMgdGhlIGV4aXN0aW5nXG4vLyAuZmUtaW1wb3J0LW1vZGFsIG92ZXJyaWRlcyBpbiB0aGF0IHNhbWUgZmlsZS5cblxuLy8g4pSA4pSAIEQ2IG1vdmUgc3VjY2VzcyB0b2FzdCAoZmFzZSA0IGRlbGl2ZXJ5IDMsIHBsYW4gwqdENiwgS2ltIDA4LjA3LjIwMjYpIOKUgOKUgFxuLy8gU2l0cyBhdCB0aGUgYm90dG9tIG9mIHRoZSBWcmFnZW4gdGFiJ3Mgb3duIHNjcm9sbCBib2R5LCBzdGlja3kgc28gaXQgc3RheXNcbi8vIHZpc2libGUgcmVnYXJkbGVzcyBvZiBzY3JvbGwgcG9zaXRpb24sIHdpdGhvdXQgZXNjYXBpbmcgdGhlIHRhYiAocGVyIHBsYW46XG4vLyBcInRvYXN0IElOU0lERSB0aGUgbW9kYWwgYm9keSBib3R0b21cIiwgbm8gbmF2aWdhdGlvbi9yZW9wZW4pLiBTYW1lIGZhZGVcbi8vIHRyYW5zaXRpb24gRkFNSUxZIGFzIC5mZS1wdi10b2FzdC1mYWRlIChQcmV2aWV3LnZ1ZSdzIGJhcmNvZGUtc2NhbiB0b2FzdCxcbi8vIH41ODgzKSDigJQgaWRlbnRpY2FsIHRpbWluZy9lYXNpbmcg4oCUIGJ1dCBhIGdyZWVuIHN1cmZhY2UgZm9yIGEgc3VjY2Vzc1xuLy8gbWVzc2FnZSBpbnN0ZWFkIG9mIHRoYXQgdG9hc3QncyBuZXV0cmFsLWRhcmsgaW5mbyB0b25lLlxuLmZlLWZjcS1tb3ZlLXRvYXN0IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJvdHRvbTogNnB4O1xuICAgIHotaW5kZXg6IDM7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA5cHggMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICMxZjdhNGQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSgyMCwgMjIsIDQwLCAwLjI0KTtcbn1cbi5mZS1mY3EtbW92ZS10b2FzdF9faWNvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuLmZlLWZjcS1tb3ZlLXRvYXN0LWZhZGUtZW50ZXItYWN0aXZlLFxuLmZlLWZjcS1tb3ZlLXRvYXN0LWZhZGUtbGVhdmUtYWN0aXZlIHsgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyBlYXNlLW91dCwgdHJhbnNmb3JtIDE4MG1zIGVhc2Utb3V0OyB9XG4uZmUtZmNxLW1vdmUtdG9hc3QtZmFkZS1lbnRlci1mcm9tLFxuLmZlLWZjcS1tb3ZlLXRvYXN0LWZhZGUtbGVhdmUtdG8geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsgfVxuIiwiJGJhc2UtYmF0Y2g6ICNGRjNBMzBGRjtcbiRiYXNlLXdoaXRlOiAjRkZGRkZGRkY7XG4kYmFzZS1ibGFjazogIzFFMUYyMEZGO1xuXG5cbiRiYXNlLWNvbG9yczogKFxuICAgIGJhdGNoOiAkYmFzZS1iYXRjaCxcbiAgICB3aGl0ZTogJGJhc2Utd2hpdGUsXG4gICAgYmxhY2s6ICRiYXNlLWJsYWNrXG4pO1xuXG4kcHVycGxlLWxpbGE6IChcbiAgICA5NTA6ICMxMDBFMThGRixcbiAgICA5MDA6ICMxRjFEMkZGRixcbiAgICA4MDA6ICM0MTNCNUVGRixcbiAgICA3MDA6ICM1RTU2OERGRixcbiAgICA2MDA6ICM3RTcyQkNGRixcbiAgICA1MDA6ICM5RDhGRUJGRixcbiAgICA0MDA6ICNCMUE1RUZGRixcbiAgICAzMDA6ICNDNEJDRjNGRixcbiAgICAyMDA6ICNEOEQyRjdGRixcbiAgICAxMDA6ICNFQkU5RkJGRixcbiAgICA1MDogI0Y1RjRGREZGXG4pO1xuXG4kc2lnbmFsLXJlZDogKFxuICAgIDk1MDogIzE5MEIwQkZGLFxuICAgIDkwMDogIzMyMTcxN0ZGLFxuICAgIDgwMDogIzYzMzAzMEZGLFxuICAgIDcwMDogIzk1NDQ0NEZGLFxuICAgIDYwMDogI0M2NUE1QUZGLFxuICAgIDUwMDogI0Y4NzE3MUZGLFxuICAgIDQwMDogI0Y5OEQ4REZGLFxuICAgIDMwMDogI0ZCQUFBQUZGLFxuICAgIDIwMDogI0ZDQzZDNkZGLFxuICAgIDEwMDogI0ZFRTNFM0ZGLFxuICAgIDUwOiAjRkVGMUYxRkZcbik7XG5cblxuLy8gSW5kaXZpZHVlbGUga2xldXJ2YXJpYWJlbGVuXG4kcHVycGxlLTk1MDogIzA2MDcwRkZGO1xuJHB1cnBsZS05MDA6ICMwRDBGMUZGRjtcbiRwdXJwbGUtODAwOiAjMUQyMTQwRkY7XG4kcHVycGxlLTcwMDogIzI2MkM1Q0ZGO1xuJHB1cnBsZS02MDA6ICMzMzNBN0JGRjtcbiRwdXJwbGUtNTAwOiAjNDA0OTlBRkY7XG4kcHVycGxlLTQ1MDogIzUzNUJBNEZGO1xuJHB1cnBsZS00MDA6ICM2NjZEQUVGRjtcbiRwdXJwbGUtMzAwOiAjOEM5MkMyRkY7XG4kcHVycGxlLTIwMDogI0IzQjZEN0ZGO1xuJHB1cnBsZS0xNTA6ICNDNkM4RTFGRjtcbiRwdXJwbGUtMTAwOiAjRDlEQkVCRkY7XG4kcHVycGxlLTUwOiAjRUNFREY1RkY7XG5cbi8vIE1hcCB2YW4gcHVycGxlIGtsZXVyZW5cbiRwdXJwbGU6IChcbiAgICA5NTA6ICRwdXJwbGUtOTUwLFxuICAgIDkwMDogJHB1cnBsZS05MDAsXG4gICAgODAwOiAkcHVycGxlLTgwMCxcbiAgICA3MDA6ICRwdXJwbGUtNzAwLFxuICAgIDYwMDogJHB1cnBsZS02MDAsXG4gICAgNTAwOiAkcHVycGxlLTUwMCxcbiAgICA0NTA6ICRwdXJwbGUtNDUwLFxuICAgIDQwMDogJHB1cnBsZS00MDAsXG4gICAgMzAwOiAkcHVycGxlLTMwMCxcbiAgICAyMDA6ICRwdXJwbGUtMjAwLFxuICAgIDE1MDogJHB1cnBsZS0xNTAsXG4gICAgMTAwOiAkcHVycGxlLTEwMCxcbiAgICA1MDogJHB1cnBsZS01MFxuKTtcblxuXG4kb3JhbmdlOiAoXG4gICAgOTUwOiAjMTgwRTAwRkYsXG4gICAgOTAwOiAjMzAxQzAwRkYsXG4gICAgODAwOiAjNjAzQjA2RkYsXG4gICAgNzAwOiAjOEY1NTAxRkYsXG4gICAgNjAwOiAjQkY3MjAyRkYsXG4gICAgNTAwOiAjRUY4RTAyRkYsXG4gICAgNDAwOiAjRjJBNTM1RkYsXG4gICAgMzAwOiAjRjVCQjY3RkYsXG4gICAgMjAwOiAjRjlEMjlBRkYsXG4gICAgMTAwOiAjRkNFOENDRkYsXG4gICAgNTA6ICNGREY0RTZGRlxuKTtcblxuJGdyZXk6IChcbiAgICAxMDAwOiAjMDAwMDAwRkYsXG4gICAgOTUwOiAjMEIwQjBERkYsXG4gICAgOTAwOiAjMTUxNzFBRkYsXG4gICAgODUwOiAjMTUxNzFBRkYsXG4gICAgODAwOiAjMkUzMDM2RkYsXG4gICAgNzUwOiAjMzYzOTQwRkYsXG4gICAgNzAwOiAjNDA0NDRERkYsXG4gICAgNjAwOiAjNTY1QjY2RkYsXG4gICAgNTAwOiAjNkI3MjgwRkYsXG4gICAgNDAwOiAjODk4RTk5RkYsXG4gICAgMzAwOiAjQTZBQUIzRkYsXG4gICAgMjAwOiAjQzRDN0NDRkYsXG4gICAgMTAwOiAjRTFFM0U2RkYsXG4gICAgNTA6ICNGMEYxRjJGRlxuKTtcblxuJHNpZ25hbC1ncmVlbjogKFxuICAgIDk1MDogIzBCMTcxMkZGLFxuICAgIDkwMDogIzE2MkUyNUZGLFxuICAgIDgwMDogIzJGNUQ0QUZGLFxuICAgIDcwMDogIzQyOEI2RUZGLFxuICAgIDYwMDogIzU4Qjk5MkZGLFxuICAgIDUwMDogIzZFRTdCN0ZGLFxuICAgIDQwMDogIzhCRUNDNUZGLFxuICAgIDMwMDogI0E4RjFENEZGLFxuICAgIDIwMDogI0M1RjVFMkZGLFxuICAgIDEwMDogI0UyRkFGMUZGLFxuICAgIDUwOiAjRjBGREY4RkZcbik7XG5cbiRzaWduYWwteWVsbG93OiAoXG4gICAgOTUwOiAjMTkxNTA4RkYsXG4gICAgOTAwOiAjMzIyQTBGRkYsXG4gICAgODAwOiAjNjU1NTIyRkYsXG4gICAgNzAwOiAjOTc3RjJFRkYsXG4gICAgNjAwOiAjQ0FBOTNFRkYsXG4gICAgNTAwOiAjRkNEMzRERkYsXG4gICAgNDAwOiAjRkREQzcxRkYsXG4gICAgMzAwOiAjRkRFNTk0RkYsXG4gICAgMjAwOiAjRkVFREI4RkYsXG4gICAgMTAwOiAjRkVGNkRCRkYsXG4gICAgNTA6ICNGRkZCRURGRlxuKTtcblxuJHNpZ25hbC1oaWdobGlnaHQtcHVycGxlOiAoXG4gICAgOTUwOiAjMDcwODE4RkYsXG4gICAgOTAwOiAjMEUxMDMxRkYsXG4gICAgODAwOiAjMjAyNDYyRkYsXG4gICAgNzAwOiAjMkEzMTkyRkYsXG4gICAgNjAwOiAjMzg0MkMyRkYsXG4gICAgNTAwOiAjNDY1MkYzRkYsXG4gICAgNDAwOiAjNkI3NUY1RkYsXG4gICAgMzAwOiAjOTA5N0Y4RkYsXG4gICAgMjAwOiAjQjVCQUZBRkYsXG4gICAgMTAwOiAjREFEQ0ZERkYsXG4gICAgNTA6ICNFQ0VFRkVGRlxuKTtcblxuJHNpZ25hbC1uZXV0cmFsLWJsdWU6IChcbiAgICA5NTA6ICMwRDExMTdGRixcbiAgICA5MDA6ICMxQTIzMkRGRixcbiAgICA4MDA6ICMzNzQ3NUFGRixcbiAgICA3MDA6ICM0RjY4ODdGRixcbiAgICA2MDA6ICM2QThBQjRGRixcbiAgICA1MDA6ICM4NEFERTFGRixcbiAgICA0MDA6ICM5REJERTdGRixcbiAgICAzMDA6ICNCNUNFRURGRixcbiAgICAyMDA6ICNDRURFRjNGRixcbiAgICAxMDA6ICNFNkVGRjlGRixcbiAgICA1MDogI0YzRjdGQ0ZGXG4pO1xuXG5cblxuJGxpZ2h0LXB1cnBsZS0xMDA6ICNFNkU5RkZGRjtcbiRsaWdodC1wdXJwbGUtMTUwOiAjREFEREYyRkY7XG5cbiRsaWdodC1wdXJwbGU6IChcbiAgICAxMDA6ICRsaWdodC1wdXJwbGUtMTAwLFxuICAgIDE1MDogJGxpZ2h0LXB1cnBsZS0xNTBcbik7XG5cbiR0YWctcGluazogKFxuICAgIDk1MDogIzE1MEIwRUZGLFxuICAgIDkwMDogIzJBMTUxQ0ZGLFxuICAgIDgwMDogIzU2MkQzQUZGLFxuICAgIDcwMDogIzdGNDA1M0ZGLFxuICAgIDYwMDogI0FBNTU2RUZGLFxuICAgIDUwMDogI0Q0NkE4QUZGLFxuICAgIDQwMDogI0REODhBMUZGLFxuICAgIDMwMDogI0U1QTZCOUZGLFxuICAgIDIwMDogI0VFQzNEMEZGLFxuICAgIDEwMDogI0Y2RTFFOEZGLFxuICAgIDUwOiAjRkJGMEYzRkZcbik7XG5cbiR0YWctdmlvbGV0OiAoXG4gICAgOTUwOiAjMEYwODEwRkYsXG4gICAgOTAwOiAjMUUxMTFGRkYsXG4gICAgODAwOiAjM0YyNTQwRkYsXG4gICAgNzAwOiAjNUIzMjVERkYsXG4gICAgNjAwOiAjN0E0MzdDRkYsXG4gICAgNTAwOiAjOTg1NDlCRkYsXG4gICAgNDAwOiAjQUQ3NkFGRkYsXG4gICAgMzAwOiAjQzE5OEMzRkYsXG4gICAgMjAwOiAjRDZCQkQ3RkYsXG4gICAgMTAwOiAjRUFEREVCRkYsXG4gICAgNTA6ICNGNUVFRjVGRlxuKTtcblxuJHRhZy1ibHVlOiAoXG4gICAgOTUwOiAjMDUwQTE2RkYsXG4gICAgOTAwOiAjMEExNDJERkYsXG4gICAgODAwOiAjMTkyQTVBRkYsXG4gICAgNzAwOiAjMUYzQjg2RkYsXG4gICAgNjAwOiAjMkE0RkIyRkYsXG4gICAgNTAwOiAjMzQ2M0RGRkYsXG4gICAgNDAwOiAjNUQ4MkU1RkYsXG4gICAgMzAwOiAjODVBMUVDRkYsXG4gICAgMjAwOiAjQUVDMUYyRkYsXG4gICAgMTAwOiAjRDZFMEY5RkYsXG4gICAgNTA6ICNFQkVGRkNGRlxuKTtcblxuJHRhZy1ncmVlbjogKFxuICAgIDk1MDogIzEwMTQwOUZGLFxuICAgIDkwMDogIzIwMjgxMUZGLFxuICAgIDgwMDogIzQyNTAyNkZGLFxuICAgIDcwMDogIzVGNzczNEZGLFxuICAgIDYwMDogIzdGOUU0NUZGLFxuICAgIDUwMDogIzlGQzY1NkZGLFxuICAgIDQwMDogI0IyRDE3OEZGLFxuICAgIDMwMDogI0M1REQ5QUZGLFxuICAgIDIwMDogI0Q5RThCQkZGLFxuICAgIDEwMDogI0VDRjREREZGLFxuICAgIDUwOiAjRjVGOUVFRkZcbik7IiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvZGVzaWduLXRva2Vucy9fZGVzaWduLXRva2Vucy1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFFETkEgUHJvIOKAlCBEZXNpZ24gVG9rZW5zIChjZW50cmFsKSDigJQgY29tcGlsZWQgZnJvbSBfZGVzaWduLXRva2Vucy5zY3NzXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIERyb3AtaW4gQ1NTIGZvciBmaWxlOi8vIHBhZ2VzIChob21lcGFnZS1tb2NrdXAsIHRhc2tsaXN0LXBhZ2UsXG4gICBwcm90b3R5cGUgcHJldmlld3MpLiBNaXJyb3JzIHRoZSBjYW5vbmljYWwgX2Rlc2lnbi10b2tlbnMuc2Nzc1xuICAgMToxOyBpZiB5b3UgZWRpdCBvbmUsIGVkaXQgdGhlIG90aGVyLlxuXG4gICBUd28gbGF5ZXJzOlxuICAgICBBLiBQUklNSVRJVkVTIOKAlCByYXcgRmlnbWEgdmFsdWVzLlxuICAgICBCLiBTRU1BTlRJQyBUT0tFTlMg4oCUIHJlZmVyZW5jZSBwcmltaXRpdmVzIHZpYSB2YXIoKS5cblxuICAgR2VuZXJhdGVkIDIwMjYtMDUtMTkgKEZMWSBCQUJZIEZMWSBvdmVybmlnaHQgbWlncmF0aW9uKS5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG4gICAgLyogLS0tLS0tLS0tLSBHcmV5cyAoRmlnbWEgQ29sb3JzL0dyZXkvKikgLS0tLS0tLS0tLSAqL1xuICAgIC0tYy1ncmV5LTk1MDogIzBiMGIwZDtcbiAgICAtLWMtZ3JleS05MDA6ICMxODE4MWM7XG4gICAgLS1jLWdyZXktODAwOiAjMmUzMDM2O1xuICAgIC0tYy1ncmV5LTcwMDogIzQwNDQ0ZDtcbiAgICAtLWMtZ3JleS02MDA6ICM1NjViNjY7XG4gICAgLS1jLWdyZXktNTAwOiAjNmI3MjgwO1xuICAgIC0tYy1ncmV5LTQwMDogI2E2YWFiMztcbiAgICAtLWMtZ3JleS0zMDA6ICNjNGM3Y2M7XG4gICAgLS1jLWdyZXktMjAwOiAjZDFkNWRiO1xuICAgIC0tYy1ncmV5LTEwMDogI2U3ZTllYztcbiAgICAtLWMtZ3JleS01MDogICNmMGYxZjI7XG5cbiAgICAvKiAtLS0tLS0tLS0tIEFjdGlvbiBwdXJwbGVzIChGaWdtYSBDb2xvcnMvUHVycGxlLyopIC0tLS0tLS0tLS0gKi9cbiAgICAtLWMtcHVycGxlLTcwMDogIzJhMzI2ODtcbiAgICAtLWMtcHVycGxlLTYwMDogIzMzM2E3YjtcbiAgICAtLWMtcHVycGxlLTUwMDogIzQwNDk5YTtcbiAgICAtLWMtcHVycGxlLTQwMDogIzVhNjRiODtcbiAgICAtLWMtcHVycGxlLTMwMDogIzhhOTJkMDtcbiAgICAtLWMtcHVycGxlLTIwMDogI2E1YWNmZjtcbiAgICAtLWMtcHVycGxlLTEwMDogI2MwYzVmZjtcbiAgICAtLWMtcHVycGxlLTUwOiAgI2U2ZTlmZjtcblxuICAgIC8qIC0tLS0tLS0tLS0gQWN0aW9uIGhpZ2hsaWdodCAoRmlnbWEgUHVycGxlIEhJR0hMSUdIVC8qKSAtLS0tLS0tLS0tICovXG4gICAgLS1jLWFjdGlvbi01MDA6ICM0NjUyZjM7XG4gICAgLS1jLWFjdGlvbi02MDA6ICMzNTQwZDY7XG4gICAgLS1jLWFjdGlvbi03MDA6ICMyYTM2Yjg7XG5cbiAgICAvKiAtLS0tLS0tLS0tIFNpZ25hbCBjb2xvdXJzIChzZW1hbnRpYy1pc2ggcHJpbWl0aXZlcykgLS0tLS0tLS0tLSAqL1xuICAgIC0tYy1zaWduYWwtZ3JlZW4tYmc6ICAgICNjNWY1ZTI7XG4gICAgLS1jLXNpZ25hbC1ncmVlbi10ZXh0OiAgIzQyOGI2ZTtcbiAgICAtLWMtc2lnbmFsLWdyZWVuLTEwMDogICAjZDhmNGUzO1xuICAgIC0tYy1zaWduYWwteWVsbG93LWJnOiAgICNmZWVkYjg7XG4gICAgLS1jLXNpZ25hbC15ZWxsb3ctdGV4dDogI2JmNzIwMjtcbiAgICAtLWMtc2lnbmFsLWJsdWUtYmc6ICAgICAjZTZlZmY5O1xuICAgIC0tYy1zaWduYWwtYmx1ZS10ZXh0OiAgICM2YThhYjQ7XG4gICAgLS1jLXNpZ25hbC1yZWQtYmc6ICAgICAgI2ZlZTNlMztcbiAgICAtLWMtc2lnbmFsLXJlZC10ZXh0OiAgICAjYzY1YTVhO1xuICAgIC0tYy1zaWduYWwtcmVkLXNvZnQ6ICAgICNmZmYwZjA7XG4gICAgLyogT3JhbmdlICsgcGluayBwYWlycyAoMDIuMDcuMjAyNiwgY2FsZW5kYXIpOiBvcmFuZ2UgPSB0aGUgXCJpbiBwcm9ncmVzc1wiIGV2ZW50XG4gICAgICAgc3RhdHVzLCBwaW5rID0gcGVyc29uYWwgZXZlbnRzLiBQaW5rIGJnIGRlbGliZXJhdGVseSBlcXVhbHMgdGhlIHRhc2tsaXN0IHBpbmtcbiAgICAgICBwYXN0ZWwgc28gdGhlIHR3byBzeXN0ZW1zIHN0YXkgdmlzdWFsbHkgcmVsYXRlZC4gKi9cbiAgICAtLWMtc2lnbmFsLW9yYW5nZS1iZzogICAjZmRlYWRjO1xuICAgIC0tYy1zaWduYWwtb3JhbmdlLXRleHQ6ICNiYzZhMWY7XG4gICAgLS1jLXNpZ25hbC1waW5rLWJnOiAgICAgI2Y2ZTFlODtcbiAgICAtLWMtc2lnbmFsLXBpbmstdGV4dDogICAjYjI1Nzc3O1xuXG4gICAgLyogLS0tLS0tLS0tLSBGYXZvcml0ZSAvIGhlYXJ0IChLaW0gMjIuMDcuMjAyNikgLS0tLS0tLS0tLVxuICAgICAgIFJlZC1waW5rIHVzZWQgZm9yIHRoZSBcImZhdm9yaXRlXCIgaGVhcnQuIFdhcyBoYXJkY29kZWQgaW4gdGhlIGhlYXJ0LW1vZGVcbiAgICAgICBmYXZvcml0ZSBidXR0b247IHByb21vdGVkIHRvIGEgdG9rZW4gc28gcWRuYXByby1zdGF0dXMtYmFkZ2UgYW5kIHRoZVxuICAgICAgIGZhdm9yaXRlIGJ1dHRvbiBzaGFyZSBvbmUgc291cmNlLiAqL1xuICAgIC0tYy1mYXZvcml0ZS1oZWFydDogICAgICNmZjRkNmE7XG5cbiAgICAvKiAtLS0tLS0tLS0tIEJyaWdodCBzaWduYWwgYWNjZW50cyAodml2aWQ7IEtpbSAyNC4wNi4yMDI2KSAtLS0tLS0tLS0tXG4gICAgICAgVGhlIG11dGVkIC0tYy1zaWduYWwtKiBhcmUgZm9yIHNvZnQgcGlsbCBiYWNrZ3JvdW5kczsgdGhlc2UgYnJpZ2h0cyBhcmUgZm9yXG4gICAgICAgdml2aWQgYWNjZW50cyAoZmlsbGVkIGJvcmRlcnMsIGZpbGxzLCB0aGUgdG9hc3Qgd2FybmluZykuICovXG4gICAgLS1jLXN1Y2Nlc3MtYnJpZ2h0OiAgICAgICAgIzFkOWU3NTsgLyogdml2aWQgc3VjY2VzcyBncmVlbiAqL1xuICAgIC0tYy13YXJuaW5nLWJyaWdodC1iZzogICAgICNmZmYzY2Q7IC8qIHZpdmlkIHdhcm5pbmcgeWVsbG93IHNldCAodG9hc3QgcmVmZXJlbmNlKSAqL1xuICAgIC0tYy13YXJuaW5nLWJyaWdodC10ZXh0OiAgICM5YTZhMTA7XG4gICAgLS1jLXdhcm5pbmctYnJpZ2h0LWJvcmRlcjogI2YwZDA2MDtcblxuICAgIC8qIC0tLS0tLS0tLS0gV2FybmluZyAvIGRhbmdlciByYW1wIC0tLS0tLS0tLS0gKi9cbiAgICAtLWMtd2Fybi1hbWJlci01MDA6ICAjZDk3NzA2O1xuICAgIC0tYy13YXJuLWFtYmVyLTYwMDogICNiNDUzMDk7XG4gICAgLS1jLXdhcm4tb3JhbmdlLTUwMDogI2VhNTgwYztcbiAgICAtLWMtd2Fybi1vcmFuZ2UtNjAwOiAjYzI0MTBjO1xuICAgIC0tYy13YXJuLXJlZC01MDA6ICAgICNkYzI2MjY7XG4gICAgLS1jLXdhcm4tcmVkLTQwMDogICAgI2Y4NzE3MTtcbiAgICAtLWMtd2Fybi1yZWQtMzAwOiAgICAjZmNhNWE1O1xuICAgIC0tYy13YXJuLXllbGxvdy01MDA6ICNmYmJmMjQ7XG4gICAgLS1jLXdhcm4teWVsbG93LTYwMDogI2Y1OWUwYjtcblxuICAgIC8qIC0tLS0tLS0tLS0gV2hpdGUgKyBibGFjayBhbHBoYXMgLS0tLS0tLS0tLSAqL1xuICAgIC0tYy13aGl0ZS0wNDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTtcbiAgICAtLWMtd2hpdGUtMDY6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG4gICAgLS1jLXdoaXRlLTA4OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIC0tYy13aGl0ZS0xMDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEwKTtcbiAgICAtLWMtd2hpdGUtMTI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgLS1jLXdoaXRlLTE0OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpO1xuICAgIC0tYy13aGl0ZS0yMjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKTtcbiAgICAtLWMtd2hpdGUtMjg6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yOCk7XG4gICAgLS1jLXdoaXRlLTQ1OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDUpO1xuICAgIC0tYy13aGl0ZS01NTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcbiAgICAtLWMtd2hpdGUtNjU6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7XG4gICAgLS1jLXdoaXRlLTcwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzApO1xuICAgIC0tYy13aGl0ZS04NTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgICAtLWMtd2hpdGUtOTA6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MCk7XG5cbiAgICAtLWMtYmxhY2stMDY6IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgLS1jLWJsYWNrLTA4OiByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIC0tYy1ibGFjay0xMjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAtLWMtYmxhY2stMzA6IHJnYmEoMCwgMCwgMCwgMC4zMCk7XG4gICAgLS1jLWJsYWNrLTQwOiByZ2JhKDAsIDAsIDAsIDAuNDApO1xuICAgIC0tYy1ibGFjay00NTogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcblxuICAgIC8qIC0tLS0tLS0tLS0gQnJhbmQgcHVycGxlIGFscGhhcyAtLS0tLS0tLS0tICovXG4gICAgLS1jLWFjdGlvbi0wODogcmdiYSg3MCwgODIsIDI0MywgMC4wOCk7XG4gICAgLS1jLWFjdGlvbi0xMjogcmdiYSg3MCwgODIsIDI0MywgMC4xMik7XG4gICAgLS1jLWFjdGlvbi0xODogcmdiYSg3MCwgODIsIDI0MywgMC4xOCk7XG4gICAgLS1jLWFjdGlvbi0yMjogcmdiYSg3MCwgODIsIDI0MywgMC4yMik7XG4gICAgLS1jLWFjdGlvbi0yNTogcmdiYSg3MCwgODIsIDI0MywgMC4yNSk7XG4gICAgLS1jLWFjdGlvbi0zMDogcmdiYSg3MCwgODIsIDI0MywgMC4zMCk7XG4gICAgLS1jLWFjdGlvbi00MDogcmdiYSg3MCwgODIsIDI0MywgMC40MCk7XG4gICAgLS1jLWFjdGlvbi01MDogcmdiYSg3MCwgODIsIDI0MywgMC41MCk7XG4gICAgLS1jLWFjdGlvbi03MDogcmdiYSg3MCwgODIsIDI0MywgMC43MCk7XG5cbiAgICAtLWMtcHVycGxlLXNvZnQtMTI6IHJnYmEoNjQsIDczLCAxNTQsIDAuMTIpO1xuICAgIC0tYy1wdXJwbGUtc29mdC0xODogcmdiYSg2NCwgNzMsIDE1NCwgMC4xOCk7XG5cbiAgICAtLWMtcHVycGxlLTIwMC0zMDogcmdiYSgxNjUsIDE3MiwgMjU1LCAwLjMwKTtcbiAgICAtLWMtcHVycGxlLTIwMC01MDogcmdiYSgxNjUsIDE3MiwgMjU1LCAwLjUwKTtcblxuICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICAgIExBWUVSIEIg4oCUIFNlbWFudGljIHRva2VucyAoTElHSFQpXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKiBCcmFuZCAqL1xuICAgIC0tYy1icmFuZC1wdXJwbGU6ICAgICAgICB2YXIoLS1jLXB1cnBsZS01MDApO1xuICAgIC0tYy1icmFuZC1wdXJwbGUtaG92ZXI6ICB2YXIoLS1jLXB1cnBsZS02MDApO1xuICAgIC0tYy1icmFuZC1wdXJwbGUtcHJlc3M6ICB2YXIoLS1jLXB1cnBsZS03MDApO1xuICAgIC0tYy1wdXJwbGUtaGlnaGxpZ2h0OiAgICB2YXIoLS1jLWFjdGlvbi01MDApO1xuXG4gICAgLyogU3VyZmFjZXMgKi9cbiAgICAtLWMtYmctcGFnZTogICAgICAgICAgICAgI2ViZWRmYjtcbiAgICAtLWMtYmctY2FyZDogICAgICAgICAgICAgI2ZmZmZmZjtcbiAgICAtLWMtYmctY2FyZC1ob3ZlcjogICAgICAgI2Y3ZjhmYTtcbiAgICAtLWMtYmctc2Vjb25kYXJ5LXB1cnBsZTogdmFyKC0tYy1wdXJwbGUtNTApO1xuICAgIC0tYy1iZy1zdWJ0bGUtcHVycGxlOiAgICAjZjNmNWZmO1xuICAgIC0tYy1iZy1zdWJ0bGUtaG92ZXI6ICAgICB2YXIoLS1jLWdyZXktNTApO1xuXG4gICAgLyogU2lkZWJhciAqL1xuICAgIC0tYy1zaWRlYmFyLWJnOiAgICAgICAgICAjM2E0MjkwO1xuICAgIC0tYy1zaWRlYmFyLWJnLWFjdGl2ZTogICAjZmZmZmZmO1xuICAgIC0tYy1zaWRlYmFyLWljb246ICAgICAgICAjYzVjOWViO1xuICAgIC0tYy1zaWRlYmFyLWljb24tYWN0aXZlOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSk7XG4gICAgLS1jLXNpZGViYXItYWN0aXZlLWJnOiAgICNmZmZmZmY7XG5cbiAgICAvKiBUZXh0ICovXG4gICAgLS1jLXRleHQtYm9keTogICAgICAgICAgIHZhcigtLWMtZ3JleS05NTApO1xuICAgIC0tYy10ZXh0LW11dGVkOiAgICAgICAgICAjNmU3MjgwO1xuICAgIC0tYy10ZXh0LWRpc2FibGVkOiAgICAgICAjODk4ZTk5O1xuICAgIC0tYy10ZXh0LWRpc2FibGVkLXBwOiAgICAjOGM5MmMyO1xuICAgIC0tYy10ZXh0LWhlYWRpbmc6ICAgICAgICAjMWExZjRkO1xuICAgIC0tYy10ZXh0LW9uLWFjdGlvbjogICAgICAjZmZmZmZmO1xuXG4gICAgLyogVGFnIGNvbG91cnMgKi9cbiAgICAtLWMtdGFnLWhhbmRvdmVyLWJnOiAgICAgI2U3ZGVmYjtcbiAgICAtLWMtdGFnLWhhbmRvdmVyLXRleHQ6ICAgIzZiM2ZiODtcbiAgICAtLWMtdGFnLWNyaXRpY2FsLWJnOiAgICAgI2ZmZTFkZTtcbiAgICAtLWMtdGFnLWNyaXRpY2FsLXRleHQ6ICAgI2MzM2EzMDtcbiAgICAtLWMtdGFnLWRlYWRsaW5lLWJnOiAgICAgI2ZmZTJkYztcbiAgICAtLWMtdGFnLWRlYWRsaW5lLXRleHQ6ICAgI2MzM2EzMDtcbiAgICAtLWMtdGFnLXdhcm5pbmctYmc6ICAgICAgI2ZmZjJkNjtcbiAgICAtLWMtdGFnLXdhcm5pbmctdGV4dDogICAgI2EwNjQwMDtcbiAgICAtLWMtdGFnLW5ldy1iZzogICAgICAgICAgdmFyKC0tYy1zaWduYWwtZ3JlZW4tMTAwKTtcbiAgICAtLWMtdGFnLW5ldy10ZXh0OiAgICAgICAgIzFmN2E0ODtcblxuICAgIC8qIEJvcmRlcnMgKi9cbiAgICAtLWMtYm9yZGVyLXNvZnQ6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgICAtLWMtYm9yZGVyLXNvZnQtMjogICAgICAgI2U2ZTllZjtcbiAgICAtLWMtYm9yZGVyLWNhcmQ6ICAgICAgICAgI2UxZTNlNjtcbiAgICAtLWMtYm9yZGVyLXRyZWU6ICAgICAgICAgI2Q0ZDhlYztcbiAgICAtLWMtYm9yZGVyLXRyZWUtYnJpZ2h0OiAgI2Q0ZDhlZTtcblxuICAgIC8qIFNoYWRvd3MgKi9cbiAgICAtLXNoYWRvdy1jYXJkOiAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMjAsIDI1LCA4MCwgMC4wNCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgNHB4IDE2cHggcmdiYSgyMCwgMjUsIDgwLCAwLjA0KTtcblxuICAgIC8qIEZvY3VzICovXG4gICAgLS1mb2N1cy1yaW5nOiAgICAgICAgICAgIHZhcigtLWMtYnJhbmQtcHVycGxlKTtcbiAgICAtLWZvY3VzLWdsb3c6ICAgICAgICAgICAgdmFyKC0tYy1hY3Rpb24tMjUpO1xuXG4gICAgLyogUmFkaWkg4oCUIDQtYmFzZWQgc2NhbGUgKG1hdGNoZXMgdGhlIHNwYWNpbmcgc2NhbGUpLiBbS2ltIDI0LjA2LjIwMjZdICovXG4gICAgLS1yLTE6IDRweDtcbiAgICAtLXItMjogOHB4O1xuICAgIC0tci0zOiAxMnB4O1xuICAgIC0tci00OiAxNnB4O1xuICAgIC0tci01OiAyMHB4O1xuICAgIC8qIFNlbWFudGljIHJhZGl1cyB0b2tlbnMgbm93IHJlZmVyZW5jZSB0aGUgc2NhbGUgKHdlcmUgb2ZmLXNjYWxlIDgvMTAvMTQpLlxuICAgICAgIE1pZ3JhdGlvbjogLS1yLXJvdyAxMOKGkjEyLCAtLXItY2FyZCAxNOKGkjE2LiBBZmZlY3RzIGV2ZXJ5IGNvbXBvbmVudCB0aGF0IHVzZXMgdGhlbS4gKi9cbiAgICAtLXItYnRuOiAgICAgdmFyKC0tci0yKTtcbiAgICAtLXItYnV0dG9uOiAgdmFyKC0tci0yKTtcbiAgICAtLXItcm93OiAgICAgdmFyKC0tci0zKTtcbiAgICAtLXItY2FyZDogICAgdmFyKC0tci00KTtcbiAgICAtLXItcGlsbDogICAgOTk5cHg7XG5cbiAgICAvKiBTcGFjaW5nIHNjYWxlICovXG4gICAgLS1zLTE6IDRweDtcbiAgICAtLXMtMjogOHB4O1xuICAgIC0tcy0zOiAxMnB4O1xuICAgIC0tcy00OiAxNnB4O1xuICAgIC0tcy01OiAyMHB4O1xuICAgIC0tcy02OiAyNHB4O1xuICAgIC0tcy03OiAzMnB4O1xuICAgIC0tcy04OiA0MHB4O1xuXG4gICAgLyogVHlwb2dyYXBoeSAqL1xuICAgIC0tZmY6IFwiSW50ZXJcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIHNhbnMtc2VyaWY7XG4gICAgLS1mdy1yZWd1bGFyOiA0MDA7XG4gICAgLS1mdy1tZWRpdW06ICA1MDA7XG4gICAgLS1mdy1zZW1pOiAgICA2MDA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMQVlFUiBCIOKAlCBTZW1hbnRpYyB0b2tlbnMgKERBUkspXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFRyaWdnZXJlZCBieSBBTlkgb2Y6XG4gICAgIFtkYXRhLXRoZW1lLWRhcmtdICAgICAgICAgICAgICAoYm9vbGVhbiwgdXNlZCBieSB0YXNrbGlzdCBvbiA8aHRtbD4pXG4gICAgIFtkYXRhLXRoZW1lPVwiZGFya1wiXSAgICAgICAgICAgICh2YWx1ZSwgdXNlZCBieSBzb21lIGNvbXBvbmVudHMpXG4gICAgIGJvZHlbZGF0YS10aGVtZT1cImRhcmtcIl0gICAgICAgICh2YWx1ZSwgdXNlZCBieSBob21lcGFnZSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2RhdGEtdGhlbWUtZGFya10sXG5bZGF0YS10aGVtZT1cImRhcmtcIl0sXG5ib2R5W2RhdGEtdGhlbWU9XCJkYXJrXCJdIHtcbiAgICAvKiBCcmFuZCAobGlmdGVkIGZvciBkYXJrIGNvbnRyYXN0KSAqL1xuICAgIC0tYy1icmFuZC1wdXJwbGU6ICAgICAgICB2YXIoLS1jLXB1cnBsZS0yMDApO1xuICAgIC0tYy1icmFuZC1wdXJwbGUtaG92ZXI6ICB2YXIoLS1jLXB1cnBsZS0xMDApO1xuICAgIC0tYy1icmFuZC1wdXJwbGUtcHJlc3M6ICB2YXIoLS1jLXB1cnBsZS0zMDApO1xuICAgIC0tYy1wdXJwbGUtaGlnaGxpZ2h0OiAgICB2YXIoLS1jLWFjdGlvbi01MDApO1xuXG4gICAgLyogU3VyZmFjZXMgKi9cbiAgICAtLWMtYmctcGFnZTogICAgICAgICAgICAgdmFyKC0tYy1ncmV5LTk1MCk7XG4gICAgLS1jLWJnLWNhcmQ6ICAgICAgICAgICAgIHZhcigtLWMtZ3JleS04MDApO1xuICAgIC0tYy1iZy1jYXJkLWhvdmVyOiAgICAgICB2YXIoLS1jLWdyZXktNzAwKTtcbiAgICAtLWMtYmctc2Vjb25kYXJ5LXB1cnBsZTogdmFyKC0tYy1ncmV5LTk1MCk7XG4gICAgLS1jLWJnLXN1YnRsZS1wdXJwbGU6ICAgIHZhcigtLWMtZ3JleS05MDApO1xuICAgIC0tYy1iZy1zdWJ0bGUtaG92ZXI6ICAgICB2YXIoLS1jLWdyZXktNjAwKTtcblxuICAgIC8qIFNpZGViYXIgKi9cbiAgICAtLWMtc2lkZWJhci1iZzogICAgICAgICAgdmFyKC0tYy1ncmV5LTgwMCk7XG4gICAgLS1jLXNpZGViYXItYmctYWN0aXZlOiAgIHZhcigtLWMtZ3JleS03MDApO1xuICAgIC0tYy1zaWRlYmFyLWljb246ICAgICAgICB2YXIoLS1jLWdyZXktMzAwKTtcbiAgICAtLWMtc2lkZWJhci1pY29uLWFjdGl2ZTogI2ZmZmZmZjtcbiAgICAtLWMtc2lkZWJhci1hY3RpdmUtYmc6ICAgdmFyKC0tYy1ncmV5LTcwMCk7XG5cbiAgICAvKiBUZXh0ICovXG4gICAgLS1jLXRleHQtYm9keTogICAgICAgICAgIHZhcigtLWMtZ3JleS01MCk7XG4gICAgLS1jLXRleHQtbXV0ZWQ6ICAgICAgICAgIHZhcigtLWMtZ3JleS00MDApO1xuICAgIC0tYy10ZXh0LWRpc2FibGVkOiAgICAgICB2YXIoLS1jLWdyZXktNTAwKTtcbiAgICAtLWMtdGV4dC1kaXNhYmxlZC1wcDogICAgdmFyKC0tYy1ncmV5LTUwMCk7XG4gICAgLS1jLXRleHQtaGVhZGluZzogICAgICAgIHZhcigtLWMtZ3JleS01MCk7XG4gICAgLS1jLXRleHQtb24tYWN0aW9uOiAgICAgICNmZmZmZmY7XG5cbiAgICAvKiBCb3JkZXJzICovXG4gICAgLS1jLWJvcmRlci1zb2Z0OiAgICAgICAgIHZhcigtLWMtd2hpdGUtMDgpO1xuICAgIC0tYy1ib3JkZXItc29mdC0yOiAgICAgICB2YXIoLS1jLXdoaXRlLTA4KTtcbiAgICAtLWMtYm9yZGVyLWNhcmQ6ICAgICAgICAgdmFyKC0tYy13aGl0ZS0xMCk7XG4gICAgLS1jLWJvcmRlci10cmVlOiAgICAgICAgIHZhcigtLWMtd2hpdGUtMTIpO1xuICAgIC0tYy1ib3JkZXItdHJlZS1icmlnaHQ6ICB2YXIoLS1jLXdoaXRlLTEyKTtcblxuICAgIC8qIFNoYWRvd3MgKi9cbiAgICAtLXNoYWRvdy1jYXJkOiAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC40MCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjQwKTtcblxuICAgIC8qIEZvY3VzICovXG4gICAgLS1mb2N1cy1yaW5nOiAgICAgICAgICAgIHZhcigtLWMtcHVycGxlLTIwMCk7XG4gICAgLS1mb2N1cy1nbG93OiAgICAgICAgICAgIHZhcigtLWMtYWN0aW9uLTQwKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb3Rpb24gdXRpbGl0aWVzIChzaGFyZWQpXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIC5xZG5hcHJvLXNoYWtlIOKAlCBicmllZiBob3Jpem9udGFsIG51ZGdlIHVzZWQgdG8gZHJhdyBhdHRlbnRpb25cbiAgIHRvIGEgZmllbGQgdGhhdCBmYWlsZWQgdmFsaWRhdGlvbi4gQWRkIHRoZSBjbGFzcyB0byB0cmlnZ2VyIGl0O1xuICAgdGhlIG93bmluZyBjb21wb25lbnQgcmVtb3ZlcyBpdCBvbiBgYW5pbWF0aW9uZW5kYCBzbyBpdCBjYW5cbiAgIHJlLWZpcmUgb24gYSByZXBlYXRlZCB0cmlnZ2VyLiBTdGFuZGFyZCBmb3JtLXZhbGlkYXRpb24gY3VlLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5Aa2V5ZnJhbWVzIHFkbmFwcm8tc2hha2Uge1xuICAgIDEwJSwgOTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpOyB9XG4gICAgMjAlLCA4MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgIH1cbiAgICAzMCUsIDUwJSwgNzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpOyB9XG4gICAgNDAlLCA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgIH1cbn1cbi5xZG5hcHJvLXNoYWtlIHtcbiAgICBhbmltYXRpb246IHFkbmFwcm8tc2hha2UgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMzYsIDAuMDcsIDAuMTksIDAuOTcpIGJvdGg7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5xZG5hcHJvLXNoYWtlIHsgYW5pbWF0aW9uOiBub25lOyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgLnFkbmFwcm8tc2xpZGUtcGFnZXMg4oCUIGhvcml6b250YWwgcGFnZSBzd2l0Y2ggKG9uZSBsZXZlbCBkZWVwKVxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBUaGUgXCJzdGFwIDEgc2NodWlmdCBuYWFyIGxpbmtzLCBzdGFwIDIgc2NodWlmdCBpblwiIG1vdGlvbi4gSXQgbGl2ZWQgaW4gVEhSRUVcbiAgIGhhbmQtd3JpdHRlbiBjb3BpZXMgYmVmb3JlIDAzLjA4LjIwMjYsIGFsbCB3aXRoIHRoZSBzYW1lIG51bWJlcnMgdHlwZWQgb3V0IGFnYWluOlxuICAgICAtIHFkbmFwcm8tZXZlbnQtc2hlZXQgICAoLmVzLXBhZ2VzIC8gLmVzLXBhZ2UtbWFpbiAvIC5lcy1wYWdlLXN1YiAvIC5lcy1zdWItb3BlbilcbiAgICAgLSB0aGUgUFdBIEhlcmhhbGVuLXNoZWV0ICguYW8tcmVwZWF0LXBhZ2VzIC8gLXBhZ2UtbGlzdCAvIC1wYWdlLXByZXZpZXcsIHBsYWluXG4gICAgICAgbWFya3VwIGluc2lkZSBhIHFkbmFwcm8tYm90dG9tLXNoZWV0IC0gc28gTk9UIGluIGEgY29tcG9uZW50IGF0IGFsbClcbiAgICAgLSB0aGUgUFdBIGxvY2F0aW9uL2RlcGFydG1lbnQgY2hvb3NlciAoLmxwLXBhZ2VzKVxuICAgS2ltIDAzLjA4LjIwMjYsIGFmdGVyIGNhdGNoaW5nIHRoZSB0aGlyZCBjb3B5OiBtYWtlIGl0IG9uZSB2b2NhYnVsYXJ5LiBJdCBsaXZlcyBoZXJlLFxuICAgbmV4dCB0byAucWRuYXByby1zaGFrZSwgYmVjYXVzZSB0aGF0IGlzIHdoZXJlIGNyb3NzLWNvbXBvbmVudCBtb3Rpb24gYWxyZWFkeSBsaXZlczpcbiAgIGV2ZXJ5IHYyIGNvbXBvbmVudCBkZXBlbmRzIG9uIGRlc2lnbi10b2tlbnMsIGJvMiBnZXRzIGl0IHRocm91Z2ggc3R5bGUtdjEuY3NzIGFuZCB0aGVcbiAgIFBXQSB0aHJvdWdoIHN5bmMtcHdhLWNvbXBvbmVudHMsIHNvIG5vIG5ldyBjb21wb25lbnQsIGRlcGVuZGVuY3kgb3IgcmVnaXN0cnkgZW50cnkuXG5cbiAgIEl0IGlzIGRlbGliZXJhdGVseSBDU1MtT05MWSBhbmQgc2hlbGwtYWdub3N0aWMuIFRoZSB0aHJlZSBjb25zdW1lcnMgc2l0IGluIGEgYm90dG9tXG4gICBzaGVldCwgaW4gYSBwb3BvdmVyIGFuZCBpbiBhIHBsYWluIHZpZXcsIGFuZCBlYWNoIGFscmVhZHkgb3ducyBpdHMgb3duIG9wZW4vY2xvc2VcbiAgIGZ1bmN0aW9uIC0gd2hhdCB3YXMgZHVwbGljYXRlZCBpcyB0aGUgZ2VvbWV0cnksIG5vdCB0aGUgbG9naWMuXG5cbiAgIE1BUktVUFxuICAgICA8ZGl2IGNsYXNzPVwicWRuYXByby1zbGlkZS1wYWdlcyBxZG5hcHJvLXNsaWRlLXBhZ2VzLS1hdXRvXCI+ICAgKG9yIC0tZnJhbWUpXG4gICAgICAgPGRpdiBjbGFzcz1cInFkbmFwcm8tc2xpZGUtcGFnZSBxZG5hcHJvLXNsaWRlLXBhZ2UtLWZpcnN0IGlzLWN1cnJlbnRcIj7igKY8L2Rpdj5cbiAgICAgICA8ZGl2IGNsYXNzPVwicWRuYXByby1zbGlkZS1wYWdlIHFkbmFwcm8tc2xpZGUtcGFnZS0tc2Vjb25kXCI+4oCmPC9kaXY+XG4gICAgIDwvZGl2PlxuICAgU1RBVEUgKHR3byBjbGFzcyB0b2dnbGVzLCBub3RoaW5nIGVsc2UpXG4gICAgIC0gaXMtc2Vjb25kIG9uIHRoZSB2aWV3cG9ydCB3aGlsZSBwYWdlIDIgaXMgc2hvd2luZ1xuICAgICAtIGlzLWN1cnJlbnQgb24gZXhhY3RseSBPTkUgcGFnZTogdGhlIG9uZSB5b3Ugc2VlXG4gICBUaGUgdHdvIGFyZSBzZXBhcmF0ZSBvbiBwdXJwb3NlOiBpcy1zZWNvbmQgc2F5cyB3aGljaCBESVJFQ1RJT04gdGhlIGZpcnN0IHBhZ2UgbGVhdmVzXG4gICBpbiwgaXMtY3VycmVudCBzYXlzIHdoaWNoIHBhZ2UgaXMgdmlzaWJsZS4gVG9nZ2xpbmcgb25seSBpcy1jdXJyZW50IHdvdWxkIHNsaWRlIHBhZ2UgMVxuICAgb3V0IHRvIHRoZSBSSUdIVCwgYW5kIHRoZW4gXCJiYWNrXCIgcmVhZHMgYXMgYW5vdGhlciBzdGVwIGZvcndhcmQuXG5cbiAgIFRXTyBIRUlHSFQgTU9ERVMsIGFuZCBwaWNraW5nIHRoZSB3cm9uZyBvbmUgaXMgdGhlIG9ubHkgcmVhbCB0cmFwIGhlcmU6XG4gICAgIC0tZnJhbWUgIHRoZSB2aWV3cG9ydCBoYXMgYSBoZWlnaHQgb2YgaXRzIG93biAoYSBzaGVldCB3aXRoIGEgZml4ZWQgZGV0ZW50KS4gRXZlcnlcbiAgICAgICAgICAgICAgcGFnZSBmaWxscyBpdDsgcGFnZSAxIHN0YXlzIGluIGZsb3cuIE5vdGhpbmcgaXMgZXZlciBtZWFzdXJlZC4gVXNlIHRoaXNcbiAgICAgICAgICAgICAgd2hlbmV2ZXIgeW91IGNhbiAtIHNlZSB0aGUgZml4ZWQtaGVpZ2h0IG5vdGUgaW4gdGhlIGJvdHRvbS1zaGVldHMgc2tpbGwgZm9yXG4gICAgICAgICAgICAgIHdoeSBtZWFzdXJpbmcgYSBzaGVldCdzIGNvbnRlbnQgaGVpZ2h0IHR1cm5lZCBpbnRvIHdoYWNrLWEtbW9sZS5cbiAgICAgLS1hdXRvICAgdGhlIHZpZXdwb3J0IGdyb3dzIHdpdGggaXRzIGNvbnRlbnQgKGEgZGlhbG9nIHRoYXQgbXVzdCBub3QgYmUgdGFsbGVyIHRoYW5cbiAgICAgICAgICAgICAgdGhlIGxpc3QgaXQgc2hvd3MpLiBUaGUgcGFnZSB5b3UgU0VFIGlzIGluIGZsb3cgYW5kIHNldHMgdGhlIGhlaWdodCwgdGhlXG4gICAgICAgICAgICAgIG90aGVyIGlzIHRha2VuIG91dCBvZiBmbG93IHNvIGl0IGNhbm5vdCBpbmZsYXRlIGl0LiBUaGUgY29uc3VtZXIgaXMgdGhlblxuICAgICAgICAgICAgICByZXNwb25zaWJsZSBmb3IgdGhlIGhlaWdodCBEVVJJTkcgdGhlIHNsaWRlOiB3aGlsZSBwYWdlIDIgaXMgdGFsbGVyIHRoYW5cbiAgICAgICAgICAgICAgcGFnZSAxLCB0aGUgdmlld3BvcnQganVtcHMgdG8gdGhlIG5ldyBoZWlnaHQgYXQgb25jZSBhbmQgb3ZlcmZsb3c6aGlkZGVuXG4gICAgICAgICAgICAgIGNsaXBzIHRoZSBsZWF2aW5nIHBhZ2UuIFBpbiBtaW4taGVpZ2h0IHRvIHRoZSB0YWxsZXIgb2YgdGhlIHR3byBmb3IgdGhlXG4gICAgICAgICAgICAgIGxlbmd0aCBvZiB0aGUgdHJhbnNpdGlvbiBhbmQgcmVsZWFzZSBpdCBhZnRlciAoc2VlXG4gICAgICAgICAgICAgIF9zbGlkZUNob29zZXJUb1N0ZXAgaW4gdGhlIFBXQSdzIDAtY29yZS5qcykuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5xZG5hcHJvLXNsaWRlLXBhZ2VzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvLyBPbmx5IHVzZWQgYnkgLS1hdXRvIGNvbnN1bWVycyB0aGF0IHBpbiBtaW4taGVpZ2h0IGR1cmluZyB0aGUgc2xpZGU7IGhhcm1sZXNzXG4gICAgLy8gb3RoZXJ3aXNlLCBhbmQgaXQgbGl2ZXMgaGVyZSBzbyB0aGV5IGNhbm5vdCBlYWNoIHBpY2sgYSBkaWZmZXJlbnQgZHVyYXRpb24uXG4gICAgdHJhbnNpdGlvbjogbWluLWhlaWdodCAwLjMycyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG59XG5cbi5xZG5hcHJvLXNsaWRlLXBhZ2Uge1xuICAgIC8vIFJlc3RpbmcgcG9zaXRpb24gb2YgYSBwYWdlIHRoYXQgaXMgbm90IHNob3dpbmc6IG91dCBvZiBmbG93LCBvZmYgdG8gdGhlIHJpZ2h0LlxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTA1JSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zMnMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpLCBvcGFjaXR5IDAuMzJzIGVhc2U7XG59XG5cbi5xZG5hcHJvLXNsaWRlLXBhZ2UuaXMtY3VycmVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi8qIFBhZ2UgMSBsZWF2ZXMgdG8gdGhlIExFRlQgaW5zdGVhZCBvZiB0byB0aGUgcmlnaHQsIGFuZCBmYWRlcyBGVUxMWSBvdXQgLSBhbnkgcmVzaWR1YWxcbiAgIG9wYWNpdHkgc2hvd3MgZ2hvc3Qgcm93cyB0aHJvdWdoIHBhZ2UgMiwgd2hpY2ggaXMgdHJhbnNwYXJlbnQgb3ZlciB0aGUgcGFuZWwuICovXG4ucWRuYXByby1zbGlkZS1wYWdlcy5pcy1zZWNvbmQgLnFkbmFwcm8tc2xpZGUtcGFnZS0tZmlyc3Q6bm90KC5pcy1jdXJyZW50KSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yOCUpO1xufVxuXG4vKiAtLWZyYW1lOiB0aGUgdmlld3BvcnQgYnJpbmdzIGl0cyBvd24gaGVpZ2h0LiAqL1xuLnFkbmFwcm8tc2xpZGUtcGFnZXMtLWZyYW1lIC5xZG5hcHJvLXNsaWRlLXBhZ2UgeyBoZWlnaHQ6IDEwMCU7IH1cbi5xZG5hcHJvLXNsaWRlLXBhZ2VzLS1mcmFtZSAucWRuYXByby1zbGlkZS1wYWdlLS1maXJzdCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiAtLWF1dG86IHRoZSBwYWdlIHlvdSBzZWUgaXMgaW4gZmxvdywgc28gdGhlIHZpZXdwb3J0IGlzIGFzIHRhbGwgYXMgdGhhdCBwYWdlIGFuZCBub1xuICAgdGFsbGVyLiBTcGVjaWZpY2l0eSAwLDMsMCwgc28gaXQgYmVhdHMgdGhlIG91dC1vZi1mbG93IGJhc2UgcnVsZS4gKi9cbi5xZG5hcHJvLXNsaWRlLXBhZ2VzLS1hdXRvIC5xZG5hcHJvLXNsaWRlLXBhZ2UuaXMtY3VycmVudCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5xZG5hcHJvLXNsaWRlLXBhZ2VzLFxuICAgIC5xZG5hcHJvLXNsaWRlLXBhZ2UgeyB0cmFuc2l0aW9uOiBub25lOyB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcblxuJGJ0bi1za2luczogKFxuICAgIFwicHJpbWFyeVwiOiAoYmFzZTogIzQwNDk5YSxcbiAgICAgICAgaG92ZXI6ICMzMzNBN0IsXG4gICAgICAgIGFjdGl2ZTogIzcwNzVhMixcbiAgICAgICAgZm9jdXM6ICM0MDQ5OWEsXG4gICAgICAgIGZvY3VzLW91dGxpbmU6ICM0MDQ5OWEsXG4gICAgICAgIGRpc2FibGVkOiAjZjBmMWYyLFxuICAgICAgICB0ZXh0OiAjRkZGRkZGLFxuICAgICAgICB0ZXh0LWRpc2FibGVkOiAjODk4ZTk5LFxuICAgICAgICBib3JkZXI6IHRyYW5zcGFyZW50LFxuICAgICAgICBib3JkZXItZGlzYWJsZWQ6IHRyYW5zcGFyZW50LFxuICAgICksXG4gICAgXCJvcmFuZ2VcIjogKGJhc2U6ICNlZjhlMDIsXG4gICAgICAgIGhvdmVyOiAjYmY3MjAyLFxuICAgICAgICBhY3RpdmU6ICNkMjljNGQsXG4gICAgICAgIGZvY3VzOiAjZWY4ZTAyLFxuICAgICAgICBmb2N1cy1vdXRsaW5lOiAjZWY4ZTAyLFxuICAgICAgICBkaXNhYmxlZDogI2YwZjFmMixcbiAgICAgICAgdGV4dDogI0ZGRkZGRixcbiAgICAgICAgdGV4dC1kaXNhYmxlZDogIzg5OGU5OSxcbiAgICAgICAgYm9yZGVyOiB0cmFuc3BhcmVudCxcbiAgICAgICAgYm9yZGVyLWRpc2FibGVkOiB0cmFuc3BhcmVudCxcbiAgICApLFxuICAgIFwic3VidGxlXCI6IChiYXNlOiB0cmFuc3BhcmVudCxcbiAgICAgICAgaG92ZXI6ICNGMEYxRjIsXG4gICAgICAgIGFjdGl2ZTogI2Y0ZjVmNixcbiAgICAgICAgZm9jdXM6ICNmMGYxZjIsXG4gICAgICAgIGZvY3VzLW91dGxpbmU6ICMwQjBCMEQsXG4gICAgICAgIGRpc2FibGVkOiB0cmFuc3BhcmVudCwgLy8gYXNrIGlmIHRoaXMgc2hvdWxkIGJlIHdoaXRlIG9yIHRyYW5zcGFyYW50XG4gICAgICAgIHRleHQ6ICMwQjBCMEQsXG4gICAgICAgIHRleHQtZGlzYWJsZWQ6ICM4OThlOTksXG4gICAgICAgIGJvcmRlcjogdHJhbnNwYXJlbnQsXG4gICAgICAgIGJvcmRlci1kaXNhYmxlZDogdHJhbnNwYXJlbnQsXG4gICAgKSxcbiAgICBcInNlY29uZGFyeVwiOiAoYmFzZTogI2YwZjFmMixcbiAgICAgICAgaG92ZXI6ICNjNGM3Y2MsXG4gICAgICAgIGFjdGl2ZTogI2Q2ZDhkYixcbiAgICAgICAgZm9jdXM6ICNmMGYxZjIsXG4gICAgICAgIGZvY3VzLW91dGxpbmU6ICMwQjBCMEQsXG4gICAgICAgIGRpc2FibGVkOiAjZjBmMWYyLFxuICAgICAgICB0ZXh0OiAjMEIwQjBELFxuICAgICAgICB0ZXh0LWRpc2FibGVkOiAjODk4ZTk5LFxuICAgICAgICBib3JkZXI6IHRyYW5zcGFyZW50LFxuICAgICAgICBib3JkZXItZGlzYWJsZWQ6IHRyYW5zcGFyZW50LFxuICAgICksXG4gICAgXCJzZWNvbmRhcnktb3V0bGluZVwiOiAoYmFzZTogI2U2ZTlmZixcbiAgICAgICAgaG92ZXI6ICNkYWRkZjIsXG4gICAgICAgIGFjdGl2ZTogI2U1ZTdmNixcbiAgICAgICAgZm9jdXM6ICNlNmU5ZmYsXG4gICAgICAgIGZvY3VzLW91dGxpbmU6ICM0MDQ5OUEsXG4gICAgICAgIGRpc2FibGVkOiAjZjBmMWYyLFxuICAgICAgICB0ZXh0OiAjNDA0OTlBLFxuICAgICAgICB0ZXh0LWRpc2FibGVkOiAjODk4ZTk5LFxuICAgICAgICBib3JkZXI6ICM0MDQ5OUEsXG4gICAgICAgIGJvcmRlci1kaXNhYmxlZDogdHJhbnNwYXJlbnQsXG4gICAgKSxcbiAgICBcInNlY29uZGFyeS13aGl0ZVwiOiAoYmFzZTogdHJhbnNwYXJlbnQsXG4gICAgICAgIGhvdmVyOiAjZGFkZGYyLFxuICAgICAgICBhY3RpdmU6ICNlNWU3ZjYsXG4gICAgICAgIGZvY3VzOiAjZTZlOWZmLFxuICAgICAgICBmb2N1cy1vdXRsaW5lOiAjMEIwQjBELFxuICAgICAgICBkaXNhYmxlZDogdHJhbnNwYXJlbnQsXG4gICAgICAgIHRleHQ6ICM0MDQ5OUEsXG4gICAgICAgIHRleHQtZGlzYWJsZWQ6ICM4OThlOTksXG4gICAgICAgIGJvcmRlcjogdHJhbnNwYXJlbnQsXG4gICAgICAgIGJvcmRlci1kaXNhYmxlZDogdHJhbnNwYXJlbnQsXG4gICAgKSxcbiAgICBcInNlY29uZGFyeS1wdXJwbGVcIjogKGJhc2U6ICNlNmU5ZmYsXG4gICAgICAgIGhvdmVyOiAjZGFkZGYyLFxuICAgICAgICBhY3RpdmU6ICNlNWU3ZjYsXG4gICAgICAgIGZvY3VzOiAjZTZlOWZmLFxuICAgICAgICBmb2N1cy1vdXRsaW5lOiAjMEIwQjBELFxuICAgICAgICBkaXNhYmxlZDogI2YwZjFmMixcbiAgICAgICAgdGV4dDogIzQwNDk5QSxcbiAgICAgICAgdGV4dC1kaXNhYmxlZDogIzg5OGU5OSxcbiAgICAgICAgYm9yZGVyOiB0cmFuc3BhcmVudCxcbiAgICAgICAgYm9yZGVyLWRpc2FibGVkOiB0cmFuc3BhcmVudCxcblxuICAgICksXG4gICAgXCJ3YXJuaW5nXCI6IChiYXNlOiAjZjBmMWYyLFxuICAgICAgICBob3ZlcjogI2M0YzdjYyxcbiAgICAgICAgYWN0aXZlOiAjZDZkOGRiLFxuICAgICAgICBmb2N1czogI2M0YzdjYyxcbiAgICAgICAgZm9jdXMtb3V0bGluZTogIzBCMEIwRCxcbiAgICAgICAgZGlzYWJsZWQ6ICNmMGYxZjIsXG4gICAgICAgIHRleHQ6ICNDNjVBNUEsXG4gICAgICAgIHRleHQtZGlzYWJsZWQ6ICM4OThlOTksXG4gICAgICAgIGJvcmRlcjogdHJhbnNwYXJlbnQsXG4gICAgICAgIGJvcmRlci1kaXNhYmxlZDogdHJhbnNwYXJlbnQsXG5cbiAgICApLFxuXG4pO1xuXG4kZGVmYXVsdC1za2luOiAncHJpbWFyeSc7XG5cblxuXG4uYnRuIHtcbiAgICAkZGVmYXVsdC1jb2xvcnM6IG1hcC5nZXQoJGJ0bi1za2lucywgJGRlZmF1bHQtc2tpbik7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBnYXA6IDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRkZWZhdWx0LWNvbG9ycywgYmFzZSk7XG4gICAgY29sb3I6IG1hcC5nZXQoJGRlZmF1bHQtY29sb3JzLCB0ZXh0KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJGRlZmF1bHQtY29sb3JzLCBib3JkZXIpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuXG4gICAgJi5idG4tc2l6ZS1zbSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG5cbiAgICB9XG5cbiAgICAmOmZvY3Vze1xuICAgICAgICBvdXRsaW5lOjA7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmLmJ0bi1zdGF0ZS1ob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJGRlZmF1bHQtY29sb3JzLCBob3Zlcik7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlLFxuICAgICYuYnRuLXN0YXRlLWZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkZGVmYXVsdC1jb2xvcnMsIGZvY3VzKTtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIG1hcC5nZXQoJGRlZmF1bHQtY29sb3JzLCBmb2N1cy1vdXRsaW5lKTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmLmJ0bi1zdGF0ZS1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRkZWZhdWx0LWNvbG9ycywgYWN0aXZlKTtcbiAgICB9XG5cblxuXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmLmJ0bi1zdGF0ZS1kaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJGRlZmF1bHQtY29sb3JzLCBkaXNhYmxlZCk7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCRkZWZhdWx0LWNvbG9ycywgdGV4dC1kaXNhYmxlZCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLmdldCgkZGVmYXVsdC1jb2xvcnMsIGJvcmRlci1kaXNhYmxlZCk7XG5cbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAmLmJ0bi1zcXVhcmUge1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICB9XG5cbn1cblxuLyogXG4gKiBNYWtlIHNraW5zIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBjb2xvcnMgYXQgdGhlIHRvcFxuICogdGhlIHNraW5zIGFyZSBwbGFjZWQgaW4gLmJ0bi17c2tpbi1uYW1lfVxuICovXG5AZWFjaCAkbmFtZSwgJGNvbG9ycyBpbiAkYnRuLXNraW5zIHtcbiAgICAuYnRuLWNvbG9yLSN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgICAgY29sb3I6IG1hcC5nZXQoJGNvbG9ycywgdGV4dCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC5nZXQoJGNvbG9ycywgYm9yZGVyKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmJ0bi1zdGF0ZS1ob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRjb2xvcnMsIGhvdmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSxcbiAgICAgICAgJi5idG4tc3RhdGUtZm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkY29sb3JzLCBmb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiBtYXAuZ2V0KCRjb2xvcnMsIGZvY3VzLW91dGxpbmUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICYuYnRuLXN0YXRlLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRjb2xvcnMsIGFjdGl2ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmLmJ0bi1zdGF0ZS1kaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRjb2xvcnMsIGRpc2FibGVkKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAuZ2V0KCRjb2xvcnMsIHRleHQtZGlzYWJsZWQpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAuZ2V0KCRjb2xvcnMsIGJvcmRlci1kaXNhYmxlZCk7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG4gICAgfVxufSIsIlxucWRuYS1pbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxucWRuYS1pbnB1dCAuaW5wdXQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpoYXMoaW5wdXQtcHJlZml4KSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIH1cbn1cblxucWRuYS1pbnB1dCAuaW5wdXQtYm94IHtcbiAgICBmbGV4OiAxO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6ICMwQjBCMEQ7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxucWRuYS1pbnB1dCAuaW5wdXQtYm94OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNhNmFhYjM7XG59XG5cbnFkbmEtaW5wdXRbc2l6ZT1cInNtXCJdIC5pbnB1dC13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtO1xuXG4gICAgJjpoYXMoaW5wdXQtcHJlZml4KSB7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICB9XG59XG5cbnFkbmEtaW5wdXQ6aG92ZXIgLmlucHV0LXdyYXBwZXIsXG5xZG5hLWlucHV0W3N0YXRlPVwiaG92ZXJcIl0gLmlucHV0LXdyYXBwZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzQwNDk5QTtcbn1cblxucWRuYS1pbnB1dFtzdGF0ZT1cImZvY3VzXCJdIC5pbnB1dC13cmFwcGVyIHtcbiAgICBib3JkZXItY29sb3I6ICM0MDQ5OUE7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNjQsIDczLCAxNTQsIDAuMSk7XG59XG5cbnFkbmEtaW5wdXRbc3RhdGU9XCJzdWNjZXNzXCJdIC5pbnB1dC13cmFwcGVyIHtcbiAgICBib3JkZXItY29sb3I6ICM0MjhCNkU7XG59XG5cbnFkbmEtaW5wdXRbc3RhdGU9XCJlcnJvclwiXSAuaW5wdXQtd3JhcHBlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjQzY1QTVBO1xufVxuXG5xZG5hLWlucHV0W2Rpc2FibGVkXSAuaW5wdXQtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjFGMjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjODk4RTk5O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbnFkbmEtaW5wdXRbZGlzYWJsZWRdIC5pbnB1dC1ib3gge1xuICAgIGNvbG9yOiAjODk4RTk5O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbnFkbmEtaW5wdXQgLmlucHV0LWljb24tcHJlZml4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBjb2xvcjogIzY2Njtcbn1cblxucWRuYS1pbnB1dCAuaW5wdXQtZXh0ZXJuYWwtcHJlZml4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbn1cblxucWRuYS1pbnB1dCAuaW5wdXQtY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NTtcbiAgICBjb2xvcjogIzc3NztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnFkbmEtaW5wdXRbZmlsbGVkXVtjbGVhcmFibGVdIC5pbnB1dC1jbGVhcixcbnFkbmEtaW5wdXRbZmlsbGVkXVtjbGVhcmFibGU9XCJ0cnVlXCJdIC5pbnB1dC1jbGVhciB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxucWRuYS1pbnB1dFtkaXNhYmxlZF0gLmlucHV0LWNsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgY29sb3I6ICNjY2M7XG59XG5cbnFkbmEtaW5wdXQucWRuYS1pbnB1dC1hcy10ZXh0IC5pbnB1dC13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbnFkbmEtaW5wdXQucWRuYS1pbnB1dC1hcy10ZXh0IC5pbnB1dC1ib3gge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgIH1cbn1cblxuLmlucHV0LWRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQzRDN0NDO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiAxMDAwO1xufVxuXG4uaW5wdXQtZHJvcGRvd24ub3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pbnB1dC13cmFwcGVyLmRyb3Bkb3duLW9wZW4ge1xuICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xufVxuXG5yb3ctaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxucm93LWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGNUY2RkE7XG59XG5cbmRyb3Bkb3duLXJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFMEUwRTA7XG59XG5cbmRyb3Bkb3duLXJvdzpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG5xZG5hLWlucHV0W3R5cGU9XCJjaGVja2JveFwiXSAuaW5wdXQtd3JhcHBlciB7XG4gICAgYWxsOiB1bnNldDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDRweCA2cHg7IFxuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxucWRuYS1pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gLmlucHV0LWJveCB7XG4gICAgYWxsOiByZXZlcnQ7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYWNjZW50LWNvbG9yOiAjNDA0OTlBO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxucWRuYS1pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gLmNoZWNrYm94LWxhYmVsIHtcbiAgICBhbGw6IHVuc2V0O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzBCMEIwRDtcbiAgICBsaW5lLWhlaWdodDogMTsgXG59XG5cbnFkbmEtaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdW2Rpc2FibGVkXSAuaW5wdXQtd3JhcHBlciB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59IiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cblxuJGxhYmVsLXNraW5zOiAoXG4gICAgXCJwcmltYXJ5XCI6IChiYXNlOiAjRjNGN0ZDLFxuICAgICAgICB0ZXh0OiAjNEY2ODg3LFxuICAgICAgICBib3JkZXI6ICM0RjY4ODcsXG4gICAgKSxcbiAgICBcInllbGxvd1wiOiAoYmFzZTogI0ZFRURCOCxcbiAgICAgICAgdGV4dDogIzk3N0YyRSxcbiAgICAgICAgYm9yZGVyOiAjOTc3RjJFLFxuICAgICksXG4gICAgXCJyZWRcIjogKGJhc2U6ICNmZWUzZTMsXG4gICAgICAgIHRleHQ6ICNjNjVhNWEsXG4gICAgICAgIGJvcmRlcjogI2M2NWE1YSxcbiAgICApLFxuICAgIFwiZ3JlZW5cIjogKGJhc2U6ICNjNWY1ZTIsXG4gICAgICAgIHRleHQ6ICM0MjhiNmUsXG4gICAgICAgIGJvcmRlcjogIzQyOGI2ZSxcbiAgICApLFxuICAgIFwic2Vjb25kYXJ5XCI6IChiYXNlOiAjZjBmMWYyLFxuICAgICAgICB0ZXh0OiAjNmI3MjgwLFxuICAgICAgICBib3JkZXI6ICM2YjcyODAsXG4gICAgKSxcbiAgICBcImJsdWVcIjogKGJhc2U6ICNlY2VkZjUsXG4gICAgICAgIHRleHQ6ICM0MDQ5OWEsXG4gICAgICAgIGJvcmRlcjogIzQwNDk5YSxcbiAgICApLFxuICAgIFwiYmx1ZS0yXCI6IChiYXNlOiAjZmZmZmZmLFxuICAgICAgICB0ZXh0OiAjNDA0OTlhLFxuICAgICAgICBib3JkZXI6ICM0MDQ5OWEsXG4gICAgKSxcbik7XG5cbi5pbWFnZS1jaXJjbGUtcmF0aW97XG4gICAgd2lkdGg6IDI5cHg7XG4gICAgaGVpZ2h0OiAyOXB4O1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoaW5maW5pdHkqMXB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbi5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBnYXA6IDAuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAmLmxhYmVsLW91dGxpbmUge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5sYWJlbC1zbXtcbiAgICAgICAgcGFkZGluZzogMHJlbSAwLjVyZW07XG4gICAgfVxuICAgICYtaWNvbi1wcmVmaXgge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgfVxufVxuXG5AZWFjaCAkbmFtZSwgJGNvbG9ycyBpbiAkbGFiZWwtc2tpbnMge1xuICAgIC5sYWJlbC0jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC5nZXQoJGNvbG9ycywgYmFzZSk7XG4gICAgICAgIGNvbG9yOiBtYXAuZ2V0KCRjb2xvcnMsIHRleHQpO1xuXG4gICAgICAgICYubGFiZWwtb3V0bGluZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkY29sb3JzLCBiYXNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubGFiZWwtYm9yZGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLmdldCgkY29sb3JzLCBib3JkZXIpO1xuICAgICAgICB9XG5cbiAgICB9XG5cblxufSIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4kYmFkZ2Utc2tpbnM6IChcbiAgICBcInByaW1hcnlcIjogKGJhc2U6ICM0MDQ5OWEsXG4gICAgICAgIHRleHQ6ICNmZmZmZmYsXG4gICAgICAgIGJvcmRlcjogIzQwNDk5YSxcbiAgICApLFxuICAgIFwicHVycGxlXCI6IChiYXNlOiAjZTZlOWZmLFxuICAgICAgICB0ZXh0OiAjNDA0OTlhLFxuICAgICAgICBib3JkZXI6ICM0MDQ5OWEsXG4gICAgKSxcbiAgICBcInllbGxvd1wiOiAoYmFzZTogI0ZFRURCOCxcbiAgICAgICAgdGV4dDogIzk3N0YyRSxcbiAgICAgICAgYm9yZGVyOiAjOTc3RjJFLFxuICAgICksXG4gICAgXCJncmV5XCI6IChiYXNlOiAjZDNkNWQ5LFxuICAgICAgICB0ZXh0OiAjNmI3MjgwLFxuICAgICAgICBib3JkZXI6ICM2YjcyODAsXG4gICAgKSxcbiAgICBcInJlZFwiOiAoYmFzZTogI2ZlZjFmMSxcbiAgICAgICAgdGV4dDogI2M2NWE1YSxcbiAgICAgICAgYm9yZGVyOiAjYzY1YTVhLFxuICAgICksXG4gICAgXCJ0cmFuc3BhcmVudFwiOiAoYmFzZTogdHJhbnNwYXJlbnQsXG4gICAgICAgIHRleHQ6ICM2YjcyODAsXG4gICAgICAgIGJvcmRlcjogdHJhbnNwYXJlbnQsXG4gICAgKSxcblxuKTtcblxuXG4uYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICM0MDQ5OUE7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjQzOHJlbTtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG5cbiAgICBjb2xvcjogI0ZGRjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvcnMgaW4gJGJhZGdlLXNraW5zIHtcbiAgICAgICAgJi5iYWRnZS0jeyRuYW1lfSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC5nZXQoJGNvbG9ycywgdGV4dCk7XG5cbiAgICAgICAgICAgICYuYmFkZ2Utb3V0bGluZXtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC5nZXQoJGNvbG9ycywgYm9yZGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbi5pbmRpY2F0b3ItYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgIGJhY2tncm91bmQ6ICNmZjNhMzA7XG4gICAgYm9yZGVyLXJhZGl1czogMy4xM3JlbTtcblxuICAgIGNvbG9yOiAjRkZGO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgJi5iYWRnZS1zbSB7XG4gICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgfVxuXG4gICAgJi5iYWRnZS14cyB7XG4gICAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgICBmb250LXNpemU6IDByZW07XG4gICAgfVxuXG4gICAgJi5iYWRnZS1kb3Qge1xuICAgICAgICBmb250LXNpemU6IDByZW07XG5cbiAgICB9XG59IiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cblxuJHRhZ3Mtc2tpbnM6IChcbiAgICBcImdyYXlcIjogKGJhc2U6ICNmMGYxZjIsXG4gICAgICAgIGZpbGxlZC1iYXNlOiAjYzRjN2NjLFxuICAgICAgICB0ZXh0OiAjMWUxZjIwLFxuICAgICAgICBib3JkZXI6ICM2YjcyODAsXG4gICAgKSxcblxuICAgIFwicmVkXCI6IChiYXNlOiAjZmVlM2UzLFxuICAgICAgICBmaWxsZWQtYmFzZTogI2ZiYWFhYSxcblxuICAgICAgICB0ZXh0OiAjNjMzMDMwLFxuICAgICAgICBib3JkZXI6ICNjNjVhNWEsXG4gICAgKSxcbiAgICBcInllbGxvd1wiOiAoYmFzZTogI2ZlZjZkYixcbiAgICAgICAgZmlsbGVkLWJhc2U6ICNmZGU1OTQsXG5cbiAgICAgICAgdGV4dDogIzY1NTUyMixcbiAgICAgICAgYm9yZGVyOiAjOTc3RjJFLFxuICAgICksXG4gICAgXCJncmVlblwiOiAoYmFzZTogI2UyZmFmMSxcbiAgICAgICAgZmlsbGVkLWJhc2U6ICM4YmVjYzUsXG5cbiAgICAgICAgdGV4dDogIzJmNWQ0YSxcbiAgICAgICAgYm9yZGVyOiAjNDI4YjZlLFxuICAgICksXG4gICAgXCJibHVlXCI6IChiYXNlOiAjZTZlZmY5LFxuICAgICAgICBmaWxsZWQtYmFzZTogI2I1Y2VlZCxcblxuICAgICAgICB0ZXh0OiAjMzc0NzVhLFxuICAgICAgICBib3JkZXI6ICMzNzQ3NWEsXG4gICAgKSxcbiAgICBcImRhcmstYmx1ZVwiOiAoYmFzZTogI2Q2ZTBmOSxcbiAgICAgICAgZmlsbGVkLWJhc2U6ICM4NWExZWMsXG5cbiAgICAgICAgdGV4dDogIzE5MmE1YSxcbiAgICAgICAgYm9yZGVyOiAjNDA0OTlhLFxuICAgICksXG4gICAgXCJwaW5rXCI6IChiYXNlOiAjZjZlMWU4LFxuICAgICAgICBmaWxsZWQtYmFzZTogI2U1YTZiOSxcblxuICAgICAgICB0ZXh0OiAjNTYyZDNhLFxuICAgICAgICBib3JkZXI6ICM1NjJkM2EsXG4gICAgKSxcbiAgICBcInB1cnBsZVwiOiAoYmFzZTogI2ViZTlmYixcbiAgICAgICAgZmlsbGVkLWJhc2U6ICNjNGJjZjMsXG5cbiAgICAgICAgdGV4dDogIzQxM2I1ZSxcbiAgICAgICAgYm9yZGVyOiAjNDEzYjVlLFxuICAgICksXG5cblxuKTtcblxuLnRhZyB7XG5cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYxZjI7XG4gICAgY29sb3I6ICMxZTFmMjA7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNi4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjg3NXJlbTtcblxuICAgIGdhcDogMC40NzVyZW07XG5cblxuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAmLnRhZy1maWxsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjN2NjO1xuICAgICAgICBjb2xvcjogIzFlMWYyMDtcbiAgICB9XG5cbiAgICAmLnRhZy1zbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgcGFkZGluZzogMHJlbSAwLjVyZW07XG4gICAgICAgIGdhcDogMC4yNXJlbTtcblxuICAgIH1cbn1cblxuQGVhY2ggJG5hbWUsICRjb2xvcnMgaW4gJHRhZ3Mtc2tpbnMge1xuICAgIC50YWctI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAuZ2V0KCRjb2xvcnMsIGJhc2UpO1xuICAgICAgICBjb2xvcjogbWFwLmdldCgkY29sb3JzLCB0ZXh0KTtcblxuICAgICAgICAmLnRhZy1maWxsZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLmdldCgkY29sb3JzLCBmaWxsZWQtYmFzZSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLmdldCgkY29sb3JzLCB0ZXh0KTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG5cbi8vdmFyaWFudD1jaXJjbGVcbi50YWctY2lyY2xlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgcGFkZGluZzogMnB4IDE0cHg7XG4gIGdhcDogOHB4O1xuXG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMDtcblxuICAmOm5vdChbY2xhc3MqPVwidGFnLVwiXSkge1xuICAgIGJhY2tncm91bmQ6ICNDNEM3Q0M7XG4gICAgY29sb3I6ICMxZTFmMjA7XG4gIH1cblxuICAmLnRhZy1zbSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgIGdhcDogNHB4O1xuICB9XG5cbiAgLnRhZy1pY29uLXByZWZpeCxcbiAgLnRhZy1pY29uLXN1ZmZpeCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgJjpub3QoLnRhZy1zbSkge1xuICAgIC50YWctaWNvbi1wcmVmaXgge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTNweDtcbiAgICAgIHRvcDogLTNweDtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJi50YWctc20ge1xuICAgIC50YWctaWNvbi1wcmVmaXgge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbiAgfVxufSIsIkB1c2UgXCIuLi8uLi9tb2R1bGVzL3YxL2NvbG9yc1wiO1xuXG4ucWRuYS1zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvcnMuJHB1cnBsZS01MDA7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgLnNpZGViYXItbG9nbyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICB9XG5cbiAgICAuc2lkZWJhci1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5zaWRlYmFyLWl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM2NjZkYWU7XG5cblxuICAgICAgICAuc2lkZWJhci1pdGVtIHtcbiAgICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwNHB4O1xuXG4gICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgICAgICAtd2Via2l0LW1hc2s6IHZhcigtLWljb24pIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICAgICAgICAgIG1hc2s6IHZhcigtLWljb24pIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaXRlbS10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNpZGViYXItaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIGJhZGdlIG5pZXQga2xpa2JhYXIsIGl0ZW0gd2VsXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9ycy4kcHVycGxlLTYwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9ycy4kbGlnaHQtcHVycGxlLTEwMDtcblxuICAgICAgICAgICAgICAgIC5pdGVtLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA0OTlhO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcnMuJGxpZ2h0LXB1cnBsZS0xMDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBjb2xvcnMuJHB1cnBsZS02MDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lkZWJhci1mb290ZXIge1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCJAdXNlIFwiLi4vLi4vbW9kdWxlcy92MS9jb2xvcnNcIjtcbkB1c2UgXCIuLi8uLi9tb2R1bGVzL3YxL3R5cG9ncmFwaHlcIjtcblxucWRuYS1kcm9wZG93biB7XG5cbiAgICBkcm9wZG93biB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCA0cHg7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDEycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgNHB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4zMCk7XG5cbiAgICAgICAgLnFkbmEtZHJvcGRvd24tbWVudSB7XG4gICAgICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIC5tZW51LWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogMTJweDtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllOWU5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pdGVtLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5pdGVtLWRhbmdlcntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNDNjVBNUE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWVudS1kaXZpZGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjQzRDN0NDO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIgQHVzZSBcInNhc3M6bWFwXCI7XG4gICBcbnFkbmEtZGlhbG9nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxucWRuYS1kaWFsb2dbb3Blbl0ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnFkbmEtZGlhbG9nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4ucWRuYS1kaWFsb2cge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIG1heC13aWR0aDogOTAlO1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwwLDAsMC4zKTtcbn1cblxuLnFkbmEtZGlhbG9nLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxucWRuYS1kaWFsb2cgcWRuYS1idXR0b24ge1xuICBtYXJnaW46IDVweDtcbn0iLCJAdXNlIFwic2FzczptYXBcIjtcblxucWRuYS1uYXYtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCAycHggI0UwRTBFMDtcbiAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6dmlzaWJsZTsgLy9mb3IgdG9vbHRpcCB1c2VcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5uYXZpZ2F0aW9uLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0NDQztcbiAgcGFkZGluZzogMTJweCA4cHg7XG4gIGdhcDogNHB4O1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9XG59XG5cbi5uYXYtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDEycHg7XG59XG5cbi5uYXYtbGVmdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIFxufVxuXG5uYXZpZ2F0aW9uLWdyb3VwW3R5cGU9XCJkb2MtcHJldmlld1wiXSAubmF2LWxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0UwRTBFMDtcbn1cblxuLm5hdi1yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xufVxuXG4ubmF2LWF2YXRhciB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5uYXYtdXNlcm5hbWUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4ubmF2LXBhZ2UtY3VycmVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDMycHg7ICBcbiAgcGFkZGluZzogMCAxMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm5hdi1wYWdlLXNlcGFyYXRvciB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi5uYXYtcGFnZS10b3RhbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgIGNvbG9yOiAjOTk5O1xufVxuXG5cblxubmF2aWdhdGlvbi1saW5rIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZCAwLjJzO1xuICBwYWRkaW5nOiA0cHggMTJweCAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjNDA0OTlhO1xuICAgIGJhY2tncm91bmQ6ICNFRkVGRUY7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxuXG4gICZbYWN0aXZlXSB7XG4gICAgYmFja2dyb3VuZDogI2U2ZTlmZjtcbiAgICBjb2xvcjogIzQwNDk5YTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA0OTlhO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGlua19fYXJyb3cge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGlua19faWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cblxuICAubmF2LWxpbmtfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuJltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC43O1xuXG4gIGNvbG9yOiAjOWU5ZTllO1xuXG4gIC5uYXYtbGlua19faWNvbixcbiAgLm5hdi1saW5rX19hcnJvdyxcbiAgLm5hdi1iYWRnZSB7XG4gICAgY29sb3I6ICNiZGJkYmQ7XG4gIH1cbn1cblxuJltkaXNhYmxlZF1bYWN0aXZlXSB7XG4gIGJhY2tncm91bmQ6ICNlNmU5ZmY7XG4gIGNvbG9yOiAjOWU5ZTllO1xuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRiZGJkO1xuICB9XG5cbiAgLm5hdi1saW5rX19pY29uLFxuICAubmF2LWxpbmtfX2Fycm93IHtcbiAgICBjb2xvcjogI2JkYmRiZDtcbiAgfVxuXG4gIC5uYXYtYmFkZ2Uge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxufVxuXG4gIFxuICAubmF2LWxpbmtfX2ljb24td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAubmF2LWJhZGdlIHtcbiBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC01MCUpO1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBwYWRkaW5nOiAwO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGZvbnQtc2l6ZTogOXB4OyBcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogI2ZmZjtcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5uYXYtYmFkZ2UtLXJlZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmNGQ0ZjtcbiAgfVxuICAubmF2LWJhZGdlLS1oaWdobGlnaHQge1xuICAgIGJhY2tncm91bmQ6ICM0MDQ5OWE7XG4gIH1cbiAgLm5hdi1iYWRnZS0tZG90IHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIG1pbi13aWR0aDogOHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG4gICYubmF2LWxpbmstLXNtIHtcbiAgICAubmF2LWJhZGdlIHtcbiAgICAgIHRvcDogLTJweDtcbiAgICAgIHJpZ2h0OiAtNHB4O1xuICAgICAgbWluLXdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgfVxuXG4gICAgLm5hdi1iYWRnZS0tZG90IHtcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICAgIG1pbi13aWR0aDogNnB4O1xuICAgIH1cbiAgfVxuICAmW2Rpc2FibGVkXSAubmF2LWJhZGdlIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbn1cblxuLyogRHJvcGRvd246IGdlYnJ1aWt0IGRvb3IgTmF2aWdhdGlvbkdyb3VwIChjbGFzcyB0b2VnZXZvZWdkIGluIEpTKSAqL1xuLm5hdi1kcm9wZG93biB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDtcblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLyogZmFsbGJhY2s6IGFscyBlciBub2cgb3VkZSBtYXJrdXAgbGVlZnQgKi9cbi8vIHFkbmEtZHJvcGRvd24gPiBkcm9wZG93biB7XG4vLyAgIGRpc3BsYXk6IG5vbmU7XG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgei1pbmRleDogMTAwMDtcbi8vIH1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4ucWRuYS1tb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OTk7XG59XG5cbi5xZG5hLW1vZGFsLW92ZXJsYXkub3BlbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5xZG5hLW1vZGFsIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gXG4gIGJveC1zaGFkb3c6IDAgMTBweCAyNXB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiBTaXplcyAqL1xuXG4ubW9kYWwtc20ge1xuICB3aWR0aDogNDAwcHg7XG59XG5cbi5tb2RhbC1tZCB7XG4gIHdpZHRoOiA3MDBweDtcbn1cblxuLm1vZGFsLWxnIHtcbiAgd2lkdGg6IDEwMDBweDtcbn1cblxuLm1vZGFsLXhsIHtcbiAgd2lkdGg6IDkwJTtcbiAgaGVpZ2h0OiA5MCU7XG59XG5tb2RhbC1oZWFkZXIsIG1vZGFsLWJvZHksIG1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG5cbm1vZGFsLWhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uY2xvc2UtYnRuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbm1vZGFsLWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4kY2FyZC1za2luczogKFxuICAgIFwiZGVmYXVsdFwiOiAoYmc6ICNmZmZmZmYpLFxuICAgIFwicHVycGxlXCI6IChiZzogI0RBRERGMiksXG4pO1xuXG4ucWRuYS1jYXJkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3JzIGluICRjYXJkLXNraW5zIHtcbiAgICAgICAgJi5xZG5hLWNhcmQtLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC5nZXQoJGNvbG9ycywgYmcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiBjYXJkLWhlYWRlci5xZG5hLWNhcmRfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGNvbG9yOiAjNDA0OTlBO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q5REJFQjtcblxuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IGNhcmQtaGVhZGVyLnFkbmEtY2FyZF9faGVhZGVyPmNhcmQtYWN0aW9ucy5xZG5hLWNhcmRfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgID4gY2FyZC1ib2R5LnFkbmEtY2FyZF9fYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtIDJyZW0gMS41cmVtO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIH1cblxuICAgIC5jYXJkLWZvcm0tc2VjdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjMEIwQjBEO1xuICAgICAgICBmb250LWZhbWlseTogSW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAuY2FyZC1mb3JtLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMEIwQjBEO1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDBweCA0cHggMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5vbl9lZGl0YWJsZV9maWVsZCBpbnB1dDpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi50cy1jYXJkLWxpc3QtZ3JvdXAgLmZvcm0tY29udHJvbDpkaXNhYmxlZCxcbi50cy1jYXJkLWxpc3QtZ3JvdXAgLmZvcm0tY29udHJvbFtyZWFkb25seV0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi50cy1jYXJkLWxpc3QtZ3JvdXAge1xuXHRidXR0b24ge1xuXHRcdCYuZm9ybS1jb250cm9sIHtcblx0XHRcdCY6ZGlzYWJsZWQge1xuXHRcdFx0XHRjb2xvcjogIzg3ODc4NyAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuc2VsZWN0Mi1jb250YWluZXItLWJvb3RzdHJhcDQge1xuXHRcdCYuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIHtcblx0XHRcdC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC50cy1jYXJkLWxheW91dC1yb3cge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGdhcDogMTJweDtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0fVxuXHQudHMtY2FyZC1sYXlvdXQtY29sIHtcblx0XHRmbGV4OiAxIDEgMDtcblx0XHRtaW4td2lkdGg6IDA7XG5cdH1cbn1cbi50cy1jYXJkLWxpc3QtZ3JvdXAgLnNlbGVjdDItY29udGFpbmVyLS1ib290c3RyYXA0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSxcbi50cy1jYXJkLWxpc3QtZ3JvdXAgLnNlbGVjdDItY29udGFpbmVyLS1ib290c3RyYXA0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIC50cy1jYXJkLWxpc3QtZ3JvdXAgLnRzLWNhcmQtbGF5b3V0LWNvbCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgfVxufSIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5xZG5hLWNhcmQtdW5pdC10eXBlIHtcbiAgICBkaXNwbGF5OiBjb250ZW50czsgLy8gbGV0IHRoZSBpbm5lciAudW5pdC10eXBlIHBhcnRpY2lwYXRlIGluIHRoZSBncmlkIGRpcmVjdGx5XG59XG5cbi51bml0LXR5cGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyAgICAgIC8vIHJlc2V0IGFueSBpbmhlcml0ZWQgYm9sZFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgICAgLy8gcmVzZXQgYW55IGluaGVyaXRlZCB1bmRlcmxpbmVcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWluLWhlaWdodDogMTIwcHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjZmODtcbiAgICB9XG5cbiAgICAmX190b3Age1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyAgLy8gZXhwbGljaXQsIG5vIGFtYmlndWl0eVxuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtIDAuNXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgIC8vIHZlcnRpY2FsbHkgY2VudGVyIGljb24gd2l0aCB0ZXh0IGJsb2NrXG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIGZsZXg6IDAgMCA0OHB4O1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiA0NHB4O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7ICAgLy8gYmVsdC1hbmQtc3VzcGVuZGVycyB2ZXJ0aWNhbCBjZW50ZXJpbmdcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7ICAgLy8gcmVtb3ZlcyBpbmxpbmUgaW1hZ2UgZ2FwXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLVR5cGUtRm9udC1GYW1pbHktcHJpbWFyeSwgSW50ZXIpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLUZvbnQtc2l6ZS1Cb2R5LUludGVyLW1lZGl1bS0xNCwgMTRweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1MaW5lLUhlaWdodC1Cb2R5LUJvZHktTWVkaXVtLUNhcHRpb24sIDI0cHgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tVGV4dC1Cb2R5LCAjMEIwQjBEKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cblxuICAgICZfX3N1YmhlYWRpbmcge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tVHlwZS1Gb250LUZhbWlseS1wcmltYXJ5LCBJbnRlcik7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tRm9udC1zaXplLUJvZHktc21hbGwtMTIsIDEycHgpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tTGluZS1IZWlnaHQtQm9keS1Cb2R5LVNtYWxsLCAyMHB4KTtcbiAgICAgICAgY29sb3I6IHZhcigtLVRleHQtQm9keS1TZWNvbmRhcnksICM2QjcyODApO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtIDAuNzVyZW07XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgJltoaWRkZW5dIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYWlyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICB9XG5cbiAgICAmX19sYWJlbCxcbiAgICAmX192YWx1ZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1UeXBlLUZvbnQtRmFtaWx5LXByaW1hcnksIEludGVyKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1Gb250LXNpemUtQm9keS1zbWFsbC0xMiwgMTJweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1MaW5lLUhlaWdodC1Cb2R5LUJvZHktU21hbGwsIDIwcHgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tU3VyZmFjZS1TaWduYWwtU2lnbmFsLWdyZXktRGV0YWlsLCAjNkI3MjgwKTtcbiAgICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBPTEQgU1RZTEVTIOKAlCBrZXB0IGZvciByZWZlcmVuY2UsIG5vIGxvbmdlciBhY3RpdmVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyAudG9wLXJvdyB7XG4vLyAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICBnYXA6IDEycHg7XG4vLyAgICAgcGFkZGluZzogMjVweCAyNXB4O1xuLy8gICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4vLyAgICAgYmFja2dyb3VuZDogI2ZmZjtcbi8vICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuLy8gICAgIGhlaWdodDogMTA0cHg7XG4vLyAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4vLyB9XG4vL1xuLy8gLnRvcC1yb3c6aG92ZXIge1xuLy8gICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4vLyAgICAgY3Vyc29yOiBwb2ludGVyO1xuLy8gfVxuLy9cbi8vIC5pY29uIHtcbi8vICAgICBmbGV4OiAwIDAgNDBweDtcbi8vICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyB9XG4vL1xuLy8gLmljb24gaW1nIHtcbi8vICAgICB3aWR0aDogMzZweDtcbi8vICAgICBoZWlnaHQ6IDM2cHg7XG4vLyB9XG4vL1xuLy8gLmNvbnRlbnQge1xuLy8gICAgIGZsZXg6IDE7XG4vLyAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuLy8gfVxuLy9cbi8vIC5oZWFkaW5nIHtcbi8vICAgICBmb250LXdlaWdodDogYm9sZDtcbi8vICAgICBmb250LXNpemU6IDE4cHg7XG4vLyB9XG4vL1xuLy8gLnN1YmhlYWRpbmcge1xuLy8gICAgIGZvbnQtc2l6ZTogMTRweDtcbi8vICAgICBjb2xvcjogIzY2Njtcbi8vICAgICBtYXJnaW4tdG9wOiA0cHg7XG4vLyB9XG4vL1xuLy8gLmluZm8tcm93IHtcbi8vICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgIHdpZHRoOiAxMDAlO1xuLy8gICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbi8vICAgICBmb250LXNpemU6IDE0cHg7XG4vLyAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG4vLyAgICAgZ2FwOiAyMHB4O1xuLy8gICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuLy8gfVxuLy9cbi8vIC52YWx1ZSB7XG4vLyAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyB9IiwiQHVzZSBcInNhc3M6bWFwXCI7XG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xuICB3aWR0aDogNDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC0tcGFkZGluZzogNnB4IDEwcHg7XG4gIC0tZm9udC1zaXplOiAxNHB4O1xuICAtLWljb24tc2l6ZTogMThweDtcbiAgLS1jb3VudC13aWR0aDogMzBweDtcbiAgLS1jb2xvcjogIzAwMDtcbiAgLS1vcGFjaXR5OiAxO1xuICAtLWhvdmVyLWJnOiByZ2JhKDAsMCwwLDAuMDYpO1xufVxuXG4ud3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tcGFkZGluZyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbn1cblxuLmxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNWVtO1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5pY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogdmFyKC0taWNvbi1zaXplKTtcbiAgZm9udC1zaXplOiB2YXIoLS1pY29uLXNpemUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1jb2xvcik7XG4gIG9wYWNpdHk6IHZhcigtLW9wYWNpdHkpO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLnRleHQge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBjb2xvcjogdmFyKC0tY29sb3IpO1xuICBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5KTtcbn1cblxuLmNvdW50IHtcbiAgbWluLXdpZHRoOiB2YXIoLS1jb3VudC13aWR0aCk7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBjb2xvcjogdmFyKC0tY29sb3IpO1xuICBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5KTtcbn1cblxuOmhvc3QoOmhvdmVyKSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWhvdmVyLWJnKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIDpob3N0IHsgd2lkdGg6IDgwJTsgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5cbnFkbmEtc2VhcmNoLWJhciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5xZG5hLXNlYXJjaC1iYXIgLnFkbmEtc2VhcmNoLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgZ2FwOiA2cHhcbn1cbnFkbmEtc2VhcmNoLWJhciAuaW5wdXQge1xuICBmbGV4OiAxO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBjb2xvcjogIzIyMjtcbiAgd2lkdGg6IDEwMCU7XG59XG5xZG5hLXNlYXJjaC1iYXIgLmlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5O1xufVxucWRuYS1zZWFyY2gtYmFyIC5pY29uIHtcbiAgY29sb3I6ICM3Nzc7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogY29udGVudHM7XG59XG5xZG5hLXNlYXJjaC1iYXIgLmNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnFkbmEtc2VhcmNoLWJhciAubGVmdC1idG4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtaW4td2lkdGg6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBiYWNrZ3JvdW5kOiAjRTZFOUZGO1xuICBjb2xvcjogIzQwNDk5QTtcbn1cbnFkbmEtc2VhcmNoLWJhciAubGVmdC1idG46Zm9jdXMsXG5xZG5hLXNlYXJjaC1iYXIgLmxlZnQtYnRuOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiBub25lO1xufVxucWRuYS1zZWFyY2gtYmFyIC5idG4tbGFiZWw6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxucWRuYS1zZWFyY2gtYmFyOm5vdChbc3RhdGU9XCJmb2N1c1wiXSk6bm90KFtzdGF0ZT1cImZpbGxlZFwiXSk6aG92ZXIgLnFkbmEtc2VhcmNoLWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogIzQwNDk5QTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDA0OTlBO1xuICBiYWNrZ3JvdW5kOiNGRkY7XG59XG5xZG5hLXNlYXJjaC1iYXJbc3RhdGU9XCJmb2N1c1wiXSAucWRuYS1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgYm9yZGVyOiAxcHggc29saWQgIzQwNDk5QTtcbiAgICAgYm94LXNoYWRvdzowIDAgMCAzcHggI2ZmZmZmZiwwIDAgMCA0cHggIzQwNDk5QTsgXG59XG5xZG5hLXNlYXJjaC1iYXJbc3RhdGU9XCJmaWxsZWRcIl0gLnFkbmEtc2VhcmNoLWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogIzQwNDk5QTtcbn1cbnFkbmEtc2VhcmNoLWJhcltkaXNhYmxlZF0gLnFkbmEtc2VhcmNoLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIGJvcmRlci1jb2xvcjogI2UwZTBlMDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbnFkbmEtc2VhcmNoLWJhcltkaXNhYmxlZF0gLmlucHV0IHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgY29sb3I6ICNhYWE7XG59XG5xZG5hLXNlYXJjaC1iYXJbZGlzYWJsZWRdIC5pY29uIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgY29sb3I6ICNjY2M7XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcblxucWRuYS1jb2x1bW4taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAycHg7XG59XG5xZG5hLWNvbHVtbi1pdGVtIC5xZG5hLWNvbHVtbi1jb21wb25lbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDA0OTlBO1xuICBiYWNrZ3JvdW5kOiAjRTZFOUZGO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICBsaW5lLWhlaWdodDogMTtcbn1cbnFkbmEtY29sdW1uLWl0ZW0gLnFkbmEtbGVmdC1zZWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4O1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5xZG5hLWNvbHVtbi1pdGVtIC5xZG5hLWNoZWNrYm94LXdyYXBwZXIge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbnFkbmEtY29sdW1uLWl0ZW0gLnFkbmEtY2hlY2tib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbnFkbmEtY29sdW1uLWl0ZW0gLnFkbmEtY2hlY2tib3gtdWkge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMS41cHggc29saWQgIzQwNDk5QTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxucWRuYS1jb2x1bW4taXRlbVtjaGVja2JveC1zaGFwZT1cInJvdW5kXCJdIC5xZG5hLWNoZWNrYm94LXVpIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxucWRuYS1jb2x1bW4taXRlbSAucWRuYS1jaGVja2JveC11aTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYm9yZGVyOiBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5xZG5hLWNvbHVtbi1pdGVtW2NoZWNrZWRdIC5xZG5hLWNoZWNrYm94LXVpIHtcbiAgYmFja2dyb3VuZDogIzQ2NTJGMztcbiAgYm9yZGVyLWNvbG9yOiAjNDY1MkYzO1xufVxucWRuYS1jb2x1bW4taXRlbVtjaGVja2VkXSAucWRuYS1jaGVja2JveC11aTo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxucWRuYS1jb2x1bW4taXRlbTpub3QoW2NoZWNrYm94LXN0YXRlPVwiZGlzYWJsZWRcIl0pXG4ucWRuYS1jaGVja2JveC13cmFwcGVyOmhvdmVyIC5xZG5hLWNoZWNrYm94LXVpIHtcbiAgYm9yZGVyLWNvbG9yOiAjNDY1MkYzO1xufVxucWRuYS1jb2x1bW4taXRlbTpmb2N1cy13aXRoaW4gLnFkbmEtY2hlY2tib3gtdWkge1xuICBvdXRsaW5lOiAycHggc29saWQgcmdiYSg3MCwgODIsIDI0MywgMC4zNSk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5xZG5hLWNvbHVtbi1pdGVtW2NoZWNrYm94LXN0YXRlPVwiZGlzYWJsZWRcIl0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbnFkbmEtY29sdW1uLWl0ZW1bY2hlY2tib3gtc3RhdGU9XCJkaXNhYmxlZFwiXSAucWRuYS1jaGVja2JveC11aSB7XG4gIGJhY2tncm91bmQ6ICNGMkY0Rjc7XG4gIGJvcmRlci1jb2xvcjogI0QwRDVERDtcbn1cbnFkbmEtY29sdW1uLWl0ZW1bY2hlY2tib3gtc3RhdGU9XCJkaXNhYmxlZFwiXVtjaGVja2VkXVxuLnFkbmEtY2hlY2tib3gtdWk6OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTAxODI4O1xufVxucWRuYS1jb2x1bW4taXRlbVtjaGVja2JveC1zdGF0ZT1cImRpc2FibGVkXCJdIC5xZG5hLWNvbHVtbi1jb21wb25lbnQge1xuICBvcGFjaXR5OiAwLjY7XG59XG5xZG5hLWNvbHVtbi1pdGVtIC5xZG5hLXZpc2liaWxpdHkge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWwgRGVzaWduIEljb25zXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICM0MDQ5OUE7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxucWRuYS1jb2x1bW4taXRlbTpub3QoW3Zpc2liaWxpdHk9XCJoaWRkZW5cIl0pIC5xZG5hLXZpc2liaWxpdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxGMDFEQlwiO1xufVxucWRuYS1jb2x1bW4taXRlbVt2aXNpYmlsaXR5PVwiaGlkZGVuXCJdIC5xZG5hLXZpc2liaWxpdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxucWRuYS1jb2x1bW4taXRlbSAucWRuYS1jb2x1bW4tbGFiZWwge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjNDA0OTlBO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbnFkbmEtY29sdW1uLWl0ZW0gLnFkbmEtcmlnaHQtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBmbGV4LXNocmluazogMDtcbn1cbnFkbmEtY29sdW1uLWl0ZW0gLnFkbmEtY29sdW1uLW1lc3NhZ2Uge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjNDA0OTlBO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5xZG5hLWNvbHVtbi1pdGVtW21lc3NhZ2VdIC5xZG5hLWNvbHVtbi1tZXNzYWdlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbnFkbmEtY29sdW1uLWl0ZW0gLnFkbmEtbWVzc2FnZS10aWNrIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5xZG5hLWNvbHVtbi1pdGVtW21lc3NhZ2VdIC5xZG5hLW1lc3NhZ2UtdGljayB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5xZG5hLWNvbHVtbi1pdGVtIC5xZG5hLW1lc3NhZ2UtdGljazo6YmVmb3JlIHtcbiAgY29udGVudDogXCLinJNcIjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICM0MDQ5OUE7XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcblxuam9iLWNhcmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC0tYmctbGlnaHQ6ICNmMmY0Zjc7XG4gIC0tYmctZGFyazogI2YyZjRmNztcbn1cblxuXG5qb2ItY2FyZCAuam9iLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1saWdodCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMGQ1ZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmpvYi1jYXJkOmhvdmVyIC5qb2ItY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWRhcmspO1xufVxuXG5qb2ItY2FyZFtzdGF0dXM9XCJzY2hlZHVsZWRcIl0ge1xuICAtLWJnLWxpZ2h0OiAjZjJmNGY3O1xuICAtLWJnLWRhcms6ICNkMGQ1ZGQ7XG59XG5cbmpvYi1jYXJkW3N0YXR1cz1cIm92ZXJkdWVcIl0ge1xuICAtLWJnLWxpZ2h0OiAjZmRlMmU3O1xuICAtLWJnLWRhcms6ICNmN2JmYzg7XG59XG5cbmpvYi1jYXJkW3N0YXR1cz1cImluLXByb2dyZXNzXCJdIHtcbiAgLS1iZy1saWdodDogI2ZmZjZkMTtcbiAgLS1iZy1kYXJrOiAjZmZlOWE2O1xufVxuXG5cbmpvYi1jYXJkW3N0YXR1cz1cImNvbXBsZXRlZFwiXSB7XG4gIC0tYmctbGlnaHQ6ICNlNmY3ZWM7XG4gIC0tYmctZGFyazogI2M2ZWZkOTtcbn1cblxuLyogRHJhZyAvIEFjdGl2ZSBTdGF0ZSAqL1xuXG5qb2ItY2FyZFtzdGF0ZT1cImRyYWdcIl0ge1xuICAtLWJnLWxpZ2h0OiAjZWVmNGZmO1xuICAtLWJnLWRhcms6ICNkYmU0ZmY7XG59XG5cbmpvYi1jYXJkW3N0YXRlPVwiZHJhZ1wiXSAuam9iLWNhcmQge1xuICBvcGFjaXR5OiAwLjY7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbmpvYi1jYXJkW3N0YXRlPVwiYWN0aXZlXCJdIHtcbiAgLS1iZy1saWdodDogI2VlZjRmZjtcbiAgLS1iZy1kYXJrOiAjZGJlNGZmO1xufVxuXG5cbmpvYi1jYXJkIC5yb3ctdGltZSxcbmpvYi1jYXJkIC5yb3ctdXNlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiA4cHg7XG59XG5cbmpvYi1jYXJkIC5yb3ctdXNlciB7XG4gIG1hcmdpbi10b3A6IDZweDtcbn1cblxuXG5qb2ItY2FyZCAuYXZhdGFyIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2U0ZTdlYztcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbmpvYi1jYXJkIC5hdmF0YXIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cblxuam9iLWNhcmQgLnVzZXJuYW1lIHtcbiAgZmxleDogMTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5qb2ItY2FyZCAudGltZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG5cbmpvYi1jYXJkW3NpemU9XCJzbVwiXSAucm93LXRpbWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5qb2ItY2FyZFtzaXplPVwic21cIl0gLnJvdy11c2VyIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuam9iLWNhcmRbc2l6ZT1cInNtXCJdIC51c2VybmFtZSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbiIsInFkbmEtZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7IFxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnFkbmEtZHJvcGRvd24tbWVudS5kcm9wZG93bi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbnFkbmEtZHJvcGRvd24tbWVudSBkcm9wZG93bi10cmlnZ2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxucWRuYS1kcm9wZG93bi1tZW51IGRyb3Bkb3duLXRyaWdnZXIgPiAqIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnFkbmEtZHJvcGRvd24tbWVudSBkcm9wZG93biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDk5OTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgcGFkZGluZzogNHB4IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyBcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG5xZG5hLWRyb3Bkb3duLW1lbnUuZHJvcGRvd24tb3BlbiBkcm9wZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5xZG5hLWRyb3Bkb3duLW1lbnUuZHJvcGRvd24tc2l6ZS1zbSBkcm9wZG93biB7IGZvbnQtc2l6ZTogMTJweDsgfVxucWRuYS1kcm9wZG93bi1tZW51LmRyb3Bkb3duLXNpemUtbWQgZHJvcGRvd24geyBmb250LXNpemU6IDE0cHg7IH1cbnFkbmEtZHJvcGRvd24tbWVudS5kcm9wZG93bi1zaXplLWxnIGRyb3Bkb3duIHsgZm9udC1zaXplOiAxNnB4OyB9XG5cbmRyb3Bkb3duLW9wdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbn1cblxuZHJvcGRvd24tb3B0aW9uOmhvdmVyIHsgYmFja2dyb3VuZDogI2Y1ZjZmYTsgfVxuZHJvcGRvd24tb3B0aW9uLnNlbGVjdGVkIHsgYmFja2dyb3VuZDogI2VlZjJmZjsgY29sb3I6ICM0MDQ5OWE7IH1cbmRyb3Bkb3duLW9wdGlvbi5kaXNhYmxlZCB7IG9wYWNpdHk6IDAuNTsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5xZG5hLWRyb3Bkb3duLW1lbnUgZHJvcGRvd24ge1xuICBtYXgtaGVpZ2h0OiAyNjBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxucWRuYS1kcm9wZG93bi1tZW51IGRyb3Bkb3duOjotd2Via2l0LXNjcm9sbGJhciB7IHdpZHRoOiA2cHg7IH1cbnFkbmEtZHJvcGRvd24tbWVudSBkcm9wZG93bjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgeyBiYWNrZ3JvdW5kOiAjY2NjOyBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuZHJvcGRvd24tZGl2aWRlciB7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDFweDsgbWFyZ2luOiA0cHggMDsgYmFja2dyb3VuZDogI2VlZTsgfVxuZHJvcGRvd24tbGFiZWwgeyBkaXNwbGF5OiBibG9jazsgZm9udC1zaXplOiAxMnB4OyBwYWRkaW5nOiA0cHggOHB4OyBjb2xvcjogIzg4ODsgfVxuXG5xZG5hLWRyb3Bkb3duLW1lbnUuZHJvcGRvd24tb3BlbiBkcm9wZG93biB7XG4gIGFuaW1hdGlvbjogZHJvcGRvd25GYWRlIDAuMTVzIGVhc2U7XG59XG5cbkBrZXlmcmFtZXMgZHJvcGRvd25GYWRlIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOyB9XG4gIHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59IiwiQHVzZSBcInNhc3M6bWFwXCI7XG5xZG5hLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnFkbmEtdG9nZ2xlLXJvb3Qge1xuICAtLXRvZ2dsZS1vZmY6ICNkMGQ1ZGQ7XG4gIC0tdG9nZ2xlLW9uOiAjNDYyNWYzO1xuICAtLXRvZ2dsZS10aHVtYjogI2ZmZmZmZjtcbiAgLS10b2dnbGUtZm9jdXM6IHJnYmEoOCwgMTE3LCAyMjYsIC4zNSk7XG59XG4ucWRuYS10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRvZ2dsZS1vZmYpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMjVzIGVhc2UsIGJveC1zaGFkb3cgLjI1cyBlYXNlO1xufVxuLnFkbmEtdG9nZ2xlLXRodW1iIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10b2dnbGUtdGh1bWIpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRvcDogMnB4O1xuICBsZWZ0OiAycHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2U7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsMCwwLC4yNSk7XG59XG5cbi50b2dnbGUtY2hlY2tlZCAucWRuYS10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10b2dnbGUtb24pO1xufVxuXG4udG9nZ2xlLWNoZWNrZWQgLnFkbmEtdG9nZ2xlLXRodW1iIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuLnRvZ2dsZS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IC41O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4udG9nZ2xlLXNpemUtc20gLnFkbmEtdG9nZ2xlIHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMThweDtcbn1cblxuLnRvZ2dsZS1zaXplLXNtIC5xZG5hLXRvZ2dsZS10aHVtYiB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG59XG5cbi50b2dnbGUtc2l6ZS1tZCAucWRuYS10b2dnbGUge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiAyMnB4O1xufVxuXG4udG9nZ2xlLXNpemUtbWQgLnFkbmEtdG9nZ2xlLXRodW1iIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cblxuLnRvZ2dsZS1zaXplLWxnIC5xZG5hLXRvZ2dsZSB7XG4gIHdpZHRoOiA1MnB4O1xuICBoZWlnaHQ6IDI4cHg7XG59XG5cbi50b2dnbGUtc2l6ZS1sZyAucWRuYS10b2dnbGUtdGh1bWIge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuXG4iLCJAdXNlIFwic2FzczptYXBcIjtcbnFkbmEtZHVlLWRhdGUge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAxO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiB2YXIoLS1UZXh0LUJvZHksICMwQjBCMEQpO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogdmFyKC0tTGluZS1IZWlnaHQtQm9keS1Cb2R5LVNtYWxsLCAyMHB4KTsgLyogMTY2LjY2NyUgKi9cbn1cblxucWRuYS1kdWUtZGF0ZS5zdGF0dXMtY29tcGxldGUge1xuICBjb2xvcjojNDI4QjZFO1xufVxuXG5xZG5hLWR1ZS1kYXRlLnN0YXR1cy1jb21wbGV0ZSBpIHtcbiAgY29sb3I6IzQyOEI2RTtcbn1cbnFkbmEtZHVlLWRhdGUuc3RhdHVzLXByb2dyZXNzIHtcbiAgY29sb3I6ICNFRjhFMDI7XG59XG5cbnFkbmEtZHVlLWRhdGUuc3RhdHVzLXByb2dyZXNzIGkge1xuICBjb2xvcjojRUY4RTAyO1xufVxucWRuYS1kdWUtZGF0ZS5zdGF0dXMtb3Blbi5wcmlvcml0eS1oaWdoLFxucWRuYS1kdWUtZGF0ZS5zdGF0dXMtZGVhZGxpbmUucHJpb3JpdHktaGlnaCB7XG4gIGNvbG9yOiAjRkYzQTMwO1xufVxucWRuYS1kdWUtZGF0ZS5zdGF0dXMtb3Blbi5wcmlvcml0eS1taWQsXG5xZG5hLWR1ZS1kYXRlLnN0YXR1cy1kZWFkbGluZS5wcmlvcml0eS1taWQge1xuICBjb2xvcjogI0VGOEUwMjtcbn1cbnFkbmEtZHVlLWRhdGUuc3RhdHVzLW9wZW4ucHJpb3JpdHktc3VjY2VzcyxcbnFkbmEtZHVlLWRhdGUuc3RhdHVzLWRlYWRsaW5lLnByaW9yaXR5LXN1Y2Nlc3Mge1xuICBjb2xvcjogIzQyOEI2RTtcbn1cblxucWRuYS1kdWUtZGF0ZS5zdGF0dXMtb3BlbiBpLFxucWRuYS1kdWUtZGF0ZS5zdGF0dXMtZGVhZGxpbmUgaSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuIiwiXG5bcWRuYS10b29sdGlwXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgLS10b29sdGlwLWJnOiAjNDA0OTlBO1xuICAtLXRvb2x0aXAtdGV4dDogI2ZmZmZmZjtcbiAgLS10b29sdGlwLXJhZGl1czogNHB4O1xuICAtLXRvb2x0aXAtZ2FwOiA2cHg7XG5cbiAgLS10b29sdGlwLXBhZGRpbmc6IDRweCA4cHg7XG4gIC0tdG9vbHRpcC1mb250OiAxNHB4O1xufVxuXG4vL25vIGFycm93XG5bcWRuYS10b29sdGlwXTpub3QoW3Rvb2x0aXAtdHlwZT1cImFycm93XCJdKTo6YmVmb3JlIHtcbiAgY29udGVudDogYXR0cihxZG5hLXRvb2x0aXApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tdG9vbHRpcC1nYXApO1xuXG4gIGJhY2tncm91bmQ6IHZhcigtLXRvb2x0aXAtYmcpO1xuICBjb2xvcjogdmFyKC0tdG9vbHRpcC10ZXh0KTtcbiAgcGFkZGluZzogdmFyKC0tdG9vbHRpcC1wYWRkaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS10b29sdGlwLWZvbnQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS10b29sdGlwLXJhZGl1cyk7XG5cbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDIyMHB4O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuMTVzIGVhc2U7XG4gIHotaW5kZXg6IDk5OTk7XG59XG5cbltxZG5hLXRvb2x0aXBdOmhvdmVyOm5vdChbdG9vbHRpcC10eXBlPVwiYXJyb3dcIl0pOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vL3dpdGggYXJyb3dcblt0b29sdGlwLXR5cGU9XCJhcnJvd1wiXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnFkbmEtdG9vbHRpcC1ib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRvb2x0aXAtYmcpO1xuICBjb2xvcjogdmFyKC0tdG9vbHRpcC10ZXh0KTtcbiAgcGFkZGluZzogdmFyKC0tdG9vbHRpcC1wYWRkaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS10b29sdGlwLWZvbnQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS10b29sdGlwLXJhZGl1cyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMjIwcHg7XG5cbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuMTVzIGVhc2U7XG4gIHotaW5kZXg6IDk5OTk7XG59XG5cbi5xZG5hLXRvb2x0aXAtYm94LnNob3cge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucWRuYS10b29sdGlwLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5xZG5hLXRvb2x0aXAtYm9keSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLy9hcnJvd1xuLnFkbmEtdG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRvb2x0aXAtYmcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi8vcHNpdGlvblxuW3Rvb2x0aXAtdHlwZT1cImFycm93XCJdOm5vdChbdG9vbHRpcC1wb3NpdGlvbl0pIC5xZG5hLXRvb2x0aXAtYm94LFxuW3Rvb2x0aXAtcG9zaXRpb249XCJ0b3BcIl0gLnFkbmEtdG9vbHRpcC1ib3gge1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoY2FsYygtMSAqIHZhcigtLXRvb2x0aXAtZ2FwKSkpO1xufVxuXG5bdG9vbHRpcC10eXBlPVwiYXJyb3dcIl06bm90KFt0b29sdGlwLXBvc2l0aW9uXSkgLnFkbmEtdG9vbHRpcC1hcnJvdyxcblt0b29sdGlwLXBvc2l0aW9uPVwidG9wXCJdIC5xZG5hLXRvb2x0aXAtYXJyb3cge1xuICBib3R0b206IC00cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG59XG5cblt0b29sdGlwLXBvc2l0aW9uPVwiYm90dG9tXCJdIC5xZG5hLXRvb2x0aXAtYm94IHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKHZhcigtLXRvb2x0aXAtZ2FwKSk7XG59XG5cblt0b29sdGlwLXBvc2l0aW9uPVwiYm90dG9tXCJdIC5xZG5hLXRvb2x0aXAtYXJyb3cge1xuICB0b3A6IC00cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG59XG5cblt0b29sdGlwLXBvc2l0aW9uPVwibGVmdFwiXSAucWRuYS10b29sdGlwLWJveCB7XG4gIHJpZ2h0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoY2FsYygtMSAqIHZhcigtLXRvb2x0aXAtZ2FwKSkpO1xufVxuXG5bdG9vbHRpcC1wb3NpdGlvbj1cImxlZnRcIl0gLnFkbmEtdG9vbHRpcC1hcnJvdyB7XG4gIHJpZ2h0OiAtNHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG59XG5cblt0b29sdGlwLXBvc2l0aW9uPVwicmlnaHRcIl0gLnFkbmEtdG9vbHRpcC1ib3gge1xuICBsZWZ0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgodmFyKC0tdG9vbHRpcC1nYXApKTtcbn1cblxuW3Rvb2x0aXAtcG9zaXRpb249XCJyaWdodFwiXSAucWRuYS10b29sdGlwLWFycm93IHtcbiAgbGVmdDogLTRweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xufVxuXG4vL2NvbG9ycyBmb3IgdG9vbHRpcFxuXG5bcWRuYS10b29sdGlwXTpub3QoW3Rvb2x0aXAtdHlwZT1cImFycm93XCJdKVt0b29sdGlwLWNvbG9yPVwicHVycGxlXCJdIHtcbiAgLS10b29sdGlwLWJnOiAjNDA0OTlBO1xuICAtLXRvb2x0aXAtdGV4dDogI2ZmZmZmZjtcbn1cblxuW3FkbmEtdG9vbHRpcF06bm90KFt0b29sdGlwLXR5cGU9XCJhcnJvd1wiXSlbdG9vbHRpcC1jb2xvcj1cImxpZ2h0LXB1cnBsZVwiXSB7XG4gIC0tdG9vbHRpcC1iZzogI0RBRERGMjtcbiAgLS10b29sdGlwLXRleHQ6ICM0MDQ5OUE7XG59XG5cbltxZG5hLXRvb2x0aXBdOm5vdChbdG9vbHRpcC10eXBlPVwiYXJyb3dcIl0pW3Rvb2x0aXAtY29sb3I9XCJncmV5XCJdIHtcbiAgLS10b29sdGlwLWJnOiAjQzRDN0NDO1xuICAtLXRvb2x0aXAtdGV4dDogIzBCMEIwRDtcbn1cblxuW3FkbmEtdG9vbHRpcF06bm90KFt0b29sdGlwLXR5cGU9XCJhcnJvd1wiXSlbdG9vbHRpcC1jb2xvcj1cImxpZ2h0LWdyZXlcIl0ge1xuICAtLXRvb2x0aXAtYmc6ICNFMUUzRTY7XG4gIC0tdG9vbHRpcC10ZXh0OiAjNkI3MjgwO1xufVxuXG4vL2NvbG9ycyBmb3IgYXJyb3cgdG9vbHRpcFxuW3Rvb2x0aXAtdHlwZT1cImFycm93XCJdW3Rvb2x0aXAtY29sb3I9XCJwdXJwbGVcIl0ge1xuICAtLXRvb2x0aXAtYmc6ICM0MDQ5OUE7XG4gIC0tdG9vbHRpcC10ZXh0OiAjZmZmZmZmO1xufVxuXG5bdG9vbHRpcC10eXBlPVwiYXJyb3dcIl1bdG9vbHRpcC1jb2xvcj1cImxpZ2h0LXB1cnBsZVwiXSB7XG4gIC0tdG9vbHRpcC1iZzogI0RBRERGMjtcbiAgLS10b29sdGlwLXRleHQ6ICM0MDQ5OUE7XG59XG5cblt0b29sdGlwLXR5cGU9XCJhcnJvd1wiXVt0b29sdGlwLWNvbG9yPVwid2hpdGVcIl0ge1xuICAtLXRvb2x0aXAtYmc6ICNmZmZmZmY7XG4gIC0tdG9vbHRpcC10ZXh0OiAjNDA0OTlBO1xufVxuXG4vL3dpdGhvdXQgYXJyb3coc21hbGwpXG5bcWRuYS10b29sdGlwXTpub3QoW3Rvb2x0aXAtdHlwZT1cImFycm93XCJdKVt0b29sdGlwLXNpemU9XCJzbVwiXSB7XG4gIC0tdG9vbHRpcC1wYWRkaW5nOiAwcHggOHB4O1xuICAtLXRvb2x0aXAtZm9udDogMTJweDtcbn1cblxuLy9hcnJvdyhzbWFsbClcblt0b29sdGlwLXR5cGU9XCJhcnJvd1wiXVt0b29sdGlwLXNpemU9XCJzbVwiXSB7XG4gIC0tdG9vbHRpcC1wYWRkaW5nOiAycHggOHB4O1xuICAtLXRvb2x0aXAtZm9udDogMTBweDtcbn1cblxuLy9hcnJvdyhsYXJnZS1kZWZhdWx0KVxuW3Rvb2x0aXAtdHlwZT1cImFycm93XCJdOm5vdChbdG9vbHRpcC1zaXplXSksXG5bdG9vbHRpcC10eXBlPVwiYXJyb3dcIl1bdG9vbHRpcC1zaXplPVwibGdcIl0ge1xuICAtLXRvb2x0aXAtcGFkZGluZzogMTBweCAxMnB4O1xuICAtLXRvb2x0aXAtZm9udDogMTNweDtcbn1cblxuLy9EaXNhYmxlIHRvb2x0aXAgd2hlbiBlbGVtZW50IGlzIGRpc2FibGVkIFxuW3FkbmEtdG9vbHRpcF1bZGlzYWJsZWRdLFxuW3FkbmEtdG9vbHRpcF0uZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG5bcWRuYS10b29sdGlwXVtkaXNhYmxlZF06OmJlZm9yZSxcbltxZG5hLXRvb2x0aXBdLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuW3FkbmEtdG9vbHRpcF1bZGlzYWJsZWRdIC5xZG5hLXRvb2x0aXAtYm94LFxuW3FkbmEtdG9vbHRpcF0uZGlzYWJsZWQgLnFkbmEtdG9vbHRpcC1ib3gge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59IiwiJHByaW1hcnk6ICM0NjUyRjM7XG4kZm9jdXM6ICM0MDQ5OUE7XG4kc3VjY2VzczogIzQyOEI2RTsgXG4kc3VjY2Vzcy1iZzogIzZFRTdCNztcbiRlcnJvcjogI0M2NUE1QTtcbiRlcnJvci1iZzogI0Y4NzE3MTtcbiRib3JkZXItZGVmYXVsdDogI0M0QzdDQztcbiR3aGl0ZTogI0ZGRkZGRjtcbiRkaXNhYmxlZC1iZzogI0YwRjFGMjtcbiRkaXNhYmxlZC1ib3JkZXI6ICNDNEM3Q0M7XG4kZGlzYWJsZWQtaWNvbjogIzg5OEU5OTtcblxuLnFkbmEtY2hlY2tib3gge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5jaGVja2JveC1ib3gge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItZGVmYXVsdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtc2hhcGU9XCJyb3VuZFwiXSAuY2hlY2tib3gtYm94IHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cblxuICAmOm5vdCguZGlzYWJsZWQpOmhvdmVyIGlucHV0Om5vdCg6Y2hlY2tlZCkgKyAuY2hlY2tib3gtYm94IHtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuICB9XG5cbiAgJjpmb2N1cy13aXRoaW4gLmNoZWNrYm94LWJveDo6YmVmb3JlLFxuICAmW3N0YXRlPVwiZm9jdXNcIl0gLmNoZWNrYm94LWJveDo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIC5jaGVja2JveC1ib3gge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgLmNoZWNrYm94LWJveDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgIC13ZWJraXQtbWFzazogdXJsKFwiL2ltZy9jaGVjay5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciAvIDEycHg7XG4gICAgbWFzazogdXJsKFwiL2ltZy9jaGVjay5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciAvIDEycHg7XG4gIH1cblxuICAmLmluZGV0ZXJtaW5hdGUtdHlwZSB7XG5cbiAgICBpbnB1dDpjaGVja2VkICsgLmNoZWNrYm94LWJveDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgbGVmdDogM3B4O1xuICAgICAgd2lkdGg6IDhweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgLXdlYmtpdC1tYXNrOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBtYXNrOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgQG1peGluIHN0YXRlKCRib3JkZXIsICRiZykge1xuICAgIGlucHV0Om5vdCg6Y2hlY2tlZCkgKyAuY2hlY2tib3gtYm94IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICBpbnB1dDpjaGVja2VkICsgLmNoZWNrYm94LWJveCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXN0YXRlPVwic3VjY2Vzc1wiXSB7XG4gICAgQGluY2x1ZGUgc3RhdGUoJHN1Y2Nlc3MsICRzdWNjZXNzLWJnKTtcbiAgfVxuXG4gICZbZGF0YS1zdGF0ZT1cImVycm9yXCJdIHtcbiAgICBAaW5jbHVkZSBzdGF0ZSgkZXJyb3IsICRlcnJvci1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjY7XG5cbiAgICBpbnB1dCArIC5jaGVja2JveC1ib3gge1xuICAgICAgYmFja2dyb3VuZDogJGRpc2FibGVkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZGlzYWJsZWQtYm9yZGVyO1xuICAgIH1cblxuICAgIGlucHV0OmNoZWNrZWQgKyAuY2hlY2tib3gtYm94IHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBpbnB1dDpjaGVja2VkICsgLmNoZWNrYm94LWJveDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLWljb247XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrYm94LWxhYmVsIHtcbiAgICBjb2xvcjogIzMzMztcbiAgfVxufSIsIlxuJHByaW1hcnk6IzQ2NTJGMztcbiRib3JkZXItZGVmYXVsdDogI0M0QzdDQztcbiR3aGl0ZTogI0ZGRkZGRjtcblxuJHN1Y2Nlc3M6ICM0MjhCNkU7XG4kZXJyb3I6ICNDNjVBNUE7XG5cbiRkaXNhYmxlZC1iZzogI0UwRTBFMDtcbiRkaXNhYmxlZC1ib3JkZXI6ICNDNEM3Q0M7XG4kZGlzYWJsZWQtZG90OiAjOUU5RTlFO1xuXG5xZG5hLXJhZGlvIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xufVxuLnFkbmEtcmFkaW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAucmFkaW8tY2lyY2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWRlZmF1bHQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogNHB4O1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAtNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcblxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRwcmltYXJ5O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLmRpc2FibGVkKTpob3ZlciBpbnB1dDpub3QoOmNoZWNrZWQpICsgLnJhZGlvLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgKyAucmFkaW8tY2lyY2xlIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIC5yYWRpby1jaXJjbGU6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxOyBcbiAgfVxuXG4gIEBtaXhpbiBzdGF0ZSgkY29sb3IpIHtcbiAgICBpbnB1dDpub3QoOmNoZWNrZWQpICsgLnJhZGlvLWNpcmNsZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG5cbiAgICBpbnB1dDpjaGVja2VkICsgLnJhZGlvLWNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtc3RhdGU9XCJzdWNjZXNzXCJdIHtcbiAgICBAaW5jbHVkZSBzdGF0ZSgkc3VjY2Vzcyk7XG4gIH1cblxuICAmW2RhdGEtc3RhdGU9XCJlcnJvclwiXSB7XG4gICAgQGluY2x1ZGUgc3RhdGUoJGVycm9yKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNjtcblxuICAgIGlucHV0Om5vdCg6Y2hlY2tlZCkgKyAucmFkaW8tY2lyY2xlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkaXNhYmxlZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJGRpc2FibGVkLWJvcmRlcjtcbiAgICB9XG5cbiAgICBpbnB1dDpjaGVja2VkICsgLnJhZGlvLWNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6ICRkaXNhYmxlZC1ib3JkZXI7XG4gICAgfVxuXG4gICAgaW5wdXQ6Y2hlY2tlZCArIC5yYWRpby1jaXJjbGU6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkaXNhYmxlZC1kb3Q7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIC5yYWRpby1sYWJlbCB7XG4gICAgY29sb3I6ICMzMzM7XG4gIH1cbn0iLCJxZG5hLW1lbnUtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWVudS1pdGVtX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogOHB4O1xuXG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7XG59XG5cbi5tZW51LWl0ZW1fX2NvbnRhaW5lcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG59XG5cbi5tZW51LWl0ZW1fX2xlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLy9DT05UUk9MIChjaGVja2JveCAvIHJhZGlvKVxuLm1lbnUtaXRlbV9fY29udHJvbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubWVudS1pdGVtX19wcmVmaXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBtaW4td2lkdGg6IDIwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubWVudS1pdGVtX19sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubWVudS1pdGVtX19zdWZmaXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBtaW4td2lkdGg6IDIwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubWVudS1pdGVtX19wcmVmaXggaSxcbi5tZW51LWl0ZW1fX3N1ZmZpeCBpIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG5xZG5hLW1lbnUtaXRlbVtkaXNhYmxlZF0gLm1lbnUtaXRlbV9fY29udGFpbmVyIHtcbiAgb3BhY2l0eTogMC41O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn0iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwic2Fzczpjb2xvclwiO1xuXG4uYXZhdGFyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC5hdmF0YXItY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cblxuLmF2YXRhci14cyB7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IGZvbnQtc2l6ZTogMTJweDsgfVxuLmF2YXRhci1zbSB7IHdpZHRoOiAzNHB4OyBoZWlnaHQ6IDM0cHg7IGZvbnQtc2l6ZTogMTJweDsgfVxuLmF2YXRhci1tZCB7IHdpZHRoOiA0OHB4OyBoZWlnaHQ6IDQ4cHg7IGZvbnQtc2l6ZTogMTZweDsgfVxuLmF2YXRhci1sZyB7IHdpZHRoOiA2NHB4OyBoZWlnaHQ6IDY0cHg7IGZvbnQtc2l6ZTogMThweDsgfVxuXG4kY29sb3JzOiAoXG4gIFwiZ3JlZW5cIjogKCM0MjhCNkUsICNDNUY1RTIpLFxuICBcInBpbmtcIjogKCNDNjVBNUEsICNGODcxNzEpLFxuICBcInllbGxvd1wiOiAoI0I3NzkxRiwgI0ZERTY4QSksXG4gIFwiYmx1ZVwiOiAoIzJCNkNCMCwgI0JGREJGRSksXG4gIFwiZ3JleVwiOiAoI0M0QzdDQywgI0U1RTdFQiksXG4gIFwicmVkXCI6ICgjQjkxQzFDLCAjRkNBNUE1KVxuKTtcblxuQGVhY2ggJG5hbWUsICRwYWlyIGluICRjb2xvcnMge1xuICAuYXZhdGFyLS0jeyRuYW1lfSB7XG4gICAgJGJvcmRlcjogbGlzdC5udGgoJHBhaXIsIDEpO1xuICAgICRiZzogbGlzdC5udGgoJHBhaXIsIDIpO1xuXG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRiZztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogY29sb3IuYWRqdXN0KCRiZywgJGxpZ2h0bmVzczogLTUlKTtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3IuYWRqdXN0KCRib3JkZXIsICRsaWdodG5lc3M6IC01JSk7XG4gICAgfVxuXG4gICAgJi5pcy1zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiBjb2xvci5hZGp1c3QoJGJnLCAkbGlnaHRuZXNzOiA1JSk7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yLmFkanVzdCgkYm9yZGVyLCAkbGlnaHRuZXNzOiA1JSk7XG4gICAgfVxuICB9XG59IiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZS5cbi8vIENvbXBpbGVkIGludG8gd2ViL2Nzcy92MS9zdHlsZS12MS5jc3MgdmlhIHNjc3MvY29tcG9uZW50cy9jb21wb25lbnRzLnNjc3Ncbi8vIChndWxwIFwic2Fzcy12MVwiKS4gRWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuLy9cbi8vIHFkbmFwcm8tYWNjb3VudC1jYXJkXG4vLyAgIEFjY291bnQgLyBwcm9maWxlIGRyb3Bkb3duIGNhcmQuIENhcmQgY2hyb21lIG1pcnJvcnMgcWRuYXByby1tZW51XG4vLyAgIChuZXV0cmFsKS4gSGVhZGVyID0gYXZhdGFyICsgbmFtZSArIGVtYWlsLCB0aGVuIGEgZGl2aWRlciwgdGhlbiB0aGVcbi8vICAgc2xvdHRlZCBxZG5hcHJvLW1lbnUtaXRlbSByb3dzLlxuLy9cbi8vIFFETkEgdG9rZW5zIHVzZWQ6XG4vLyAgIFN1cmZhY2UvV2hpdGUgICAgICAgICAgICAjZmZmZmZmICAgY2FyZCBiYWNrZ3JvdW5kXG4vLyAgIEJvcmRlci9OZXV0cmFsICAgICAgICAgICAjYzRjN2NjICAgY2FyZCBib3JkZXJcbi8vICAgVGV4dC9Pbi1Cb2R5ICAgICAgICAgICAgICMwYjBiMGQgICBuYW1lXG4vLyAgIFRleHQvU2Vjb25kYXJ5ICAgICAgICAgICAjNmI3MjgwICAgZW1haWxcblxuLnFkbmFwcm8tYWNjb3VudC1jYXJkIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi13aWR0aDogMjgwcHg7XG4gIHBhZGRpbmc6IDhweDtcbiAgZ2FwOiA0cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjNGM3Y2M7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMCA0cHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCA4cHggMTJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjtcbn1cblxuLnFkbmFwcm8tYWNjb3VudC1jYXJkIC5hY2NvdW50LWNhcmQtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogMTZweCAxNnB4IDEycHg7XG59XG5cbi5xZG5hcHJvLWFjY291bnQtY2FyZCAuYWNjb3VudC1jYXJkLWhlYWRlciBxZG5hcHJvLWF2YXRhciB7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnFkbmFwcm8tYWNjb3VudC1jYXJkIC5hY2NvdW50LWNhcmQtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjMGIwYjBkO1xufVxuXG4ucWRuYXByby1hY2NvdW50LWNhcmQgLmFjY291bnQtY2FyZC1lbWFpbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4ucWRuYXByby1hY2NvdW50LWNhcmQgLmFjY291bnQtY2FyZC1pdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xufVxuXG4ucWRuYXByby1hY2NvdW50LWNhcmQgLmFjY291bnQtY2FyZC1pdGVtcyA+IHFkbmFwcm8tbWVudS1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIERhcmsgbW9kZVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWNjb3VudC1jYXJkIHtcbiAgYmFja2dyb3VuZDogIzJlMzAzNjtcbiAgYm9yZGVyLWNvbG9yOiAjNDA0NDRkO1xuICBib3gtc2hhZG93OiAwIDRweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzApLCAwIDhweCAxMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMjApO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY2NvdW50LWNhcmQgLmFjY291bnQtY2FyZC1uYW1lIHtcbiAgY29sb3I6ICNmMGYxZjI7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjY291bnQtY2FyZCAuYWNjb3VudC1jYXJkLWVtYWlsIHtcbiAgY29sb3I6ICNhNmFhYjM7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9hY3Rpb24tYmFyL19hY3Rpb24tYmFyLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi8qIGNvbXBpbGVkIGZyb20gX2FjdGlvbi1iYXIuc2NzcyAqL1xuLnFkbmFwcm8tYWN0aW9uLWJhciB7XG4gICAgLS1hY3Rpb24tYmFyLWJnOiAgICAgI2ZmZmZmZjtcbiAgICAtLWFjdGlvbi1iYXItYm9yZGVyOiAjZDlkYmViO1xuICAgIC0tYWN0aW9uLWJhci1vZmZzZXQ6IDE2cHg7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aW9uLWJhci1iZyk7XG4gICAgYm9yZGVyOiAwLjVweCBzb2xpZCB2YXIoLS1hY3Rpb24tYmFyLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMXB4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSxcbiAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zMCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbi5xZG5hcHJvLWFjdGlvbi1iYXIgPiAqIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ucWRuYXByby1hY3Rpb24tYmFyLmFjdGlvbi1iYXItZmxvYXRpbmcge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvdHRvbTogdmFyKC0tYWN0aW9uLWJhci1vZmZzZXQpO1xuICAgIHotaW5kZXg6IDkwMDA7XG59XG5cbnFkbmFwcm8tbWVudS5hY3Rpb24tYmFyLW1lbnUtZmxvYXRpbmcge1xuICAgIHotaW5kZXg6IDkyMDA7XG4gICAgYW5pbWF0aW9uOiBhY3Rpb24tYmFyLW1lbnUtcG9wIDE2MG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcbn1cblxuQGtleWZyYW1lcyBhY3Rpb24tYmFyLW1lbnUtcG9wIHtcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCkgc2NhbGUoMC45OCk7IH1cbiAgICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApICAgc2NhbGUoMSk7IH1cbn1cblxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLWFjdGlvbi1iYXIsXG5bZGF0YS10aGVtZS1kYXJrXSAgLnFkbmFwcm8tYWN0aW9uLWJhciB7XG4gICAgLS1hY3Rpb24tYmFyLWJnOiAgICAgIzJlMzAzNjtcbiAgICAtLWFjdGlvbi1iYXItYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTApO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMXB4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjMwKSxcbiAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC40NSk7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL2FjdGl2aXR5LWNhcmQvX2FjdGl2aXR5LWNhcmQtY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cbi8vXG4vLyBDb2xvdXIgdmFsdWVzIGFyZSB0YWtlbiBkaXJlY3RseSBmcm9tIHRoZSBxZG5hcHJvLXRhZyB0b2tlbiBzb3VyY2Vcbi8vIChzY3NzL2NvbXBvbmVudHMvdjIvdGFnL190YWcuc2NzcykuIC0tYWMtdGlsZS0qIGN1c3RvbSBwcm9wZXJ0aWVzIGhvbGRcbi8vIHRoZSBpY29uLWNvbG9yIHBhc3RlbCAobGlnaHQgKyBkYXJrKTsgc3RhdHVzIG92ZXJyaWRlcyB3aW4gb3ZlciB0aGVtIGJ5XG4vLyBzZXR0aW5nIHRoZSB0aWxlL2JvcmRlci9zdXJmYWNlL3RleHQgY29sb3VyIGRpcmVjdGx5IChoaWdoZXItc3BlY2lmaWNpdHlcbi8vIHNlbGVjdG9yLCBtaXJyb3JzIHRoZSB0YXNrbGlzdC1jYXJkIFthcmNoaXZlZF0gcGF0dGVybikuXG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDhweCAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwidGlsZSBib2R5XCI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIG1pbi1oZWlnaHQ6IDY0cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjLXN1cmZhY2UsICNmZmZmZmYpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hYy1ib3JkZXIsICNlMWUzZTYpO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTUwbXMgZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyBlYXNlLW91dCwgdHJhbnNmb3JtIDE1MG1zIGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zIGVhc2Utb3V0O1xufVxuXG4vLyBXaGVuIHRoZSBib3R0b20gYWN0aW9uIHJvdyBpcyBwcmVzZW50LCBhZGQgYSBzZWNvbmQgcm93IHNwYW5uaW5nIGJvdGhcbi8vIGNvbHVtbnMgYmVsb3cgdGlsZS9ib2R5LiBLaW0ncyBkZXNpZ24gZGVjaXNpb24gMTMuMDcuMjAyNjogYnJpZWZpbmcgYW5kXG4vLyByZXBlYXQgYmVjYW1lIHJlYWwgZnVsbC13aWR0aCBidXR0b25zIGluc3RlYWQgb2YgbWV0YSBwaWxscy4gVGhlIGNoZXZyb25cbi8vIGdseXBoIGNvbHVtbiB3YXMgcmVtb3ZlZCBlbnRpcmVseSBvbiAxMy4wNy4yMDI2ICh0aGUgd2hvbGUgY2FyZCBpcyB0aGVcbi8vIHRhcCB0YXJnZXQsIHRoZSBjaGV2cm9uIG9ubHkgYXRlIGhvcml6b250YWwgc3BhY2UpLlxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1oYXMtYWN0aW9ucyB7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwidGlsZSBib2R5XCIgXCJhY3Rpb25zIGFjdGlvbnNcIjtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZCAqLFxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZCAqOjpiZWZvcmUsXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkICo6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gU29mdCBvdmVybGF5IHVzZWQgdG8gXCJkZWVwZW5cIiB0aGUgc3VyZmFjZSBvbiBob3Zlci9wcmVzcywgZHJpdmVuIGJ5IGFcbi8vIGN1c3RvbSBwcm9wZXJ0eSBzbyBvbmUgcnVsZSBjb3ZlcnMgYm90aCBzdGF0ZXMgd2l0aCBkaWZmZXJlbnQgc3RyZW5ndGguXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIG9wYWNpdHk6IHZhcigtLWFjLW92ZXJsYXktbywgMCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZS1vdXQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAucWRuYXByby1hY3Rpdml0eS1jYXJkOmhvdmVyIHtcbiAgICAtLWFjLW92ZXJsYXktbzogMC41O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE0KTtcbiAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoMjAsIDI1LCA4MCwgMC4wOCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICB9XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQ6YWN0aXZlIHtcbiAgLS1hYy1vdmVybGF5LW86IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45ODUpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDgwbXMgZWFzZS1vdXQsIHRyYW5zZm9ybSA4MG1zIGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDgwbXMgZWFzZS1vdXQ7XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQ6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjNDA0OTlhO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG59XG5cbi8qID09PSBEYXJrIG1vZGUgLSBiYXNlIGNhcmQgY2hyb21lID09PSAqL1xuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aXZpdHktY2FyZCB7XG4gIGJhY2tncm91bmQ6ICMyZTMwMzY7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkIC5hYy1sYWJlbCB7XG4gIGNvbG9yOiAjZjBmMWYyO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkIC5hYy1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjYTBhNGI4O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcbn1cblxuLyogPT09IEljb24gdGlsZSA9PT0gKi9cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQgLmFjLXRpbGUge1xuICBncmlkLWFyZWE6IHRpbGU7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hYy10aWxlLWJnLCAjZjBmMWYyKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZCAuYWMtdGlsZS10aWNrIHN2ZyB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiA9PT0gVGV4dCBjb2x1bW4gPT09ICovXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkIC5hYy1ib2R5IHtcbiAgZ3JpZC1hcmVhOiBib2R5O1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDJweDtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZCAuYWMtbGFiZWwge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1hYy10ZXh0LCAjMGIwYjBkKTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQgLmFjLWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAxMi41cHg7XG4gIGNvbG9yOiB2YXIoLS1hYy10ZXh0LW11dGVkLCAjODk4ZTk5KTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qID09PSBNZXRhIHJvdzogcmVwZWF0IHRhZyAoZmlyc3QpICsgY29tcGxldGlvbiBzdGFtcCA9PT1cbiAgIFJlcXVpcmVkIHBpbGwgbGl2ZXMgT1VUU0lERSB0aGlzIHJvdyBub3cgKHNlZSB0aGUgY29ybmVyLWJhZGdlIGJsb2NrXG4gICBiZWxvdyksIHNvIHRoZSByb3cgb25seSBleGlzdHMgZm9yIHRoZSByZXBlYXQgdGFnIGFuZC9vciB0aGUgc3RhbXAuICovXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkIC5hYy1tZXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkIC5hYy1waWxsIHtcbiAgZmxleDogbm9uZTtcbn1cblxuLyogSWNvbi1vbmx5IHJlcGVhdCB0YWcgKG5vIHRleHQgY29udGVudCkgLSB0aGUgdGFnJ3Mgb3duIGVtcHR5IGxhYmVsIHNwYW5cbiAgIHN0aWxsIGNhcnJpZXMgaXRzIDRweCBpY29uLWxhYmVsIGdhcCwgd2hpY2ggd291bGQgYWRkIGxvcHNpZGVkIHRyYWlsaW5nXG4gICBwYWRkaW5nIGFyb3VuZCBub3RoaW5nLiBOZXV0cmFsaXNlZCBoZXJlLCBzY29wZWQgdG8gdGhpcyBvbmUgdXNhZ2UsIHNhbWVcbiAgIGZpeCBhcyBxZG5hcHJvLWFjdGl2aXR5LXJvdydzIC5yb3ctaWNvbi10YWcgKEtpbSwgMTMuMDcuMjAyNikuICovXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkIC5hYy1waWxsLXJlcGVhdCB7XG4gIGdhcDogMDtcbn1cblxuLyogPT09IENvcm5lciBjbHVzdGVyOiBpY29uLW9ubHkgcmVwZWF0IHRhZyArIHJlcXVpcmVkIHBpbGwgc2lkZSBieSBzaWRlIGluIHRoZVxuICAgdG9wLXJpZ2h0IGNvcm5lciAoS2ltLCAxMy4wNy4yMDI2KS4gVGhlIGNoZXZyb24gYW5kIGl0cyB3aG9sZSBnbHlwaFxuICAgY29sdW1uIGFyZSBnb25lLCBzbyB0aGUgY2x1c3RlciBvd25zIHRoZSByaWdodCBlZGdlIGFnYWluc3QgdGhlIGNhcmQnc1xuICAgb3duIHBhZGRpbmcuICovXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkIC5hYy1jb3JuZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEycHg7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xufVxuXG4vKiBSZXNlcnZlIHJvb20gc28gYSBsb25nIHRpdGxlIHRydW5jYXRlcyBiZWZvcmUgcnVubmluZyB1bmRlciB0aGUgY29ybmVyXG4gICBjbHVzdGVyIGluc3RlYWQgb2YgYmVoaW5kIGl0IC0gd29yc3QgY2FzZSBpcyByZXBlYXQgaWNvbi10YWcgcGx1c1xuICAgXCJWZXJwbGljaHRcIi9cIlJlcXVpcmVkXCIsIH4xMjBweCBjb3ZlcnMgaXQuICovXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLWhhcy1jb3JuZXIgLmFjLWxhYmVsLFxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1oYXMtY29ybmVyIC5hYy1kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDEyMHB4O1xufVxuXG4vKiA9PT0gU3RhdHVzLXRpbnRlZCBwaWxsID09PVxuICAgQSBncmV5IHRhZyBvbiBhIGNvbG91cmVkIHN0YXR1cyBzdXJmYWNlIGNsYXNoZXMgKEtpbSwgMTMuMDcuMjAyNiksIHNvXG4gICBldmVyeSBcIi5hYy1waWxsXCIgKHJlcXVpcmVkIGNvcm5lciBiYWRnZSwgY29tcGxldGlvbiBzdGFtcCwgYW5kIHRoZVxuICAgcmVwZWF0IHRhZyBhZGRlZCAxMy4wNy4yMDI2KSBmb2xsb3dzIHRoZSBzdGF0dXMgcGFsZXR0ZTogdGhlIFwiLTJcIiB0YWdcbiAgIHRvbmUgYXMgYmFja2dyb3VuZCB3aXRoIHRoZSBtYXRjaGluZyB0YWcgdGV4dCBjb2xvdXIuIFRoZSB0YWcgY29tcG9uZW50XG4gICBwYWludHMgaXRzZWxmIGZyb20gdGhlIC0tdGFnLWJnLy0tdGFnLXRleHQgY3VzdG9tIHByb3BlcnRpZXMsIHNvXG4gICBvdmVycmlkaW5nIHRob3NlIGhlcmUgKHRocmVlIGNsYXNzZXMsIGJlYXRzIHRoZSB0YWcncyBvd24gdHdvLWNsYXNzXG4gICBzZWxlY3RvcikgaXMgZW5vdWdoLiBPcGVuL3JlcGVhdC1kb25lL2Rpc2FibGVkIGtlZXAgdGhlIHRhZydzIG93blxuICAgZ3JleS9kaXNhYmxlZCBsb29rIChubyB0aW50IHJ1bGUgZXhpc3RzIGZvciBhYy1zdGF0dXMtcmVwZWF0LWRvbmUsIGJ5XG4gICBkZXNpZ24gLSBzZWUgdGhlIHJlcGVhdC1kb25lIG5vdGUgZnVydGhlciBkb3duKS4gKi9cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWluLXByb2dyZXNzIC5hYy1waWxsIHtcbiAgLS10YWctYmc6ICNmZGU1OTQ7XG4gIC0tdGFnLXRleHQ6ICM2NTU1MjI7XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWNvbXBsZXRlZCAuYWMtcGlsbCB7XG4gIC0tdGFnLWJnOiAjOGJlY2M1O1xuICAtLXRhZy10ZXh0OiAjMmY1ZDRhO1xufVxuXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1lcnJvciAuYWMtcGlsbCB7XG4gIC0tdGFnLWJnOiAjZmJhYWFhO1xuICAtLXRhZy10ZXh0OiAjNjMzMDMwO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1pbi1wcm9ncmVzcyAuYWMtcGlsbCB7XG4gIC0tdGFnLWJnOiAjN2E2YjJkO1xuICAtLXRhZy10ZXh0OiAjZmRlNTk0O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1jb21wbGV0ZWQgLmFjLXBpbGwge1xuICAtLXRhZy1iZzogIzNkN2E2MjtcbiAgLS10YWctdGV4dDogIzhiZWNjNTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtZXJyb3IgLmFjLXBpbGwge1xuICAtLXRhZy1iZzogIzdhMzgzODtcbiAgLS10YWctdGV4dDogI2ZiYWFhYTtcbn1cblxuLyogPT09IEJvdHRvbSBhY3Rpb24gcm93OiBicmllZmluZyAvIHJlcGVhdCBidXR0b25zID09PVxuICAgRnVsbC13aWR0aCByb3cgYmVsb3cgdGhlIHRpbGUvdGV4dC9nbHlwaCBjb2x1bW5zIChLaW0sIDEzLjA3LjIwMjYgLSB0aGVcbiAgIG9sZCBicmllZmluZy9jb3VudGVyIHBpbGxzIHdlcmUgdG9vIHNtYWxsIGFzIHRvdWNoIHRhcmdldHMpLiBIYWlybGluZVxuICAgZGl2aWRlciByZXVzZXMgLS1hYy1ib3JkZXIsIHNvIGl0IHJlY29sb3VycyB0aGUgc2FtZSB3YXkgYXMgdGhlIGNhcmRcbiAgIGJvcmRlciBvbiBldmVyeSBzdGF0dXMuICovXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkIC5hYy1hY3Rpb25zIHtcbiAgZ3JpZC1hcmVhOiBhY3Rpb25zO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYWMtYm9yZGVyLCAjZTFlM2U2KTtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZCAuYWMtYWN0aW9uLWJ0biB7XG4gIGZsZXg6IG5vbmU7XG59XG5cbi8qID09PSBTdGF0dXMtdGludGVkIGFjdGlvbiBidXR0b25zID09PVxuICAgc2Vjb25kYXJ5LXB1cnBsZSB3b3JrcyBvbiB0aGUgd2hpdGUgb3BlbiBjYXJkIGJ1dCBjbGFzaGVzIG9uIHRoZSBjb2xvdXJlZFxuICAgc3RhdHVzIHN1cmZhY2VzIChLaW0sIDEzLjA3LjIwMjYpLiBPbiB0aG9zZSBzdGF0dXNlcyB0aGUgYnV0dG9ucyB0YWtlIHRoZVxuICAgc2FtZSBcIi0yXCIgdGFnIHRvbmUgZmFtaWx5IGFzIHRoZSBwaWxsOiAtMiBiYWNrZ3JvdW5kLCBzdGF0dXMgdGV4dCBjb2xvdXIsXG4gICB0aGUgdGFnJ3Mgb3duIC0yIGhvdmVyIHRva2VuIG9uIGhvdmVyL3ByZXNzLiBxZG5hcHJvLWJ1dHRvbiBwYWludHMgZnJvbVxuICAgZml4ZWQgY2xhc3MgY29sb3VycyAobm8gY3VzdG9tIHByb3BlcnRpZXMpLCBzbyB0aGVzZSBmaXZlLWNsYXNzIG92ZXJyaWRlc1xuICAgc2ltcGx5IG91dC1zcGVjaWZ5IGl0cyB0aHJlZS1jbGFzcyBydWxlczsgaWNvbnMgZm9sbG93IHZpYSBjdXJyZW50Q29sb3IuICovXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1pbi1wcm9ncmVzcyAuYWMtYWN0aW9ucyAucWRuYXByby1idXR0b24uYnV0dG9uLXNlY29uZGFyeS1wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiAjZmRlNTk0O1xuICBjb2xvcjogIzY1NTUyMjtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtaW4tcHJvZ3Jlc3MgLmFjLWFjdGlvbnMgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktcHVycGxlOmhvdmVyOm5vdCguYnV0dG9uLWRpc2FibGVkKSxcbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWluLXByb2dyZXNzIC5hYy1hY3Rpb25zIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5LXB1cnBsZTphY3RpdmU6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2ZkZGM3MTtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtY29tcGxldGVkIC5hYy1hY3Rpb25zIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5LXB1cnBsZSB7XG4gIGJhY2tncm91bmQ6ICM4YmVjYzU7XG4gIGNvbG9yOiAjMmY1ZDRhO1xufVxuXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1jb21wbGV0ZWQgLmFjLWFjdGlvbnMgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktcHVycGxlOmhvdmVyOm5vdCguYnV0dG9uLWRpc2FibGVkKSxcbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWNvbXBsZXRlZCAuYWMtYWN0aW9ucyAucWRuYXByby1idXR0b24uYnV0dG9uLXNlY29uZGFyeS1wdXJwbGU6YWN0aXZlOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICM2ZWU3Yjc7XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWVycm9yIC5hYy1hY3Rpb25zIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5LXB1cnBsZSB7XG4gIGJhY2tncm91bmQ6ICNmYmFhYWE7XG4gIGNvbG9yOiAjNjMzMDMwO1xufVxuXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1lcnJvciAuYWMtYWN0aW9ucyAucWRuYXByby1idXR0b24uYnV0dG9uLXNlY29uZGFyeS1wdXJwbGU6aG92ZXI6bm90KC5idXR0b24tZGlzYWJsZWQpLFxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtZXJyb3IgLmFjLWFjdGlvbnMgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktcHVycGxlOmFjdGl2ZTpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjZjk4ZDhkO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1pbi1wcm9ncmVzcyAuYWMtYWN0aW9ucyAucWRuYXByby1idXR0b24uYnV0dG9uLXNlY29uZGFyeS1wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiAjN2E2YjJkO1xuICBjb2xvcjogI2ZlZjZkYjtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtaW4tcHJvZ3Jlc3MgLmFjLWFjdGlvbnMgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktcHVycGxlOmhvdmVyOm5vdCguYnV0dG9uLWRpc2FibGVkKSxcbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWluLXByb2dyZXNzIC5hYy1hY3Rpb25zIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5LXB1cnBsZTphY3RpdmU6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogIzlhOGEzYjtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtY29tcGxldGVkIC5hYy1hY3Rpb25zIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5LXB1cnBsZSB7XG4gIGJhY2tncm91bmQ6ICMzZDdhNjI7XG4gIGNvbG9yOiAjZTJmYWYxO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1jb21wbGV0ZWQgLmFjLWFjdGlvbnMgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktcHVycGxlOmhvdmVyOm5vdCguYnV0dG9uLWRpc2FibGVkKSxcbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWNvbXBsZXRlZCAuYWMtYWN0aW9ucyAucWRuYXByby1idXR0b24uYnV0dG9uLXNlY29uZGFyeS1wdXJwbGU6YWN0aXZlOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICM0ZDljN2M7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWVycm9yIC5hYy1hY3Rpb25zIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5LXB1cnBsZSB7XG4gIGJhY2tncm91bmQ6ICM3YTM4Mzg7XG4gIGNvbG9yOiAjZmVlM2UzO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1lcnJvciAuYWMtYWN0aW9ucyAucWRuYXByby1idXR0b24uYnV0dG9uLXNlY29uZGFyeS1wdXJwbGU6aG92ZXI6bm90KC5idXR0b24tZGlzYWJsZWQpLFxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtZXJyb3IgLmFjLWFjdGlvbnMgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktcHVycGxlOmFjdGl2ZTpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjOWE0NzQ3O1xufVxuXG4vKiBUaGUgY291bnQgYmFkZ2Ugb24gdGhlIHJlcGVhdCBidXR0b24gKHFkbmFwcm8tYnV0dG9uJ3Mgb3duIGJhZGdlIGF0dHIsXG4gICBcInN1YnRsZVwiIHBhaXJpbmcgPSBsYXZlbmRlcikgbXVzdCBmb2xsb3cgdGhlIHNhbWUgc3RhdHVzIHRpbnQgKEtpbSxcbiAgIDEzLjA3LjIwMjYpOiB0aGUgbGlnaHQgc3RhdHVzIHN1cmZhY2UgdG9uZSBhcyBiYWRnZSBiYWNrZ3JvdW5kIHdpdGggdGhlXG4gICBzdGF0dXMgdGV4dCBjb2xvdXIsIHNvIGl0IHJlYWRzIGFzIGEgcXVpZXQgY2hpcCBvbiB0aGUgXCItMlwiIGJ1dHRvbi4gKi9cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWluLXByb2dyZXNzIC5hYy1hY3Rpb25zIFtkYXRhLWJ1dHRvbi1iYWRnZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmNmRiO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzY1NTUyMjtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtY29tcGxldGVkIC5hYy1hY3Rpb25zIFtkYXRhLWJ1dHRvbi1iYWRnZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJmYWYxO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzJmNWQ0YTtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtZXJyb3IgLmFjLWFjdGlvbnMgW2RhdGEtYnV0dG9uLWJhZGdlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWUzZTM7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNjMzMDMwO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1pbi1wcm9ncmVzcyAuYWMtYWN0aW9ucyBbZGF0YS1idXR0b24tYmFkZ2VdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVhNGQxZjtcbiAgY29sb3I6ICNmZGU1OTQ7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWNvbXBsZXRlZCAuYWMtYWN0aW9ucyBbZGF0YS1idXR0b24tYmFkZ2VdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJhNTU0NDtcbiAgY29sb3I6ICM4YmVjYzU7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWVycm9yIC5hYy1hY3Rpb25zIFtkYXRhLWJ1dHRvbi1iYWRnZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWEyYjJiO1xuICBjb2xvcjogI2ZiYWFhYTtcbn1cblxuQGtleWZyYW1lcyBxZG5hcHJvLWFjLWNvdW50LWJ1bXAge1xuICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMzUlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjE4KTsgfVxuICA2MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQgLmFjLWJhZGdlLWJ1bXAge1xuICBhbmltYXRpb246IHFkbmFwcm8tYWMtY291bnQtYnVtcCAzODBtcyBlYXNlLW91dDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnFkbmFwcm8tYWN0aXZpdHktY2FyZCAuYWMtYmFkZ2UtYnVtcCB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5cbi8qID09PSBQdWxzZSAoc3RhdHVzLWNoYW5nZWQgZmVlZGJhY2spID09PSAqL1xuQGtleWZyYW1lcyBxZG5hcHJvLWFjLXB1bHNlIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoNjQsIDczLCAxNTQsIDAuMzUpOyB9XG4gIDQwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4wMTUpOyBib3gtc2hhZG93OiAwIDAgMCA4cHggcmdiYSg2NCwgNzMsIDE1NCwgMCk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSg2NCwgNzMsIDE1NCwgMCk7IH1cbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1wdWxzZSB7XG4gIGFuaW1hdGlvbjogcWRuYXByby1hYy1wdWxzZSA1MjBtcyBlYXNlLW91dDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1wdWxzZSB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5cbi8qID09PSBJY29uLWNvbG9yIHBhbGV0dGUgKHFkbmFwcm8tdGFnIC0tdGFnLWJnIHZhbHVlcywgbGlnaHQpID09PVxuICAgT25seSB1c2VkIGJ5IHRoZSBcIm9wZW5cIiBzdGF0dXMgLSBldmVyeSBvdGhlciBzdGF0dXMgb3ZlcnJpZGVzIHRoZSB0aWxlXG4gICBjb2xvdXIgZGlyZWN0bHkgZnVydGhlciBkb3duLiAqL1xuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1jb2xvci1ncmV5IHtcbiAgLS1hYy10aWxlLWJnOiAjZjBmMWYyO1xufVxuXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLWNvbG9yLXJlZCB7XG4gIC0tYWMtdGlsZS1iZzogI2ZlZTNlMztcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1jb2xvci15ZWxsb3cge1xuICAtLWFjLXRpbGUtYmc6ICNmZWY2ZGI7XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtY29sb3ItZ3JlZW4ge1xuICAtLWFjLXRpbGUtYmc6ICNlMmZhZjE7XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtY29sb3ItYmx1ZSB7XG4gIC0tYWMtdGlsZS1iZzogI2U2ZWZmOTtcbn1cblxuLy8gYnJpZ2h0LWJsdWUgdXNlcyB0aGUgc29mdGVyIGJyaWdodC1ibHVlLTIgcGFzdGVsOiB0aGUgYmFzZSBicmlnaHQtYmx1ZVxuLy8gdG9rZW4gKCM4NWExZWMpIGlzIGZhciBtb3JlIHNhdHVyYXRlZCB0aGFuIHRoZSBvdGhlciBzZXZlbiBwYXN0ZWxzIGFuZFxuLy8gd291bGQgbWFrZSB0aGUgdGlsZSBzaG91dC4gU2FtZSBzdWJzdGl0dXRpb24gdGhlIHRhc2tsaXN0LWNhcmQgbWFrZXMuXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLWNvbG9yLWJyaWdodC1ibHVlIHtcbiAgLS1hYy10aWxlLWJnOiAjZDZlMGY5O1xufVxuXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLWNvbG9yLXBpbmsge1xuICAtLWFjLXRpbGUtYmc6ICNmNmUxZTg7XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtY29sb3ItcHVycGxlIHtcbiAgLS1hYy10aWxlLWJnOiAjZWJlOWZiO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLWNvbG9yLWdyZXkge1xuICAtLWFjLXRpbGUtYmc6ICM1NjViNjY7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtY29sb3ItcmVkIHtcbiAgLS1hYy10aWxlLWJnOiAjNWEyYjJiO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLWNvbG9yLXllbGxvdyB7XG4gIC0tYWMtdGlsZS1iZzogIzVhNGQxZjtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1jb2xvci1ncmVlbiB7XG4gIC0tYWMtdGlsZS1iZzogIzJhNTU0NDtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1jb2xvci1ibHVlIHtcbiAgLS1hYy10aWxlLWJnOiAjMmUzZTU0O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLWNvbG9yLWJyaWdodC1ibHVlIHtcbiAgLS1hYy10aWxlLWJnOiAjMmEzNTYwO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLWNvbG9yLXBpbmsge1xuICAtLWFjLXRpbGUtYmc6ICM0ZTJhMzY7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtY29sb3ItcHVycGxlIHtcbiAgLS1hYy10aWxlLWJnOiAjM2EzNTU1O1xufVxuXG4vKiA9PT0gU3RhdHVzIG92ZXJyaWRlcyAoYWx3YXlzIHdpbiBvdmVyIHRoZSBpY29uLWNvbG9yIHBhc3RlbCkgPT09XG4gICBFYWNoIHN0YXR1cyBzZXRzIHRoZSB0aWxlIGJhY2tncm91bmQgZGlyZWN0bHkgKG5vdCB0aHJvdWdoIC0tYWMtdGlsZS1iZylcbiAgIHdpdGggYSBoaWdoZXItc3BlY2lmaWNpdHkgc2VsZWN0b3IgKDIgY2xhc3NlcyArIGRlc2NlbmRhbnQpLCBzbyBpdCB3aW5zXG4gICByZWdhcmRsZXNzIG9mIHNvdXJjZSBvcmRlciAtIHNhbWUgcGF0dGVybiBhcyB0aGUgdGFza2xpc3QtY2FyZCBbYXJjaGl2ZWRdXG4gICBvdmVycmlkZS4gQm9yZGVyIGNvbG91ciByZXVzZXMgdGhlIHRpbGUncyBcIi0yXCIgdG9uZSBmb3IgZGVmaW5pdGlvbiwgbm9cbiAgIG5ldyBwYWxldHRlIHZhbHVlcyBpbnZlbnRlZC4gKi9cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWluLXByb2dyZXNzIHtcbiAgLS1hYy1zdXJmYWNlOiAjZmVmNmRiO1xuICAtLWFjLWJvcmRlcjogI2ZkZTU5NDtcbiAgLS1hYy10ZXh0OiAjNjU1NTIyO1xuICAtLWFjLXRleHQtbXV0ZWQ6ICM2NTU1MjI7XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWluLXByb2dyZXNzIC5hYy10aWxlIHtcbiAgYmFja2dyb3VuZDogI2ZkZTU5NDtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtY29tcGxldGVkIHtcbiAgLS1hYy1zdXJmYWNlOiAjZTJmYWYxO1xuICAtLWFjLWJvcmRlcjogIzhiZWNjNTtcbiAgLS1hYy10ZXh0OiAjMmY1ZDRhO1xuICAtLWFjLXRleHQtbXV0ZWQ6ICMyZjVkNGE7XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWNvbXBsZXRlZCAuYWMtdGlsZSB7XG4gIGJhY2tncm91bmQ6ICM4YmVjYzU7XG59XG5cbi8qIHJlcGVhdC1kb25lIChLaW0ncyBjb21wcm9taXNlLCAxMy4wNy4yMDI2KTogYSByZXBlYXQgYWN0aXZpdHkgbmV2ZXIgdHJ1bHlcbiAgIFwiY29tcGxldGVzXCIsIGJ1dCBhZnRlciBhdCBsZWFzdCBvbmUgZmlsbC1pbiBpdCBkZXNlcnZlcyB0aGUgc2FtZVxuICAgc2F0aXNmeWluZyBncmVlbiB0aWxlICsgdGV4dCBhcyBjb21wbGV0ZWQgLSBXSVRIT1VUIHRoZSBncmVlbiBzdXJmYWNlXG4gICB3YXNoLCBzbyB0aGUgY2FyZCBzdGlsbCByZWFkcyBhcyBvcGVuL3RhcHBhYmxlIGZvciB0aGUgbmV4dCBmaWxsLWluLlxuICAgT25seSAtLWFjLXRleHQvLS1hYy10ZXh0LW11dGVkIGFyZSBvdmVycmlkZGVuIChtYXRjaGluZyBjb21wbGV0ZWQnc1xuICAgdmFsdWVzKTsgLS1hYy1zdXJmYWNlLy0tYWMtYm9yZGVyIGFyZSBkZWxpYmVyYXRlbHkgbGVmdCB1bnNldCBzbyB0aGUgY2FyZFxuICAgZmFsbHMgYmFjayB0byB0aGUgbmV1dHJhbCBvcGVuIGNocm9tZSAoI2ZmZmZmZiAvICNlMWUzZTYgdmlhIHRoZSBiYXNlXG4gICBydWxlJ3Mgb3duIGZhbGxiYWNrcykuIE5vIHBpbGwvYWN0aW9uLWJ1dHRvbiB0aW50IHJ1bGVzIGV4aXN0IGZvciB0aGlzXG4gICBzdGF0dXMgKHVubGlrZSBpbi1wcm9ncmVzcy9jb21wbGV0ZWQvZXJyb3IpIC0gZGVsaWJlcmF0ZWx5LCBwZXIgc3BlYy4gKi9cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLXJlcGVhdC1kb25lIHtcbiAgLS1hYy10ZXh0OiAjMmY1ZDRhO1xuICAtLWFjLXRleHQtbXV0ZWQ6ICMyZjVkNGE7XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLXJlcGVhdC1kb25lIC5hYy10aWxlIHtcbiAgYmFja2dyb3VuZDogIzhiZWNjNTtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtZXJyb3Ige1xuICAtLWFjLXN1cmZhY2U6ICNmZWUzZTM7XG4gIC0tYWMtYm9yZGVyOiAjZmJhYWFhO1xuICAtLWFjLXRleHQ6ICM2MzMwMzA7XG4gIC0tYWMtdGV4dC1tdXRlZDogIzYzMzAzMDtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtZXJyb3IgLmFjLXRpbGUge1xuICBiYWNrZ3JvdW5kOiAjZmJhYWFhO1xufVxuXG4ucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1kaXNhYmxlZCB7XG4gIC0tYWMtc3VyZmFjZTogI2YwZjFmMjtcbiAgLS1hYy1ib3JkZXI6ICNlMWUzZTY7XG4gIC0tYWMtdGV4dDogIzg5OGU5OTtcbiAgLS1hYy10ZXh0LW11dGVkOiAjODk4ZTk5O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtZGlzYWJsZWQgLmFjLXRpbGUge1xuICBiYWNrZ3JvdW5kOiAjZTFlM2U2O1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcbn1cblxuLyogRGFyay1tb2RlIHN0YXR1cyBvdmVycmlkZXMuIFZhbHVlcyBmcm9tIHRoZSB0YWcgZGFyayBwYWxldHRlOlxuICAgeWVsbG93KC0yKSwgZ3JlZW4oLTIpLCByZWQoLTIpIHBhaXJzOyBncmV5IGJhc2UgKyBncmV5IGhvdmVyIGZvciBkaXNhYmxlZC4gKi9cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWluLXByb2dyZXNzIHtcbiAgLS1hYy1zdXJmYWNlOiAjNWE0ZDFmO1xuICAtLWFjLWJvcmRlcjogIzdhNmIyZDtcbiAgLS1hYy10ZXh0OiAjZmRlNTk0O1xuICAtLWFjLXRleHQtbXV0ZWQ6ICNmZGU1OTQ7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWluLXByb2dyZXNzIC5hYy10aWxlIHtcbiAgYmFja2dyb3VuZDogIzdhNmIyZDtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtY29tcGxldGVkIHtcbiAgLS1hYy1zdXJmYWNlOiAjMmE1NTQ0O1xuICAtLWFjLWJvcmRlcjogIzNkN2E2MjtcbiAgLS1hYy10ZXh0OiAjOGJlY2M1O1xuICAtLWFjLXRleHQtbXV0ZWQ6ICM4YmVjYzU7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLWNvbXBsZXRlZCAuYWMtdGlsZSB7XG4gIGJhY2tncm91bmQ6ICMzZDdhNjI7XG59XG5cbi8qIHJlcGVhdC1kb25lIGRhcmsgdGlsZSArIHRleHQgKHNhbWUgc3BsaXQgYXMgbGlnaHQ6IHN1cmZhY2UvYm9yZGVyIHN0YXlcbiAgIHRoZSBkYXJrIGJhc2UgY2FyZCBjaHJvbWUgc2V0IGJ5IHRoZSBwbGFpbiBbZGF0YS10aGVtZT1kYXJrXVxuICAgLnFkbmFwcm8tYWN0aXZpdHktY2FyZCBydWxlIGFib3ZlKS4gKi9cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLXJlcGVhdC1kb25lIHtcbiAgLS1hYy10ZXh0OiAjOGJlY2M1O1xuICAtLWFjLXRleHQtbXV0ZWQ6ICM4YmVjYzU7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuYWMtc3RhdHVzLXJlcGVhdC1kb25lIC5hYy10aWxlIHtcbiAgYmFja2dyb3VuZDogIzNkN2E2Mjtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtZXJyb3Ige1xuICAtLWFjLXN1cmZhY2U6ICM1YTJiMmI7XG4gIC0tYWMtYm9yZGVyOiAjN2EzODM4O1xuICAtLWFjLXRleHQ6ICNmYmFhYWE7XG4gIC0tYWMtdGV4dC1tdXRlZDogI2ZiYWFhYTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5hYy1zdGF0dXMtZXJyb3IgLmFjLXRpbGUge1xuICBiYWNrZ3JvdW5kOiAjN2EzODM4O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1kaXNhYmxlZCB7XG4gIC0tYWMtc3VyZmFjZTogIzU2NWI2NjtcbiAgLS1hYy1ib3JkZXI6ICM2YjcxODA7XG4gIC0tYWMtdGV4dDogIzZiNzE4MDtcbiAgLS1hYy10ZXh0LW11dGVkOiAjNmI3MTgwO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1hY3Rpdml0eS1jYXJkLmFjLXN0YXR1cy1kaXNhYmxlZCAuYWMtdGlsZSB7XG4gIGJhY2tncm91bmQ6ICM2YjcxODA7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xufVxuXG4vKiA9PT0gRm9yY2Ugc3RhdGVzIChwcmV2aWV3LW9ubHksIG1pcnJvcnMgcmVhbCA6aG92ZXIgLyA6YWN0aXZlIDE6MSkgPT09XG4gICBVc2VkIGJ5IHRoZSBcIkZvcmNlIHN0YXRlc1wiIHByZXZpZXcgc2VjdGlvbiB0byBtYWtlIHRyYW5zaWVudCBzdGF0ZXNcbiAgIHNjcmVlbnNob3R0YWJsZS4gS2VlcCBpbiBzeW5jIHdpdGggdGhlIHJlYWwgaG92ZXIvYWN0aXZlIHJ1bGVzIGFib3ZlLiAqL1xuLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5pcy1mb3JjZS1ob3ZlciB7XG4gIC0tYWMtb3ZlcmxheS1vOiAwLjU7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE0KTtcbiAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKDIwLCAyNSwgODAsIDAuMDgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5xZG5hcHJvLWFjdGl2aXR5LWNhcmQuaXMtZm9yY2UtcHJlc3NlZCB7XG4gIC0tYWMtb3ZlcmxheS1vOiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTg1KTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aXZpdHktY2FyZC5pcy1mb3JjZS1ob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCk7XG59XG5cbi8qID09PSBTbWFsbGVzdCBzY3JlZW4gKDMyMHB4KSA9PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAzMjBweCkge1xuICAucWRuYXByby1hY3Rpdml0eS1jYXJkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwcHggMWZyO1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGdhcDogOHB4O1xuICB9XG5cbiAgLnFkbmFwcm8tYWN0aXZpdHktY2FyZCAuYWMtdGlsZSB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICB9XG5cbiAgLnFkbmFwcm8tYWN0aXZpdHktY2FyZCAuYWMtdGlsZS10aWNrIHN2ZyB7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICB9XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9hY3Rpdml0eS1pY29uL19hY3Rpdml0eS1pY29uLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi5xZG5hcHJvLWFjdGl2aXR5LWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTQwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1hY3Rpdml0eS1pY29uIC5hY3Rpdml0eS1pY29uLWltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4ucWRuYXByby1hY3Rpdml0eS1pY29uLmFjdGl2aXR5LWljb24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG59XG4ucWRuYXByby1hY3Rpdml0eS1pY29uLmFjdGl2aXR5LWljb24tbWlzc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgYm9yZGVyOiAxcHggZGFzaGVkICNjNGM3Y2M7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cbi5xZG5hcHJvLWFjdGl2aXR5LWljb24uYWN0aXZpdHktaWNvbi1taXNzaW5nOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiP1wiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzg5OGU5OTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aXZpdHktaWNvbi5hY3Rpdml0eS1pY29uLW1pc3Npbmcge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpO1xuICBib3JkZXItY29sb3I6ICM1NjViNjY7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGl2aXR5LWljb24uYWN0aXZpdHktaWNvbi1taXNzaW5nOjphZnRlciB7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvYWN0aXZpdHktaWNvbi1waWNrZXIvX2FjdGl2aXR5LWljb24tcGlja2VyLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogcWRuYXByby1hY3Rpdml0eS1pY29uLXBpY2tlclxuICogUG9ydGVkIGludG8gdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIHNvIHRoZSBwaWNrZXIgaXMgc3R5bGVkIG9uXG4gKiB2MSBwYWdlcyB0aGF0IGxvYWQgdGhlIGJ1bmRsZSAoaXQgcHJldmlvdXNseSBvbmx5IGxpdmVkIGlubGluZSBpblxuICogdGhlIHByZXZpZXcgKyBhcyBhIGZvci1TYW5kZXIgU0NTUyBkcm9wLWluKS4gW0tpbSAyMDI2LTA1LTMxXVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA4cHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbi5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyICosXG4ucWRuYXByby1hY3Rpdml0eS1pY29uLXBpY2tlciAqOjpiZWZvcmUsXG4ucWRuYXByby1hY3Rpdml0eS1pY29uLXBpY2tlciAqOjphZnRlciB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLnFkbmFwcm8tYWN0aXZpdHktaWNvbi1waWNrZXIgLmFpcC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCAxZnIpOyBnYXA6IDRweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyIC5haXAtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7IH1cbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktaWNvbi1waWNrZXIgLmFpcC10aWxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTFlM2U2O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcyBlYXNlLCBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwgYm94LXNoYWRvdyAxNTBtcyBlYXNlLCB0cmFuc2Zvcm0gMTAwbXMgZWFzZTtcbn1cbi5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyIC5haXAtdGlsZSBxZG5hcHJvLWFjdGl2aXR5LWljb24geyBwb2ludGVyLWV2ZW50czogbm9uZTsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbi5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyIC5haXAtdGlsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2ViZWRmYjsgYm9yZGVyLWNvbG9yOiAjYjhiZGU4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG4ucWRuYXByby1hY3Rpdml0eS1pY29uLXBpY2tlciAuYWlwLXRpbGU6YWN0aXZlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4ucWRuYXByby1hY3Rpdml0eS1pY29uLXBpY2tlciAuYWlwLXRpbGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDA0OTlhOyBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg3MCwgODIsIDI0MywgMC4yMCk7XG59XG4ucWRuYXByby1hY3Rpdml0eS1pY29uLXBpY2tlciAuYWlwLXRpbGUuYWlwLXRpbGUtc2VsZWN0ZWQge1xuICAgIGJvcmRlci1jb2xvcjogIzQ2NTJmMzsgYmFja2dyb3VuZDogcmdiYSg3MCwgODIsIDI0MywgMC4wNik7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNzAsIDgyLCAyNDMsIDAuMjUpO1xufVxuLnFkbmFwcm8tYWN0aXZpdHktaWNvbi1waWNrZXIgLmFpcC10aWxlLmFpcC10aWxlLXNlbGVjdGVkOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSg3MCwgODIsIDI0MywgMC4xMCk7IH1cblxuLnFkbmFwcm8tYWN0aXZpdHktaWNvbi1waWNrZXIgLmFpcC1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZy10b3A6IDJweDtcbn1cbi8qIFwiVmlldyBtb3JlXCIgKE1lZXIgaWNvbmVuKSB1c2VzIHFkbmFwcm8tYnV0dG9uIChzdWJ0bGUtcHVycGxlLCBzbWFsbCkuICovXG5cbi8qIC0tLS0gY3VycmVudC1vbmx5ICgwNC4wOC4yMDI2KSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEtpbSwgdGFrZW5saWpzdC1pbnN0ZWxsaW5nZW46IFwiaWsgd2lsIGdld29vbiBhbGxlZW4gZGUgaHVpZGlnZSBpY29uIGxhdGVuXG4gICB6aWVuIGVuIGRlIG1lZXIgaWNvbiBrbm9wIG5hYXN0IGVsa2Fhciwgb20gcnVpbXRlIHRlIGJlc3BhcmVuXCIuIERlIGhvc3QgaXNcbiAgIG5vcm1hYWwgZWVuIEtPTE9NIChncmlkIGJvdmVuLCBrbm9wIGVyb25kZXIpOyBpbiBkZXplIHN0YW5kIHdvcmR0IGhpaiBlZW5cbiAgIFJJSiwgem9kYXQgZGUgZW5lIHRlZ2VsIGVuIGRlIGtub3AgbmFhc3QgZWxrYWFyIHN0YWFuLiBEYXQgc2NoZWVsdCBvcCBlZW5cbiAgIGRpY2h0ZSBpbnN0ZWxsaW5nZW5wYWdpbmEgZWVuIGhlbGUgcmVnZWwgaG9vZ3RlLlxuICAgWmllIHFkbmEtYWN0aXZpdHktaWNvbi1waWNrZXIuanMncyBgY3VycmVudC1vbmx5YCBub3RlIHZvb3IgZGUgcmVzdC4gKi9cbi5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyLmFpcC1jdXJyZW50LW9ubHkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi8qIERlIGdyaWQgaGVlZnQgaGllciDDqcOpbiB0ZWdlbCwgZHVzIGdlZW4ga29sb21tZW5yYXN0ZXIgbWVlciBub2RpZy4gKi9cbi5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyLmFpcC1jdXJyZW50LW9ubHkgLmFpcC1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuLyogRGUgMnB4IGRpZSBkZSBrbm9wIGluIGRlIGtvbG9tc3RhbmQgdmFuIGRlIGdyaWQgYWZkdXd0LCBob29ydCBoaWVyIG5pZXQ6XG4gICBuYWFzdCBlbGthYXIgbW9ldGVuIHRlZ2VsIGVuIGtub3Agb3Agw6nDqW4gbGlqbiBzdGFhbi4gKi9cbi5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyLmFpcC1jdXJyZW50LW9ubHkgLmFpcC1hY3Rpb25zIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cbi8qIExlZ2UgdGVnZWw6IGFsbGVlbiB6aWNodGJhYXIgem9sYW5nIGVyIG5vZyBnZWVuIGljb29uIGdla296ZW4gaXMuIEhvdWR0IGRlXG4gICBmb290cHJpbnQgdmFzdCB6b2RhdCBkZSByaWogbmlldCB2ZXJzcHJpbmd0LCBlbiBnZXN0aXBwZWxkIHpvZGF0IGhldCBhbHNcbiAgIFwiaGllciBrb210IGlldHNcIiBsZWVzdCBlbiBuaWV0IGFscyBlZW4ga2Fwb3QgaWNvb24uICovXG4ucWRuYXByby1hY3Rpdml0eS1pY29uLXBpY2tlciAuYWlwLXRpbGUuYWlwLXRpbGUtZW1wdHkge1xuICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnFkbmFwcm8tYWN0aXZpdHktaWNvbi1waWNrZXIuYWlwLWRpc2FibGVkIHsgb3BhY2l0eTogMC41NTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogRXJyb3Igc3RhdGUgKi9cbi5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyLmFpcC1lcnJvciAuYWlwLWdyaWQge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzY1YTVhO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTk4LCA5MCwgOTAsIDAuMTgpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTk4LCA5MCwgOTAsIDAuMDQpO1xufVxuLnFkbmFwcm8tYWN0aXZpdHktaWNvbi1waWNrZXIgLmFpcC1lcnJvci1tZXNzYWdlIHtcbiAgICBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgY29sb3I6ICNjNjVhNWE7IGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qIFNpemU6IGNvbXBhY3QgLSBkZW5zZSBncmlkIGZvciB0aGUgZnVsbC1zZXQgcGlja2VyIG92ZXJsYXkgKi9cbi5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyLmFpcC1zaXplLWNvbXBhY3QgeyBnYXA6IDZweDsgfVxuLnFkbmFwcm8tYWN0aXZpdHktaWNvbi1waWNrZXIuYWlwLXNpemUtY29tcGFjdCAuYWlwLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpOyBnYXA6IDRweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgIC5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyLmFpcC1zaXplLWNvbXBhY3QgLmFpcC1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgMWZyKTsgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLnFkbmFwcm8tYWN0aXZpdHktaWNvbi1waWNrZXIuYWlwLXNpemUtY29tcGFjdCAuYWlwLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpOyB9XG59XG4ucWRuYXByby1hY3Rpdml0eS1pY29uLXBpY2tlci5haXAtc2l6ZS1jb21wYWN0IC5haXAtdGlsZSB7IGJvcmRlci1yYWRpdXM6IDZweDsgfVxuLnFkbmFwcm8tYWN0aXZpdHktaWNvbi1waWNrZXIuYWlwLXNpemUtY29tcGFjdCAuYWlwLXRpbGU6aG92ZXIgeyB0cmFuc2Zvcm06IG5vbmU7IH1cbi5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyLmFpcC1zaXplLWNvbXBhY3QgLmFpcC10aWxlLmFpcC10aWxlLXNlbGVjdGVkIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSg3MCwgODIsIDI0MywgMC4zMCk7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9hY3Rpdml0eS1pY29uLXBpY2tlci1vdmVybGF5L19hY3Rpdml0eS1pY29uLXBpY2tlci1vdmVybGF5LWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogcWRuYXByby1hY3Rpdml0eS1pY29uLXBpY2tlci1vdmVybGF5XG4gKiBBbmNob3JlZCBzZWFyY2ggcG9wb3ZlciBmb3IgdGhlIGZ1bGwgYWN0aXZpdHktaWNvbiBzZXQuIFBvcnRlZFxuICogaW50byB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgc28gaXQgaXMgc3R5bGVkIG9uIHYxIHBhZ2VzIHRoYXRcbiAqIGxvYWQgdGhlIGJ1bmRsZSAoaXQgcHJldmlvdXNseSBvbmx5IGxpdmVkIGlubGluZSBpbiB0aGUgcHJldmlldykuXG4gKiBUaGUgSlMgc2V0cyBwb3NpdGlvbiAobGVmdC90b3Avd2lkdGgpIGlubGluZSBhbmQgdG9nZ2xlcyB0aGVcbiAqIC5haXAtb3ZlcmxheS1vcGVuIGNsYXNzOyB0aGlzIENTUyBzdXBwbGllcyB0aGUgYm94ICsgY2hyb21lLlxuICogei1pbmRleCA5MTAwIGtlZXBzIGl0IGFib3ZlIHFkbmFwcm8tbW9kYWwgKHotaW5kZXggOTAwMCkuXG4gKiBbS2ltIDIwMjYtMDUtMzFdXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnFkbmFwcm8tYWN0aXZpdHktaWNvbi1waWNrZXItb3ZlcmxheSB7IGRpc3BsYXk6IGNvbnRlbnRzOyB9XG4ucWRuYXByby1hY3Rpdml0eS1pY29uLXBpY2tlci1vdmVybGF5ICosXG4ucWRuYXByby1hY3Rpdml0eS1pY29uLXBpY2tlci1vdmVybGF5ICo6OmJlZm9yZSxcbi5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyLW92ZXJsYXkgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5haXAtb3ZlcmxheS1wb3BvdmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogOTEwMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzRjN2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAxMnB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjE2KSxcbiAgICAgICAgMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgbWF4LWhlaWdodDogNTIwcHg7XG4gICAgd2lkdGg6IDQ0MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogIzBiMGIwZDtcbiAgICBhbmltYXRpb246IGFpcC1vdmVybGF5LWluIDE0MG1zIGN1YmljLWJlemllcigwLjIsIDAuOCwgMC4yLCAxKTtcbn1cbi5haXAtb3ZlcmxheS1wb3BvdmVyLmFpcC1vdmVybGF5LW9wZW4geyBkaXNwbGF5OiBmbGV4OyB9XG5Aa2V5ZnJhbWVzIGFpcC1vdmVybGF5LWluIHtcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHNjYWxlKDAuOTgpOyB9XG4gICAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTsgfVxufVxuXG4uYWlwLW92ZXJsYXktaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxMnB4OyBwYWRkaW5nOiAxMnB4IDEycHggMTJweCAxNnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWVhOyBmbGV4LXNocmluazogMDtcbn1cbi5haXAtb3ZlcmxheS10aXRsZSB7XG4gICAgbWFyZ2luOiAwOyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAyMHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogIzQwNDk5YTtcbn1cbi5haXAtb3ZlcmxheS1jbG9zZSB7IGZsZXgtc2hyaW5rOiAwOyB9XG5cbi5haXAtb3ZlcmxheS1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogMTJweCAxNnB4IDAgMTZweDsgZmxleDogMSAxIGF1dG87IG1pbi1oZWlnaHQ6IDA7XG59XG4uYWlwLW92ZXJsYXktdG9vbGJhciB7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OyBmbGV4LXNocmluazogMDtcbn1cbi5haXAtb3ZlcmxheS1zZWFyY2ggeyBmbGV4OiAxIDEgYXV0bzsgbWluLXdpZHRoOiAwOyB9XG4uYWlwLW92ZXJsYXktY291bnQge1xuICAgIGZsZXg6IDAgMCBhdXRvOyBmb250LXNpemU6IDExcHg7IGNvbG9yOiAjNmU2ZTczOyB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYWlwLW92ZXJsYXktc2Nyb2xsIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgbWluLWhlaWdodDogMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcGFkZGluZzogMTJweCA0cHggMTJweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWVhOyBtYXJnaW4tdG9wOiAtNHB4O1xufVxuLmFpcC1vdmVybGF5LXNjcm9sbDo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogMTBweDsgfVxuLmFpcC1vdmVybGF5LXNjcm9sbDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xOCk7IGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG4uYWlwLW92ZXJsYXktc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yOCk7IH1cblxuLmFpcC1vdmVybGF5LXNlbnRpbmVsIHtcbiAgICBmbGV4LXNocmluazogMDsgaGVpZ2h0OiAxcHg7IG1hcmdpbi10b3A6IDRweDsgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5haXAtb3ZlcmxheS1lbXB0eSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiA0MHB4IDhweDsgY29sb3I6ICM2ZTZlNzM7XG59XG4uYWlwLW92ZXJsYXktZW1wdHktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6ICMxZDFkMWY7IG1hcmdpbi1ib3R0b206IDRweDtcbn1cbi5haXAtb3ZlcmxheS1lbXB0eS1zdWIgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiAjNmU2ZTczOyB9XG5cbi5haXAtb3ZlcmxheS1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTZweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZWE7IGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBDb21wYWN0IHRpbGUgZ3JpZCBpbnNpZGUgdGhlIHBvcG92ZXIgKGF1dG8tZmlsbCAzNnB4IGNlbGxzKS4gKi9cbi5haXAtb3ZlcmxheS1wb3BvdmVyIC5xZG5hcHJvLWFjdGl2aXR5LWljb24tcGlja2VyLmFpcC1zaXplLWNvbXBhY3QgLmFpcC1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIDM2cHgpO1xuICAgIGdhcDogOHB4O1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogaWNvbi1zZXQ9XCJtZGlcIiDigJQgb3duIHNpbXBsZSB0aWxlIGdyaWQgKGZsb3dlZGl0b3IgYXBwZWFyYW5jZSBtb2RhbCxcbiAqIDEyLjA3LjIwMjYpLiBQYXJhbGxlbCB0byB0aGUgLmFpcC1ncmlkLy5haXAtdGlsZSByZWNpcGUgYWJvdmUgc28gYm90aFxuICogbW9kZXMgbG9vayBpZGVudGljYWwsIFdJVEhPVVQgdG91Y2hpbmcgcWRuYXByby1hY3Rpdml0eS1pY29uLXBpY2tlclxuICogaXRzZWxmICh0aGF0IGNvbXBvbmVudCBpcyBhIGxvYWQtYmVhcmluZyBUYXNrbGlzdHMgZGVwZW5kZW5jeSDigJQgc2VlIHRoZVxuICogSlMgZG9jYmxvY2sgZm9yIHdoeSB0aGlzIHN0YXlzIGEgc2VwYXJhdGUsIHBhcmFsbGVsIGdyaWQpLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYWlwLW92ZXJsYXktbWRpLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCAzNnB4KTtcbiAgICBnYXA6IDhweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xufVxuLmFpcC1vdmVybGF5LW1kaS10aWxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMWUzZTY7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY29sb3I6ICM1NjViNjY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcyBlYXNlLCBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwgYm94LXNoYWRvdyAxNTBtcyBlYXNlO1xufVxuLmFpcC1vdmVybGF5LW1kaS10aWxlIHFkbmFwcm8taWNvbiB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uYWlwLW92ZXJsYXktbWRpLXRpbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNlYmVkZmI7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjhiZGU4O1xufVxuLmFpcC1vdmVybGF5LW1kaS10aWxlOmZvY3VzLXZpc2libGUge1xuICAgIGJvcmRlci1jb2xvcjogIzQwNDk5YTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg3MCwgODIsIDI0MywgMC4yMCk7XG59XG4uYWlwLW92ZXJsYXktbWRpLXRpbGUuYWlwLW92ZXJsYXktbWRpLXRpbGUtc2VsZWN0ZWQge1xuICAgIGJvcmRlci1jb2xvcjogIzQ2NTJmMztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDcwLCA4MiwgMjQzLCAwLjA2KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg3MCwgODIsIDI0MywgMC4yNSk7XG4gICAgY29sb3I6ICM0MDQ5OWE7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuYWlwLW92ZXJsYXktbWRpLXRpbGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIGNvbG9yOiAjZDFkNWRiO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5haXAtb3ZlcmxheS1tZGktdGlsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCk7XG59XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmFpcC1vdmVybGF5LW1kaS10aWxlLmFpcC1vdmVybGF5LW1kaS10aWxlLXNlbGVjdGVkIHtcbiAgICBib3JkZXItY29sb3I6ICNhNWFjZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSg3MCwgODIsIDI0MywgMC4xOCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNzAsIDgyLCAyNDMsIDAuMzApO1xuICAgIGNvbG9yOiAjYTVhY2ZmO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1hY3Rpdml0eS1yb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIFFETkEgdG9rZW5zIHVzZWQ6XG4vLyAgICBTdXJmYWNlL0dsYXNzL0xpZ2h0ICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC42MCkgICBkZWZhdWx0IGJnXG4vLyAgICBTdXJmYWNlL0dsYXNzL0xpZ2h0LUhvdmVyICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC44MikgICBob3ZlciBiZ1xuLy8gICAgU3VyZmFjZS9HbGFzcy9MaWdodC1BY3RpdmUgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNzApICAgcHJlc3NlZCBiZ1xuLy8gICAgU3VyZmFjZS9HbGFzcy9EYXJrICAgICAgICAgICAgICByZ2JhKDIwLDIyLDM1LDAuNzApICAgICAgZGFyayBkZWZhdWx0IGJnXG4vLyAgICBTdXJmYWNlL0dsYXNzL0RhcmstSG92ZXIgICAgICAgIHJnYmEoNDAsNDQsNjUsMC44NSkgICAgICBkYXJrIGhvdmVyIGJnXG4vLyAgICBCb3JkZXIvR2xhc3MvTGlnaHQgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43MCkgICBsaWdodCBib3JkZXJcbi8vICAgIEJvcmRlci9HbGFzcy9EYXJrICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjA4KSAgIGRhcmsgYm9yZGVyXG4vLyAgICBQdXJwbGUtSGlnaGxpZ2h0ICAgICAgICAgICAgICAgICM0NjUyZjMgICAgICAgICAgICAgICAgICBkcm9wIGluZGljYXRvcnMsIGRyYWcgYWNjZW50XG4vLyAgICBJY29uL0FjdGlvbi1QdXJwbGUgKHByZXNzZWQpICAgICM0MDQ5OWEgICAgICAgICAgICAgICAgICBmb2N1cyByaW5nLCBhY3RpdmUgYnRuIGNvbG9yXG4vLyAgICBQdXJwbGUtSGlnaGxpZ2h0IEAgMjUlICAgICAgICAgIHJnYmEoNzAsODIsMjQzLDAuMjUpICAgICBmb2N1cyBnbG93XG4vLyAgICBUZXh0L09uLUJvZHkgICAgICAgICAgICAgICAgICAgICMwYjBiMGQgICAgICAgICAgICAgICAgICByb3cgbmFtZVxuLy8gICAgVGV4dC9Pbi1EYXJrICAgICAgICAgICAgICAgICAgICAjZjNmNGY2ICAgICAgICAgICAgICAgICAgZGFyayBtb2RlIHJvdyBuYW1lXG4vLyAgICBJY29uL1N1YnRsZSAgICAgICAgICAgICAgICAgICAgICM2YjcyODAgICAgICAgICAgICAgICAgICBkZWZhdWx0IGJ1dHRvbiBpY29uXG4vLyAgICBJY29uL0ZhZGVkICAgICAgICAgICAgICAgICAgICAgICM5Y2EzYWYgICAgICAgICAgICAgICAgICBzZXR0aW5ncyBidXR0b24gaWNvblxuLy8gICAgU3VyZmFjZS9Sb3ctYnRuLWRlZmF1bHQgICAgICAgICByZ2JhKDAsMCwwLDAuMDQpICAgICAgICAgYnV0dG9uIHJlc3RpbmcgYmdcbi8vICAgIEJvcmRlci9EaXZpZGVyICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjA4KSAgICAgICAgIHZlcnRpY2FsIGRpdmlkZXIgKyByZXF1aXJlZCBib3JkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5xZG5hcHJvLWFjdGl2aXR5LXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLy8gRm9jdXMgcmluZyB0b2tlbnMg4oCUIG92ZXJyaWRkZW4gcGVyIGRhcmsgbW9kZVxuICAgIC0tYy1mb2N1cy1yaW5nOiAjNDA0OTlhO1xuICAgIC0tYy1mb2N1cy1nbG93OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbn1cblxuLy8gLS0tLSBHbGFzcyBjYXJkIC0tLS1cblxuLmFjdGl2aXR5LXJvdy1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIG1pbi1oZWlnaHQ6IDY0cHg7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiA4cHggMTJweCA4cHggMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogZ3JhYjtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLy8gQ2hlY2staW4gaXMgcGlubmVkIHRvIHRoZSB0b3Ag4oCUIG5vdCBkcmFnZ2FibGUuIEl0IElTIGNsaWNrYWJsZSAob3BlbnMgaXRzXG4gICAgLy8gc2V0dGluZ3MgbW9kYWwpLCBzbyBzaG93IGEgcG9pbnRlciwgbmV2ZXIgdGhlIGdyYWIvZ3JhYmJpbmcgYWZmb3JkYW5jZS4gW0tpbSAyMDI2LTA2LTE2XVxuICAgICYuaXMtY2hlY2tpbixcbiAgICAmLmlzLWNoZWNraW46YWN0aXZlIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjApO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcwKTtcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcblxuICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQgMTUwbXMgZWFzZSxcbiAgICAgICAgYm9yZGVyLWNvbG9yIDE1MG1zIGVhc2UsXG4gICAgICAgIGJveC1zaGFkb3cgMTUwbXMgZWFzZSxcbiAgICAgICAgdHJhbnNmb3JtIDEwMG1zIGVhc2U7XG59XG5cbi8vIC0tLS0gU3RhdGU6IEhvdmVyIChoYW5kbGVkIGluIGFjY2VudCBiYXIgYmxvY2sgYmVsb3cpIC0tLS1cblxuLy8gLS0tLSBTdGF0ZTogRm9jdXMgLS0tLVxuXG4uYWN0aXZpdHktcm93LWlubmVyOmZvY3VzLXZpc2libGUsXG4uYWN0aXZpdHktcm93LWlubmVyLmZvcmNlLWZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMCAwIDJweCB2YXIoLS1jLWZvY3VzLXJpbmcpLFxuICAgICAgICAwIDAgMCA2cHggdmFyKC0tYy1mb2N1cy1nbG93KTtcbn1cblxuLmFjdGl2aXR5LXJvdy1pbm5lci5kaXNhYmxlZDpmb2N1cy12aXNpYmxlLFxuLmFjdGl2aXR5LXJvdy1pbm5lci5kaXNhYmxlZC5mb3JjZS1mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLy8gLS0tLSBTdGF0ZTogQWN0aXZlIC8gUHJlc3NlZCAtLS0tXG4vLyBQdXJwbGUgdGludCArIHNjYWxlIHNpZ25hbHMgXCJJJ20gb3BlbmluZyB0aGUgZmxvdyBlZGl0b3JcIiDigJQgc3Ryb25nIGVub3VnaCB0byBmZWVsIG9uIGNsaWNrXG5cbi8vIC5pcy1wcmVzc2luZyBpcyBzZXQgdmlhIEpTIG9ubHkgd2hlbiB0aGUgcGFuZWwgaXRzZWxmIChub3QgYSBjaGlsZCBidXR0b24pIGlzIHByZXNzZWQuXG4vLyBUaGlzIHByZXZlbnRzIHRoZSBwcmVzc2VkIHN0YXRlIGZyb20gZmlyaW5nIHdoZW4gY2xpY2tpbmcgYnV0dG9ucyBpbnNpZGUgdGhlIHJvdy5cbi5hY3Rpdml0eS1yb3ctaW5uZXIuaXMtcHJlc3Npbmc6bm90KC5kaXNhYmxlZCksXG4uYWN0aXZpdHktcm93LWlubmVyLmZvcmNlLWFjdGl2ZTpub3QoLmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg3MCwgODIsIDI0MywgMC4xMCk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDcwLCA4MiwgMjQzLCAwLjI4KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoNzAsIDgyLCAyNDMsIDAuMTIpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NzUpO1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgICAgYmFja2dyb3VuZCA2MG1zIGVhc2UsXG4gICAgICAgIGJvcmRlci1jb2xvciA2MG1zIGVhc2UsXG4gICAgICAgIHRyYW5zZm9ybSA2MG1zIGVhc2U7XG59XG5cbi8vIC0tLS0gU3RhdGU6IERpc2FibGVkIC0tLS1cblxuLmFjdGl2aXR5LXJvdy1pbm5lci5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC40NTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vLyAtLS0tIFN0YXRlOiBBcmNoaXZlZCAtLS0tXG4vLyBWaXN1YWwgY3VlIHRoYXQgdGhpcyBhY3Rpdml0eSBpcyBpbiB0aGUgYXJjaGl2ZSBzZWN0aW9uLiBTdGlsbCBmdWxseVxuLy8gaW50ZXJhY3RpdmUgKGRyYWctYW5kLWRyb3AgYmFjaywgY29nLW1lbnUgcmVhY3RpdmF0ZSksIG9ubHkgdGhlXG4vLyBcIm5hdmlnYXRlIHRvIGZsb3cgZWRpdG9yXCIgYWZmb3JkYW5jZSBpcyBzdXBwcmVzc2VkIChubyBob3ZlciBhY2NlbnQpLlxuLmFjdGl2aXR5LXJvdy1pbm5lci5hcmNoaXZlZCB7XG4gICAgb3BhY2l0eTogMC42MDtcbn1cbi5hY3Rpdml0eS1yb3ctaW5uZXIuYXJjaGl2ZWQ6aG92ZXI6bm90KC5kaXNhYmxlZCkgLnJvdy1hY2NlbnQtYmFyIHtcbiAgICBvcGFjaXR5OiAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBubyBhY2NlbnQtYmFyIOKAlCBhcmNoaXZlZCByb3dzIGFyZSBub3Qgb3BlbmFibGVcbn1cbi5hY3Rpdml0eS1yb3ctaW5uZXIuYXJjaGl2ZWQuaXMtcHJlc3Npbmc6bm90KC5kaXNhYmxlZCksXG4uYWN0aXZpdHktcm93LWlubmVyLmFyY2hpdmVkLmZvcmNlLWFjdGl2ZTpub3QoLmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYwKTsgLy8gc3VwcHJlc3MgcHJlc3NlZC1zdGF0ZSBwdXJwbGUgdGludFxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcwKTtcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vIC0tLS0gVmFyaWFudDogQnJpZWZpbmcgLS0tLVxuLy8gQSBicmllZmluZyByb3cgaXMgcmVhZGluZyBtYXRlcmlhbCBwYXJrZWQgaW4gdGhlIGFjdGl2aXR5IGxpc3QsIG5vdCB3b3JrIHRvXG4vLyBjb21wbGV0ZS4gSXQgbXVzdCBiZSByZWFkYWJsZSBhcyBcIm5vdCBhIHRhc2tcIiBhdCBhIGdsYW5jZSwgZnJvbSBhY3Jvc3MgdGhlXG4vLyBsaXN0LCB3aXRob3V0IHJlYWRpbmcgYSBzaW5nbGUgd29yZC4gVGhyZWUgc2lnbmFscyBkbyB0aGF0OlxuLy8gICAxLiBhIHNvZnQgYmx1ZSBzdXJmYWNlIGluc3RlYWQgb2YgdGhlIHdoaXRlIGdsYXNzIGV2ZXJ5IGFjdGl2aXR5IHVzZXNcbi8vICAgICAgKHNhbWUgcGFsZXR0ZSBhcyB0aGUgYmx1ZSBxZG5hcHJvLXRhZyBpdCBjYXJyaWVzKSxcbi8vICAgMi4gYSBzaG9ydGVyIHJvdyDigJQgaXQgaGFzIG5vIHJlcXVpcmVkIGNoZWNrYm94LCBubyB2ZXJzaW9uIGFuZCBubyBjb2x1bW5cbi8vICAgICAgYnV0dG9ucywgc28gdGhlIGV4dHJhIGhlaWdodCB3b3VsZCBqdXN0IGJlIGVtcHR5IHNwYWNlLFxuLy8gICAzLiB0aGUgYmx1ZSBcIkJyaWVmaW5nXCIgdHlwZSB0YWcgcmVuZGVyZWQgYnkgdGhlIGNvbXBvbmVudC5cbi8vIEV2ZXJ5dGhpbmcgaW50ZXJhY3RpdmUgc3RheXMgaWRlbnRpY2FsOiBpdCBkcmFncywgcmVvcmRlcnMgYW5kIG9wZW5zIGxpa2UgYW55XG4vLyBvdGhlciByb3csIHNvIHRoZSBwdXJwbGUgYWNjZW50IGJhciBpcyBkZWxpYmVyYXRlbHkgbGVmdCBwdXJwbGUg4oCUIHRoYXQgYmFyIGlzXG4vLyB0aGUgZHJhZy9vcGVuIGFmZm9yZGFuY2UsIG5vdCBhIHR5cGUgc2lnbmFsLiBbS2ltIDIwMjYtMDgtMDJdXG4uYWN0aXZpdHktcm93LWlubmVyLmlzLWJyaWVmaW5nIHtcbiAgICBtaW4taGVpZ2h0OiA1NnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjMwLCAyMzksIDI0OSwgMC43NSk7ICAgICAgLy8gVGFnL0JsdWUgYmcgQCA3NSUgb3ZlciB0aGUgZ2xhc3NcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTgxLCAyMDYsIDIzNywgMC45MCk7ICAgIC8vIFRhZy9CbHVlLTJcbn1cblxuLmFjdGl2aXR5LXJvdy1pbm5lci5pcy1icmllZmluZzpob3Zlcjpub3QoLmRpc2FibGVkKSxcbi5hY3Rpdml0eS1yb3ctaW5uZXIuaXMtYnJpZWZpbmcuZm9yY2UtaG92ZXI6bm90KC5kaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjA2LCAyMjIsIDI0MywgMC44OCk7ICAgICAgLy8gVGFnL0JsdWUgYmctaG92ZXJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTMzLCAxNjEsIDIzNiwgMC45MCk7ICAgIC8vIFRhZy9CcmlnaHQtYmx1ZVxufVxuXG4vLyAtLS0tIFN0YXRlOiBEcmFnZ2luZyAtLS0tXG5cbnFkbmFwcm8tYWN0aXZpdHktcm93W2RyYWdnaW5nXSAuYWN0aXZpdHktcm93LWlubmVyIHtcbiAgICBvcGFjaXR5OiAwLjM1O1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi8vIC0tLS0gRHJvcCBpbmRpY2F0b3JzIC0tLS1cblxucWRuYXByby1hY3Rpdml0eS1yb3dbZHJvcC1hYm92ZV0gLmFjdGl2aXR5LXJvdy1pbm5lciB7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAtM3B4IDAgMCAjNDY1MmYzLFxuICAgICAgICAwIDAgMCAycHggcmdiYSg3MCwgODIsIDI0MywgMC4xNSk7XG59XG5cbnFkbmFwcm8tYWN0aXZpdHktcm93W2Ryb3AtYmVsb3ddIC5hY3Rpdml0eS1yb3ctaW5uZXIge1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgM3B4IDAgMCAjNDY1MmYzLFxuICAgICAgICAwIDAgMCAycHggcmdiYSg3MCwgODIsIDI0MywgMC4xNSk7XG59XG5cbi8vIC0tLS0gU3RhdGU6IEhvdmVyIC0tLS1cblxuLmFjdGl2aXR5LXJvdy1pbm5lcjpob3Zlcjpub3QoLmRpc2FibGVkKSxcbi5hY3Rpdml0eS1yb3ctaW5uZXIuZm9yY2UtaG92ZXI6bm90KC5kaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Mik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTApO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjEwKTtcbn1cblxuLy8gLS0tLSBMZWZ0IGFjY2VudCBiYXIgLS0tLVxuLy8gUmVhbCBET00gZWxlbWVudCDigJQgYXZvaWRzIGJhY2tkcm9wLWZpbHRlciBzdGFja2luZyBjb250ZXh0IGlzc3VlcyB3aXRoIDo6YmVmb3JlLlxuLy8gb3ZlcmZsb3c6aGlkZGVuIGNsaXBzIGl0IHRvIGJvcmRlci1yYWRpdXMuIGJveC1zaGFkb3cgKGZvY3VzIHJpbmcpIGlzIHVuYWZmZWN0ZWQuXG5cbi5hY3Rpdml0eS1yb3ctaW5uZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yb3ctYWNjZW50LWJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDRweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZDogIzQ2NTJmMztcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGVhc2U7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuLmFjdGl2aXR5LXJvdy1pbm5lcjpob3Zlcjpub3QoLmRpc2FibGVkKSAucm93LWFjY2VudC1iYXIsXG4uYWN0aXZpdHktcm93LWlubmVyLmZvcmNlLWhvdmVyOm5vdCguZGlzYWJsZWQpIC5yb3ctYWNjZW50LWJhciB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLy8gQ2hlY2staW4gaXMgcGlubmVkIChub3QgZHJhZ2dhYmxlKSwgc28gdGhlIGFjY2VudCBiYXIg4oCUIHdoaWNoIGlzIHRoZSBkcmFnL2dyaXBcbi8vIGFmZm9yZGFuY2UgKGl0IHJlcGxhY2VkIHRoZSBvbGQgZ3JpcCBoYW5kbGUpIOKAlCBtdXN0IE5PVCBhcHBlYXIgb24gaG92ZXIuIFtLaW0gMjAyNi0wNi0xNl1cbi5hY3Rpdml0eS1yb3ctaW5uZXIuaXMtY2hlY2tpbjpob3ZlciAucm93LWFjY2VudC1iYXIsXG4uYWN0aXZpdHktcm93LWlubmVyLmlzLWNoZWNraW4uZm9yY2UtaG92ZXIgLnJvdy1hY2NlbnQtYmFyIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4vLyBHcmlwIGVsZW1lbnQgcmVtb3ZlZCBmcm9tIEhUTUwg4oCUIHJlcGxhY2VkIGJ5IGFjY2VudCBiYXJcbi5yb3ctZ3JpcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gLS0tLSBMYXlvdXQgLS0tLVxuXG4ucm93LWxlZnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5yb3ctYWN0aXZpdHktaWNvbiB7IGZsZXgtc2hyaW5rOiAwOyB9XG5cbi5yb3ctaWNvbi1wbGFjZWhvbGRlciB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucm93LWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5yb3ctbmFtZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMwYjBiMGQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi8vIC5yb3ctc3ViIHdyYXBzIHN0YXR1cyBiYWRnZSArIG1ldGEgKElEL3ZlcnNpb24pIG9uIG9uZSBzdWJ0aXRsZSBsaW5lXG4ucm93LXN1YiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnJvdy1zdWI6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG5cbi5yb3ctc3RhdHVzIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLnJvdy1zdGF0dXM6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8vIC0tLS0gTWV0YTogYWN0aXZpdHkgSUQgKyB2ZXJzaW9uIG51bWJlciAtLS0tXG5cbi5yb3ctbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNXB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucm93LW1ldGEtaWQsXG4ucm93LW1ldGEtdmVyc2lvbiB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjOWNhM2FmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucm93LW1ldGEtZG90IHtcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZDFkNWRiO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vLyBBY3Rpdml0eSBkZXNjcmlwdGlvbiBvbiB0aGUgc3VidGl0bGUgbGluZSwgYWZ0ZXIgI2lkIMK3IHZlcnNpb24uIFRha2VzIHRoZVxuLy8gcmVtYWluaW5nIHdpZHRoIGFuZCB0cnVuY2F0ZXMgd2l0aCBhbiBlbGxpcHNpcyBzbyBsb25nIGRlc2NyaXB0aW9ucyBuZXZlclxuLy8gYnJlYWsgdGhlIHJvdyBsYXlvdXQgKGZ1bGwgdGV4dCBpbiBhIHRpdGxlIHRvb2x0aXApLiBbS2ltIDIwMjYtMDYtMTddXG4ucm93LW1ldGEtZGVzYyB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjOWNhM2FmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4vLyAtLS0tIEFjdGl2aXR5LXR5cGUgdGFnIC0tLS1cbi8vIFNpdHMgY2VudHJlZCBpbiB0aGUgcm93LCBiZXR3ZWVuIHRoZSB0aXRsZSBibG9jayBhbmQgdGhlIGFjdGlvbiBpY29uc1xuLy8gKEtpbSdzIHNrZXRjaCkuIEFic29sdXRlbHkgcG9zaXRpb25lZCBhZ2FpbnN0IC5hY3Rpdml0eS1yb3ctaW5uZXIgKGFscmVhZHlcbi8vIHBvc2l0aW9uOnJlbGF0aXZlICsgb3ZlcmZsb3c6aGlkZGVuIGZvciB0aGUgYWNjZW50IGJhcikgc28gaXQgbmV2ZXJcbi8vIHBhcnRpY2lwYXRlcyBpbiB0aGUgcm93J3MgZmxleCBzaXppbmcg4oCUIGFkZGluZy9yZW1vdmluZyBpdCBjYW4ndCByZWZsb3cgb3Jcbi8vIHNxdWFzaCAucm93LWxlZnQncyB0aXRsZSBvciAucm93LXJpZ2h0J3MgYnV0dG9ucy4gRW1wdHkgKG5vIHFkbmFwcm8tdGFnXG4vLyBjaGlsZCkgd2hlbiB0aGUgcm93J3MgdHlwZSBoYXMgbm8gZW50cnkgaW4gVFlQRV9UQUdTLiBbS2ltIDIwMjYtMDctMTNdXG4ucm93LXR5cGUtdGFnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8vIFNwYWNlIGJldHdlZW4gdGhlIHR5cGUgdGFnIGFuZCB0aGUgcmVhZC1vbmx5IHJlcGVhdCAvIHNpbmdsZS11bml0XG4gICAgLy8gaW5kaWNhdG9yIHRhZ3MsIHdoZW4gcHJlc2VudC4gW0tpbSAyMDI2LTA3LTEzXVxuICAgIGdhcDogNnB4O1xufVxuXG4vLyBSZWFkLW9ubHkgXCJBbGxvdyBmaWxsaW5nIGluIG11bHRpcGxlIHRpbWVzXCIgLyBcIlNlbGVjdCBvbmUgdW5pdCBhdCBhIHRpbWVcIlxuLy8gaW5kaWNhdG9yIHRhZ3Mg4oCUIGljb24tb25seSBxZG5hcHJvLXRhZyB1c2FnZSAobm8gdGV4dCBjb250ZW50KS4gVGhlIHRhZ1xuLy8gY29tcG9uZW50IGl0c2VsZiBhbHdheXMgcmVuZGVycyBhbiAoZW1wdHkpIC50YWctbGFiZWwgc3BhbiBhbG9uZ3NpZGUgdGhlXG4vLyBpY29uLCBhbmQgaXRzIG93biBnYXA6NHB4IHdvdWxkIG90aGVyd2lzZSBhZGQgbG9wc2lkZWQgdHJhaWxpbmcgcGFkZGluZ1xuLy8gYXJvdW5kIHRoYXQgZW1wdHkgc3Bhbi4gTmV1dHJhbGlzZWQgaGVyZSwgc2NvcGVkIHRvIHRoaXMgb25lIHVzYWdlLFxuLy8gaW5zdGVhZCBvZiB0b3VjaGluZyB0aGUgc2hhcmVkIHRhZyBjb21wb25lbnQuIFtLaW0gMjAyNi0wNy0xM11cbi5yb3ctdHlwZS10YWcgLnJvdy1pY29uLXRhZyB7XG4gICAgZ2FwOiAwO1xufVxuXG4vLyBIaWRlIG9uIG5hcnJvdyByb3dzIHJhdGhlciB0aGFuIGxldCBpdCBvdmVybGFwIGEgbG9uZyB0aXRsZSBvciBjcm93ZCB0aGVcbi8vIGFjdGlvbiBpY29ucyDigJQgdGhlIHRhZyBpcyBhIG5pY2UtdG8taGF2ZSBpZGVudGlmaWVyLCBub3QgY3JpdGljYWwgaW5mby5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5yb3ctdHlwZS10YWcgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi5yb3ctZGl2aWRlciB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIG1hcmdpbjogMTBweCA0cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnJvdy1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vLyAtLS0tIEJ1dHRvbnMgLS0tLVxuLy8gQWxsIGZpdmUgcm93IGJ1dHRvbnMgKGJyaWVmaW5nLCBsb2dpYywgdW5pdC1saXN0LCBzZXR0aW5ncywgZG93bmxvYWQpIHVzZVxuLy8gcWRuYXByby1yb3ctYnRuIChzZWUgX3Jvdy1idG4uc2NzcyBmb3IgdGhlIGJ1dHRvbiBzdHlsaW5nIGl0c2VsZikuXG4vLyBPbmx5IHRoZSBsYXlvdXQgY29udGFpbmVycyAoLnJvdy1jb2wtYnRucywgLnJvdy1idG4tZGl2aWRlcikgbGl2ZSBoZXJlLlxuXG4ucm93LWNvbC1idG5zIHsgZGlzcGxheTogZmxleDsgZ2FwOiA0cHg7IH1cblxuLnJvdy1idG4tZGl2aWRlciB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIG1hcmdpbjogOHB4IDJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vLyAtLS0tIFJlcXVpcmVkIChyb3VuZCBjaGVja2JveCArIGxhYmVsKSAtLS0tXG4vLyBBbHdheXMgcmVuZGVyZWQgc28gdGhlIHVzZXIgY2FuIHRvZ2dsZSBpbiBib3RoIGRpcmVjdGlvbnMgZnJvbSBhbnkgcm93LlxuXG4ucm93LXJlcXVpcmVkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG5cbi5yb3ctcmVxdWlyZWQtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLyAtLS0tIEluZGVudCAoc3ViZmxvdyByb3dzKSAtLS0tXG5cbi5hY3Rpdml0eS1yb3ctaW5uZXIuaW5kZW50IHsgbWFyZ2luLWxlZnQ6IDQ0cHg7IH1cblxuLy8gLS0tLSBXYXJuaW5nIHNsb3QgKyBidXR0b24gKG91dHNpZGUgdGhlIGdsYXNzIGNhcmQpIC0tLS1cbi8vIFNsb3QgaXMgYWx3YXlzIHJlbmRlcmVkIOKAlCBrZWVwcyBhbGwgcm93cyB0aGUgc2FtZSB0b3RhbCB3aWR0aFxuXG4ucm93LXdhcm5pbmctc2xvdCB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJvdy13YXJuaW5nLWJ0biB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjApO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQgMTUwbXMgZWFzZSxcbiAgICAgICAgYm9yZGVyLWNvbG9yIDE1MG1zIGVhc2UsXG4gICAgICAgIGJveC1zaGFkb3cgMTUwbXMgZWFzZTtcbn1cblxuLy8gTm90IGNvbm5lY3RlZCDigJQgb3JhbmdlLCBicm9rZW4gbGluayBpY29uXG4ucm93LXdhcm5pbmctYnRuLS1ub3QtY29ubmVjdGVkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzNCwgODgsIDEyLCAwLjM1KTtcbiAgICBjb2xvcjogI2VhNTgwYztcbn1cblxuLnJvdy13YXJuaW5nLWJ0bi0tbm90LWNvbm5lY3RlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgyKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjM0LCA4OCwgMTIsIDAuNTUpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjEwKTtcbiAgICBjb2xvcjogI2MyNDEwYztcbn1cblxuLy8gVW5wdWJsaXNoZWQgY2hhbmdlcyDigJQgYW1iZXIsIHVwbG9hZCBpY29uXG4ucm93LXdhcm5pbmctYnRuLS11bnB1Ymxpc2hlZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTcsIDExOSwgNiwgMC4zMCk7XG4gICAgY29sb3I6ICNkOTc3MDY7XG59XG5cbi5yb3ctd2FybmluZy1idG4tLXVucHVibGlzaGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTcsIDExOSwgNiwgMC41MCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTApO1xuICAgIGNvbG9yOiAjYjQ1MzA5O1xufVxuXG4vLyBOb3QgcHVibGlzaGVkIHlldCDigJQgYW1iZXIsIGNsb3VkLW9mZiBpY29uXG4ucm93LXdhcm5pbmctYnRuLS1ub3QtcHVibGlzaGVkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgMTQyLCAyLCAwLjMyKTtcbiAgICBjb2xvcjogI2VmOGUwMjtcbn1cblxuLnJvdy13YXJuaW5nLWJ0bi0tbm90LXB1Ymxpc2hlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgyKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjM5LCAxNDIsIDIsIDAuNTIpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjEwKTtcbiAgICBjb2xvcjogI2MyNzQwYTtcbn1cblxuLy8gTm8gbG9jYXRpb24gKGNoZWNrLWluIHJlcXVpcmVzIGxvY2F0aW9uIGJ1dCB0aGUgdGFza2xpc3QgaGFzIG5vbmUpIOKAlCBhbWJlciwgbWFya2VyIGljb25cbi5yb3ctd2FybmluZy1idG4tLW5vLWxvY2F0aW9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgMTQyLCAyLCAwLjMyKTtcbiAgICBjb2xvcjogI2VmOGUwMjtcbn1cblxuLnJvdy13YXJuaW5nLWJ0bi0tbm8tbG9jYXRpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Mik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgMTQyLCAyLCAwLjUyKTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xMCk7XG4gICAgY29sb3I6ICNjMjc0MGE7XG59XG5cbi5yb3ctd2FybmluZy1idG46Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWMtZm9jdXMtcmluZyksIDAgMCAwIDZweCB2YXIoLS1jLWZvY3VzLWdsb3cpO1xufVxuXG4ucm93LXdhcm5pbmctYnRuOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBEYXJrIG1vZGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gcWRuYXByby1hY3Rpdml0eS1yb3cge1xuICAgIC0tYy1mb2N1cy1yaW5nOiAjYTVhY2ZmO1xuICAgIC0tYy1mb2N1cy1nbG93OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjQwKTtcbn1cblxuLy8gU29saWQgZGFyayBzdXJmYWNlIChub3QgZ2xhc3MpIOKAlCBtYXRjaGVzIHRoZSB0YXNrbGlzdCBwYWdlIGRlc2lnbi5cbi8vIEtlcHQgc29saWQgb24gcHVycG9zZSBzbyByb3dzIHJlYWQgYXMgZGlzdGluY3QgY2FyZHMgb24gdGhlIGRhcmsgY2FudmFzLlxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5hY3Rpdml0eS1yb3ctaW5uZXIge1xuICAgIGJhY2tncm91bmQ6ICMyZTMwMzY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xufVxuXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmFjdGl2aXR5LXJvdy1pbm5lcjpob3Zlcjpub3QoLmRpc2FibGVkKSxcbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuYWN0aXZpdHktcm93LWlubmVyLmZvcmNlLWhvdmVyOm5vdCguZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDA0NDRkO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC40MCk7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuYWN0aXZpdHktcm93LWlubmVyLmlzLXByZXNzaW5nOm5vdCguZGlzYWJsZWQpLFxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5hY3Rpdml0eS1yb3ctaW5uZXIuZm9yY2UtYWN0aXZlOm5vdCguZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDcwLCA4MiwgMjQzLCAwLjE4KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoNzAsIDgyLCAyNDMsIDAuNDApO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSg3MCwgODIsIDI0MywgMC4yMCk7XG59XG5cbi8vIEJyaWVmaW5nIHZhcmlhbnQgb24gZGFyazogc2FtZSBpZGVhIGFzIGxpZ2h0LCB1c2luZyB0aGUgZGFyayBibHVlLXRhZyBwYWlyXG4vLyAoIzJlM2U1NCAvICM0NDVhNzgpIHNvIGl0IHN0aWxsIHJlYWRzIGFzIFwibm90IGEgdGFza1wiIGFnYWluc3QgdGhlIHNvbGlkXG4vLyAjMmUzMDM2IGFjdGl2aXR5IHJvd3MuIFtLaW0gMjAyNi0wOC0wMl1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuYWN0aXZpdHktcm93LWlubmVyLmlzLWJyaWVmaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmUzZTU0O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxODEsIDIwNiwgMjM3LCAwLjIwKTtcbn1cblxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5hY3Rpdml0eS1yb3ctaW5uZXIuaXMtYnJpZWZpbmc6aG92ZXI6bm90KC5kaXNhYmxlZCksXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmFjdGl2aXR5LXJvdy1pbm5lci5pcy1icmllZmluZy5mb3JjZS1ob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogIzQ0NWE3ODtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTgxLCAyMDYsIDIzNywgMC4zMik7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucm93LW5hbWUgICAgICAgICAgICAgeyBjb2xvcjogI2YzZjRmNjsgfVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5yb3ctbWV0YS1pZCxcbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucm93LW1ldGEtdmVyc2lvbiAgICAgeyBjb2xvcjogIzRiNTU2MzsgfVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5yb3ctbWV0YS1kb3QgICAgICAgICB7IGJhY2tncm91bmQ6ICMzNzQxNTE7IH1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucm93LW1ldGEtZGVzYyAgICAgICAgeyBjb2xvcjogIzZiNzI4MDsgfVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5hY3Rpdml0eS1yb3ctaW5uZXIubmF2aWdhdGluZzpub3QoLmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg3MCwgODIsIDI0MywgMC4xNSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDcwLCA4MiwgMjQzLCAwLjM1KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoNzAsIDgyLCAyNDMsIDAuMjUpO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5yb3ctZGl2aWRlciAgICAgICAgICB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7IH1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucm93LWJ0bi1kaXZpZGVyICAgICAgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnJvdy1pY29uLXBsYWNlaG9sZGVyIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTsgfVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5yb3ctcmVxdWlyZWQgICAgICAgICB7IGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnJvdy1yZXF1aXJlZC1sYWJlbCAgIHsgY29sb3I6ICM5Y2EzYWY7IH1cblxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5yb3ctd2FybmluZy1idG4ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjAsIDIyLCAzNSwgMC43MCk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMzApO1xuICAgIGNvbG9yOiAjZmJiZjI0O1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5yb3ctd2FybmluZy1idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNDAsIDQ0LCA2NSwgMC44NSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjMwKTtcbiAgICBjb2xvcjogI2Y1OWUwYjtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIHFkbmFwcm8tYWdlbmRhLWxpc3Qg4oCUIGFnZW5kYSBsaXN0IHZpZXcgKFBXQSBjYWxlbmRhciBNMSlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIFFETkEgdG9rZW5zIHVzZWQ6XG4vLyAgICAtLWMtZ3JleS01MDAgICM2YjcyODAgICBkdXJhdGlvbiB0ZXh0ICsgZW1wdHkgbGluZVxuLy8gICAgLS1jLWdyZXktNjAwICAjNTY1YjY2ICAgZGF5IGhlYWRlciB0ZXh0XG4vLyAgICAtLWMtZ3JleS05NTAgICMwYjBiMGQgICBzdGFydCB0aW1lXG4vLyAgICAtLWMtZ3JleS0xMDAgICNlN2U5ZWMgICBkYXkgaGVhZGVyIGRpdmlkZXJcbi8vICBObyBGaWdtYSBza2V0Y2ggKHNjb3BlIGRlY2lzaW9uOiBkZXNpZ24gaW4gY29kZSwgT3V0bG9vayBtb2JpbGUgYXNcbi8vICByZWZlcmVuY2UpOiBzdGlja3kgZGF5IGhlYWRlcnMsIDU2cHggdGltZSBjb2x1bW4gbGVmdCwgZXZlbnQtY2FyZCByaWdodC5cbi8vICBDYXJkcyBrZWVwIHRoZWlyIG93biBzdGF0dXMgY29sb3VycyDigJQgc2FtZSBsYW5ndWFnZSBhcyB0aGUgdGltZSBncmlkLlxuLy8gIEZMQVQgQ1NTOyBzeW5jZWQgdG8gdGhlIFBXQSB2aWEgc3luYy12Mi1jb21wb25lbnRzLmpzLlxuXG4ucWRuYXByby1hZ2VuZGEtbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXRoZW1lLWZvbnQtZmFtaWx5LCBcIkludGVyXCIsIHNhbnMtc2VyaWYpO1xufVxuXG4vLyBEYXkgZ3JvdXAg4oCUIGhlYWRlciBzdGlja3Mgd2l0aGluIHRoZSBob3N0J3Mgc2Nyb2xsIGNvbnRhaW5lclxuLnFkbmFwcm8tYWdlbmRhLWxpc3RfX2RheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnFkbmFwcm8tYWdlbmRhLWxpc3RfX2hlYWRlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogMTBweCAxNnB4IDZweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTYwMCwgIzU2NWI2Nik7XG59XG4vLyBUT0RBWSBwaWxsIChLaW0sIDIwLjA3LjIwMjYpIOKAlCB0aGUgXCJ0b2RheVwiIHdvcmQgYmVjb21lcyBhIGZpbGxlZFxuLy8gLS1jLWFjdGlvbi01MDAgY2hpcCwgc2FtZSBibHVlIHRvZGF5IGxhbmd1YWdlIGFzIHRoZSB0aW1lLWdyaWQgL1xuLy8gcmVzb3VyY2UtdGltZWxpbmUgZGF5LWhlYWRlciBwaWxscy4gU2l0cyBpbmxpbmUgYmVmb3JlIHRoZSBmb3JtYXR0ZWQgZGF0ZS5cbi5xZG5hcHJvLWFnZW5kYS1saXN0X19oZWFkZXIuaXMtdG9kYXkge1xuICBjb2xvcjogdmFyKC0tYy1hY3Rpb24tNTAwLCAjNDY1MmYzKTtcbn1cbi5xZG5hcHJvLWFnZW5kYS1saXN0X190b2RheXBpbGwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDFweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWFjdGlvbi01MDAsICM0NjUyZjMpO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLy8gUEFTVCBEQVlTIChkaW0tcGFzdCwgMDMuMDguMjAyNikg4oCUIHRoZSBzZWFyY2ggdmlldyBzaG93cyBoaXRzIGFjcm9zcyB0aGUgd2hvbGVcbi8vIGNhbGVuZGFyLCBzbyB3aGF0IGFscmVhZHkgaGFwcGVuZWQgaGFzIHRvIHJlYWQgcXVpZXRlciB0aGFuIHdoYXQgaXMgc3RpbGwgY29taW5nLlxuLy8gT25lIG9wYWNpdHkgb24gdGhlIHdob2xlIGRheSBncm91cCwgaGVhZGVyIGluY2x1ZGVkOiB0aGUgZXZlbnQtY2FyZHMga2VlcCB0aGVpciBvd25cbi8vIHN0YXR1cyBjb2xvdXJzIChwbGFubmVkL292ZXJkdWUvY29tcGxldGUpIGFuZCBvbmx5IGxvc2UgbG91ZG5lc3MsIHdoaWNoIGlzIGV4YWN0bHlcbi8vIHRoZSBHb29nbGUgQ2FsZW5kYXIgdHJlYXRtZW50LiBEaW1taW5nIHBlciB0b2tlbiBpbnN0ZWFkIHdvdWxkIG1lYW4gcmUtc3RhdGluZyBldmVyeVxuLy8gY2FyZCBjb2xvdXIgaW4gYSBtdXRlZCB2YXJpYW50LCBhbmQgdGhvc2UgdHdvIGxpc3RzIHdvdWxkIGRyaWZ0IGFwYXJ0LlxuLy8gTm90aGluZyBvdXRzaWRlIHRoZSBzZWFyY2ggdmlldyBzZXRzIGRpbS1wYXN0LCBzbyBubyBleGlzdGluZyB1c2FnZSBjaGFuZ2VzLlxuLnFkbmFwcm8tYWdlbmRhLWxpc3RfX2RheS5pcy1wYXN0IHtcbiAgb3BhY2l0eTogMC41NTtcbn1cblxuLy8gUm93OiB0aW1lIGNvbHVtbiArIGNhcmRcbi5xZG5hcHJvLWFnZW5kYS1saXN0X19yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDRweCA4cHggNHB4IDEycHg7XG59XG4ucWRuYXByby1hZ2VuZGEtbGlzdF9fcm93OmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXRvcDogOHB4O1xufVxuXG4ucWRuYXByby1hZ2VuZGEtbGlzdF9fdGltZSB7XG4gIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMnB4O1xuICB3aWR0aDogNTZweDtcbiAgcGFkZGluZy10b3A6IDRweDtcbn1cbi5xZG5hcHJvLWFnZW5kYS1saXN0X19zdGFydCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktOTUwLCAjMGIwYjBkKTtcbn1cbi5xZG5hcHJvLWFnZW5kYS1saXN0X19kdXIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTUwMCwgIzZiNzI4MCk7XG59XG5cbi8vIENhcmRzIHNpemUgdG8gdGhlaXIgY29udGVudCBpbiB0aGUgbGlzdCAodGhlIGdyaWQgc3RyZXRjaGVzIHRoZW0gaW5zdGVhZClcbi5xZG5hcHJvLWFnZW5kYS1saXN0X19yb3cgLnFkbmFwcm8tZXZlbnQtY2FyZCB7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ucWRuYXByby1hZ2VuZGEtbGlzdF9fZW1wdHkge1xuICBwYWRkaW5nOiAyNHB4IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS01MDAsICM2YjcyODApO1xufVxuIiwiLy8gcWRuYXByby1hbGVydCDigJQgcGVyc2lzdGVudCBpbi1wYWdlIHN0YXR1cyBiYW5uZXIgKG5vdCBhIHRvYXN0KS5cbi8vIFFETkEgdG9rZW5zIHVzZWQgKHNhbWUgc2lnbmFsLWNvbG91ciBmYW1pbGllcyBhcyBldmVudC1jYXJkIC8gYW5zd2VyLWJ1dHRvbiAvXG4vLyB0b2FzdCwgc28gYWxlcnQgcmVhZHMgYXMgdGhlIHNhbWUgdmlzdWFsIGxhbmd1YWdlIGV2ZXJ5d2hlcmUpOlxuLy8gICBlcnJvciAgIGJnIHZhcigtLWMtc2lnbmFsLXJlZC1iZykgICAgICNmZWUzZTMgICB0ZXh0L2JvcmRlciB2YXIoLS1jLXNpZ25hbC1yZWQtdGV4dCkgICAgICNjNjVhNWFcbi8vICAgd2FybmluZyBiZyB2YXIoLS1jLXdhcm5pbmctYnJpZ2h0LWJnKSAjZmZmM2NkICAgdGV4dCB2YXIoLS1jLXdhcm5pbmctYnJpZ2h0LXRleHQpICM5YTZhMTAgIGJvcmRlciB2YXIoLS1jLXdhcm5pbmctYnJpZ2h0LWJvcmRlcikgI2YwZDA2MFxuLy8gICBzdWNjZXNzIGJnIHZhcigtLWMtc2lnbmFsLWdyZWVuLWJnKSAgICNjNWY1ZTIgICB0ZXh0L2JvcmRlciB2YXIoLS1jLXNpZ25hbC1ncmVlbi10ZXh0KSAgICM0MjhiNmVcbi8vICAgbmV1dHJhbCBiZyB2YXIoLS1jLWdyZXktNTApICAgICAgICAgICAjZjBmMWYyICAgdGV4dCB2YXIoLS1jLWdyZXktNjAwKSAjNTY1YjY2ICBib3JkZXIgdmFyKC0tYy1ncmV5LTIwMCkgI2QxZDVkYlxuLy8gICBpbmZvICAgIGJnIHZhcigtLWMtc2lnbmFsLWJsdWUtYmcpICAgICNlNmVmZjkgICB0ZXh0L2JvcmRlciB2YXIoLS1jLXNpZ25hbC1ibHVlLXRleHQpICAgICM2YThhYjRcbi8vIEV2ZXJ5IHR5cGUgPSAzIHZhcmlhYmxlIG92ZXJyaWRlcyAoYmcvdGV4dC9ib3JkZXIpOyBGTEFUIENTUywgbm8gbmVzdGluZyAtXG4vLyB0aGUgUFdBIHYyLWNvbXBvbmVudCBydW50aW1lIGV4cGVjdHMgZmxhdCBjb21waWxlZCBzZWxlY3RvcnMuXG5cbi5xZG5hcHJvLWFsZXJ0IHtcbiAgLy8gTmV1dHJhbCAoZGVmYXVsdCkgc3VyZmFjZVxuICAtLWFsZXJ0LWJnOiAgICAgdmFyKC0tYy1ncmV5LTUwLCAjZjBmMWYyKTtcbiAgLS1hbGVydC10ZXh0OiAgIHZhcigtLWMtZ3JleS02MDAsICM1NjViNjYpO1xuICAtLWFsZXJ0LWJvcmRlcjogdmFyKC0tYy1ncmV5LTIwMCwgI2QxZDVkYik7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgLy8gVmVydGljYWxseSBjZW50ZXJlZCByb3c6IGEgc2luZ2xlLWxpbmUgYWxlcnQgcmVhZHMgd2l0aCBpY29uLCB0ZXh0IGFuZFxuICAvLyBkaXNtaXNzIFggb24gb25lIHZpc3VhbCBsaW5lIChLaW0gMDkuMDcpOyBtdWx0aS1saW5lIGFsZXJ0cyBjZW50ZXIgdGhlXG4gIC8vIGljb24vWCBhZ2FpbnN0IHRoZSB3aG9sZSB0ZXh0IGJsb2NrLCBzYW1lIGZlZWwgYXMgcWRuYXByby10b2FzdC5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTRweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLTMsIDEycHgpO1xuICAvLyBCb3JkZXIgcmVhZHMgYXMgYSBzb2Z0IHRpbnQgb2YgdGhlIHRleHQgY29sb3VyLCBub3QgYSBmdWxsLXN0cmVuZ3RoIGxpbmUgLVxuICAvLyBzYW1lIFwiMXB4IGJvcmRlciBkZWZpbmVzIHRoZSBlZGdlIG9uIGEgbGlnaHQtb24tbGlnaHQgc3VyZmFjZVwiIGlkZWEgYXMgdGhlXG4gIC8vIHFkbmFwcm8tdG9hc3QgeWVsbG93L3JlZCB2YXJpYW50cy5cbiAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWFsZXJ0LWJvcmRlcikgNDUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFsZXJ0LWJnKTtcbiAgY29sb3I6IHZhcigtLWFsZXJ0LXRleHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZmYsIFwiSW50ZXJcIiwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZik7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5xZG5hcHJvLWFsZXJ0LS1lcnJvciB7XG4gIC0tYWxlcnQtYmc6ICAgICB2YXIoLS1jLXNpZ25hbC1yZWQtYmcsICNmZWUzZTMpO1xuICAtLWFsZXJ0LXRleHQ6ICAgdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpO1xuICAtLWFsZXJ0LWJvcmRlcjogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpO1xufVxuLnFkbmFwcm8tYWxlcnQtLXdhcm5pbmcge1xuICAtLWFsZXJ0LWJnOiAgICAgdmFyKC0tYy13YXJuaW5nLWJyaWdodC1iZywgI2ZmZjNjZCk7XG4gIC0tYWxlcnQtdGV4dDogICB2YXIoLS1jLXdhcm5pbmctYnJpZ2h0LXRleHQsICM5YTZhMTApO1xuICAtLWFsZXJ0LWJvcmRlcjogdmFyKC0tYy13YXJuaW5nLWJyaWdodC1ib3JkZXIsICNmMGQwNjApO1xufVxuLnFkbmFwcm8tYWxlcnQtLXN1Y2Nlc3Mge1xuICAtLWFsZXJ0LWJnOiAgICAgdmFyKC0tYy1zaWduYWwtZ3JlZW4tYmcsICNjNWY1ZTIpO1xuICAtLWFsZXJ0LXRleHQ6ICAgdmFyKC0tYy1zaWduYWwtZ3JlZW4tdGV4dCwgIzQyOGI2ZSk7XG4gIC0tYWxlcnQtYm9yZGVyOiB2YXIoLS1jLXNpZ25hbC1ncmVlbi10ZXh0LCAjNDI4YjZlKTtcbn1cbi5xZG5hcHJvLWFsZXJ0LS1pbmZvIHtcbiAgLS1hbGVydC1iZzogICAgIHZhcigtLWMtc2lnbmFsLWJsdWUtYmcsICNlNmVmZjkpO1xuICAtLWFsZXJ0LXRleHQ6ICAgdmFyKC0tYy1zaWduYWwtYmx1ZS10ZXh0LCAjNmE4YWI0KTtcbiAgLS1hbGVydC1ib3JkZXI6IHZhcigtLWMtc2lnbmFsLWJsdWUtdGV4dCwgIzZhOGFiNCk7XG59XG5cbi5xZG5hcHJvLWFsZXJ0X19pY29uIHtcbiAgZmxleDogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1hbGVydC10ZXh0KTtcbn1cbi5xZG5hcHJvLWFsZXJ0X19pY29uIHFkbmFwcm8taWNvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5xZG5hcHJvLWFsZXJ0X19tYWluIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDhweCAxNnB4O1xufVxuXG4ucWRuYXByby1hbGVydF9fY29udGVudCB7XG4gIGZsZXg6IDEgMSAyMjBweDtcbiAgbWluLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDJweDtcbn1cblxuLnFkbmFwcm8tYWxlcnRfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgY29sb3I6IHZhcigtLWFsZXJ0LXRleHQpO1xufVxuXG4ucWRuYXByby1hbGVydF9fYm9keSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gIGNvbG9yOiB2YXIoLS1hbGVydC10ZXh0KTtcbn1cbi8vIEJvZHkgdGV4dCBpcyBkZWxpYmVyYXRlbHkgTk9UIG11dGVkL29wYWNpdHktcmVkdWNlZCAtIHRoZSB3aG9sZSBjYXJkIGlzXG4vLyBhbHJlYWR5IGEgc29mdCB0aW50LCBzbyB0aGUgdHlwZSBjb2xvdXIgc3RheXMgdGhlIHNpbmdsZSBzb3VyY2Ugb2YgZW1waGFzaXMuXG5cbi5xZG5hcHJvLWFsZXJ0X19hY3Rpb24ge1xuICBmbGV4OiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBBY3Rpb24gYnV0dG9ucyBpbnNpZGUgYW4gYWxlcnQgYWRhcHQgdG8gdGhlIGFsZXJ0J3MgY29sb3VyIGZhbWlseSBpbnN0ZWFkIG9mXG4vLyBjbGFzaGluZyB3aXRoIGl0IChLaW0gMDkuMDc6IGEgbGlsYWMgc3VidGxlIGJ1dHRvbiBvbiB0aGUgeWVsbG93IHdhcm5pbmdcbi8vIHN1cmZhY2UgcmVhZHMgYXMgYSBmb3JlaWduIGVsZW1lbnQpLiBPbmUgcnVsZSBjb3ZlcnMgYWxsIGZpdmUgdHlwZXMgYmVjYXVzZVxuLy8gaXQgZGVyaXZlcyBmcm9tIHRoZSBzYW1lIC0tYWxlcnQtdGV4dCBjdXN0b20gcHJvcCB0aGUgdHlwZSBtb2RpZmllcnMgc2V0O1xuLy8gdGhlIGV4dHJhIGFuY2VzdG9yIGluIHRoZSBzZWxlY3RvciBvdXRyYW5rcyB0aGUgYnV0dG9uJ3Mgb3duIHR5cGUgY2xhc3Nlcy5cbi5xZG5hcHJvLWFsZXJ0IC5xZG5hcHJvLWFsZXJ0X19hY3Rpb24gLnFkbmFwcm8tYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWFsZXJ0LXRleHQpIDEyJSwgdHJhbnNwYXJlbnQpO1xuICBjb2xvcjogdmFyKC0tYWxlcnQtdGV4dCk7XG59XG5cbi5xZG5hcHJvLWFsZXJ0IC5xZG5hcHJvLWFsZXJ0X19hY3Rpb24gLnFkbmFwcm8tYnV0dG9uOmhvdmVyOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1hbGVydC10ZXh0KSAyMCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLnFkbmFwcm8tYWxlcnQgLnFkbmFwcm8tYWxlcnRfX2FjdGlvbiAucWRuYXByby1idXR0b246YWN0aXZlOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1hbGVydC10ZXh0KSAyNiUsIHRyYW5zcGFyZW50KTtcbn1cblxuLnFkbmFwcm8tYWxlcnRfX2Rpc21pc3Mge1xuICBmbGV4OiBub25lO1xuICBtYXJnaW46IDAgLTZweCAwIDA7XG59XG5cbi8vIERpc21pc3MgWCBhZGFwdHMgdG8gdGhlIGFsZXJ0J3MgY29sb3VyIGZhbWlseSwgc2FtZSBydWxlIGFzIHRoZSBhY3Rpb25cbi8vIGJ1dHRvbiBhYm92ZSAoS2ltIDA5LjA3OiB0aGUgZGVmYXVsdCBkYXJrIFggcmVhZCBhcyBhIGZvcmVpZ24gZWxlbWVudCBvblxuLy8gdGhlIHRpbnRlZCBzdXJmYWNlcykuIEV4dHJhIGFuY2VzdG9yIG91dHJhbmtzIHRoZSBpY29uLWJ0biB0eXBlIGNsYXNzZXMuXG4ucWRuYXByby1hbGVydCAucWRuYXByby1hbGVydF9fZGlzbWlzcy5xZG5hcHJvLWljb24tYnRuIHtcbiAgY29sb3I6IHZhcigtLWFsZXJ0LXRleHQpO1xufVxuXG4ucWRuYXByby1hbGVydCAucWRuYXByby1hbGVydF9fZGlzbWlzcy5xZG5hcHJvLWljb24tYnRuOmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWFsZXJ0LXRleHQpIDE1JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4vLyBDb21wYWN0IOKAlCB0aWdodGVyIHBhZGRpbmcvdHlwb2dyYXBoeSBmb3IgdXNlIGluc2lkZSBtb2RhbHMgYW5kIGRlbnNlIGxpc3RzXG4vLyAoZS5nLiB0aGUgZmxvd2VkaXRvciBub2RlLW9wdGlvbnMgcGFuZWwpLlxuLnFkbmFwcm8tYWxlcnQtLWNvbXBhY3Qge1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGdhcDogOHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLTIsIDhweCk7XG59XG4ucWRuYXByby1hbGVydC0tY29tcGFjdCAucWRuYXByby1hbGVydF9faWNvbiBxZG5hcHJvLWljb24ge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLnFkbmFwcm8tYWxlcnQtLWNvbXBhY3QgLnFkbmFwcm8tYWxlcnRfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuLnFkbmFwcm8tYWxlcnQtLWNvbXBhY3QgLnFkbmFwcm8tYWxlcnRfX2JvZHkge1xuICBmb250LXNpemU6IDEycHg7XG59XG4ucWRuYXByby1hbGVydC0tY29tcGFjdCAucWRuYXByby1hbGVydF9fbWFpbiB7XG4gIGdhcDogNnB4IDEycHg7XG59XG4iLCIvLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIHFkbmFwcm8tYW5zd2VyLW9wdGlvbiAg4oCUICBBbnN3ZXIgb3B0aW9uIHJvdyAoZmxvdy1lZGl0b3Igbm9kZSBtb2RhbClcbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy9cbi8vIEV4dHJhY3RlZCAxOjEgZnJvbSB0aGUgbGl2ZSBmbG93ZWRpdG9yIC5mZS1hbnN3ZXItKiByb3cgYW5kIG5hbWVzcGFjZWRcbi8vIGFzIGEgcmV1c2FibGUgY29tcG9uZW50LiBJZGxlIC8gaG92ZXIgLyBwcmVzc2VkIC8gZHJhZ2dpbmcgLyBlZGl0aW5nIC9cbi8vIGNvbmZpcm0tZGVsZXRlIC8gY29uZmlybS11bmxpbmsgLyB1bmxpbmtlZCBzdGF0ZXMuXG4vL1xuLy8gU3RhdGVzIHRoYXQgZXhpc3QgaW4gdGhlIGxpdmUgZmxvd2VkaXRvciB0b2RheTogaWRsZSwgaG92ZXIsIGVkaXRpbmdcbi8vIChpbnB1dCA6Zm9jdXMpLCBjb25maXJtLWRlbGV0ZSwgY29uZmlybS11bmxpbmssIHVubGlua2VkLlxuLy8gTkVXIGhlcmUgKGRlc2lnbmVkIHRvIHJvdW5kIG91dCB0aGUgY29tcG9uZW50IHNwZWMpOiBwcmVzc2VkLCBkcmFnZ2luZy5cblxuLnFkbmFwcm8tYW5zd2VyLW9wdGlvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlNGVmO1xuICAgIGJhY2tncm91bmQ6ICNmYWZiZmY7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbWluLWhlaWdodDogMzhweDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTQwbXMsIGJveC1zaGFkb3cgMTQwbXMsIHRyYW5zZm9ybSAxMjBtcywgYmFja2dyb3VuZCAxNDBtcztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjtcblxuICAgICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiAgICAvLyDilIDilIAgSG92ZXI6IHJldmVhbCB0aGUgYWN0aW9uIGJ1dHRvbnMg4pSA4pSAXG4gICAgLy8gLi0tc2hvdy1hY3Rpb25zIGxldHMgYSBwYXJlbnQgLyB0aGUgbGlicmFyeSBmb3JjZSB0aGUgaG92ZXIgbG9vay5cbiAgICAmOmhvdmVyLFxuICAgICYtLXNob3ctYWN0aW9ucyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2E4YjJlODtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoNjQsIDczLCAxNTQsIDAuMTApO1xuXG4gICAgICAgIC5xZG5hcHJvLWFuc3dlci1vcHRpb25fX2RyYWcgICAgeyBvcGFjaXR5OiAxOyB9XG4gICAgICAgIC5xZG5hcHJvLWFuc3dlci1vcHRpb25fX2FjdGlvbnMgeyBvcGFjaXR5OiAxOyBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gICAgICAgIC5xZG5hcHJvLWFuc3dlci1vcHRpb25fX2FjdCAgICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9XG4gICAgfVxuXG4gICAgLy8gRHJhZ2dhYmxlIHJvd3M6IG1ha2Ugcm9vbSBvbiB0aGUgbGVmdCBzbyB0aGUgbGFiZWwgY2xlYXJzIHRoZSBhY2NlbnQgYmFyLlxuICAgICYtLWRyYWdnYWJsZSAucWRuYXByby1hbnN3ZXItb3B0aW9uX19sYWJlbCB7IHBhZGRpbmctbGVmdDogMTRweDsgfVxuXG4gICAgLy8g4pSA4pSAIFByZXNzZWQ6IHJvdyBoZWxkIGRvd24gKE5FVykg4pSA4pSAXG4gICAgJi0tcHJlc3NlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2E4YjJlODtcbiAgICAgICAgYmFja2dyb3VuZDogI2VlZjBmZjtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IHJnYmEoNjQsIDczLCAxNTQsIDAuMTIpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbiAgICB9XG5cbiAgICAvLyDilIDilIAgRHJhZ2dpbmc6IGxpZnRlZCB3aGlsZSByZW9yZGVyaW5nIChORVcpIOKUgOKUgFxuICAgICYtLWRyYWdnaW5nIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDA0OTlhO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjZweCByZ2JhKDIwLCAyNCwgNjAsIDAuMjIpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDE1KTtcbiAgICAgICAgei1pbmRleDogNTtcblxuICAgICAgICAucWRuYXByby1hbnN3ZXItb3B0aW9uX19kcmFnIHsgb3BhY2l0eTogMTsgfVxuICAgIH1cblxuICAgIC8vIOKUgOKUgCBVbmxpbmtlZDogYW1iZXIgdGludCDilIDilIBcbiAgICAmLS11bmxpbmtlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RkYjg0YTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmJmMDtcbiAgICB9XG5cbiAgICAvLyDilIDilIAgQ29uZmlybWluZyBkZWxldGU6IHJlZCB0aW50IChkZXN0cnVjdGl2ZSkg4pSA4pSAXG4gICAgJi0tY29uZmlybWluZyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2U0YTBhMDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjVmNTtcbiAgICB9XG5cbiAgICAvLyDilIDilIAgQ29uZmlybWluZyB1bmxpbms6IHllbGxvdy9hbWJlciB0aW50IChnZW50bGUg4oCUIG5vdCBkZXN0cnVjdGl2ZSkg4pSA4pSAXG4gICAgJi0tY29uZmlybWluZy11bmxpbmsge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmMGQwNjA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZiZjA7XG4gICAgfVxuXG4gICAgLy8g4pSA4pSAIFNlbWFudGljIG9wdGlvbiBjb2xvdXIgKE1lZXJrZXV6ZSBwZXItb3B0aW9uIGFwcGVhcmFuY2UsIEZhc2UgNSxcbiAgICAvLyAxMS4wNy4yMDI2KSDigJQgYSBjbG9zZWQgcGFsZXR0ZSAoc3RhbmRhYXJkL3Bvc2l0aWVmL3dhYXJzY2h1d2luZy9uZWdhdGllZi9cbiAgICAvLyBhZndpamtlbmQpLCBuZXZlciBhIGZyZWUgY29sb3VyIHBpY2tlci4gRGVsaWJlcmF0ZWx5IHRpbnRzIE9OTFkgdGhlIGljb25cbiAgICAvLyBiYWRnZSAoLS1hbnN3ZXItb3B0aW9uLWFjY2VudC0qKSwgbmV2ZXIgdGhlIHJvdydzIG93biBib3JkZXIvYmFja2dyb3VuZCDigJRcbiAgICAvLyB0aG9zZSBhcmUgb3duZWQgYnkgdGhlIHN0cnVjdHVyYWwgc3RhdGVzIGFib3ZlICh1bmxpbmtlZC9jb25maXJtaW5nL1xuICAgIC8vIGRyYWdnaW5nKSBhbmQgbXVzdCBrZWVwIHdpbm5pbmcuIFNhbWUgXCJzZW1hbnRpY3MgbmV2ZXIgZmlnaHQgc3RhdGVcIiBydWxlXG4gICAgLy8gYXMgdGhlIHJlc3Qgb2YgdGhpcyBjb21wb25lbnQuIE1pcnJvcnMgdGhlIC0tZXZlbnQtY2FyZC0qIHRva2VuLW92ZXJyaWRlXG4gICAgLy8gcGF0dGVybiAoMiB2YXJpYWJsZXMgcGVyIHZhcmlhbnQpLiBcInN0YW5kYWFyZFwiIChubyBhdHRyaWJ1dGUpID0gbm8gYWNjZW50LFxuICAgIC8vIHRoZSBpY29uIGJhZGdlIGtlZXBzIGl0cyBuZXV0cmFsIHB1cnBsZSBkZWZhdWx0LlxuICAgIC0tYW5zd2VyLW9wdGlvbi1hY2NlbnQtYmc6ICAgdmFyKC0tYy1wdXJwbGUtNTAsICNlNmU5ZmYpO1xuICAgIC0tYW5zd2VyLW9wdGlvbi1hY2NlbnQtdGV4dDogdmFyKC0tYy1wdXJwbGUtNTAwLCAjNDA0OTlhKTtcblxuICAgICYtLWNvbG9yLXBvc2l0aXZlIHtcbiAgICAgICAgLS1hbnN3ZXItb3B0aW9uLWFjY2VudC1iZzogICB2YXIoLS1jLXNpZ25hbC1ncmVlbi1iZywgI2M1ZjVlMik7XG4gICAgICAgIC0tYW5zd2VyLW9wdGlvbi1hY2NlbnQtdGV4dDogdmFyKC0tYy1zaWduYWwtZ3JlZW4tdGV4dCwgIzQyOGI2ZSk7XG4gICAgfVxuICAgICYtLWNvbG9yLXdhcm5pbmcge1xuICAgICAgICAtLWFuc3dlci1vcHRpb24tYWNjZW50LWJnOiAgIHZhcigtLWMtc2lnbmFsLXllbGxvdy1iZywgI2ZlZWRiOCk7XG4gICAgICAgIC0tYW5zd2VyLW9wdGlvbi1hY2NlbnQtdGV4dDogdmFyKC0tYy1zaWduYWwteWVsbG93LXRleHQsICNiZjcyMDIpO1xuICAgIH1cbiAgICAmLS1jb2xvci1uZWdhdGl2ZSB7XG4gICAgICAgIC0tYW5zd2VyLW9wdGlvbi1hY2NlbnQtYmc6ICAgdmFyKC0tYy1zaWduYWwtcmVkLWJnLCAjZmVlM2UzKTtcbiAgICAgICAgLS1hbnN3ZXItb3B0aW9uLWFjY2VudC10ZXh0OiB2YXIoLS1jLXNpZ25hbC1yZWQtdGV4dCwgI2M2NWE1YSk7XG4gICAgfVxuICAgICYtLWNvbG9yLW5ldXRyYWxfYWx0IHtcbiAgICAgICAgLS1hbnN3ZXItb3B0aW9uLWFjY2VudC1iZzogICB2YXIoLS1jLXNpZ25hbC1ibHVlLWJnLCAjZTZlZmY5KTtcbiAgICAgICAgLS1hbnN3ZXItb3B0aW9uLWFjY2VudC10ZXh0OiB2YXIoLS1jLXNpZ25hbC1ibHVlLXRleHQsICM2YThhYjQpO1xuICAgIH1cbn1cblxuLy8gRHJhZyBoYW5kbGUgPSBwdXJwbGUgYWNjZW50IGJhciwgcmV2ZWFsZWQgb24gaG92ZXIuXG4vLyBJZGVudGljYWwgYWZmb3JkYW5jZSB0byBxZG5hcHJvLWFjdGl2aXR5LXJvdyAucm93LWFjY2VudC1iYXIgL1xuLy8gc2VjdGlvbi1oZWFkZXIgLnNoLWRyYWcgKGFic29sdXRlLCBsZWZ0OjRweCwgIzQ2NTJmMywgb3BhY2l0eSAwIC0+IDEpLlxuLnFkbmFwcm8tYW5zd2VyLW9wdGlvbl9fZHJhZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDRweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYmFja2dyb3VuZDogIzQ2NTJmMztcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGVhc2U7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuLy8gRWRpdGFibGUgbGFiZWxcbi5xZG5hcHJvLWFuc3dlci1vcHRpb25fX2xhYmVsIHtcbiAgICBmbGV4OiAxO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMmEyZTVlO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiA5cHggNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWluLXdpZHRoOiAwO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmLmlzLWVkaXRpbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggIzQwNDk5YTtcbiAgICB9XG5cbiAgICAmW3JlYWRvbmx5XSB7IGNvbG9yOiAjNmE2ZTlhOyBjdXJzb3I6IGRlZmF1bHQ7IH1cbn1cblxuLy8gUmVhZC1vbmx5IGJvZHkgdGV4dCBmb3IgdGhlIHNpbmdsZS1wYXRoIHZhcmlhbnQgKG9wZW4gYW5zd2VyIC8gXCJWb2xnZW5kZVxuLy8gc3RhcFwiKTogc2FtZSBzbG90ICsgdHlwb2dyYXBoeSBhcyB0aGUgZWRpdGFibGUgbGFiZWwsIGJ1dCBhIHN0YXRpYyBzcGFuLlxuLnFkbmFwcm8tYW5zd2VyLW9wdGlvbl9fbGFiZWwtLXN0YXRpYyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIC8vIE11dGVkIHdoZW4gc2hvd2luZyB0aGUgZmFsbGJhY2sgKFwiVm9sZ2VuZGUgc3RhcFwiKSBpbnN0ZWFkIG9mIGEgcmVhbCB0YXJnZXQuXG4gICAgJi5pcy1lbXB0eSB7IGNvbG9yOiAjOGE4ZmI4OyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbn1cblxuLy8gU2luZ2xlLXBhdGggdmFyaWFudDogb25lIGZpeGVkIGxpbmssIG5vIGRyYWcsIG5vIGxhYmVsLCBubyBkZWxldGUuXG4ucWRuYXByby1hbnN3ZXItb3B0aW9uLS1zaW5nbGUge1xuICAgIC8vIE5vdGhpbmcgc3RydWN0dXJhbCB0byBjaGFuZ2Ug4oCUIHRoZSByb3cgcmV1c2VzIHRoZSBjYXJkIGNocm9tZS4gVGhpcyBob29rXG4gICAgLy8gZXhpc3RzIGZvciBjb25zdW1lcnMvb3ZlcnJpZGVzIGFuZCB0byBkb2N1bWVudCB0aGUgdmFyaWFudCBpbiB0aGUgY2FzY2FkZS5cbn1cblxuLy8gT3B0aW9uIGljb24g4oCUIHNpdHMgYmVmb3JlIHRoZSBib2R5IHRleHQuIFNpbmdsZSB2YXJpYW50OiB0aGUgdGFyZ2V0XG4vLyBub2RlLXR5cGUgaWNvbiAocGxhaW4sIG5vIGJhZGdlIGNocm9tZSkuIE5vcm1hbCByb3cgKE1lZXJrZXV6ZSBwZXItb3B0aW9uXG4vLyBhcHBlYXJhbmNlLCBGYXNlIDUpOiBhIHNtYWxsIHRpbnRlZCBiYWRnZSBzbyB0aGUgc2VtYW50aWMgY29sb3VyIHJlYWRzIGV2ZW5cbi8vIHdpdGhvdXQgb3BlbmluZyB0aGUgYXBwZWFyYW5jZSBwb3BvdmVyLiBbMTEuMDcuMjAyNl1cbi5xZG5hcHJvLWFuc3dlci1vcHRpb25fX25vZGUtaWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1hbnN3ZXItb3B0aW9uLWFjY2VudC10ZXh0LCAjNDA0OTlhKTtcbn1cblxuLy8gU2luZ2xlIHZhcmlhbnQ6IHBsYWluIGljb24sIG5vIGJhZGdlIGJhY2tncm91bmQgKHVuY2hhbmdlZCBsb29rKS5cbi5xZG5hcHJvLWFuc3dlci1vcHRpb24tLXNpbmdsZSAucWRuYXByby1hbnN3ZXItb3B0aW9uX19ub2RlLWljb24ge1xuICAgIHBhZGRpbmc6IDAgMnB4IDAgMTBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG59XG5cbi8vIE5vcm1hbCByb3c6IHNtYWxsIHJvdW5kZWQgYmFkZ2UsIHRpbnRlZCB2aWEgdGhlIGFjY2VudCB0b2tlbnMgYWJvdmUuXG4ucWRuYXByby1hbnN3ZXItb3B0aW9uOm5vdCgucWRuYXByby1hbnN3ZXItb3B0aW9uLS1zaW5nbGUpIC5xZG5hcHJvLWFuc3dlci1vcHRpb25fX25vZGUtaWNvbiB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFuc3dlci1vcHRpb24tYWNjZW50LWJnLCAjZTZlOWZmKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG4vLyBEcmFnZ2FibGUgcm93cyByZXNlcnZlIHRoZSBhY2NlbnQgYmFyJ3Mgc3BhY2UgKHNhbWUgY2xlYXJhbmNlIHRoZSBsYWJlbFxuLy8gYWxyZWFkeSBnZXRzIHZpYSAmLS1kcmFnZ2FibGUgYWJvdmUpIHNvIHRoZSBpY29uIGJhZGdlIGRvZXNuJ3Qgc2l0IHVuZGVyIGl0LlxuLnFkbmFwcm8tYW5zd2VyLW9wdGlvbi0tZHJhZ2dhYmxlIC5xZG5hcHJvLWFuc3dlci1vcHRpb25fX25vZGUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE0cHg7XG59XG5cbi8vIENvbm5lY3Rpb24gcGlsbFxuLnFkbmFwcm8tYW5zd2VyLW9wdGlvbl9fY29ubiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDNweDtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcblxuICAgIHN2ZyB7IHdpZHRoOiAxM3B4OyBoZWlnaHQ6IDEzcHg7IH1cblxuICAgICYtLWxpbmtlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZWYwZmY7XG4gICAgICAgIGNvbG9yOiAjNDA0OTlhO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAvLyBMaW5rZWQgcGlsbCB0aGF0IGhhcyBhIHJlc29sdmFibGUgdGFyZ2V0IHF1ZXN0aW9uOiBzdWJ0bGUgaG92ZXIgaGlnaGxpZ2h0LlxuICAgICYtLWxpbmtlZC5xZG5hcHJvLWFuc3dlci1vcHRpb25fX2Nvbm4tLWhhcy10aXAge1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zO1xuICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogI2UwZTNmZjsgfVxuICAgIH1cblxuICAgICYtLWVtcHR5IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjNjZDtcbiAgICAgICAgY29sb3I6ICM4YTZhMTA7XG4gICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjZGRiODRhO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTIwbXM7XG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZmZlZWEwOyB9XG4gICAgfVxuXG4gICAgLy8gV2FybmluZyBzdGF0ZTogYW1iZXIgcGlsbCArIHBlcmlvZGljIHdpZ2dsZS4gRmxhZ3MgYSBjb25uZWN0aW9uIHRoYXQgbXVzdFxuICAgIC8vIGJlIGZpeGVkIChlLmcuIGFuIGV4dHJhIGJyYW5jaCBibG9ja2luZyB0aGUgTXVsdGktcmFkaW8g4oaSIE11bHRpLXNlbGVjdFxuICAgIC8vIHN3aXRjaCkuIENvbXBvdW5kIHNlbGVjdG9yIHNvIGl0IHdpbnMgb3ZlciAtLWxpbmtlZCAvIC0taGFzLXRpcC5cbiAgICAmLS1saW5rZWQucWRuYXByby1hbnN3ZXItb3B0aW9uX19jb25uLS13YXJuaW5nIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjNjZDtcbiAgICAgICAgY29sb3I6ICM5YTZhMTA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMGQwNjA7XG4gICAgICAgIGFuaW1hdGlvbjogcWRuYXByby1hby1waWxsLXdpZ2dsZSAzcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZmZlZWEwOyB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHFkbmFwcm8tYW8tcGlsbC13aWdnbGUge1xuICAgIC8vIE1vc3RseSBhdCByZXN0OyBhIGJyaWVmIHNoYWtlIG5lYXIgdGhlIGVuZCBvZiBlYWNoIGN5Y2xlIGRyYXdzIHRoZSBleWVcbiAgICAvLyB3aXRob3V0IGJlaW5nIGEgY29uc3RhbnQgbW90aW9uLlxuICAgIDAlLCA4NCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgcm90YXRlKDApOyB9XG4gICAgODclIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgICA5MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSAgcm90YXRlKDNkZWcpOyB9XG4gICAgOTMlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMmRlZyk7IH1cbiAgICA5NiUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSAgcm90YXRlKDFkZWcpOyB9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnFkbmFwcm8tYW5zd2VyLW9wdGlvbl9fY29ubi0td2FybmluZyB7IGFuaW1hdGlvbjogbm9uZTsgfVxufVxuXG4vLyBIb3ZlciBhY3Rpb24gYnV0dG9ucyAoc2xpZGUtaW4gZnJvbSByaWdodClcbi5xZG5hcHJvLWFuc3dlci1vcHRpb25fX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDJweDtcbiAgICBwYWRkaW5nOiAwIDVweCAwIDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE0MG1zO1xufVxuXG4ucWRuYXByby1hbnN3ZXItb3B0aW9uX19hY3Qge1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcywgYm9yZGVyLWNvbG9yIDEyMG1zLCBjb2xvciAxMjBtcztcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgIHN2ZyB7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDE1cHg7IH1cblxuICAgICYtLXVubGluayB7XG4gICAgICAgIGNvbG9yOiAjOWE2YTEwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmM2NkO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmMGQwNjA7XG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZmRlOGEwOyBib3JkZXItY29sb3I6ICNkMGE4MjA7IH1cbiAgICB9XG5cbiAgICAmLS1kZWxldGUge1xuICAgICAgICBjb2xvcjogI2M5NDA0MDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZkZThlODtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZThiMGIwO1xuICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogI2ZmY2NjYzsgYm9yZGVyLWNvbG9yOiAjYzk0MDQwOyB9XG4gICAgfVxufVxuXG4vLyBJbmxpbmUgY29uZmlybSBiYXIgKGRlbGV0ZSAvIHVubGluaylcbi5xZG5hcHJvLWFuc3dlci1vcHRpb25fX2NvbmZpcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xufVxuXG4ucWRuYXByby1hbnN3ZXItb3B0aW9uX19jb25maXJtLWljb24ge1xuICAgIGNvbG9yOiAjYzk0MDQwO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBzdmcgeyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyB9XG59XG5cbi5xZG5hcHJvLWFuc3dlci1vcHRpb25fX2NvbmZpcm0tdGV4dCB7XG4gICAgZmxleDogMTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogI2M5NDA0MDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLy8gVW5saW5rIGNvbmZpcm0gYmFyID0gYW1iZXIsIG5vdCByZWQgKGdlbnRsZSBhY3Rpb24pLlxuLnFkbmFwcm8tYW5zd2VyLW9wdGlvbi0tY29uZmlybWluZy11bmxpbmsgLnFkbmFwcm8tYW5zd2VyLW9wdGlvbl9fY29uZmlybS1pY29uLFxuLnFkbmFwcm8tYW5zd2VyLW9wdGlvbi0tY29uZmlybWluZy11bmxpbmsgLnFkbmFwcm8tYW5zd2VyLW9wdGlvbl9fY29uZmlybS10ZXh0IHtcbiAgICBjb2xvcjogIzlhNmExMDtcbn1cblxuLy8gQ29uZmlybS1iYXIgYnV0dG9ucyBhcmUgcWRuYXByby1idXR0b24gc2l6ZT1cIm1pY3JvXCIgKHNlY29uZGFyeSArIHdhcm5pbmctcmVkKTtcbi8vIG5vIGJlc3Bva2UgYnV0dG9uIHN0eWxpbmcgbGl2ZXMgaGVyZSBhbnltb3JlLlxuIiwiLy8gcWRuYXByby1hbnN3ZXItYnV0dG9uIOKAlCBzdXJ2ZXkvYXVkaXQgYW5zd2VyIGJ1dHRvbiBmb3IgdGhlIFBXQSAobXVsdGkgcmFkaW8gLyBtZWVya2V1emUpLlxuLy8gSWRsZS9ob3Zlci9wcmVzc2VkIHN1cmZhY2UgdGFrZW4gZnJvbSB0aGUgcWRuYXByby1idXR0b24gXCJzZWNvbmRhcnktcHVycGxlXCIgdmFyaWFudDsgdGhlXG4vLyBzZWxlY3RlZCAoYWN0aXZlKSBzdGF0ZSBpcyBhIFNPRlQgc2VsZWN0aW9uIChzdWJ0bGUgZmlsbCArIHBlcml3aW5rbGUgcmluZyArIGZpbGxlZFxuLy8gY2hlY2tib3gpLCBub3QgYSBmdWxsIGZsb29kLiBTdXJmYWNlIGNvbG91cnMgcm91dGUgdGhyb3VnaCB0aGUgdGhlbWUtZWRpdG9yIHZhcnNcbi8vICgtLXRoZW1lLWJ0bi0qKSB3aXRoIHRoZSBzZWNvbmRhcnktcHVycGxlIHZhbHVlcyBhcyBmYWxsYmFja3MsIHNvIHRoZSBxZG5hIHRoZW1lIGVkaXRvclxuLy8gY2FuIHJlY29sb3VyIHRoZW0uIExlYWRpbmcgY2hlY2tib3ggaW5kaWNhdG9yOyB0aWNrIHBvcHMgaW4gb24gc2VsZWN0LlxuLy8gRkxBVCBDU1M7IHRva2VucyBmcm9tIHRoZSBkZXNpZ24tdG9rZW4gOnJvb3QuXG5cbi5xZG5hcHJvLWFuc3dlci1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4taGVpZ2h0OiA1NnB4O1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIGJvcmRlcjogMS41cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItMywgMTJweCk7XG4gIC8vIFNvZnQgdGludDogMTIlIG9mIHRoZSB0aGVtZSBjb2xvdXIgbWl4ZWQgaW50byB3aGl0ZSDihpIgbGlnaHQgcGVyaXdpbmtsZSBvbiB0aGUgZGVmYXVsdCB0aGVtZSxcbiAgLy8gbGlnaHQgbWludC9wZWFjaC9ldGMuIG9uIGN1c3RvbSB0aGVtZXMuIE5ldmVyIGEgZnVsbC1maWxsOyB0aGUgZmlsbGVkIHZhcmlhbnQgaXMgdGhlIGNvbnRpbnVlIGJ1dHRvbi5cbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSkgMTIlLCAjZmZmKTtcbiAgLy8gVGV4dCA9IHRoZSB0aGVtZSBjb2xvdXIgaXRzZWxmIChyZWFkYWJsZSBvbiB0aGUgbGlnaHQgdGludGVkIGJnKS5cbiAgY29sb3I6IHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1mb250LWZhbWlseSwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE2cyBlYXNlLCBib3JkZXItY29sb3IgMC4xNnMgZWFzZSwgY29sb3IgMC4xNnMgZWFzZSxcbiAgICAgICAgICAgICAgYm94LXNoYWRvdyAwLjE2cyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xufVxuXG4ucWRuYXByby1hbnN3ZXItYnV0dG9uOmhvdmVyOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS10aGVtZS1idG4tY29sb3IsICM0MDQ5OWEpIDIwJSwgI2ZmZik7XG59XG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLmlzLXByZXNzZWQ6bm90KC5pcy1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tdGhlbWUtYnRuLWNvbG9yLCAjNDA0OTlhKSAyOCUsICNmZmYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xufVxuXG4vLyBTZWxlY3RlZCDigJQgZXhwbGljaXQgLS10aGVtZS1idG4tc2VsZWN0ZWQtY29sb3Igd2lucyAoZS5nLiB0aGUgZGVyaXZlZCAjNzk4MEI4IHRoZVxuLy8gdGhlbWUgZW5naW5lIHNldHMgZnJvbSBhIGRhcmsgcHJpbWFyeSBjb2xvdXIpLiBGYWxsYmFjayA9IGEgMjIlIHNvZnQgdGludCAoc2xpZ2h0bHlcbi8vIGRlZXBlciB0aGFuIGlkbGUgMTIlKSBzbyB0aGUgc2VsZWN0ZWQgc3RhdGUgaXMgYWx3YXlzIHZpc2libHkgZGlzdGluY3Qgb24gYW55IHRoZW1lLlxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1idG4tc2VsZWN0ZWQtY29sb3IsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS10aGVtZS1idG4tY29sb3IsICM0MDQ5OWEpIDIyJSwgI2ZmZikpO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtYnRuLXNlbGVjdGVkLXRleHQtY29sb3IsIHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSkpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLmlzLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTUwLCAjZjBmMWYyKTtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS00MDAsICNhNmFhYjMpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vIENoZWNrYm94IGluZGljYXRvclxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbl9fdGljayB7XG4gIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMThzIGVhc2UsIGJvcmRlci1jb2xvciAwLjE4cyBlYXNlLCBvcGFjaXR5IDAuMThzIGVhc2UsXG4gICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjM0LCAxLjYsIDAuNSwgMSk7XG59XG4ucWRuYXByby1hbnN3ZXItYnV0dG9uX190aWNrIHN2ZyB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8vIFN0cm9rZWQgY2hlY2ttYXJrIOKAlCBkcmF3LWluIHZpYSBzdHJva2UtZGFzaG9mZnNldFxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbl9fY2hlY2sge1xuICBmaWxsOiBub25lO1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgc3Ryb2tlLXdpZHRoOiAyLjU7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbiAgc3Ryb2tlLWRhc2hhcnJheTogMjQ7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAyNDtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgMC4xNXMgZWFzZTtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24uaXMtYWN0aXZlIC5xZG5hcHJvLWFuc3dlci1idXR0b25fX3RpY2sge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1idG4tY29sb3IsICM0MDQ5OWEpO1xuICBib3JkZXItY29sb3I6IHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSk7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1idG4tdGV4dC1jb2xvciwgI2ZmZik7XG4gIGFuaW1hdGlvbjogcWFiLXRpY2stcG9wIDAuNTJzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjUsIDEpO1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi5pcy1hY3RpdmUgLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbl9fY2hlY2sge1xuICBhbmltYXRpb246IHFhYi1kcmF3IDAuMzhzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSAwLjA0cyBmb3J3YXJkcztcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24uaXMtZGlzYWJsZWQgLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbl9fdGljayB7IGJvcmRlci1jb2xvcjogdmFyKC0tYy1ncmV5LTMwMCwgI2M0YzdjYyk7IG9wYWNpdHk6IDE7IH1cblxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbl9fbGFiZWwgeyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IH1cblxuLy8gVmFyaWFudDogcm91bmQgaW5kaWNhdG9yIChtdWx0aXBsZS1jaG9pY2UgLyByYWRpbyBzdHlsZSlcbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLW11bHRpcGxlLWNob2ljZSAucWRuYXByby1hbnN3ZXItYnV0dG9uX190aWNrIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vLyBJY29uIHNsb3Qg4oCUIGFjdGl2aXR5IGljb24gKHR3by10b25lLCBmaXhlZCBjb2xvdXJzKSBvciBNREkgaWNvbiAoY3VycmVudENvbG9yKVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbl9faWNvbiB7XG4gIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b25fX2ljb24gc3ZnLFxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbl9faWNvbiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi8vIE1ESSBpY29uczogc2V0IGZpbGwgdG8gY3VycmVudENvbG9yIHNvIHRoZXkgaW5oZXJpdCB0aGUgYnV0dG9uIHRleHQgY29sb3VyIChwdXJwbGUvdGhlbWVkKS5cbi8vIE1ESSBTVkdzIGhhdmUgbm8gZXhwbGljaXQgZmlsbCBhdHRyaWJ1dGUgKFNWRyBkZWZhdWx0ID0gYmxhY2spLCBzbyBDU1MgbXVzdCBzZXQgaXQuXG4vLyBBY3Rpdml0eSBpY29ucyBoYXZlIGJha2VkLWluIGNvbG91cnMgaW5zaWRlIGFuIDxpbWc+IOKAlCBubyBDU1Mgb3ZlcnJpZGUgbmVlZGVkIHRoZXJlLlxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi5oYXMtaWNvbi1tZGkgLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbl9faWNvbiB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLmhhcy1pY29uLW1kaSAucWRuYXByby1hbnN3ZXItYnV0dG9uX19pY29uIHN2ZyB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuQGtleWZyYW1lcyBxYWItdGljay1wb3Age1xuICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpICAgIHJvdGF0ZSgwZGVnKTsgIH1cbiAgMjAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4yMikgICByb3RhdGUoLTVkZWcpOyB9XG4gIDQ0JSAgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTApICAgcm90YXRlKDNkZWcpOyAgfVxuICA2NCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KSAgIHJvdGF0ZSgtMWRlZyk7IH1cbiAgODAlICB7IHRyYW5zZm9ybTogc2NhbGUoMC45NykgICByb3RhdGUoMGRlZyk7ICB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpICAgICAgcm90YXRlKDBkZWcpOyAgfVxufVxuXG5Aa2V5ZnJhbWVzIHFhYi1kcmF3IHtcbiAgMCUgICB7IHN0cm9rZS1kYXNob2Zmc2V0OiAyNDsgICB9XG4gIDYyJSAgeyBzdHJva2UtZGFzaG9mZnNldDogLTE7ICAgfVxuICA4MCUgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDAuNzsgIH1cbiAgMTAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAwOyAgICB9XG59XG5cbi8vIFNpemUgdmFyaWFudDogY29tcGFjdCAoNDhweCkg4oCUIGFsbCBpbnRlcm5hbHMgc2NhbGUgcHJvcG9ydGlvbmFsbHkuXG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLS1jb21wYWN0IHtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgcGFkZGluZzogMTBweCAxNHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGdhcDogMTBweDtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLWNvbXBhY3QgLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbl9fdGljayB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLWNvbXBhY3QucWRuYXByby1hbnN3ZXItYnV0dG9uLS1tdWx0aXBsZS1jaG9pY2UgLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbl9fdGljayB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLWNvbXBhY3QgLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbl9fdGljayBzdmcge1xuICB3aWR0aDogMTNweDtcbiAgaGVpZ2h0OiAxM3B4O1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0tY29tcGFjdC5oYXMtaWNvbi1hY3Rpdml0eSAucWRuYXByby1hbnN3ZXItYnV0dG9uX19pY29uIHtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLWNvbXBhY3QuaGFzLWljb24tbWRpIC5xZG5hcHJvLWFuc3dlci1idXR0b25fX2ljb24ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuXG4vLyBEYXJrIG1vZGUg4oCUIHNhbWUgc29mdC10aW50IGxvZ2ljIGJ1dCBtaXhlZCBpbnRvIGEgZGFyayBiYXNlIGluc3RlYWQgb2Ygd2hpdGUuXG4vLyBPUkRFUiArIFNQRUNJRklDSVRZIENPTlRSQUNUOiB0aGlzIGJsb2NrIHNpdHMgQkVGT1JFIHRoZSAtLWdyZWVuLy0tcmVkIGNvbG91clxuLy8gdmFyaWFudHMgYW5kIHdyYXBzIHRoZSB0aGVtZSBhdHRyaWJ1dGUgaW4gOndoZXJlKCkgKHNwZWNpZmljaXR5IDApLCBzbyBhblxuLy8gZXhwbGljaXRseSBjaG9zZW4gYW5zd2VyIGNvbG91ciBhbHdheXMgd2lucyBvdmVyIHRoZSBmbG93IHRoZW1lIOKAlCBhbHNvIGluIGRhcmtcbi8vIG1vZGUuIEtlZXAgaXQgdGhhdCB3YXk6IG1vdmluZyB0aGlzIGJsb2NrIGJlbG93IHRoZSBjb2xvdXIgdmFyaWFudHMsIG9yIGRyb3BwaW5nXG4vLyB0aGUgOndoZXJlKCksIHNpbGVudGx5IHJldmVydHMgZ3JlZW4vcmVkIGJhY2sgdG8gdGhlIHRoZW1lIGNvbG91ciBpbiBkYXJrIG1vZGUuXG46d2hlcmUoW2RhdGEtdGhlbWU9XCJkYXJrXCJdLCBbZGF0YS10aGVtZS1kYXJrPVwidHJ1ZVwiXSkgLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS10aGVtZS1idG4tY29sb3IsICM0MDQ5OWEpIDIwJSwgdmFyKC0tYy1ncmV5LTkwMCwgIzE4MTgxYykpO1xuICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSkgNzAlLCAjZmZmKTtcbn1cbjp3aGVyZShbZGF0YS10aGVtZT1cImRhcmtcIl0sIFtkYXRhLXRoZW1lLWRhcms9XCJ0cnVlXCJdKSAucWRuYXByby1hbnN3ZXItYnV0dG9uOmhvdmVyOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS10aGVtZS1idG4tY29sb3IsICM0MDQ5OWEpIDMwJSwgdmFyKC0tYy1ncmV5LTkwMCwgIzE4MTgxYykpO1xufVxuOndoZXJlKFtkYXRhLXRoZW1lPVwiZGFya1wiXSwgW2RhdGEtdGhlbWUtZGFyaz1cInRydWVcIl0pIC5xZG5hcHJvLWFuc3dlci1idXR0b24uaXMtcHJlc3NlZDpub3QoLmlzLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS10aGVtZS1idG4tY29sb3IsICM0MDQ5OWEpIDQwJSwgdmFyKC0tYy1ncmV5LTkwMCwgIzE4MTgxYykpO1xufVxuOndoZXJlKFtkYXRhLXRoZW1lPVwiZGFya1wiXSwgW2RhdGEtdGhlbWUtZGFyaz1cInRydWVcIl0pIC5xZG5hcHJvLWFuc3dlci1idXR0b24uaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtYnRuLXNlbGVjdGVkLWNvbG9yLCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tdGhlbWUtYnRuLWNvbG9yLCAjNDA0OTlhKSAzNSUsIHZhcigtLWMtZ3JleS05MDAsICMxODE4MWMpKSk7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1idG4tc2VsZWN0ZWQtdGV4dC1jb2xvciwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSkgNzAlLCAjZmZmKSk7XG59XG46d2hlcmUoW2RhdGEtdGhlbWU9XCJkYXJrXCJdLCBbZGF0YS10aGVtZS1kYXJrPVwidHJ1ZVwiXSkgLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi5pcy1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS05MDAsICMxODE4MWMpO1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTUwMCwgIzZiNzI4MCk7XG59XG5cbi8vIENvbG9yIHZhcmlhbnRzOiBncmVlbiAoSmEpIC8gcmVkIChOZWUpIOKAlCB1c2UgUUROQSBzaWduYWwgcGFsZXR0ZS5cbi8vIE92ZXJyaWRlcyB0aGUgcHVycGxlLWRlZmF1bHRzIGZvciBzdXJmYWNlLCB0ZXh0LCBhbmQgdGljayBmaWxsLlxuLy8gVGhlc2Ugc3RheSBMQVNUIHNvIGFuIGV4cGxpY2l0IGNvbG91ciBjaG9pY2UgYmVhdHMgZXZlcnkgdGhlbWUgcnVsZSwgaW5jbC4gZGFyayBtb2RlLlxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0tZ3JlZW4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXNpZ25hbC1ncmVlbi1iZywgI2M1ZjVlMik7XG4gIGNvbG9yOiB2YXIoLS1jLXNpZ25hbC1ncmVlbi10ZXh0LCAjNDI4YjZlKTtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLWdyZWVuOmhvdmVyOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jLXNpZ25hbC1ncmVlbi1iZywgI2M1ZjVlMikgODUlLCAjMDAwKTtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLWdyZWVuLmlzLXByZXNzZWQ6bm90KC5pcy1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYy1zaWduYWwtZ3JlZW4tYmcsICNjNWY1ZTIpIDc1JSwgIzAwMCk7XG59XG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLS1ncmVlbi5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYy1zaWduYWwtZ3JlZW4tYmcsICNjNWY1ZTIpIDgwJSwgIzAwMCk7XG4gIGNvbG9yOiB2YXIoLS1jLXNpZ25hbC1ncmVlbi10ZXh0LCAjNDI4YjZlKTtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLWdyZWVuLmlzLWFjdGl2ZSAucWRuYXByby1hbnN3ZXItYnV0dG9uX190aWNrIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1zdWNjZXNzLWJyaWdodCwgIzFkOWU3NSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1zdWNjZXNzLWJyaWdodCwgIzFkOWU3NSk7XG59XG5cbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLXJlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtc2lnbmFsLXJlZC1iZywgI2ZlZTNlMyk7XG4gIGNvbG9yOiB2YXIoLS1jLXNpZ25hbC1yZWQtdGV4dCwgI2M2NWE1YSk7XG59XG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLS1yZWQ6aG92ZXI6bm90KC5pcy1kaXNhYmxlZCk6bm90KC5pcy1hY3RpdmUpIHtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWMtc2lnbmFsLXJlZC1iZywgI2ZlZTNlMykgODUlLCAjMDAwKTtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLXJlZC5pcy1wcmVzc2VkOm5vdCguaXMtZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWMtc2lnbmFsLXJlZC1iZywgI2ZlZTNlMykgNzUlLCAjMDAwKTtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLXJlZC5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYy1zaWduYWwtcmVkLWJnLCAjZmVlM2UzKSA4MCUsICMwMDApO1xuICBjb2xvcjogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpO1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0tcmVkLmlzLWFjdGl2ZSAucWRuYXByby1hbnN3ZXItYnV0dG9uX190aWNrIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy13YXJuLXJlZC01MDAsICNkYzI2MjYpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtd2Fybi1yZWQtNTAwLCAjZGMyNjI2KTtcbn1cblxuLy8gU2VtYW50aWMgb3B0aW9uIGNvbG91cnMgKE1lZXJrZXV6ZSBmYXNlIDUsIGJlc2x1aXQgMTIpOiBwb3NpdGl2ZSAvIHdhcm5pbmcgL1xuLy8gbmVnYXRpdmUgLyBuZXV0cmFsX2FsdC4gVGhlIGZsb3cgcGx1Z2lucyBwdXQgb3B0aW9uX2NvbG9yIGZyb20gdGhlIGxpbmsgcm93XG4vLyBvbiB0aGUgY29sb3IgYXR0cmlidXRlOyB0aGUgY29tcG9uZW50IG1hcHMgaXQgdG8gdGhlc2UgY2xhc3Nlcy4gRXhhY3Qgc2FtZVxuLy8gcmVjaXBlIGFzIGdyZWVuL3JlZCBhYm92ZSAoc29mdCBzaWduYWwtYmcgc3VyZmFjZSwgZGFya2VyIG9uIGhvdmVyL2FjdGl2ZSxcbi8vIGNvbG91cmVkIHRpY2sgZmlsbCkgYW5kIHRoZSBzYW1lIGNsb3NlZCBwYWxldHRlICsgdG9rZW5zIGFzIHRoZVxuLy8gcWRuYXByby1hbnN3ZXItb3B0aW9uIGVkaXRvciByb3csIHNvIHRoZSBjb2xvdXIgcmVhZHMgY29uc2lzdGVudGx5XG4vLyBlbmQtdG8tZW5kLiBOZXZlciBjb2xvdXItb25seTogdGhlIHRpY2sgc2hhcGUgc3RheXMgdGhlIHNlbGVjdGlvbiBjdWUuXG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLS1wb3NpdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtc2lnbmFsLWdyZWVuLWJnLCAjYzVmNWUyKTtcbiAgY29sb3I6IHZhcigtLWMtc2lnbmFsLWdyZWVuLXRleHQsICM0MjhiNmUpO1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0tcG9zaXRpdmU6aG92ZXI6bm90KC5pcy1kaXNhYmxlZCk6bm90KC5pcy1hY3RpdmUpIHtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWMtc2lnbmFsLWdyZWVuLWJnLCAjYzVmNWUyKSA4NSUsICMwMDApO1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0tcG9zaXRpdmUuaXMtcHJlc3NlZDpub3QoLmlzLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jLXNpZ25hbC1ncmVlbi1iZywgI2M1ZjVlMikgNzUlLCAjMDAwKTtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLXBvc2l0aXZlLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jLXNpZ25hbC1ncmVlbi1iZywgI2M1ZjVlMikgODAlLCAjMDAwKTtcbiAgY29sb3I6IHZhcigtLWMtc2lnbmFsLWdyZWVuLXRleHQsICM0MjhiNmUpO1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0tcG9zaXRpdmUuaXMtYWN0aXZlIC5xZG5hcHJvLWFuc3dlci1idXR0b25fX3RpY2sge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXN1Y2Nlc3MtYnJpZ2h0LCAjMWQ5ZTc1KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLXN1Y2Nlc3MtYnJpZ2h0LCAjMWQ5ZTc1KTtcbn1cblxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0td2FybmluZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtc2lnbmFsLXllbGxvdy1iZywgI2ZlZWRiOCk7XG4gIGNvbG9yOiB2YXIoLS1jLXNpZ25hbC15ZWxsb3ctdGV4dCwgI2JmNzIwMik7XG59XG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLS13YXJuaW5nOmhvdmVyOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jLXNpZ25hbC15ZWxsb3ctYmcsICNmZWVkYjgpIDg1JSwgIzAwMCk7XG59XG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLS13YXJuaW5nLmlzLXByZXNzZWQ6bm90KC5pcy1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYy1zaWduYWwteWVsbG93LWJnLCAjZmVlZGI4KSA3NSUsICMwMDApO1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0td2FybmluZy5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYy1zaWduYWwteWVsbG93LWJnLCAjZmVlZGI4KSA4MCUsICMwMDApO1xuICBjb2xvcjogdmFyKC0tYy1zaWduYWwteWVsbG93LXRleHQsICNiZjcyMDIpO1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0td2FybmluZy5pcy1hY3RpdmUgLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbl9fdGljayB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtd2Fybi1hbWJlci01MDAsICNkOTc3MDYpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtd2Fybi1hbWJlci01MDAsICNkOTc3MDYpO1xufVxuXG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLS1uZWdhdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtc2lnbmFsLXJlZC1iZywgI2ZlZTNlMyk7XG4gIGNvbG9yOiB2YXIoLS1jLXNpZ25hbC1yZWQtdGV4dCwgI2M2NWE1YSk7XG59XG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLS1uZWdhdGl2ZTpob3Zlcjpub3QoLmlzLWRpc2FibGVkKTpub3QoLmlzLWFjdGl2ZSkge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYy1zaWduYWwtcmVkLWJnLCAjZmVlM2UzKSA4NSUsICMwMDApO1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0tbmVnYXRpdmUuaXMtcHJlc3NlZDpub3QoLmlzLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jLXNpZ25hbC1yZWQtYmcsICNmZWUzZTMpIDc1JSwgIzAwMCk7XG59XG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLS1uZWdhdGl2ZS5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tYy1zaWduYWwtcmVkLWJnLCAjZmVlM2UzKSA4MCUsICMwMDApO1xuICBjb2xvcjogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpO1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0tbmVnYXRpdmUuaXMtYWN0aXZlIC5xZG5hcHJvLWFuc3dlci1idXR0b25fX3RpY2sge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdhcm4tcmVkLTUwMCwgI2RjMjYyNik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy13YXJuLXJlZC01MDAsICNkYzI2MjYpO1xufVxuXG4ucWRuYXByby1hbnN3ZXItYnV0dG9uLS1uZXV0cmFsX2FsdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtc2lnbmFsLWJsdWUtYmcsICNlNmVmZjkpO1xuICBjb2xvcjogdmFyKC0tYy1zaWduYWwtYmx1ZS10ZXh0LCAjNmE4YWI0KTtcbn1cbi5xZG5hcHJvLWFuc3dlci1idXR0b24tLW5ldXRyYWxfYWx0OmhvdmVyOm5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtYWN0aXZlKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jLXNpZ25hbC1ibHVlLWJnLCAjZTZlZmY5KSA4NSUsICMwMDApO1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0tbmV1dHJhbF9hbHQuaXMtcHJlc3NlZDpub3QoLmlzLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jLXNpZ25hbC1ibHVlLWJnLCAjZTZlZmY5KSA3NSUsICMwMDApO1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0tbmV1dHJhbF9hbHQuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWMtc2lnbmFsLWJsdWUtYmcsICNlNmVmZjkpIDgwJSwgIzAwMCk7XG4gIGNvbG9yOiB2YXIoLS1jLXNpZ25hbC1ibHVlLXRleHQsICM2YThhYjQpO1xufVxuLnFkbmFwcm8tYW5zd2VyLWJ1dHRvbi0tbmV1dHJhbF9hbHQuaXMtYWN0aXZlIC5xZG5hcHJvLWFuc3dlci1idXR0b25fX3RpY2sge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXNpZ25hbC1ibHVlLXRleHQsICM2YThhYjQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtc2lnbmFsLWJsdWUtdGV4dCwgIzZhOGFiNCk7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9hdmF0YXIvX2F2YXRhci1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG4ucWRuYXByby1hdmF0YXIge1xuICAtLWF2LWJnOiAjYzVmNWUyO1xuICAtLWF2LWJvcmRlcjogIzQyOGI2ZTtcbiAgLS1hdi1zaXplOiA0OHB4O1xuICAtLWF2LXBhZGRpbmc6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogdmFyKC0tYXYtc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tYXYtc2l6ZSk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBwYWRkaW5nOiB2YXIoLS1hdi1wYWRkaW5nKTtcbiAgYm9yZGVyOiAwLjVweCBzb2xpZCB2YXIoLS1hdi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWF2LWJnKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTQwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1hdmF0YXIgLmF2YXRhci1hbmltYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLWF2YXRhci5hdmF0YXItc2l6ZS03MiB7XG4gIC0tYXYtc2l6ZTogNzJweDtcbiAgLS1hdi1wYWRkaW5nOiAxMnB4O1xufVxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1zaXplLTQ4IHtcbiAgLS1hdi1zaXplOiA0OHB4O1xuICAtLWF2LXBhZGRpbmc6IDhweDtcbn1cbi5xZG5hcHJvLWF2YXRhci5hdmF0YXItc2l6ZS0zNCB7XG4gIC0tYXYtc2l6ZTogMzRweDtcbiAgLS1hdi1wYWRkaW5nOiA2cHg7XG59XG4ucWRuYXByby1hdmF0YXIuYXZhdGFyLXNpemUtMjgge1xuICAvLyBJbnRlcnBvbGF0ZWQgYmV0d2VlbiBzaXplLTIwICg0cHgpIGFuZCBzaXplLTM0ICg2cHgpOiA0ICsgKDI4LTIwKS8oMzQtMjApICogKDYtNCkgPSA1LjE0cHgsIHJvdW5kZWQgdG8gNXB4LlxuICAtLWF2LXNpemU6IDI4cHg7XG4gIC0tYXYtcGFkZGluZzogNXB4O1xufVxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1zaXplLTIwIHtcbiAgLS1hdi1zaXplOiAyMHB4O1xuICAtLWF2LXBhZGRpbmc6IDRweDtcbn1cbi5xZG5hcHJvLWF2YXRhci5hdmF0YXItY29sb3ItZ3JlZW4ge1xuICAtLWF2LWJnOiAjYzVmNWUyO1xuICAtLWF2LWJvcmRlcjogIzQyOGI2ZTtcbiAgLS1hdi1pY29uOiAjNDI4YjZlO1xufVxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1jb2xvci15ZWxsb3cge1xuICAtLWF2LWJnOiAjZmVlZGI4O1xuICAtLWF2LWJvcmRlcjogI2JmNzIwMjtcbiAgLS1hdi1pY29uOiAjZWY4ZTAyO1xufVxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1jb2xvci1ibHVlIHtcbiAgLS1hdi1iZzogI2U2ZWZmOTtcbiAgLS1hdi1ib3JkZXI6ICM2YThhYjQ7XG4gIC0tYXYtaWNvbjogIzRmNjg4Nztcbn1cbi5xZG5hcHJvLWF2YXRhci5hdmF0YXItY29sb3ItcmVkIHtcbiAgLS1hdi1iZzogI2ZlZTNlMztcbiAgLS1hdi1ib3JkZXI6ICNjNjVhNWE7XG4gIC0tYXYtaWNvbjogI2M2NWE1YTtcbn1cbi8vIEZpZnRoIGNvbG91ciwgZGVsaWJlcmF0ZWx5IG91dHNpZGUgdGhlIGZvdXIgcGFzdGVscy4gVGhvc2UgZm91ciByZWFkIGFzXG4vLyBcImEgcGVyc29uXCI7IHRoaXMgZ3JleSBvbmUgaXMgZm9yIGNpcmNsZXMgd2hlcmUgbm8gcGVyc29uIGlzIGludm9sdmVkLCBlLmcuXG4vLyBhIHN5c3RlbSBtZXNzYWdlIHdpdGggbWFyaz1cInFkbmFcIi4gVmFsdWVzIGFyZSB0aGUgY2VudHJhbCBncmV5IHRva2VucyBmcm9tXG4vLyBkZXNpZ24tdG9rZW5zL19kZXNpZ24tdG9rZW5zLnNjc3MsIG5vdCBuZXcgY29sb3VyczogZ3JleS0xMDAgc3VyZmFjZSxcbi8vIGdyZXktNTAwIGhhaXJsaW5lLCBncmV5LTYwMCBmb3IgdGhlIG1hcmsvaWNvbi5cbi8vIE1lYXN1cmVkIGNvbnRyYXN0OiBtYXJrIGdyZXktNjAwICM1NjViNjYgb24gc3VyZmFjZSBncmV5LTEwMCAjZTdlOWVjID1cbi8vIDUuNjA6MSwgd2VsbCBwYXN0IHRoZSAzOjEgV0NBRyAxLjQuMTEgZmxvb3IgZm9yIG5vbi10ZXh0IGVsZW1lbnRzLiBUaGUgZm91clxuLy8gcGFzdGVscyBzaXQgYXQgMi4xMToxICh5ZWxsb3cpIHRvIDQuOTQ6MSAoYmx1ZSkgZm9yIHRoZSBzYW1lIHBhaXIsIHNvIHRoaXNcbi8vIGlzIHRoZSBzdHJvbmdlc3Qgb2YgdGhlIGZpdmUsIG5vdCB0aGUgd2Vha2VzdC5cbi8vIEhhaXJsaW5lIGNob2ljZTogdGhlIGZvdXIgcGFzdGVscycgYm9yZGVycyBsYW5kIGJldHdlZW4gMy4wNjoxIGFuZCAzLjQ1OjFcbi8vIGFnYWluc3QgdGhlaXIgb3duIHN1cmZhY2UuIE5vIGdyZXkgdG9rZW4gaGl0cyB0aGF0IGJhbmQgZXhhY3RseSwgc28gZ3JleS01MDBcbi8vICgzLjk3OjEpIHdhcyBwaWNrZWQgb3ZlciBncmV5LTQwMCAoMS45MToxKTogc2xpZ2h0bHkgZmlybWVyIHRoYW4gaXRzXG4vLyBzaWJsaW5ncywgcmF0aGVyIHRoYW4gYSBjaXJjbGUgdGhhdCBsb29rcyBsaWtlIGl0IGxvc3QgaXRzIHJpbS5cbi8vIFtLaW0gMjkuMDcuMjAyNl1cbi5xZG5hcHJvLWF2YXRhci5hdmF0YXItY29sb3ItbmV1dHJhbCB7XG4gIC0tYXYtYmc6IHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpO1xuICAtLWF2LWJvcmRlcjogdmFyKC0tYy1ncmV5LTUwMCwgIzZiNzI4MCk7XG4gIC0tYXYtaWNvbjogdmFyKC0tYy1ncmV5LTYwMCwgIzU2NWI2Nik7XG59XG4vLyBaZXNkZSBrbGV1ciwgXCJwdXJwbGVcIiAoS2ltIDI5LjA3LjIwMjYsIG5hIGRlIHRvZXN0ZWx0ZXN0OiBoZXQgZ3JpanplIHJvbmRqZSB2YW5cbi8vIGhldCBzeXN0ZWVtYmVyaWNodCB3YXMgaGFhciB0ZSBncmlqczsgemUgd2lsIGxpY2h0cGFhcnMgbWV0IGVlbiBkb25rZXJkZXIgcGFhcnNcbi8vIHRla2VuKS4gQmVkb2VsZCB2b29yIGhldCBRRE5BLW1lcmt0ZWtlbiwgZHVzIHZvb3IgXCJkaXQga29tdCB2YW4gaGV0IHBsYXRmb3JtXCIuXG4vLyBOZXQgYWxzIG5ldXRyYWwgaG9vcnQgZGV6ZSBOSUVUIGJpaiBkZSB2aWVyIHBhc3RlbC1tZW5zZW5rbGV1cmVuLlxuLy8gVG9rZW5zLCBnZWVuIGxvc3NlIGhleDogcHVycGxlLTUwIGlzIGhldCBsaWNodHN0ZSB2bGFrLCBwdXJwbGUtNTAwIGRlIGh1aXNzdGlqbC1cbi8vIHBhYXJzIHZvb3IgaGV0IHRla2VuLCBwdXJwbGUtMjAwIGFscyByYW5kIGRpZSB6aWNodGJhYXIgaXMgem9uZGVyIHRlIHNjaHJlZXV3ZW4uXG4vLyBDb250cmFzdCB0ZWtlbiBvcCB2bGFrOiAjNDA0OTlhIG9wICNlNmU5ZmYgaXMgNywzOjEsIHJ1aW0gYm92ZW4gZGUgMzoxIGRpZSBXQ0FHXG4vLyAxLjQuMTEgdm9vciBuaWV0LXRla3N0dWVsZSBlbGVtZW50ZW4gdnJhYWd0IChuYWdlcmVrZW5kLCBuaWV0IGdlc2NoYXQpLlxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1jb2xvci1wdXJwbGUge1xuICAtLWF2LWJnOiB2YXIoLS1jLXB1cnBsZS01MCwgI2U2ZTlmZik7XG4gIC0tYXYtYm9yZGVyOiB2YXIoLS1jLXB1cnBsZS0yMDAsICNhNWFjZmYpO1xuICAtLWF2LWljb246IHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSk7XG59XG4ucWRuYXByby1hdmF0YXIuYXZhdGFyLW1vZGUtcGhvdG8ge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmMGYxZjI7XG59XG4ucWRuYXByby1hdmF0YXIgLmF2YXRhci1waG90byB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucWRuYXByby1hdmF0YXIgLmF2YXRhci1pbml0aWFscyB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNmI3MjgwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuMDVlbSk7XG59XG4ucWRuYXByby1hdmF0YXIuYXZhdGFyLW1vZGUtaW5pdGlhbHMuYXZhdGFyLXNpemUtNzIgLmF2YXRhci1pbml0aWFscyB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbn1cbi5xZG5hcHJvLWF2YXRhci5hdmF0YXItbW9kZS1pbml0aWFscy5hdmF0YXItc2l6ZS00OCAuYXZhdGFyLWluaXRpYWxzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1tb2RlLWluaXRpYWxzLmF2YXRhci1zaXplLTM0IC5hdmF0YXItaW5pdGlhbHMge1xuICBmb250LXNpemU6IDEzcHg7XG59XG4ucWRuYXByby1hdmF0YXIuYXZhdGFyLW1vZGUtaW5pdGlhbHMuYXZhdGFyLXNpemUtMjggLmF2YXRhci1pbml0aWFscyB7XG4gIC8vIEludGVycG9sYXRlZCBiZXR3ZWVuIHNpemUtMjAgKDlweCkgYW5kIHNpemUtMzQgKDEzcHgpOiA5ICsgKDI4LTIwKS8oMzQtMjApICogKDEzLTkpID0gMTEuMjlweCwgcm91bmRlZCB0byAxMXB4LlxuICBmb250LXNpemU6IDExcHg7XG59XG4ucWRuYXByby1hdmF0YXIuYXZhdGFyLW1vZGUtaW5pdGlhbHMuYXZhdGFyLXNpemUtMjAgLmF2YXRhci1pbml0aWFscyB7XG4gIGZvbnQtc2l6ZTogOXB4O1xufVxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1tb2RlLWljb24ge1xuICBjb2xvcjogdmFyKC0tYXYtaWNvbik7XG59XG4ucWRuYXByby1hdmF0YXIgLmF2YXRhci1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLWF2YXRhciAuYXZhdGFyLWljb24gc3ZnIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1tb2RlLWljb24uYXZhdGFyLXNpemUtNzIgLmF2YXRhci1pY29uIHtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbn1cbi5xZG5hcHJvLWF2YXRhci5hdmF0YXItbW9kZS1pY29uLmF2YXRhci1zaXplLTQ4IC5hdmF0YXItaWNvbiB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG4ucWRuYXByby1hdmF0YXIuYXZhdGFyLW1vZGUtaWNvbi5hdmF0YXItc2l6ZS0zNCAuYXZhdGFyLWljb24ge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xufVxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1tb2RlLWljb24uYXZhdGFyLXNpemUtMjggLmF2YXRhci1pY29uIHtcbiAgLy8gSW50ZXJwb2xhdGVkIGJldHdlZW4gc2l6ZS0yMCAoMTJweCkgYW5kIHNpemUtMzQgKDE4cHgpOiAxMiArICgyOC0yMCkvKDM0LTIwKSAqICgxOC0xMikgPSAxNS40M3B4LCByb3VuZGVkIHRvIDE1cHguXG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG59XG4ucWRuYXByby1hdmF0YXIuYXZhdGFyLW1vZGUtaWNvbi5hdmF0YXItc2l6ZS0yMCAuYXZhdGFyLWljb24ge1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xufVxuLy8gTWFyayBtb2RlIOKAlCB0aGUgUUROQSBicmFuZCBtYXJrLCBpbmxpbmVkIGluIHRoZSBjb21wb25lbnQgSlMgd2l0aFxuLy8gZmlsbD1cImN1cnJlbnRDb2xvclwiLiBDb2xvdXIgcmlkZXMgdGhlIHNhbWUgLS1hdi1pY29uIGNoYW5uZWwgYXMgaWNvbiBtb2RlLFxuLy8gc28gdGhlIG1hcmsgdGhlbWVzIHBlciBgY29sb3JgLlxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1tb2RlLW1hcmsge1xuICBjb2xvcjogdmFyKC0tYXYtaWNvbik7XG59XG4ucWRuYXByby1hdmF0YXIgLmF2YXRhci1tYXJrIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLWF2YXRhciAuYXZhdGFyLW1hcmsgc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi8vIEJveCBwZXIgc2l6ZSA9IHJvdW5kKDAuNTggeCBhdmF0YXIgc2l6ZSksIHRoZW4gY2hlY2tlZCBzbyB0aGUgbWFyZ2luIGxlZnRcbi8vIG92ZXIgaXMgbmV2ZXIgc21hbGxlciB0aGFuIHRoZSBjaXJjbGUncyBvd24gcGFkZGluZy4gVGhhdCBrZWVwcyB0aGUgbWFyayBvZmZcbi8vIHRoZSByaW0gYXQgZXZlcnkgc2l6ZSBhbmQgZ2l2ZXMgaXQgdGhlIHNhbWUgb3B0aWNhbCByZXN0IHRoZSBhbmltYWxzIGhhdmUuXG4ucWRuYXByby1hdmF0YXIuYXZhdGFyLW1vZGUtbWFyay5hdmF0YXItc2l6ZS03MiAuYXZhdGFyLW1hcmsge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xufVxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1tb2RlLW1hcmsuYXZhdGFyLXNpemUtNDggLmF2YXRhci1tYXJrIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbn1cbi5xZG5hcHJvLWF2YXRhci5hdmF0YXItbW9kZS1tYXJrLmF2YXRhci1zaXplLTM0IC5hdmF0YXItbWFyayB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG4ucWRuYXByby1hdmF0YXIuYXZhdGFyLW1vZGUtbWFyay5hdmF0YXItc2l6ZS0yOCAuYXZhdGFyLW1hcmsge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1tb2RlLW1hcmsuYXZhdGFyLXNpemUtMjAgLmF2YXRhci1tYXJrIHtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbn1cblxuLnFkbmFwcm8tYXZhdGFyLmF2YXRhci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5xZG5hcHJvLWF2YXRhci5hdmF0YXItbWlzc2luZzo6YWZ0ZXIge1xuICBjb250ZW50OiBcIj9cIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuNWVtO1xuICBjb2xvcjogdmFyKC0tYXYtYm9yZGVyKTtcbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL2F2YXRhci1zdGFjay9fYXZhdGFyLXN0YWNrLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi5xZG5hcHJvLWF2YXRhci1zdGFjayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnFkbmFwcm8tYXZhdGFyLXN0YWNrIFtkYXRhLXJvbGU9c3RhY2staXRlbV0ge1xuICBmbGV4LXNocmluazogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnFkbmFwcm8tYXZhdGFyLXN0YWNrIFtkYXRhLXN0YWNrLWhpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnFkbmFwcm8tYXZhdGFyLXN0YWNrIFtkYXRhLXJvbGU9b3ZlcmZsb3ddIHtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5xZG5hcHJvLWF2YXRhci1zdGFja1tkYXRhLXNpemU9XCIyMFwiXSBbZGF0YS1yb2xlPXN0YWNrLWl0ZW1dIHtcbiAgbWFyZ2luLXJpZ2h0OiAtNnB4O1xufVxuXG4ucWRuYXByby1hdmF0YXItc3RhY2tbZGF0YS1zaXplPVwiMzRcIl0gW2RhdGEtcm9sZT1zdGFjay1pdGVtXSB7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG59XG5cbi5xZG5hcHJvLWF2YXRhci1zdGFja1tkYXRhLXNpemU9XCI0OFwiXSBbZGF0YS1yb2xlPXN0YWNrLWl0ZW1dIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTRweDtcbn1cblxuLnFkbmFwcm8tYXZhdGFyLXN0YWNrW2RhdGEtc2l6ZT1cIjcyXCJdIFtkYXRhLXJvbGU9c3RhY2staXRlbV0ge1xuICBtYXJnaW4tcmlnaHQ6IC0yMnB4O1xufVxuXG4ucWRuYXByby1hdmF0YXItc3RhY2sgW2RhdGEtcm9sZT1zdGFjay1pdGVtXVtkYXRhLXN0YWNrLWxhc3RdIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vKiB2YXJpYW50PVwiYnV0dG9uXCI6IHRoZSB3aG9sZSBzdGFjayBhY3RzIGxpa2UgYSBzdWJ0bGUtcHVycGxlIGJ1dHRvblxuICAgKGhvdmVyIC8gYWN0aXZlIC8gZm9jdXMpLCBmb3IgdXNlIG9uIGEgbGlnaHQtcHVycGxlIHN1cmZhY2UuIFtLaW0gMjAyNi0wNi0xN10gKi9cbi5xZG5hcHJvLWF2YXRhci1zdGFja1t2YXJpYW50PVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsIGJveC1zaGFkb3cgMTIwbXMgZWFzZTtcbn1cbi5xZG5hcHJvLWF2YXRhci1zdGFja1t2YXJpYW50PVwiYnV0dG9uXCJdOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2RhZGRmMjtcbn1cbi5xZG5hcHJvLWF2YXRhci1zdGFja1t2YXJpYW50PVwiYnV0dG9uXCJdOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNjN2NjZTg7XG59XG4ucWRuYXByby1hdmF0YXItc3RhY2tbdmFyaWFudD1cImJ1dHRvblwiXTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNjQsIDczLCAxNTQsIDAuNDUpO1xufVxuIiwiLy8gcWRuYXByby1ib3R0b20tc2hlZXQg4oCUIHNjcmltICsgc2xpZGUtdXAgcGFuZWwsIGF1dG8taGVpZ2h0LCBzd2lwZS10by1kaXNtaXNzLlxuLy8gRkxBVCBDU1M7IGNvbG91cnMvcmFkaWkgZnJvbSB0aGUgZGVzaWduLXRva2VuIDpyb290ICh2YXIoLS1jLSopIC8gLS1yLSopLlxuLy8gRWRpdCBIRVJFLCB0aGVuIGBndWxwIHNhc3MtdjFgICsgdGhlIHN5bmMuXG5cbi8qIERlIHNoZWV0IHdvcmR0IGJpaiBvcGVuZW4gbmFhciA8Ym9keT4gZ2Vwb3J0YWxkICh6aWUgX3Nob3cpLiBDb250YWluZXIgaXNcbiAgIHBvc2l0aW9uOmZpeGVkIChOSUVUIHRyYW5zZm9ybSDigJQgZGF0IHpvdSBkZSBmaXhlZCBraW5kZXJlbiB2YW5nZW4pIHpvZGF0IHotaW5kZXhcbiAgIGdlbGR0IGVuIGhpaiBlZW4gc3RhY2tpbmctY29udGV4dCBvcCAxMDAwIG1hYWt0OyBkZSBmaXhlZCBzY3JpbS9wYW5lZWwgYmxpanZlblxuICAgdmlld3BvcnQtcmVsYXRpZWYuICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LWZhbWlseTogdmFyKC0tdGhlbWUtZm9udC1mYW1pbHksIFwiSW50ZXJcIiwgc2Fucy1zZXJpZik7XG59XG4ucWRuYXByby1ib3R0b20tc2hlZXQuaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiDDicOJTiBzY3JpbS1vYmplY3QgZGVrdCBoZXQgSEVMRSBzY2hlcm0g4oCUIGluY2x1c2llZiBkZSBpT1Mgc2FmZS1hcmVhcyAoYm92ZW4gK1xuICAgb25kZXIpLCB3YW50IHBvc2l0aW9uOmZpeGVkICsgaW5zZXQ6MCBpcyB2aWV3cG9ydC1yZWxhdGllZiBtZXQgdmlld3BvcnQtZml0PVxuICAgY292ZXIuIEhldCBwYW5lZWwgbGlndCBlcmJvdmVub3AgKGxhdGVyIGluIGRlIERPTSkgZW4gd29yZHQgZHVzIG5pZXQgZ2VkaW1kLlxuICAgRcOpbiBvYmplY3QgPSDDqcOpbiB1bmlmb3JtZSBkaW0sIGdlZW4gc2FmZS1hcmVhLXRydWNzLCBnZWVuIHRpbWluZy1yYWNlLiBbSmFuIDMwLjA2LjIwMjZdICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQgLmJzLXNjcmltIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ibGFjay00NSk7XG4gIC8qIElOU1RBTlQgZGltIOKAlCBnZWVuIG9wYWNpdHktdHJhbnNpdGllLiBEZSBzY3JpbSBpcyBlciB6b2RyYSBkZSBzaGVldCB6aWNodGJhYXJcbiAgICAgaXMgKGRpc3BsYXk6YmxvY2sgdmlhIC5pcy12aXNpYmxlKSBlbiB2ZXJkd2lqbnQgaW5lZW5zIGJpaiBzbHVpdGVuLiBCZXd1c3QgZ2VlblxuICAgICBhbmltYXRpZTogZWVuIGdlYW5pbWVlcmRlIG9wYWNpdHkgb3AgZWVuIHNhZmUtYXJlYS1rcnVpc2VuZCBmaXhlZCBlbGVtZW50IHdvcmR0XG4gICAgIGRvb3IgaU9TIFdLV2ViVmlldyBpbiBkZSBzYWZlLWFyZWEgbWV0IGFuZGVyZSB0aW1pbmcgZ2Vjb21wb3NpdCAobGFnKS4gSGV0XG4gICAgIHBhbmVlbCBzbGlkZXQgd2VsLiBbSmFuIDMwLjA2LjIwMjZdICovXG59XG5cbi5xZG5hcHJvLWJvdHRvbS1zaGVldCAuYnMtcGFuZWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7IC8qIGJvdmVuIGRlIHNjcmltICh6ZWxmZGUgc3RhY2tpbmctY29udGV4dCkgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWF4LWhlaWdodDogODYlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQpO1xuICBib3JkZXItcmFkaXVzOiAzMnB4IDMycHggMCAwO1xuICAvKiBJbmxpbmUgcGFkZGluZyBhcyBhIGN1c3RvbSBwcm9wZXJ0eSBzbyBhbnl0aGluZyB0aGF0IGhhcyB0byBDQU5DRUwgaXQgKHRoZVxuICAgICBmdWxsLWJsZWVkIC5icy1kaWFsb2ctaW1hZ2UpIHN0YXlzIGluIHN0ZXAgd2l0aCB2YXJpYW50cyB0aGF0IGNoYW5nZSBpdCDigJQgdGhlXG4gICAgIHJlYWRpbmcgdmFyaWFudCByYWlzZXMgaXQgdG8gMTZweC4gQSBoYXJkY29kZWQgbmVnYXRpdmUgbWFyZ2luIHdvdWxkIHNpbGVudGx5XG4gICAgIGJlIHdyb25nIG9uIHRob3NlIHZhcmlhbnRzLiBbS2ltIDMxLjA3LjIwMjZdICovXG4gIC0tYnMtcGFkLXg6IDhweDtcbiAgcGFkZGluZzogNHB4IHZhcigtLWJzLXBhZC14KSAwO1xuICBib3gtc2hhZG93OiAwIC0xMHB4IDM0cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAvKiBTYW1lIHRpbWluZyBhcyB0aGUgc2NyaW0gKG5vIGRlbGF5KSDigJQgdGhleSBzdGFydCB0b2dldGhlciBzbyB0aGUgcGFuZWwgc2xpZGluZ1xuICAgICB1cCBhbmQgdGhlIHNjcmVlbiBkYXJrZW5pbmcgcmVhZCBhcyBvbmUgbW90aW9uLiB3aWxsLWNoYW5nZSBrZWVwcyB0aGUgc2xpZGUgb25cbiAgICAgaXRzIG93biBHUFUgbGF5ZXIgKHNtb290aCBvbiBpT1MsIG5vIGphbmspLiAqL1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zMnMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBvdXRsaW5lOiBub25lO1xufVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LmlzLW9wZW4gLmJzLXBhbmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4ucWRuYXByby1ib3R0b20tc2hlZXQgLmJzLWhhbmRsZS16b25lIHtcbiAgcGFkZGluZzogMTBweCAwIDI0cHg7XG4gIG1hcmdpbjogMCAtMTZweDsgLyogZnVsbC13aWR0aCBncmFiIHRhcmdldCAqL1xuICBjdXJzb3I6IGdyYWI7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgLyogbGV0IHRoZSBwb2ludGVyLWRyYWcgb3duIHRoZSBnZXN0dXJlICovXG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0IC5icy1ncmFiIHtcbiAgd2lkdGg6IDM4cHg7XG4gIGhlaWdodDogNXB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXBpbGwpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktMzAwKTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5xZG5hcHJvLWJvdHRvbS1zaGVldCAuYnMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogNHB4IDAgMTJweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby1ib3R0b20tc2hlZXQgLmJzLWhlYWRlci10ZXh0IHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0IC5icy10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1oZWFkaW5nKTtcbn1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldCAuYnMtc3VidGl0bGUge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xuICBtYXJnaW4tdG9wOiAycHg7XG59XG4ucWRuYXByby1ib3R0b20tc2hlZXQgLmJzLWNsb3NlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1waWxsKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ibGFjay0wNik7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldCAuYnMtY2xvc2U6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ibGFjay0xMik7XG59XG5cbi5xZG5hcHJvLWJvdHRvbS1zaGVldCAuYnMtYm9keSB7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIC8qIFJFVkVSVEVEIDEzLjA3LjIwMjYgKEtpbSk6IHRoZSBnbG9iYWwgcGFkZGluZy1ib3R0b20gMCBtYWRlIHRoZSBidXR0b25cbiAgICAgc2hlZXRzIChlZGl0LWV4aXQgY29uZmlybSkgc2l0IGNyYW1wZWQgYWdhaW5zdCB0aGUgYm90dG9tIGVkZ2UsIHNvIHRoZVxuICAgICBiYXNlIGtlZXBzIGl0cyBicmVhdGhpbmcgcm9vbSArIGlPUyBzYWZlLWFyZWEgYWdhaW4uIE9OTFkgdGhlIHJlYWRpbmdcbiAgICAgdmFyaWFudCAoZnVydGhlciBkb3duKSBrZWVwcyB0aGUgZGVsaWJlcmF0ZSBvdmVyZmxvdyBmZWVsIGF0IDAuXG4gICAgIDI0cHggZml4ZWQgYnJlYXRoaW5nIHJvb20gKyBzYWZlLWFyZWEgZm9yIHRoZSBob21lIGluZGljYXRvci4gW0tpbSAxNS4wNy4yMDI2XSAqL1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygyNHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpO1xuICAvKiBBIGJvdHRvbSBzaGVldCBtdXN0IE5FVkVSIHNob3cgYSB2aXNpYmxlIHNjcm9sbGJhciDigJQgY29udGVudCBzdGlsbCBzY3JvbGxzLlxuICAgICBGbGF0IHNjcm9sbGJhci1oaWRlICh0aGUgcWRuYS1zY3JvbGxiYXItaGlkZGVuIG1peGluIGNhbid0IGJlIHVzZWQgaGVyZTogdGhpc1xuICAgICBwYXJ0aWFsIGlzIGNvcGllZCB2ZXJiYXRpbSB0byB0aGUgUFdBKS4gKi9cbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGaXJlZm94ICovXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogb2xkIEVkZ2UvSUUgKi9cbn1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldCAuYnMtYm9keTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBub25lOyAvKiBDaHJvbWUgLyBTYWZhcmkgKi9cbn1cblxuLyogU2VnbWVudCBjb250cm9scyBpbnNpZGUgdGhlIGJvZHkgc2hvdWxkIHNpemUgdG8gY29udGVudCBhbmQgY2VudGVyIOKAlCBub3Qgc3RyZXRjaCBmdWxsLXdpZHRoLiAqL1xuLnFkbmFwcm8tYm90dG9tLXNoZWV0IC5icy1ib2R5ID4gcWRuYXByby1zZWdtZW50IHsgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi8qIEF1dG8tY2FyZDogYnV0dG9ucyBwbGFjZWQgZGlyZWN0bHkgaW4gdGhlIHNoZWV0IGJvZHkgKG5vdCBpbnNpZGUgYSBncm91cCkgYWx3YXlzIGdldFxuICAgYSBjYXJkIGZyYW1lIOKAlCBmaXJzdCBidXR0b24gZ2V0cyB0b3AgY29ybmVycywgbGFzdCBnZXRzIGJvdHRvbSBjb3JuZXJzLiBUaGlzIGVuZm9yY2VzXG4gICB0aGUgZGVzaWduIHJ1bGUgdGhhdCBidXR0b25zIGFyZSBORVZFUiBzaG93biBuYWtlZCBvbiB0aGUgc2hlZXQgc3VyZmFjZS4gKi9cbi5xZG5hcHJvLWJvdHRvbS1zaGVldCAuYnMtYm9keSA+IHFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbiB7IGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS01MCk7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC5icy12YXJpYW50LXB1cnBsZSAuYnMtYm9keSA+IHFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbiB7IGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUtMTQpOyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQgLmJzLWJvZHkgPiBxZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b246Zmlyc3Qtb2YtdHlwZSB7IGJvcmRlci1yYWRpdXM6IDI0cHggMjRweCAwIDA7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldCAuYnMtYm9keSA+IHFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbjpsYXN0LW9mLXR5cGUgIHsgYm9yZGVyLXJhZGl1czogMCAwIDI0cHggMjRweDsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0IC5icy1ib2R5ID4gcWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uOm9ubHktb2YtdHlwZSAgeyBib3JkZXItcmFkaXVzOiAyNHB4OyB9XG5cbi8qIFB1cnBsZSB2YXJpYW50IOKAlCBmb3IgYWN0aW9uIG1lbnVzICh0aGUgUFdBJ3MgcHVycGxlIGJvdHRvbSBzaGVldHMpLiBVc2VzIHRoZSBmaXhlZFxuICAgcHJpbWl0aXZlIC0tYy1wdXJwbGUtNTAwIChOT1QgLS1jLWJyYW5kLXB1cnBsZSwgd2hpY2ggbGlmdHMgdG8gbGlnaHQgcHVycGxlIGluIGRhcmtcbiAgIG1vZGUg4oCUIHRoZSBzaGVldCBtdXN0IHN0YXkgcHVycGxlKS4gKi9cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC5icy12YXJpYW50LXB1cnBsZSAuYnMtcGFuZWwgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLXB1cnBsZS01MDApOyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQuYnMtdmFyaWFudC1wdXJwbGUgLmJzLWdyYWIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlLTQ1KTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LmJzLXZhcmlhbnQtcHVycGxlIC5icy10aXRsZSB7IGNvbG9yOiB2YXIoLS1jLXRleHQtb24tYWN0aW9uKTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LmJzLXZhcmlhbnQtcHVycGxlIC5icy1zdWJ0aXRsZSB7IGNvbG9yOiB2YXIoLS1jLXdoaXRlLTQ1KTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LmJzLXZhcmlhbnQtcHVycGxlIC5icy1jbG9zZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUtMTQpO1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LW9uLWFjdGlvbik7XG59XG5cbi8qIEdsYXNzIHZhcmlhbnQg4oCUIGEgZGFyaywgdHJhbnNsdWNlbnQsIGJsdXJyZWQgcGFuZWwgKGlPUy9XaGF0c0FwcCBlbW9qaS1waWNrZXJcbiAgIGxvb2spLiBUaGUgc2NyaW0gc3RheXMgdGhlIG5vcm1hbCBkaW07IHRoZSBwYW5lbCBpdHNlbGYgaXMgdGhlIGZyb3N0ZWQgbGF5ZXIuXG4gICBDb250ZW50IG9uIHRvcCBpcyB3aGl0ZS4gQ29uc3VtZXJzIHRoYXQgd2FudCBhIGdsYXNzIHN1cmZhY2UgKGUuZy5cbiAgIHFkbmFwcm8tZW1vamktc2hlZXQpIG9wdCBpbiB3aXRoIHZhcmlhbnQ9XCJnbGFzc1wiLiAqL1xuLnFkbmFwcm8tYm90dG9tLXNoZWV0LmJzLXZhcmlhbnQtZ2xhc3MgLmJzLXBhbmVsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzOCwgMzgsIDQ0LCAwLjcyKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDMwcHgpIHNhdHVyYXRlKDE2MCUpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigzMHB4KSBzYXR1cmF0ZSgxNjAlKTtcbiAgY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgLTEwcHggMzRweCByZ2JhKDAsIDAsIDAsIDAuMjgpO1xufVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LmJzLXZhcmlhbnQtZ2xhc3MgLmJzLWdyYWIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlLTQ1KTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LmJzLXZhcmlhbnQtZ2xhc3MgLmJzLXRpdGxlIHsgY29sb3I6ICNmZmY7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC5icy12YXJpYW50LWdsYXNzIC5icy1zdWJ0aXRsZSB7IGNvbG9yOiB2YXIoLS1jLXdoaXRlLTQ1KTsgfVxuLyogU29saWQgZmFsbGJhY2sgd2hlcmUgYmFja2Ryb3AtZmlsdGVyIGlzIHVuc3VwcG9ydGVkIChvbGQgV2ViVmlld3MpLiAqL1xuQHN1cHBvcnRzIG5vdCAoKGJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpKSBvciAoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXB4KSkpIHtcbiAgLnFkbmFwcm8tYm90dG9tLXNoZWV0LmJzLXZhcmlhbnQtZ2xhc3MgLmJzLXBhbmVsIHsgYmFja2dyb3VuZDogIzI2MjYyYzsgfVxufVxuXG4vKiBSZWFkaW5nIHZhcmlhbnQg4oCUIGZvciB0ZXh0LWhlYXZ5IGNvbnRlbnQgKG5ld3MgaXRlbXMsIGJyaWVmaW5ncywgcXVlc3Rpb25uYWlyZVxuICAgcHJldmlld3MpLiBPcnRob2dvbmFsIHRvIHB1cnBsZS9nbGFzczogb25seSB0aGUgcGFuZWwgYnJlYXRoaW5nLXJvb20gKyBsb29zZS10ZXh0XG4gICBzaXplIGNoYW5nZSwgdGhlIHN1cmZhY2UgY29sb3VycyBzdGF5IHRoZSBiYXNlIHdoaXRlIGNhcmQuIFtLaW0gMTMuMDcuMjAyNl1cbiAgIFJvb21pZXIgaG9yaXpvbnRhbCBwYW5lbCBwYWRkaW5nICgxNnB4IHZzIHRoZSBiYXNlIDhweCwgd2hpY2ggaXMgdHVuZWQgZm9yXG4gICBidXR0b24tcm93IHNoZWV0cyBhbmQgc3RheXMgdW5jaGFuZ2VkKS4gKi9cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC5icy12YXJpYW50LXJlYWRpbmcgLmJzLXBhbmVsIHtcbiAgLS1icy1wYWQteDogMTZweDtcbiAgcGFkZGluZzogNHB4IHZhcigtLWJzLXBhZC14KSAwO1xufVxuLyogQm9keSBzdGF5cyBlZGdlLXRvLWVkZ2UgaW5zaWRlIHRoYXQgcm9vbWllciBwYW5lbCAobm8gaG9yaXpvbnRhbCBwYWRkaW5nKSBhbmRcbiAgIHJ1bnMgdG8gdGhlIGJvdHRvbSBlZGdlIChtYXRjaGVzIHRoZSBnbG9iYWwgYmFzZSwga2VwdCBleHBsaWNpdCBmb3IgY2xhcml0eSkuICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQuYnMtdmFyaWFudC1yZWFkaW5nIC5icy1ib2R5IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi8qIDE2cHggaXMgdGhlIGxvb3NlLXRleHQgcmVhZGluZyBzaXplLCBhcHBsaWVkIE9OTFkgdG8gdGV4dCB0aGF0IG9wdHMgaW4gd2l0aCB0aGVcbiAgIC5icy10ZXh0IHdyYXBwZXIg4oCUIGRlbGliZXJhdGVseSBOT1QgdG8gZXZlcnkgLmJzLWJvZHkgY2hpbGQuIFdZU0lXWUcgYnJpZWZpbmcgSFRNTFxuICAgYnJpbmdzIGl0cyBvd24gc2l6ZXMgZnJvbSB0aGUgZWRpdG9yIGFuZCBtdXN0IG5ldmVyIGJlIGZvcmNlZCB0byAxNnB4LCBzbyBpdCBpc1xuICAgbGVmdCB1bnRvdWNoZWQgKGl0IGNhcnJpZXMgbm8gLmJzLXRleHQpLiBbS2ltIDEzLjA3LjIwMjZdICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQuYnMtdmFyaWFudC1yZWFkaW5nIC5icy1ib2R5IC5icy10ZXh0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKiBEaWFsb2cgdmFyaWFudCDigJQgQUxXQVlTIHB1cnBsZTogYSBwdXJwbGUgaWxsdXN0cmF0ZWQgZGlhbG9nIChpbGx1c3RyYXRpb24gKyBib2xkXG4gICB3aGl0ZSB0aXRsZSArIHdoaXRlIGJvZHkgdGV4dCArIG9wdGlvbmFsIGNvbnN1bWVyIGJvZHkgY29udGVudCArIGEgZmxleGlibGUgZm9vdGVyKS5cbiAgIFNlcnZlcyBib3RoIHRoZSBkZXN0cnVjdGl2ZSBjb25maXJtIChyZXNldC11bml0cykgQU5EIGEgYmxvY2tpbmcgbm90aWNlIChmaW5pc2hcbiAgIGF1ZGl0IHdpdGggbWFuZGF0b3J5IHVuaXRzIHN0aWxsIG9wZW4pLiBgdmFyaWFudD1cImNvbmZpcm1cImAgaXMgYW4gYWxpYXMg4oaSIHNhbWVcbiAgIC5icy12YXJpYW50LWRpYWxvZyBjbGFzcy4gQ29tcG9zZWQgZnJvbSBxZG5hcHJvLWlsbHVzdHJhdGlvbiArIHFkbmFwcm8tYnV0dG9uIHVzaW5nXG4gICBpdHMgb3duIG9uLXB1cnBsZSAvIG9uLXB1cnBsZS1zb2xpZCBUWVBFUyAoc2VlIF9idXR0b24uc2Nzcykg4oCUIGxheW91dCBvbmx5LCBub1xuICAgYmVzcG9rZSBjb2xvdXIgb3ZlcnJpZGVzLiBbS2ltIDE1LjA3LjIwMjZdICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQuYnMtdmFyaWFudC1kaWFsb2cgLmJzLXBhbmVsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUtNTAwKTtcbn1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC5icy12YXJpYW50LWRpYWxvZyAuYnMtZ3JhYiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUtNDUpO1xufVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0IC5icy1ib2R5LmJzLWRpYWxvZyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZ2FwOiAwO1xuICBwYWRkaW5nLXRvcDogOHB4O1xufVxuLyogR2FwIGlsbHVzdHJhdGlvbiDihpIgdGl0bGUuIFRhcmdldCB0aGUgVEFHLCBub3QgLmJzLWRpYWxvZy1pbGx1c3RyYXRpb246XG4gICBxZG5hcHJvLWlsbHVzdHJhdGlvbiB3aXBlcyBpdHMgb3duIGNsYXNzTmFtZSBvbiByZW5kZXIgKHRoaXMuY2xhc3NOYW1lID0g4oCmKSwgc28gYVxuICAgY2xhc3MgaG9vayBpcyBkZWFkIGJ5IHRoZSB0aW1lIGl0IHBhaW50cyBhbmQgdGhlIGdhcCBjb2xsYXBzZWQgdG8gMCAoXCJjcmFtcGVkXCIpLlxuICAgW0tpbSAxNS4wNy4yMDI2XSAqL1xuLnFkbmFwcm8tYm90dG9tLXNoZWV0IC5icy1ib2R5LmJzLWRpYWxvZyA+IHFkbmFwcm8taWxsdXN0cmF0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIDIwcHg7XG59XG4vKiBGdWxsLWJsZWVkIGhlcm8gaW1hZ2UgKGBpbWFnZWAgYXR0ciksIHRoZSBhbHRlcm5hdGl2ZSB0byB0aGUgY2VudGVyZWQgaWxsdXN0cmF0aW9uLlxuICAgSXQgTVVTVCByZWFjaCB0aGUgcGFuZWwgZWRnZXM6IHRoZSBjZWxlYnJhdGlvbiBpbGx1c3RyYXRpb25zIGhhdmUgdGhlaXIgb3duIHB1cnBsZVxuICAgYmFja2dyb3VuZCBiYWtlZCBpbiwgbWF0Y2hpbmcgdGhlIGRpYWxvZyBzdXJmYWNlLCBzbyB0aGUgYXJ0d29yayBmbG93cyBpbnRvIHRoZSBwYW5lbFxuICAgYW5kIHRoZSBlZGdlIG9mIGl0cyBzaGFwZSBpcyBpbnZpc2libGUuIEFueSBwYWRkaW5nIHR1cm5zIHRoYXQgZWRnZSBpbnRvIGEgc2VhbS5cbiAgIFRoZSBpbmxpbmUgbWFyZ2lucyBjYW5jZWwgdGhlIHBhbmVsJ3Mgb3duIC0tYnMtcGFkLXggKG5ldmVyIGEgaGFyZGNvZGVkIG51bWJlcjpcbiAgIHRoZSByZWFkaW5nIHZhcmlhbnQgcmFpc2VzIHRoYXQgcGFkZGluZyB0byAxNnB4LCBhbmQgYSBmaXhlZCAtOHB4IHdvdWxkIHRoZW4gbGVhdmVcbiAgIHRoZSBpbWFnZSA4cHggc2hvcnQgb24gZWFjaCBzaWRlKS4gVGhlIG5lZ2F0aXZlIHRvcCBtYXJnaW4gZWF0cyBtb3N0IG9mIHRoZVxuICAgaGFuZGxlLXpvbmUncyAyNHB4IGJyZWF0aGluZyByb29tIHNvIHRoZSBpbWFnZSBzaXRzIGp1c3QgdW5kZXIgdGhlIGdyYWIgaGFuZGxlLlxuICAgVGhlIHBhbmVsJ3MgMzJweCB0b3Agcm91bmRpbmcgaXMgbm90IGNsaXBwZWQgYXdheTogdGhlIGFydHdvcmsncyBvd24gY29ybmVycyBhcmVcbiAgIHRyYW5zcGFyZW50LCBzbyBub3RoaW5nIHBva2VzIG91dC4gQW4gb3BhcXVlIGltYWdlIFdPVUxEIG5lZWQgY2xpcHBpbmcgaGVyZS5cbiAgIFtLaW0gMzEuMDcuMjAyNl0gKi9cbi5xZG5hcHJvLWJvdHRvbS1zaGVldCAuYnMtYm9keS5icy1kaWFsb2cgPiAuYnMtZGlhbG9nLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAyICogdmFyKC0tYnMtcGFkLXgpKTtcbiAgbWFyZ2luOiAtMjRweCBjYWxjKC0xICogdmFyKC0tYnMtcGFkLXgpKSA0cHg7XG59XG4vKiBgY2VudGVyZWRgIOKAlCB3aWRlLXNjcmVlbiBtb2RpZmllcjogcGhvbmUga2VlcHMgdGhlIGJvdHRvbSBzaGVldCwgdGFibGV0IGdldHMgYVxuICAgY2VudGVyZWQgZGlhbG9nLCBmcm9tIHRoZSBzYW1lIGVsZW1lbnQuIEJlbG93IDc2OHB4IHRoaXMgYmxvY2sgZG9lcyBub3QgZXhpc3QsIHNvIGFcbiAgIHBob25lIGlzIHVudG91Y2hlZC4gNzY4cHggaXMgdGhlIGJyZWFrcG9pbnQgdGhlIFBXQSBkb2N1bWVudHMgbW9kdWxlIGFscmVhZHkgdXNlcyBmb3JcbiAgIGl0cyB0YWJsZXQgbGF5b3V0LCBub3QgYSBuZXcgbnVtYmVyLiBbS2ltIDMxLjA3LjIwMjZdXG5cbiAgIENlbnRlcmluZyBpcyBkb25lIHdpdGggYXV0byBpbmxpbmUgbWFyZ2lucyBhbmQgYSBgYm90dG9tYCBvZmZzZXQsIGRlbGliZXJhdGVseSBOT1RcbiAgIHdpdGggdHJhbnNmb3JtOiB0aGUgc3dpcGUtdG8tZGlzbWlzcyBoYW5kbGVyIHdyaXRlcyBgcGFuZWwuc3R5bGUudHJhbnNmb3JtID1cbiAgIHRyYW5zbGF0ZVkoLi4uKWAgZHVyaW5nIGEgZHJhZyBhbmQgY2xlYXJzIGl0IG9uIHJlbGVhc2UsIHNvIGFueXRoaW5nIHBhcmtlZCBpblxuICAgdHJhbnNmb3JtIHdvdWxkIGJlIHdpcGVkIG1pZC1nZXN0dXJlLiBUaGlzIHdheSB0aGUgb3Blbi9jbG9zZSBzbGlkZSBhbmQgdGhlIGRyYWcga2VlcFxuICAgd29ya2luZyBleGFjdGx5IGFzIHRoZXkgZG8gb24gYSBwaG9uZSDigJQgZHJhZ2dpbmcgdGhlIGRpYWxvZyBkb3duIHN0aWxsIGNsb3NlcyBpdC4gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucWRuYXByby1ib3R0b20tc2hlZXQuYnMtY2VudGVyZWQgLmJzLXBhbmVsIHtcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgYm90dG9tOiA3dmg7XG4gICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICAvKiBTaGFkb3cgcG9pbnRzIG91dHdhcmQgb24gYWxsIHNpZGVzIG5vdyB0aGF0IGl0IGZsb2F0cywgaW5zdGVhZCBvZiB0aGVcbiAgICAgICB1cHdhcmQtb25seSBzaGFkb3cgb2YgYSBwYW5lbCBnbHVlZCB0byB0aGUgYm90dG9tIGVkZ2UuICovXG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcbiAgICBtYXgtaGVpZ2h0OiA4MCU7XG4gIH1cbn1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldCAuYnMtZGlhbG9nLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LW9uLWFjdGlvbik7XG59XG4ucWRuYXByby1ib3R0b20tc2hlZXQgLmJzLWRpYWxvZy10ZXh0IHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogdmFyKC0tYy13aGl0ZS03MCk7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIG1heC13aWR0aDogMzIwcHg7XG59XG4vKiBDb25zdW1lciBib2R5IGNvbnRlbnQgKHN0YXQgcm93cywgYSBub3RpY2UgbGluZSwgZXRjLikgc2l0cyBiZWxvdyB0aGUgaWxsdXN0cmF0aW9uL1xuICAgdGl0bGUvdGV4dC4gVGhlIGRpYWxvZyBib2R5IGNlbnRlcnMgaXRzIGJ1aWx0LWluczsgdGhpcyB3cmFwcGVyIHN0cmV0Y2hlcyBmdWxsLXdpZHRoXG4gICBhbmQgbGVmdC1hbGlnbnMgc28gY3VzdG9tIHJvd3MgYXJlbid0IHNocmluay13cmFwcGVkIG9yIGNlbnRlcmVkLiBbS2ltIDE1LjA3LjIwMjZdICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQgLmJzLWJvZHkuYnMtZGlhbG9nID4gLmJzLWRpYWxvZy1jb250ZW50IHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG4ucWRuYXByby1ib3R0b20tc2hlZXQgLmJzLWRpYWxvZy1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEycHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICAvKiBUaGUgZm9vdGVyIHNpdHMgT1VUU0lERSAuYnMtYm9keSwgc28gaXQgZG9lc24ndCBpbmhlcml0IHRoZSBib2R5J3MgYm90dG9tXG4gICAgIGJyZWF0aGluZyByb29tIOKAlCBnaXZlIGl0IHRoZSBzYW1lIDI0cHggKyBzYWZlLWFyZWEgc28gdGhlIGJ1dHRvbnMgZG9uJ3QgZ2x1ZVxuICAgICB0byB0aGUgcGFuZWwgZWRnZS4gW0tpbSAxNS4wNy4yMDI2XSAqL1xuICBwYWRkaW5nOiAyMHB4IDAgY2FsYygyNHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpO1xufVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0IC5icy1kaWFsb2ctZm9vdGVyIHFkbmFwcm8tYnV0dG9uIHtcbiAgZmxleDogMTtcbn1cbi8qIFRoZSBkaWFsb2cgdmFyaWFudCBpcyBhbHdheXMtcHVycGxlOyBldmVyeSBPVEhFUiB2YXJpYW50IGtlZXBzIHRoZSBiYXNlIHdoaXRlIGNhcmQuXG4gICBDb21iaW5pbmcgZGlhbG9nIHdpdGggcHVycGxlL2dsYXNzL3JlYWRpbmcgaXMgbm90IHN1cHBvcnRlZCDigJQgdmFyaWFudCBpcyBhIHNpbmdsZVxuICAgdmFsdWUgKHNhbWUgbGltaXRhdGlvbiB0aGUgcmVhZGluZyB2YXJpYW50IGFscmVhZHkgaGFzKS4gKi9cblxuLyog4pSA4pSAIFRvcCBwbGFjZW1lbnQgKHBsYWNlbWVudD1cInRvcFwiKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgIFRoZSBTQU1FIHNoZWV0LCBoaW5nZWQgb24gdGhlIFRPUCBlZGdlOiBhIHF1aWNrLCBsb3ctY29tbWl0bWVudCBvcHRpb25zIG1lbnUgdGhhdFxuICAgZHJvcHMgZG93biBmcm9tIHVuZGVyIHRoZSBoZWFkZXIgaXRzIHRyaWdnZXIgc2l0cyBpbiAoT3V0bG9vaydzIGNhbGVuZGFyIHZpZXctXG4gICBzd2l0Y2hlciBpcyB0aGUgcmVmZXJlbmNlKS4gQSBib3R0b20gc2hlZXQgaXMgdGhlIGludHJ1c2l2ZSBvbmUgdGhhdCB0YWtlcyBvdmVyIHRoZVxuICAgc2NyZWVuOyB0aGlzIGlzIHRoZSBsaWdodCBvbmUgZm9yIGEgaGFuZGZ1bCBvZiBvcHRpb25zLiBbS2ltIDI5LjA3LjIwMjZdXG5cbiAgIE9OTFkgZ2VvbWV0cnkgKyBkaXJlY3Rpb24gZmxpcCBoZXJlIOKAlCB0aGUgc3VyZmFjZSB2YXJpYW50cyAocHVycGxlIC8gZ2xhc3MgL1xuICAgcmVhZGluZykgYXJlIHVudG91Y2hlZCBhbmQgY29tYmluZSBmcmVlbHkuIEhvcml6b250YWwgcGFkZGluZyBpcyBkZWxpYmVyYXRlbHkgbGVmdFxuICAgdG8gdGhlIGJhc2UgKDhweCkgb3IgdGhlIHJlYWRpbmcgdmFyaWFudCAoMTZweCk7IG9ubHkgdGhlIHZlcnRpY2FsIHBhZGRpbmcgY2hhbmdlcyxcbiAgIGJlY2F1c2UgdGhlIGdyYWItaGFuZGxlIG1vdmVkIG91dCBvZiB0aGUgdG9wLlxuXG4gICAtLWJzLXRvcCBpcyBzZXQgaW5saW5lIGJ5IF9hcHBseVRvcE9mZnNldCgpOiB0aGUgYGFuY2hvcmAgZWxlbWVudCdzIGJvdHRvbSBlZGdlLCBvclxuICAgdGhlIGxpdGVyYWwgYG9mZnNldC10b3BgLiBBYnNlbnQg4oaSIGhhbmcganVzdCBiZWxvdyB0aGUgbm90Y2guICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQuYnMtcGxhY2VtZW50LXRvcCAuYnMtcGFuZWwge1xuICB0b3A6IHZhcigtLWJzLXRvcCwgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDBweCkpO1xuICBib3R0b206IGF1dG87XG4gIC8qIEhlaWdodCBmb2xsb3dzIHRoZSBjb250ZW50OyB0aGlzIGNhcCBvbmx5IGJpdGVzIG9uIGEgbG9uZyBsaXN0IChhbmQgZ2l2ZXMgYmFja1xuICAgICB3aGF0ZXZlciB0aGUgaGVhZGVyIGFib3ZlIGFscmVhZHkgdG9vaykuICovXG4gIG1heC1oZWlnaHQ6IGNhbGMoODYlIC0gdmFyKC0tYnMtdG9wLCAwcHgpKTtcbiAgLyogU3F1YXJlLCBOT1Qgcm91bmRlZCDigJQgdGhlIE91dGxvb2sgcmVmZXJlbmNlOiB0aGUgdG9wIHNoZWV0IHJ1bnMgdGhlIHBhbmVsXG4gICAgIHN0cmFpZ2h0IGludG8gdGhlIGhlYWRlciBpdCBoYW5ncyBmcm9tLCBubyBjb3JuZXIgcmFkaXVzIGF0IGFsbC4gVGhpcyBpcyB0aGVcbiAgICAgREVGQVVMVCBmb3IgdGhlIHRvcCBzaGVldCAobm90IGFuIGF0dHJpYnV0ZSk6IGl0IGhhcyBubyBvdGhlciBjb25zdW1lcnMgeWV0XG4gICAgIHRoYW4gdGhlIHR3byBhZ2VuZGEgbWVudXMsIGFuZCBmbHVzaCBjb3JuZXJzIGFyZSB0aGUgaW50ZW5kZWQgbG9vay4gVGhlXG4gICAgIGJvdHRvbSBzaGVldCdzIG93biByb3VuZGluZyAoMzJweCAzMnB4IDAgMCwgYWJvdmUpIGlzIHVudG91Y2hlZC4gW0tpbSAyOS4wNy4yMDI2XSAqL1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiBTaGFkb3cgZmFsbHMgRE9XTldBUkQsIGF3YXkgZnJvbSB0aGUgZWRnZSBpdCBoYW5ncyBvbi4gKi9cbiAgYm94LXNoYWRvdzogMCAxMHB4IDM0cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbiAgLyogUGFya2VkIGJlaGluZCBpdHMgb3duIGVkZ2Ugd2hpbGUgY2xvc2VkIChiYXNlIHNoZWV0IHVzZXMgKzEwMCUpLiAqL1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICBwYWRkaW5nLXRvcDogMTZweDtcbn1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC5icy1wbGFjZW1lbnQtdG9wLmlzLW9wZW4gLmJzLXBhbmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuLyogVGhlIHNjcmltIG11c3Qgc3RhcnQgd2hlcmUgdGhlIHBhbmVsIHN0YXJ0cywgTk9UIGNvdmVyIHRoZSB3aG9sZSBzY3JlZW4gKHRoZSBiYXNlXG4gICAuYnMtc2NyaW0gYWJvdmUgaXMgaW5zZXQ6MCBmb3IgdGhlIGJvdHRvbSBzaGVldCwgd2hpY2ggcGlucyB0aGUgc2NyaW0gdW5kZXIgdGhlXG4gICBmdWxsIHZpZXdwb3J0IGluY2x1ZGluZyBhbnkgaGVhZGVyIHRoZSBzaGVldCBoYW5ncyBmcm9tKS4gRml4IGxpdmVzIEhFUkUsIGF0IHRoZVxuICAgc291cmNlLCByYXRoZXIgdGhhbiB0aGUgY29uc3VtZXIgcmVhY2hpbmcgZm9yIGEgei1pbmRleCB3YXIgaXQgY2FuJ3Qgd2luOiBhIGhlYWRlclxuICAgbGl2aW5nIGluc2lkZSBpdHMgb3duIHN0YWNraW5nLWNvbnRleHQgYW5jZXN0b3IgY2FuIG5ldmVyIG91dC1zdGFjayBhIHNjcmltXG4gICBwb3J0YWxsZWQgc3RyYWlnaHQgb250byA8Ym9keT4sIG5vIG1hdHRlciB3aGF0IHotaW5kZXggaXQncyBnaXZlbi4gU3RhcnRpbmcgdGhlXG4gICBzY3JpbSBpdHNlbGYgYXQgLS1icy10b3AgbWVhbnMgdGhlIGhlYWRlciBzaW1wbHkgZmFsbHMgT1VUU0lERSB0aGUgZGltbWVkIGFyZWEg4oCUXG4gICBubyB6LWluZGV4IG5lZWRlZCBhbnl3aGVyZS4gU2FtZSBmYWxsYmFjayBjaGFpbiBhcyB0aGUgcGFuZWwncyBvd24gYHRvcGAgYWJvdmUuXG4gICBDb25zZXF1ZW5jZTogYSB0YXAgb24gdGhlIGhlYWRlciBubyBsb25nZXIgY2xvc2VzIHRoZSBzaGVldCAoaXQncyBvdXRzaWRlIHRoZVxuICAgc2NyaW0pIOKAlCBpbnRlbmRlZCBmb3IgdGhpcyBwYXR0ZXJuLCB0aGUgaGVhZGVyIHN0YXlzIHVzYWJsZTsgc2NyaW0tdGFwLCBFc2MgYW5kXG4gICB0aGUgaGFuZGxlIHJlbWFpbiB0aGUgd2F5cyB0byBkaXNtaXNzLiBbS2ltIDI5LjA3LjIwMjZdICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQuYnMtcGxhY2VtZW50LXRvcCAuYnMtc2NyaW0ge1xuICB0b3A6IHZhcigtLWJzLXRvcCwgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDBweCkpO1xufVxuLyogQ29tZSBvdXQgZnJvbSBVTkRFUiB0aGUgaGVhZGVyLCBuZXZlciBPVkVSIGl0IChLaW0gMjkuMDcuMjAyNjogXCJ2b2VsdCB2ZWVsXG4gICBuYXR1dXJsaWprZXJcIikuIFRoZSBwYW5lbCBvcGVucyBieSBzbGlkaW5nIGRvd24gZnJvbSB0cmFuc2xhdGVZKC0xMDAlKSwgd2hpY2hcbiAgIHBhcmtzIGl0IG9uZSBwYW5lbC1oZWlnaHQgQUJPVkUgaXRzIG93biB0b3AgZWRnZSDigJQgc3RyYWlnaHQgb24gdG9wIG9mIHRoZSBoZWFkZXJcbiAgIGl0IGlzIHN1cHBvc2VkIHRvIGhhbmcgdW5kZXIsIGFuZCBpdCBwYWludHMgdGhlcmUgYmVjYXVzZSB0aGUgc2hlZXQgc2l0cyBvblxuICAgPGJvZHk+LiBDbGlwcGluZyB0aGUgSE9TVCBhdCAtLWJzLXRvcCBraWxscyB0aGF0IG92ZXJsYXAgZm9yIGdvb2Q6IHRoZSBob3N0IGlzXG4gICBhbHJlYWR5IGBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwYCwgc28gaXRzIGJveCBJUyB0aGUgdmlld3BvcnQgYW5kIHRoaXMgY2xpcCBpc1xuICAgaW4gdmlld3BvcnQgY29vcmRpbmF0ZXMsIHdoaWNoIG1lYW5zIE5PVEhJTkcgYWJvdXQgdGhlIHBhbmVsJ3Mgb3Igc2NyaW0ncyBvd25cbiAgIGdlb21ldHJ5IGhhcyB0byBjaGFuZ2UuIEl0IGFsc28gZml4ZXMgdGhlIHNhbWUgb3ZlcmxhcCB3aGlsZSBEUkFHR0lORyB0aGUgc2hlZXRcbiAgIGNsb3NlZCBieSBoYW5kLCB3aGljaCBhIHJldmVhbC1hbmltYXRpb24gb24gdGhlIHBhbmVsIGFsb25lIHdvdWxkIG5vdC5cbiAgIFRoZSBzY3JpbSBydWxlIGFib3ZlIHN0YXlzIGFzIGEgYmVsdC1hbmQtYnJhY2VzOiBpZiBjbGlwLXBhdGggZXZlciBmYWlscywgdGhlXG4gICBoZWFkZXIgc3RpbGwgaXMgbm90IGRpbW1lZC4gKi9cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC5icy1wbGFjZW1lbnQtdG9wIHtcbiAgY2xpcC1wYXRoOiBpbnNldCh2YXIoLS1icy10b3AsIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpKSAwIDAgMCk7XG59XG4vKiBEcm9wIHRoZSBwYW5lbCdzIG93biBjb21wb3NpdGluZyBoaW50IGZvciB0b3AgcGxhY2VtZW50LiBgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybWBcbiAgIHByb21vdGVzIGl0IHRvIGl0cyBvd24gR1BVIGxheWVyLCBhbmQgYSBjb21wb3NpdGVkIGxheWVyIGlzIGV4YWN0bHkgdGhlIGNhc2Ugd2hlcmVcbiAgIGlPUyBXS1dlYlZpZXcgaGFzIGhpc3RvcmljYWxseSBlc2NhcGVkIGFuIGFuY2VzdG9yJ3MgY2xpcC1wYXRoIOKAlCB3aGljaCB3b3VsZCBicmluZ1xuICAgdGhlIG92ZXJsYXAgcmlnaHQgYmFjayBvbiB0aGUgb25lIHBsYXRmb3JtIHRoYXQgbWF0dGVycyBtb3N0IGhlcmUuIFRoZSBzbGlkZSBpcyBhXG4gICBzaW5nbGUgc2hvcnQgdHJhbnNmb3JtIG9uIGEgc21hbGwgcGFuZWwsIHNvIGl0IGRvZXMgbm90IG5lZWQgdGhlIGhpbnQuICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQuYnMtcGxhY2VtZW50LXRvcCAuYnMtcGFuZWwge1xuICB3aWxsLWNoYW5nZTogYXV0bztcbn1cbi8qIEdyYWItaGFuZGxlIHRvIHRoZSBCT1RUT00gb2YgdGhlIHBhbmVsIHZpYSBmbGV4IG9yZGVyIE9OTFkg4oCUIHRoZSBET00gc3RheXMgYXNcbiAgIHJlbmRlcmVkLCBzbyByZW5kZXIoKSBhbmQgdGhlIHBvaW50ZXItZHJhZyBiaW5kaW5nIHJlbWFpbiBzaGFyZWQgd2l0aCB0aGUgYm90dG9tXG4gICBzaGVldC4gRXZlcnkgb3RoZXIgcGFuZWwgY2hpbGQga2VlcHMgb3JkZXI6MCwgaGVuY2UgaXRzIERPTSBvcmRlciAoaGVhZGVyLCBib2R5LFxuICAgYW5kIHRoZSBkaWFsb2cgZm9vdGVyIGlmIHRoZXJlIGlzIG9uZSkuICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQuYnMtcGxhY2VtZW50LXRvcCAuYnMtaGFuZGxlLXpvbmUge1xuICBvcmRlcjogOTtcbiAgcGFkZGluZzogMTZweCAwIDEycHg7XG59XG4vKiBObyBob21lLWluZGljYXRvciB0byBjbGVhciB1cCBoZXJlIOKAlCB0aGUgaGFuZGxlLXpvbmUgdW5kZXJuZWF0aCBpcyB0aGUgYnJlYXRoaW5nXG4gICByb29tLCBzbyBkcm9wIHRoZSBiYXNlJ3MgMjRweCArIHNhZmUtYXJlYS1pbnNldC1ib3R0b20uICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQuYnMtcGxhY2VtZW50LXRvcCAuYnMtYm9keSB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4vKiDilIDilIAgbm8taGFuZGxlIChib29sZWFuIGF0dHIpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgSGlkZXMgdGhlIGdyYWIgaGFuZGxlIGVudGlyZWx5IOKAlCBPdXRsb29rIGhhcyBub25lIG9uIGl0cyBjYWxlbmRhciBxdWljayBtZW51cyxcbiAgIGZpcnN0IHJlcXVlc3RlZCBmb3IgdGhlIGFnZW5kYSB0b3Agc2hlZXRzLiBLZXB0IGFzIGEgQ0xBU1Mgb24gdGhlIGhvc3QgKHNhbWVcbiAgIHBhdHRlcm4gYXMgYnMtcGxhY2VtZW50LXRvcCAvIGJzLXZhcmlhbnQtcHVycGxlKSwgYW5kIHRoZSBoYW5kbGUtem9uZSBlbGVtZW50XG4gICBzdGF5cyBpbiB0aGUgRE9NIChkaXNwbGF5Om5vbmUgb25seSk6IHRoZSBwb2ludGVyLWRyYWcgbGlzdGVuZXIgYmluZHMgdG9cbiAgIC5icy1oYW5kbGUtem9uZSBpbiB0aGUgSlMgYW5kIHdvdWxkIHRocm93IG9uIG51bGwgaWYgaXQgd2VyZSByZW1vdmVkLiBbS2ltIDI5LjA3LjIwMjZdICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQuYnMtbm8taGFuZGxlIC5icy1oYW5kbGUtem9uZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBUaGUgaGFuZGxlLXpvbmUgZG91YmxlZCBhcyB0aGlzIGVkZ2UncyBicmVhdGhpbmcgcm9vbSDigJQgaGlkaW5nIGl0IHdvdWxkIG90aGVyd2lzZVxuICAgZ2x1ZSB0aGUgYWRqYWNlbnQgY29udGVudCBzdHJhaWdodCB0byB0aGUgcGFuZWwgZWRnZSwgc28gZ2l2ZSB0aGUgc3BhY2UgYmFjazpcbiAgIC0gYm90dG9tIHBsYWNlbWVudDogdGhlIHpvbmUgc2l0cyBBQk9WRSB0aGUgaGVhZGVyL2JvZHkgKHBhbmVsJ3MgdG9wIGVkZ2UpIOKGkiBwYWRcbiAgICAgdGhlIHBhbmVsJ3MgdG9wLlxuICAgLSB0b3AgcGxhY2VtZW50OiB0aGUgem9uZSBzaXRzIEJFTE9XIHRoZSBib2R5IChmbGV4IG9yZGVyOjkgYWJvdmUsIHBhbmVsJ3MgYm90dG9tXG4gICAgIGVkZ2UpIOKGkiBwYWQgdGhlIGJvZHkncyBib3R0b20sIHNvIHRoZSBsYXN0IG9wdGlvbiByb3cga2VlcHMgaXRzIGJyZWF0aGluZyByb29tLiAqL1xuLnFkbmFwcm8tYm90dG9tLXNoZWV0LmJzLW5vLWhhbmRsZTpub3QoLmJzLXBsYWNlbWVudC10b3ApIC5icy1wYW5lbCB7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xufVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LmJzLXBsYWNlbWVudC10b3AuYnMtbm8taGFuZGxlIC5icy1ib2R5IHtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG59XG5cbi8qIEV4cGxhaW5lciBcImJ1bGxldFwiIHJvdzogW2ljb24vYmFkZ2VdICsgd2hpdGUgdGV4dCwgdXNlZCBpbnNpZGUgLmJzLWRpYWxvZy1jb250ZW50XG4gICBmb3IgdGhpbmdzIGxpa2UgXCJ3aGF0IGRvZXMgdGhpcyBiYWRnZSBtZWFuXCIgKFBXQSBkb2N1bWVudHMgYmFkZ2UtaW5mbyBkaWFsb2csXG4gICAyOC4wNy4yMDI2KS4gTk9UIGEgbmV3IGNvbXBvbmVudCDigJQganVzdCBhIGNvbnN1bWVyLXNpZGUgcm93IHdyYXBwaW5nIHdoYXRldmVyIGljb25cbiAgIHRoZSBjb25zdW1lciBwYXNzZXMgKGUuZy4gPHFkbmFwcm8tc3RhdHVzLWJhZGdlIGZhdm9yaXRlIHNpemU9XCJzbWFsbFwiPikgcGx1cyBhIHRleHRcbiAgIG5vZGUuIFNBTUUgY2xhc3MgbmFtZSArIHJ1bGUgYXMgdGhlIHBvcG92ZXIncyBkaWFsb2ctYXJyb3cgY291bnRlcnBhcnQgKHNlZVxuICAgX3BvcG92ZXIuc2Nzcykgc28gYSBzaGVldCBvbiBwaG9uZSBhbmQgYSBwb3BvdmVyIG9uIHRhYmxldCByZW5kZXIgYnl0ZS1pZGVudGljYWxcbiAgIGNvbnRlbnQuIFRoZSBpY29uIGFsaWducyB0byB0aGUgVE9QIG9mIHRoZSB0ZXh0IGJsb2NrIChmbGV4LXN0YXJ0KSByYXRoZXIgdGhhbiBhXG4gICBzdHJpY3QgdHlwb2dyYXBoaWMgYmFzZWxpbmUg4oCUIHRoZSBpY29uIGhlcmUgaXMgYSBzdGF0dXMtYmFkZ2UgcGlsbCwgbm90IGEgZ2x5cGgsIHNvXG4gICB0aGVyZSBpcyBubyBzaW5nbGUgYmFzZWxpbmUgdG8gaG9vayBpbnRvOyB0b3AtYWxpZ25pbmcgaXMgdGhlIGNsb3Nlc3QgbWF0Y2ggdG9cbiAgIFwiaWNvbiBuZXh0IHRvIHRoZSBmaXJzdCB0ZXh0IGxpbmVcIiB3aGVuIHRoZSB0ZXh0IGNhbiB3cmFwIHRvIDIgbGluZXMuICovXG4ucWRuYXByby1ib3R0b20tc2hlZXQgLmJzLWRpYWxvZy1jb250ZW50IC5icy1kaWFsb2ctYnVsbGV0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTJweDtcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUtOTAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldCAuYnMtZGlhbG9nLWNvbnRlbnQgLmJzLWRpYWxvZy1idWxsZXQgKyAuYnMtZGlhbG9nLWJ1bGxldCB7XG4gIG1hcmdpbi10b3A6IDE0cHg7XG59XG4ucWRuYXByby1ib3R0b20tc2hlZXQgLmJzLWRpYWxvZy1jb250ZW50IC5icy1kaWFsb2ctYnVsbGV0ID4gcWRuYXByby1zdGF0dXMtYmFkZ2Uge1xuICBmbGV4LXNocmluazogMDtcbn1cbiIsIi8vIHFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbiAoKyAtZ3JvdXApIOKAlCBhY3Rpb24vb3B0aW9uIHJvd3MgZm9yIGEgYm90dG9tIHNoZWV0LlxuLy8gRkxBVCBDU1M7IGNvbG91cnMvcmFkaWkgZnJvbSB0aGUgZGVzaWduLXRva2VuIDpyb290LlxuLy8gTGF5b3V0OiBsZWFkaW5nIGljb24gfCBsYWJlbCB8IHRyYWlsaW5nIGNoZWNrIChhY3RpdmUgb25seSwgbGlrZSBJbnN0YWdyYW0pLlxuLy8gb24td2hpdGUgLyBvbi1wdXJwbGUgPSBmbGF0IHJvd3MgKG5vIGluZGl2aWR1YWwgZmlsbCBhdCBpZGxlKSwgZGl2aWRlZCBieSBhIGhhaXJsaW5lLlxuLy8gSW50ZW50IHZhcmlhbnRzICh3YXJuaW5nL2Rlc3RydWN0aXZlL3N1Y2Nlc3MpIGtlZXAgdGhlaXIgb3duIHRpbnRlZCBjYXJkLlxuXG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0zKTtcbiAgcGFkZGluZzogMTNweCAxNnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tdGhlbWUtZm9udC1mYW1pbHksIFwiSW50ZXJcIiwgc2Fucy1zZXJpZik7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTRzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGVhc2U7XG59XG5cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24gLmJzYi1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG59XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uIC5ic2ItbGFiZWwgeyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24gLmJzYi1jaGVjayB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbn1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLWFjdGl2ZSAuYnNiLWNoZWNrIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLy8gdmFsdWUtbGFiZWwg4oCUIHRyYWlsaW5nIG11dGVkIHRleHQgb24gdGhlIHJpZ2h0ICh0aGUgY3VycmVudCBjaG9pY2UsIGUuZy4gXCJOb25lXCJcbi8vIG9yIGEgdGFza2xpc3QgbmFtZSk7IGVsbGlwc2l6ZWQgc28gYSBsb25nIG5hbWUgbmV2ZXIgcHVzaGVzIHRoZSByb3cgd2lkZXIuXG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uIC5ic2ItdmFsdWUge1xuICBmbGV4LXNocmluazogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IDU1JTtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xufVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itb24tcHVycGxlIC5ic2ItdmFsdWUgeyBjb2xvcjogdmFyKC0tYy13aGl0ZS03MCk7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLWRpc2FibGVkIC5ic2ItdmFsdWUgeyBjb2xvcjogaW5oZXJpdDsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2ItdGlsZSAuYnNiLXZhbHVlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vLyBzdWJ0aXRsZSDigJQgYSBzZWNvbmQsIHNtYWxsZXIgbGluZSB1bmRlciB0aGUgbGFiZWwsIGZvciBhbiBvcHRpb24gdGhhdCBuZWVkcyBhIGJpdCBvZlxuLy8gZXhwbGFuYXRpb24uIFJ1bGVzIGZyb20gS2ltIDAzLjA4LjIwMjY6XG4vLyAgICogT05FIGxpbmUsIGVsbGlwc2l6ZWQuIEEgc2hlZXQgcm93IG5ldmVyIGdyb3dzIHRvIHRocmVlIGxpbmVzLCBzbyB0aGUgcm93IGhlaWdodFxuLy8gICAgIHN0YXlzIHByZWRpY3RhYmxlIGFuZCB0aGUgc2hlZXQgb3V0bGluZSBuZXZlciBtb3Zlcy4gS2VlcCB0aGUgY29weSBzaG9ydC5cbi8vICAgKiAxM3B4IChub3QgdGhlIDEycHggdXNlZCBpbiBsaXN0LXJvdy9ldmVudC1jYXJkKTogdGhlIGxhYmVsIGhlcmUgaXMgMTZweCwgc28gMTJweFxuLy8gICAgIGRyb3BzIHRvbyBmYXIgYXdheSBmcm9tIGl0LlxuLy8gICAqIFRoZSBpY29uIGFsaWducyB3aXRoIHRoZSBGSVJTVCBsaW5lLCBub3Qgd2l0aCB0aGUgbWlkZGxlIG9mIHRoZSB0d28tbGluZSBibG9jayDigJRcbi8vICAgICB0aGUgaWNvbiBiZWxvbmdzIHRvIHRoZSBsYWJlbC5cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24gLmJzYi10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbn1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24gLmJzYi10ZXh0IC5ic2ItbGFiZWwgeyBmbGV4OiBub25lOyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uIC5ic2Itc3ViIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vLyBmbGV4LXN0YXJ0IHB1c2hlcyBpY29uL3ZhbHVlL2NoZWNrIHRvIHRoZSB0b3A7IHRoZSBuZWdhdGl2ZSBvZmZzZXQgdGhlbiBjZW50cmVzIHRoZVxuLy8gMjRweCBnbHlwaCBPTiB0aGUgMTZweC8xLjIgbGFiZWwgbGluZSBpbnN0ZWFkIG9mIG9uIGl0cyB0b3AgZWRnZS5cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLWhhcy1zdWI6bm90KC5ic2ItdGlsZSkgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2ItaGFzLXN1Yjpub3QoLmJzYi10aWxlKSAuYnNiLWljb24geyBtYXJnaW4tdG9wOiAtMnB4OyB9XG5cbi8vIG9uLXdoaXRlIOKAlCBmbGF0IGlkbGUgKG5vIHJhZGl1cywgbm8gZmlsbCk7IHJhZGl1cyArIGZpbGwgb25seSBvbiBpbnRlcmFjdGlvblxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itb24td2hpdGUgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWMtcHVycGxlLTcwMCk7IGJvcmRlci1yYWRpdXM6IDA7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLW9uLXdoaXRlOmhvdmVyOm5vdCguYnNiLWRpc2FibGVkKTpub3QoLmJzYi1hY3RpdmUpIHsgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTUwKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tci0zKTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itb24td2hpdGUuaXMtcHJlc3NlZCB7IGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS0xMDApOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yLTMpOyB0cmFuc2Zvcm06IHNjYWxlKDAuOTg1KTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itb24td2hpdGUuYnNiLWFjdGl2ZSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNzAwKTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itb24td2hpdGUuYnNiLWRpc2FibGVkIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1jLWdyZXktMzAwKTsgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8vIG9uLXB1cnBsZSDigJQgZmxhdCByb3dzIG9uIGEgcHVycGxlIHNoZWV0LCB3aGl0ZSB0ZXh0XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1vbi1wdXJwbGUgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWMtdGV4dC1vbi1hY3Rpb24pOyBib3JkZXItcmFkaXVzOiAwOyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1vbi1wdXJwbGU6aG92ZXI6bm90KC5ic2ItZGlzYWJsZWQpOm5vdCguYnNiLWFjdGl2ZSkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlLTE0KTsgYm9yZGVyLXJhZGl1czogdmFyKC0tci0zKTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itb24tcHVycGxlLmlzLXByZXNzZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlLTIyKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tci0zKTsgdHJhbnNmb3JtOiBzY2FsZSgwLjk4NSk7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLW9uLXB1cnBsZS5ic2ItYWN0aXZlIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1jLXRleHQtb24tYWN0aW9uKTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itb24tcHVycGxlLmJzYi1kaXNhYmxlZCB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tYy13aGl0ZS00NSk7IGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vLyB0aWxlIOKAlCBpY29uIGFib3ZlIGxhYmVsLCBzcXVhcmUgYXNwZWN0LCBmb3IgaG9yaXpvbnRhbCByb3dzIChhbHdheXMgaW5zaWRlIGEgZ3JvdXApXG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi10aWxlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBwYWRkaW5nOiAxNHB4IDhweDtcbiAgZmxleDogMTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0zKTtcbn1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLXRpbGUgLmJzYi1pY29uIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi10aWxlIC5ic2ItbGFiZWwgeyBmbGV4OiBub25lOyBmb250LXNpemU6IDEycHg7IHRleHQtYWxpZ246IGNlbnRlcjsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuLy8gdGlsZSArIHN1YnRpdGxlIChLaW0gMDMuMDguMjAyNjogeWVzLCB0aWxlcyBnZXQgaXQgdG9vKSDigJQgY2VudHJlZCBhbmQgYSBzdGVwIHNtYWxsZXJcbi8vIHRoYW4gdGhlIDEycHggdGlsZSBsYWJlbCwgc3RpbGwgb25lIGVsbGlwc2l6ZWQgbGluZS4gQSB0aWxlIGlzIG5hcnJvdywgc28gdGhlIGNvcHkgaGFzXG4vLyB0byBiZSBvbmUgb3IgdHdvIHdvcmRzLlxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2ItdGlsZSAuYnNiLXRleHQgeyBmbGV4OiBub25lOyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDFweDsgbWF4LXdpZHRoOiAxMDAlOyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi10aWxlIC5ic2Itc3ViIHsgZm9udC1zaXplOiAxMXB4OyBsaW5lLWhlaWdodDogMS4yNTsgbWF4LXdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLXRpbGUgLmJzYi1jaGVjayxcbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLXRpbGUuYnNiLWFjdGl2ZSAuYnNiLWNoZWNrIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vLyB0aWxlIGdyb3VwIOKAlCBob3Jpem9udGFsIHJvdyBsYXlvdXRcbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24tZ3JvdXAuYnNiZy10aWxlcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGdhcDogNnB4OyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLWdyb3VwLmJzYmctdGlsZXMgLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbiB7IGJvcmRlci1yYWRpdXM6IHZhcigtLXItMyk7IHBhZGRpbmc6IDE0cHggOHB4OyB9XG5cbi8vIHRpbGUgb24gd2hpdGUg4oCUIGVhY2ggdGlsZSBpcyBhIG1pbmkgcmFpc2VkIGNhcmRcbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24tZ3JvdXAuYnNiZy10aWxlcy5ic2JnLW9uLXdoaXRlIC5ic2ItdGlsZSB7IGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCk7IGNvbG9yOiB2YXIoLS1jLXB1cnBsZS03MDApOyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLWdyb3VwLmJzYmctdGlsZXMuYnNiZy1vbi13aGl0ZSAuYnNiLXRpbGU6aG92ZXI6bm90KC5ic2ItZGlzYWJsZWQpIHsgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTEwMCk7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24tZ3JvdXAuYnNiZy10aWxlcy5ic2JnLW9uLXdoaXRlIC5ic2ItdGlsZS5pcy1wcmVzc2VkIHsgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTEwMCk7IHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7IH1cblxuLy8gdGlsZSBvbiBwdXJwbGUg4oCUIHNsaWdodGx5IGxpZ2h0ZXIgdGhhbiBncm91cCBiZyBzbyB0aWxlcyB2aXN1YWxseSBzZXBhcmF0ZVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi1ncm91cC5ic2JnLXRpbGVzLmJzYmctb24tcHVycGxlIC5ic2ItdGlsZSB7IGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUtMjIpOyBjb2xvcjogdmFyKC0tYy10ZXh0LW9uLWFjdGlvbik7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24tZ3JvdXAuYnNiZy10aWxlcy5ic2JnLW9uLXB1cnBsZSAuYnNiLXRpbGU6aG92ZXI6bm90KC5ic2ItZGlzYWJsZWQpIHsgYmFja2dyb3VuZDogdmFyKC0tYy13aGl0ZS0yOCk7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24tZ3JvdXAuYnNiZy10aWxlcy5ic2JnLW9uLXB1cnBsZSAuYnNiLXRpbGUuaXMtcHJlc3NlZCB7IGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUtMjgpOyB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpOyB9XG5cbi8vIEludGVudCB2YXJpYW50cyDigJQga2VlcCB0aGVpciB0aW50ZWQgY2FyZCAoc2VtYW50aWMgbWVhbmluZyBuZWVkcyB0aGUgZmlsbClcbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLWRlc3RydWN0aXZlIHsgYmFja2dyb3VuZDogdmFyKC0tYy1zaWduYWwtcmVkLXNvZnQpOyBjb2xvcjogdmFyKC0tYy10YWctY3JpdGljYWwtdGV4dCk7IG1hcmdpbi10b3A6IDhweDsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2ItZGVzdHJ1Y3RpdmU6aG92ZXI6bm90KC5ic2ItZGlzYWJsZWQpIHsgYmFja2dyb3VuZDogdmFyKC0tYy1zaWduYWwtcmVkLWJnKTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2ItZGVzdHJ1Y3RpdmUuaXMtcHJlc3NlZCB7IGJhY2tncm91bmQ6IHZhcigtLWMtc2lnbmFsLXJlZC1iZyk7IHRyYW5zZm9ybTogc2NhbGUoMC45ODUpOyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1kZXN0cnVjdGl2ZS5ic2ItZGlzYWJsZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktNTApOyBjb2xvcjogdmFyKC0tYy1ncmV5LTQwMCk7IGN1cnNvcjogZGVmYXVsdDsgfVxuXG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi13YXJuaW5nIHsgYmFja2dyb3VuZDogdmFyKC0tYy13YXJuaW5nLWJyaWdodC1iZyk7IGNvbG9yOiB2YXIoLS1jLXdhcm5pbmctYnJpZ2h0LXRleHQpOyBtYXJnaW4tdG9wOiA4cHg7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLXdhcm5pbmc6aG92ZXI6bm90KC5ic2ItZGlzYWJsZWQpIHsgYmFja2dyb3VuZDogdmFyKC0tYy1zaWduYWwteWVsbG93LWJnKTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itd2FybmluZy5pcy1wcmVzc2VkIHsgYmFja2dyb3VuZDogdmFyKC0tYy1zaWduYWwteWVsbG93LWJnKTsgdHJhbnNmb3JtOiBzY2FsZSgwLjk4NSk7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLXdhcm5pbmcuYnNiLWRpc2FibGVkIHsgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTUwKTsgY29sb3I6IHZhcigtLWMtZ3JleS00MDApOyBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itc3VjY2VzcyB7IGJhY2tncm91bmQ6IHZhcigtLWMtc2lnbmFsLWdyZWVuLTEwMCk7IGNvbG9yOiB2YXIoLS1jLXNpZ25hbC1ncmVlbi10ZXh0KTsgbWFyZ2luLXRvcDogOHB4OyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1zdWNjZXNzOmhvdmVyOm5vdCguYnNiLWRpc2FibGVkKSB7IGJhY2tncm91bmQ6IHZhcigtLWMtc2lnbmFsLWdyZWVuLWJnKTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itc3VjY2Vzcy5pcy1wcmVzc2VkIHsgYmFja2dyb3VuZDogdmFyKC0tYy1zaWduYWwtZ3JlZW4tYmcpOyB0cmFuc2Zvcm06IHNjYWxlKDAuOTg1KTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itc3VjY2Vzcy5ic2ItZGlzYWJsZWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktNTApOyBjb2xvcjogdmFyKC0tYy1ncmV5LTQwMCk7IGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vLyBncm91cCAocmFkaW8gZmFtaWx5KSDigJQgb25lIHJvdW5kZWQgY2FyZCBjb250YWluZXI7IGlkbGUgaXRlbXMgdHJhbnNwYXJlbnQgc28gdGhleVxuLy8gbWVyZ2UgaW50byB0aGUgY2FyZCBzdXJmYWNlOyBvbmx5IGFjdGl2ZS9ob3Zlci9wcmVzc2VkIHN0YW5kIG91dC5cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24tZ3JvdXAgeyBkaXNwbGF5OiBibG9jazsgYm94LXNpemluZzogYm9yZGVyLWJveDsgYm9yZGVyLXJhZGl1czogdmFyKC0tci0zKTsgcGFkZGluZzogNnB4OyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLWdyb3VwLmJzYmctb24td2hpdGUgIHsgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTUwKTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi1ncm91cC5ic2JnLW9uLXB1cnBsZSB7IGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUtMTQpOyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLWdyb3VwIC5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24geyBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXJvdyk7IHBhZGRpbmc6IDExcHggMTZweDsgYm9yZGVyLXRvcDogbm9uZTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi1ncm91cCAucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uICsgLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbiB7IG1hcmdpbi10b3A6IDJweDsgYm9yZGVyLXRvcDogbm9uZTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi1ncm91cCAucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1vbi13aGl0ZSArIC5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLW9uLXdoaXRlLFxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi1ncm91cCAucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1vbi1wdXJwbGUgKyAucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1vbi1wdXJwbGUgeyBib3JkZXItdG9wOiBub25lOyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLWdyb3VwIC5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b246bm90KC5pcy1wcmVzc2VkKTpub3QoOmhvdmVyKSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4vLyBJbnNpZGUgYSBic2JnLW9uLXdoaXRlIGdyb3VwIHRoZSBzdXJmYWNlIGlzIC0tYy1ncmV5LTUwLCBzbyB0aGUgZGVmYXVsdCBvbi13aGl0ZSBob3ZlciAoYWxzbyBncmV5LTUwKSBpcyBpbnZpc2libGUuXG4vLyBPdmVycmlkZSB0byBncmV5LTEwMCBzbyBob3ZlciBpcyBhY3R1YWxseSB2aXNpYmxlLlxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi1ncm91cC5ic2JnLW9uLXdoaXRlIC5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLW9uLXdoaXRlOmhvdmVyOm5vdCguYnNiLWRpc2FibGVkKTpub3QoLmJzYi1hY3RpdmUpIHsgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTEwMCk7IH1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24tZ3JvdXAuYnNiZy1vbi13aGl0ZSAucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1vbi13aGl0ZS5pcy1wcmVzc2VkIHsgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTIwMCk7IH1cbi8vIEluc2lkZSBhIGdyb3VwIG9uIHB1cnBsZTogaWRsZSA9IHdoaXRlIHRleHQ7IGFjdGl2ZSA9IHRyYW5zcGFyZW50ICsgc2FtZSB3aGl0ZSB0ZXh0IChvbmx5IHRoZSBjaGVjayBjaGFuZ2VzKVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi1ncm91cC5ic2JnLW9uLXB1cnBsZSAucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uIHsgY29sb3I6IHZhcigtLWMtdGV4dC1vbi1hY3Rpb24pOyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLWdyb3VwLmJzYmctb24tcHVycGxlIC5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLWFjdGl2ZSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tYy10ZXh0LW9uLWFjdGlvbik7IH1cbi8vIERJU0FCTEVEIG11c3Qgc3Vydml2ZSB0aGUgZ3JvdXAgcnVsZSByaWdodCBhYm92ZSAoS2ltIDAzLjA4LjIwMjYpLiBCb3RoXG4vLyBgLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itb24tcHVycGxlLmJzYi1kaXNhYmxlZGAgKGZ1cnRoZXIgdXAsIHRoZSBkaW1tZWRcbi8vIGNvbG91cikgYW5kIHRoZSBncm91cCBydWxlIHdlaWdoIGV4YWN0bHkgdGhlIHNhbWUg4oCUIHRocmVlIGNsYXNzZXMgZWFjaCDigJQgc28gdGhlXG4vLyBncm91cCBydWxlIHdvbiBvbiBzb3VyY2Ugb3JkZXIgYWxvbmUgYW5kIGEgZGlzYWJsZWQgYnV0dG9uIGluc2lkZSBhIHB1cnBsZSBncm91cFxuLy8gcmVuZGVyZWQgaW4gRlVMTCB3aGl0ZTogdmlzdWFsbHkgaWRlbnRpY2FsIHRvIGEgd29ya2luZyBidXR0b24sIHNpbGVudGx5IHN3YWxsb3dpbmdcbi8vIGV2ZXJ5IHRhcC4gRm91bmQgdmlhIHRoZSBhZ2VuZGEncyBcIlN0YXJ0IHRhYWtcIiBidXR0b24gb24gYSBmdXR1cmUgdGFzay4gRm91ciBjbGFzc2VzXG4vLyBoZXJlLCBzbyB0aGlzIHdpbnMgb3V0cmlnaHQsIGFuZCBpdCBpcyB2YXJpYW50LWFnbm9zdGljIG9uIHB1cnBvc2U6IGFueSBidXR0b24gaW4gYVxuLy8gcHVycGxlIGdyb3VwIGRpbXMgdGhlIHNhbWUgd2F5LCBhbHNvIG9uZSB0aGF0IGNhcnJpZXMgdGhlIG9uLXdoaXRlIHZhcmlhbnQuXG4vLyBUaGUgb24td2hpdGUgZ3JvdXAgbmVlZHMgbm8gZXF1aXZhbGVudCDigJQgaXQgaGFzIG5vIHBsYWluIGNvbG91ciBvdmVycmlkZSB0byBiZWF0LlxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi1ncm91cC5ic2JnLW9uLXB1cnBsZSAucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1kaXNhYmxlZCB7IGNvbG9yOiB2YXIoLS1jLXdoaXRlLTQ1KTsgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8vIFN1YnRpdGxlIGNvbG91cnMgcGVyIHN1cmZhY2UuIERlbGliZXJhdGVseSBhdCB0aGUgRU5EIG9mIHRoZSBmaWxlOiBzZXZlcmFsIG9mIHRoZXNlXG4vLyBzZWxlY3RvcnMgd2VpZ2ggdGhlIHNhbWUgYXMgdGhlIGdyb3VwIHJ1bGVzIGFib3ZlLCBzbyBzb3VyY2Ugb3JkZXIgZGVjaWRlcyDigJQgYW5kIHRoZVxuLy8gZGlzYWJsZWQgb25lcyBoYXZlIHRvIHdpbiwgZm9yIHRoZSBzYW1lIHJlYXNvbiB0aGUgZGlzYWJsZWQgY29sb3VyIGFib3ZlIGhhZCB0b1xuLy8gKGEgZnVsbC1zdHJlbmd0aCByb3cgdGhhdCBzaWxlbnRseSBzd2FsbG93cyBldmVyeSB0YXAsIEtpbSAwMy4wOC4yMDI2KS5cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLW9uLXB1cnBsZSAuYnNiLXN1Yixcbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24tZ3JvdXAuYnNiZy1vbi1wdXJwbGUgLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbiAuYnNiLXN1YiB7IGNvbG9yOiB2YXIoLS1jLXdoaXRlLTcwKTsgfVxuLy8gSW50ZW50IHZhcmlhbnRzIGtlZXAgdGhlaXIgb3duIHNlbWFudGljIGNvbG91ciDigJQgYSBncmV5IHN1YnRpdGxlIG9uIGEgcmVkL3llbGxvdy9ncmVlblxuLy8gY2FyZCByZWFkcyBhcyBhIGZvcmVpZ24gZWxlbWVudCDigJQgc28gZGltIHRoZSByb3cgY29sb3VyIGluc3RlYWQgb2YgcmVjb2xvdXJpbmcgaXQuXG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi13YXJuaW5nIC5ic2Itc3ViLFxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2ItZGVzdHJ1Y3RpdmUgLmJzYi1zdWIsXG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1zdWNjZXNzIC5ic2Itc3ViIHsgY29sb3I6IGN1cnJlbnRDb2xvcjsgb3BhY2l0eTogMC43ODsgfVxuLy8gRGlzYWJsZWQ6IHRoZSB3aG9sZSByb3cgaXMgYWxyZWFkeSBkaW1tZWQsIHNvIHRoZSBzdWJ0aXRsZSBmb2xsb3dzIHRoZSByb3cgY29sb3VyLlxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2ItZGlzYWJsZWQgLmJzYi1zdWIgeyBjb2xvcjogaW5oZXJpdDsgb3BhY2l0eTogMTsgfVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi5ic2Itb24td2hpdGUuYnNiLWRpc2FibGVkIC5ic2Itc3ViIHsgY29sb3I6IHZhcigtLWMtZ3JleS0zMDApOyB9XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1vbi1wdXJwbGUuYnNiLWRpc2FibGVkIC5ic2Itc3ViLFxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbi1ncm91cC5ic2JnLW9uLXB1cnBsZSAucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1kaXNhYmxlZCAuYnNiLXN1YiB7IGNvbG9yOiB2YXIoLS1jLXdoaXRlLTQ1KTsgfVxuXG4vLyBDaGVja21hcmsgYXBwZWFyIGFuaW1hdGlvbjogZHJhdy1pbiAoc3Ryb2tlKSArIGNvbnRhaW5lciBwb3Avd29iYmxlIOKAlCBtaXJyb3JzIHFkbmFwcm8tdW5pdC1jYXJkXG5Aa2V5ZnJhbWVzIGJzYi1jaGVjay1wb3Age1xuICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjYpICByb3RhdGUoMGRlZyk7ICB9XG4gIDIwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMjApIHJvdGF0ZSgtNWRlZyk7IH1cbiAgNDQlICB7IHRyYW5zZm9ybTogc2NhbGUoMC45Mikgcm90YXRlKDNkZWcpOyAgfVxuICA2NCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KSByb3RhdGUoLTFkZWcpOyB9XG4gIDgwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpIHJvdGF0ZSgwZGVnKTsgIH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSkgICAgcm90YXRlKDBkZWcpOyAgfVxufVxuQGtleWZyYW1lcyBic2ItY2hlY2stZHJhdyB7XG4gIDAlICAgeyBzdHJva2UtZGFzaG9mZnNldDogMjI7ICB9XG4gIDYyJSAgeyBzdHJva2UtZGFzaG9mZnNldDogLTE7ICB9XG4gIDgwJSAgeyBzdHJva2UtZGFzaG9mZnNldDogMC43OyB9XG4gIDEwMCUgeyBzdHJva2UtZGFzaG9mZnNldDogMDsgICB9XG59XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uIC5ic2ItY2hlY2stcGF0aCB7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDIyO1xuICBzdHJva2UtZGFzaG9mZnNldDogMjI7XG59XG4ucWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLmJzYi1hY3RpdmUgLmJzYi1jaGVjayB7XG4gIGFuaW1hdGlvbjogYnNiLWNoZWNrLXBvcCAwLjUycyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC41LCAxKSBmb3J3YXJkcztcbn1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24uYnNiLWFjdGl2ZSAuYnNiLWNoZWNrLXBhdGgge1xuICBhbmltYXRpb246IGJzYi1jaGVjay1kcmF3IDAuMzhzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSAwLjA0cyBmb3J3YXJkcztcbn1cbiIsIi8vIHFkbmFwcm8tcG9wb3ZlciDigJQgZmxvYXRpbmcgYWN0aW9uIGNhcmQgYW5jaG9yZWQgdG8gYSB0cmlnZ2VyIGVsZW1lbnQuXG4vLyBGTEFUIENTUzsgY29sb3Vycy9yYWRpaSBmcm9tIHRoZSBkZXNpZ24tdG9rZW4gOnJvb3QgKHZhcigtLWMtKikgLyAtLXItKikuXG4vLyBUYWJsZXQtZmlyc3QgYWx0ZXJuYXRpdmUgdG8gdGhlIGJvdHRvbSBzaGVldCAodXNlIG9uIHdpbmRvdy5pbm5lcldpZHRoID49IDc2OCkuXG4vLyBFZGl0IEhFUkUsIHRoZW4gYGd1bHAgc2Fzcy12MWAgKyB0aGUgc3luYy5cblxuLnFkbmFwcm8tcG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMTtcbiAgd2lkdGg6IDI4MHB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItY2FyZCk7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjIyKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXRoZW1lLWZvbnQtZmFtaWx5LCBcIkludGVyXCIsIHNhbnMtc2VyaWYpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UsIHZpc2liaWxpdHkgMC4xNXMgZWFzZTtcbn1cbi5xZG5hcHJvLXBvcG92ZXIuaXMtb3BlbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4vLyBEZWZlbnNpdmUgZ3VhcmQgKDIxLjA3LjIwMjYsIEtpbSdzIHRvZXN0ZWwtdGVzdCAtIFBXQSB0YWJsZXQgcG9wb3ZlciBidWcpOlxuLy8gdGhlIG9wYWNpdHkvdmlzaWJpbGl0eSBydWxlIGFib3ZlIG9ubHkgYXBwbGllcyBvbmNlIHRoZSBjb21wb25lbnQncyBvd25cbi8vIHJlbmRlcigpIGhhcyBzZXQgdGhlIC5xZG5hcHJvLXBvcG92ZXIgY2xhc3MgLSB3aGljaCBoYXBwZW5zIEFGVEVSIHRoZVxuLy8gY3VzdG9tIGVsZW1lbnQgaXMgZGVmaW5lZCBhbmQgdXBncmFkZWQuIEJlZm9yZSB0aGF0IG1vbWVudCB0aGUgdGFnIHNpdHMgaW5cbi8vIHRoZSBwYWdlIHdpdGggTk8gY2xhc3MgYXQgYWxsIChibzIgd3JpdGVzIDxxZG5hcHJvLXBvcG92ZXI+IGRpcmVjdGx5IGluXG4vLyBtYXJrdXAgb24gcGxhbm5lci9kb2N1bWVudHMgcGFnZXMsIHdoaWxlIGNvbXBvbmVudHMuanMgaXMgYSBkZWZlcnJlZFxuLy8gbW9kdWxlKSwgc28gaXRzIGxpZ2h0LURPTSBjaGlsZHJlbiAoZS5nLiBhbiBlbWJlZGRlZCBxZG5hcHJvLW1lbnUpIHdvdWxkXG4vLyByZW5kZXIgYmFyZS9leHBvc2VkLiBUQUcgc2VsZWN0b3Igb24gcHVycG9zZTogYSBjbGFzcy1iYXNlZFxuLy8gLnFkbmFwcm8tcG9wb3Zlcjpub3QoOmRlZmluZWQpIGNhbiBuZXZlciBtYXRjaCwgYmVjYXVzZSB0aGUgY2xhc3MgYW5kXG4vLyA6ZGVmaW5lZCBhbHdheXMgZmxpcCB0b2dldGhlci4gU2FtZSBndWFyZCBhcyBxZG5hcHJvLXNlYXJjaC1vdmVybGF5LlxucWRuYXByby1wb3BvdmVyOm5vdCg6ZGVmaW5lZCkgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8vIEFycm93IOKAlCBwb2ludHMgdG93YXJkIHRoZSB0cmlnZ2VyIGVsZW1lbnQuXG4vLyAtLXBvcC1hcnJvdy14IGlzIHNldCBpbmxpbmUgYnkgdGhlIEpTIHBvc2l0aW9uaW5nIGxvZ2ljLlxuLnFkbmFwcm8tcG9wb3Zlcjo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiA5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGxlZnQ6IHZhcigtLXBvcC1hcnJvdy14LCA1MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4ucWRuYXByby1wb3BvdmVyLnBvcC1iZWxvdzo6YmVmb3JlIHtcbiAgdG9wOiAtMThweDtcbn1cbi5xZG5hcHJvLXBvcG92ZXIucG9wLWFib3ZlOjpiZWZvcmUge1xuICBib3R0b206IC0xOHB4O1xufVxuXG4vLyAtLS0gV2hpdGUgdmFyaWFudCAoZGVmYXVsdCkgLS0tXG4ucWRuYXByby1wb3BvdmVyLnBvcC12YXJpYW50LXdoaXRlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkKTtcbn1cbi5xZG5hcHJvLXBvcG92ZXIucG9wLXZhcmlhbnQtd2hpdGU6OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWMtYmctY2FyZCk7XG59XG4ucWRuYXByby1wb3BvdmVyLnBvcC12YXJpYW50LXdoaXRlLnBvcC1hYm92ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tYy1iZy1jYXJkKTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIC0tLSBQdXJwbGUgdmFyaWFudCAtLS1cbi5xZG5hcHJvLXBvcG92ZXIucG9wLXZhcmlhbnQtcHVycGxlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUtNTAwKTtcbn1cbi5xZG5hcHJvLXBvcG92ZXIucG9wLXZhcmlhbnQtcHVycGxlOjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jLXB1cnBsZS01MDApO1xufVxuLnFkbmFwcm8tcG9wb3Zlci5wb3AtdmFyaWFudC1wdXJwbGUucG9wLWFib3ZlOjpiZWZvcmUge1xuICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jLXB1cnBsZS01MDApO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gLS0tIEJhcmUgdmFyaWFudDogY2hyb21lLWxlc3MgcG9zaXRpb25pbmcgbGF5ZXIgLS0tXG4vLyBGb3IgaG9zdGluZyBjb250ZW50IHRoYXQgYWxyZWFkeSBjYXJyaWVzIGl0cyBvd24gZGVzaWduZWQgY2hyb21lIChlLmcuXG4vLyBxZG5hcHJvLW1lbnUsIHdoaWNoIGhhcyBpdHMgb3duIGJvcmRlci9yYWRpdXMvc2hhZG93L3BhZGRpbmcpLiBUaGUgcG9wb3ZlclxuLy8ga2VlcHMgaXRzIHBvc2l0aW9uOmZpeGVkIC8gb3Blbi1jbG9zZSAvIG91dHNpZGUtY2xpY2sgLyBFc2NhcGUgYmVoYXZpb3VyLFxuLy8gaXQganVzdCBubyBsb25nZXIgcGFpbnRzIGl0cyBvd24gcGFuZWwgYXJvdW5kIHRoZSBjb250ZW50LiBQbGFjZWQgYWZ0ZXJcbi8vIHRoZSB2YXJpYW50IGJsb2NrcyBzbyBpdCB3aW5zIGF0IGVxdWFsIHNwZWNpZmljaXR5IChLaW0gMTYuMDcuMjAyNjogXCJpa1xuLy8gd2lsIGRhdCBkaWUgbWVudSdzIG9vayBkYWFkd2Vya2VsaWprIGhldCBxZG5hcHJvLW1lbnUgemlqblwiIOKAlCB0aGUgbWVudSdzXG4vLyBvd24gbG9vayBtdXN0IGJlIHdoYXQgc2hvd3MsIG5vdCBhIHNlY29uZCBwYW5lbCB3cmFwcGVkIGFyb3VuZCBpdCkuXG4ucWRuYXByby1wb3BvdmVyLnBvcC1iYXJlIHtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4ucWRuYXByby1wb3BvdmVyLnBvcC1iYXJlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBCb2R5OiBmbGV4IGNvbHVtbiB3aXRoIGdhcHMgYmV0d2VlbiBidXR0b24gZ3JvdXBzXG4ucWRuYXByby1wb3BvdmVyIC5wb3AtYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNnB4O1xufVxuXG4vLyAtLS0gRGlhbG9nIHZhcmlhbnRzOiBiaWcgY2VudGVyZWQgXCJkaWFsb2dcIiArIHNtYWxsIGFuY2hvcmVkIFwiZGlhbG9nLWFycm93XCIgLS0tXG4vLyBJbGx1c3RyYXRlZCBkaWFsb2cgcG9wb3ZlcnMsIGNvbXBvc2VkIHRoZSBzYW1lIHdheSBhcyBxZG5hcHJvLWJvdHRvbS1zaGVldCdzXG4vLyBkaWFsb2cvY29uZmlybSB2YXJpYW50IChpbGx1c3RyYXRpb24gKyBib2xkIHdoaXRlIHRpdGxlICsgd2hpdGUgYm9keSB0ZXh0ICtcbi8vIG9wdGlvbmFsIGNvbnN1bWVyIGNvbnRlbnQgKyBhIGZsZXhpYmxlIENhbmNlbC9Db25maXJtIGZvb3RlcikuIFNhbWUgbWFhdHZvZXJpbmcvXG4vLyBrbGV1cmVuIGFzIC5icy12YXJpYW50LWRpYWxvZyBpbiBfYm90dG9tLXNoZWV0LnNjc3MsIHJldXNlZCBoZXJlLiBbS2ltIDIyLjA3LjIwMjZdXG5cbi8vIFNoYXJlZCBjb250ZW50IGJsb2NrOiBpbGx1c3RyYXRpb24sIHRpdGxlLCBib2R5IHRleHQsIGNvbnN1bWVyIHNsb3QgY29udGVudC5cbi5xZG5hcHJvLXBvcG92ZXIgLnBvcC1kaWFsb2ctYm9keSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZ2FwOiAwO1xufVxuLy8gcWRuYXByby1pbGx1c3RyYXRpb24gd2lwZXMgaXRzIG93biBjbGFzc05hbWUgb24gcmVuZGVyICh0aGlzLmNsYXNzTmFtZSA9IOKApiksIHNvIGFcbi8vIGNsYXNzIGhvb2sgaXMgZGVhZCBieSB0aGUgdGltZSBpdCBwYWludHMg4oCUIHRhcmdldCB0aGUgVEFHLCBzYW1lIHRyaWNrIGFzIHRoZVxuLy8gYm90dG9tLXNoZWV0IGRpYWxvZy5cbi5xZG5hcHJvLXBvcG92ZXIgLnBvcC1kaWFsb2ctYm9keSA+IHFkbmFwcm8taWxsdXN0cmF0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIDE2cHg7XG4gIC8vIE5ldmVyIG92ZXJmbG93IGEgcGFuZWwgdGhhdCBoYXMgc2hydW5rIChuYXJyb3cgdmlld3BvcnQpOiB0aGUgY29tcG9uZW50IHNldHMgYW5cbiAgLy8gZXhwbGljaXQgcGl4ZWwgd2lkdGggaW5saW5lLCB0aGlzIGNhcHMgaXQgdG8gdGhlIGF2YWlsYWJsZSBzcGFjZSwga2VlcGluZyByYXRpby5cbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLnFkbmFwcm8tcG9wb3ZlciAucG9wLWRpYWxvZy10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1vbi1hY3Rpb24pO1xufVxuLnFkbmFwcm8tcG9wb3ZlciAucG9wLWRpYWxvZy10ZXh0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogdmFyKC0tYy13aGl0ZS03MCk7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4vLyBDb25zdW1lciBjb250ZW50IChlLmcuIGJ1bGxldCByb3dzKSBzaXRzIGJlbG93IHRoZSBpbGx1c3RyYXRpb24vdGl0bGUvdGV4dDsgdGhlXG4vLyBkaWFsb2cgYm9keSBjZW50ZXJzIGl0cyBidWlsdC1pbnMsIHRoaXMgd3JhcHBlciBzdHJldGNoZXMgZnVsbC13aWR0aCBhbmRcbi8vIGxlZnQtYWxpZ25zIHNvIGN1c3RvbSByb3dzIGFyZW4ndCBzaHJpbmstd3JhcHBlZCBvciBjZW50ZXJlZC5cbi5xZG5hcHJvLXBvcG92ZXIgLnBvcC1kaWFsb2ctYm9keSA+IC5wb3AtZGlhbG9nLWNvbnRlbnQge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cbi5xZG5hcHJvLXBvcG92ZXIgLnBvcC1kaWFsb2ctZm9vdGVyIHFkbmFwcm8tYnV0dG9uIHtcbiAgZmxleDogMTtcbn1cblxuLy8gRXhwbGFpbmVyIFwiYnVsbGV0XCIgcm93OiBbaWNvbi9iYWRnZV0gKyB3aGl0ZSB0ZXh0LCBlLmcuIFwid2hhdCBkb2VzIHRoaXMgYmFkZ2Vcbi8vIG1lYW5cIiAoUFdBIGRvY3VtZW50cyBiYWRnZS1pbmZvIGRpYWxvZywgMjguMDcuMjAyNikuIFNBTUUgY2xhc3MgbmFtZSArIHJ1bGUgYXNcbi8vIHFkbmFwcm8tYm90dG9tLXNoZWV0J3MgZGlhbG9nIGNvdW50ZXJwYXJ0IChzZWUgLmJzLWRpYWxvZy1idWxsZXQgaW5cbi8vIF9ib3R0b20tc2hlZXQuc2Nzcykgc28gYSBwb3BvdmVyIG9uIHRhYmxldCBhbmQgYSBzaGVldCBvbiBwaG9uZSByZW5kZXIgdGhlIGV4YWN0XG4vLyBzYW1lIGNvbnN1bWVyLWJ1aWx0IHJvdyAodGhlIFBXQSBidWlsZHMgT05FIHJvdyBzaGFwZSBhbmQgYXBwZW5kcyBpdCB0byB3aGljaGV2ZXJcbi8vIHN1cmZhY2UgaXQgb3BlbnMpLiBJY29uIHRvcC1hbGlnbmVkIHdpdGggdGhlIHRleHQgYmxvY2sg4oCUIHNlZSB0aGUgYm90dG9tLXNoZWV0XG4vLyBwYXJ0aWFsJ3MgY29tbWVudCBmb3Igd2h5IChubyBzaW5nbGUgZ2x5cGggYmFzZWxpbmUgdG8gaG9vayBhIGJhZGdlIHBpbGwgdG8pLlxuLnFkbmFwcm8tcG9wb3ZlciAucG9wLWRpYWxvZy1jb250ZW50IC5icy1kaWFsb2ctYnVsbGV0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTJweDtcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUtOTAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5xZG5hcHJvLXBvcG92ZXIgLnBvcC1kaWFsb2ctY29udGVudCAuYnMtZGlhbG9nLWJ1bGxldCArIC5icy1kaWFsb2ctYnVsbGV0IHtcbiAgbWFyZ2luLXRvcDogMTRweDtcbn1cbi5xZG5hcHJvLXBvcG92ZXIgLnBvcC1kaWFsb2ctY29udGVudCAuYnMtZGlhbG9nLWJ1bGxldCA+IHFkbmFwcm8tc3RhdHVzLWJhZGdlIHtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8vIC0tLSB2YXJpYW50PVwiZGlhbG9nXCI6IEJJRyBwb3BvdmVyLCBjZW50ZXJlZCBiZWhpbmQgYSBmdWxsLXZpZXdwb3J0IHNjcmltIC0tLVxuLnFkbmFwcm8tcG9wb3Zlci5wb3AtdmFyaWFudC1kaWFsb2cge1xuICAvLyBGdWxsLXZpZXdwb3J0IGZpeGVkIG92ZXJsYXkuIFVzZSB0aGUgbG9uZy1oYW5kIGVkZ2VzIChOT1QgYGluc2V0OjBgIGZvbGxvd2VkIGJ5XG4gIC8vIGBsZWZ0L3RvcDphdXRvYCwgd2hpY2ggY2FuY2VscyB0d28gb2YgdGhlIGZvdXIgZWRnZXMgYW5kIHNocmluay13cmFwcyB0aGUgaG9zdFxuICAvLyBpbnRvIHRoZSBib3R0b20tcmlnaHQgY29ybmVyIOKAlCB0aGF0IHJlYWQgYXMgXCJ0aGUgZGlhbG9nIGRvZXNuJ3Qgb3BlblwiKS4gWzIyLjA3LjIwMjZdXG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLy8gTm8gYW5jaG9yIGFycm93IG9uIHRoZSBjZW50ZXJlZCBkaWFsb2cuXG4ucWRuYXByby1wb3BvdmVyLnBvcC12YXJpYW50LWRpYWxvZzo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5xZG5hcHJvLXBvcG92ZXIucG9wLXZhcmlhbnQtZGlhbG9nIC5wb3Atc2NyaW0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHotaW5kZXg6IDA7XG59XG4ucWRuYXByby1wb3BvdmVyLnBvcC12YXJpYW50LWRpYWxvZyAucG9wLXBhbmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvLyBNYXRjaGVzIHRoZSBkZXNpZ24gY2FudmFzIChwb3BvdmVyX2JpZy5zdmcgaXMgNzAyIHdpZGUpOyBob2xkcyB0aGUgNTQwLXdpZGVcbiAgLy8gaWxsdXN0cmF0aW9uIHdpdGggcm9vbSB0byBicmVhdGhlLiBGYWxscyBiYWNrIHRvIDk0dncgb24gbmFycm93IHNjcmVlbnMuXG4gIHdpZHRoOiBtaW4oOTR2dywgNzAycHgpO1xuICBtYXgtaGVpZ2h0OiA4NnZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAyOHB4IDI0cHggMjRweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1jYXJkKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUtNTAwKTtcbiAgYm94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMjIpO1xuICAvLyBTdWJ0bGUgc2NhbGUtaW4gb24gdG9wIG9mIHRoZSBob3N0J3MgZXhpc3Rpbmcgb3BhY2l0eSB0cmFuc2l0aW9uIChiYXNlIHJ1bGUpLlxuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTYpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xOHMgZWFzZTtcbn1cbi5xZG5hcHJvLXBvcG92ZXIucG9wLXZhcmlhbnQtZGlhbG9nLmlzLW9wZW4gLnBvcC1wYW5lbCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4vLyBSb3VuZCBuYXZ5IGNsb3NlIChYKSwgdG9wLXJpZ2h0IOKAlCBzYW1lIG5hdnkgYXMgYnV0dG9uLW9uLXB1cnBsZS1zb2xpZFxuLy8gKC0tYy1wdXJwbGUtNzAwLCAjMmEzMjY4KSBzbyB0aGUgY2xvc2UgY2lyY2xlIGFuZCB0aGUgcHJpbWFyeSBmb290ZXIgYnV0dG9uXG4vLyByZWFkIGFzIG9uZSBjb25zaXN0ZW50IHN5c3RlbS5cbi5xZG5hcHJvLXBvcG92ZXIucG9wLXZhcmlhbnQtZGlhbG9nIC5wb3AtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTZweDtcbiAgcmlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXB1cnBsZS03MDApO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5xZG5hcHJvLXBvcG92ZXIucG9wLXZhcmlhbnQtZGlhbG9nIC5wb3AtZGlhbG9nLWJvZHkge1xuICBwYWRkaW5nLXRvcDogNHB4O1xufVxuLnFkbmFwcm8tcG9wb3Zlci5wb3AtdmFyaWFudC1kaWFsb2cgLnBvcC1kaWFsb2ctaWxsdXN0cmF0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi8vIEZvb3RlcjogYnV0dG9ucyBORVhUIFRPIGVhY2ggb3RoZXIgKHJvdyksIHByaW1hcnkgb24gdGhlIHJpZ2h0LlxuLnFkbmFwcm8tcG9wb3Zlci5wb3AtdmFyaWFudC1kaWFsb2cgLnBvcC1kaWFsb2ctZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4vLyAtLS0gbGlnaHQ6IGRlemVsZmRlIGRpYWxvZyBvcCBXSVQgKEtpbSAwMy4wOC4yMDI2KSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gXCJLdW4gamUgZGl0IGdld29vbiBlZW4gd2l0dGUgZGlhbG9nIHZlcnNpZSBkb2VuLCBwYWFycyB2aW5kIGlrIGVlbiBiZWV0amUgdGUgdmVlbC5cIlxuLy8gQmV3dXN0IEFMTEVFTiBlZW4ga2xldXItbW9kaWZpZXI6IG1hYXR2b2VyaW5nLCBzbHVpdC1YLXBvc2l0aWUsIHNjcmltLWdlZHJhZywgc3RpY2t5XG4vLyBoZWFkZXIgZW4gdm9ldHRla3N0IGJsaWp2ZW4gdmFuIC5wb3AtdmFyaWFudC1kaWFsb2cuIFZpZXIgcGxla2tlbiB6ZXR0ZW4gZGUgcGFhcnNlXG4vLyBrbGV1ciBlbiBkaWUgdmllciB3b3JkZW4gaGllciBvbWdlemV0LCBuaWV0cyBtZWVyLiBCZWRvZWxkIHZvb3IgZWVuIGRpYWxvZyBkaWUgdm9vcmFsXG4vLyBJTkhPVUQgaXMgKGVlbiBsaWpzdCk7IGVlbiB2cmFhZyBtw6l0IGlsbHVzdHJhdGllIGJsaWpmdCBwYWFycy5cbi8vIERlIFNDUklNIGJsaWpmdCBiZXd1c3QgaGV0emVsZmRlIGRvbmtlcjogZWVuIHdpdHRlIGthYXJ0IGhlZWZ0IGp1aXN0IGRhdCBjb250cmFzdFxuLy8gbm9kaWcgb20gYWxzIGthYXJ0IHRlIGxlemVuLlxuLy8gTEVUIE9QOiBkZSB2b2V0dGVrc3Rrbm9wcGVuIHppam4gcWRuYXByby1idXR0b24gdHlwZT1cIm9uLXB1cnBsZSgtc29saWQpXCIuIERpZSB6aWpuXG4vLyBvbmxlZXNiYWFyIG9wIHdpdCwgZHVzIGVlbiBsaWNodGUgZGlhbG9nIE1FVCBmb290ZXIgbW9ldCB6aWpuIGVpZ2VuIGtub3B0eXBlcyB6ZXR0ZW4uXG4vLyBEZXplIGVlcnN0ZSBhZm5lbWVyIChkZSBkb2N1bWVudGVubGlqc3QgdmFuIGVlbiB0YWtlbmxpanN0KSBoZWVmdCBnZWVuIGZvb3Rlci5cbi5xZG5hcHJvLXBvcG92ZXIucG9wLWRpYWxvZy1saWdodCAucG9wLXBhbmVsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkLCAjZmZmZmZmKTtcbn1cbi5xZG5hcHJvLXBvcG92ZXIucG9wLWRpYWxvZy1saWdodCAucG9wLWRpYWxvZy10aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtaGVhZGluZywgIzFhMWY0ZCk7XG59XG4ucWRuYXByby1wb3BvdmVyLnBvcC1kaWFsb2ctbGlnaHQgLnBvcC1kaWFsb2ctdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2ZTcyODApO1xufVxuLnFkbmFwcm8tcG9wb3Zlci5wb3AtZGlhbG9nLWxpZ2h0IC5wb3AtY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLXN1YnRsZS1ob3ZlciwgI2Y1ZjZmOCk7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtaGVhZGluZywgIzFhMWY0ZCk7XG59XG5cbi8vIC0tLSBTdGlja3kgaGVhZGVyIHJvdyAodmFyaWFudD1cImRpYWxvZ1wiIHdpdGggYSBbZGF0YS1wb3AtaGVhZGVyXSBjaGlsZCkgLS0tXG4vLyBPcHQtaW4sIGZvciBhIGRpYWxvZyB3aG9zZSBjb250ZW50IGlzIGEgc2VhcmNoYWJsZS9zY3JvbGxhYmxlIExJU1QgaW5zdGVhZCBvZiBhIHNob3J0XG4vLyBpbGx1c3RyYXRlZCBtZXNzYWdlIChQV0EgdGFza2xpc3QgY2hvb3NlcikuIFR3byB0aGluZ3MgY2hhbmdlLCBhbmQgb25seSB3aGVuIGEgaGVhZGVyXG4vLyBpcyBhY3R1YWxseSBwcmVzZW50LCBzbyBldmVyeSBleGlzdGluZyBkaWFsb2cga2VlcHMgaXRzIGFic29sdXRlIFggKyBzY3JvbGxpbmcgY2FyZDpcbi8vICAgMS4gdGhlIHJvdW5kIFggYmVjb21lcyBhIGZsZXggaXRlbSBpbiB0aGlzIHJvdywgc28gaGVhZGVyIGNvbnRlbnQgYW5kIFggbGluZSB1cCBieVxuLy8gICAgICBjb25zdHJ1Y3Rpb24gaW5zdGVhZCBvZiBieSBtYXRjaGluZyB0d28gaW5kZXBlbmRlbnQgb2Zmc2V0cztcbi8vICAgMi4gdGhlIENBUkQgc3RvcHMgc2Nyb2xsaW5nIGFuZCB0aGUgQk9EWSBzY3JvbGxzLCB3aGljaCBpcyB3aGF0IGtlZXBzIHRoaXMgcm93IChhbmRcbi8vICAgICAgdGhlIGZvb3RlcikgaW4gcGxhY2Ugd2hpbGUgdGhlIGxpc3QgbW92ZXMgdW5kZXJuZWF0aC5cbi8vIFtLaW0gMjkuMDcuMjAyNl1cbi5xZG5hcHJvLXBvcG92ZXIucG9wLXZhcmlhbnQtZGlhbG9nIC5wb3AtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbi8vIFRoZSBmaXJzdCBoZWFkZXIgY2hpbGQgdGFrZXMgdGhlIGZyZWUgd2lkdGggKGEgc2VhcmNoIGZpZWxkLCBhIHRpdGxlKTsgdGhlIFgga2VlcHMgaXRzXG4vLyBvd24gc2l6ZS4gRGVsaWJlcmF0ZWx5IHBvc2l0aW9uYWwgYW5kIG5vdCBhIG5hbWVkIGNsYXNzOiB0aGUgcm93IGlzIGEgY29uc3VtZXIgc2xvdC5cbi5xZG5hcHJvLXBvcG92ZXIucG9wLXZhcmlhbnQtZGlhbG9nIC5wb3AtaGVhZGVyID4gKjpmaXJzdC1jaGlsZCB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG59XG4vLyBPdXQgb2YgdGhlIGNvcm5lciwgaW50byB0aGUgcm93LiB0b3AvcmlnaHQgYXJlIHJlc2V0IGV4cGxpY2l0bHkgYmVjYXVzZSB0aGUgYmFzZSBydWxlXG4vLyBzdGlsbCBzZXRzIHRoZW0gYW5kIGEgc3RhdGljIGJveCB3b3VsZCBvdGhlcndpc2Uga2VlcCB0aGVtIGFzIGRlYWQgZGVjbGFyYXRpb25zLlxuLy8gVGhlIDQ0cHggYm94IChpbnN0ZWFkIG9mIHRoZSBjb3JuZXIgWCdzIDMyKSBpcyBxZG5hcHJvLWljb24tYnRuIHNpemU9XCJ0b3VjaFwiOiBpbiBhIHJvd1xuLy8gdGhlIFggaXMgb25lIGJ1dHRvbiBhbW9uZyBzZXZlcmFsLCBzbyBpdCBoYXMgdG8gY2FycnkgYSBzaXplIGZyb20gdGhlIEJVVFRPTiBzY2FsZSwgbm90XG4vLyBpdHMgb3duLiBUaGUgZ2x5cGggc3RlcHMgdG8gMjRweCBpbiBKUyB0byBtYXRjaC4gQ29uc3VtZXJzIHB1dCB0aGVpciBvd24gcm91bmQgYnV0dG9uc1xuLy8gaGVyZSAodGhlIFBXQSB0YXNrbGlzdCBjaG9vc2VyIGhhcyBhIHZpZXctb3B0aW9ucyBpY29uLWJ0biBuZXh0IHRvIGl0KSBhbmQgdGhyZWVcbi8vIGRpZmZlcmVudCBkaWFtZXRlcnMgaW4gb25lIHJvdyBpcyBleGFjdGx5IHdoYXQgS2ltIGZsYWdnZWQuIDQ0IGFuZCBub3QgMjg6IEtpbSBhc2tlZCBmb3Jcbi8vIHRoZXNlIGNpcmNsZXMgdG8gc2ltcGx5IGJlIEJJRyBuZXh0IHRvIHRoZSBzZWFyY2ggZmllbGQsIGFuZCB0b3VjaCBpcyBib3RoIHRoZSBsYXJnZXN0XG4vLyBleGlzdGluZyBzaXplIGFuZCB0aGUgbWluaW11bSB0YXAgdGFyZ2V0IC0gc28gbm8gZm91cnRoIGRpYW1ldGVyIGVudGVycyB0aGUgc3lzdGVtLlxuLy8gW0tpbSAzMC4wNy4yMDI2XVxuLnFkbmFwcm8tcG9wb3Zlci5wb3AtdmFyaWFudC1kaWFsb2cucG9wLWhhcy1oZWFkZXIgLnBvcC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xufVxuLy8gUGFuZWwgPSBmaXhlZCBmcmFtZSAoaGVhZGVyIC8gc2Nyb2xsaW5nIGJvZHkgLyBmb290ZXIpLCBubyBsb25nZXIgdGhlIHNjcm9sbCBjb250YWluZXIuXG4vLyBwYWRkaW5nLXRvcCBtYXRjaGVzIHRoZSAxNnB4IHRoZSBhYnNvbHV0ZSBYIHVzZWQgdG8gc2l0IGF0LCBzbyB0aGUgaGVhZGVyIHJvdyBsYW5kc1xuLy8gd2hlcmUgdGhlIFggYWxyZWFkeSB3YXMgYW5kIHRoZSBjYXJkJ3MgdG9wIGVkZ2UgZG9lcyBub3Qgc2hpZnQuXG4ucWRuYXByby1wb3BvdmVyLnBvcC12YXJpYW50LWRpYWxvZy5wb3AtaGFzLWhlYWRlciAucG9wLXBhbmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDE2cHg7XG59XG4ucWRuYXByby1wb3BvdmVyLnBvcC12YXJpYW50LWRpYWxvZy5wb3AtaGFzLWhlYWRlciAucG9wLWJvZHkge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLWhlaWdodDogMDsgLy8gd2l0aG91dCB0aGlzIGEgZmxleCBjaGlsZCByZWZ1c2VzIHRvIHNocmluayBiZWxvdyBpdHMgY29udGVudFxuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi8vIE1lZGl1bSBzaXplIG9mIHRoZSBiaWcgZGlhbG9nOiBuYXJyb3dlciBjYXJkIChpbGx1c3RyYXRpb24gc2NhbGVzIHRvIDQwMCBpbiBKUykuXG4vLyBIaWdoZXIgc3BlY2lmaWNpdHkgdGhhbiB0aGUgYmFzZSAucG9wLXZhcmlhbnQtZGlhbG9nIC5wb3AtcGFuZWwgc28gaXQgd2lucyB0aGUgd2lkdGguXG4ucWRuYXByby1wb3BvdmVyLnBvcC12YXJpYW50LWRpYWxvZy5wb3Atc2l6ZS1tZWRpdW0gLnBvcC1wYW5lbCB7XG4gIHdpZHRoOiBtaW4oOTJ2dywgNTIwcHgpO1xufVxuXG4vLyAtLS0gdmFyaWFudD1cImRpYWxvZy1hcnJvd1wiOiBTTUFMTCBwb3BvdmVyLCBhbmNob3JlZCArIGFycm93ZWQgdG8gYSB0cmlnZ2VyIC0tLVxuLnFkbmFwcm8tcG9wb3Zlci5wb3AtdmFyaWFudC1kaWFsb2ctYXJyb3cge1xuICAvLyAzNDAgbWF0Y2hlcyB0aGUgZGVzaWduIGNhbnZhcyAocG9wb3Zlcl9zbWFsbC5zdmcgaXMgMzM5IHdpZGUpIGFuZCBnaXZlcyB0aGVcbiAgLy8gMjIwLXdpZGUgaWxsdXN0cmF0aW9uIGNvbWZvcnRhYmxlIG1hcmdpbnMuXG4gIHdpZHRoOiAzNDBweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUtNTAwKTtcbiAgLy8gVGhlIGJhc2UgcnVsZSdzIDZweCBwYWRkaW5nIHN1aXRzIGFuIGFjdGlvbi1saXN0IChidXR0b24tZ3JvdXBzIGNhcnJ5IHRoZWlyIG93blxuICAvLyBpbnNldHMpOyBhIGZ1bGwgaWxsdXN0cmF0ZWQgZGlhbG9nIG5lZWRzIHJlYWwgYnJlYXRoaW5nIHJvb20sIHNvIGdpdmUgdGhlIHNtYWxsXG4gIC8vIGRpYWxvZyBpdHMgb3duIHBhZGRpbmcgKG1hdGNoZXMgdGhlIGNvbXBhY3Qgc3BhY2luZyBpbiBLaW0ncyBzY3JlZW5zaG90KS5cbiAgcGFkZGluZzogMjBweCAyMHB4IDE4cHg7XG59XG4ucWRuYXByby1wb3BvdmVyLnBvcC12YXJpYW50LWRpYWxvZy1hcnJvdzo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYy1wdXJwbGUtNTAwKTtcbn1cbi5xZG5hcHJvLXBvcG92ZXIucG9wLXZhcmlhbnQtZGlhbG9nLWFycm93LnBvcC1hYm92ZTo6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tYy1wdXJwbGUtNTAwKTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vLyAucG9wLXBhbmVsIGlzIGEgcGxhaW4gdW5zdHlsZWQgd3JhcHBlciBoZXJlIOKAlCB0aGUgaG9zdCBpdHNlbGYgKGJhc2UgcnVsZSkgYWxyZWFkeVxuLy8gY2FycmllcyB0aGUgcGFkZGluZy9iYWNrZ3JvdW5kL3JhZGl1cy9zaGFkb3csIHNhbWUgYXMgd2hpdGUvcHVycGxlLiBUaGlzIGtlZXBzXG4vLyB0aGUgc21hbGwgcG9wb3ZlcidzIHNwYWNpbmcgaWRlbnRpY2FsIHRvIHRoZSBleGlzdGluZyAobm9uLWRpYWxvZykgdmFyaWFudHMuXG4vLyBGb290ZXI6IGJ1dHRvbnMgU1RBQ0tFRCAoY29sdW1uKSwgZnVsbC13aWR0aC5cbi5xZG5hcHJvLXBvcG92ZXIucG9wLXZhcmlhbnQtZGlhbG9nLWFycm93IC5wb3AtZGlhbG9nLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvYnJlYWRjcnVtYi9fYnJlYWRjcnVtYi1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG4ucWRuYXByby1icmVhZGNydW1iIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjNmU3MjgwO1xufVxuXG4ucWRuYXByby1icmVhZGNydW1iID4gKiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2ZTcyODA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnFkbmFwcm8tYnJlYWRjcnVtYiA+IGE6aG92ZXIge1xuICBjb2xvcjogIzQwNDk5YTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5xZG5hcHJvLWJyZWFkY3J1bWIgLmJyZWFkY3J1bWItY3VycmVudCB7XG4gIGNvbG9yOiAjNDA0OTlhO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ucWRuYXByby1icmVhZGNydW1iIC5icmVhZGNydW1iLXNlcCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgY29sb3I6ICM2ZTcyODA7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucWRuYXByby1icmVhZGNydW1iIC5icmVhZGNydW1iLXNlcCBzdmcge1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAyLjU7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnJlYWRjcnVtYixcbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJyZWFkY3J1bWIgPiAqIHtcbiAgY29sb3I6ICNhNmFhYjM7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJyZWFkY3J1bWIgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICNjMGM1ZmY7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJyZWFkY3J1bWIgLmJyZWFkY3J1bWItY3VycmVudCB7XG4gIGNvbG9yOiAjYzBjNWZmO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1icmVhZGNydW1iIC5icmVhZGNydW1iLXNlcCB7XG4gIGNvbG9yOiAjYTZhYWIzO1xufSIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL2J1dHRvbi9fYnV0dG9uLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi5xZG5hcHJvLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAtLWJ0bi1mb2N1cy1yaW5nOiAjNDA0OTlhO1xuICAtLWJ0bi1mb2N1cy1nbG93OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbiAgZm9udC1mYW1pbHk6IGludGVyLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLW91dCwgY29sb3IgMTIwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1idXR0b24gPiBxZG5hcHJvLW51bWJlci1pbmRpY2F0b3ItYmFkZ2VbZGF0YS1idXR0b24tYmFkZ2VdIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2l6ZS1iaWcge1xuICBtaW4taGVpZ2h0OiA1NnB4O1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXNpemUtYmlnLmJ1dHRvbi1pY29uLW9ubHkge1xuICB3aWR0aDogNTZweDtcbiAgbWluLXdpZHRoOiA1NnB4O1xuICBwYWRkaW5nOiAwO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zaXplLXNtYWxsIHtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXNpemUtc21hbGwuYnV0dG9uLWljb24tb25seSB7XG4gIHdpZHRoOiA0MHB4O1xuICBtaW4td2lkdGg6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXNpemUtY29tcGFjdCB7XG4gIG1pbi1oZWlnaHQ6IDI4cHg7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBnYXA6IDZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zaXplLWNvbXBhY3QuYnV0dG9uLWljb24tb25seSB7XG4gIHdpZHRoOiAyOHB4O1xuICBtaW4td2lkdGg6IDI4cHg7XG4gIHBhZGRpbmc6IDA7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXNpemUtbWljcm8ge1xuICBtaW4taGVpZ2h0OiAyNHB4O1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgZ2FwOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2l6ZS1taWNyby5idXR0b24taWNvbi1vbmx5IHtcbiAgd2lkdGg6IDI0cHg7XG4gIG1pbi13aWR0aDogMjRweDtcbiAgcGFkZGluZzogMDtcbn1cbi8vIFBXQS1vbmx5IHRvdWNoIHNpemVzIOKAlCBzZWUgZG9jYmxvY2sgaW4gcWRuYS1idXR0b24uanMuIE5vdCB1c2VkIGluIHRoZVxuLy8gYmFja29mZmljZS4gWzIwMjYtMDctMDFdXG4ucWRuYXByby1idXR0b24uYnV0dG9uLXNpemUtdG91Y2gge1xuICBtaW4taGVpZ2h0OiA0NHB4O1xuICBwYWRkaW5nOiAxMHB4IDE0cHg7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXNpemUtdG91Y2guYnV0dG9uLWljb24tb25seSB7XG4gIHdpZHRoOiA0NHB4O1xuICBtaW4td2lkdGg6IDQ0cHg7XG4gIHBhZGRpbmc6IDA7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXNpemUtdG91Y2gtbGcge1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICAvLyB2ZXJ0aWNhbCBwYWRkaW5nIGtlcHQgYmVsb3cgYmlnJ3MgKDEycHgpIOKAlCBhdCAxMnB4IHRoZSAyNHB4IGxpbmUtaGVpZ2h0ICtcbiAgLy8gMXB4IGJvcmRlciB0b3AvYm90dG9tIGFscmVhZHkgbmVlZHMgNTBweCwgc28gbWluLWhlaWdodDo0OCB3b3VsZCBuZXZlclxuICAvLyBhY3R1YWxseSBhcHBseS4gMTBweCBrZWVwcyB0aGUgY29udGVudC1kcml2ZW4gaGVpZ2h0IHVuZGVyIDQ4LiBbMjAyNi0wNy0wMV1cbiAgcGFkZGluZzogMTBweCAxNnB4O1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zaXplLXRvdWNoLWxnLmJ1dHRvbi1pY29uLW9ubHkge1xuICB3aWR0aDogNDhweDtcbiAgbWluLXdpZHRoOiA0OHB4O1xuICBwYWRkaW5nOiAwO1xufVxuLnFkbmFwcm8tYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5xZG5hcHJvLWJ1dHRvbjpmb2N1cy12aXNpYmxlLCAucWRuYXByby1idXR0b24uZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYnRuLWZvY3VzLXJpbmcpO1xuICBvdXRsaW5lLW9mZnNldDogdmFyKC0tYnRuLWZvY3VzLW9mZnNldCwgLTJweCk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCB2YXIoLS1idG4tZm9jdXMtZ2xvdyk7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLWRpc2FibGVkOmZvY3VzLXZpc2libGUsIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tZGlzYWJsZWQuZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1wcmltYXJ5LXB1cnBsZSB7XG4gIGJhY2tncm91bmQ6ICM0MDQ5OWE7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICAtLWJ0bi1mb2N1cy1yaW5nOiAjMjUyYjVlO1xuICAtLWJ0bi1mb2N1cy1nbG93OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjQwKTtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tcHJpbWFyeS1wdXJwbGU6Zm9jdXMtdmlzaWJsZSwgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1wcmltYXJ5LXB1cnBsZS5mb3JjZS1mb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1idG4tZm9jdXMtcmluZyksIDAgMCAwIDZweCB2YXIoLS1idG4tZm9jdXMtZ2xvdyk7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXByaW1hcnktcHVycGxlOmhvdmVyOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICMzMzNhN2I7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXByaW1hcnktcHVycGxlOmFjdGl2ZTpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjMjUyYjVlO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1wcmltYXJ5LW9yYW5nZSB7XG4gIGJhY2tncm91bmQ6ICNlZjhlMDI7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICAtLWJ0bi1mb2N1cy1yaW5nOiAjOTQ1ODAwO1xuICAtLWJ0bi1mb2N1cy1nbG93OiByZ2JhKDIzOSwgMTQyLCAyLCAwLjQ1KTtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tcHJpbWFyeS1vcmFuZ2U6Zm9jdXMtdmlzaWJsZSwgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1wcmltYXJ5LW9yYW5nZS5mb3JjZS1mb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1idG4tZm9jdXMtcmluZyksIDAgMCAwIDZweCB2YXIoLS1idG4tZm9jdXMtZ2xvdyk7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXByaW1hcnktb3JhbmdlOmhvdmVyOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNiZjcyMDI7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXByaW1hcnktb3JhbmdlOmFjdGl2ZTpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjOTQ1ODAwO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zdWJ0bGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwYjBiMGQ7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXN1YnRsZTpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjZjBmMWYyO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zdWJ0bGU6YWN0aXZlOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNlNGU2ZTg7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXN1YnRsZS1wdXJwbGUtYmcge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM0MDQ5OWE7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXN1YnRsZS1wdXJwbGUtYmc6aG92ZXI6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2RhZGRmMjtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc3VidGxlLXB1cnBsZS1iZzphY3RpdmU6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2M3Y2NlODtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogI2YwZjFmMjtcbiAgY29sb3I6ICMwYjBiMGQ7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXNlY29uZGFyeTpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjYzRjN2NjO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNhN2FiYjI7XG59XG4vLyBQZXJzaXN0ZW50IHByZXNzZWQvc2VsZWN0ZWQgc3RhdGUgKHRoZSBgYWN0aXZlYCBhdHRyaWJ1dGUpIOKAlCBmb3IgYVxuLy8gc2VnbWVudGVkIHRvZ2dsZSBvdmVyIGBzZWNvbmRhcnlgLCBlLmcuIHRoZSBMYWJlbC10YWIgYWxpZ24gYnV0dG9ucy5cbi8vIFJldXNlcyB0aGUgc2Vjb25kYXJ5LXB1cnBsZSB0b2tlbnMgc28gdGhlIFwic2VsZWN0ZWRcIiBsb29rIHN0YXlzIG9uLWJyYW5kXG4vLyBpbnN0ZWFkIG9mIGludmVudGluZyBhIG5ldyBjb2xvdXIuIFsyMDI2LTA3LTE2XVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnkuYnV0dG9uLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNlNmU5ZmY7XG4gIGNvbG9yOiAjNDA0OTlhO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnkuYnV0dG9uLWFjdGl2ZTpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjZGFkZGYyO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnkuYnV0dG9uLWFjdGl2ZTphY3RpdmU6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2M3Y2NlODtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5LW91dGxpbmUge1xuICBiYWNrZ3JvdW5kOiAjZTZlOWZmO1xuICBjb2xvcjogIzQwNDk5YTtcbiAgYm9yZGVyLWNvbG9yOiAjNDA0OTlhO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktb3V0bGluZTpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjZGFkZGYyO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktb3V0bGluZTphY3RpdmU6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2M3Y2NlODtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5LXB1cnBsZSB7XG4gIGJhY2tncm91bmQ6ICNlNmU5ZmY7XG4gIGNvbG9yOiAjNDA0OTlhO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktcHVycGxlOmhvdmVyOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNkYWRkZjI7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXNlY29uZGFyeS1wdXJwbGU6YWN0aXZlOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNjN2NjZTg7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXNlY29uZGFyeS13aGl0ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNDA0OTlhO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktd2hpdGU6aG92ZXI6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2RhZGRmMjtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5LXdoaXRlOmFjdGl2ZTpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjYzdjY2U4O1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi13YXJuaW5nLXJlZCB7XG4gIGJhY2tncm91bmQ6ICNmMGYxZjI7XG4gIGNvbG9yOiAjYzY1YTVhO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi13YXJuaW5nLXJlZDpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjYzRjN2NjO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi13YXJuaW5nLXJlZDphY3RpdmU6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2E3YWJiMjtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24td2FybmluZy1yZWQtd2hpdGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogI2M2NWE1YTtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24td2FybmluZy1yZWQtd2hpdGU6aG92ZXI6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2ZiZWFlYTtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24td2FybmluZy1yZWQtd2hpdGU6YWN0aXZlOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNmNWQ5ZDk7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXdhcm5pbmctcmVkLXRpbnQge1xuICBiYWNrZ3JvdW5kOiAjZmRlOGU4O1xuICBjb2xvcjogI2M5NDA0MDtcbiAgYm9yZGVyLWNvbG9yOiAjZThiMGIwO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi13YXJuaW5nLXJlZC10aW50OmhvdmVyOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNmZmNjY2M7XG4gIGJvcmRlci1jb2xvcjogI2M5NDA0MDtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24td2FybmluZy1yZWQtdGludDphY3RpdmU6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2Y3YjhiODtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24td2FybmluZy15ZWxsb3ctdGludCB7XG4gIGJhY2tncm91bmQ6ICNmZmYzY2Q7XG4gIGNvbG9yOiAjOWE2YTEwO1xuICBib3JkZXItY29sb3I6ICNmMGQwNjA7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXdhcm5pbmcteWVsbG93LXRpbnQ6aG92ZXI6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2ZkZThhMDtcbiAgYm9yZGVyLWNvbG9yOiAjZDBhODIwO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi13YXJuaW5nLXllbGxvdy10aW50OmFjdGl2ZTpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjZmJkZjg1O1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi13YXJuaW5nLXJlZC1zdWJ0bGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwYjBiMGQ7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXdhcm5pbmctcmVkLXN1YnRsZTpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjZmZjY2NjO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi13YXJuaW5nLXJlZC1zdWJ0bGU6YWN0aXZlOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNmN2I4Yjg7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXdhcm5pbmcteWVsbG93LXN1YnRsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzBiMGIwZDtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24td2FybmluZy15ZWxsb3ctc3VidGxlOmhvdmVyOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNmZGU4YTA7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXdhcm5pbmcteWVsbG93LXN1YnRsZTphY3RpdmU6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2ZiZGY4NTtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tZ2xhc3Mge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzApO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1nbGFzczpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzApO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40MCk7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLWdsYXNzOmFjdGl2ZTpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzgpO1xufVxuLyogb24tcHVycGxlIC8gb24tcHVycGxlLXNvbGlkIOKAlCBmb3IgYSBwdXJwbGUvZGFyayBzdXJmYWNlIChlLmcuIHFkbmFwcm8tYm90dG9tLXNoZWV0J3NcbiAgIGNvbmZpcm0gdmFyaWFudCksIHdoZXJlIHRoZSBwbGFpbiBidXR0b24tc3VidGxlJ3MgaGFyZGNvZGVkIGRhcmsgdGV4dCB3b3VsZCBiZVxuICAgaW52aXNpYmxlIGFuZCBwcmltYXJ5LXB1cnBsZSBpdHNlbGYgd291bGQgYmxlbmQgaW50byBhIHB1cnBsZSBiYWNrZ3JvdW5kLlxuICAgW0tpbSAxNC4wNy4yMDI2XSAqL1xuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1vbi1wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLW9uLXB1cnBsZTpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1vbi1wdXJwbGU6YWN0aXZlOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLW9uLXB1cnBsZS1zb2xpZCB7XG4gIGJhY2tncm91bmQ6ICMyYTMyNjg7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1vbi1wdXJwbGUtc29saWQ6aG92ZXI6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogIzMzM2E3Yjtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tb24tcHVycGxlLXNvbGlkOmFjdGl2ZTpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjMmEzMjY4O1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6ICNmMGYxZjIgIWltcG9ydGFudDtcbiAgY29sb3I6ICM4OThlOTkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc3VidGxlLmJ1dHRvbi1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4ucWRuYXByby1idXR0b24uYnV0dG9uLXN1YnRsZS1wdXJwbGUtYmcuYnV0dG9uLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM4YzkyYzIgIWltcG9ydGFudDtcbn1cblxuW2RhdGEtYmctY29udGV4dD1wdXJwbGVdIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiAjZGFkZGYyICFpbXBvcnRhbnQ7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tcHJpbWFyeS1wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiAjMzg0MmMyO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tcHJpbWFyeS1wdXJwbGU6aG92ZXI6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogIzJhMzE5Mjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tcHJpbWFyeS1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kOiAjZWY4ZTAyO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tcHJpbWFyeS1vcmFuZ2U6aG92ZXI6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogI2YyYTUzNTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc3VidGxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZTFlM2U2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zdWJ0bGU6aG92ZXI6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogIzU2NWI2Njtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc3VidGxlLXB1cnBsZS1iZyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2YwZjFmMjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc3VidGxlLXB1cnBsZS1iZzpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjNTY1YjY2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjMmUzMDM2O1xuICBjb2xvcjogI2UxZTNlNjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5OmhvdmVyOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICM0MDQ0NGQ7XG59XG4vLyBTYW1lIHRpbnQgcGFpciBhcyBzZWNvbmRhcnktcHVycGxlIGJlbG93IOKAlCB0aGUgYWN0aXZlIHN0YXRlIHJldXNlcyB0aG9zZVxuLy8gdG9rZW5zIChzZWUgdGhlIGxpZ2h0IHJ1bGVzKSwgc28ga2VlcCB0aGUgdHdvIGluIHN5bmMuIFsyMS4wNy4yMDI2XVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnkuYnV0dG9uLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMzYTM1NTU7XG4gIGNvbG9yOiAjYTVhY2ZmO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnkuYnV0dG9uLWFjdGl2ZTpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjNGM0NzY3O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktb3V0bGluZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2YwZjFmMjtcbiAgYm9yZGVyLWNvbG9yOiAjNTY1YjY2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktb3V0bGluZTpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjNDA0NDRkO1xuICBib3JkZXItY29sb3I6ICM2NjZkYWU7XG59XG4vLyBLZWVwcyBpdHMgcHVycGxlIGlkZW50aXR5IG9uIGRhcmsg4oCUIHNhbWUgdGludCBwYWlyIGFzIHRoZSBwdXJwbGUgdGlsZVxuLy8gdGludHMgaW4gZ3JpZC10aWxlL2xpc3Qtcm93ICgjM2EzNTU1IGJnIC8gI2E1YWNmZiBmZykuIFsyMS4wNy4yMDI2XVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnktcHVycGxlIHtcbiAgYmFja2dyb3VuZDogIzNhMzU1NTtcbiAgY29sb3I6ICNhNWFjZmY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1idXR0b24uYnV0dG9uLXNlY29uZGFyeS1wdXJwbGU6aG92ZXI6bm90KC5idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogIzRjNDc2Nztcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc2Vjb25kYXJ5LXdoaXRlIHtcbiAgYmFja2dyb3VuZDogIzJlMzAzNjtcbiAgY29sb3I6ICNlMWUzZTY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1idXR0b24uYnV0dG9uLXNlY29uZGFyeS13aGl0ZTpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjNDA0NDRkO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi13YXJuaW5nLXJlZC13aGl0ZSB7XG4gIGJhY2tncm91bmQ6ICMyZTMwMzY7XG4gIGNvbG9yOiAjZWM4NTg1O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi13YXJuaW5nLXJlZC13aGl0ZTpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjNDA0NDRkO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6ICM0MDQ0NGQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2YjcyODAgIWltcG9ydGFudDtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc3VidGxlLmJ1dHRvbi1kaXNhYmxlZCwgW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zdWJ0bGUtcHVycGxlLWJnLmJ1dHRvbi1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNmI3MjgwICFpbXBvcnRhbnQ7XG59XG4vLyBQV0Etb25seTogcGlsbCBzaGFwZSBtb2RpZmllci5cbi8vIFVzZWQgZm9yIG5hdmlnYXRpb24gYWN0aW9ucyBpbiB0aGUgZmllbGQtd29ya2VyIGFwcCAoZS5nLiBcIlZvbGdlbmRlIC8gTmV4dFwiKS5cbi8vIE5vdCB1c2VkIGFueXdoZXJlIGluIHRoZSBiYWNrb2ZmaWNlLlxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbn1cbi5xZG5hcHJvLWJ1dHRvbi5idXR0b24tcGlsbC5idXR0b24taWNvbi1vbmx5IHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1waWxsLmJ1dHRvbi1zaXplLXNtYWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1waWxsLmJ1dHRvbi1zaXplLXRvdWNoIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1idXR0b246Zm9jdXMtdmlzaWJsZSwgW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYnV0dG9uLmZvcmNlLWZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogI2E1YWNmZjtcbiAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoNzAsIDgyLCAyNDMsIDAuNCk7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlLiBDb21waWxlZCBpbnRvIHN0eWxlLXYxLmNzcyB2aWFcbi8vIGBndWxwIHNhc3MtdjFgIChiYWNrb2ZmaWNlMi9zY3NzL2NvbXBvbmVudHMvY29tcG9uZW50cy5zY3NzIEB1c2UncyB0aGlzXG4vLyBmaWxlKS4gRWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrIOKAlCBuZXZlciBoYW5kLWVkaXQgdGhlIGNvbXBpbGVkXG4vLyBDU1MuIEZMQVQgc2VsZWN0b3JzIG9uIHB1cnBvc2UgKG5vIFNDU1MgbmVzdGluZyksIG1hdGNoaW5nIHRoZSBzaWJsaW5nXG4vLyB2MiBjb21wb25lbnQgZmlsZXMgKF9waWNrZXItcm93LnNjc3MsIF90YXNrbGlzdC1jYXJkLnNjc3MpLlxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIHFkbmFwcm8tY2FsZW5kYXItc2VydmljZS1idXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEZ1bGwtd2lkdGggdGlsZS1zdHlsZSByb3cgYnV0dG9uIGZvciB0aGUgXCJLaWVzIGplIGFnZW5kYVwiIGNhbGVuZGFyXG4vLyAgc3Vic2NyaXB0aW9uIHBpY2tlciAoTWlqbiBwbGFubmluZyA+IEFnZW5kYSBrb3BwZWxlbiBtb2RhbCkuIEhvdXNlXG4vLyAgc3R5bGUgKyBuZXV0cmFsIGljb24gb25seSDigJQgbm8gb2ZmaWNpYWwgR29vZ2xlL091dGxvb2svQXBwbGUgbG9nb3Ncbi8vICAoS2ltLCAyMC4wNy4yMDI2KS4gVGhlIG9ubHkgcGVyLXNlcnZpY2UgZGlmZmVyZW5jZSBpcyB0aGUgaWNvbi10aWxlJ3Ncbi8vICBhY2NlbnQgY29sb3VyOyB0aGUgZ2x5cGggaXRzZWxmIChjYWxlbmRhci1wbHVzLW91dGxpbmUpIGlzIGlkZW50aWNhbFxuLy8gIGZvciBhbGwgdGhyZWUsIHNvIG5vdGhpbmcgaGVyZSByZWFkcyBhcyBhIGJyYW5kIG1hcmsuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxucWRuYXByby1jYWxlbmRhci1zZXJ2aWNlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxucWRuYXByby1jYWxlbmRhci1zZXJ2aWNlLWJ1dHRvbiAqLFxucWRuYXByby1jYWxlbmRhci1zZXJ2aWNlLWJ1dHRvbiAqOjpiZWZvcmUsXG5xZG5hcHJvLWNhbGVuZGFyLXNlcnZpY2UtYnV0dG9uICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyAtLS0tIFRoZSByZWFsIDxidXR0b24+IOKAlCBuYXRpdmUgY2xpY2sva2V5Ym9hcmQgc2VtYW50aWNzIC0tLS1cblxuLnFkbmFwcm8tY2FsZW5kYXItc2VydmljZS1idXR0b24gLmNzYi1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1ncmV5LTEwMCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQsICNmZmZmZmYpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcyBlYXNlLCBib3JkZXItY29sb3IgMTUwbXMgZWFzZTtcbn1cblxuLnFkbmFwcm8tY2FsZW5kYXItc2VydmljZS1idXR0b24gLmNzYi1pY29uLXRpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0xKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jc2ItdGludCwgdmFyKC0tYy1ncmV5LTUwKSk7XG4gICAgY29sb3I6IHZhcigtLWNzYi1hY2NlbnQsIHZhcigtLWMtZ3JleS02MDApKTtcbn1cblxuLnFkbmFwcm8tY2FsZW5kYXItc2VydmljZS1idXR0b24gLmNzYi1pY29uLXRpbGUgcWRuYXByby1pY29uIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5xZG5hcHJvLWNhbGVuZGFyLXNlcnZpY2UtYnV0dG9uIC5jc2ItbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTMuNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHZhcigtLWMtZ3JleS05NTAsICMwYjBiMGQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLy8gLS0tLSBIb3ZlciAvIHByZXNzZWQgKGhvdXNlIGdyZXkvcHVycGxlIHRpbnQsIHBlciBxZG5hLXByby1jb252ZW50aW9ucykgLS0tLVxuXG4ucWRuYXByby1jYWxlbmRhci1zZXJ2aWNlLWJ1dHRvbiAuY3NiLWlubmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLXN1YnRsZS1ob3ZlciwgI2YwZjFmMik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLWdyZXktMjAwLCAjZDFkNWRiKTtcbn1cblxuLnFkbmFwcm8tY2FsZW5kYXItc2VydmljZS1idXR0b24gLmNzYi1pbm5lcjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYWN0aW9uLTA4LCByZ2JhKDcwLCA4MiwgMjQzLCAwLjA4KSk7XG59XG5cbi8vIC0tLS0gRm9jdXMtdmlzaWJsZSAocHVycGxlIHJpbmcsIGhvdXNlIHN0YW5kYXJkKSAtLS0tXG5cbi5xZG5hcHJvLWNhbGVuZGFyLXNlcnZpY2UtYnV0dG9uIC5jc2ItaW5uZXI6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSksIDAgMCAwIDRweCB2YXIoLS1jLWFjdGlvbi0yNSwgcmdiYSg3MCwgODIsIDI0MywgMC4yNSkpO1xufVxuXG4vLyAtLS0tIFBlci1zZXJ2aWNlIGFjY2VudCAocGxhaW4gY29sb3VyIGFjY2VudCDigJQgbm90IGEgbG9nbykgLS0tLVxuXG4ucWRuYXByby1jYWxlbmRhci1zZXJ2aWNlLWJ1dHRvbi0tZ29vZ2xlIC5jc2ItaWNvbi10aWxlIHtcbiAgICAtLWNzYi1hY2NlbnQ6ICM0Mjg1ZjQ7XG4gICAgLS1jc2ItdGludDogcmdiYSg2NiwgMTMzLCAyNDQsIDAuMTIpO1xufVxuXG4ucWRuYXByby1jYWxlbmRhci1zZXJ2aWNlLWJ1dHRvbi0tb3V0bG9vayAuY3NiLWljb24tdGlsZSB7XG4gICAgLS1jc2ItYWNjZW50OiAjMDA3MmM2O1xuICAgIC0tY3NiLXRpbnQ6IHJnYmEoMCwgMTE0LCAxOTgsIDAuMTIpO1xufVxuXG4ucWRuYXByby1jYWxlbmRhci1zZXJ2aWNlLWJ1dHRvbi0tYXBwbGUgLmNzYi1pY29uLXRpbGUge1xuICAgIC0tY3NiLWFjY2VudDogIzFjMWIyOTtcbiAgICAtLWNzYi10aW50OiByZ2JhKDI4LCAyNywgNDEsIDAuMDgpO1xufVxuXG4vLyAtLS0tIERhcmsgbW9kZSAtLS0tXG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1jYWxlbmRhci1zZXJ2aWNlLWJ1dHRvbiAuY3NiLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktODAwLCAjMmUzMDM2KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWMtZ3JleS03MDAsICM0MDQ0NGQpO1xufVxuXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tY2FsZW5kYXItc2VydmljZS1idXR0b24gLmNzYi1sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpO1xufVxuXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tY2FsZW5kYXItc2VydmljZS1idXR0b24gLmNzYi1pbm5lcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTcwMCwgIzQwNDQ0ZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLWdyZXktNjAwLCAjNTY1YjY2KTtcbn1cbiIsIi8vIHFkbmFwcm8tY2VsZWJyYXRpb24g4oCUIGNhbnZhcyBvdmVybGF5IGZvciBjZWxlYnJhdGlvbiBlZmZlY3RzIChjb25mZXR0aSwgYmFsbG9vbnMsIGV0YykuXG4vLyBGTEFUIENTUy4gVGhlIGhvc3QgaXMgYW4gb3ZlcmxheTogaXQgZmlsbHMgaXRzIHBvc2l0aW9uZWQgcGFyZW50IGFuZCBuZXZlciBibG9ja3Ncbi8vIGNsaWNrcy4gRWRpdCBIRVJFLCB0aGVuIGBndWxwIHNhc3MtdjFgLlxuLnFkbmFwcm8tY2VsZWJyYXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucWRuYXByby1jZWxlYnJhdGlvbiAucWRuYXByby1jZWxlYnJhdGlvbi1jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi8vIHFkbmFwcm8tcGFydHktc2NlbmUg4oCUIGJ1aWxkLXlvdXItcGFydHk6IGxheWVyZWQgZmlndXJlIFNWR3MgcmV2ZWFsZWQgcGVyIGNsaWNrLFxuLy8gd2l0aCBhbiBlc2NhbGF0aW5nIGZpbGwvZHJhaW4gYnV0dG9uIGFuZCBhIGNlbGVicmF0aW9uIGJ1cnN0IGZyb20gYmVoaW5kLlxuLy8gRkxBVCBDU1MuIEVkaXQgSEVSRSwgdGhlbiBgZ3VscCBzYXNzLXYxYC5cbi5xZG5hcHJvLXBhcnR5LXNjZW5lIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLnFkbmFwcm8tcGFydHktc2NlbmUgLnBzLXNjZW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMjJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDcwJSA4MCUgYXQgNTAlIDYyJSwgIzRiNTRhZCAwJSwgIzNjNDM5MiA1NSUsICMzMzNhN2IgMTAwJSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xufVxuLnFkbmFwcm8tcGFydHktc2NlbmUgLnBzLWxheWVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbn1cbi5xZG5hcHJvLXBhcnR5LXNjZW5lIC5wcy1ndWVzdCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyLjIlKSBzY2FsZSgwLjk3NSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA5MCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB0cmFuc2Zvcm0gMC41NXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xufVxuLnFkbmFwcm8tcGFydHktc2NlbmUgLnBzLWd1ZXN0LmlzLWhlcmUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IG5vbmU7IH1cblxuLnFkbmFwcm8tcGFydHktc2NlbmUgLnBzLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiAxNHB4O1xufVxuLnFkbmFwcm8tcGFydHktc2NlbmUgLnBzLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBwYWRkaW5nOiAxNnB4IDMycHg7XG4gIG1pbi13aWR0aDogMjQwcHg7XG4gIGJhY2tncm91bmQ6ICMxZDIwNDQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBib3gtc2hhZG93OiAwIDEwcHggMjZweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuNSksIGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7XG59XG4ucWRuYXByby1wYXJ0eS1zY2VuZSAucHMtYnRuOmFjdGl2ZSB7IHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7IH1cbi5xZG5hcHJvLXBhcnR5LXNjZW5lIC5wcy1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDtcbiAgd2lkdGg6IDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM0MDQ5OUEgMCUsICM1NTYwYzggNTUlLCAjZmY5ZDRkIDEwMCUpO1xuICB6LWluZGV4OiAwO1xufVxuLnFkbmFwcm8tcGFydHktc2NlbmUgLnBzLWxibCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4ucWRuYXByby1wYXJ0eS1zY2VuZSAucHMtcmVzZXQge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBwYWRkaW5nOiAxNHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2VlZjBmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjE2cztcbn1cbi5xZG5hcHJvLXBhcnR5LXNjZW5lIC5wcy1yZXNldC5pcy1zaG93biB7IG9wYWNpdHk6IDE7IHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4ucWRuYXByby1wYXJ0eS1zY2VuZSAucHMtcmVzZXQ6aG92ZXIgeyBib3JkZXItY29sb3I6ICNlYjU3NTc7IGNvbG9yOiAjZmY5YzljOyB9XG4ucWRuYXByby1wYXJ0eS1zY2VuZSAucHMtY291bnQgeyB3aWR0aDogMTAwJTsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiAjOWFhMGNmOyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyB9XG4ucWRuYXByby1wYXJ0eS1zY2VuZSAucHMtY291bnQgYiB7IGNvbG9yOiAjZWVmMGZmOyBmb250LXdlaWdodDogNzAwOyB9XG4iLCIvLyBxZG5hcHJvLXNjb3JlLWNvdW50IOKAlCBhbmltYXRlZCBjb3VudC11cCBzY29yZSBmb3IgdGhlIGVpbmRzY2hlcm0uXG4vLyBGTEFUIENTUy4gRWRpdCBIRVJFLCB0aGVuIGBndWxwIHNhc3MtdjFgLlxuLnFkbmFwcm8tc2NvcmUtY291bnQgeyBkaXNwbGF5OiBibG9jazsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5xZG5hcHJvLXNjb3JlLWNvdW50IC5zYy1udW0ge1xuICBmb250LXNpemU6IDU2cHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5xZG5hcHJvLXNjb3JlLWNvdW50IC5zYy1udW0uaXMtcG9wIHsgYW5pbWF0aW9uOiBxZG5hcHJvLXNjb3JlLXBvcCAwLjQycyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSk7IH1cbi5xZG5hcHJvLXNjb3JlLWNvdW50IC5zYy1sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43Mik7XG59XG5cbkBrZXlmcmFtZXMgcWRuYXByby1zY29yZS1wb3Age1xuICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNDUlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjE2KTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1zY29yZS1jb3VudCAuc2MtbnVtLmlzLXBvcCB7IGFuaW1hdGlvbjogbm9uZTsgfVxufVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvY2hlY2tib3gvX2NoZWNrYm94LWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi5xZG5hcHJvLWNoZWNrYm94IHtcbiAgLS1jYi1zaXplOiAxNnB4O1xuICAtLWNiLWJvcmRlcjogI2M0YzdjYztcbiAgLS1jYi1iZzogI2ZmZmZmZjtcbiAgLS1jYi1iZy1ob3ZlcjogI2YwZjFmMjtcbiAgLS1jYi1maWxsZWQtYmc6ICM0NjUyZjM7XG4gIC0tY2ItZmlsbGVkLWJvcmRlcjogIzQ2NTJmMztcbiAgLS1jYi1tYXJrOiAjZmZmZmZmO1xuICAtLWNiLWZvY3VzLXJpbmc6ICM0MDQ5OWE7XG4gIC0tY2ItZm9jdXMtZ2xvdzogcmdiYSg3MCwgODIsIDI0MywgMC4yNSk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IHZhcigtLWNiLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLWNiLXNpemUpO1xuICBmbGV4LXNocmluazogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jYi1iZyk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLW91dDtcbn1cbi5xZG5hcHJvLWNoZWNrYm94IC5jaGVja2JveC1tYXJrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGNvbG9yOiB2YXIoLS1jYi1tYXJrKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMjBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS4zNSwgMC42NCwgMSksIG9wYWNpdHkgMTQwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1jaGVja2JveCAuY2hlY2tib3gtbWFyayBzdmcge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucWRuYXByby1jaGVja2JveCAuY2hlY2tib3gtbWFyay1kYXNoIHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNiLW1hcmspO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG59XG4ucWRuYXByby1jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5xZG5hcHJvLWNoZWNrYm94LmNoZWNrYm94LWNoZWNrZWQgLmNoZWNrYm94LW1hcmstY2hlY2sge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuLnFkbmFwcm8tY2hlY2tib3guY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAuY2hlY2tib3gtbWFyay1kYXNoIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1cbi5xZG5hcHJvLWNoZWNrYm94LmNoZWNrYm94LXNoYXBlLXNxdWFyZSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5xZG5hcHJvLWNoZWNrYm94LmNoZWNrYm94LXNoYXBlLXJvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vLyBzaXplPVwidG91Y2hcIiDigJQgNDRweCwgUFdBLU9OTFkgbWluaW11bSB0YXAgdGFyZ2V0IChtYXRjaGVzIHFkbmFwcm8taWNvbi1idG4ncyBvd25cbi8vIHNpemU9XCJ0b3VjaFwiKS4gTm90IHVzZWQgaW4gdGhlIGJhY2tvZmZpY2UuIE1hcmsvZGFzaC9ib3JkZXIgc2NhbGUgdXAgd2l0aCB0aGUgYm94XG4vLyBzbyB0aGUgc2FtZSBwcm9wb3J0aW9ucyBob2xkIGF0IGJvdGggc2l6ZXMuIFsyMDI2LTA3LTAxXVxuLnFkbmFwcm8tY2hlY2tib3guY2hlY2tib3gtc2l6ZS10b3VjaCB7XG4gIC0tY2Itc2l6ZTogNDRweDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG4ucWRuYXByby1jaGVja2JveC5jaGVja2JveC1zaXplLXRvdWNoLmNoZWNrYm94LXNoYXBlLXNxdWFyZSB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cbi5xZG5hcHJvLWNoZWNrYm94LmNoZWNrYm94LXNpemUtdG91Y2ggLmNoZWNrYm94LW1hcmsge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xufVxuLnFkbmFwcm8tY2hlY2tib3guY2hlY2tib3gtc2l6ZS10b3VjaCAuY2hlY2tib3gtbWFyay1kYXNoIHtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogNXB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi8vIHNpemU9XCJ0b3VjaC1zbVwiIOKAlCAyOHB4LCBQV0EtT05MWS4gRm9yIGEgY2hlY2tib3ggaW5zaWRlIGEgZGVuc2UgbGlzdCByb3cgKGUuZy4gdGhlXG4vLyBcIlNlbGVjdGVkIHVuaXRzXCIgb3ZlcmxheSdzIH41MHB4IHJvd3MpLCB3aGVyZSB0aGUgZnVsbCA0NHB4IFwidG91Y2hcIiBib3ggdG9vayB1cCA4NyVcbi8vIG9mIHRoZSByb3cgaGVpZ2h0IGFuZCBkb21pbmF0ZWQgZXZlcnl0aGluZyBlbHNlIGluIGl0LiBTdGlsbCBjbGVhcmx5IGJpZ2dlci9lYXNpZXJcbi8vIHRvIGhpdCB0aGFuIHRoZSAxNnB4IGRlZmF1bHQuIE5vdCB1c2VkIGluIHRoZSBiYWNrb2ZmaWNlLiBbS2ltLCAyMDI2LTA3LTAxXVxuLnFkbmFwcm8tY2hlY2tib3guY2hlY2tib3gtc2l6ZS10b3VjaC1zbSB7XG4gIC0tY2Itc2l6ZTogMjhweDtcbn1cbi5xZG5hcHJvLWNoZWNrYm94LmNoZWNrYm94LXNpemUtdG91Y2gtc20uY2hlY2tib3gtc2hhcGUtc3F1YXJlIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuLnFkbmFwcm8tY2hlY2tib3guY2hlY2tib3gtc2l6ZS10b3VjaC1zbSAuY2hlY2tib3gtbWFyayB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG4ucWRuYXByby1jaGVja2JveC5jaGVja2JveC1zaXplLXRvdWNoLXNtIC5jaGVja2JveC1tYXJrLWRhc2gge1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEuNXB4O1xufVxuLnFkbmFwcm8tY2hlY2tib3guY2hlY2tib3gtY2hlY2tlZCwgLnFkbmFwcm8tY2hlY2tib3guY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNiLWZpbGxlZC1iZyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY2ItZmlsbGVkLWJvcmRlcik7XG59XG4ucWRuYXByby1jaGVja2JveDpob3Zlcjpub3QoLmNoZWNrYm94LWRpc2FibGVkKTpub3QoLmNoZWNrYm94LWNoZWNrZWQpOm5vdCguY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jYi1iZy1ob3Zlcik7XG59XG4ucWRuYXByby1jaGVja2JveDphY3RpdmU6bm90KC5jaGVja2JveC1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjE1KSwgcmdiYSgwLCAwLCAwLCAwLjE1KSk7XG59XG4ucWRuYXByby1jaGVja2JveDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ucWRuYXByby1jaGVja2JveDpmb2N1cy12aXNpYmxlLCAucWRuYXByby1jaGVja2JveC5mb3JjZS1mb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1jYi1mb2N1cy1yaW5nKSwgMCAwIDAgNnB4IHZhcigtLWNiLWZvY3VzLWdsb3cpO1xufVxuLnFkbmFwcm8tY2hlY2tib3guZm9yY2UtaG92ZXI6bm90KC5jaGVja2JveC1kaXNhYmxlZCk6bm90KC5jaGVja2JveC1jaGVja2VkKTpub3QoLmNoZWNrYm94LWluZGV0ZXJtaW5hdGUpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2ItYmctaG92ZXIpO1xufVxuLnFkbmFwcm8tY2hlY2tib3guZm9yY2UtcHJlc3NlZDpub3QoLmNoZWNrYm94LWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDAuMTUpLCByZ2JhKDAsIDAsIDAsIDAuMTUpKTtcbn1cbi5xZG5hcHJvLWNoZWNrYm94LmNoZWNrYm94LXN0YXRlLWVycm9yIHtcbiAgLS1jYi1ib3JkZXI6ICNjNjVhNWE7XG4gIC0tY2ItZmlsbGVkLWJnOiAjZjg3MTcxO1xuICAtLWNiLWZpbGxlZC1ib3JkZXI6ICNjNjVhNWE7XG4gIC0tY2ItZm9jdXMtcmluZzogI2M2NWE1YTtcbiAgLS1jYi1mb2N1cy1nbG93OiByZ2JhKDE5OCwgOTAsIDkwLCAwLjI1KTtcbn1cbi5xZG5hcHJvLWNoZWNrYm94LmNoZWNrYm94LXN0YXRlLXN1Y2Nlc3Mge1xuICAtLWNiLWJvcmRlcjogIzQyOGI2ZTtcbiAgLS1jYi1maWxsZWQtYmc6ICM2ZWU3Yjc7XG4gIC0tY2ItZmlsbGVkLWJvcmRlcjogIzQyOGI2ZTtcbiAgLS1jYi1mb2N1cy1yaW5nOiAjNDI4YjZlO1xuICAtLWNiLWZvY3VzLWdsb3c6IHJnYmEoNjYsIDEzOSwgMTEwLCAwLjI1KTtcbn1cbi5xZG5hcHJvLWNoZWNrYm94LmNoZWNrYm94LWRpc2FibGVkIHtcbiAgLS1jYi1ib3JkZXI6ICNjNGM3Y2M7XG4gIC0tY2ItYmc6ICNmMGYxZjI7XG4gIC0tY2ItZmlsbGVkLWJnOiAjZjBmMWYyO1xuICAtLWNiLWZpbGxlZC1ib3JkZXI6ICNjNGM3Y2M7XG4gIC0tY2ItbWFyazogIzg5OGU5OTtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tY2hlY2tib3gge1xuICAtLWNiLWJvcmRlcjogIzU2NWI2NjtcbiAgLS1jYi1iZzogIzJlMzAzNjtcbiAgLS1jYi1iZy1ob3ZlcjogIzQwNDQ0ZDtcbiAgLS1jYi1maWxsZWQtYmc6ICM0NjUyZjM7XG4gIC0tY2ItZmlsbGVkLWJvcmRlcjogIzQ2NTJmMztcbiAgLS1jYi1tYXJrOiAjZmZmZmZmO1xuICAtLWNiLWZvY3VzLXJpbmc6ICNhNWFjZmY7XG4gIC0tY2ItZm9jdXMtZ2xvdzogcmdiYSg3MCwgODIsIDI0MywgMC40KTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWNoZWNrYm94LmNoZWNrYm94LXN0YXRlLWVycm9yIHtcbiAgLS1jYi1ib3JkZXI6ICNjNjVhNWE7XG4gIC0tY2ItZmlsbGVkLWJnOiAjYzY1YTVhO1xuICAtLWNiLWZpbGxlZC1ib3JkZXI6ICNjNjVhNWE7XG4gIC0tY2ItZm9jdXMtcmluZzogI2U4OTA5MDtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWNoZWNrYm94LmNoZWNrYm94LXN0YXRlLXN1Y2Nlc3Mge1xuICAtLWNiLWJvcmRlcjogIzQyOGI2ZTtcbiAgLS1jYi1maWxsZWQtYmc6ICM0MjhiNmU7XG4gIC0tY2ItZmlsbGVkLWJvcmRlcjogIzQyOGI2ZTtcbiAgLS1jYi1mb2N1cy1yaW5nOiAjN2NjZmE4O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tY2hlY2tib3guY2hlY2tib3gtZGlzYWJsZWQge1xuICAtLWNiLWJvcmRlcjogIzU2NWI2NjtcbiAgLS1jYi1iZzogIzQwNDQ0ZDtcbiAgLS1jYi1maWxsZWQtYmc6ICM0MDQ0NGQ7XG4gIC0tY2ItZmlsbGVkLWJvcmRlcjogIzU2NWI2NjtcbiAgLS1jYi1tYXJrOiAjNmI3MjgwO1xufVxuXG4vKiA9PT0gdGhlbWU6IGdsYXNzIOKAlCBhZGRlZCAyMDI2LTA2LTA4ID09PVxuICAgVHJhbnNsdWNlbnQgY2hlY2tib3ggZm9yIGEgZGFyayAvIGNvbG91cmVkIHN1cmZhY2UgKGxvZ2luKS4gQWN0aXZhdGUgdmlhXG4gICBkYXRhLXRoZW1lPVwiZ2xhc3NcIiBvbiBhbiBhbmNlc3RvcjsgbGlsYSBmb2N1cyByaW5nIHRvIG1hdGNoIHRoZSBpbnB1dHMuICovXG5bZGF0YS10aGVtZT1nbGFzc10gLnFkbmFwcm8tY2hlY2tib3gge1xuICAtLWNiLWJvcmRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KTtcbiAgLS1jYi1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgLS1jYi1iZy1ob3ZlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgLyogQ2hlY2tlZCA9IHNvbGlkIHdoaXRlIGJveCB3aXRoIGEgZGFyayBjaGVjaywgc28gaXQgc3RhbmRzIG91dCBvbiB0aGVcbiAgICAgZGFyayBzdXJmYWNlIChhIHRpbnRlZCBmaWxsIGJsZW5kcyBpbnRvIHRoZSBpbmRpZ28gLSB0b28gbG93IGNvbnRyYXN0KS4gKi9cbiAgLS1jYi1maWxsZWQtYmc6ICNmZmZmZmY7XG4gIC0tY2ItZmlsbGVkLWJvcmRlcjogI2ZmZmZmZjtcbiAgLS1jYi1tYXJrOiAjMjYyMTVjO1xuICAtLWNiLWZvY3VzLXJpbmc6ICM5YThmZmY7XG4gIC0tY2ItZm9jdXMtZ2xvdzogcmdiYSgxNTQsIDE0MywgMjU1LCAwLjM1KTtcbn1cbltkYXRhLXRoZW1lPWdsYXNzXSAucWRuYXByby1jaGVja2JveC5jaGVja2JveC1kaXNhYmxlZCB7XG4gIC0tY2ItYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAtLWNiLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAtLWNiLWZpbGxlZC1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgLS1jYi1maWxsZWQtYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAtLWNiLW1hcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL2NvbG9yLXBpY2tlci9fY29sb3ItcGlja2VyLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogcWRuYXByby1jb2xvci1waWNrZXJcbiAqIFBhc3RlbCBzd2F0Y2ggcGlja2VyLiBQYWxldHRlIG1hdGNoZXMgdGhlIHRhc2tsaXN0LWNhcmRcbiAqIC50bGMtY29sb3ItKiB0aW50cyBleGFjdGx5IHNvIHRoZSBzd2F0Y2ggPT0gdGhlIGNhcmQgdGludC5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnFkbmFwcm8tY29sb3ItcGlja2VyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5xZG5hcHJvLWNvbG9yLXBpY2tlciAqLFxuLnFkbmFwcm8tY29sb3ItcGlja2VyICo6OmJlZm9yZSxcbi5xZG5hcHJvLWNvbG9yLXBpY2tlciAqOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5xZG5hcHJvLWNvbG9yLXBpY2tlciAucWNwLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMTBweDtcbn1cblxuLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE1LCAyMywgNDIsIDAuMSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFjcC1iZywgI2VlZjBmMik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIGVhc2UsIGJveC1zaGFkb3cgMTIwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2U7XG59XG5cbi5xZG5hcHJvLWNvbG9yLXBpY2tlciAucWNwLXN3YXRjaDpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICM0MDQ5OWE7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjIpO1xufVxuXG4ucWRuYXByby1jb2xvci1waWNrZXIgLnFjcC1zd2F0Y2gucWNwLXN3YXRjaC1zZWxlY3RlZCB7XG4gIGJvcmRlci1jb2xvcjogIzQwNDk5YTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM0MDQ5OWEsIDAgMCAwIDVweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjE4KTtcbn1cblxuLyogVmFyaWFudCBcInNvZnRcIjogTElHSFQtcHVycGxlIHNlbGVjdGlvbiByaW5nIChzYW1lIGh1ZSBhcyB0aGUgZm9jdXMgZ2xvdylcbiAgIGluc3RlYWQgb2YgdGhlIGhlYXZ5IGRhcmsgIzQwNDk5YSByaW5nLiBUaGUgY2hlY2ttYXJrIHN0aWxsIG1hcmtzIHRoZSBwaWNrLlxuICAgTG9va3MgbXVjaCBiZXR0ZXIgb24gZGFyayAvIHNhdHVyYXRlZCBzd2F0Y2hlcy4gW0tpbSAyMDI2LTA2LTIyXSAqL1xuLnFkbmFwcm8tY29sb3ItcGlja2VyLnFjcC12YXJpYW50LXNvZnQgLnFjcC1zd2F0Y2gucWNwLXN3YXRjaC1zZWxlY3RlZCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg3MCwgODIsIDI0MywgMC40NSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjIyKTtcbn1cblxuLyogQ2hlY2sgbWFyayAtIHZpc2libGUgb25seSBvbiB0aGUgc2VsZWN0ZWQgc3dhdGNoLiAqL1xuLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3AtY2hlY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLXNlbGVjdGVkIC5xY3AtY2hlY2sge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucWRuYXByby1jb2xvci1waWNrZXIgLnFjcC1jaGVjazo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIC8qIC0tcWNwLWNoZWNrIGlzIHNldCBwZXIgc3dhdGNoIGJ5IHRoZSBKUyBjb250cmFzdCBkZXRlY3RvcjpcbiAgICAgd2hpdGUgb24gZGFyayBzd2F0Y2hlcywgYnJhbmQgaW5kaWdvIG9uIGxpZ2h0IG9uZXMuICovXG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tcWNwLWNoZWNrLCAjNDA0OTlhKTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLXFjcC1jaGVjaywgIzQwNDk5YSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLyogUGFsZXR0ZSAtIG1hdGNoZXMgdGhlIC50bGMtY29sb3ItKiB0YXNrbGlzdC1jYXJkIHRpbnRzIGV4YWN0bHkuICovXG4ucWRuYXByby1jb2xvci1waWNrZXIgLnFjcC1zd2F0Y2gtLWdyZXkge1xuICAtLXFjcC1iZzogI2VlZjBmMjtcbn1cblxuLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS1yZWQge1xuICAtLXFjcC1iZzogI2ZkZTdlNztcbn1cblxuLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS15ZWxsb3cge1xuICAtLXFjcC1iZzogI2ZkZjNkNjtcbn1cblxuLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS1ncmVlbiB7XG4gIC0tcWNwLWJnOiAjZTJmYWYxO1xufVxuXG4ucWRuYXByby1jb2xvci1waWNrZXIgLnFjcC1zd2F0Y2gtLWJsdWUge1xuICAtLXFjcC1iZzogI2U2ZWZmOTtcbn1cblxuLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS1icmlnaHQtYmx1ZSB7XG4gIC0tcWNwLWJnOiAjZDZlMGY5O1xufVxuXG4ucWRuYXByby1jb2xvci1waWNrZXIgLnFjcC1zd2F0Y2gtLXBpbmsge1xuICAtLXFjcC1iZzogI2Y2ZTFlODtcbn1cblxuLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS1wdXJwbGUge1xuICAtLXFjcC1iZzogI2ViZTlmYjtcbn1cblxuLnFkbmFwcm8tY29sb3ItcGlja2VyLnFjcC1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBTZW1hbnRpYyBwYWxldHRlIChmbG93ZWRpdG9yIHBlci1vcHRpb24gYXBwZWFyYW5jZSBtb2RhbCwgMTIuMDcuMjAyNik6XG4gICBzdGFuZGFhcmQgLyBwb3NpdGl2ZSAvIHdhcm5pbmcgLyBuZWdhdGl2ZSAvIG5ldXRyYWxfYWx0IOKAlCB0aGUgY2xvc2VkXG4gICA1LXZhbHVlIHNldCB0aGUgT3B0aW9uQXBwZWFyYW5jZU92ZXJsYXkudnVlIGRhdGFtb2RlbCB1c2VzLiBUaW50cyBjb21lXG4gICBmcm9tIHRoZSBzaGFyZWQgc2lnbmFsIGRlc2lnbiB0b2tlbnMgKHNhbWUgdG9rZW5zIHFkbmFwcm8tYW5zd2VyLWJ1dHRvbidzXG4gICAtLXBvc2l0aXZlLy0td2FybmluZy8tLW5lZ2F0aXZlLy0tbmV1dHJhbF9hbHQgdmFyaWFudHMgYWxyZWFkeSB1c2UpIHNvIGFcbiAgIHBpY2tlZCBjb2xvdXIgcmVhZHMgaWRlbnRpY2FsbHkgaW4gdGhlIHBpY2tlciBhbmQgaW4gdGhlIGxpdmUgcHJldmlldy5cbiAgIFwic3RhbmRhYXJkXCIgaGFzIG5vIHNpZ25hbCB0b2tlbiAoaXQgbWFwcyB0byAnJyBpbiB0aGUgZGF0YW1vZGVsKSDigJQgYVxuICAgbGlnaHQgYnJhbmQtcHVycGxlIG5ldXRyYWwgKC0tYy1wdXJwbGUtNTApIGZpdHMgdGhlIFwibmV1dHJhYWxcbiAgIHB1cnBlci9ncmlqc1wiIGFzayBiZXR0ZXIgdGhhbiBwbGFpbiBncmV5IGluIHRoaXMgcHVycGxlLWJyYW5kZWQgcHJvZHVjdC4gKi9cbi5xZG5hcHJvLWNvbG9yLXBpY2tlciAucWNwLXN3YXRjaC0tc3RhbmRhYXJkIHtcbiAgLS1xY3AtYmc6IHZhcigtLWMtcHVycGxlLTUwLCAjZTZlOWZmKTtcbn1cblxuLnFkbmFwcm8tY29sb3ItcGlja2VyIC5xY3Atc3dhdGNoLS1wb3NpdGl2ZSB7XG4gIC0tcWNwLWJnOiB2YXIoLS1jLXNpZ25hbC1ncmVlbi1iZywgI2M1ZjVlMik7XG59XG5cbi5xZG5hcHJvLWNvbG9yLXBpY2tlciAucWNwLXN3YXRjaC0td2FybmluZyB7XG4gIC0tcWNwLWJnOiB2YXIoLS1jLXNpZ25hbC15ZWxsb3ctYmcsICNmZWVkYjgpO1xufVxuXG4ucWRuYXByby1jb2xvci1waWNrZXIgLnFjcC1zd2F0Y2gtLW5lZ2F0aXZlIHtcbiAgLS1xY3AtYmc6IHZhcigtLWMtc2lnbmFsLXJlZC1iZywgI2ZlZTNlMyk7XG59XG5cbi5xZG5hcHJvLWNvbG9yLXBpY2tlciAucWNwLXN3YXRjaC0tbmV1dHJhbF9hbHQge1xuICAtLXFjcC1iZzogdmFyKC0tYy1zaWduYWwtYmx1ZS1iZywgI2U2ZWZmOSk7XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1kYXRlLXBpY2tlciDigJQgY29tcGFjdCBtb250aC9kYXRlIHBpY2tlciAoRmlnbWEgMTYuMDcuMjAyNilcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIFFETkEgdG9rZW5zIHVzZWQgKGRheSBidXR0b25zLCBwZXIgS2ltJ3MgRmlnbWEpOlxuLy8gICAgLS1jLWdyZXktNTAgICAgICAgICAgI2YwZjFmMiAgICAgICAgICAgICAgICAgICAgaG92ZXIgYmFja2dyb3VuZFxuLy8gICAgLS1jLWdyZXktMTAwICAgICAgICAgI2U3ZTllYyAgICAgICAgICAgICAgICAgICAgcHJlc3NlZCBiYWNrZ3JvdW5kXG4vLyAgICAtLWMtcHVycGxlLWhpZ2hsaWdodCB2YXIoLS1jLWFjdGlvbi01MDApICM0NjUyZjMgc2VsZWN0ZWQgZmlsbFxuLy8gICAgLS1jLWFjdGlvbi02MDAgICAgICAgIzM1NDBkNiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQgKyBob3ZlclxuLy8gICAgLS1jLWFjdGlvbi03MDAgICAgICAgIzJhMzZiOCAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQgKyBwcmVzc2VkXG4vLyAgICAtLWZvY3VzLXJpbmcgICAgICAgICB2YXIoLS1jLWJyYW5kLXB1cnBsZSkgIzQwNDk5YSAgZm9jdXMgb3V0bGluZVxuLy8gICAgLS1mb2N1cy1nbG93ICAgICAgICAgdmFyKC0tYy1hY3Rpb24tMjUpICAgICAgICAgZm9jdXMgZ2xvdyByaW5nXG4vLyAgICAtLWMtYnJhbmQtcHVycGxlICAgICB2YXIoLS1jLXB1cnBsZS01MDApICM0MDQ5OWEgdG9kYXkgbnVtYmVyXG4vLyAgICAtLWMtdGV4dC1kaXNhYmxlZCAgICAjODk4ZTk5ICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZCBkYXkgbnVtYmVyXG4vLyAgICAtLWMtZ3JleS00MDAgICAgICAgICAjYTZhYWIzICAgICAgICAgICAgICAgICAgICBtdXRlZCBhZGphY2VudC1tb250aCBkYXlzXG4vLyAgICAtLWMtZ3JleS01MDAgICAgICAgICAjNmI3MjgwICAgICAgICAgICAgICAgICAgICB3ZWVrZGF5IGhlYWRlclxuLy8gICAgLS1jLXRleHQtaGVhZGluZyAgICAgIzFhMWY0ZCAgICAgICAgICAgICAgICAgICAgbW9udGggbGFiZWxcbi8vICBTdHJ1Y3R1cmUgcmVmZXJlbmNlOiAucGxhbm5lci1jYWwgKHBsYW5uZXIvaW5kZXguaHRtbCkg4oCUIHRoaXMgY29tcG9uZW50XG4vLyAgcmVwbGFjZXMgdGhhdCBoYW5kLXJvbGxlZCBwYXR0ZXJuIHBsYXRmb3JtLXdpZGUuXG4vLyAgRkxBVCBDU1MgKG5vIG5lc3RpbmcpLCBwZXIgdGhlIHYyIGNvbXBvbmVudCBjb252ZW50aW9uLlxuXG4ucWRuYXByby1kYXRlLXBpY2tlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDIzMnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXRoZW1lLWZvbnQtZmFtaWx5LCBcIkludGVyXCIsIHNhbnMtc2VyaWYpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8gcGFuZWwg4oCUIHRoZSBxZG5hcHJvLW1lbnUgY2hyb21lLCB2ZXJiYXRpbSB0b2tlbnMgZnJvbSBfbWVudS5zY3NzJ3Ncbi8vIC5tZW51LWNvbG9yLW5ldXRyYWwgYmxvY2sgKGJvcmRlciAjYzRjN2NjLCByYWRpdXMgOCwgdGhlIG1lbnUgc2hhZG93KSxcbi8vIHNvIGEgcGlja2VyIGhvc3RlZCBpbiBhIGJhcmUgcG9wb3ZlciByZWFkcyBpZGVudGljYWwgdG8gdGhlIG90aGVyXG4vLyBkcm9wZG93biBwYW5lbHMgKEtpbSwgMTYuMDcuMjAyNikuIFBhZGRpbmcgMTBweCAxMnB4OiB0aGUgbWVudSdzIDhweFxuLy8gZmVlbHMgY3JhbXBlZCBhcm91bmQgYSA3LWNvbHVtbiBncmlkLlxuLnFkbmFwcm8tZGF0ZS1waWNrZXIucWRuYXByby1kYXRlLXBpY2tlci0tcGFuZWwge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzRjN2NjO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgOHB4IDEycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG59XG5cbi8vIEhlYWRlciDigJQgbW9udGggbGFiZWwgTEVGVCwgcGFpcmVkIGNoZXZyb25zIFJJR0hUIChLaW0ncyBGaWdtYSwgMTYuMDcuMjAyNilcbi5xZG5hcHJvLWRhdGUtcGlja2VyX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogNHB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG4ucWRuYXByby1kYXRlLXBpY2tlcl9fbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAycHg7XG4gIGZsZXg6IG5vbmU7XG59XG4ucWRuYXByby1kYXRlLXBpY2tlcl9fbGFiZWwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LWhlYWRpbmcsICMxYTFmNGQpO1xufVxuXG4vLyBXZWVrZGF5IHJvdyArIGRheSBncmlkIHNoYXJlIHRoZSA3LWNvbHVtbiByYXN0ZXJcbi5xZG5hcHJvLWRhdGUtcGlja2VyX193ZWVrZGF5cyxcbi5xZG5hcHJvLWRhdGUtcGlja2VyX19ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICBnYXA6IDJweDtcbn1cbi5xZG5hcHJvLWRhdGUtcGlja2VyX193ZWVrZGF5cyBzcGFuIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTUwMCwgIzZiNzI4MCk7XG4gIHBhZGRpbmc6IDJweCAwIDRweDtcbn1cblxuLy8gRGF5IGJ1dHRvbiDigJQgcm91bmQgfjMycHggaGl0IHRhcmdldC4gVGhlIC5mb3JjZS0qIGNsYXNzZXMgbWlycm9yIHRoZVxuLy8gcHNldWRvLWNsYXNzIHN0YXRlcyBmb3IgdGhlIGxpYnJhcnkgcHJldmlldyAodHJhbnNpZW50IHN0YXRlcyBtdXN0IGJlXG4vLyBzY3JlZW5zaG90LWFibGUsIHBlciB0aGUgcHJldmlld3MgY29udmVudGlvbikuXG4ucWRuYXByby1kYXRlLXBpY2tlcl9fZGF5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LWJvZHksICMwYjBiMGQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlO1xufVxuXG4vLyBIb3ZlciAvIHByZXNzZWQgKG5ldmVyIG9uIGRpc2FibGVkIGRheXMpXG4ucWRuYXByby1kYXRlLXBpY2tlcl9fZGF5Om5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtc2VsZWN0ZWQpOmhvdmVyLFxuLnFkbmFwcm8tZGF0ZS1waWNrZXJfX2RheS5mb3JjZS1ob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS01MCwgI2YwZjFmMik7XG59XG4ucWRuYXByby1kYXRlLXBpY2tlcl9fZGF5Om5vdCguaXMtZGlzYWJsZWQpOm5vdCguaXMtc2VsZWN0ZWQpOmFjdGl2ZSxcbi5xZG5hcHJvLWRhdGUtcGlja2VyX19kYXkuZm9yY2UtcHJlc3NlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpO1xufVxuXG4vLyBUb2RheSDigJQgcHVycGxlIGJvbGQgbnVtYmVyOyBOT1QgdGhlIHNlbGVjdGVkIHN0eWxlIChib3RoIGNhbiBjb2V4aXN0IG9uXG4vLyBkaWZmZXJlbnQgZGF5czsgdG9kYXkrc2VsZWN0ZWQgc2hvd3MgdGhlIHNlbGVjdGVkIHN0eWxlIGJlbG93KS5cbi5xZG5hcHJvLWRhdGUtcGlja2VyX19kYXkuaXMtdG9kYXkge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpO1xufVxuXG4vLyBTZWxlY3RlZCDigJQgZmlsbGVkIGhpZ2hsaWdodCBjaXJjbGUsIHdoaXRlIG51bWJlciAod2lucyBvdmVyIHRvZGF5KVxuLnFkbmFwcm8tZGF0ZS1waWNrZXJfX2RheS5pcy1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtcHVycGxlLWhpZ2hsaWdodCwgIzQ2NTJmMyk7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtb24tYWN0aW9uLCAjZmZmZmZmKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5xZG5hcHJvLWRhdGUtcGlja2VyX19kYXkuaXMtc2VsZWN0ZWQ6bm90KC5pcy1kaXNhYmxlZCk6aG92ZXIsXG4ucWRuYXByby1kYXRlLXBpY2tlcl9fZGF5LmlzLXNlbGVjdGVkLmZvcmNlLWhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1hY3Rpb24tNjAwLCAjMzU0MGQ2KTtcbn1cbi5xZG5hcHJvLWRhdGUtcGlja2VyX19kYXkuaXMtc2VsZWN0ZWQ6bm90KC5pcy1kaXNhYmxlZCk6YWN0aXZlLFxuLnFkbmFwcm8tZGF0ZS1waWNrZXJfX2RheS5pcy1zZWxlY3RlZC5mb3JjZS1wcmVzc2VkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1hY3Rpb24tNzAwLCAjMmEzNmI4KTtcbn1cblxuLy8gQWRqYWNlbnQtbW9udGggZGF5c1xuLnFkbmFwcm8tZGF0ZS1waWNrZXJfX2RheS5pcy1tdXRlZCB7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktNDAwLCAjYTZhYWIzKTtcbn1cblxuLy8gRGlzYWJsZWQgKG91dHNpZGUgbWluL21heCkg4oCUIG11dGVkIHRleHQsIG5vIGhvdmVyLCBjdXJzb3IgZGVmYXVsdFxuLnFkbmFwcm8tZGF0ZS1waWNrZXJfX2RheS5pcy1kaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtZGlzYWJsZWQsICM4OThlOTkpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vIEZvY3VzIOKAlCBvdXRsaW5lZCBjaXJjbGUgbWlycm9yaW5nIHRoZSBxZG5hcHJvLWJ1dHRvbiBmb2N1cy12aXNpYmxlXG4vLyB0cmVhdG1lbnQgKHJpbmcgKyBzb2Z0IGdsb3cpOyBvdXRsaW5lIGZvbGxvd3MgdGhlIGJvcmRlci1yYWRpdXMuXG4ucWRuYXByby1kYXRlLXBpY2tlcl9fZGF5OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5xZG5hcHJvLWRhdGUtcGlja2VyX19kYXk6Zm9jdXMtdmlzaWJsZSxcbi5xZG5hcHJvLWRhdGUtcGlja2VyX19kYXkuZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZm9jdXMtcmluZywgIzQwNDk5YSk7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDVweCB2YXIoLS1mb2N1cy1nbG93LCByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KSk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU3BhbiAvIHJhbmdlIHNlbGVjdGlvbiBiYW5kIChLaW0sIDE2LjA3LjIwMjYg4oCUIHZpZXctc3BhbiArIHNuYXAtbW9uZGF5LFxuLy8gbW9kZT1cInJhbmdlXCIpLiBPbmx5IHJlbmRlcmVkIHdoZW4gdmlldy1zcGFuID4gMSBvciBtb2RlPVwicmFuZ2VcIiDigJQgdGhlXG4vLyBwbGFpbiBzaW5nbGUtZGF5IHBpY2tlciAodmlldy1zcGFuIDEsIG5vIHJhbmdlIG1vZGUpIG5ldmVyIGdldHMgYVxuLy8gLnFkbmFwcm8tZGF0ZS1waWNrZXJfX2NlbGwgd3JhcHBlciwgc28gaXQgc3RheXMgcGl4ZWwtaWRlbnRpY2FsLlxuLy9cbi8vIEVhY2ggZGF5IGlzIHdyYXBwZWQgaW4gYSBjZWxsOyB0aGUgYmFuZCBpcyBhIDo6YmVmb3JlIHVuZGVybGF5IHRoYXRcbi8vIGZpbGxzIHRoZSBjZWxsIGFuZCBibGVlZHMgMXB4IGludG8gdGhlIDJweCBncmlkIGdhcCBvbiBzaWRlcyB0b3VjaGluZ1xuLy8gYW5vdGhlciBiYW5kIGRheSwgc28gYSBtdWx0aS1kYXkgYmFuZCByZWFkcyBhcyBvbmUgY29udGludW91cyBwaWxsLlxuLy8gUm91bmRlZCBvbmx5IGF0IHRoZSBiYW5kJ3MgVFJVRSBzdGFydC9lbmQ7IGEgYmFuZCB0aGF0IHdyYXBzIG9udG8gdGhlXG4vLyBuZXh0IGdyaWQgcm93IGlzIGxlZnQgZmx1c2ggKG5vIHJvdW5kaW5nLCBubyBibGVlZCkgYXQgdGhlIHJvdyBlZGdlIOKAlFxuLy8gaXQgcmVhZHMgYXMgXCJjb250aW51ZXMgYmVsb3dcIiBpbnN0ZWFkIG9mIHR3byBzZXBhcmF0ZSBwaWxscy5cbi5xZG5hcHJvLWRhdGUtcGlja2VyX19jZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1zZWxmOiBzdHJldGNoO1xuICBoZWlnaHQ6IDMycHg7XG59XG4ucWRuYXByby1kYXRlLXBpY2tlcl9fY2VsbC5pcy1iYW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vLyBHaG9zdCDigJQgcHJvc3BlY3RpdmUgc3BhbiBwcmV2aWV3IG9uIGhvdmVyIG9ubHkgKGNhcGFiaWxpdHkgMSk6IHN1YnRsZVxuLy8gZ3JleSBwaWxsLCBubyBmaWxsZWQgY2lyY2xlcy5cbi5xZG5hcHJvLWRhdGUtcGlja2VyX19jZWxsLmlzLWJhbmQtZ2hvc3Q6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS01MCwgI2YwZjFmMik7XG59XG4vLyBGaWxsIOKAlCB0aGUgY29tbWl0dGVkIHNwYW4vcmFuZ2UsIGFuZCBpdHMgaW4tcHJvZ3Jlc3MgaG92ZXIgcHJldmlldyBpblxuLy8gbW9kZT1cInJhbmdlXCI6IGxpZ2h0IHB1cnBsZSB0aW50OyB0aGUgdHdvIHRydWUgZW5kcyBhZGRpdGlvbmFsbHkgY2Fycnlcbi8vIC5pcy1zZWxlY3RlZCBvbiB0aGUgZGF5IGJ1dHRvbiAocmV1c2VkIGFzLWlzIOKAlCBmaWxsZWQgY2lyY2xlLCB3aGl0ZSB0ZXh0KS5cbi5xZG5hcHJvLWRhdGUtcGlja2VyX19jZWxsLmlzLWJhbmQtZmlsbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1hY3Rpb24tMTIsIHJnYmEoNzAsIDgyLCAyNDMsIDAuMTIpKTtcbn1cbi5xZG5hcHJvLWRhdGUtcGlja2VyX19jZWxsLmlzLWJhbmQtcm91bmQtc3RhcnQ6OmJlZm9yZSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE2cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDE2cHg7XG59XG4ucWRuYXByby1kYXRlLXBpY2tlcl9fY2VsbC5pcy1iYW5kLXJvdW5kLWVuZDo6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE2cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxNnB4O1xufVxuLnFkbmFwcm8tZGF0ZS1waWNrZXJfX2NlbGwuaXMtYmFuZC1ibGVlZC1zdGFydDo6YmVmb3JlIHtcbiAgbGVmdDogLTFweDtcbn1cbi5xZG5hcHJvLWRhdGUtcGlja2VyX19jZWxsLmlzLWJhbmQtYmxlZWQtZW5kOjpiZWZvcmUge1xuICByaWdodDogLTFweDtcbn1cbi8vIEJhbmQgbWlkZGxlLWRheSBudW1iZXJzIHJlYWQgYXMgcGFydCBvZiB0aGUgc2VsZWN0aW9uIChwdXJwbGUsIG1lZGl1bVxuLy8gd2VpZ2h0KSB3aXRob3V0IHRoZSBmaWxsZWQtY2lyY2xlIHRyZWF0bWVudCByZXNlcnZlZCBmb3IgdGhlIHRydWUgZW5kcy5cbi5xZG5hcHJvLWRhdGUtcGlja2VyX19jZWxsLmlzLWJhbmQtZmlsbCAucWRuYXByby1kYXRlLXBpY2tlcl9fZGF5Om5vdCguaXMtc2VsZWN0ZWQpOm5vdCguaXMtZGlzYWJsZWQpIHtcbiAgY29sb3I6IHZhcigtLWMtYnJhbmQtcHVycGxlLCAjNDA0OTlhKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnFkbmFwcm8tZGF0ZS1waWNrZXJfX2RheSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvZGl2aWRlci9fZGl2aWRlci1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG4vKiBjb21waWxlZCBmcm9tIF9kaXZpZGVyLnNjc3MgKi9cbi5xZG5hcHJvLWRpdmlkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNkOWRiZWI7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuLnFkbmFwcm8tZGl2aWRlci5kaXZpZGVyLWhvcml6b250YWwgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxcHg7IH1cbi5xZG5hcHJvLWRpdmlkZXIuZGl2aWRlci12ZXJ0aWNhbCAgIHsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxMDAlOyBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG4ucWRuYXByby1kaXZpZGVyLmRpdmlkZXItdmVydGljYWwuZGl2aWRlci1maXhlZC1sZW5ndGggeyBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbi5xZG5hcHJvLWRpdmlkZXIuZGl2aWRlci1jb2xvci1uZXV0cmFsIHsgYmFja2dyb3VuZDogI2Q5ZGJlYjsgfVxuLnFkbmFwcm8tZGl2aWRlci5kaXZpZGVyLWNvbG9yLXN1YnRsZSAgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTApOyB9XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1kaXZpZGVyLmRpdmlkZXItY29sb3ItbmV1dHJhbCxcbltkYXRhLXRoZW1lLWRhcmtdICAucWRuYXByby1kaXZpZGVyLmRpdmlkZXItY29sb3ItbmV1dHJhbCB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7IH1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1kaXZpZGVyLmRpdmlkZXItY29sb3Itc3VidGxlLFxuW2RhdGEtdGhlbWUtZGFya10gIC5xZG5hcHJvLWRpdmlkZXIuZGl2aWRlci1jb2xvci1zdWJ0bGUgIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTsgfVxuIiwiLy8gX2RvY3VtZW50LXZpZXdlci5zY3NzXG4vL1xuLy8gcWRuYXByby1kb2N1bWVudC12aWV3ZXIg4oCUIGZ1bGxzY3JlZW4gUFdBIGRvY3VtZW50IHZpZXdlciAoZmFzZSA1LCBzdGFwIDEpLlxuLy8gRGFyayBsaWdodGJveCB0aGF0IG1pcnJvcnMgdGhlIGJhY2tvZmZpY2UgRE1TIHZpZXdlciBwYWxldHRlICgjMTYxODJiIGZpZWxkLFxuLy8gIzFkMjAzOCB0b3BiYXIpIHNvIHRoZSBhcHAgYW5kIGJhY2tvZmZpY2UgcmVhZCBhcyBvbmUgZmFtaWx5LiBTdGVwIDEgc3R5bGVzXG4vLyB0aGUgc2hlbGwgKyBpbWFnZSByZW5kZXJlciArIGFsbCBzdGF0ZXM7IFBERi92aWRlbyByZW5kZXJlcnMgbGFuZCBsYXRlciBidXRcbi8vIHJldXNlIHRoaXMgc2FtZSBzdGFnZS9jYXJkL2Nocm9tZSB2b2NhYnVsYXJ5LlxuLy9cbi8vIFNZTkNFRCBUTyBUSEUgUFdBIHdpdGggY29tcGlsZVNjc3M6IHRydWUgKHRoaXMgZmlsZSB1c2VzIGAmYC1uZXN0aW5nKSwgc2FtZSBhc1xuLy8gbGlzdC1yb3cvYXBwLWhlYWRlciDigJQgYSBmbGF0IGNzczp0cnVlIHN5bmMgd291bGQgbGVhdmUgYCY6Li4uYCBsaXRlcmFsIGFuZCB0aGVcbi8vIGNocm9tZS9hbmltYXRpb24gd291bGQgbm90IHdvcmsgaW4gdGhlIGFwcCAoZ3JpZC10aWxlIGxlc3NvbiwgMjIuMDcuMjAyNikuXG5cbi5xZG5hcHJvLWRvY3VtZW50LXZpZXdlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDk1MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQ6ICMxNjE4MmI7XG4gICAgY29sb3I6ICNlZWYwZmI7XG4gICAgLy8gc2l0IGFib3ZlIHRoZSBzYWZlIGFyZWFzOyB0aGUgdG9wYmFyIHBhZHMgZm9yIHRoZSBub3RjaCBpdHNlbGZcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mZiwgXCJJbnRlclwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYpO1xuICAgIC8vIHRyYW5zZm9ybS9vcGFjaXR5IGFyZSBkcml2ZW4gaW5saW5lIGJ5IHRoZSBzd2lwZS10by1kaXNtaXNzIGdlc3R1cmU7XG4gICAgLy8gZ2l2ZSB0aGUgc25hcC1iYWNrIGEgdHJhbnNpdGlvbiAoY2xlYXJlZCB3aGlsZSBkcmFnZ2luZyB2aWEgaW5saW5lIHN0eWxlKS5cbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTgwbXMgZWFzZSwgb3BhY2l0eSAxODBtcyBlYXNlO1xuXG4gICAgJltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLy8gLS0tLSB0b3BiYXIgKGNocm9tZSkgLS0tLVxuICAgIC5xZHYtdG9wYmFyIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgbWluLWhlaWdodDogNTZweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDhweCArIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDEwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQsIDBweCkpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAwcHgpKTtcbiAgICAgICAgYmFja2dyb3VuZDogIzFkMjAzODtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZSwgdHJhbnNmb3JtIDIwMG1zIGVhc2U7XG4gICAgfVxuXG4gICAgLnFkdi1mbmFtZSB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIC5xZHYtZm5hbWUgcWRuYXByby1maWxlLWljb24geyBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5xZHYtZm5hbWUtdGV4dCB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgLnFkdi10b29scyB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDJweDtcbiAgICB9XG4gICAgLnFkdi10b29scyBxZG5hcHJvLWljb24tYnRuIHsgY29sb3I6ICNjZmQyZWE7IH1cbiAgICAucWR2LXRvb2xzIHFkbmFwcm8taWNvbi1idG5baGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucWR2LWNsb3NlIHsgY29sb3I6ICNjZmQyZWE7IH1cblxuICAgIC8vIC0tLS0gY29udGVudCBzdGFnZSAtLS0tXG4gICAgLnFkdi1zdGFnZSB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAvLyB0b3VjaC1hY3Rpb24gaXMgc2V0IFBFUiByZW5kZXJlcjogdGhlIGltYWdlIHdyYXAgb3ducyBpdHMgcGluY2gvcGFuL1xuICAgICAgICAvLyBzd2lwZSAodG91Y2gtYWN0aW9uOm5vbmUpLCB0aGUgUERGIHNjcm9sbGVyIHVzZXMgbmF0aXZlIHBhbi15IC0gc28gdGhlXG4gICAgICAgIC8vIHN0YWdlIGl0c2VsZiBzdGF5cyBuZXV0cmFsLCBvdGhlcndpc2UgYSBgbm9uZWAgaGVyZSB3b3VsZCBraWxsIFBERiBzY3JvbGwuXG4gICAgfVxuXG4gICAgLy8gLS0tLSBpbWFnZSByZW5kZXJlciAtLS0tXG4gICAgLnFkdi1pbWd3cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgZWFzZTtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBub25lOyAvLyBpbWFnZSBvd25zIHBpbmNoL3Bhbi9zd2lwZVxuICAgIH1cbiAgICAucWR2LWltZ3dyYXAuaXMtbG9hZGVkIHsgb3BhY2l0eTogMTsgfVxuICAgIC5xZHYtaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgICB9XG5cbiAgICAvLyAtLS0tIFBERiByZW5kZXJlciAoY29udGludW91cyB2ZXJ0aWNhbCBzY3JvbGwgb2YgcmVuZGVyZWQgcGFnZXMpIC0tLS1cbiAgICAucWR2LXBkZiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7ICAgICAgICAvLyBuYXRpdmUgdmVydGljYWwgc2Nyb2xsOyBKUyBvd25zIHBpbmNoICgyLWZpbmdlcilcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC8vIFRoZSByZW5kZXJlciBzd2FwcyBwYWdlIGNhbnZhc2VzIGluIGFuZCBvdXQgY29uc3RhbnRseSAobGF6eSByZW5kZXIvcmVsZWFzZSkuXG4gICAgICAgIC8vIFRoZSBicm93c2VyJ3Mgb3duIHNjcm9sbCBhbmNob3JpbmcgcmVhY3RzIHRvIHRoYXQgYnkgbW92aW5nIHRoZSBzY3JvbGwgb2Zmc2V0LFxuICAgICAgICAvLyB3aGljaCBmaWdodHMgdGhlIHJlYWRpbmcgcG9zaXRpb24gdGhlIHJlbmRlcmVyIHJlc3RvcmVzIGl0c2VsZiBhZnRlciBhIHdpZHRoXG4gICAgICAgIC8vIGNoYW5nZSAtIG1lYXN1cmVkIDAzLjA4LjIwMjY6IGl0IHRocmV3IHRoZSB2aWV3IGJhY2sgdG8gcGFnZSAxLlxuICAgICAgICBvdmVyZmxvdy1hbmNob3I6IG5vbmU7XG4gICAgfVxuICAgIC5xZHYtcGRmLmlzLXpvb21lZCB7IHRvdWNoLWFjdGlvbjogcGFuLXggcGFuLXk7IH1cbiAgICAucWR2LXBkZi1wYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAwIGNhbGMoMTJweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsgICAvLyBsaXZlIHBpbmNoIGZlZWRiYWNrIHNjYWxlcyBmcm9tIHRoZSB0b3BcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICB9XG4gICAgLnFkdi1wYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgICAgIC8vIHdpZHRoL2hlaWdodCBzZXQgaW5saW5lIHBlciBwYWdlIChmaXQtd2lkdGgpOyBhIHBsYWluIGJveCB1bnRpbCByZW5kZXJlZFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIE5FVkVSIGxldCB0aGUgY29sdW1uIGZsZXggc2hyaW5rIGEgcGFnZS4gVGhlIHBhZ2VzIHdyYXBwZXIgaXMgc3RyZXRjaGVkIHRvIHRoZVxuICAgICAgICAvLyBzdGFnZSBoZWlnaHQsIHNvIGFzIHNvb24gYXMgdGhlIGRvY3VtZW50IGlzIHRhbGxlciB0aGFuIHRoZSBzdGFnZSB0aGUgcGFnZXMgYXJlXG4gICAgICAgIC8vIFwib3ZlcmZsb3dpbmcgZmxleCBpdGVtc1wiIGFuZCB0aGUgZGVmYXVsdCBmbGV4LXNocmluazoxIHNxdWFzaGVzIHRoZW0uIEEgcGFnZVxuICAgICAgICAvLyBob2xkaW5nIGEgY2FudmFzIHJlc2lzdHMgKHRoZSBjYW52YXMgZ2l2ZXMgaXQgYSBtaW5pbXVtIHNpemUpLCBidXQgYW4gRU1QVFkgb25lXG4gICAgICAgIC8vIC0gbm90IHlldCByZW5kZXJlZCwgb3IgcmVsZWFzZWQgdG8gc2F2ZSBtZW1vcnkgLSBjb2xsYXBzZXMgdG8gMHB4LCB3aGljaCB0aHJvd3NcbiAgICAgICAgLy8gb2ZmIHRoZSBzY3JvbGwgaGVpZ2h0IGFuZCB0aGUgcmVhZGluZyBwb3NpdGlvbi4gTWVhc3VyZWQgMDMuMDguMjAyNi5cbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIC5xZHYtcGFnZSBjYW52YXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgLy8gcGFnZSBwbGFjZWhvbGRlciBzaGltbWVyIHVudGlsIGl0cyBjYW52YXMgaXMgcmVuZGVyZWRcbiAgICAucWR2LXBhZ2U6bm90KC5pcy1yZW5kZXJlZCk6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEwMGRlZywgI2YyZjNmOCAzMCUsICNlN2U5ZjIgNTAlLCAjZjJmM2Y4IDcwJSk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICAgICAgICBhbmltYXRpb246IHFkdi1zaGltbWVyIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgLy8gLS0tLSBwYWdlIHBpbGwgKFwiMyAvIDEyXCIpIC0tLS1cbiAgICAucWR2LXBhZ2VwaWxsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvdHRvbTogY2FsYygxNnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjAsIDIyLCA0MCwgMC44Mik7XG4gICAgICAgIGNvbG9yOiAjZWVmMGZiO1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgcGFkZGluZzogNXB4IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMjBtcyBlYXNlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgICAucWR2LXBhZ2VwaWxsLmlzLXZpc2libGUgeyBvcGFjaXR5OiAxOyB9XG4gICAgJi5xZHYtY2hyb21lLWhpZGRlbiAucWR2LXBhZ2VwaWxsIHsgYm90dG9tOiAxNnB4OyB9XG5cbiAgICAvLyAtLS0tIFBERiB0ZXh0IGxheWVyIChzZWxlY3RhYmxlIHRleHQgKyBzZWFyY2ggaGlnaGxpZ2h0IG92ZXIgZWFjaCBjYW52YXMpIC0tLS1cbiAgICAucWR2LXRleHRsYXllciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBub25lO1xuICAgIH1cbiAgICAucWR2LXRleHRsYXllciBzcGFuLFxuICAgIC5xZHYtdGV4dGxheWVyIGJyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgICAgIGN1cnNvcjogdGV4dDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIH1cbiAgICAucWR2LXRleHRsYXllciA6OnNlbGVjdGlvbiB7IGJhY2tncm91bmQ6IHJnYmEoNjQsIDczLCAxNTQsIDAuMzUpOyB9XG4gICAgLnFkdi10ZXh0bGF5ZXIgLnFkdi1obCB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyMTMsIDAsIDAuNDUpOyBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgICAucWR2LXRleHRsYXllciAucWR2LWhsLWN1cnJlbnQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTQ1LCAwLCAwLjcpOyB9XG5cbiAgICAvLyAtLS0tIGluLWRvY3VtZW50IHNlYXJjaCBiYXIgKFBERiBvbmx5KSAtLS0tXG4gICAgLnFkdi1zZWFyY2hiYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB0b3A6IGNhbGMoOHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDBweCkpO1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNHB4KTtcbiAgICAgICAgcGFkZGluZzogNnB4IDhweCA2cHggMTJweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzJhMmU0ZDtcbiAgICAgICAgY29sb3I6ICNlZWYwZmI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICB9XG4gICAgJi5xZHYtc2VhcmNoaW5nIC5xZHYtc2VhcmNoYmFyIHsgZGlzcGxheTogZmxleDsgfVxuICAgICYucWR2LXNlYXJjaGluZyAucWR2LXRvcGJhciB7IG9wYWNpdHk6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9IC8vIHNlYXJjaCB0YWtlcyBvdmVyIHRoZSBiYXJcbiAgICAucWR2LXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZWVmMGZiO1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICB9XG4gICAgLnFkdi1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICM5NDk4YzY7IH1cbiAgICAucWR2LXNlYXJjaC1jb3VudCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDAuNzhyZW07XG4gICAgICAgIGNvbG9yOiAjYWViMmQ2O1xuICAgICAgICBtaW4td2lkdGg6IDM4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIH1cbiAgICAucWR2LXNlYXJjaGJhciBxZG5hcHJvLWljb24tYnRuIHsgY29sb3I6ICNjZmQyZWE7IGZsZXg6IDAgMCBhdXRvOyB9XG5cbiAgICAvLyAtLS0tIHZpZGVvIC8gYXVkaW8gcmVuZGVyZXIgLS0tLVxuICAgIC5xZHYtbWVkaWEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLnFkdi12aWRlbyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICB9XG4gICAgLnFkdi1hdWRpbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuXG4gICAgLy8gLS0tLSBsb2FkaW5nIChzcGlubmVyICsgb3B0aW9uYWwgYmx1ci11cCB0aHVtYm5haWwpIC0tLS1cbiAgICAucWR2LWxvYWRpbmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLnFkdi10aHVtYiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDkwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgZmlsdGVyOiBibHVyKDE0cHgpO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7IC8vIGhpZGUgdGhlIGJsdXJyZWQgZWRnZVxuICAgIH1cbiAgICAucWR2LXNwaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAzOHB4O1xuICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2VlZjBmYjtcbiAgICAgICAgYW5pbWF0aW9uOiBxZHYtc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG5cbiAgICAvLyAtLS0tIHN0YXRlIC8gc3R1YiAvIGZhbGxiYWNrIGNhcmQgLS0tLVxuICAgIC5xZHYtY2FyZCB7XG4gICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAyNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICB9XG4gICAgLnFkdi1jYXJkLWljb24ge1xuICAgICAgICAtLXFkbmFwcm8taWNvbi1zaXplOiA0NHB4O1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBjb2xvcjogIzhiOTBjNDtcbiAgICB9XG4gICAgLnFkdi1jYXJkLWZpbGVpY29uIHsgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG4gICAgLnFkdi1jYXJkLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogI2VlZjBmYjtcbiAgICB9XG4gICAgLnFkdi1jYXJkLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBjb2xvcjogI2FlYjJkNjtcbiAgICB9XG4gICAgLnFkdi1jYXJkIHFkbmFwcm8tYnV0dG9uIHsgbWFyZ2luLXRvcDogNnB4OyB9XG5cbiAgICAvLyAtLS0tIHJhdGluZyBwaWxsIChcIndhcyB0aGlzIGRvY3VtZW50IGhlbHBmdWw/XCIpIC0tLS1cbiAgICAvLyBCb3R0b20tTEVGVDogdGhlIE5vdmEgbGF1bmNoZXIgb3ducyBib3R0b20tcmlnaHQgYWNyb3NzIHRoaXMgcHJvZHVjdCwgc28gYVxuICAgIC8vIHJhdGluZyBjb250cm9sIG11c3QgbmV2ZXIgYmUgcGxhY2VkIHRoZXJlLiBQYXJ0IG9mIHRoZSBjaHJvbWUsIHNvIGl0IGZhZGVzXG4gICAgLy8gb3V0IHRvZ2V0aGVyIHdpdGggdGhlIHRvcGJhciBvbiBhIHRhcCAocnVsZSBiZWxvdykg4oCUIGEgcmVhZGVyIHdobyB3YW50cyB0b1xuICAgIC8vIGxvb2sgYXQgdGhlIGRvY3VtZW50IHVuZGlzdHVyYmVkIGxvc2VzIGl0IGluIHRoZSBzYW1lIGdlc3R1cmUuXG4gICAgLnFkdi1mYiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogY2FsYygxNnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAwcHgpKTtcbiAgICAgICAgYm90dG9tOiBjYWxjKDE2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMnB4O1xuICAgICAgICBwYWRkaW5nOiA0cHggNnB4IDRweCAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI5LCAzMiwgNTYsIDAuOTQpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMzgpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2UsIHRyYW5zZm9ybSAyMDBtcyBlYXNlO1xuXG4gICAgICAgICZbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG4gICAgLnFkdi1mYi1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICNjZmQyZWE7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcblxuICAgICAgICAmW2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICAgIC5xZHYtZmIgcWRuYXByby1pY29uLWJ0biB7IGNvbG9yOiAjY2ZkMmVhOyBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAvLyBDaG9zZW4gdGh1bWI6IGZpbGxlZCBpY29uICsgYSBsaWdodCBwaWxsIGJlaGluZCBpdC4gRGVsaWJlcmF0ZWx5IG5vIGdyZWVuIG9yXG4gICAgLy8gcmVkIOKAlCBhbiBvcGluaW9uIGFib3V0IGEgZG9jdW1lbnQgaXMgbm90IGEgc3RhdHVzLCBhbmQgY29sb3VyIHdvdWxkIHJlYWQgYXNcbiAgICAvLyBhcHByb3ZhbCBvciByZWplY3Rpb24uXG4gICAgLnFkdi1mYiBxZG5hcHJvLWljb24tYnRuLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNik7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIH1cblxuICAgIC8vIC0tLS0gXCJ3aHkgbm90IGhlbHBmdWw/XCIgcG9wdXAgKGdyb3dzIG91dCBvZiB0aGUgcmF0aW5nIHBpbGwpIC0tLS1cbiAgICAvLyBEZWxpYmVyYXRlbHkgTk9UIGEgYm90dG9tLXNoZWV0OiBhIHNoZWV0IHRha2VzIG92ZXIgdGhlIHdob2xlIHNjcmVlbiBhbmRcbiAgICAvLyByZWFkcyBhcyBcInlvdSBtdXN0IGFuc3dlciB0aGlzXCIsIHdoaWxlIHRoZSBub3RlIGlzIHZvbHVudGFyeSDigJQgdGhlIHZvdGUgaXNcbiAgICAvLyBhbHJlYWR5IHNhdmVkIGJ5IHRoZSB0aW1lIHRoaXMgYXBwZWFycy5cbiAgICAucWR2LWZiLW5vdGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCwgMHB4KSk7XG4gICAgICAgIGJvdHRvbTogY2FsYyg3MnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpO1xuICAgICAgICByaWdodDogY2FsYygxNnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMHB4KSk7XG4gICAgICAgIG1heC13aWR0aDogMzgwcHg7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNHB4IDEycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxZDIwMzg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7XG5cbiAgICAgICAgJltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgICAucWR2LWZiLW5vdGUtaGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg2cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogI2VlZjBmYjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG5cbiAgICAgICAgcWRuYXByby1pY29uIHsgZmxleDogMCAwIGF1dG87IGNvbG9yOiAjOWVhMmM4OyBtYXJnaW4tdG9wOiAxcHg7IH1cbiAgICB9XG4gICAgLnFkdi1mYi1ub3RlLXN1YiB7XG4gICAgICAgIG1hcmdpbjogLTRweCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICAgICAgY29sb3I6ICM5ZWEyYzg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuICAgIC8vIE5hdGl2ZSB0ZXh0YXJlYSAoc2FtZSBzZWxmLWNvbnRhaW5lZCBjaG9pY2UgYXMgLnFkdi1zZWFyY2gtaW5wdXQgYWJvdmUpOlxuICAgIC8vIHRoZSB2aWV3ZXIgbXVzdCBsb29rIHRoZSBzYW1lIHdoZXJldmVyIGl0IGlzIG1vdW50ZWQsIHNvIGl0IG5ldmVyIGxlYW5zIG9uXG4gICAgLy8gYW5vdGhlciBjb21wb25lbnQgYmVpbmcgbG9hZGVkLlxuICAgIC5xZHYtZmItbm90ZS1pbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyYTJlNGQ7XG4gICAgICAgIGNvbG9yOiAjZWVmMGZiO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIgeyBjb2xvcjogIzdkODFhYjsgfVxuICAgICAgICAmOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzIpOyB9XG4gICAgfVxuICAgIC5xZHYtZmItbm90ZS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgfVxuICAgIC8vIEEgc3VidGxlIGJ1dHRvbiBpcyBuZWFyLWJsYWNrIGJ5IGRlZmF1bHQg4oCUIHVucmVhZGFibGUgb24gdGhpcyBkYXJrIGNhcmQuXG4gICAgLnFkdi1mYi1ub3RlLWFjdGlvbnMgcWRuYXByby1idXR0b24uYnV0dG9uLXN1YnRsZSB7IGNvbG9yOiAjY2ZkMmVhOyB9XG5cbiAgICAvLyAtLS0tIGNocm9tZSBoaWRkZW4gKHRhcC10by10b2dnbGUpIC0tLS1cbiAgICAmLnFkdi1jaHJvbWUtaGlkZGVuIC5xZHYtdG9wYmFyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgICYucWR2LWNocm9tZS1oaWRkZW4gLnFkdi1mYiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgLy8gVGhlIG5vdGUgcG9wdXAgZG9lcyBOT1QgaGlkZSB3aXRoIHRoZSBjaHJvbWU6IHNvbWVvbmUgdHlwaW5nIGEgc2VudGVuY2UgdGFwc1xuICAgIC8vIHRoZSBzY3JlZW4gYW5kIHdvdWxkIG90aGVyd2lzZSBsb3NlIGJvdGggdGhlIHBvcHVwIGFuZCB0aGVpciB0ZXh0LlxuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgLnFkdi10b3BiYXIsIC5xZHYtZmIgeyB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgICAgIC5xZHYtc3Bpbm5lciB7IGFuaW1hdGlvbi1kdXJhdGlvbjogMS42czsgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBxZHYtc3BpbiB7XG4gICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgcWR2LXNoaW1tZXIge1xuICAgIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIDA7IH1cbiAgICB0byB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7IH1cbn1cblxuLy8gTG9jayB0aGUgdW5kZXJseWluZyBwYWdlIHdoaWxlIHRoZSB2aWV3ZXIgaXMgb3BlbiAocG9ydGFsbGVkIHRvIDxib2R5PikuXG46cm9vdC5xZHYtb3Blbixcbjpyb290LnFkdi1vcGVuIGJvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9kcm9wLXpvbmUvX2Ryb3Atem9uZS1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG4udGV4dC1oMSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDYwcHg7XG4gIGxpbmUtaGVpZ2h0OiA3MnB4O1xufVxuXG4udGV4dC1oMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiA1NnB4O1xufVxuXG4udGV4dC1oMyB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xufVxuXG4udGV4dC1oNCB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xufVxuXG4udGV4dC1oNSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xufVxuXG4udGV4dC1oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4udGV4dC1ib2R5LXhzIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbi50ZXh0LWJvZHktc20ge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbn1cblxuLnRleHQtYm9keS1tZCB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4udGV4dC1ib2R5LWxnIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5cbi50ZXh0LWJvZHkteGwge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbn1cblxuLnFkbmFwcm8tZHJvcC16b25lIHtcbiAgLS1kei1jLWJvcmRlcjogIzQwNDk5YTtcbiAgLS1kei1jLWJvcmRlci1oaWdobGlnaHQ6ICM0NjUyZjM7XG4gIC0tZHotYy1iZy10aW50OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjA4KTtcbiAgLS1kei1jLWJnLXRpbnQtZnVsbDogcmdiYSg3MCwgODIsIDI0MywgMC4xNCk7XG4gIC0tZHotYy1vdmVybGF5LXRleHQ6ICM0MDQ5OWE7XG4gIC0tZHotYy1vdmVybGF5LXRleHQtaGlnaGxpZ2h0OiAjNDY1MmYzO1xuICAtLWR6LWMtcmVqZWN0LWJvcmRlcjogI2M2NWE1YTtcbiAgLS1kei1jLXJlamVjdC1iZzogcmdiYSgxOTgsIDkwLCA5MCwgMC4xMCk7XG4gIC0tZHotYy1yZWplY3QtYmctZnVsbDogcmdiYSgxOTgsIDkwLCA5MCwgMC4xNik7XG4gIC0tZHotYy1yZWplY3QtdGV4dDogIzZhMzAzMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxODBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE4MG1zIGVhc2U7XG59XG4ucWRuYXByby1kcm9wLXpvbmUgLmRyb3Atem9uZS1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE4MG1zIGVhc2U7XG4gIHotaW5kZXg6IDI7XG59XG4ucWRuYXByby1kcm9wLXpvbmUgLmRyb3Atem9uZS1tYXJjaC1zdmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tZHJvcC16b25lIC5kcm9wLXpvbmUtbWFyY2gtcmVjdCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAycHgpO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJweCk7XG4gIGFuaW1hdGlvbjogZHJvcC16b25lLW1hcmNoIDEuNnMgbGluZWFyIGluZmluaXRlO1xufVxuLnFkbmFwcm8tZHJvcC16b25lLmRyb3Atem9uZS1hY3RpdmUgLmRyb3Atem9uZS1tYXJjaC1zdmcsIC5xZG5hcHJvLWRyb3Atem9uZS5mb3JjZS1hY3RpdmUgLmRyb3Atem9uZS1tYXJjaC1zdmcge1xuICBjb2xvcjogdmFyKC0tZHotbWFyY2gtY29sb3IpO1xufVxuLnFkbmFwcm8tZHJvcC16b25lIC5kcm9wLXpvbmUtb3ZlcmxheS1pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5xZG5hcHJvLWRyb3Atem9uZSAuZHJvcC16b25lLW92ZXJsYXktaWNvbiB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGNvbG9yOiB2YXIoLS1kei1jLW92ZXJsYXktdGV4dCk7XG59XG4ucWRuYXByby1kcm9wLXpvbmUuZHJvcC16b25lLWFjdGl2ZSAuZHJvcC16b25lLW92ZXJsYXktaWNvbiwgLnFkbmFwcm8tZHJvcC16b25lLmZvcmNlLWFjdGl2ZSAuZHJvcC16b25lLW92ZXJsYXktaWNvbiB7XG4gIGFuaW1hdGlvbjogZHJvcC16b25lLWljb24tZmlndXJlOCA2cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cbi5xZG5hcHJvLWRyb3Atem9uZSAuZHJvcC16b25lLW92ZXJsYXktaWNvbiBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5xZG5hcHJvLWRyb3Atem9uZSAuZHJvcC16b25lLW92ZXJsYXktdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWR6LWMtb3ZlcmxheS10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi5xZG5hcHJvLWRyb3Atem9uZSAuZHJvcC16b25lLW92ZXJsYXktaGludCB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHZhcigtLWR6LWMtb3ZlcmxheS10ZXh0KTtcbiAgb3BhY2l0eTogMC43O1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuLnFkbmFwcm8tZHJvcC16b25lID4gOm5vdCguZHJvcC16b25lLW92ZXJsYXkpOm5vdCguZHJvcC16b25lLWlucHV0KSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgZWFzZSwgZmlsdGVyIDE4MG1zIGVhc2UsIHdpZHRoIDMyMG1zIGVhc2UtaW4tb3V0O1xufVxuLnFkbmFwcm8tZHJvcC16b25lLmRyb3Atem9uZS1hY3RpdmUgPiA6bm90KC5kcm9wLXpvbmUtb3ZlcmxheSk6bm90KC5kcm9wLXpvbmUtaW5wdXQpIHtcbiAgb3BhY2l0eTogMC40NTtcbiAgZmlsdGVyOiBibHVyKDZweCk7XG59XG4ucWRuYXByby1kcm9wLXpvbmUuZHJvcC16b25lLXN0eWxlLWRhc2hlZC5kcm9wLXpvbmUtYWN0aXZlOm5vdCguZHJvcC16b25lLXJlamVjdCkge1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgdG9wIGxlZnQsIHZhcigtLWR6LWMtYmctdGludCksIHRyYW5zcGFyZW50IDU1JSksIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGJvdHRvbSByaWdodCwgdmFyKC0tZHotYy1iZy10aW50KSwgdHJhbnNwYXJlbnQgNTUlKTtcbiAgLS1kei1tYXJjaC1jb2xvcjogdmFyKC0tZHotYy1ib3JkZXIpO1xufVxuLnFkbmFwcm8tZHJvcC16b25lLmRyb3Atem9uZS1zdHlsZS1zb2xpZC5kcm9wLXpvbmUtYWN0aXZlOm5vdCguZHJvcC16b25lLXJlamVjdCkge1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1kei1jLWJvcmRlcik7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IHRvcCBsZWZ0LCB2YXIoLS1kei1jLWJnLXRpbnQpLCB0cmFuc3BhcmVudCA1NSUpLCByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBib3R0b20gcmlnaHQsIHZhcigtLWR6LWMtYmctdGludCksIHRyYW5zcGFyZW50IDU1JSk7XG59XG4ucWRuYXByby1kcm9wLXpvbmUuZHJvcC16b25lLXN0eWxlLWhpZ2hsaWdodC5kcm9wLXpvbmUtYWN0aXZlOm5vdCguZHJvcC16b25lLXJlamVjdCkge1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogdmFyKC0tZHotYy1iZy10aW50LWZ1bGwpO1xuICAtLWR6LWMtb3ZlcmxheS10ZXh0OiB2YXIoLS1kei1jLW92ZXJsYXktdGV4dC1oaWdobGlnaHQpO1xuICAtLWR6LW1hcmNoLWNvbG9yOiB2YXIoLS1kei1jLWJvcmRlci1oaWdobGlnaHQpO1xufVxuLnFkbmFwcm8tZHJvcC16b25lLmRyb3Atem9uZS1zdHlsZS1kYXNoZWQuZHJvcC16b25lLWFjdGl2ZS5kcm9wLXpvbmUtcmVqZWN0IHtcbiAgYm9yZGVyOiAycHggZGFzaGVkIHZhcigtLWR6LWMtcmVqZWN0LWJvcmRlcik7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IHRvcCBsZWZ0LCB2YXIoLS1kei1jLXJlamVjdC1iZyksIHRyYW5zcGFyZW50IDU1JSksIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGJvdHRvbSByaWdodCwgdmFyKC0tZHotYy1yZWplY3QtYmcpLCB0cmFuc3BhcmVudCA1NSUpO1xuICAtLWR6LWMtb3ZlcmxheS10ZXh0OiB2YXIoLS1kei1jLXJlamVjdC10ZXh0KTtcbn1cbi5xZG5hcHJvLWRyb3Atem9uZS5kcm9wLXpvbmUtc3R5bGUtc29saWQuZHJvcC16b25lLWFjdGl2ZS5kcm9wLXpvbmUtcmVqZWN0IHtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tZHotYy1yZWplY3QtYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgdG9wIGxlZnQsIHZhcigtLWR6LWMtcmVqZWN0LWJnKSwgdHJhbnNwYXJlbnQgNTUlKSwgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgYm90dG9tIHJpZ2h0LCB2YXIoLS1kei1jLXJlamVjdC1iZyksIHRyYW5zcGFyZW50IDU1JSk7XG4gIC0tZHotYy1vdmVybGF5LXRleHQ6IHZhcigtLWR6LWMtcmVqZWN0LXRleHQpO1xufVxuLnFkbmFwcm8tZHJvcC16b25lLmRyb3Atem9uZS1zdHlsZS1oaWdobGlnaHQuZHJvcC16b25lLWFjdGl2ZS5kcm9wLXpvbmUtcmVqZWN0IHtcbiAgYm9yZGVyOiAycHggZGFzaGVkIHZhcigtLWR6LWMtcmVqZWN0LWJvcmRlcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWR6LWMtcmVqZWN0LWJnLWZ1bGwpO1xuICAtLWR6LWMtb3ZlcmxheS10ZXh0OiB2YXIoLS1kei1jLXJlamVjdC10ZXh0KTtcbn1cbi5xZG5hcHJvLWRyb3Atem9uZS5kcm9wLXpvbmUtYWN0aXZlIC5kcm9wLXpvbmUtb3ZlcmxheSB7XG4gIG9wYWNpdHk6IDE7XG59XG4ucWRuYXByby1kcm9wLXpvbmUuZHJvcC16b25lLWNsaWNrYWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5xZG5hcHJvLWRyb3Atem9uZS5kcm9wLXpvbmUtY2xpY2thYmxlOm5vdCguZHJvcC16b25lLWFjdGl2ZSk6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWR6LWMtYm9yZGVyKTtcbiAgb3BhY2l0eTogMTtcbn1cbi5xZG5hcHJvLWRyb3Atem9uZS5kcm9wLXpvbmUtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1kcm9wLXpvbmUge1xuICAtLWR6LWMtYm9yZGVyOiAjYTVhY2ZmO1xuICAtLWR6LWMtYm9yZGVyLWhpZ2hsaWdodDogI2M0Y2FmZjtcbiAgLS1kei1jLWJnLXRpbnQ6IHJnYmEoMTY1LCAxNzIsIDI1NSwgMC4xMCk7XG4gIC0tZHotYy1iZy10aW50LWZ1bGw6IHJnYmEoMTY1LCAxNzIsIDI1NSwgMC4xOCk7XG4gIC0tZHotYy1vdmVybGF5LXRleHQ6ICNjNGNhZmY7XG4gIC0tZHotYy1vdmVybGF5LXRleHQtaGlnaGxpZ2h0OiAjZDZkYWZmO1xuICAtLWR6LWMtcmVqZWN0LWJvcmRlcjogI2ZiYWFhYTtcbiAgLS1kei1jLXJlamVjdC1iZzogcmdiYSgyNTEsIDE3MCwgMTcwLCAwLjEwKTtcbiAgLS1kei1jLXJlamVjdC1iZy1mdWxsOiByZ2JhKDI1MSwgMTcwLCAxNzAsIDAuMTgpO1xuICAtLWR6LWMtcmVqZWN0LXRleHQ6ICNmZWUzZTM7XG59XG5cbkBrZXlmcmFtZXMgZHJvcC16b25lLW1hcmNoIHtcbiAgdG8ge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMTI7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZHJvcC16b25lLWljb24tZmlndXJlOCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuICAxMi41JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4LCAzcHgpO1xuICB9XG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4LCAwKTtcbiAgfVxuICAzNy41JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4LCAtM3B4KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG4gIDYyLjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNHB4LCAzcHgpO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTVweCwgMCk7XG4gIH1cbiAgODcuNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00cHgsIC0zcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1kcm9wLXpvbmUgLmRyb3Atem9uZS1vdmVybGF5LWljb24ge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxuICAucWRuYXByby1kcm9wLXpvbmU6OmJlZm9yZSB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG4iLCIvLyBxZG5hcHJvLWVtb2ppLXNoZWV0IOKAlCBXaGF0c0FwcC9pT1Mtc3R5bGUgZW1vamkgcGlja2VyIGluIGEgZ2xhc3MgYm90dG9tIHNoZWV0LlxuLy8gRkxBVCBDU1M7IHRoZSBnbGFzcyBzdXJmYWNlIGl0c2VsZiBsaXZlcyBvbiBxZG5hcHJvLWJvdHRvbS1zaGVldCAodmFyaWFudD1cImdsYXNzXCIpLlxuLy8gRWRpdCBIRVJFLCB0aGVuIGBndWxwIHNhc3MtdjFgLlxuLy9cbi8vIElNUE9SVEFOVDogdGhlIGlubmVyIGJvdHRvbS1zaGVldCBQT1JUQUxTIGl0c2VsZiB0byA8Ym9keT4gb24gb3Blbiwgc28gaXRzIGNvbnRlbnRcbi8vIG5vIGxvbmdlciBzaXRzIHVuZGVyIHRoZSA8cWRuYXByby1lbW9qaS1zaGVldD4gaG9zdC4gQWxsIHN0eWxpbmcgaXMgdGhlcmVmb3JlIHNjb3BlZFxuLy8gdG8gLmVzLXNoZWV0ICh0aGUgY2xhc3Mgb24gdGhhdCBpbm5lciBib3R0b20tc2hlZXQsIHdoaWNoIHRyYXZlbHMgd2l0aCB0aGUgcG9ydGFsKVxuLy8gYW5kIC5lcy1yb290ICh0aGUgY29udGVudCByb290IGluc2lkZSBpdCkg4oCUIE5FVkVSIHVuZGVyIC5xZG5hcHJvLWVtb2ppLXNoZWV0LlxuXG4ucWRuYXByby1lbW9qaS1zaGVldCB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzOyAvLyB0aGUgaG9zdCBpcyBqdXN0IGEgd3JhcHBlcjsgdGhlIHJlYWwgVUkgbGl2ZXMgb24gLmVzLXNoZWV0XG59XG5cbi8vIFRoZSBib3R0b20tc2hlZXQgcm9vdCBkZWZhdWx0cyB0byB6LWluZGV4OjEwMDAsIGJ1dCBjb25zdW1lcnMgbWF5IGxpdmUgdW5kZXIgYVxuLy8gaGlnaGVyIG92ZXJsYXkg4oCUIHRoZSBQV0EgcGhvdG8tYW5ub3RhdG9yIGVkaXRvciBzaXRzIGF0IHotaW5kZXg6MjAwMDAuIExpZnQgVEhJU1xuLy8gc2hlZXQgYWJvdmUgaXQgKHNjb3BlZCB0byAuZXMtc2hlZXQsIHNvIG90aGVyIHNoZWV0cyBhcmUgdW50b3VjaGVkKS4gWzA0LjA3LjIwMjZdXG4ucWRuYXByby1ib3R0b20tc2hlZXQuZXMtc2hlZXQge1xuICB6LWluZGV4OiAyMTAwMDtcbn1cblxuLy8gLS0tLSBQYW5lbDogb25lIEZJWEVEIHRhbGwgaGVpZ2h0IGZvciB0aGUgd2hvbGUgbGlmZXRpbWUgKG5vIEpTIG1lYXN1cmluZykgLS0tLVxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LmVzLXNoZWV0IC5icy1wYW5lbCB7XG4gIGhlaWdodDogODIlO1xuICBtYXgtaGVpZ2h0OiA4MiU7XG4gIHBhZGRpbmc6IDRweCA2cHggMDtcbn1cbi5xZG5hcHJvLWJvdHRvbS1zaGVldC5lcy1zaGVldCAuYnMtaGFuZGxlLXpvbmUge1xuICBwYWRkaW5nOiA4cHggMCA0cHg7XG59XG4vLyBUaGUgYm9keSBqdXN0IGZyYW1lcyB0aGUgZW1vamkgVUk7IHNjcm9sbGluZyBoYXBwZW5zIGluc2lkZSAuZXMtc2Nyb2xsLlxuLnFkbmFwcm8tYm90dG9tLXNoZWV0LmVzLXNoZWV0IC5icy1ib2R5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZ2FwOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmVzLXJvb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIGNvbnRhaW5pbmcgYmxvY2sgZm9yIHRoZSBhYnNvbHV0ZWx5LXBvc2l0aW9uZWQgdG9uZSBwb3BvdmVyXG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1mb250LWZhbWlseSwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbn1cblxuLy8gQ29sb3VyIGVtb2ppIGV2ZXJ5d2hlcmUgZ2x5cGhzIHJlbmRlci5cbi5lcy1yb290IC5lcy1lbW9qaSxcbi5lcy1yb290IC5lcy10b25lIHtcbiAgZm9udC1mYW1pbHk6IFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiwgc2Fucy1zZXJpZjtcbn1cblxuLy8gLS0tLSBJY29ucyAoaW5saW5lIGxpbmUgU1ZHcykgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmVzLXJvb3QgLmVzLWljb24geyB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4OyBkaXNwbGF5OiBibG9jazsgZmxleC1zaHJpbms6IDA7IH1cbi5lcy1yb290IC5lcy10YWIgLmVzLWljb24geyB3aWR0aDogMjJweDsgaGVpZ2h0OiAyMnB4OyB9XG5cbi8vIC0tLS0gU2VhcmNoIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5lcy1yb290IC5lcy1zZWFyY2gge1xuICBmbGV4LXNocmluazogMDtcbiAgcGFkZGluZzogNnB4IDZweCAxMHB4O1xufVxuLmVzLXJvb3QgLmVzLXNlYXJjaC10cmlnZ2VyLFxuLmVzLXJvb3QgLmVzLXNlYXJjaC1maWVsZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy13aGl0ZS0wOCk7XG4gIGNvbG9yOiB2YXIoLS1jLXdoaXRlLTU1KTtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuLmVzLXJvb3QgLmVzLXNlYXJjaC10cmlnZ2VyIHsgY3Vyc29yOiB0ZXh0OyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4uZXMtcm9vdCAuZXMtc2VhcmNoLXBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLWMtd2hpdGUtNDUpOyB9XG5cbi8vIENvbGxhcHNlZCBieSBkZWZhdWx0OyAuZXMtc2VhcmNoaW5nIChvbiAuZXMtcm9vdCkgc3dhcHMgdHJpZ2dlciA8LT4gZmllbGQuXG4uZXMtcm9vdCAuZXMtc2VhcmNoLWZpZWxkIHsgZGlzcGxheTogbm9uZTsgfVxuLmVzLXJvb3QuZXMtc2VhcmNoaW5nIC5lcy1zZWFyY2gtdHJpZ2dlciB7IGRpc3BsYXk6IG5vbmU7IH1cbi5lcy1yb290LmVzLXNlYXJjaGluZyAuZXMtc2VhcmNoLWZpZWxkIHsgZGlzcGxheTogZmxleDsgfVxuXG4uZXMtcm9vdCAuZXMtc2VhcmNoLWZpZWxkLWljb24geyBjb2xvcjogdmFyKC0tYy13aGl0ZS00NSk7IH1cbi5lcy1yb290IC5lcy1zZWFyY2gtaW5wdXQge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG4uZXMtcm9vdCAuZXMtc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS1jLXdoaXRlLTQ1KTsgfVxuLmVzLXJvb3QgLmVzLXNlYXJjaC1jYW5jZWwge1xuICBmbGV4LXNocmluazogMDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwIDJweDtcbn1cblxuLy8gLS0tLSBTY3JvbGxlciArIHNlY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmVzLXJvb3QgLmVzLXNjcm9sbCB7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG59XG4uZXMtcm9vdCAuZXMtc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhciB7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGRpc3BsYXk6IG5vbmU7IH1cblxuLmVzLXJvb3QgLmVzLXNlY3Rpb24tdGl0bGUge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDI7XG4gIHBhZGRpbmc6IDhweCA4cHggNHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1jLXdoaXRlLTQ1KTtcbiAgLy8gT3BhcXVlLWVub3VnaCBiYWNraW5nIHNvIHNjcm9sbGluZyBlbW9qaSBkb24ndCBibGVlZCB0aHJvdWdoIHRoZSBzdGlja3kgdGl0bGUuXG4gIGJhY2tncm91bmQ6IHJnYmEoMzgsIDM4LCA0NCwgMC44Nik7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG59XG5cbi5lcy1yb290IC5lcy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgMWZyKTtcbiAgcGFkZGluZzogMnB4IDRweCA2cHg7XG59XG4uZXMtcm9vdCAuZXMtZW1vamkge1xuICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDI3cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLmVzLXJvb3QgLmVzLWVtb2ppOmFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUtMTQpOyB9XG5cbi8vIFNlYXJjaCByZXN1bHRzIHJlcGxhY2UgdGhlIGNhdGVnb3Jpc2VkIHNlY3Rpb25zIHdoaWxlIGEgcXVlcnkgaXMgYWN0aXZlLlxuLmVzLXJvb3QuZXMtaGFzLXF1ZXJ5IC5lcy1zZWN0aW9uIHsgZGlzcGxheTogbm9uZTsgfVxuLmVzLXJvb3QgLmVzLXJlc3VsdHMgeyBwYWRkaW5nLXRvcDogOHB4OyB9XG5cbi5lcy1yb290IC5lcy1lbXB0eSB7XG4gIHBhZGRpbmc6IDQ0cHggMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS1jLXdoaXRlLTQ1KTtcbn1cblxuLy8gLS0tLSBDYXRlZ29yeSBuYXYgKGJvdHRvbSkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmVzLXJvb3QgLmVzLWNhdG5hdiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDJweDtcbiAgcGFkZGluZzogNnB4IDZweCBjYWxjKDZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWMtd2hpdGUtMDgpO1xufVxuLmVzLXJvb3QgLmVzLXRhYiB7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUtNDUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZXMtcm9vdCAuZXMtdGFiOmFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUtMDgpOyB9XG4uZXMtcm9vdCAuZXMtdGFiLmlzLWFjdGl2ZSB7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlLTEyKTsgfVxuXG4vLyAtLS0tIFNraW4tdG9uZSBwb3BvdmVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZXMtcm9vdCAuZXMtdG9uZS1wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDJweDtcbiAgcGFkZGluZzogNnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBib3gtc2hhZG93OiAwIDZweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4yOCk7XG59XG4uZXMtcm9vdCAuZXMtdG9uZS1wb3BvdmVyW2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG4vLyBEb3dud2FyZCB0YWlsIHBvaW50aW5nIGF0IHRoZSBwcmVzc2VkIGVtb2ppLlxuLmVzLXJvb3QgLmVzLXRvbmUtcG9wb3Zlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTlweDtcbiAgbGVmdDogdmFyKC0tZXMtdGFpbC14LCA1MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGJvcmRlcjogOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLmVzLXJvb3QgLmVzLXRvbmUge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZXMtcm9vdCAuZXMtdG9uZTphY3RpdmUgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDYpOyB9XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9lbXB0eS1zdGF0ZS9fZW1wdHktc3RhdGUtY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnFkbmFwcm8tZW1wdHktc3RhdGVbaGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5xZG5hcHJvLWVtcHR5LXN0YXRlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogNjIwcHg7XG4gIG1hcmdpbjogMzJweCBhdXRvIDA7XG4gIHBhZGRpbmc6IDQ0cHggNDhweCA0OHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDIwLCAyNSwgODAsIDAuMDQpLCAwIDhweCAyNHB4IHJnYmEoMjAsIDI1LCA4MCwgMC4wNik7XG59XG5cbi5xZG5hcHJvLWVtcHR5LXN0YXRlICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBTb2xpZCB2YXJpYW50IChzdXJmYWNlPVwic29saWRcIik6IGEgbGlnaHQtcHVycGxlIGNhcmQgaW5zdGVhZCBvZiB0aGVcbiAgIGZyb3N0ZWQtZ2xhc3MgcGFuZWwsIHNvIHRoZSBlbXB0eSBzdGF0ZSByZWFkcyB3ZWxsIG9uIGEgcGxhaW4gd2hpdGVcbiAgIGJhY2tncm91bmQgKHRoZSBkZWZhdWx0IGdsYXNzIG9ubHkgd29ya3Mgb3ZlciBhIHRpbnRlZC9wdXJwbGUgYmFja2Ryb3ApLiAqL1xuLnFkbmFwcm8tZW1wdHktc3RhdGUuZW1wdHktc3RhdGUtc29saWQge1xuICBiYWNrZ3JvdW5kOiAjZjFmMmZkO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogbm9uZTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNmY4O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ucWRuYXByby1lbXB0eS1zdGF0ZS5lbXB0eS1zdGF0ZS1zb2xpZCAuZW1wdHktc3RhdGUtdGl0bGUge1xuICBjb2xvcjogIzNhNDI5MDtcbn1cblxuLyogT24gdGhlIGxpZ2h0LXB1cnBsZSBzb2xpZCBzdXJmYWNlIGEgcGxhaW4gYHN1YnRsZWAgYnV0dG9uJ3MgbmV1dHJhbCBncmV5XG4gICBob3ZlciAoI2YwZjFmMikgYWxsIGJ1dCBkaXNhcHBlYXJzIGFnYWluc3QgdGhlIGNhcmQgKCNmMWYyZmQpLiBSZS10aW50IGFueVxuICAgc3VidGxlIGFjdGlvbiB0byB0aGUgc3VidGxlLW9uLXB1cnBsZSB0cmVhdG1lbnQgc28gYSBkZWZhdWx0IGBzdWJ0bGVgIENUQVxuICAgcmVhZHMgY29ycmVjdGx5IGhlcmUgd2l0aG91dCB0aGUgY29uc3VtZXIgaGF2aW5nIHRvIHJlYWNoIGZvciBhIHN1cmZhY2UtXG4gICBzcGVjaWZpYyBidXR0b24gdHlwZS4gVGhlIHNvbGlkIGNhcmQgaXMgbGlnaHQtcHVycGxlIGluIGJvdGggdGhlbWVzLCBzb1xuICAgdGhlc2UgdmFsdWVzIGFwcGx5IGluIGxpZ2h0IGFuZCBkYXJrIGFsaWtlLiBWYWx1ZXMgbWlycm9yXG4gICAucWRuYXByby1idXR0b24uYnV0dG9uLXN1YnRsZS1wdXJwbGUtYmcuIFtLaW0gMjAyNi0wNy0wOV0gKi9cbi5xZG5hcHJvLWVtcHR5LXN0YXRlLmVtcHR5LXN0YXRlLXNvbGlkIC5lbXB0eS1zdGF0ZS1hY3Rpb25zIC5xZG5hcHJvLWJ1dHRvbi5idXR0b24tc3VidGxlIHtcbiAgY29sb3I6ICM0MDQ5OWE7XG59XG4ucWRuYXByby1lbXB0eS1zdGF0ZS5lbXB0eS1zdGF0ZS1zb2xpZCAuZW1wdHktc3RhdGUtYWN0aW9ucyAucWRuYXByby1idXR0b24uYnV0dG9uLXN1YnRsZTpob3Zlcjpub3QoLmJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjZGFkZGYyO1xufVxuLnFkbmFwcm8tZW1wdHktc3RhdGUuZW1wdHktc3RhdGUtc29saWQgLmVtcHR5LXN0YXRlLWFjdGlvbnMgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zdWJ0bGU6YWN0aXZlOm5vdCguYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNjN2NjZTg7XG59XG5cbi8qIFBhZ2UgdmFyaWFudCAoc3VyZmFjZT1cInBhZ2VcIik6IEtpbSdzIFBXQSBlbXB0eS1zdGF0ZSBkZXNpZ24sIDIxLjA3LjIwMjYuXG4gICBOZXV0cmFsIGJhY2tncm91bmQsIG5vIGNhcmQvc3VyZmFjZS9zaGFkb3cgLS0gc2l0cyBkaXJlY3RseSBvbiB0aGVcbiAgIHBhZ2UvYXBwIGJhY2tncm91bmQuIEFsd2F5cyBhIHNpbmdsZSB2ZXJ0aWNhbCBjb2x1bW4gKHRpdGxlLCBzdWJ0ZXh0LFxuICAgYWN0aW9ucywgaWxsdXN0cmF0aW9uKTogdGhlIFwiZXh0ZW5kZWRcIiB0d28tY29sdW1uIGdyaWQgbmV2ZXIgYXBwbGllc1xuICAgaGVyZSwgYmVjYXVzZSB0aGUgSlMga2VlcHMgYGVtcHR5LXN0YXRlLWV4dGVuZGVkYCBvZmYgd2hlbmV2ZXJcbiAgIGBlbXB0eS1zdGF0ZS1wYWdlYCBpcyBvbiAoc2VlIHFkbmEtZW1wdHktc3RhdGUuanMgX3JlbmRlcigpKS4gV2l0aFxuICAgYGVtcHR5LXN0YXRlLWV4dGVuZGVkYCBhYnNlbnQsIHRoZSBob3N0IHN0YXlzIHBsYWluIGBkaXNwbGF5OiBibG9ja2BcbiAgICh0aGUgYmFzZSAucWRuYXByby1lbXB0eS1zdGF0ZSBydWxlIGFib3ZlKSwgc28gdGhlIGNvcHkgY29sdW1uIGFuZCB0aGVcbiAgIGlsbHVzdHJhdGlvbiBjb2x1bW4gLS0gYm90aCBhbHJlYWR5IHNpYmxpbmdzIGFwcGVuZGVkIGluIHRoYXQgb3JkZXIgLS1cbiAgIHNpbXBseSBzdGFjayB0b3AgdG8gYm90dG9tIHdpdGggbm8gZXh0cmEgbGF5b3V0IHJ1bGUgbmVlZGVkIGZvciB0aGF0LlxuXG4gICBUaXRsZSBhbmQgc3VidGV4dCB1c2UgdGhlIHNlbWFudGljIC0tYy1icmFuZC1wdXJwbGUgLyAtLWMtdGV4dC1oZWFkaW5nXG4gICBjdXN0b20gcHJvcGVydGllcyAoZGVzaWduLXRva2Vucy9fZGVzaWduLXRva2Vucy5zY3NzKSBpbnN0ZWFkIG9mXG4gICBoYXJkY29kZWQgaGV4LCBzbyBib3RoIGF1dG9tYXRpY2FsbHkgcmVhZCBjb3JyZWN0bHkgaW5cbiAgIFtkYXRhLXRoZW1lPWRhcmtdIHdpdGggbm8gc2VwYXJhdGUgZGFyay1tb2RlIG92ZXJyaWRlIHJlcXVpcmVkIGhlcmUuICovXG4ucWRuYXByby1lbXB0eS1zdGF0ZS5lbXB0eS1zdGF0ZS1wYWdlIHtcbiAgbWF4LXdpZHRoOiA0ODBweDtcbiAgcGFkZGluZzogOHB4IDI0cHggMzJweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG4gIGJhY2tkcm9wLWZpbHRlcjogbm9uZTtcbn1cblxuLnFkbmFwcm8tZW1wdHktc3RhdGUuZW1wdHktc3RhdGUtcGFnZSAuZW1wdHktc3RhdGUtdGl0bGUge1xuICBjb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucWRuYXByby1lbXB0eS1zdGF0ZS5lbXB0eS1zdGF0ZS1wYWdlIC5lbXB0eS1zdGF0ZS13aW5rIHtcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1oZWFkaW5nLCAjMWExZjRkKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKiBPbi1wdXJwbGUgdmFyaWFudCAoc3VyZmFjZT1cIm9uLXB1cnBsZVwiKTogdGhlIHBhZ2UgdmFyaWFudCdzIGxheW91dCwgcmVjb2xvdXJlZCBmb3JcbiAgIGEgcHVycGxlIHN1cmZhY2UuIFRoZSBKUyBnaXZlcyB0aGlzIHZhcmlhbnQgQk9USCBlbXB0eS1zdGF0ZS1wYWdlIGFuZFxuICAgZW1wdHktc3RhdGUtb24tcHVycGxlLCBzbyBldmVyeXRoaW5nIGFib3ZlIHN0aWxsIGFwcGxpZXMgYW5kIG9ubHkgdGhlIGNvcHkgY29sb3Vyc1xuICAgY2hhbmdlIGhlcmUgLS0gb25lIGxheW91dCwgdHdvIGNvbG91ciBzZXRzLCBzbyBhIHNwYWNpbmcgZml4IGNhbiBuZXZlciBsYW5kIG9uIG9uZVxuICAgYW5kIG1pc3MgdGhlIG90aGVyLiBVc2VkIGJ5IHRoZSBQV0EgdGFza2xpc3QgY2hvb3Nlciwgd2hpY2ggcGFpbnRzIGl0cyBvd25cbiAgIC0tYy1wdXJwbGUtNTAwIGJhY2tncm91bmQ7IHdpdGhvdXQgdGhpcyB0aGUgcGFnZSB2YXJpYW50J3MgYnJhbmQtcHVycGxlIHRpdGxlIGFuZFxuICAgZGFyay1ncmV5IHN1YnRleHQgc2l0IHVucmVhZGFibGUgb24gdGhhdCBwdXJwbGUuIFtLaW0gMzAuMDcuMjAyNl0gKi9cbi5xZG5hcHJvLWVtcHR5LXN0YXRlLmVtcHR5LXN0YXRlLXBhZ2UuZW1wdHktc3RhdGUtb24tcHVycGxlIC5lbXB0eS1zdGF0ZS10aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtb24tYWN0aW9uLCAjZmZmZmZmKTtcbn1cbi5xZG5hcHJvLWVtcHR5LXN0YXRlLmVtcHR5LXN0YXRlLXBhZ2UuZW1wdHktc3RhdGUtb24tcHVycGxlIC5lbXB0eS1zdGF0ZS13aW5rIHtcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUtNzAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSk7XG59XG5cbi8qIEFjdGlvbnMgcm93OiAwLCAxIG9yIDIgcWRuYXByby1idXR0b24gY2hpbGRyZW4gKHNlZSB0aGUgYWN0aW9ucy1zbG90XG4gICBjb250cmFjdCBpbiBxZG5hLWVtcHR5LXN0YXRlLmpzKS4gRXZlcnkgYnV0dG9uIGdldHMgZmxleDogMSAxIDAsIHNvIGFcbiAgIHNpbmdsZSBidXR0b24gZmlsbHMgdGhlIHdob2xlIHJvdyAoc29mdCBmdWxsLXdpZHRoIENUQSkgYW5kIHR3b1xuICAgYnV0dG9ucyBzcGxpdCBpdCBldmVubHkgd2l0aCBlcXVhbCBoZWlnaHQgKGFsaWduLWl0ZW1zOiBzdHJldGNoKSAtLVxuICAgbm8gOm9ubHktY2hpbGQgLyA6aGFzKCkgc2VsZWN0b3IgbmVlZGVkIGZvciB0aGF0LiBSYWRpdXMgaXMgYnVtcGVkIHRvXG4gICB0aGUgLS1yLTMgKDEycHgpIHRva2VuLCBzY29wZWQgdG8gdGhpcyB2YXJpYW50J3MgYWN0aW9ucyByb3cgb25seSwgc29cbiAgIHFkbmFwcm8tYnV0dG9uJ3Mgbm9ybWFsIDhweCByYWRpdXMgZXZlcnl3aGVyZSBlbHNlIGlzIHVudG91Y2hlZC4gKi9cbi5xZG5hcHJvLWVtcHR5LXN0YXRlLmVtcHR5LXN0YXRlLXBhZ2UgLmVtcHR5LXN0YXRlLWFjdGlvbnMge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZ2FwOiAxMnB4O1xufVxuXG4ucWRuYXByby1lbXB0eS1zdGF0ZS5lbXB0eS1zdGF0ZS1wYWdlIC5lbXB0eS1zdGF0ZS1hY3Rpb25zIC5xZG5hcHJvLWJ1dHRvbiB7XG4gIGZsZXg6IDEgMSAwO1xuICBtaW4td2lkdGg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItMywgMTJweCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAucWRuYXByby1lbXB0eS1zdGF0ZS5lbXB0eS1zdGF0ZS1wYWdlIC5lbXB0eS1zdGF0ZS1hY3Rpb25zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnFkbmFwcm8tZW1wdHktc3RhdGUuZW1wdHktc3RhdGUtcGFnZSAuZW1wdHktc3RhdGUtYWN0aW9ucyAucWRuYXByby1idXR0b24ge1xuICAgIGZsZXg6IDEgMSAxMDAlO1xuICB9XG59XG5cbi8qIElsbHVzdHJhdGlvbjogbGFyZ2UsIGFuZCBhbHdheXMgZmFkZWQgdG8gNjAlIG9wYWNpdHkgLS0gdGhpcyBpcyBhXG4gICBkZWNvcmF0aXZlIGNob2ljZSwgbm90IGEgXCJkaXNhYmxlZFwiIHN0YXRlLCBzbyBpdCBpcyBkb25lIGhlcmUgcmF0aGVyXG4gICB0aGFuIHZpYSBxZG5hcHJvLWlsbHVzdHJhdGlvbidzIG93biBgZGlzYWJsZWRgIGF0dHJpYnV0ZSAod2hpY2hcbiAgIGNhcnJpZXMgZGlmZmVyZW50IHNlbWFudGljcy9zdHlsaW5nKS4gVGhlIGdlbmVyaWMgMjYwcHggY2FwIGJlbG93IGlzXG4gICByZW1vdmVkIHNvIHRoZSBpbGx1c3RyYXRpb24ncyBvd24gYHNpemVgIGF0dHJpYnV0ZSBmdWxseSBjb250cm9scyBpdHNcbiAgIHdpZHRoLCBzYW1lIGFzIGFueSBvdGhlciBxZG5hcHJvLWlsbHVzdHJhdGlvbiB1c2FnZS4gKi9cbi5xZG5hcHJvLWVtcHR5LXN0YXRlLmVtcHR5LXN0YXRlLXBhZ2UgLmVtcHR5LXN0YXRlLWlsbHVzdHJhdGlvbiB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLnFkbmFwcm8tZW1wdHktc3RhdGUuZW1wdHktc3RhdGUtcGFnZSAuZW1wdHktc3RhdGUtaWxsdXN0cmF0aW9uIGltZyxcbi5xZG5hcHJvLWVtcHR5LXN0YXRlLmVtcHR5LXN0YXRlLXBhZ2UgLmVtcHR5LXN0YXRlLWlsbHVzdHJhdGlvbiBzdmcge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8qIEV4dGVuZGVkIGxheW91dDogdHdvLWNvbHVtbiBncmlkIHdoZW4gcHJldmlldyBvciBpbGx1c3RyYXRpb24gaXMgcHJlc2VudC4gKi9cbi5xZG5hcHJvLWVtcHR5LXN0YXRlLmVtcHR5LXN0YXRlLWV4dGVuZGVkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgYXV0byk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC13aWR0aDogMTAyMHB4O1xuICBwYWRkaW5nOiAzNnB4IDQwcHggNDBweDtcbiAgZ2FwOiAyOHB4O1xufVxuXG4ucWRuYXByby1lbXB0eS1zdGF0ZS5lbXB0eS1zdGF0ZS1leHRlbmRlZCAuZW1wdHktc3RhdGUtY29weSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ucWRuYXByby1lbXB0eS1zdGF0ZS5lbXB0eS1zdGF0ZS1leHRlbmRlZCAuZW1wdHktc3RhdGUtYWN0aW9ucyB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnFkbmFwcm8tZW1wdHktc3RhdGUgLmVtcHR5LXN0YXRlLWNvcHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucWRuYXByby1lbXB0eS1zdGF0ZSAuZW1wdHktc3RhdGUtZXllYnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiAjZTZlOWZmO1xuICBjb2xvcjogIzQwNDk5YTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5xZG5hcHJvLWVtcHR5LXN0YXRlIC5lbXB0eS1zdGF0ZS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMGIwYjBkO1xuICBtYXJnaW46IDAgMCAxMnB4O1xufVxuXG4ucWRuYXByby1lbXB0eS1zdGF0ZSAuZW1wdHktc3RhdGUtd2luayB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGNvbG9yOiAjNGE0ZDVhO1xuICBtYXJnaW46IDAgMCAyNHB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5xZG5hcHJvLWVtcHR5LXN0YXRlIC5lbXB0eS1zdGF0ZS1ib2R5IHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgY29sb3I6ICM2ZTcyODA7XG4gIG1hcmdpbjogMCAwIDI4cHg7XG4gIG1heC13aWR0aDogNDgwcHg7XG59XG5cbi5xZG5hcHJvLWVtcHR5LXN0YXRlIC5lbXB0eS1zdGF0ZS1ib2R5IHAge1xuICBtYXJnaW46IDAgMCAxMnB4O1xufVxuXG4ucWRuYXByby1lbXB0eS1zdGF0ZSAuZW1wdHktc3RhdGUtYm9keSBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucWRuYXByby1lbXB0eS1zdGF0ZSAuZW1wdHktc3RhdGUtYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnFkbmFwcm8tZW1wdHktc3RhdGUgLmVtcHR5LXN0YXRlLXByZXZpZXcsXG4ucWRuYXByby1lbXB0eS1zdGF0ZSAuZW1wdHktc3RhdGUtaWxsdXN0cmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5xZG5hcHJvLWVtcHR5LXN0YXRlIC5lbXB0eS1zdGF0ZS1wcmV2aWV3IGltZyxcbi5xZG5hcHJvLWVtcHR5LXN0YXRlIC5lbXB0eS1zdGF0ZS1pbGx1c3RyYXRpb24gaW1nLFxuLnFkbmFwcm8tZW1wdHktc3RhdGUgLmVtcHR5LXN0YXRlLXByZXZpZXcgc3ZnLFxuLnFkbmFwcm8tZW1wdHktc3RhdGUgLmVtcHR5LXN0YXRlLWlsbHVzdHJhdGlvbiBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyNjBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnFkbmFwcm8tZW1wdHktc3RhdGUgLmVtcHR5LXN0YXRlLXByZXZpZXcgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMjAsIDI1LCA4MCwgMC4wNSksIDAgOHB4IDIycHggcmdiYSgyMCwgMjUsIDgwLCAwLjEpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLnFkbmFwcm8tZW1wdHktc3RhdGUuZW1wdHktc3RhdGUtZXh0ZW5kZWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG4gIC5xZG5hcHJvLWVtcHR5LXN0YXRlLmVtcHR5LXN0YXRlLWV4dGVuZGVkIC5lbXB0eS1zdGF0ZS1pbGx1c3RyYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWVtcHR5LXN0YXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSg0NiwgNDgsIDU0LCAwLjU1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1lbXB0eS1zdGF0ZSAuZW1wdHktc3RhdGUtZXllYnJvdyB7XG4gIGJhY2tncm91bmQ6ICMzYTM1NTU7XG4gIGNvbG9yOiAjYzBjNWZmO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1lbXB0eS1zdGF0ZSAuZW1wdHktc3RhdGUtdGl0bGUge1xuICBjb2xvcjogI2UxZTNlNjtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tZW1wdHktc3RhdGUgLmVtcHR5LXN0YXRlLXdpbmsge1xuICBjb2xvcjogI2E2YWFiMztcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tZW1wdHktc3RhdGUgLmVtcHR5LXN0YXRlLWJvZHkge1xuICBjb2xvcjogIzg5OGU5OTtcbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBxZG5hcHJvLWV2ZW50LWNhcmQg4oCUIGNhbGVuZGFyIGV2ZW50IGNhcmQgKFBXQSBjYWxlbmRhciBNMSlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIFFETkEgdG9rZW5zIHVzZWQ6XG4vLyAgICAtLWMtcHVycGxlLTUwICAgICAgICAjZTZlOWZmICAgcGxhbm5lZCBiZyAgICAgIChGaWdtYSBjYWwtaXRlbS1iZy1ibHVlIOKGkiBxZG5hIHB1cnBsZSlcbi8vICAgIC0tYy1wdXJwbGUtNTAwICAgICAgICM0MDQ5OWEgICBwbGFubmVkIHRleHQgICAgKEZpZ21hIGNhbC1pdGVtLXRleHQtYmx1ZSDihpIgcWRuYSBwdXJwbGUpXG4vLyAgICAtLWMtc2lnbmFsLWdyZWVuLTEwMCAjZDhmNGUzICAgY29tcGxldGUgYmcgICAgIChGaWdtYSAjZDdmM2U1KVxuLy8gICAgLS1jLXNpZ25hbC1ncmVlbi10ZXh0ICM0MjhiNmUgIGNvbXBsZXRlIHRleHQgICAoRmlnbWEgIzJjOWI2NSlcbi8vICAgIC0tYy1zaWduYWwtcmVkLWJnICAgICNmZWUzZTMgICBvdmVyZHVlIGJnICAgICAgKEZpZ21hICNmZWQ4ZGYpXG4vLyAgICAtLWMtc2lnbmFsLXJlZC10ZXh0ICAjYzY1YTVhICAgb3ZlcmR1ZSB0ZXh0ICAgIChGaWdtYSAjYzczMTRlKVxuLy8gICAgLS1jLWdyZXktNTAgICAgICAgICAgI2YwZjFmMiAgIGJsb2NrZWQgYmcgICAgICAoRmlnbWEgI2VkZWVmMSlcbi8vICAgIC0tYy1ncmV5LTYwMCAgICAgICAgICM1NjViNjYgICBibG9ja2VkIHRleHQgICAgKEZpZ21hICM1YjYxNmUpXG4vLyAgICAtLXItMiAgICAgICAgICAgICAgICA4cHggICAgICAgY2FyZCByYWRpdXMgICAgIChGaWdtYSByYWRpdXMtc21hbGwpXG4vLyAgTGF5b3V0IGZyb20gRmlnbWEgXCJQbGFuIGl0ZW1cIiAoMzYwNDoyOTk3NCk6IHBhZGRpbmcgNHB4LCBnYXAgNHB4LFxuLy8gIHRpdGxlIDE0cHgvMjBweCBzZW1pYm9sZCwgbWV0YSAxMnB4ICsgMTZweCBpY29uLCBnYXAgNHB4LlxuLy8gIEV2ZXJ5IHN0YXR1cyA9IDIgdmFyaWFibGUgb3ZlcnJpZGVzOyBhIHdyYXBwZXIgKGFnZW5kYSBsYXllciwgdGhlbWUpXG4vLyAgY2FuIHJlY29sb3VyIGNhcmRzIGJ5IHNldHRpbmcgLS1ldmVudC1jYXJkLWJnIC8gLS1ldmVudC1jYXJkLXRleHQuXG4vLyAgRkxBVCBDU1M7IHN5bmNlZCB0byB0aGUgUFdBIHZpYSBzeW5jLXYyLWNvbXBvbmVudHMuanMuXG5cbi5xZG5hcHJvLWV2ZW50LWNhcmQge1xuICAvLyBTdGF0dXMgdmFyaWFibGVzIOKAlCBwbGFubmVkIChwdXJwbGUpIGlzIHRoZSBkZWZhdWx0XG4gIC0tZXZlbnQtY2FyZC1iZzogICB2YXIoLS1jLXB1cnBsZS01MCwgI2U2ZTlmZik7XG4gIC0tZXZlbnQtY2FyZC10ZXh0OiB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gcG9zaXRpb25pbmcgY29udGV4dCBmb3IgdGhlIGNvbmZsaWN0IGRvdCwgYmVsb3dcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgcGFkZGluZzogNHB4IDZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0yLCA4cHgpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ldmVudC1jYXJkLWJnKTtcbiAgY29sb3I6IHZhcigtLWV2ZW50LWNhcmQtdGV4dCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1mb250LWZhbWlseSwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMTZzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xNnMgZWFzZTtcbn1cblxuLnFkbmFwcm8tZXZlbnQtY2FyZC0tY29tcGxldGUge1xuICAtLWV2ZW50LWNhcmQtYmc6ICAgdmFyKC0tYy1zaWduYWwtZ3JlZW4tMTAwLCAjZDhmNGUzKTtcbiAgLS1ldmVudC1jYXJkLXRleHQ6IHZhcigtLWMtc2lnbmFsLWdyZWVuLXRleHQsICM0MjhiNmUpO1xufVxuLnFkbmFwcm8tZXZlbnQtY2FyZC0tb3ZlcmR1ZSB7XG4gIC0tZXZlbnQtY2FyZC1iZzogICB2YXIoLS1jLXNpZ25hbC1yZWQtYmcsICNmZWUzZTMpO1xuICAtLWV2ZW50LWNhcmQtdGV4dDogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpO1xufVxuLnFkbmFwcm8tZXZlbnQtY2FyZC0tYmxvY2tlZCB7XG4gIC0tZXZlbnQtY2FyZC1iZzogICB2YXIoLS1jLWdyZXktNTAsICNmMGYxZjIpO1xuICAtLWV2ZW50LWNhcmQtdGV4dDogdmFyKC0tYy1ncmV5LTYwMCwgIzU2NWI2Nik7XG59XG4vLyBTdGFydGVkIGJ1dCBub3QgZmluaXNoZWQgKHNjb3BlIHYxLjMsIDAyLjA3LjIwMjYpIOKAlCBvcmFuZ2UsIGJldHdlZW4gcGxhbm5lZCBhbmQgY29tcGxldGVcbi5xZG5hcHJvLWV2ZW50LWNhcmQtLWlucHJvZ3Jlc3Mge1xuICAtLWV2ZW50LWNhcmQtYmc6ICAgdmFyKC0tYy1zaWduYWwtb3JhbmdlLWJnLCAjZmRlYWRjKTtcbiAgLS1ldmVudC1jYXJkLXRleHQ6IHZhcigtLWMtc2lnbmFsLW9yYW5nZS10ZXh0LCAjYmM2YTFmKTtcbn1cbi8vIFBlcnNvbmFsIGV2ZW50IChcIlBsYW4gZXZlbnRcIiwgc2NvcGUgdjEuMykg4oCUIE9ORSBjbGVhciBjb2xvdXIgZm9yIGFsbCBwZXJzb25hbCBpdGVtcztcbi8vIHRoZSBvcHRpb25hbCBjYXRlZ29yeSBpcyBhIGxhYmVsLCBpdCBkb2VzIG5vdCBkcml2ZSB0aGUgY29sb3VyXG4ucWRuYXByby1ldmVudC1jYXJkLS1wZXJzb25hbCB7XG4gIC0tZXZlbnQtY2FyZC1iZzogICB2YXIoLS1jLXNpZ25hbC1waW5rLWJnLCAjZjZlMWU4KTtcbiAgLS1ldmVudC1jYXJkLXRleHQ6IHZhcigtLWMtc2lnbmFsLXBpbmstdGV4dCwgI2IyNTc3Nyk7XG59XG5cbi8vIGRyYWZ0PVwiXCIgKFFETkEgUGxhbm5lciBmYXNlIEEsIDE4LjA3LjIwMjYpIOKAlCBhIG5vdC15ZXQtY29uZmlybWVkIHBsYW5uaW5nXG4vLyBpdGVtLiBNQVRDSEVTIHRoZSByZXNvdXJjZS10aW1lbGluZSBib2FyZCdzIGV4aXN0aW5nXG4vLyAucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fY2hpcC0tZHJhZnQgdHJlYXRtZW50IGV4YWN0bHkgKHNhbWUgZGFzaGVkXG4vLyBib3JkZXIgd2lkdGgsIHNhbWUgY29sb3ItbWl4IHJlY2lwZSk6IGRhc2hlZCBib3JkZXIgaW4gdGhlIGNhcmQncyBPV05cbi8vIHN0YXR1cyBjb2xvciAoLS1ldmVudC1jYXJkLXRleHQpIGFuZCBhIHJlZHVjZWQtb3BhY2l0eSB2ZXJzaW9uIG9mIGl0cyBPV05cbi8vIHN0YXR1cyBiYWNrZ3JvdW5kICgtLWV2ZW50LWNhcmQtYmcgdmlhIGNvbG9yLW1peCksIHNvIGl0IGRyb3BzIG9udG8gQU5ZXG4vLyBzdGF0dXMgKHBsYW5uZWQvY29tcGxldGUvb3ZlcmR1ZS9ibG9ja2VkL2lucHJvZ3Jlc3MvcGVyc29uYWwpIHdpdGhvdXQgYVxuLy8gbmV3IHZhcmlhbnQgcGVyIHN0YXR1cy4gTm8gZmFsbGJhY2sgbmVlZGVkIG9uIHRoZSB2YXJzIGhlcmUgKHVubGlrZSB0aGVcbi8vIHJlc291cmNlLXRpbWVsaW5lIGNvcHkpIOKAlCB0aGlzIHJ1bGUgbGl2ZXMgaW5zaWRlIHRoZSBjb21wb25lbnQgdGhhdCBzZXRzXG4vLyBib3RoIGN1c3RvbSBwcm9wZXJ0aWVzIG9uIGl0c2VsZiwgc28gdGhleSBhcmUgYWx3YXlzIGRlZmluZWQgYnkgdGhlIHRpbWVcbi8vIHRoaXMgYXBwbGllcy4gUHVyZWx5IHZpc3VhbDsgZG9lcyBub3QgYWZmZWN0IHByZXNzL2tleWJvYXJkIGJlaGF2aW91ci5cbi5xZG5hcHJvLWV2ZW50LWNhcmQuaXMtZHJhZnQge1xuICBib3JkZXI6IDEuNXB4IGRhc2hlZCB2YXIoLS1ldmVudC1jYXJkLXRleHQpO1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tZXZlbnQtY2FyZC1iZykgNTUlLCB0cmFuc3BhcmVudCk7XG59XG5cbi8vIHNpemU9XCJzbWFsbFwiIOKAlCBjb21wYWN0IGJvYXJkLWNoaXAgc2NhbGUgKEtpbSwgMTYuMDcuMjAyNiDigJQgXCJuaWV0IGluXG4vLyB2ZXJob3VkaW5nLCBmb250IHZlZWwgdGUgZ3Jvb3RcIjogdGhlIGNhcmQgd2FzIGRlc2lnbmVkIGF0IFBXQSBzY2FsZVxuLy8gKDE0cHggc2VtaWJvbGQgdGl0bGUpLCB3aGljaCByZWFkcyBvdmVyc2l6ZWQgYWdhaW5zdCAxM3B4IGJvYXJkXG4vLyB0eXBvZ3JhcGh5KS4gQWJzZW50IChkZWZhdWx0KSA9IHVudG91Y2hlZCBQV0Egc2NhbGUuIENsYXNzLWJhc2VkLCBzYW1lXG4vLyBpZGlvbSBhcyB0aGUgc3RhdHVzIG1vZGlmaWVycyBhYm92ZS4gVXNlZCBieSBxZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lJ3Ncbi8vIF9idWlsZENoaXAgKHNpemU9XCJzbWFsbFwiIG9uIGV2ZXJ5IGNoaXApIOKAlCB0dW5lZCBzbyBhIH4yMnB4LXRhbGwgY2hpcFxuLy8gbG9va3MgYmFsYW5jZWQgbmV4dCB0byB0aGUgYm9hcmQncyAxM3B4IGxhYmVscy5cbi5xZG5hcHJvLWV2ZW50LWNhcmQtLXNpemUtc21hbGwge1xuICBwYWRkaW5nOiAycHggNXB4O1xuICBnYXA6IDFweDtcbn1cbi5xZG5hcHJvLWV2ZW50LWNhcmQtLXNpemUtc21hbGwgLnFkbmFwcm8tZXZlbnQtY2FyZF9fdGl0bGUge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xufVxuLnFkbmFwcm8tZXZlbnQtY2FyZC0tc2l6ZS1zbWFsbCAucWRuYXByby1ldmVudC1jYXJkX19tZXRhLXRleHQge1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xufVxuLnFkbmFwcm8tZXZlbnQtY2FyZC0tc2l6ZS1zbWFsbCAucWRuYXByby1ldmVudC1jYXJkX19tZXRhIC5xZG5hcHJvLWljb24sXG4ucWRuYXByby1ldmVudC1jYXJkLS1zaXplLXNtYWxsIC5xZG5hcHJvLWV2ZW50LWNhcmRfX21ldGEgcWRuYXByby1pY29uIHtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbn1cblxuLy8gUHJlc3NlZCDigJQgc3lzdGVtaWMgZGFya2VuOyBob3ZlciBpcyBpbnRlbnRpb25hbGx5IGFic2VudCAodG91Y2gtZmlyc3QsXG4vLyB0aGUgZ3JpZCBjZWxsIHByb3ZpZGVzIG5vIGhvdmVyIGFmZm9yZGFuY2UgZWl0aGVyKVxuLnFkbmFwcm8tZXZlbnQtY2FyZC5pcy1wcmVzc2VkIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDAuOTQpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xufVxuXG4vLyBGb2N1cyDigJQgdW5pZmllZCBzdGFja2VkIGJveC1zaGFkb3cgcmVjaXBlIChyaW5nIG9uIGVkZ2UgKyBzb2Z0IGdsb3cpXG4ucWRuYXByby1ldmVudC1jYXJkOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5xZG5hcHJvLWV2ZW50LWNhcmQ6Zm9jdXMtdmlzaWJsZSxcbi5xZG5hcHJvLWV2ZW50LWNhcmQuZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OlxuICAgIDAgMCAwIDJweCB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpLFxuICAgIDAgMCAwIDZweCB2YXIoLS1jLXB1cnBsZS1zb2Z0LTE4LCByZ2JhKDY0LCA3MywgMTU0LCAwLjE4KSk7XG59XG5cbi8vIFRpdGxlIOKAlCBvbmUgbGluZSBwZXIgRmlnbWEgYXQgcmVzdDsgaGVpZ2h0LWF3YXJlIG11bHRpLWxpbmUgY2xhbXAgKEtpbSxcbi8vIDE2LjA3LjIwMjYg4oCUIFwiZWVuIGhvZ2Uga2FhcnQgdG9vbnQgbm9nIHN0ZWVkcyAxIHJlZ2VsLCB6b25kZVwiKS4gVGhlIGNhcmQnc1xuLy8gb3duIEpTIChfbWVhc3VyZVRpdGxlQ2xhbXApIHNldHMgLXdlYmtpdC1saW5lLWNsYW1wIHRvIHRoZSBudW1iZXIgb2Ygd2hvbGVcbi8vIGxpbmVzIHRoYXQgZml0IHRoZSBjYXJkJ3MgYWN0dWFsIGF2YWlsYWJsZSB0aXRsZSBoZWlnaHQsIHNvIHRoaXMgc3RhcnRzIGF0XG4vLyAxIChpZGVudGljYWwgbG9vayB0byB0aGUgb2xkIG5vd3JhcC9lbGxpcHNpcyBydWxlKSBhbmQgb25seSBncm93cyB3aGVuIHRoZVxuLy8gY2FyZCBpcyB0YWxsIGVub3VnaC4gZmxleDpub25lIGlzIGtlcHQg4oCUIHRoZSBib3ggc2l6ZXMgdG8gaXRzIE9XTiBjbGFtcGVkXG4vLyBjb250ZW50ICgxLi5OIGxpbmVzKSwgaXQgbmV2ZXIgc3RyZXRjaGVzIHRvIGZpbGwgbGVmdG92ZXIgY29sdW1uIHNwYWNlLlxuLnFkbmFwcm8tZXZlbnQtY2FyZF9fdGl0bGUge1xuICBmbGV4OiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4vLyBMZWFkaW5nLWF2YXRhciByb3cg4oCUIG9wdGlvbmFsLCBhZGRpdGl2ZSAoYXZhdGFyLXNyYyAvIGF2YXRhci1pbml0aWFscykuXG4vLyBPbmx5IHByZXNlbnQgd2hlbiB0aGUgY2FyZCB3YXMgYnVpbHQgd2l0aCBhbiBhdmF0YXI7IHRoZSB0aXRsZSBrZWVwc1xuLy8gZWxsaXBzaXppbmcgYWdhaW5zdCB0aGUgZml4ZWQtd2lkdGggYXZhdGFyIHNpYmxpbmcuXG4ucWRuYXByby1ldmVudC1jYXJkX19yb3cge1xuICBmbGV4OiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnFkbmFwcm8tZXZlbnQtY2FyZF9fcm93IC5xZG5hcHJvLWV2ZW50LWNhcmRfX3RpdGxlIHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnFkbmFwcm8tZXZlbnQtY2FyZF9fYXZhdGFyIHtcbiAgZmxleDogbm9uZTtcbn1cblxuLy8gTWV0YSByb3cg4oCUIDE2cHggaWNvbiArIDEycHggdGV4dDsgZGlzYXBwZWFycyBieSBjbGlwcGluZyBvbiBzaG9ydCBjYXJkc1xuLnFkbmFwcm8tZXZlbnQtY2FyZF9fbWV0YSB7XG4gIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBtaW4td2lkdGg6IDA7XG59XG4ucWRuYXByby1ldmVudC1jYXJkX19tZXRhIC5xZG5hcHJvLWljb24sXG4ucWRuYXByby1ldmVudC1jYXJkX19tZXRhIHFkbmFwcm8taWNvbiB7XG4gIGZsZXg6IG5vbmU7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnFkbmFwcm8tZXZlbnQtY2FyZF9fbWV0YS10ZXh0IHtcbiAgbWluLXdpZHRoOiAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLy8gQ29uZmxpY3QgZG90IChRRE5BIFBsYW5uZXIgYXZhaWxhYmlsaXR5IHJvdW5kLCBLaW0tYXBwcm92ZWQgMTcuMDcuMjAyNikg4oCUXG4vLyBwYXJ0IG9mIHRoZSBjb21wb25lbnQncyBvd24gcmVuZGVyKCksIHNlZSB0aGUgYGNvbmZsaWN0YCBhdHRyaWJ1dGUgaW4gdGhlXG4vLyBkb2NibG9jay4gRlVMTFkgSU5TSURFIHRoZSBjYXJkIChuZWdhdGl2ZSBvZmZzZXRzIGdldCBjbGlwcGVkIGJ5IGFcbi8vIGNvbnN1bWVyJ3Mgb3ZlcmZsb3c6aGlkZGVuKS4gcG9pbnRlci1ldmVudHM6IG5vbmUgc28gaXQgbmV2ZXIgaW50ZXJjZXB0c1xuLy8gcHJlc3MvZHJhZyBoYW5kbGluZy4gU2luY2UgdGhlIHVuaWZpY2F0aW9uIHJvdW5kIG9mIDE3LjA3LjIwMjYgdGhpcyBpc1xuLy8gVEhFIG9uZSBjb25mbGljdCBkb3Qg4oCUIHRoZSByZXNvdXJjZS10aW1lbGluZSdzIG9sZCBfX2NoaXAtY29uZmxpY3Rcbi8vIG92ZXJsYXkgc3BhbiB3YXMgcmVtb3ZlZDsgZXZlcnkgY29uc3VtZXIgc2V0cyB0aGUgYXR0cmlidXRlIGluc3RlYWQuXG4ucWRuYXByby1ldmVudC1jYXJkX19jb25mbGljdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIHJpZ2h0OiAycHg7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEuNXB4ICNmZmY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tZXZlbnQtY2FyZF9fY29uZmxpY3QtLW92ZXJsYXAge1xuICBiYWNrZ3JvdW5kOiAjZjU5ZTBiO1xufVxuLnFkbmFwcm8tZXZlbnQtY2FyZF9fY29uZmxpY3QtLXVuYXZhaWxhYmxlIHtcbiAgYmFja2dyb3VuZDogI2RjMjYyNjtcbn1cblxuLy8gY29uZmxpY3QtYWNjZXB0ZWQ9XCJcIiAoUUROQSBQbGFubmVyIFwiYmV3dXN0IGdlcGxhbmRcIiByb3VuZCwgMTguMDcuMjAyNikg4oCUIHRoZVxuLy8gcGxhbm5lciBDT05TQ0lPVVNMWSBhY2NlcHRlZCB0aGlzIGV4YWN0IGNvbmZsaWN0IChkZXRhaWxzIG9mIHdoYXQgY291bnRzIGFzXG4vLyBcImFjY2VwdGVkXCIgbGl2ZSBzZXJ2ZXItc2lkZTsgdGhpcyBjb21wb25lbnQgb25seSByZW5kZXJzIHRoZSBmaW5nZXJwcmludCkuXG4vLyBTYW1lIDhweCBkb3QsIHNhbWUgcG9zaXRpb24g4oCUIEhPTExPVyBpbnN0ZWFkIG9mIGZpbGxlZDogdHJhbnNwYXJlbnRcbi8vIGJhY2tncm91bmQgKyBhIDEuNXB4IHJpbmcgSU5TRVQgaW4gdGhlIGNvbmZsaWN0IGNvbG9yLCBvbiB0b3Agb2YgdGhlXG4vLyBleGlzdGluZyAxLjVweCB3aGl0ZSByaW5nIGtlcHQgT1VUU0lERSBmb3IgY29udHJhc3QgYWdhaW5zdCBhbnkgY2FyZFxuLy8gYmFja2dyb3VuZCAodHdvIGJveC1zaGFkb3dzLCBjb21tYS1zZXBhcmF0ZWQg4oCUIG5vIGV4dHJhIG1hcmt1cCBuZWVkZWQpLlxuLy8gT25seSBtZWFuaW5nZnVsIHRvZ2V0aGVyIHdpdGggLS1vdmVybGFwIG9yIC0tdW5hdmFpbGFibGUgYWJvdmUuXG4ucWRuYXByby1ldmVudC1jYXJkX19jb25mbGljdC0tYWNjZXB0ZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5xZG5hcHJvLWV2ZW50LWNhcmRfX2NvbmZsaWN0LS1vdmVybGFwLnFkbmFwcm8tZXZlbnQtY2FyZF9fY29uZmxpY3QtLWFjY2VwdGVkIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMS41cHggI2ZmZiwgaW5zZXQgMCAwIDAgMS41cHggI2Y1OWUwYjtcbn1cbi5xZG5hcHJvLWV2ZW50LWNhcmRfX2NvbmZsaWN0LS11bmF2YWlsYWJsZS5xZG5hcHJvLWV2ZW50LWNhcmRfX2NvbmZsaWN0LS1hY2NlcHRlZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEuNXB4ICNmZmYsIGluc2V0IDAgMCAwIDEuNXB4ICNkYzI2MjY7XG59XG4iLCIvLyBxZG5hcHJvLWV4cG9ydC1tb2RhbFxuLy8gXCJDdXN0b21pemUgVGFibGUgQ29sdW1uc1wiIC8gZXhwb3J0IG1vZGFsOiB0d28tcGFuZWwgdHJhbnNmZXIgbGlzdCB3aXRoXG4vLyBwZXItY29sdW1uIG11bHRpLXNvcnQuIExpZ2h0IERPTSwgY2xhc3NlcyBwcmVmaXhlZCAucXBlbS0uXG4vLyBDb2xvdXJzIHVzZSB0aGUgc2hhcmVkIGRlc2lnbiB0b2tlbnMgKHNjc3MvY29tcG9uZW50cy92Mi9kZXNpZ24tdG9rZW5zKS5cblxucWRuYXByby1leHBvcnQtbW9kYWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmW29wZW5dIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnFwZW0tb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwODA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIwLCAyMiwgNDAsIDAuNDUpO1xuICAgIH1cblxuICAgIC5xcGVtLWRpYWxvZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDI0cHggNjBweCByZ2JhKDIwLCAyMiwgNDAsIDAuMjgpO1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDI4cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLy8gLS0tLSBoZWFkZXIgLS0tLVxuICAgIC5xcGVtLWhlYWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgfVxuXG4gICAgLnFwZW0taGVhZC1pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpO1xuICAgIH1cblxuICAgIC5xcGVtLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpO1xuICAgICAgICBmbGV4OiAxO1xuICAgIH1cblxuICAgIC5xcGVtLWNsb3NlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogIzhhOGY5ZTtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZjFmMmY2OyBjb2xvcjogIzRhNGY1ZTsgfVxuICAgIH1cblxuICAgIC5xcGVtLXN1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAxMnB4IDAgOHB4O1xuICAgICAgICBjb2xvcjogIzVhNWY2ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5xcGVtLWhpbnRzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBjb2xvcjogIzVhNWY2ZTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgICAgIGxpIHsgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG4gICAgfVxuXG4gICAgLy8gLS0tLSBwYW5lbHMgLS0tLVxuICAgIC5xcGVtLXBhbmVscyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gMWZyO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5xcGVtLXBhbmVsIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U5ZWNmMztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAucXBlbS1wYW5lbC1oZWFkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cblxuICAgIC5xcGVtLXNlbGVjdGFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAjNWE1ZjZlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLnFwZW0tbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIH1cblxuICAgIC8vIC0tLS0gY2hpcHMgLS0tLVxuICAgIC5xcGVtLWNoaXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTllY2YzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmJmYmZkO1xuICAgICAgICBjdXJzb3I6IGdyYWI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgIC8vIGhpZGRlbi1wYW5lbCBjaGlwcyByZWFkIGFzIFwib2ZmXCJcbiAgICAgICAgY29sb3I6ICM5YWEwYWU7XG5cbiAgICAgICAgJjpob3ZlciB7IGJvcmRlci1jb2xvcjogI2Q3ZGJlNjsgfVxuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXB1cnBsZS01MCwgI2U2ZTlmZik7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtcHVycGxlLTEwMCwgI2MwYzVmZik7XG4gICAgICAgICAgICBjb2xvcjogIzJhMmU1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRyYWdnaW5nIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5xcGVtLWdyaXAge1xuICAgICAgICBjb2xvcjogI2IzYjhjNjtcbiAgICAgICAgY3Vyc29yOiBncmFiO1xuICAgIH1cblxuICAgIC5xcGVtLWNoaXAtbGFiZWwge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgIC5xcGVtLXNvcnQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgY29sb3I6ICNiM2I4YzY7ICAgICAgICAgICAgLy8gbm9uZSA9IGRpbW1lZFxuXG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDY0LCA3MywgMTU0LCAwLjEwKTsgfVxuXG4gICAgICAgICYtLWFzYyxcbiAgICAgICAgJi0tZGVzYyB7IGNvbG9yOiB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpOyB9ICAgLy8gYWN0aXZlIHNvcnQgPSBicmFuZFxuICAgIH1cblxuICAgIC8vIGRyb3AtcG9zaXRpb24gbWFya2VyXG4gICAgLnFwZW0tbWFya2VyIHtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUtNDAwLCAjNWE2NGI4KTtcbiAgICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICB9XG5cbiAgICAvLyAtLS0tIG1vdmVycyAtLS0tXG4gICAgLnFwZW0tbW92ZXJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTJweDtcbiAgICB9XG5cbiAgICAvLyAtLS0tIGZvb3RlciAtLS0tXG4gICAgLnFwZW0tZm9vdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgLnFwZW0tY2FuY2VsIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGNvbG9yOiAjNWE1ZjZlO1xuXG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogIzJhMmU1ZTsgfVxuICAgIH1cblxuICAgIC8vIG5hcnJvdyBzY3JlZW5zOiBzdGFjayBwYW5lbHMsIG1vdmVycyBiZWNvbWUgYSBob3Jpem9udGFsIHJvd1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAucXBlbS1wYW5lbHMge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgLnFwZW0tbW92ZXJzIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIHFkbmFwcm8tbW9udGgtZ3JpZCDigJQgQXBwbGUtc3R5bGUgbW9udGggdmlldyAoUFdBIGNhbGVuZGFyIE00KVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgUUROQSB0b2tlbnMgdXNlZCAoY2hpcCBwYWxldHRlID0gdGhlIGV2ZW50LWNhcmQgcGFsZXR0ZSwgMToxKTpcbi8vICAgIC0tYy1wdXJwbGUtNTAgLyAtLWMtcHVycGxlLTUwMCAgICAgICAgICBwbGFubmVkXG4vLyAgICAtLWMtc2lnbmFsLW9yYW5nZS1iZyAvIC10ZXh0ICAgICAgICAgICAgaW5wcm9ncmVzc1xuLy8gICAgLS1jLXNpZ25hbC1ncmVlbi0xMDAgLyAtLWMtc2lnbmFsLWdyZWVuLXRleHQgICBjb21wbGV0ZVxuLy8gICAgLS1jLXNpZ25hbC1yZWQtYmcgLyAtLWMtc2lnbmFsLXJlZC10ZXh0ICAgICAgICBvdmVyZHVlXG4vLyAgICAtLWMtZ3JleS01MCAvIC0tYy1ncmV5LTYwMCAgICAgICAgICAgICAgYmxvY2tlZFxuLy8gICAgLS1jLXNpZ25hbC1waW5rLWJnIC8gLS1jLXNpZ25hbC1waW5rLXRleHQgICAgICBwZXJzb25hbFxuLy8gICAgLS1jLWdyZXktMTAwICByYXN0ZXIgbGluZXMgICAtLWMtZ3JleS01MDAgIHdlZWtkYXkgaGVhZGVyL291dHNpZGUgZGF5c1xuLy8gIExheW91dDogNyBlcXVhbCBjb2x1bW5zLCB3ZWVrcyBhcyByb3dzLCBkYXkgbnVtYmVyIG9uIHRvcCwgdGhlbiAoaWYgdGhlXG4vLyAgd2VlayByb3cgaGFzIGFueSBtdWx0aS1kYXkgc3BhbikgYW4gaW52aXNpYmxlIGxhbmUtc3BhY2VyIHN0YWNrIHRoYXRcbi8vICByZXNlcnZlcyB0aGUgYmFyJ3MgdmVydGljYWwgc3BhY2UsIHRoZW4gdGhlIHNpbmdsZS1kYXkgY2hpcHMsIHRoZW4gXCIrTlwiXG4vLyAgb3ZlcmZsb3cuIFRoZSBCQVJTIHRoZW1zZWx2ZXMgYXJlIGEgcm93LWxldmVsIGFic29sdXRlIG92ZXJsYXkgZHJhd25cbi8vICBPVkVSIHRoZSBjZWxscy9ib3JkZXJzIChvbmUgY29udGludW91cyBlbGVtZW50IHBlciBzcGFuIHNlZ21lbnQsIG5vdFxuLy8gIHNsaWNlZCBwZXIgZGF5IOKAlCBzZWUgLnFkbmFwcm8tbW9udGgtZ3JpZF9fYmFyLW92ZXJsYXkpIHNvIGEgbXVsdGktZGF5XG4vLyAgc3BhbiByZWFkcyBhcyBvbmUgc2hhcGUsIEdvb2dsZS1zdHlsZS4gVG9kYXkgPSBGVUxMIGZpbGxlZCBjaXJjbGUgb24gdGhlXG4vLyAgbnVtYmVyIGFuZCBpdCBrZWVwcyB0aGF0IGZpbGwgZXZlbiB3aGVuIGl0IGlzIHRoZSBzZWxlY3RlZCBkYXk7IGEgc2VsZWN0ZWRcbi8vICBkYXkgb3RoZXIgdGhhbiB0b2RheSA9IExJR0hURVIgZmlsbCAoS2ltIDI5LjA3LjIwMjYsIEdvb2dsZSBDYWxlbmRhciBtb2RlbFxuLy8gIOKAlCBzZWUgdGhlIHJ1bGVzIGZ1cnRoZXIgZG93bjsgdGhpcyB1c2VkIHRvIGJlIHRoZSBvdGhlciB3YXkgcm91bmQpLlxuLy8gIEJhcnMvY2hpcHMgc2hhcmUgdGhlIHNhbWUgY29sb3VyIHZvY2FidWxhcnlcbi8vICAoLS1tb250aC1ncmlkLWNoaXAtYmcvLXRleHQgY3VzdG9tIHByb3BlcnRpZXMgKyBzdGF0dXMgbW9kaWZpZXIgc3VmZml4KS5cbi8vICBGTEFUIENTUzsgc3luY2VkIHRvIHRoZSBQV0EgdmlhIHN5bmMtdjItY29tcG9uZW50cy5qcy5cblxuLy8gU2hhcmVkIGxheW91dCBjb25zdGFudHMgZm9yIHRoZSBtdWx0aS1kYXkgQkFSIE9WRVJMQVkgKDIwLjA3LjIwMjYgcmV3b3JrKVxuLy8g4oCUIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIGJvdGggdGhlIGluLWZsb3cgc3BhY2VyIHN0YWNrIChjZWxsXG4vLyBwYWRkaW5nL2RheS1udW1iZXIvbGFuZSBzaXppbmcgYmVsb3cpIGFuZCB0aGUgcm93LWxldmVsIG92ZXJsYXkncyBgdG9wYFxuLy8gZm9ybXVsYSwgc28gdGhlIG92ZXJsYXkgYWx3YXlzIGxpbmVzIHVwIHdpdGggaXRzIGxhbmUncyBzcGFjZXIgd2l0aG91dFxuLy8gYW55IEpTIG1lYXN1cmVtZW50LCBob3dldmVyIHRhbGwgLS1tb250aC1ncmlkLWNlbGwgbWFrZXMgdGhlIGNlbGwgKHNlZVxuLy8gdGhlIGRvY2Jsb2NrIGluIHFkbmEtbW9udGgtZ3JpZC5qcyBmb3IgdGhlIGZ1bGwgcmVhc29uaW5nKS5cbiRtZy1jZWxsLXBhZC10b3A6IDJweDtcbiRtZy1kYXludW0tc2l6ZTogMjRweDtcbiRtZy1kYXludW0tbWFyZ2luLWI6IDJweDtcbiRtZy1iYXItaGVpZ2h0OiAxM3B4O1xuJG1nLWJhci1nYXA6IDFweDtcbiRtZy1iYXItaW5zZXQ6IDJweDsgLy8gbWF0Y2hlcyAtLWJhci1pbnNldC1sLy1yIHNldCBpbiBxZG5hLW1vbnRoLWdyaWQuanNcbi8vIFRvcCBvZmZzZXQgb2YgbGFuZSAwJ3Mgc3BhY2VyL292ZXJsYXksIG1lYXN1cmVkIGZyb20gdGhlIHJvdydzIHRvcCBlZGdlXG4kbWctYmFyLXRvcC1iYXNlOiAkbWctY2VsbC1wYWQtdG9wICsgJG1nLWRheW51bS1zaXplICsgJG1nLWRheW51bS1tYXJnaW4tYjtcbi8vIFZlcnRpY2FsIHN0ZXAgYmV0d2VlbiBjb25zZWN1dGl2ZSBsYW5lc1xuJG1nLWJhci1sYW5lLXN0ZXA6ICRtZy1iYXItaGVpZ2h0ICsgJG1nLWJhci1nYXA7XG5cbi5xZG5hcHJvLW1vbnRoLWdyaWQge1xuICAvLyBEYXktY2VsbCBtaW4taGVpZ2h0IOKAlCB0aGUgZGVuc2l0eSBob29rXG4gIC0tbW9udGgtZ3JpZC1jZWxsOiA2NHB4O1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkLCAjZmZmKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXRoZW1lLWZvbnQtZmFtaWx5LCBcIkludGVyXCIsIHNhbnMtc2VyaWYpO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gQ29tcGFjdCBoZWFkZXIgcm93IChELCAyOS4wNy4yMDI2KSDigJQgbW9udGggbmFtZS95ZWFyICsgcHJldi9uZXh0IG1vbnRoXG4vLyBuYXYsIHJlbmRlcmVkIG9ubHkgd2hlbiB0aGUgYGhlYWRlcmAgYXR0cmlidXRlIGlzIHNldC4gUmVwbGFjZXMgdGhlXG4vLyBzdGFuZGFsb25lIG1vbnRoLXN0cmlwIG5hdmlnYXRpb24gdGhpcyBncmlkIHVzZWQgdG8gc2l0IHVuZGVyLiBDaGV2cm9uc1xuLy8gYXJlIDxxZG5hcHJvLWljb24+IChGLCAyOS4wNy4yMDI2IOKAlCB0aGlzIGNvbXBvbmVudCdzIGZpcnN0IGNvbXBvbmVudFxuLy8gZGVwZW5kZW5jeSwgc2VlIHRoZSBERVBFTkRFTkNZIE5PVEUgaW4gcWRuYS1tb250aC1ncmlkLmpzJ3MgZG9jYmxvY2spLlxuLnFkbmFwcm8tbW9udGgtZ3JpZF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAycHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLWdyZXktMTAwLCAjZTdlOWVjKTtcbn1cbi5xZG5hcHJvLW1vbnRoLWdyaWRfX2hlYWRlci10aXRsZSB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTgwMCwgIzFjMWIyOSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLy8gNDR4NDQgQ1NTLXB4IHRvdWNoIHRhcmdldCAoaGFyZCBtaW5pbXVtIGZvciB0aGlzIGNvbXBvbmVudCdzIG1hbmRhdGUpIOKAlFxuLy8gc2l6ZWQgZGlyZWN0bHkgb24gdGhlIGJ1dHRvbiBpdHNlbGYgcmF0aGVyIHRoYW4gdmlhIGFuIDo6YWZ0ZXIgZXhwYW5zaW9uLFxuLy8gc2luY2UgdGhlIGJ1dHRvbiBoYXMgbm8gb3RoZXIgc2l6ZSBjb25zdHJhaW50IGhlcmUuXG4ucWRuYXByby1tb250aC1ncmlkX19uYXYtYnRuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTYwMCwgIzU2NWI2Nik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5xZG5hcHJvLW1vbnRoLWdyaWRfX25hdi1idG4gcWRuYXByby1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG59XG4ucWRuYXByby1tb250aC1ncmlkX19uYXYtYnRuOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS04MDAsICMxYzFiMjkpO1xufVxuLy8geWVhci1zcGFuIGZ1bmN0aW9uYWwgYm91bmRhcnkgKEtpbSAyOS4wNy4yMDI2KTogYSByZWFsIGBkaXNhYmxlZGAgYXR0cmlidXRlXG4vLyAoc2V0IGluIHFkbmEtbW9udGgtZ3JpZC5qcydzIHJlbmRlcigpLCBuZXZlciBDU1Mtb25seSkgd2hlbiB0aGUgbmV4dC9wcmV2XG4vLyBzdGVwIHdvdWxkIGxhbmQgb3V0c2lkZSB0aGUgYWxsb3dlZCBzcGFuIOKAlCBkaW1tZWQgYW5kIGluZXJ0IGluc3RlYWQgb2YgYVxuLy8gdGFwIHRoYXQgcXVpZXRseSBkb2VzIG5vdGhpbmcuIGA6bm90KDpkaXNhYmxlZClgIG9uIHRoZSBob3ZlciBydWxlIGFib3ZlXG4vLyB3b3VsZCBhbHNvIHdvcms7IGd1YXJkaW5nIGhlcmUga2VlcHMgdGhhdCBydWxlJ3Mgb3duIGludGVudCB1bmNoYW5nZWQuXG4ucWRuYXByby1tb250aC1ncmlkX19uYXYtYnRuOmRpc2FibGVkIHtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS0zMDAsICNjZGQxZDYpO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLW1vbnRoLWdyaWRfX25hdi1idG46ZGlzYWJsZWQ6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTMwMCwgI2NkZDFkNik7XG59XG5cbi8vIFdlZWtkYXkgaGVhZGVyIHJvdyAoTW9uZGF5IGZpcnN0IGJ5IGRlZmF1bHQ7IHRoZSBKUyByb3RhdGVzIHRoZSBsYWJlbFxuLy8gb3JkZXIgYXQgcmVuZGVyIHRpbWUgcGVyIHRoZSBgZmlyc3Qtd2Vla2RheWAgYXR0cmlidXRlLCAxNy4wNy4yMDI2IOKAlCBwdXJlXG4vLyBsYXlvdXQgaGVyZSwgdW5hZmZlY3RlZCBieSB3aGljaCB3ZWVrZGF5IGlzIGZpcnN0KVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fd2Vla2RheXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCAxZnIpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy1ncmV5LTEwMCwgI2U3ZTllYyk7XG59XG4ucWRuYXByby1tb250aC1ncmlkX193ZWVrZGF5IHtcbiAgcGFkZGluZzogNnB4IDAgNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktNTAwLCAjNmI3MjgwKTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fd2Vla3Mge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fd2VlayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gcG9zaXRpb25pbmcgY29udGV4dCBmb3IgdGhlIHJvdy1sZXZlbCBiYXIgb3ZlcmxheXNcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpO1xufVxuXG4vLyBGSUxMIG1vZGUgKEEsIEtpbSAyOS4wNy4yMDI2KTogdGhlIGhvc3Qgc3RyZXRjaGVzIHRvIGl0cyBhdmFpbGFibGUgaGVpZ2h0XG4vLyBpbnN0ZWFkIG9mIGZpeGVkIC0tbW9udGgtZ3JpZC1jZWxsIHJvd3Mgd2l0aCBlbXB0eSBzcGFjZSBiZWxvdy4gVGhlIHdlZWtzXG4vLyBjb2x1bW4gYW5kIGVhY2ggd2VlayByb3cgZ3JvdyB2aWEgZmxleGJveDsgcm93IENPTlRFTlQgc3RheXMgVE9QLWFuY2hvcmVkXG4vLyAobm8gYWxpZ24taXRlbXM6IGNlbnRlciBhbnl3aGVyZSBoZXJlKSBiZWNhdXNlIHRoZSBiYXItb3ZlcmxheSBgdG9wYFxuLy8gZm9ybXVsYSBhYm92ZSBpcyBhIGZpeGVkIHBpeGVsIG9mZnNldCBmcm9tIHRoZSByb3cncyB0b3AgZWRnZSDigJQgY2VudGVyaW5nXG4vLyB0aGUgcm93IHdvdWxkIGJyZWFrIHRoYXQgZm9ybXVsYS4gRXh0cmEgaGVpZ2h0IGFsd2F5cyBmYWxscyBhcyBlbXB0eVxuLy8gc3BhY2UgQkVMT1cgdGhlIGNvbnRlbnQsIG5ldmVyIHJlZGlzdHJpYnV0ZWQgYWJvdmUgaXQuIC0tbW9udGgtZ3JpZC1jZWxsXG4vLyBzdGF5cyBpbiBmb3JjZSBhcyBhIG1pbi1oZWlnaHQgUkVBREFCSUxJVFkgRkxPT1IsIG5vdCBhIGZpeGVkIHNpemUuXG4ucWRuYXByby1tb250aC1ncmlkW2ZpbGxdIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnFkbmFwcm8tbW9udGgtZ3JpZFtmaWxsXSAucWRuYXByby1tb250aC1ncmlkX193ZWVrcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4taGVpZ2h0OiAwOyAvLyBsZXRzIHRoZSBmbGV4IGNoaWxkIHNocmluayBiZWxvdyBpdHMgY29udGVudCBzaXplXG59XG4ucWRuYXByby1tb250aC1ncmlkW2ZpbGxdIC5xZG5hcHJvLW1vbnRoLWdyaWRfX3dlZWsge1xuICBmbGV4OiAxIDEgMDtcbiAgbWluLWhlaWdodDogdmFyKC0tbW9udGgtZ3JpZC1jZWxsKTtcbn1cblxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fY2VsbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLW1vbnRoLWdyaWQtY2VsbCk7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogI3skbWctY2VsbC1wYWQtdG9wfSAycHggM3B4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jLWdyZXktMTAwLCAjZTdlOWVjKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fY2VsbDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuXG4vLyBEYXkgbnVtYmVyIOKAlCBjZW50cmVkIHNtYWxsIGNpcmNsZSBzbyBzZWxlY3RlZC90b2RheSBzdGF0ZXMgaGF2ZSBhIHNoYXBlXG4ucWRuYXByby1tb250aC1ncmlkX19kYXludW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6ICRtZy1kYXludW0tc2l6ZTtcbiAgaGVpZ2h0OiAkbWctZGF5bnVtLXNpemU7XG4gIG1hcmdpbjogMCBhdXRvICRtZy1kYXludW0tbWFyZ2luLWI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS04MDAsICMxYzFiMjkpO1xufVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fY2VsbC0tb3V0c2lkZSAucWRuYXByby1tb250aC1ncmlkX19kYXludW0ge1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTQwMCwgIzljYTNhZik7XG59XG4vLyB5ZWFyLXNwYW4gZnVuY3Rpb25hbCBib3VuZGFyeSAoS2ltIDI5LjA3LjIwMjYpOiBhbiBhZGphY2VudC1tb250aCBjZWxsXG4vLyB3aG9zZSBPV04gbW9udGggZmFsbHMgb3V0c2lkZSB0aGUgYWxsb3dlZCBzcGFuIChzZWUgcWRuYS1tb250aC1ncmlkLmpzJ3Ncbi8vIGB5ZWFyLXNwYW5gIGRvY2Jsb2NrIGVudHJ5KSBpcyBkaW1tZWQgZnVydGhlciBhbmQgaXRzIHRhcCBpcyByZWZ1c2VkIGluXG4vLyBKUyAoX29uQ2xpY2spIOKAlCB0aGUgdmlzdWFsIG1pcnJvcnMgaG93IGEgZGlzYWJsZWQgY2VsbCByZWFkcyBlbHNld2hlcmUsXG4vLyB0aGlzIGNvbXBvbmVudCBqdXN0IGhhZCBubyBwcmlvciBkaXNhYmxlZC1jZWxsIGNvbmNlcHQgdG8gcmV1c2UuXG4ucWRuYXByby1tb250aC1ncmlkX19jZWxsLS1ibG9ja2VkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi8vIFRPREFZICsgU0VMRUNURUQgdXNlIHRoZSBhY3Rpb24gY29sb3IgKEtpbSwgMjAuMDcuMjAyNikgc28gdGhpcyBtYXRjaGVzXG4vLyB0aGUgZGF5LWhlYWRlciB0b2RheSBwaWxsIGluIHRoZSB0aW1lLWdyaWQgLyByZXNvdXJjZS10aW1lbGluZSBjYWxlbmRhclxuLy8gdmlld3Mg4oCUIG9uZSBibHVlIFwidG9kYXkvc2VsZWN0ZWRcIiBsYW5ndWFnZSBhY3Jvc3MgZXZlcnkgY2FsZW5kYXIgbW9kZS5cbi8vXG4vLyBUT0RBWSB2cyBTRUxFQ1RFRCByZXdvcmtlZCAyOS4wNy4yMDI2IChLaW0sIEdvb2dsZSBDYWxlbmRhciBtb2RlbCksIHNhbWVcbi8vIGludmVyc2lvbiBhcyBxZG5hcHJvLW1vbnRoLXN0cmlwOiB0b2RheSBvd25zIHRoZSBGVUxMIGZpbGwgYW5kIGtlZXBzIGl0IGV2ZW5cbi8vIHdoZW4gaXQgaXMgYWxzbyB0aGUgc2VsZWN0ZWQgZGF5LCB3aGlsZSB0aGUgc2VsZWN0aW9uIGdldHMgYSBMSUdIVEVSIGZpbGwgc29cbi8vIGl0IHJlYWRzIGNsZWFybHkgYXMgXCJub3QgdG9kYXlcIi4gQmVmb3JlIHRoaXMsIHRvZGF5IHdhcyBvbmx5IGEgYm9sZCBjb2xvdXJlZFxuLy8gbnVtYmVyIGFuZCB0aGUgc2VsZWN0aW9uIG93bmVkIHRoZSBzb2xpZCBjaXJjbGUsIHdoaWNoIG1hZGUgdG9kYXkgZWFzeSB0byBtaXNzXG4vLyBvbiBhbnkgb3RoZXIgZGF5LiBgOm5vdCguaXMtdG9kYXkpYCBzdGF0ZXMgdGhlIHByZWNlZGVuY2UgZXhwbGljaXRseSByYXRoZXJcbi8vIHRoYW4gbGVhbmluZyBvbiBzb3VyY2Ugb3JkZXIuXG4ucWRuYXByby1tb250aC1ncmlkX19jZWxsLmlzLXNlbGVjdGVkOm5vdCguaXMtdG9kYXkpIC5xZG5hcHJvLW1vbnRoLWdyaWRfX2RheW51bSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYmctc2Vjb25kYXJ5LXB1cnBsZSwgI2U2ZTlmZik7XG4gIGNvbG9yOiB2YXIoLS1jLWFjdGlvbi01MDAsICM0NjUyZjMpO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fY2VsbC5pcy10b2RheSAucWRuYXByby1tb250aC1ncmlkX19kYXludW0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWFjdGlvbi01MDAsICM0NjUyZjMpO1xuICBjb2xvcjogdmFyKC0tYy1iZy1jYXJkLCAjZmZmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLy8gTXVsdGktZGF5IFNQQU4gbGFuZSByZXNlcnZhdGlvbiDigJQgZXZlcnkgY2VsbCBpbiBhIHdlZWsgcm93IHRoYXQgaGFzIGFueVxuLy8gc3BhbiBnZXRzIHRoZSBzYW1lIG51bWJlciBvZiBpbnZpc2libGUgc3BhY2VyIHNsb3RzIChvbmUgcGVyIGNvbmN1cnJlbnRcbi8vIGxhbmUgaW4gdGhhdCByb3cpLCBwdXJlbHkgdG8gbWFrZSB0aGUgQ1NTIEdyaWQgcm93IGF1dG8taGVpZ2h0IGl0c2VsZlxuLy8gYW5kIHRvIGtlZXAgdGhlIGNoaXBzIGJlbG93IGFsaWduZWQgYWNyb3NzIHRoZSByb3csIHdpdGhvdXQgdG91Y2hpbmdcbi8vIC0tbW9udGgtZ3JpZC1jZWxsJ3MgbWluLWhlaWdodCBjb250cmFjdC4gVGhlIFZJU0lCTEUgYmFyIGl0c2VsZiBpcyBub1xuLy8gbG9uZ2VyIGhlcmUg4oCUIHNlZSAucWRuYXByby1tb250aC1ncmlkX19iYXItb3ZlcmxheSBmdXJ0aGVyIGRvd24sIHdoaWNoXG4vLyBpcyBhIHJvdy1sZXZlbCBhYnNvbHV0ZWx5LXBvc2l0aW9uZWQgZWxlbWVudCBwZXIgc3BhbiBzZWdtZW50LCBwYWludGVkXG4vLyBvdmVyIHRoZSBjZWxscyAoS2ltJ3MgMjAuMDcuMjAyNiB2ZXJkaWN0OiBpdCBtdXN0IGxvb2sgbGlrZSBPTkVcbi8vIGNvbnRpbnVvdXMgYmFyLCBub3Qgc2xpY2VkIHBlciBjZWxsL2RheSkuXG4ucWRuYXByby1tb250aC1ncmlkX19iYXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAjeyRtZy1iYXItZ2FwfTtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG59XG4ucWRuYXByby1tb250aC1ncmlkX19iYXIsXG4ucWRuYXByby1tb250aC1ncmlkX19iYXItc3BhY2VyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogI3skbWctYmFyLWhlaWdodH07XG4gIG1pbi13aWR0aDogMDtcbn1cbi8vIFNwYWNlciDigJQgcmVzZXJ2ZXMgdGhlIGxhbmUncyB2ZXJ0aWNhbCBzcGFjZSBpbiBldmVyeSBjZWxsIG9mIHRoZSByb3dcbi8vICh3aGV0aGVyIG9yIG5vdCB0aGlzIHBhcnRpY3VsYXIgZGF5IGlzIGNvdmVyZWQgYnkgYSBzcGFuIGluIHRoYXQgbGFuZSksXG4vLyBzbyBjaGlwcyBzdGF5IGFsaWduZWQgYWNyb3NzIHRoZSByb3c7IG5ldmVyIHBhaW50ZWQgb3IgdGFwcGFibGUuXG4ucWRuYXByby1tb250aC1ncmlkX19iYXItc3BhY2VyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fYmFyIHtcbiAgLy8gU2FtZSBzdGF0dXMgdmFyaWFibGVzIHRoZSBjaGlwcyB1c2Ug4oCUIGlkZW50aWNhbCBjb2xvdXIgdm9jYWJ1bGFyeSxcbiAgLy8gcmV1c2VkIDE6MSAoc2VlIHRoZSBtb2RpZmllcnMgYmVsb3cgYW5kIHRoZSBjaGlwIG1vZGlmaWVycyBmdXJ0aGVyIGRvd24pLlxuICAtLW1vbnRoLWdyaWQtY2hpcC1iZzogICB2YXIoLS1jLXB1cnBsZS01MCwgI2U2ZTlmZik7XG4gIC0tbW9udGgtZ3JpZC1jaGlwLXRleHQ6IHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSk7XG5cbiAgcGFkZGluZzogMCAzcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLW1vbnRoLWdyaWQtY2hpcC1iZyk7XG4gIGNvbG9yOiB2YXIoLS1tb250aC1ncmlkLWNoaXAtdGV4dCk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gdGhlIGNlbGwgaXMgdGhlIHRhcCB0YXJnZXQsIHNhbWUgYXMgY2hpcHNcbiAgLy8gRmxhdCBieSBkZWZhdWx0IOKAlCByb3VuZGVkIG9ubHkgYXQgdGhlIHNwYW4ncyBUUlVFIHN0YXJ0L2VuZCAoc2VlXG4gIC8vIC0tcm91bmQtc3RhcnQvLS1yb3VuZC1lbmQgYmVsb3cpOyBhIHNlZ21lbnQgY29udGludWluZyBpbnRvIHRoZVxuICAvLyBuZXh0L3ByZXZpb3VzIHdlZWsgcm93LCBvciBjbGFtcGVkIHRvIHRoZSBncmlkIGVkZ2UsIHN0YXlzIGZsYXQuXG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4vLyBSb3ctbGV2ZWwgb3ZlcmxheSDigJQgdGhlIE9ORSBjb250aW51b3VzIGVsZW1lbnQgcGVyIHNwYW4gc2VnbWVudCxcbi8vIHBvc2l0aW9uZWQgb3ZlciB0aGUgY2VsbHMvYm9yZGVycyBpbnN0ZWFkIG9mIGxpdmluZyBpbnNpZGUgYSBjZWxsLlxuLy8gYGxlZnRgL2B3aWR0aGAgYXJlIGZyYWN0aW9ucyBvZiB0aGUgcm93J3MgNyBlcXVhbCBjb2x1bW5zIChleGFjdCBiZWNhdXNlXG4vLyAucWRuYXByby1tb250aC1ncmlkX193ZWVrIGhhcyBubyBjb2x1bW4gZ2FwIGFuZCBjZWxscyBhcmUgYm94LXNpemluZzpcbi8vIGJvcmRlci1ib3gsIHNvIGEgY2VsbCdzIGJvcmRlci1yaWdodCBuZXZlciBzaGlmdHMgYSBjb2x1bW4gZWRnZSk7IHRoZVxuLy8gc21hbGwgLS1iYXItaW5zZXQtKiBwdWxscyBhIHJvdW5kZWQgZW5kIGluIHNsaWdodGx5IHNvIHRoZSBwaWxsIHJlYWRzIGFzXG4vLyBhIHBpbGwgaW5zdGVhZCBvZiB0b3VjaGluZyB0aGUgY2VsbCBlZGdlLCB3aGlsZSBmbGF0IChyb3ctd3JhcC9jbGFtcClcbi8vIGVuZHMgc3RheSBmbHVzaC4gYHRvcGAgdXNlcyB0aGUgU0FNRSBjb25zdGFudHMgYXMgdGhlIGNlbGwgcGFkZGluZy9cbi8vIGRheS1udW1iZXIgc2l6aW5nIGFib3ZlLCBzbyBpdCBhbHdheXMgbGluZXMgdXAgd2l0aCB0aGlzIHNwYW4ncyBsYW5lXG4vLyBzcGFjZXIgcmVnYXJkbGVzcyBvZiBob3cgdGFsbCAtLW1vbnRoLWdyaWQtY2VsbCBtYWtlcyB0aGUgY2VsbCAoZ3Jvd2luZ1xuLy8gdGhlIGNlbGwgb25seSBhZGRzIGVtcHR5IHNwYWNlIGJlbG93IHRoZSB0b3AtYW5jaG9yZWQgY29udGVudCkuXG4ucWRuYXByby1tb250aC1ncmlkX19iYXItb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiBjYWxjKCN7JG1nLWJhci10b3AtYmFzZX0gKyB2YXIoLS1iYXItbGFuZSwgMCkgKiAjeyRtZy1iYXItbGFuZS1zdGVwfSk7XG4gIGxlZnQ6IGNhbGMoKDEwMCUgLyA3KSAqIHZhcigtLWJhci1zdGFydC1jb2wsIDApICsgdmFyKC0tYmFyLWluc2V0LWwsIDBweCkpO1xuICB3aWR0aDogY2FsYygoMTAwJSAvIDcpICogdmFyKC0tYmFyLXNwYW4tY29scywgMSkgLSB2YXIoLS1iYXItaW5zZXQtbCwgMHB4KSAtIHZhcigtLWJhci1pbnNldC1yLCAwcHgpKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vLyBEaW1zIGEgc2VnbWVudCB0aGF0IGlzIEVOVElSRUxZIHdpdGhpbiBhZGphY2VudC1tb250aCAob3V0c2lkZSkgZGF5cyDigJRcbi8vIHRoZSBvdmVybGF5IGlzIGEgc2libGluZyBvZiB0aGUgY2VsbHMgbm93LCBub3QgYSBkZXNjZW5kYW50LCBzbyBpdCBjYW4ndFxuLy8gcGljayB1cCAucWRuYXByby1tb250aC1ncmlkX19jZWxsLS1vdXRzaWRlIHZpYSB0aGUgZGVzY2VuZGFudCBzZWxlY3RvclxuLy8gdGhlIGNoaXBzL21vcmUgc3RpbGwgdXNlIGZ1cnRoZXIgZG93bi5cbi5xZG5hcHJvLW1vbnRoLWdyaWRfX2Jhci0tZGltbWVkIHtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi5xZG5hcHJvLW1vbnRoLWdyaWRfX2Jhci0tcm91bmQtc3RhcnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbn1cbi5xZG5hcHJvLW1vbnRoLWdyaWRfX2Jhci0tcm91bmQtZW5kIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbn1cbi5xZG5hcHJvLW1vbnRoLWdyaWRfX2Jhci1sYWJlbCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fYmFyLS1pbnByb2dyZXNzIHtcbiAgLS1tb250aC1ncmlkLWNoaXAtYmc6ICAgdmFyKC0tYy1zaWduYWwtb3JhbmdlLWJnLCAjZmRlYWRjKTtcbiAgLS1tb250aC1ncmlkLWNoaXAtdGV4dDogdmFyKC0tYy1zaWduYWwtb3JhbmdlLXRleHQsICNiYzZhMWYpO1xufVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fYmFyLS1jb21wbGV0ZSB7XG4gIC0tbW9udGgtZ3JpZC1jaGlwLWJnOiAgIHZhcigtLWMtc2lnbmFsLWdyZWVuLTEwMCwgI2Q4ZjRlMyk7XG4gIC0tbW9udGgtZ3JpZC1jaGlwLXRleHQ6IHZhcigtLWMtc2lnbmFsLWdyZWVuLXRleHQsICM0MjhiNmUpO1xufVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fYmFyLS1vdmVyZHVlIHtcbiAgLS1tb250aC1ncmlkLWNoaXAtYmc6ICAgdmFyKC0tYy1zaWduYWwtcmVkLWJnLCAjZmVlM2UzKTtcbiAgLS1tb250aC1ncmlkLWNoaXAtdGV4dDogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpO1xufVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fYmFyLS1ibG9ja2VkIHtcbiAgLS1tb250aC1ncmlkLWNoaXAtYmc6ICAgdmFyKC0tYy1ncmV5LTUwLCAjZjBmMWYyKTtcbiAgLS1tb250aC1ncmlkLWNoaXAtdGV4dDogdmFyKC0tYy1ncmV5LTYwMCwgIzU2NWI2Nik7XG59XG4ucWRuYXByby1tb250aC1ncmlkX19iYXItLXBlcnNvbmFsIHtcbiAgLS1tb250aC1ncmlkLWNoaXAtYmc6ICAgdmFyKC0tYy1zaWduYWwtcGluay1iZywgI2Y2ZTFlOCk7XG4gIC0tbW9udGgtZ3JpZC1jaGlwLXRleHQ6IHZhcigtLWMtc2lnbmFsLXBpbmstdGV4dCwgI2IyNTc3Nyk7XG59XG5cbi8vIENoaXBzIOKAlCB0aW55IHN0YXR1cy1jb2xvdXJlZCBiYXJzLCB0aGUgZXZlbnQtY2FyZCBwYWxldHRlLiBEZWxpYmVyYXRlbHlcbi8vIE5PVCB0b3VjaCB0YXJnZXRzICh0b28gc21hbGwpOyBhIGNoaXAgdGFwIHNlbGVjdHMgaXRzIGRheSBsaWtlIHRoZSBjZWxsLlxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fY2hpcHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFweDtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fY2hpcCB7XG4gIC8vIFN0YXR1cyB2YXJpYWJsZXMg4oCUIHBsYW5uZWQgKHB1cnBsZSkgaXMgdGhlIGRlZmF1bHQsIGxpa2UgdGhlIGV2ZW50LWNhcmRcbiAgLS1tb250aC1ncmlkLWNoaXAtYmc6ICAgdmFyKC0tYy1wdXJwbGUtNTAsICNlNmU5ZmYpO1xuICAtLW1vbnRoLWdyaWQtY2hpcC10ZXh0OiB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDFweCAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tbW9udGgtZ3JpZC1jaGlwLWJnKTtcbiAgY29sb3I6IHZhcigtLW1vbnRoLWdyaWQtY2hpcC10ZXh0KTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTNweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyB0aGUgY2VsbCBpcyB0aGUgdGFwIHRhcmdldFxufVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fY2hpcC0taW5wcm9ncmVzcyB7XG4gIC0tbW9udGgtZ3JpZC1jaGlwLWJnOiAgIHZhcigtLWMtc2lnbmFsLW9yYW5nZS1iZywgI2ZkZWFkYyk7XG4gIC0tbW9udGgtZ3JpZC1jaGlwLXRleHQ6IHZhcigtLWMtc2lnbmFsLW9yYW5nZS10ZXh0LCAjYmM2YTFmKTtcbn1cbi5xZG5hcHJvLW1vbnRoLWdyaWRfX2NoaXAtLWNvbXBsZXRlIHtcbiAgLS1tb250aC1ncmlkLWNoaXAtYmc6ICAgdmFyKC0tYy1zaWduYWwtZ3JlZW4tMTAwLCAjZDhmNGUzKTtcbiAgLS1tb250aC1ncmlkLWNoaXAtdGV4dDogdmFyKC0tYy1zaWduYWwtZ3JlZW4tdGV4dCwgIzQyOGI2ZSk7XG59XG4ucWRuYXByby1tb250aC1ncmlkX19jaGlwLS1vdmVyZHVlIHtcbiAgLS1tb250aC1ncmlkLWNoaXAtYmc6ICAgdmFyKC0tYy1zaWduYWwtcmVkLWJnLCAjZmVlM2UzKTtcbiAgLS1tb250aC1ncmlkLWNoaXAtdGV4dDogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpO1xufVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fY2hpcC0tYmxvY2tlZCB7XG4gIC0tbW9udGgtZ3JpZC1jaGlwLWJnOiAgIHZhcigtLWMtZ3JleS01MCwgI2YwZjFmMik7XG4gIC0tbW9udGgtZ3JpZC1jaGlwLXRleHQ6IHZhcigtLWMtZ3JleS02MDAsICM1NjViNjYpO1xufVxuLnFkbmFwcm8tbW9udGgtZ3JpZF9fY2hpcC0tcGVyc29uYWwge1xuICAtLW1vbnRoLWdyaWQtY2hpcC1iZzogICB2YXIoLS1jLXNpZ25hbC1waW5rLWJnLCAjZjZlMWU4KTtcbiAgLS1tb250aC1ncmlkLWNoaXAtdGV4dDogdmFyKC0tYy1zaWduYWwtcGluay10ZXh0LCAjYjI1Nzc3KTtcbn1cblxuLy8gXCIrTlwiIG92ZXJmbG93IGxpbmUg4oCUIHF1aWV0LCB0YWtlcyB0aGUgbGFzdCBjaGlwIHNsb3Rcbi5xZG5hcHJvLW1vbnRoLWdyaWRfX21vcmUge1xuICBwYWRkaW5nOiAxcHggM3B4O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTUwMCwgIzZiNzI4MCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vLyBEaW1tZWQgYWRqYWNlbnQtbW9udGggZGF5cyBrZWVwIHRoZWlyIGNoaXBzIHJlYWRhYmxlIGJ1dCBtdXRlZC4gQmFycyBhcmVcbi8vIGRpbW1lZCB2aWEgLnFkbmFwcm8tbW9udGgtZ3JpZF9fYmFyLS1kaW1tZWQgYWJvdmUgKHRoZSBvdmVybGF5IGlzIG5vXG4vLyBsb25nZXIgYSBjZWxsIGRlc2NlbmRhbnQsIHNlZSB0aGF0IHJ1bGUncyBjb21tZW50KS5cbi5xZG5hcHJvLW1vbnRoLWdyaWRfX2NlbGwtLW91dHNpZGUgLnFkbmFwcm8tbW9udGgtZ3JpZF9fY2hpcCxcbi5xZG5hcHJvLW1vbnRoLWdyaWRfX2NlbGwtLW91dHNpZGUgLnFkbmFwcm8tbW9udGgtZ3JpZF9fbW9yZSB7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBxZG5hcHJvLW1vbnRoLXN0cmlwIOKAlCBleHBhbmRhYmxlIG1vbnRoIHN0cmlwIChQV0EgY2FsZW5kYXIgTTEpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBRRE5BIHRva2VucyB1c2VkOlxuLy8gICAgLS1jLXB1cnBsZS01MDAgICM0MDQ5OWEgICBzZWxlY3RlZC1kYXkgY2lyY2xlLCB0b2RheSBudW1iZXIsIGV2ZW50IGRvdHNcbi8vICAgIC0tYy1ncmV5LTUwMCAgICAjNmI3MjgwICAgd2Vla2RheSBoZWFkZXIgKyBtb250aCBsYWJlbFxuLy8gICAgLS1jLWdyZXktNDAwICAgICNhNmFhYjMgICBtdXRlZCAoYWRqYWNlbnQtbW9udGgpICsgZGlzYWJsZWQgZGF5IG51bWJlcnNcbi8vICAgIC0tYy1ncmV5LTMwMCAgICAjYzRjN2NjICAgZ3JhYmJlciBwaWxsXG4vLyAgICAtLWMtZ3JleS05NTAgICAgIzBiMGIwZCAgIGRheSBudW1iZXJzXG4vLyAgTGF5b3V0IGZyb20gdGhlIEZpZ21hIGNhbGVuZGFyIGZyYW1lcyAoc2VjdGlvbnMgMTo1ODQ5IC8gMTo1NTM0KTpcbi8vICBjZW50ZXJlZCBtb250aCBsYWJlbCwgNy1jb2x1bW4gd2Vla2RheSByb3csIDQ4cHggZGF5IHJvd3MsIH4yOHB4XG4vLyAgc2VsZWN0aW9uIGNpcmNsZSwgNHB4IGV2ZW50IGRvdCwgc2hlZXQtc3R5bGUgZ3JhYmJlciBhdCB0aGUgYm90dG9tLlxuLy8gIEJsdWUgc2VsZWN0aW9uIGluIEZpZ21hID0gcWRhIHB1cnBsZSBoZXJlIChjb2xvdXIgdHJ1dGggPSBxZG5hKS5cbi8vICBGTEFUIENTUzsgc3luY2VkIHRvIHRoZSBQV0EgdmlhIHN5bmMtdjItY29tcG9uZW50cy5qcy5cblxuLnFkbmFwcm8tbW9udGgtc3RyaXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1mb250LWZhbWlseSwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC8vIEhhcmQgYmFja3N0b3A6IG5vdGhpbmcgKGNoaXBzIHJvdyBpbmNsdWRlZCkgbWF5IHBhaW50IHBhc3QgdGhlIHN0cmlwJ3NcbiAgLy8gaG9yaXpvbnRhbCBmcmFtZS4gY2xpcCBvbiB4IGtlZXBzIHkgdmlzaWJsZSwgc28gdGhlIGdyYWJiZXIgZHJhZy1mb2xsb3dcbiAgLy8gYW5kIGZvY3VzIHJpbmdzIGFyZSB1bnRvdWNoZWQuXG4gIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX19tb250aCB7XG4gIHBhZGRpbmc6IDJweCAwIDJweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTUwMCwgIzZiNzI4MCk7XG59XG5cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX193ZWVrZGF5cyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG4gIHBhZGRpbmc6IDAgNHB4IDJweDtcbn1cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX193ZWVrZGF5cyBzcGFuIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTUwMCwgIzZiNzI4MCk7XG59XG5cbi8vIERheSBncmlkIOKAlCB0aGUgYm9keSBDTElQUyAoZXhwbGljaXQgaGVpZ2h0IGZyb20gdGhlIEpTLCByb3dzIMOXIDQ4cHgpIHdoaWxlXG4vLyB0aGUgaW5uZXIgX19yb3dzIGxheWVyIFRSQU5TTEFURVMuIFRvZ2V0aGVyIHRoZXkgZHJpdmUgYm90aCB0aGUgdGFwLXRvZ2dsZVxuLy8gYW5pbWF0aW9uIGFuZCB0aGUgZ3JhYmJlciBkcmFnLWZvbGxvdyBtb3JwaCAoc2VsZWN0ZWQgd2VlayBzdGF5cyBhbmNob3JlZFxuLy8gd2hpbGUgdGhlIG90aGVyIG1vbnRoIHJvd3MgcmV2ZWFsIHVuZGVyIHRoZSBmaW5nZXIpLlxuLnFkbmFwcm8tbW9udGgtc3RyaXBfX2JvZHkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4yNXMgZWFzZTtcbn1cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX19yb3dzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcbiAgZ3JpZC1hdXRvLXJvd3M6IDQ4cHg7XG4gIHBhZGRpbmc6IDAgNHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cbi8vIFdoaWxlIHRoZSBmaW5nZXIgaXMgZG93biB0aGUgc3RyaXAgbXVzdCB0cmFjayBpdCAxOjEg4oCUIG5vIGVhc2luZ1xuLnFkbmFwcm8tbW9udGgtc3RyaXBfX2JvZHkuaXMtZHJhZ2dpbmcsXG4ucWRuYXByby1tb250aC1zdHJpcF9fYm9keS5pcy1kcmFnZ2luZyAucWRuYXByby1tb250aC1zdHJpcF9fcm93cyB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi8vIERpcmVjdGlvbmFsIHNsaWRlLWluIHdoZW4gdGhlIHN0cmlwIHBhZ2VzIChuYXZpZ2F0ZSwgTTQpLiBBbmltYXRlcyB0aGVcbi8vIGluZGVwZW5kZW50IGB0cmFuc2xhdGVgIHByb3BlcnR5IHNvIGl0IGNvbXBvc2VzIHdpdGggdGhlIGdyYWJiZXIgbW9ycGgnc1xuLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZICh3aGljaCBvd25zIHRoZSB2ZXJ0aWNhbCBvZmZzZXQpIOKAlCBuZXZlciBjbG9iYmVycyBpdC5cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX19yb3dzLmlzLWVudGVyLW5leHQgeyBhbmltYXRpb246IHFtcy1zbGlkZS1uZXh0IDAuMjRzIGN1YmljLWJlemllcigwLjIsIDAuNywgMC4zLCAxKTsgfVxuLnFkbmFwcm8tbW9udGgtc3RyaXBfX3Jvd3MuaXMtZW50ZXItcHJldiB7IGFuaW1hdGlvbjogcW1zLXNsaWRlLXByZXYgMC4yNHMgY3ViaWMtYmV6aWVyKDAuMiwgMC43LCAwLjMsIDEpOyB9XG5Aa2V5ZnJhbWVzIHFtcy1zbGlkZS1uZXh0IHtcbiAgZnJvbSB7IHRyYW5zbGF0ZTogMjhweCAwOyBvcGFjaXR5OiAwLjM1OyB9XG4gIHRvICAgeyB0cmFuc2xhdGU6IDAgMDsgb3BhY2l0eTogMTsgfVxufVxuQGtleWZyYW1lcyBxbXMtc2xpZGUtcHJldiB7XG4gIGZyb20geyB0cmFuc2xhdGU6IC0yOHB4IDA7IG9wYWNpdHk6IDAuMzU7IH1cbiAgdG8gICB7IHRyYW5zbGF0ZTogMCAwOyBvcGFjaXR5OiAxOyB9XG59XG5cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX19kYXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAycHg7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnFkbmFwcm8tbW9udGgtc3RyaXBfX251bSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktOTUwLCAjMGIwYjBkKTtcbiAgLy8gTWVhbmluZy1jb2xvdXIgc2xvdCAoZGF5U3RhdGVzIGNvbG9yKSB0aW50cyB0aGUgY2lyY2xlXG4gIGJhY2tncm91bmQ6IHZhcigtLWRheS10aW50LCB0cmFuc3BhcmVudCk7XG4gIC8vIERlc2VsZWN0IGZhZGVzIG91dCB2aWEgdGhpcyB0cmFuc2l0aW9uIChzZWxlY3Rpb24gaXMgYW4gaW4tcGxhY2UgY2xhc3NcbiAgLy8gc3dhcCBpbiB0aGUgSlMsIHNvIHRoZSBvbGQgY2lyY2xlIHN0YXlzIGFsaXZlIGxvbmcgZW5vdWdoIHRvIGFuaW1hdGUpXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xOHMgZWFzZSwgY29sb3IgMC4xOHMgZWFzZTtcbn1cblxuLy8gU2VsZWN0aW9uIHBvcCDigJQgc3ByaW5neSBvdmVyc2hvb3Qgb24gdGhlIGZyZXNobHkgc2VsZWN0ZWQgY2lyY2xlLlxuLy8gLmlzLXBvcCBpcyBhZGRlZCBieSB0aGUgSlMgb24gdGFwIG9ubHksIHNvIHJlLXJlbmRlcnMgKHN3aXBlLCBleHBhbmQpXG4vLyBkbyBub3QgcmVwbGF5IGl0IG9uIGV2ZXJ5IHJlYnVpbGQuXG5Aa2V5ZnJhbWVzIHFkbmFwcm8tbW9udGgtc3RyaXAtcG9wIHtcbiAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMC41NSk7IH1cbiAgNzAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4xMik7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX19kYXkuaXMtcG9wIC5xZG5hcHJvLW1vbnRoLXN0cmlwX19udW0ge1xuICBhbmltYXRpb246IHFkbmFwcm8tbW9udGgtc3RyaXAtcG9wIDAuMjhzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcbn1cblxuLnFkbmFwcm8tbW9udGgtc3RyaXBfX2RvdCB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogNHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSk7XG59XG5cbi8vIFRPREFZIHZzIFNFTEVDVEVEIChyZXdvcmtlZCAyOS4wNy4yMDI2LCBLaW0g4oCUIEdvb2dsZSBDYWxlbmRhciBtb2RlbCkuXG4vLyBCZWZvcmUgdGhpcywgdG9kYXkgd2FzIG9ubHkgYSBib2xkIGNvbG91cmVkIE5VTUJFUiBhbmQgdGhlIFNFTEVDVEVEIGRheSBvd25lZFxuLy8gdGhlIGZpbGxlZCBjaXJjbGUsIHNvIG9uIGFueSBkYXkgb3RoZXIgdGhhbiB0b2RheSB0aGUgc3Ryb25nZXN0IHNoYXBlIG9uIHNjcmVlblxuLy8gcG9pbnRlZCBhdCB0aGUgc2VsZWN0aW9uIGFuZCBcInRvZGF5XCIgd2FzIGVhc3kgdG8gbWlzcy4gSW52ZXJ0ZWQgbm93OlxuLy8gICB0b2RheSAgICA9IHRoZSBmdWxsIGZpbGwsIEFMV0FZUyAoaXQgYWxzbyB3aW5zIHdoZW4gaXQgaXMgdGhlIHNlbGVjdGVkIGRheSlcbi8vICAgc2VsZWN0ZWQgPSBhIExJR0hURVIgZmlsbCAoLS1jLWJnLXNlY29uZGFyeS1wdXJwbGUpLCBjbGVhcmx5IG5vdC10b2RheVxuLy8gYDpub3QoLmlzLXRvZGF5KWAgb24gdGhlIHNlbGVjdGVkIHJ1bGUgbWFrZXMgdGhlIHByZWNlZGVuY2UgZXhwbGljaXQgaW5zdGVhZCBvZlxuLy8gcmVseWluZyBvbiBzb3VyY2Ugb3JkZXIsIGFuZCBgOm5vdCguaXMtZGlzYWJsZWQpYCBrZWVwcyBhIGRpc2FibGVkIGRheSBtdXRlZFxuLy8gKGl0cyBvd24gcnVsZXMgYmVsb3cgd291bGQgb3RoZXJ3aXNlIGJlIG91dHJhbmtlZCBieSB0aGVzZSkuXG4ucWRuYXByby1tb250aC1zdHJpcF9fZGF5LmlzLXNlbGVjdGVkOm5vdCguaXMtdG9kYXkpOm5vdCguaXMtZGlzYWJsZWQpIC5xZG5hcHJvLW1vbnRoLXN0cmlwX19udW0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLXNlY29uZGFyeS1wdXJwbGUsICNlNmU5ZmYpO1xuICBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNTAwLCAjNDA0OTlhKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX19kYXkuaXMtdG9kYXk6bm90KC5pcy1kaXNhYmxlZCkgLnFkbmFwcm8tbW9udGgtc3RyaXBfX251bSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSk7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vLyBBZGphY2VudC1tb250aCBkYXlzIGluIHRoZSBleHBhbmRlZCBncmlkXG4ucWRuYXByby1tb250aC1zdHJpcF9fZGF5LmlzLW11dGVkIC5xZG5hcHJvLW1vbnRoLXN0cmlwX19udW0ge1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTQwMCwgI2E2YWFiMyk7XG59XG4ucWRuYXByby1tb250aC1zdHJpcF9fZGF5LmlzLW11dGVkIC5xZG5hcHJvLW1vbnRoLXN0cmlwX19kb3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktNDAwLCAjYTZhYWIzKTtcbn1cblxuLy8gRGlzYWJsZWQgY2VsbC1zdGF0ZSDigJQgbXV0ZWQgKyB0YXAgcmVmdXNlZCAoSlMgaWdub3JlcyB0aGUgY2xpY2spXG4ucWRuYXByby1tb250aC1zdHJpcF9fZGF5LmlzLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnFkbmFwcm8tbW9udGgtc3RyaXBfX2RheS5pcy1kaXNhYmxlZCAucWRuYXByby1tb250aC1zdHJpcF9fbnVtIHtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS00MDAsICNhNmFhYjMpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX19kYXkuaXMtZGlzYWJsZWQgLnFkbmFwcm8tbW9udGgtc3RyaXBfX2RvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS00MDAsICNhNmFhYjMpO1xufVxuXG4vLyBGb2N1cyDigJQgdW5pZmllZCBzdGFja2VkIHJpbmcsIG9uIHRoZSBudW1iZXIgY2lyY2xlXG4ucWRuYXByby1tb250aC1zdHJpcF9fZGF5OmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuLnFkbmFwcm8tbW9udGgtc3RyaXBfX2RheTpmb2N1cy12aXNpYmxlIC5xZG5hcHJvLW1vbnRoLXN0cmlwX19udW0ge1xuICBib3gtc2hhZG93OlxuICAgIDAgMCAwIDJweCB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpLFxuICAgIDAgMCAwIDZweCB2YXIoLS1jLXB1cnBsZS1zb2Z0LTE4LCByZ2JhKDY0LCA3MywgMTU0LCAwLjE4KSk7XG59XG5cbi8vIE1vbnRoIGNoaXBzIHJvdyAoR29vZ2xlLWNhbGVuZGFyIHN0eWxlKSDigJQgb25seSB2aXNpYmxlIGluIHRoZSBleHBhbmRlZCBzdGF0ZS5cbi8vIFJld29ya2VkIDI5LjA3LjIwMjYgKEtpbSk6IHRoZSByb3cgaXMgbm93IGEgQ09OVElOVU9VUyB0aW1lbGluZSBhY3Jvc3MgeWVhclxuLy8gYm91bmRhcmllcyAoYnVpbHQgKyBsYXppbHkgZXh0ZW5kZWQgaW4gSlMsIHNlZSBfcmVuZGVyTW9udGhzIGluIHRoZSAuanNcbi8vIGZpbGUpLCBub3QganVzdCB0aGUgMTIgbW9udGhzIG9mIG9uZSB5ZWFyLiBDaGlwcyBhcmUgMjhweCBjb21wYWN0XG4vLyA8cWRuYXByby1idXR0b24+czsgYSB2ZXJ0aWNhbCA6OmFmdGVyIGV4dGVuc2lvbiBnaXZlcyBlYWNoIGNoaXAgYSB+NDRweFxuLy8gdG91Y2ggY29sdW1uIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHZpc3VhbCBzaXplLiBBIHBsYWluLCBub24tdGFwcGFibGVcbi8vIC5xZG5hcHJvLW1vbnRoLXN0cmlwX195ZWFyLWxhYmVsIHNpdHMgYmV0d2VlbiBEZWNlbWJlciBhbmQgSmFudWFyeS5cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX19tb250aHMge1xuICBkaXNwbGF5OiBub25lO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogOHB4IDEycHggMnB4O1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC8vIEtpbGwgdGhlIGlPUyBlbGFzdGljIGJvdW5jZSBzbyB0aGUgY2hpcHMgY2FuJ3QgYmUgZHJhZ2dlZCBvdXQgb2YgdGhlXG4gIC8vIGZyYW1lIChcInN3YWJiZXJlblwiKTsgdGhlIGhvc3QgY2xpcHMgYXMgYSBoYXJkIGJhY2tzdG9wIChzZWUgYmVsb3cpLlxuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7XG59XG4ucWRuYXByby1tb250aC1zdHJpcF9fbW9udGhzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucWRuYXByby1tb250aC1zdHJpcFtleHBhbmRlZF0gLnFkbmFwcm8tbW9udGgtc3RyaXBfX21vbnRocyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ucWRuYXByby1tb250aC1zdHJpcF9fbW9udGhzIC5xZG5hcHJvLWJ1dHRvbiB7XG4gIGZsZXg6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX19tb250aHMgLnFkbmFwcm8tYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogLThweDtcbiAgYm90dG9tOiAtOHB4O1xufVxuLy8gQSB0b3VjaCBsYXJnZXIgdGhhbiB0aGUgYmFzZSBjb21wYWN0IGJ1dHRvbiDigJQgZWFzaWVyIHRvIHJlYWQgYW5kIHRhcC5cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX19tb250aHMgLnFkbmFwcm8tYnV0dG9uLmJ1dHRvbi1zaXplLWNvbXBhY3Qge1xuICBtaW4taGVpZ2h0OiAzNHB4O1xuICBwYWRkaW5nOiA2cHggMTRweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbn1cblxuLy8gWWVhci1udW1iZXIgbGFiZWwgYmV0d2VlbiBEZWNlbWJlciBhbmQgSmFudWFyeSDigJQgcGxhaW4gdGV4dCwgTkVWRVIgYVxuLy8gY2hpcDogbm8gY2xpY2sgaGFuZGxlciBpcyB3aXJlZCB0byBpdCAodGhlIEpTIGNsaWNrIGRlbGVnYXRpb24ga2V5cyBvZmZcbi8vIFtkYXRhLW1pXSwgd2hpY2ggdGhpcyBlbGVtZW50IG5ldmVyIGNhcnJpZXMpLlxuLnFkbmFwcm8tbW9udGgtc3RyaXBfX3llYXItbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4OiBub25lO1xuICBwYWRkaW5nOiAwIDJweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS01MDAsICM2YjcyODApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyBHcmFiYmVyIOKAlCBzaGVldC1zdHlsZSBoYW5kbGUgdGhhdCB0b2dnbGVzIHdlZWsg4oaUIG1vbnRoXG4ucWRuYXByby1tb250aC1zdHJpcF9fZ3JhYmJlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAvLyBUYWxsZXIgdGhhbiB0aGUgdmlzaWJsZSBwaWxsIHNvIHRoZSB3aG9sZSBib3R0b20gYmFuZCBpcyBncmFiYmFibGUg4oCUXG4gIC8vIGVhc2llciB0byBjYXRjaCB0aGUgaGFuZGxlIGFuZCBwdWxsIHRoZSBtb250aCBncmlkIGRvd24uIFRyaW1tZWQgZnJvbVxuICAvLyAxNi8xOCB0byByZWNsYWltIHZlcnRpY2FsIHNwYWNlIHdoaWxlIGtlZXBpbmcgYSBjb21mb3J0YWJsZSBncmFiIHpvbmUuXG4gIHBhZGRpbmc6IDEwcHggMCAxMnB4O1xuICBjdXJzb3I6IGdyYWI7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX19ncmFiYmVyIHNwYW4ge1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktMzAwLCAjYzRjN2NjKTtcbn1cbi5xZG5hcHJvLW1vbnRoLXN0cmlwX19ncmFiYmVyOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuLnFkbmFwcm8tbW9udGgtc3RyaXBfX2dyYWJiZXI6Zm9jdXMtdmlzaWJsZSBzcGFuIHtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDAgMCAycHggdmFyKC0tYy1wdXJwbGUtNTAwLCAjNDA0OTlhKSxcbiAgICAwIDAgMCA2cHggdmFyKC0tYy1wdXJwbGUtc29mdC0xOCwgcmdiYSg2NCwgNzMsIDE1NCwgMC4xOCkpO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1tb250aC1zdHJpcF9fYm9keSB7IHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLnFkbmFwcm8tbW9udGgtc3RyaXBfX3Jvd3MgeyB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC5xZG5hcHJvLW1vbnRoLXN0cmlwX19udW0geyB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC5xZG5hcHJvLW1vbnRoLXN0cmlwX19kYXkuaXMtcG9wIC5xZG5hcHJvLW1vbnRoLXN0cmlwX19udW0geyBhbmltYXRpb246IG5vbmU7IH1cbiAgLnFkbmFwcm8tbW9udGgtc3RyaXBfX3Jvd3MuaXMtZW50ZXItbmV4dCxcbiAgLnFkbmFwcm8tbW9udGgtc3RyaXBfX3Jvd3MuaXMtZW50ZXItcHJldiB7IGFuaW1hdGlvbjogbm9uZTsgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby10aW1lLWdyaWQg4oCUIGhvdXItcmFzdGVyIGNhcm91c2VsIGZvciB0aGUgUFdBIGNhbGVuZGFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBRRE5BIHRva2VucyB1c2VkOlxuLy8gICAgLS1jLWdyZXktMTAwICAjZTdlOWVjICAgcmFzdGVyIGxpbmVzICsgY29sdW1uIHNlcGFyYXRvcnNcbi8vICAgIC0tYy1ncmV5LTUwMCAgIzZiNzI4MCAgIGd1dHRlciB0aW1lIGxhYmVsc1xuLy8gICAgLS1jLWdyZXktNTAgICAjZjBmMWYyICAgZGlzYWJsZWQgY2VsbC1zdGF0ZSBmaWxsXG4vLyAgU1RSSUNUIGF4aXMtbG9jayB2aWEgTkVTVEVEIHNpbmdsZS1heGlzIHNjcm9sbGVycyAoS2ltIDAzLjA3LjIwMjY6IHRoZSBvbGRcbi8vICBzaW5nbGUgMkQgc2Nyb2xsZXIgZmVsdCBmbGltc3kg4oCUIGRpYWdvbmFsIHBhbm5pbmcpLiBfX3Njcm9sbC15IG93bnMgdGhlXG4vLyAgVkVSVElDQUwgaG91cnMgKHRvdWNoLWFjdGlvbiBwYW4teSk7IHRoZSBpbm5lciBfX3Njcm9sbC14IG93bnMgdGhlIEhPUklaT05UQUxcbi8vICBkYXkgcGFnaW5nIHdpdGggbmF0aXZlIHNjcm9sbC1zbmFwICh0b3VjaC1hY3Rpb24gcGFuLXgpLiBFYWNoIHNjcm9sbGVyIG1vdmVzXG4vLyAgT05FIGF4aXMsIHNvIHRoZSBicm93c2VyIGxvY2tzIGEgZ2VzdHVyZSB0byB3aGljaGV2ZXIgYXhpcyBpdCBzdGFydHMgb24uXG4vLyAgVGhlIHRpbWVzIGd1dHRlciBpcyBhIHBsYWluIGZsZXggY29sdW1uIGluIHRoZSB2ZXJ0aWNhbCBzY3JvbGxlciAoc2Nyb2xsc1xuLy8gIHVwL2Rvd24gd2l0aCB0aGUgaG91cnMsIHN0YXlzIGF0IHRoZSBsZWZ0KS4gVGhlIGFsbC1kYXkgYmFuZCBzdGlja3MgdG8gdGhlXG4vLyAgdG9wIGFuZCBpdHMgdmlld3BvcnQgbWlycm9ycyB0aGUgaG9yaXpvbnRhbCBzY3JvbGxMZWZ0IChzeW5jZWQgaW4gSlMpLlxuLy8gIEZMQVQgQ1NTOyBzeW5jZWQgdG8gdGhlIFBXQSB2aWEgc3luYy12Mi1jb21wb25lbnRzLmpzIChubyBuZXN0aW5nIC8gU0NTUyB2YXJzKS5cblxuLnFkbmFwcm8tdGltZS1ncmlkIHtcbiAgLy8gSG91ciByb3cgaGVpZ2h0IOKAlCB0aGUgem9vbSBob29rOyB0b3RhbCBoZWlnaHQgZGVyaXZlcyBmcm9tIGl0XG4gIC0tdGltZS1ncmlkLWhvdXI6IDUycHg7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1mb250LWZhbWlseSwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbn1cblxuLy8gT1VURVIgdmVydGljYWwgc2Nyb2xsZXIg4oCUIHRoZSBob3Vycy4gT25seSBwYW5zIHVwL2Rvd24uXG4ucWRuYXByby10aW1lLWdyaWRfX3Njcm9sbC15IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xufVxuLnFkbmFwcm8tdGltZS1ncmlkX19zY3JvbGwteTo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogMDsgaGVpZ2h0OiAwOyBkaXNwbGF5OiBub25lOyB9XG5cbi8vIC0tLSBEYXktaGVhZGVyIHJvdyAoSzEgZ2FwIGZpeCwgMTcuMDcuMjAyNik6IE9QVElPTkFMIHN0aWNreSBkYXRlLWNvbnRleHRcbi8vIHJvdyBhYm92ZSB0aGUgYWxsLWRheSBsYW5lLCBvbmx5IHJlbmRlcmVkIHdoZW4gdGhlIGBkYXktaGVhZGVyYCBhdHRyaWJ1dGVcbi8vIGlzIHNldCAoYWJzZW50IGJ5IGRlZmF1bHQg4oCUIHplcm8gY2hhbmdlIGZvciB0aGUgUFdBKS4gU2FtZSBub24tc2Nyb2xsaW5nXG4vLyBzdGlja3kgcmVnaW9uIG9mIF9fc2Nyb2xsLXkgYXMgdGhlIGFsbC1kYXkgbGFuZSBiZWxvdyBpdDsgd2hlbiBwcmVzZW50LCB0aGVcbi8vIG1vZGlmaWVyIGNsYXNzIGJlbG93IHB1c2hlcyB0aGUgYWxsLWRheSBsYW5lJ3Mgb3duIGB0b3BgIGRvd24gYnkgdGhpcyByb3cnc1xuLy8gaGVpZ2h0IHNvIHRoZSB0d28gc3RpY2t5IHJvd3Mgc3RhY2sgaW5zdGVhZCBvZiBvdmVybGFwcGluZy5cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZGF5aGVhZGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA3O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiB2YXIoLS10aW1lLWdyaWQtZGF5aGVhZGVyLWgsIDQwcHgpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQsICNmZmYpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy1ncmV5LTEwMCwgI2U3ZTllYyk7XG59XG4ucWRuYXByby10aW1lLWdyaWRfX2RheWhlYWRlci1jb3JuZXIge1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogNTZweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkLCAjZmZmKTtcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZGF5aGVhZGVyLXZwIHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBjbGlwcGVkOyBzY3JvbGxMZWZ0IGlzIGRyaXZlbiBwcm9ncmFtbWF0aWNhbGx5IChubyB1c2VyIHNjcm9sbClcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZGF5aGVhZGVyLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG4vLyBSZWFsIDxidXR0b24+IHBlciBkYXksIGF0IEVYQUNUTFkgdGhlIGRheS1jb2x1bW4gcGl0Y2gg4oCUIHdpZHRoIHZhcigtLXRpbWUtXG4vLyBncmlkLWNvbHcpICsgYm94LXNpemluZyBib3JkZXItYm94ICsgYm9yZGVyLXJpZ2h0IDFweCBpcyB0aGUgU0FNRSBmb3JtdWxhXG4vLyAucWRuYXByby10aW1lLWdyaWRfX2RheSB1c2VzIGJlbG93IChzZWUgdGhhdCBydWxlJ3MgY29tbWVudCBvbiB3aHlcbi8vIGJvcmRlci1ib3ggaXMgbG9hZC1iZWFyaW5nIHRoZXJlKTogYW55IGRyaWZ0IGhlcmUgcmVwcm9kdWNlcyB0aGUgc2FtZVxuLy8gaGFsZi1jb2x1bW4tb2ZmIGJ1ZyBvbiB0aGlzIGhlYWRlciBpbnN0ZWFkIG9mIHRoZSBhbGwtZGF5IGxhbmUuIEEgZmxleCByb3dcbi8vIChub3QgQ1NTIGdyaWQpIHNpZGVzdGVwcyB0aGUgY29sdW1uLWdhcCBwaXRjaCB0cmFwIGVudGlyZWx5IOKAlCBubyBnYXAgaXNcbi8vIGRlY2xhcmVkLCBzbyB0aGVyZSBpcyBub3RoaW5nIHRvIGRlc3luYy5cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZGF5Y2VsbCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogdmFyKC0tdGltZS1ncmlkLWNvbHcsIDEyMHB4KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYy1ncmV5LTEwMCwgI2U3ZTllYyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDFweDtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkLCAjZmZmKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnFkbmFwcm8tdGltZS1ncmlkX19kYXljZWxsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTUwLCAjZjBmMWYyKTtcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZGF5Y2VsbDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSk7XG59XG4vLyBUT0RBWSAoS2ltLCAyMC4wNy4yMDI2KTogbm8gbW9yZSBmdWxsLWNlbGwgcHVycGxlIGZpbGwg4oCUIGl0IHJlYWQgYXNcbi8vIGNsdW5reSAoXCJsb21wXCIpLiBBIGNvbXBhY3QgR29vZ2xlLXN0eWxlIHBpbGwgc2l0cyBhcm91bmQgSlVTVCB0aGUgZGF5XG4vLyBudW1iZXIgKHNlZSAuaXMtdG9kYXkgLmRheW51bSBiZWxvdyksIHNvIHRoZSB0b2RheSBjZWxsIGtlZXBzIHRoZSBzYW1lXG4vLyBuZXV0cmFsIGJhY2tncm91bmQgKyBob3ZlciBhcyBldmVyeSBvdGhlciBoZWFkZXIgY2VsbC4gTWlycm9ycyB0aGVcbi8vIHFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmUgZGF5LWhlYWRlciAoXCJQZXIgdGFha2xpanN0XCIgdmlldykuXG4ucWRuYXByby10aW1lLWdyaWRfX2RheWNlbGwtd2Vla2RheSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktNTAwLCAjNmI3MjgwKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZGF5Y2VsbC1kYXludW0ge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTgwMCwgIzFjMWIyOSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vLyBXZWVrZGF5IGxhYmVsIHRpbnRzIHRvIHRoZSBhY3Rpb24gY29sb3Igb24gdG9kYXkgKG1hdGNoZXMgdGhlIHBpbGwpLlxuLnFkbmFwcm8tdGltZS1ncmlkX19kYXljZWxsLmlzLXRvZGF5IC5xZG5hcHJvLXRpbWUtZ3JpZF9fZGF5Y2VsbC13ZWVrZGF5IHtcbiAgY29sb3I6IHZhcigtLWMtYWN0aW9uLTUwMCwgIzQ2NTJmMyk7XG59XG4vLyBUaGUgcGlsbDogZmlsbGVkIC0tYy1hY3Rpb24tNTAwIGNoaXAgaHVnZ2luZyBqdXN0IHRoZSBkYXkgbnVtYmVyLCBrZXB0XG4vLyBkZWxpYmVyYXRlbHkgc21hbGwgKHRpZ2h0IHBhZGRpbmcsIG5vIGZpeGVkIHNpemUpIHNvIGl0IHN0YXlzIHN1YnRsZXJcbi8vIHRoYW4gR29vZ2xlJ3Mgb3ZlcnNpemVkIGNpcmNsZS5cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZGF5Y2VsbC5pcy10b2RheSAucWRuYXByby10aW1lLWdyaWRfX2RheWNlbGwtZGF5bnVtIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYWN0aW9uLTUwMCwgIzQ2NTJmMyk7XG4gIHBhZGRpbmc6IDFweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xufVxuLy8gUHVzaCB0aGUgYWxsLWRheSBsYW5lJ3Mgb3duIHN0aWNreSBwb2ludCBkb3duIGJ5IHRoZSBkYXktaGVhZGVyJ3MgaGVpZ2h0IHNvXG4vLyB0aGUgdHdvIHN0aWNreSByb3dzIHN0YWNrIChib3RoIGFyZSBgcG9zaXRpb246IHN0aWNreTsgdG9wYCBpbnNpZGUgdGhlIFNBTUVcbi8vIF9fc2Nyb2xsLXkpIGluc3RlYWQgb2Ygb3ZlcmxhcHBpbmcgYXQgdG9wOjAuXG4ucWRuYXByby10aW1lLWdyaWQtLWhhcy1kYXktaGVhZGVyIC5xZG5hcHJvLXRpbWUtZ3JpZF9fYWxsZGF5IHtcbiAgdG9wOiB2YXIoLS10aW1lLWdyaWQtZGF5aGVhZGVyLWgsIDQwcHgpO1xufVxuXG4vLyAtLS0gQWxsLWRheSBsYW5lOiBzdGlja3MgdG8gdGhlIHRvcCBvZiB0aGUgdmVydGljYWwgc2Nyb2xsZXIuIEl0cyB2aWV3cG9ydFxuLy8gY2xpcHMgYW5kIEpTIG1pcnJvcnMgdGhlIGhvcml6b250YWwgc2Nyb2xsTGVmdCBzbyBiYXJzIHRyYWNrIHRoZSBkYXkgY29sdW1ucy5cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fYWxsZGF5IHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA2O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkLCAjZmZmKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpO1xuICAvLyBWaWV3cG9ydC1hd2FyZSBoZWlnaHQ6IEpTIHNldHMgYW4gZXhwbGljaXQgcHggaGVpZ2h0IGZvciB0aGUgdmlzaWJsZSByb3dzIGFuZFxuICAvLyBhbmltYXRlcyBpdCAoMCB3aGVuIHRoZSB2aXNpYmxlIGRheXMgaGF2ZSBubyBhbGwtZGF5IGl0ZW1zIOKGkiBubyBmcmFtZSkuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjJzIGVhc2U7XG59XG4ucWRuYXByby10aW1lLWdyaWRfX2FsbGRheS5pcy1lbXB0eSB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG59XG4ucWRuYXByby10aW1lLWdyaWRfX2FsbGRheS1jb3JuZXIge1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogNTZweDtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkLCAjZmZmKTtcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fYWxsZGF5LXZwIHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBjbGlwcGVkOyBzY3JvbGxMZWZ0IGlzIGRyaXZlbiBwcm9ncmFtbWF0aWNhbGx5IChubyB1c2VyIHNjcm9sbClcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fYWxsZGF5LWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICAvLyBST1cgZ2FwIG9ubHkg4oCUIHRoZSBzaG9ydGhhbmQgYGdhcDogMnB4YCBhbHNvIHNldCBhIDJweCBDT0xVTU4gZ2FwLFxuICAvLyBtYWtpbmcgdGhlIGxhbmUncyBjb2x1bW4gcGl0Y2ggMnB4IHdpZGVyIHRoYW4gdGhlIGRheSBjb2x1bW5zIGJlbG93XG4gIC8vICh3aGljaCBoYXZlIG5vIGdhcCkuIFRoYXQgZHJpZnRzIDJweCBwZXIgZGF5IGZyb20gdGhlIHdpbmRvdyBzdGFydDpcbiAgLy8gaW52aXNpYmxlIGluIHNtYWxsIGJhY2tvZmZpY2Ugd2luZG93cywgaGFsZiBhIGNvbHVtbiA0NSBkYXlzIGluIG9uIHRoZVxuICAvLyBQV0EgKEtpbSdzIFwiU2lja1wiIGJhciwgbWVhc3VyZWQgbGl2ZSAxNy4wNy4yMDI2OiA0NSB4IDJweCA9IH45MHB4IG9mZikuXG4gIHJvdy1nYXA6IDJweDtcbiAgY29sdW1uLWdhcDogMDtcbiAgZ3JpZC1hdXRvLXJvd3M6IDI2cHg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBwYWRkaW5nOiA0cHggMnB4IDRweCAwO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG4ucWRuYXByby10aW1lLWdyaWRfX2FsbGRheS1ncmlkLmlzLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDQgKiAyOHB4KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fYWxsZGF5LWdyaWQgLnFkbmFwcm8tZXZlbnQtY2FyZCB7XG4gIGhlaWdodDogMjZweDtcbiAgbWluLWhlaWdodDogMDtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgbWFyZ2luOiAwIDFweDtcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fYWxsZGF5LXRvZ2dsZSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIG1hcmdpbjogMCAxcHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTUwMCwgIzZiNzI4MCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItMiwgOHB4KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnFkbmFwcm8tdGltZS1ncmlkX19hbGxkYXktdG9nZ2xlOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OlxuICAgIDAgMCAwIDJweCB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpLFxuICAgIDAgMCAwIDZweCB2YXIoLS1jLXB1cnBsZS1zb2Z0LTE4LCByZ2JhKDY0LCA3MywgMTU0LCAwLjE4KSk7XG59XG5cbi8vIC0tLSBIb3VycyByb3c6IHRoZSBmaXhlZC1sZWZ0IGd1dHRlciArIHRoZSBob3Jpem9udGFsIGRheSBzY3JvbGxlciAtLS1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9faG91cnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLy8gR3V0dGVyIOKAlCBwbGFpbiBmbGV4IGNvbHVtbjogc2Nyb2xscyB2ZXJ0aWNhbGx5IHdpdGggdGhlIGhvdXJzIChpdCBpcyBpbnNpZGVcbi8vIHRoZSB2ZXJ0aWNhbCBzY3JvbGxlcikgYW5kIHN0YXlzIGF0IHRoZSBsZWZ0ICh0aGUgaG9yaXpvbnRhbCBzY3JvbGxlciBpcyBhXG4vLyBTSUJMSU5HLCBub3QgYSBwYXJlbnQsIHNvIGhvcml6b250YWwgcGFnaW5nIG5ldmVyIG1vdmVzIGl0KS5cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZ3V0dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiBub25lO1xuICB3aWR0aDogNTZweDtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXRpbWUtZ3JpZC1ob3VycywgMjQpICogdmFyKC0tdGltZS1ncmlkLWhvdXIpKTtcbiAgei1pbmRleDogNTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkLCAjZmZmKTtcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fdGltZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDhweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTUwMCwgIzZiNzI4MCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLyBJTk5FUiBob3Jpem9udGFsIHNjcm9sbGVyIOKAlCBkYXkgcGFnaW5nLiBPbmx5IHBhbnMgbGVmdC9yaWdodDsgc2Nyb2xsLXNuYXBcbi8vIGdpdmVzIHRoZSBwZXItZGF5IC8gcGVyLXdlZWsgcmVzdCBwb3NpdGlvbnMuXG4ucWRuYXByby10aW1lLWdyaWRfX3Njcm9sbC14IHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tdGltZS1ncmlkLWhvdXJzLCAyNCkgKiB2YXIoLS10aW1lLWdyaWQtaG91cikpO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICAvLyBBbGxvdyBCT1RIIHBhbnMgbmF0aXZlbHk6IGhvcml6b250YWwgc2Nyb2xscyB0aGlzIHNjcm9sbGVyLCB2ZXJ0aWNhbCBjaGFpbnNcbiAgLy8gdG8gdGhlIG91dGVyIF9fc2Nyb2xsLXkgKHRoaXMgb25lIGlzIG92ZXJmbG93LXk6aGlkZGVuKS4gcGFuLXggQUxPTkUgYmxvY2tlZFxuICAvLyB0aGUgdmVydGljYWwgY2hhaW4gKHRoZSBcInZlcnRpY2FsIGRvZXMgbm90aGluZ1wiIGJ1Zyk7IGZyZWV6aW5nIGFuIGF4aXMgdmlhXG4gIC8vIG92ZXJmbG93IGluIEpTIG1pZC1nZXN0dXJlIGtpbGxlZCBCT1RIIChtdXRhdGluZyBhIHNjcm9sbGVyIGNhbmNlbHMgdGhlIGxpdmVcbiAgLy8gbmF0aXZlIHNjcm9sbCkuIFNvOiBib3RoIGF4ZXMgbmF0aXZlLCBhbmQgd2UgcmVseSBvbiB0aGUgYnJvd3NlciBsb2NraW5nIGFcbiAgLy8gdG91Y2ggZ2VzdHVyZSB0byBvbmUgc2Nyb2xsIGNvbnRhaW5lciAoaXRzIGRlZmF1bHQpLiBObyBKUyBheGlzLWxvY2suXG4gIHRvdWNoLWFjdGlvbjogcGFuLXggcGFuLXk7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG59XG4ucWRuYXByby10aW1lLWdyaWRfX3Njcm9sbC14Ojotd2Via2l0LXNjcm9sbGJhciB7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnFkbmFwcm8tdGltZS1ncmlkX19zdHJpcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8vIERheSBjb2x1bW4g4oCUIG9uZSB2aWV3cG9ydCBzbG90IHdpZGU7IGhvdXIgcmFzdGVycyBhcmUgYSBjaGVhcCByZXBlYXRpbmdcbi8vIGdyYWRpZW50IChvbmUgcGFpbnQpIHNvIGEgd2lkZSBzdHJpcCBzdGF5cyBsaWdodC4gRWFjaCBjb2x1bW4gaXMgYSBzbmFwIHBvaW50LlxuLnFkbmFwcm8tdGltZS1ncmlkX19kYXkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IG5vbmU7XG4gIHdpZHRoOiB2YXIoLS10aW1lLWdyaWQtY29sdywgMTIwcHgpO1xuICAvLyBib3JkZXItYm94IGlzIExPQUQtQkVBUklORyBoZXJlLCBub3QgY29zbWV0aWM6IHdpdGhvdXQgaXQgdGhlIDFweFxuICAvLyBib3JkZXItcmlnaHQgbWFrZXMgZXZlcnkgZGF5IGNvbHVtbiBjb2x3KzFweCB3aWRlIHdoaWxlIHRoZSBhbGwtZGF5XG4gIC8vIGxhbmUgZ3JpZCB1c2VzIGV4YWN0bHkgY29sdyBwZXIgY29sdW1uIOKAlCBhIDFweC1wZXItZGF5IGRyaWZ0IHRoYXQgYWRkc1xuICAvLyB1cCB0byBoYWxmIGEgY29sdW1uIG9uY2UgeW91IGFyZSB3ZWVrcyBhd2F5IGZyb20gdGhlIHdpbmRvdyBzdGFydFxuICAvLyAoS2ltJ3MgUFdBIHNjcmVlbnNob3QsIDE3LjA3LjIwMjY6IFwiU2lja1wiIGJhciBmbG9hdGluZyBiZXR3ZWVuIGRheXMpLlxuICAvLyBUaGUgYmFja29mZmljZSBtYXNrcyB0aGlzIHZpYSBpdHMgZ2xvYmFsIGJvcmRlci1ib3ggcmVzZXQ7IHRoZSBQV0EgaGFzXG4gIC8vIG5vIHN1Y2ggcmVzZXQsIHNvIHRoZSBjb21wb25lbnQgbXVzdCBwaW4gaXQgaXRzZWxmLlxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpO1xuICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgdG8gYm90dG9tLFxuICAgIHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpIDAsIHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpIDFweCxcbiAgICB0cmFuc3BhcmVudCAxcHgsIHRyYW5zcGFyZW50IHZhcigtLXRpbWUtZ3JpZC1ob3VyLCA1MnB4KVxuICApO1xufVxuLy8gV2VlayB2aWV3IHNuYXBzIHBlciBXRUVLOiBvbmx5IHRoZSBNb25kYXkgY29sdW1ucyBhcmUgc25hcCBwb2ludHNcbi5xZG5hcHJvLXRpbWUtZ3JpZC0td2VlayAucWRuYXByby10aW1lLWdyaWRfX2RheSB7IHNjcm9sbC1zbmFwLWFsaWduOiBub25lOyB9XG4ucWRuYXByby10aW1lLWdyaWQtLXdlZWsgLnFkbmFwcm8tdGltZS1ncmlkX19kYXkuaXMtd2Vla3N0YXJ0IHsgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0OyB9XG5cbi8vIENlbGwtc3RhdGUgc2VnbWVudHMg4oCUIGJhY2tncm91bmQgbGF5ZXIgdW5kZXIgdGhlIGV2ZW50c1xuLnFkbmFwcm8tdGltZS1ncmlkX19zdGF0ZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fc3RhdGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuLnFkbmFwcm8tdGltZS1ncmlkX19zdGF0ZS0tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktNTAsICNmMGYxZjIpO1xufVxuXG4vLyBFdmVudHMgbGF5ZXIg4oCUIGNhcmRzIHBvc2l0aW9uZWQgYnkgdGhlIEpTICh0b3AvaGVpZ2h0L2xlZnQvd2lkdGgpXG4ucWRuYXByby10aW1lLWdyaWRfX2V2ZW50cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tdGltZS1ncmlkX19ldmVudHMgLnFkbmFwcm8tZXZlbnQtY2FyZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi8vIC0tLSBEcmFnICYgZHJvcCAtLS1cbi8vIERlc2t0b3AgbW91c2UgYWZmb3JkYW5jZSAoSy1kZWNpc2lvbiAxOC4wNy4yMDI2KTogYSBkcmFnZ2FibGUgY2FyZCBzaG93cyBhblxuLy8gb3BlbiBoYW5kLCBjbG9zZWQgd2hpbGUgYWN0dWFsbHkgYmVpbmcgZHJhZ2dlZC4gSGFybWxlc3Mgb24gdG91Y2gvcGVuIChub1xuLy8gY3Vyc29yIHJlbmRlcmVkIHRoZXJlKSDigJQgY2hlYXAsIG5vIGNvbmZsaWN0aW5nIGN1cnNvciBydWxlIG9uIHRoaXMgZWxlbWVudC5cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZXZlbnRzIC5xZG5hcHJvLWV2ZW50LWNhcmRbZGF0YS1xdGctZHJhZ2dhYmxlXSB7XG4gIGN1cnNvcjogZ3JhYjtcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZXZlbnRzIC5xZG5hcHJvLWV2ZW50LWNhcmRbZGF0YS1xdGctZHJhZ2dhYmxlXTphY3RpdmUsXG4ucWRuYXByby10aW1lLWdyaWRfX2V2ZW50cyAucWRuYXByby1ldmVudC1jYXJkLmlzLWRyYWdnaW5nIHtcbiAgY3Vyc29yOiBncmFiYmluZztcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZXZlbnRzIC5xZG5hcHJvLWV2ZW50LWNhcmQuaXMtZHJhZ2dpbmcge1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB6LWluZGV4OiA1O1xuICBib3gtc2hhZG93OlxuICAgIDAgNnB4IDE4cHggcmdiYSgyOCwgMjcsIDQxLCAwLjIyKSxcbiAgICAwIDJweCA2cHggcmdiYSgyOCwgMjcsIDQxLCAwLjE0KTtcbiAgb3BhY2l0eTogMC45Mjtcbn1cbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZXZlbnRzIC5xZG5hcHJvLWV2ZW50LWNhcmQuaXMtZHJhZy1yZXR1cm4ge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC4zNCwgMS4zLCAwLjY0LCAxKTtcbn1cblxuLy8gLS0tIFJlc2l6ZSAoSyAwMy4wOC4yMDI2LCBNT1VTRSBPTkxZKSAtLS1cbi8vIFRoZSBncmFiIHN0cmlwIGlzIGEgOjphZnRlciBwc2V1ZG8tZWxlbWVudCBhbmQgTk9UIGEgY2hpbGQgZWxlbWVudCBvbiBwdXJwb3NlOlxuLy8gcWRuYS1ldmVudC1jYXJkIHJlYnVpbGRzIGl0cyBvd24gaW5uZXJIVE1MIG9uIGV2ZXJ5IHJlbmRlcigpLCBzbyBhbiBpbmplY3RlZCBoYW5kbGVcbi8vIHdvdWxkIGJlIHdpcGVkIHdpdGhvdXQgYSB0cmFjZS4gSXRzIGhlaWdodCBtdXN0IHN0YXkgaW4gc3RlcCB3aXRoXG4vLyBRZG5hVGltZUdyaWQuUkVTSVpFX0hBTkRMRV9QWCwgd2hpY2ggZG9lcyB0aGUgYWN0dWFsIGhpdC10ZXN0aW5nIGluIEpTLlxuLy9cbi8vIFdyYXBwZWQgaW4gKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSBzbyB0aGUgYWZmb3JkYW5jZSBkb2VzIG5vdCBleGlzdCBhdCBhbGxcbi8vIG9uIGEgdG91Y2ggZGV2aWNlOiBhIDEwcHggc3RyaXAgaXMgbm90IGEgZmluZ2VyIHRhcmdldCwgYW5kIG9uIGEgcGhvbmUgZXZlcnkgZG93bndhcmRcbi8vIGRyYWcgdGhlcmUgaXMgYWxzbyBhIHNjcm9sbCBhdHRlbXB0LiBUaGUgSlMgZ2F0ZSBvbiBwb2ludGVyVHlwZSA9PT0gXCJtb3VzZVwiIGlzIHRoZVxuLy8gcmVhbCBndWFyZDsgdGhpcyBvbmUga2VlcHMgdGhlIGN1cnNvciBmcm9tIGx5aW5nIG9uIGEgdGFibGV0LlxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucWRuYXByby10aW1lLWdyaWRfX2V2ZW50cyAucWRuYXByby1ldmVudC1jYXJkW2RhdGEtcXRnLXJlc2l6YWJsZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgY3Vyc29yOiBucy1yZXNpemU7XG4gICAgLy8gU2l0cyBhYm92ZSB0aGUgY2FyZCdzIG93biB0ZXh0IHNvIHRoZSBjdXJzb3IgaXMgcmVsaWFibGUgbmVhciB0aGUgZWRnZSwgYnV0XG4gICAgLy8gcGFpbnRzIG5vdGhpbmc6IHRoZSBhZmZvcmRhbmNlIGlzIHRoZSBjdXJzb3IgcGx1cyB0aGUgaG92ZXIgYmFyIGJlbG93LlxuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLy8gUXVpZXQgaGludCB0aGF0IHRoZSBlZGdlIGlzIGdyYWJiYWJsZSwgb25seSB3aGlsZSB0aGUgcG9pbnRlciBpcyBvbiB0aGUgY2FyZC5cbiAgLnFkbmFwcm8tdGltZS1ncmlkX19ldmVudHMgLnFkbmFwcm8tZXZlbnQtY2FyZFtkYXRhLXF0Zy1yZXNpemFibGVdOmhvdmVyOjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tci0yLCA4cHgpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1yLTIsIDhweCk7XG4gICAgb3BhY2l0eTogMC41NTtcbiAgfVxufVxuLnFkbmFwcm8tdGltZS1ncmlkX19ldmVudHMgLnFkbmFwcm8tZXZlbnQtY2FyZC5pcy1yZXNpemluZyB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHotaW5kZXg6IDU7XG4gIGN1cnNvcjogbnMtcmVzaXplO1xuICBib3gtc2hhZG93OlxuICAgIDAgNnB4IDE4cHggcmdiYSgyOCwgMjcsIDQxLCAwLjIyKSxcbiAgICAwIDJweCA2cHggcmdiYSgyOCwgMjcsIDQxLCAwLjE0KTtcbiAgb3BhY2l0eTogMC45Mjtcbn1cbi8vIEEgY2FuY2VsbGVkIHJlc2l6ZSBzcHJpbmdzIGJhY2sgb24gSEVJR0hUIChhIGNhbmNlbGxlZCBtb3ZlIHNwcmluZ3MgYmFjayBvblxuLy8gdHJhbnNmb3JtKSwgc28gaXQgbmVlZHMgaXRzIG93biB0cmFuc2l0aW9uIHByb3BlcnR5IG9uIHRoZSBzYW1lIGlzLWRyYWctcmV0dXJuIGNsYXNzLlxuLnFkbmFwcm8tdGltZS1ncmlkX19ldmVudHMgLnFkbmFwcm8tZXZlbnQtY2FyZC5pcy1kcmFnLXJldHVybi5pcy1yZXNpemluZyB7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjJzIGN1YmljLWJlemllcigwLjM0LCAxLjMsIDAuNjQsIDEpO1xufVxuLnFkbmFwcm8tdGltZS1ncmlkX19kcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAycHg7XG4gIHJpZ2h0OiAycHg7XG4gIGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLTIsIDhweCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtcHVycGxlLXNvZnQtMTIsIHJnYmEoNjQsIDczLCAxNTQsIDAuMTIpKTtcbiAgei1pbmRleDogMjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ucWRuYXByby10aW1lLWdyaWRfX2Ryb3AtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMnB4O1xuICBsZWZ0OiA2cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnFkbmFwcm8tdGltZS1ncmlkX19kcm9wLmlzLXJlamVjdCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXNpZ25hbC1yZWQtYmcsICNmZWUzZTMpO1xufVxuLnFkbmFwcm8tdGltZS1ncmlkX19kcm9wLmlzLXJlamVjdCAucWRuYXByby10aW1lLWdyaWRfX2Ryb3AtbGFiZWwge1xuICBjb2xvcjogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpO1xufVxuLy8gUmVzaXplIHRhcmdldDogdGhlIGxhYmVsIGhhbmdzIFVOREVSIHRoZSBvdXRsaW5lIGluc3RlYWQgb2YgaW5zaWRlIGl0cyB0b3AtbGVmdFxuLy8gY29ybmVyLiBBIHJlc2l6ZWQgY2FyZCBkb2VzIG5vdCBtb3ZlIG91dCBvZiB0aGUgd2F5IGxpa2UgYSBkcmFnZ2VkIG9uZSBkb2VzLCBzbyBhXG4vLyBsYWJlbCBhdCB0aGUgdG9wIHdvdWxkIGVuZCB1cCBiZWhpbmQgaXQuIFVuZGVyIHRoZSBkcmFnZ2VkIGVkZ2UgaXMgYWxzbyB3aGVyZSB0aGVcbi8vIGN1cnNvciBhbHJlYWR5IGlzLCBzbyB0aGUgcmVhZGluZyBleWUgZG9lcyBub3QgaGF2ZSB0byB0cmF2ZWwuXG4ucWRuYXByby10aW1lLWdyaWRfX2Ryb3AtLXJlc2l6ZSAucWRuYXByby10aW1lLWdyaWRfX2Ryb3AtbGFiZWwge1xuICB0b3A6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cbi8vIERldmlhdGluZyBmcm9tIHRoZSBlc3RpbWF0ZSBpcyBBTExPV0VEIChLIDAzLjA4LjIwMjYpIOKAlCBvcmFuZ2UsIG5ldmVyIHJlZCwgYW5kIG9ubHkgb25cbi8vIHRoZSBsYWJlbCBwbHVzIGEgc29mdCBib3JkZXIuIFJlZCBpcyByZXNlcnZlZCBmb3IgYSByZWZ1c2VkIGRyb3AuXG4ucWRuYXByby10aW1lLWdyaWRfX2Ryb3AuaXMtb3Zlci1lc3RpbWF0ZSxcbi5xZG5hcHJvLXRpbWUtZ3JpZF9fZHJvcC5pcy11bmRlci1lc3RpbWF0ZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1zaWduYWwtb3JhbmdlLXRleHQsICNiYzZhMWYpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXNpZ25hbC1vcmFuZ2UtYmcsICNmZGVhZGMpO1xufVxuLnFkbmFwcm8tdGltZS1ncmlkX19kcm9wLmlzLW92ZXItZXN0aW1hdGUgLnFkbmFwcm8tdGltZS1ncmlkX19kcm9wLWxhYmVsLFxuLnFkbmFwcm8tdGltZS1ncmlkX19kcm9wLmlzLXVuZGVyLWVzdGltYXRlIC5xZG5hcHJvLXRpbWUtZ3JpZF9fZHJvcC1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1jLXNpZ25hbC1vcmFuZ2UtdGV4dCwgI2JjNmExZik7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby10aW1lLWdyaWRfX2V2ZW50cyAucWRuYXByby1ldmVudC1jYXJkLmlzLWRyYWctcmV0dXJuIHsgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAucWRuYXByby10aW1lLWdyaWRfX2FsbGRheSB7IHRyYW5zaXRpb246IG5vbmU7IH1cbn1cblxuLy8gTm93LWluZGljYXRvciAoR29vZ2xlIENhbGVuZGFyIHN0eWxlKTogcmVkIGxpbmUgKyBkb3Qgb24gdGhlIGN1cnJlbnQgdGltZVxuLnFkbmFwcm8tdGltZS1ncmlkX19ub3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1jLXRhZy1jcml0aWNhbC10ZXh0KTtcbiAgei1pbmRleDogMztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vKiBUaGUgXCJub3dcIiBkb3Qgc2l0cyBmdWxseSBJTlNJREUgdG9kYXkncyBjb2x1bW4gKGZpeGVkIDI5LjA3LjIwMjYsIEtpbTogXCJ2YWx0XG4gICBhbHRpamQgd2VnIG9uZGVyIGhldCBsaW5rZXIgcGFuZWVsXCIpLiBJdCB1c2VkIHRvIGJlIGBsZWZ0OiAtNXB4YCwgc3RyYWRkbGluZyB0aGVcbiAgIGNvbHVtbidzIGxlZnQgZWRnZSwgc28gaGFsZiBvZiBpdCBsYW5kZWQgdW5kZXIgdGhlIHRpbWVzIGd1dHRlciDigJQgYW5kIHRoZSBndXR0ZXJcbiAgIGlzIG9wYXF1ZSB3aXRoIHotaW5kZXggNSBhZ2FpbnN0IHRoaXMgbGluZSdzIHotaW5kZXggMywgc28gdGhhdCBoYWxmIHdhcyBzaW1wbHlcbiAgIHBhaW50ZWQgb3Zlci4gSW4gdGhlIGRheSB2aWV3IHRvZGF5J3MgY29sdW1uIGlzIEFMV0FZUyB0aGUgbGVmdG1vc3Qgb25lLCB3aGljaCBpc1xuICAgd2h5IGl0IHdhcyBhbHdheXMgYnJva2VuIHRoZXJlIHJhdGhlciB0aGFuIG9ubHkgc29tZXRpbWVzLiBSYWlzaW5nIHRoZSBsaW5lIGFib3ZlXG4gICB0aGUgZ3V0dGVyIGluc3RlYWQgd291bGQgYmUgd3Jvbmc6IHRoZSBsaW5lIGlzIHN1cHBvc2VkIHRvIHNsaWRlIHVuZGVyIHRoZSBndXR0ZXJcbiAgIHdoZW4geW91IHNjcm9sbCBob3Jpem9udGFsbHksIHRoYXQgaXMgd2hhdCBtYWtlcyB0aGUgZ3V0dGVyIHJlYWQgYXMgYSBmaXhlZCBwYW5lbC5cbiAgIFNvIHRoZSBkb3QgbW92ZXMgaW4sIGFuZCB0aGUgZ3V0dGVyIGtlZXBzIHdpbm5pbmcuICovXG4ucWRuYXByby10aW1lLWdyaWRfX25vdzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IC01cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy10YWctY3JpdGljYWwtdGV4dCk7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBxZG5hcHJvLXRpbWUtcGlja2VyIOKAlCBpT1Mtc3R5bGUgdGltZSB3aGVlbHMgKFBXQSBjYWxlbmRhciBNMilcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIFFETkEgdG9rZW5zIHVzZWQ6XG4vLyAgICAtLWMtcHVycGxlLTUwMCAgICAgICM0MDQ5OWEgICAgICAgICAgICAgICAgc2VsZWN0ZWQgdmFsdWVcbi8vICAgIC0tYy1wdXJwbGUtc29mdC0wOCAgcmdiYSg2NCw3MywxNTQsMC4wOCkgICBjZW50cmUgaGlnaGxpZ2h0IGJhclxuLy8gICAgLS1jLWdyZXktNDAwICAgICAgICAjYTZhYWIzICAgICAgICAgICAgICAgIGlkbGUgd2hlZWwgdmFsdWVzXG4vLyAgICAtLWMtZ3JleS01MDAgICAgICAgICM2YjcyODAgICAgICAgICAgICAgICAgY29sb24gc2VwYXJhdG9yXG4vLyAgR2VvbWV0cnk6IDQwcHggaXRlbXMsIDUgdmlzaWJsZSByb3dzICgyMDBweCBjb2x1bW4pLiBUaGUgSlMgbWVhc3VyZXNcbi8vICB0aGUgcmVhbCBpdGVtIGhlaWdodCBhdCBydW50aW1lLCBzbyBjaGFuZ2luZyA0MHB4IGhlcmUgc3RheXMgaW4gc3luYy5cbi8vICBOYXRpdmUgc2Nyb2xsICsgc2Nyb2xsLXNuYXAgZG9lcyB0aGUgcGh5c2ljczsgdGhlIG1hc2sgZmFkZXMgdGhlXG4vLyAgd2hlZWwgZWRnZXMuIG92ZXJzY3JvbGwtYmVoYXZpb3Iga2VlcHMgdGhlIHNwaW4gZnJvbSBzY3JvbGwtY2hhaW5pbmdcbi8vICBpbnRvIHRoZSBib3R0b20gc2hlZXQgdGhhdCBob3N0cyB0aGUgcGlja2VyLlxuLy8gIEZMQVQgQ1NTOyBzeW5jZWQgdG8gdGhlIFBXQSB2aWEgc3luYy12Mi1jb21wb25lbnRzLmpzLlxuXG4ucWRuYXByby10aW1lLXBpY2tlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tdGhlbWUtZm9udC1mYW1pbHksIFwiSW50ZXJcIiwgc2Fucy1zZXJpZik7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLyBDZW50cmUgaGlnaGxpZ2h0IGJhciDigJQgc2l0cyBiZWhpbmQgdGhlIGNvbHVtbnMgKGZpcnN0IGNoaWxkLCBubyB6LWluZGV4KVxuLnFkbmFwcm8tdGltZS1waWNrZXJfX2hpZ2hsaWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNHB4O1xuICByaWdodDogNHB4O1xuICB0b3A6IDUwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtcHVycGxlLXNvZnQtMDgsIHJnYmEoNjQsIDczLCAxNTQsIDAuMDgpKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5xZG5hcHJvLXRpbWUtcGlja2VyX19jb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA3MnB4O1xuICBoZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtd2Via2l0LW1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50LCAjMDAwIDI4JSwgIzAwMCA3MiUsIHRyYW5zcGFyZW50KTtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQsICMwMDAgMjglLCAjMDAwIDcyJSwgdHJhbnNwYXJlbnQpO1xufVxuLnFkbmFwcm8tdGltZS1waWNrZXJfX2NvbDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBQYWRkaW5nIHNvIHRoZSBmaXJzdC9sYXN0IGVudHJ5IGNhbiByZXN0IHVuZGVyIHRoZSBoaWdobGlnaHRcbi5xZG5hcHJvLXRpbWUtcGlja2VyX19saXN0IHtcbiAgcGFkZGluZzogODBweCAwO1xufVxuXG4ucWRuYXByby10aW1lLXBpY2tlcl9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktNDAwLCAjYTZhYWIzKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBzY3JvbGwtc25hcC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjEycyBlYXNlLCBmb250LXdlaWdodCAwLjEycyBlYXNlO1xufVxuLnFkbmFwcm8tdGltZS1waWNrZXJfX2l0ZW0uaXMtc2VsZWN0ZWQge1xuICBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNTAwLCAjNDA0OTlhKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnFkbmFwcm8tdGltZS1waWNrZXJfX2NvbG9uIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS01MDAsICM2YjcyODApO1xufVxuXG4vLyBGb2N1cyDigJQgdW5pZmllZCBzdGFja2VkIHJpbmcgb24gdGhlIGNvbHVtblxuLnFkbmFwcm8tdGltZS1waWNrZXJfX2NvbDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbi5xZG5hcHJvLXRpbWUtcGlja2VyX19jb2w6Zm9jdXMtdmlzaWJsZSB7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAwIDAgMnB4IHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSksXG4gICAgMCAwIDAgNnB4IHZhcigtLWMtcHVycGxlLXNvZnQtMTgsIHJnYmEoNjQsIDczLCAxNTQsIDAuMTgpKTtcbn1cblxuLnFkbmFwcm8tdGltZS1waWNrZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi5xZG5hcHJvLXRpbWUtcGlja2VyW2Rpc2FibGVkXSAucWRuYXByby10aW1lLXBpY2tlcl9fY29sIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5xZG5hcHJvLXRpbWUtcGlja2VyX19pdGVtIHsgdHJhbnNpdGlvbjogbm9uZTsgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby10aW1lLXNlbGVjdCDigJQgR29vZ2xlLUNhbGVuZGFyLXN0eWxlIDE1LW1pbnV0ZSB0aW1lIGRyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBRRE5BIHRva2VucyB1c2VkOlxuLy8gICAgLS1jLWdyZXktOTUwICAgIzBiMGIwZCAgIGZpZWxkIHRleHQgLyBsYWJlbFxuLy8gICAgLS1jLWdyZXktNDAwICAgI2E2YWFiMyAgcGxhY2Vob2xkZXIgLyBsZWFkaW5nIGljb24gLyBjaGV2cm9uXG4vLyAgICAtLWMtZ3JleS0zMDAgICAjYzRjN2NjICBmaWVsZCBib3JkZXJcbi8vICAgIC0tYy1ncmV5LTUwICAgICNmMGYxZjIgIG9wdGlvbiBob3ZlciBiYWNrZ3JvdW5kXG4vLyAgICAtLWMtZ3JleS0xMDAgICAjZTdlOWVjICBvcHRpb24gcHJlc3NlZCBiYWNrZ3JvdW5kXG4vLyAgICAtLWMtcHVycGxlLTUwMCAjNDA0OTlhICBzZWxlY3RlZCBvcHRpb24gdGV4dCArIG9mZi1ncmlkIGRvdFxuLy8gICAgLS1jLWFjdGlvbi01MDAgIzQ2NTJmMyAgc2VsZWN0ZWQgb3B0aW9uIGJhY2tncm91bmRcbi8vICAgIC0tYy1hY3Rpb24tNDAgIHJnYmEoNzAsODIsMjQzLDAuNDApICBmb2N1cyByaW5nIGdsb3dcbi8vICAgIC0tYy1zaWduYWwtcmVkLXRleHQgI2M2NWE1YSAgcmVxdWlyZWQgc3RhciAvIGVycm9yIGJvcmRlciAvIG1lc3NhZ2Vcbi8vICBGaWVsZCBtZXRyaWNzIG1pcnJvciBxZG5hcHJvLWlucHV0J3MgLmlucHV0LWZpZWxkIChzbWFsbC9kZWZhdWx0IHNpemUsXG4vLyAgYm9yZGVyLCByYWRpdXMsIGZvY3VzIHJpbmcpIHNvIHRoZSB0cmlnZ2VyIHJlYWRzIGFzIHBhcnQgb2YgdGhlIHNhbWVcbi8vICBpbnB1dCBmYW1pbHkgKEtpbSdzIHNwZWM6IFwic2FtZSB2aXN1YWwgZmFtaWx5IGFzIHFkbmFwcm8taW5wdXRcbi8vICB0eXBlPXRpbWUgc2l6ZT1zbWFsbFwiKS4gVGhlIGRyb3Bkb3duIHBhbmVsIG1pcnJvcnMgdGhlIHFkbmFwcm8tc2VsZWN0XG4vLyAgcG9wb3ZlciBjaHJvbWUgKGJvcmRlci9yYWRpdXMvc2hhZG93KSBmb3IgcGxhdGZvcm0gY29uc2lzdGVuY3kuXG4vLyAgRkxBVCBDU1MgKG5vIG5lc3RpbmcpLCBwZXIgdGhlIHYyIGNvbXBvbmVudCBjb252ZW50aW9uLlxuXG4ucWRuYXByby10aW1lLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXRoZW1lLWZvbnQtZmFtaWx5LCBcIkludGVyXCIsIHNhbnMtc2VyaWYpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuLnFkbmFwcm8tdGltZS1zZWxlY3QgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5xZG5hcHJvLXRpbWUtc2VsZWN0IC50cy1sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTk1MCwgIzBiMGIwZCk7XG59XG4ucWRuYXByby10aW1lLXNlbGVjdCAudHMtbGFiZWwgLnRzLXJlcXVpcmVkIHtcbiAgY29sb3I6IHZhcigtLWMtc2lnbmFsLXJlZC10ZXh0LCAjYzY1YTVhKTtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5xZG5hcHJvLXRpbWUtc2VsZWN0IC50cy1maWVsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLWdyZXktMzAwLCAjYzRjN2NjKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIGN1cnNvcjogdGV4dDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2Utb3V0LCBib3gtc2hhZG93IDEyMG1zIGVhc2Utb3V0O1xufVxuLnFkbmFwcm8tdGltZS1zZWxlY3QudHMtc2l6ZS1kZWZhdWx0IC50cy1maWVsZCB7XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG59XG4ucWRuYXByby10aW1lLXNlbGVjdC50cy1zaXplLXNtYWxsIC50cy1maWVsZCB7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG59XG5cbi5xZG5hcHJvLXRpbWUtc2VsZWN0IC50cy1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktNDAwLCAjYTZhYWIzKTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby10aW1lLXNlbGVjdCAudHMtY2hldnJvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTQwMCwgI2E2YWFiMyk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgZWFzZTtcbn1cbi5xZG5hcHJvLXRpbWUtc2VsZWN0LnRzLW9wZW4gLnRzLWNoZXZyb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4ucWRuYXByby10aW1lLXNlbGVjdCAudHMtaW5wdXQge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTk1MCwgIzBiMGIwZCk7XG59XG4ucWRuYXByby10aW1lLXNlbGVjdCAudHMtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS00MDAsICNhNmFhYjMpO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLnFkbmFwcm8tdGltZS1zZWxlY3QgLnRzLWlucHV0OmRpc2FibGVkIHtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS00MDAsICNhNmFhYjMpO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ucWRuYXByby10aW1lLXNlbGVjdCAudHMtZmllbGQ6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTM1YmE0O1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0tYy1hY3Rpb24tNDAsIHJnYmEoNzAsIDgyLCAyNDMsIDAuNDApKTtcbn1cblxuLnFkbmFwcm8tdGltZS1zZWxlY3QudHMtZXJyb3IgLnRzLWZpZWxkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLXNpZ25hbC1yZWQtdGV4dCwgI2M2NWE1YSk7XG59XG4ucWRuYXByby10aW1lLXNlbGVjdC50cy1lcnJvciAudHMtZmllbGQ6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLXNpZ25hbC1yZWQtdGV4dCwgI2M2NWE1YSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuNCk7XG59XG5cbi5xZG5hcHJvLXRpbWUtc2VsZWN0LnRzLWRpc2FibGVkIC50cy1maWVsZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS01MCwgI2YwZjFmMik7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucWRuYXByby10aW1lLXNlbGVjdC50cy1kaXNhYmxlZCAudHMtZmllbGQ6Zm9jdXMtd2l0aGluIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnFkbmFwcm8tdGltZS1zZWxlY3QgLnRzLW1lc3NhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuLnFkbmFwcm8tdGltZS1zZWxlY3QgLnRzLW1lc3NhZ2UgcWRuYXByby1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8tdGltZS1zZWxlY3QgLnRzLW1lc3NhZ2UtZXJyb3Ige1xuICBjb2xvcjogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpO1xufVxuXG4vLyAtLS0tLS0tLS0tIERyb3Bkb3duIHBhbmVsIChwb3J0YWxlZCB0byBkb2N1bWVudC5ib2R5KSAtLS0tLS0tLS0tXG4vLyBTYW1lIGNocm9tZSBmYW1pbHkgYXMgdGhlIHFkbmFwcm8tc2VsZWN0IHBvcG92ZXI6IHdoaXRlIGNhcmQsIGdyZXktMzAwXG4vLyBib3JkZXIsIHJhZGl1cyA4LCBlbGV2YXRlZCBzaGFkb3cuXG4ucWRuYXByby10aW1lLXNlbGVjdC1wYW5lbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtZ3JleS0zMDAsICNjNGM3Y2MpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDRweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBib3gtc2hhZG93OiAwIDRweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDhweCAxMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXRoZW1lLWZvbnQtZmFtaWx5LCBcIkludGVyXCIsIHNhbnMtc2VyaWYpO1xufVxuLy8gVGh1bWItb25seSBzY3JvbGxiYXIgKEtpbSdzIHN0YW5kaW5nIHJ1bGUg4oCUIGV2ZXJ5IHNjcm9sbCBjb250YWluZXIgZ2V0c1xuLy8gdGhpcywgbm8gZ3JleSB0cmFjaykuXG4ucWRuYXByby10aW1lLXNlbGVjdC1wYW5lbDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbn1cbi5xZG5hcHJvLXRpbWUtc2VsZWN0LXBhbmVsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnFkbmFwcm8tdGltZS1zZWxlY3QtcGFuZWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5xZG5hcHJvLXRpbWUtc2VsZWN0LXBhbmVsOmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYixcbi5xZG5hcHJvLXRpbWUtc2VsZWN0LXBhbmVsOmZvY3VzLXdpdGhpbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjIpO1xufVxuLnFkbmFwcm8tdGltZS1zZWxlY3QtcGFuZWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjM0KTtcbn1cblxuLnFkbmFwcm8tdGltZS1zZWxlY3QtcGFuZWwgLnRzLXBhbmVsLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFweDtcbn1cblxuLnFkbmFwcm8tdGltZS1zZWxlY3Qtb3B0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktOTUwLCAjMGIwYjBkKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnFkbmFwcm8tdGltZS1zZWxlY3Qtb3B0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTUwLCAjZjBmMWYyKTtcbn1cbi5xZG5hcHJvLXRpbWUtc2VsZWN0LW9wdGlvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktMTAwLCAjZTdlOWVjKTtcbn1cbi5xZG5hcHJvLXRpbWUtc2VsZWN0LW9wdGlvbi5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktNTAsICNmMGYxZjIpO1xufVxuXG4vLyBTZWxlY3RlZCDigJQgZmlsbGVkIHB1cnBsZSBwaWxsIChtaXJyb3JzIHRoZSBkYXRlLXBpY2tlcidzIHNlbGVjdGVkIGRheSkuXG4ucWRuYXByby10aW1lLXNlbGVjdC1vcHRpb24uaXMtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWFjdGlvbi01MDAsICM0NjUyZjMpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5xZG5hcHJvLXRpbWUtc2VsZWN0LW9wdGlvbi5pcy1zZWxlY3RlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYWN0aW9uLTYwMCwgIzM1NDBkNik7XG59XG5cbi8vIE9mZi1ncmlkIOKAlCB0aGUgY3VycmVudGx5LXNlbGVjdGVkIHZhbHVlIGRpZCBub3QgZmFsbCBvbiB0aGUgMTUtbWludXRlXG4vLyBncmlkIChlLmcuIHR5cGVkIG1hbnVhbGx5KS4gU3RpbGwgc2hvd24gKyBoaWdobGlnaHRlZCwgd2l0aCBhIHNtYWxsIGRvdFxuLy8gbWFya2VyIHNvIGl0IHZpc3VhbGx5IHJlYWRzIGFzIGFuIGluc2VydGVkLCBub24tZ3JpZCBlbnRyeS5cbi5xZG5hcHJvLXRpbWUtc2VsZWN0LW9wdGlvbi5pcy1vZmYtZ3JpZDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSk7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG4ucWRuYXByby10aW1lLXNlbGVjdC1vcHRpb24uaXMtb2ZmLWdyaWQuaXMtc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cblxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXRpbWUtc2VsZWN0IC50cy1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktNTAsICNmMGYxZjIpO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXRpbWUtc2VsZWN0IC50cy1maWVsZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS05MDAsICMxODE4MWMpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtZ3JleS02MDAsICM1NjViNjYpO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXRpbWUtc2VsZWN0IC50cy1pbnB1dCB7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktNTAsICNmMGYxZjIpO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXRpbWUtc2VsZWN0LXBhbmVsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTkwMCwgIzE4MTgxYyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1ncmV5LTYwMCwgIzU2NWI2Nik7XG59XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tdGltZS1zZWxlY3Qtb3B0aW9uIHtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS01MCwgI2YwZjFmMik7XG59XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tdGltZS1zZWxlY3Qtb3B0aW9uOmhvdmVyLFxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXRpbWUtc2VsZWN0LW9wdGlvbi5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktODAwLCAjMmUzMDM2KTtcbn1cbiIsIi8vIHFkbmFwcm8tZXZlbnQtc2hlZXQg4oCUIHRoZSBcIk5ldyBqb2JcIiBldmVudC1jcmVhdGlvbiBzaGVldCAoUFdBIGNhbGVuZGFyIE0yKS5cbi8vIEZMQVQgQ1NTICh0aGUgUFdBIGNvbXBvbmVudCBzeW5jIHN0cmlwcyBjb21tZW50cyBvbmx5LCBubyBuZXN0aW5nL3ZhcnMpLlxuLy8gVGhlIGlubmVyIHFkbmFwcm8tYm90dG9tLXNoZWV0IHBvcnRhbHMgdG8gPGJvZHk+LCBzbyBldmVyeSBob29rIGxpdmVzIG9uXG4vLyBbZGF0YS1lcy1zaGVldF0gKHRoZSBpbm5lciBzaGVldCBob3N0LCBhIGRhdGEtYXR0ciBiZWNhdXNlIHRoZSBzaGVldCB3aXBlc1xuLy8gaXRzIG93biBjbGFzc05hbWUpIGFuZCAucWRuYXByby1ldmVudC1zaGVldC1ib2R5ICh0aGUgY29udGVudCByb290KS5cbi8vIEZpZ21hIGxheW91dCB0cnV0aDogZ3JleSBzaGVldCBzdXJmYWNlIHdpdGggd2hpdGUgb3B0aW9uIGNhcmRzLiBUeXBlIGFuZFxuLy8gUmVwZWF0IHVzZSB0aGUgc3dpdGNoLXBhZ2UgcGF0dGVybiAoS2ltIDAyLjA3LjIwMjYpOiB0aGUgd2hvbGUgc2hlZXQgZmFjZVxuLy8gc2xpZGVzIGxlZnQgYW5kIGEgc3ViIHBhZ2UgKEJhY2sgKyBzZWFyY2ggKyBsaXN0KSBzbGlkZXMgaW4gZnJvbSB0aGUgcmlnaHQuXG5cbi8vIFRoZSBob3N0IGlzIG9ubHkgYSBob2xkZXI7IHRoZSBpbm5lciBzaGVldCBpcyBmaXhlZC1wb3NpdGlvbiBlbHNld2hlcmVcbnFkbmFwcm8tZXZlbnQtc2hlZXQgeyBkaXNwbGF5OiBjb250ZW50czsgfVxuXG4vLyBHcmV5IHNoZWV0IHN1cmZhY2UgYmVoaW5kIHRoZSB3aGl0ZSBjYXJkcyAoRmlnbWEgI2VkZWVmMSDihpIgZ3JleS01MCB0b2tlbikuXG4vLyBGVU5EQU1FTlRBTCBoZWlnaHQgbW9kZWwgKEtpbSAwMi4wNy4yMDI2KTogdGhlIHNoZWV0IGhhcyBPTkUgRklYRUQgaGVpZ2h0IGZvclxuLy8gaXRzIHdob2xlIGxpZmV0aW1lIOKAlCBhbGwgOCBGaWdtYSBzdGF0ZXMgYXJlIGVxdWFsbHkgdGFsbC4gUGlja2VycyBmb2xkaW5nIG91dCxcbi8vIGRyaWxsLWluIHBhZ2VzIGFuZCBzZWFyY2ggYWxsIGxpdmUgSU5TSURFIHRoYXQgaGVpZ2h0IHdpdGggaW50ZXJuYWwgc2Nyb2xsaW5nLFxuLy8gc28gdGhlIHNoZWV0IG91dGxpbmUgbmV2ZXIgbW92ZXMgYW5kIG5vdGhpbmcgbmVlZHMgbWVhc3VyaW5nIGluIEpTLlxuLnFkbmFwcm8tYm90dG9tLXNoZWV0W2RhdGEtZXMtc2hlZXRdIC5icy1wYW5lbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS01MCk7XG4gIGhlaWdodDogODYlOyAvLyB0aGUgc2hlZXQncyBleGlzdGluZyBtYXggZGV0ZW50LCBub3cgZml4ZWRcbn1cbi8vIFRoZSBwYWdlcyBvd24gdGhlaXIgc2Nyb2xsaW5nOyB0aGUgYm9keSBpcyBqdXN0IHRoZSBzdHJldGNoIGZyYW1lXG4ucWRuYXByby1ib3R0b20tc2hlZXRbZGF0YS1lcy1zaGVldF0gLmJzLWJvZHkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkge1xuICBmb250LWZhbWlseTogdmFyKC0tdGhlbWUtZm9udC1mYW1pbHksIFwiSW50ZXJcIiwgc2Fucy1zZXJpZik7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8vIC0tLSBQYWdlIHNsaWRlciAobWFpbiBmYWNlIOKGlCBzdWIgcGFnZSksIGJvdGggZXhhY3RseSB0aGUgZnJhbWUncyBoZWlnaHQgLS0tXG4vLyBUSEUgTU9WRU1FTlQgSVMgTk9UIEhFUkUgQU5ZIE1PUkUgKDAzLjA4LjIwMjYpLiBUaGUgdHJhbnNmb3JtcywgdGhlIGR1cmF0aW9uLCB0aGUgY3VydmVcbi8vIGFuZCB0aGUgZmFkZSBhbGwgY29tZSBmcm9tIHRoZSBzaGFyZWQgLnFkbmFwcm8tc2xpZGUtcGFnZXMgdm9jYWJ1bGFyeSBpbiBkZXNpZ24tdG9rZW5zO1xuLy8gdGhlIG1hcmt1cCBjYXJyaWVzIGBxZG5hcHJvLXNsaWRlLXBhZ2VzLS1mcmFtZWAgcGx1cyAtLWZpcnN0Ly0tc2Vjb25kLCBhbmQgdGhlIEpTIHRvZ2dsZXNcbi8vIGlzLXNlY29uZC9pcy1jdXJyZW50LiBLaW0gY2F1Z2h0IHRoZSBQV0EgZ3Jvd2luZyBhIFRISVJEIGhhbmQtd3JpdHRlbiBjb3B5IG9mIHRoZXNlIGV4YWN0XG4vLyBudW1iZXJzLCBzbyB0aGV5IG5vdyBsaXZlIGluIG9uZSBwbGFjZS4gV2hhdCBzdGF5cyBiZWxvdyBpcyBvbmx5IHdoYXQgaXMgZ2VudWluZWx5XG4vLyBldmVudC1zaGVldDogdGhlIGZsZXggZnJhbWUsIHRoZSBnYXAgYmV0d2VlbiByb3dzIGFuZCB0aGUgbWFpbiBmYWNlJ3MgaW50ZXJuYWwgc2Nyb2xsaW5nLlxuLy8gRG8gTk9UIHJlLWFkZCBhIHRyYW5zZm9ybSBvciBhIGR1cmF0aW9uIGhlcmUuXG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1wYWdlcyB7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1wYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4O1xufVxuLy8gTWFpbiBmYWNlIHNjcm9sbHMgaW50ZXJuYWxseSB3aGVuIGFuIGlubGluZSBwaWNrZXIgZm9sZHMgb3V0IChoaWRkZW4gc2Nyb2xsYmFyLFxuLy8gc2FtZSBydWxlIGFzIGJzLWJvZHk6IGEgc2hlZXQgbmV2ZXIgc2hvd3Mgb25lKVxuLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtcGFnZS1tYWluIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG59XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1wYWdlLW1haW46Oi13ZWJraXQtc2Nyb2xsYmFyIHsgd2lkdGg6IDA7IGhlaWdodDogMDsgZGlzcGxheTogbm9uZTsgfVxuXG4vLyBTdWIgcGFnZSBoZWFkZXI6IEJhY2tcbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLXN1Yi1oZWFkIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZzogMnB4IDA7IH1cbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLWJhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItcm93KTtcbiAgcGFkZGluZzogMTBweCAxNHB4IDEwcHggOHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tdGhlbWUtZm9udC1mYW1pbHksIFwiSW50ZXJcIiwgc2Fucy1zZXJpZik7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6IHZhcigtLWMtcHVycGxlLTcwMCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE0cyBlYXNlO1xufVxuLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtYmFjazpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS0xMDApOyB9XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1iYWNrOmFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS0yMDApOyB9XG5cbi8vIFRhc2tsaXN0IGxpc3QgKHN1YiBwYWdlKTogd2hpdGUgY2FyZCBvZiByb3dzLiBUaGUgc3ViIHBhZ2UgaGFzIGEgZml4ZWQgaGVpZ2h0XG4vLyAodGhlIGRyaWxsIGhlaWdodCksIHNvIHRoZSBsaXN0IGZsZXhlcyBpbnRvIHRoZSByZW1haW5pbmcgc3BhY2UgYmVsb3cgdGhlXG4vLyBCYWNrIGhlYWRlciArIHNlYXJjaCBmaWVsZCBhbmQgc2Nyb2xscyBpbnRlcm5hbGx5LlxuLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtdGwtbGlzdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItMyk7XG4gIHBhZGRpbmc6IDZweDtcbiAgZmxleDogMCAxIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG59XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy10bC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXJvdyk7XG4gIHBhZGRpbmc6IDlweCAxMnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tdGhlbWUtZm9udC1mYW1pbHksIFwiSW50ZXJcIiwgc2Fucy1zZXJpZik7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IHZhcigtLWMtcHVycGxlLTcwMCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE0cyBlYXNlO1xufVxuLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtdGwtcm93OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTUwKTsgfVxuLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtdGwtcm93OmFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS0xMDApOyB9XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy10bC1yb3dbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cbi8vIFRoZSB0YXNrbGlzdCdzIGFjdGl2aXR5IGljb24gb24gaXRzIGFjdGl2aXR5IGNvbG91clxuLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtdGwtaWNvIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDM4cHg7XG4gIGhlaWdodDogMzhweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbn1cbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLXRsLWljbyAuZXMtdGwtaW1nIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy10bC1uYW1lIHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLXRsLWNoZWNrIHsgZGlzcGxheTogbm9uZTsgZmxleC1zaHJpbms6IDA7IGNvbG9yOiB2YXIoLS1jLXB1cnBsZS03MDApOyB9XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy10bC1yb3cuaXMtYWN0aXZlIC5lcy10bC1jaGVjayB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLXR5cGUtZW1wdHkge1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCk7XG59XG5cbi8vIFJlcGVhdCBzdWIgcGFnZTogdGhlIHJhZGlvIGdyb3VwIGNhcmQgKGNoZWNrIGFuaW1hdGlvbiBjb21lcyB3aXRoIHRoZSBncm91cClcbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLXBhZ2Utc3ViIC5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24tZ3JvdXAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQpOyB9XG5cbi8vIC0tLSBNYWluIHBhZ2UgLS0tXG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy10b3BiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDJweCAycHggNHB4O1xufVxuXG4vLyBXaGl0ZSBvcHRpb24gY2FyZHMgb24gdGhlIGdyZXkgc2hlZXRcbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLTMpO1xuICBwYWRkaW5nOiA2cHg7XG59XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1jYXJkID4gcWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tci1yb3cpOyB9XG5cbi8vIENvbGxhcHNpYmxlIGlubGluZSBwYW5lbHMgKGRhdGUgLyB0aW1lIHBpY2tlcnMpXG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1wYW5lbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMGZyO1xuICB0cmFuc2l0aW9uOiBncmlkLXRlbXBsYXRlLXJvd3MgMC4yOHMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xufVxuLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtcGFuZWwgPiAuZXMtcGFuZWwtaW5uZXIgeyBvdmVyZmxvdzogaGlkZGVuOyBtaW4taGVpZ2h0OiAwOyB9XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1wYW5lbC5pcy1vcGVuIHsgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7IH1cbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLXBhbmVsLWlubmVyID4gcWRuYXByby1tb250aC1zdHJpcCxcbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLXBhbmVsLWlubmVyID4gcWRuYXByby10aW1lLXBpY2tlciB7IG1hcmdpbjogNHB4IDZweCA4cHg7IH1cbi8vIENlbnRyZSB0aGUgdGltZSB3aGVlbCBpbiB0aGUgY2FyZCAoRmlnbWEgU3RhcnQvRW5kIHRpbWUgc3RhdGVzKS4gVGhlIHBpY2tlciBpc1xuLy8gaW5saW5lLWZsZXgsIHNvIHRleHQtYWxpZ24gY2VudHJlcyBpdCBXSVRIT1VUIGJyZWFraW5nIHRoZSAwZnIvMWZyIGZvbGQgdHJpY2tcbi8vIChhIGZsZXggLmVzLXBhbmVsLWlubmVyIGNvbGxhcHNlcyB0aGUgMWZyIHJvdyB0byAwIGhlaWdodCkuXG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IFtkYXRhLWVzLXBhbmVsPVwic3RhcnQtdGltZVwiXSAuZXMtcGFuZWwtaW5uZXIsXG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IFtkYXRhLWVzLXBhbmVsPVwiZW5kLXRpbWVcIl0gLmVzLXBhbmVsLWlubmVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8vIFdob2xlLWRheSByb3dcbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLWFsbGRheS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDdweCAxMnB4IDdweCAxNnB4O1xufVxuLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtYWxsZGF5LWxlYWQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS03MDApO1xufVxuXG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogNHB4IDZweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTEwMCk7XG59XG5cbi8vIFN0YXJ0IC8gRW5kIHJvd3M6IGRhdGUgYnV0dG9uIGxlZnQsIHRpbWUgYnV0dG9uIHJpZ2h0XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1kdC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiAycHggNHB4O1xufVxuLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtZHQtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1yb3cpO1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1mb250LWZhbWlseSwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNzAwKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTRzIGVhc2UsIGNvbG9yIDAuMTRzIGVhc2U7XG59XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1kdC1idG46aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktNTApOyB9XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1kdC1idG46YWN0aXZlIHsgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTEwMCk7IH1cbi8vIFRoZSBidXR0b24gd2hvc2UgcGlja2VyIHBhbmVsIGlzIG9wZW5cbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLWR0LWJ0bi5pcy1hY3RpdmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktNTApOyBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNTAwKTsgfVxuXG4vLyBBbGwtZGF5OiB0aGUgdGltZSBidXR0b25zIGRpc2FwcGVhciAoRmlnbWEgQWxsIERheSB2YXJpYW50KVxuLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtY2FyZC13aGVuLmVzLWFsbGRheS1vbiAuZXMtZHQtdGltZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtY2FyZC1kZXNjIHsgcGFkZGluZzogMTBweCAxMnB4IDEycHg7IH1cblxuLy8gUGxhbi1ldmVudCBtb2RlIChtb2RlPVwiZXZlbnRcIik6IGZyZWUgdGl0bGUgZmllbGQgKyByZWQgZGVsZXRlIChlZGl0IG9ubHkpXG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1jYXJkLXRpdGxlIHsgcGFkZGluZzogMTBweCAxMnB4IDEycHg7IH1cbi5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLWNhcmQtZGVsZXRlIHtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1jYXJkLWRlbGV0ZSA+IHFkbmFwcm8tYnV0dG9uIHsgd2lkdGg6IDEwMCU7IH1cblxuLy8gQ29uZmlybSB3aXRob3V0IGEgY2hvc2VuIHRhc2tsaXN0OiBzaGFrZSB0aGUgVHlwZSByb3dcbkBrZXlmcmFtZXMgZXMtd2lnZ2xlIHtcbiAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpOyB9XG4gIDQwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOyB9XG4gIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsgfVxuICA4MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxufVxuLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtd2lnZ2xlIHsgYW5pbWF0aW9uOiBlcy13aWdnbGUgMC40cyBlYXNlOyB9XG5cbi8qIFJlY3VycmluZyBwZXJzb25hbCBldmVudHMgKFBsYW5uZXIgRjYgZmFzZSAxLCAyMC4wNy4yMDI2KSDigJQgdGhlXG4gKiByZXBlYXQtaW50ZXJ2YWwvdW50aWwgZmllbGRzIGluc2lkZSB0aGUgcmVwZWF0IHN1Yi1wYWdlLCBhbmQgdGhlXG4gKiBlZGl0L2RlbGV0ZSBlZGl0LXNjb3BlIGNob29zZXIgc3ViLXBhZ2UuIEJhY2stcG9ydGVkIGhlcmUgKGJvMiBpcyB0aGVcbiAqIGNhbm9uaWNhbCBldmVudC1zaGVldCBzb3VyY2U7IHRoZSBQV0EgY29weSBpcyBnZW5lcmF0ZWQgYnlcbiAqIHN5bmMtdjItY29tcG9uZW50cykgc28gYSBzeW5jIG5vIGxvbmdlciB3aXBlcyB0aGUgUFdBLXNpZGUgcnVsZXMuICovXG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1yZXBlYXQtZXh0cmEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEwcHg7XG59XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1zY29wZS10aXRsZSB7XG4gIHBhZGRpbmc6IDRweCAxMnB4IDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCk7XG59XG4ucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1zY29wZS1jb25maXJtLWJ0biB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyNHB4KTtcbiAgbWFyZ2luOiA0cHggMTJweCAwO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1ldmVudC1zaGVldC1ib2R5IC5lcy1wYW5lbCB7IHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtcGFnZXMsXG4gIC5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLXBhZ2UtbWFpbixcbiAgLnFkbmFwcm8tZXZlbnQtc2hlZXQtYm9keSAuZXMtcGFnZS1zdWIgeyB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC5xZG5hcHJvLWV2ZW50LXNoZWV0LWJvZHkgLmVzLXdpZ2dsZSB7IGFuaW1hdGlvbjogbm9uZTsgfVxufVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvZmF2b3JpdGUtYnV0dG9uL19mYXZvcml0ZS1idXR0b24tY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnFkbmFwcm8tZmF2b3JpdGUtYnV0dG9uIHtcbiAgLS1jLWZvY3VzLXJpbmc6ICM0MDQ5OWE7XG4gIC0tYy1mb2N1cy1nbG93OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nOiA0cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM4OThlOTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSksIGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZSwgY29sb3IgMzAwbXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMTIwbXMgZWFzZTtcbn1cbi5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbjpob3Zlcjpub3QoLmZhdm9yaXRlLWJ1dHRvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMWYyO1xuICBjb2xvcjogIzBiMGIwZDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuLnFkbmFwcm8tZmF2b3JpdGUtYnV0dG9uOmFjdGl2ZTpub3QoLmZhdm9yaXRlLWJ1dHRvbi1kaXNhYmxlZCkge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA4MG1zIGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsIGNvbG9yIDMwMG1zIGVhc2UtaW4tb3V0O1xufVxuLnFkbmFwcm8tZmF2b3JpdGUtYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbjpmb2N1cy12aXNpYmxlLCAucWRuYXByby1mYXZvcml0ZS1idXR0b24uZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tYy1mb2N1cy1yaW5nKSwgMCAwIDAgNnB4IHZhcigtLWMtZm9jdXMtZ2xvdyk7XG59XG4ucWRuYXByby1mYXZvcml0ZS1idXR0b24gLmZhdm9yaXRlLWJ1dHRvbi1pY29ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbi5mYXZvcml0ZS1idXR0b24tc2l6ZS1iaWcge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG4ucWRuYXByby1mYXZvcml0ZS1idXR0b24uZmF2b3JpdGUtYnV0dG9uLXNpemUtYmlnIC5mYXZvcml0ZS1idXR0b24taWNvbnMge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuLnFkbmFwcm8tZmF2b3JpdGUtYnV0dG9uIC5mYXZvcml0ZS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyBlYXNlLWluLW91dDtcbn1cbi5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbiAuZmF2b3JpdGUtaWNvbi1vdXRsaW5lIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbiAuZmF2b3JpdGUtaWNvbi1maWxsZWQge1xuICBvcGFjaXR5OiAwO1xuICBmaWxsOiAjNDA0OTlhO1xufVxuLnFkbmFwcm8tZmF2b3JpdGUtYnV0dG9uIC5mYXZvcml0ZS1pY29uLXB1bHNlIHtcbiAgb3BhY2l0eTogMDtcbiAgZmlsbDogIzQwNDk5YTtcbn1cbi5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbi5mYXZvcml0ZS1idXR0b24tZmF2b3JpdGVkIHtcbiAgY29sb3I6ICM0MDQ5OWE7XG59XG4ucWRuYXByby1mYXZvcml0ZS1idXR0b24uZmF2b3JpdGUtYnV0dG9uLWZhdm9yaXRlZCAuZmF2b3JpdGUtaWNvbi1vdXRsaW5lIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbi5mYXZvcml0ZS1idXR0b24tZmF2b3JpdGVkIC5mYXZvcml0ZS1pY29uLWZpbGxlZCB7XG4gIG9wYWNpdHk6IDE7XG59XG4ucWRuYXByby1mYXZvcml0ZS1idXR0b24uZmF2b3JpdGUtYnV0dG9uLXB1bHNpbmcgLmZhdm9yaXRlLWljb24tcHVsc2Uge1xuICBhbmltYXRpb246IHFkbmFwcm8tZmF2b3JpdGUtcHVsc2UgNjAwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1mYXZvcml0ZS1idXR0b24uZmF2b3JpdGUtYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogSGVhcnQgbW9kZSAoS2ltIDIwMjYtMDYtMzApOiByZWQvcGluayBmaWxsLCBubyByaXBwbGUgcHVsc2UsIGFuZCBhXG4gICBwb3AgYW5pbWF0aW9uIG9uIHRoZSBmaWxsZWQgaGVhcnQgd2hlbiBmYXZvcml0ZWQuIFBhcnRpY2xlcyBhcmUgc3Bhd25lZFxuICAgaW4gSlMgYW5kIGFwcGVuZGVkIHRvIDxib2R5Pi4gKi9cbi5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbi5mYXZvcml0ZS1idXR0b24tbW9kZS1oZWFydC5mYXZvcml0ZS1idXR0b24tZmF2b3JpdGVkIHtcbiAgY29sb3I6ICNmZjRkNmE7XG59XG4ucWRuYXByby1mYXZvcml0ZS1idXR0b24uZmF2b3JpdGUtYnV0dG9uLW1vZGUtaGVhcnQgLmZhdm9yaXRlLWljb24tZmlsbGVkIHtcbiAgZmlsbDogI2ZmNGQ2YTtcbn1cbi5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbi5mYXZvcml0ZS1idXR0b24tbW9kZS1oZWFydCAuZmF2b3JpdGUtaWNvbi1wdWxzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucWRuYXByby1mYXZvcml0ZS1idXR0b24uZmF2b3JpdGUtYnV0dG9uLW1vZGUtaGVhcnQuZmF2b3JpdGUtYnV0dG9uLXBvcHBpbmcgLmZhdm9yaXRlLWljb24tZmlsbGVkIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICBhbmltYXRpb246IHFkbmFwcm8taGVhcnQtcG9wIDUyMG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbn1cblxuQGtleWZyYW1lcyBxZG5hcHJvLWhlYXJ0LXBvcCB7XG4gIDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDIwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH1cbiAgNTAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS40NSk7IH1cbiAgNzAlICB7IHRyYW5zZm9ybTogc2NhbGUoMC45NSk7IH1cbiAgODUlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHFkbmFwcm8tZmF2b3JpdGUtcHVsc2Uge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xuICB9XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1mYXZvcml0ZS1idXR0b24sXG4gIC5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbiAuZmF2b3JpdGUtaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyBlYXNlLCBjb2xvciAxMjBtcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2U7XG4gIH1cbiAgLnFkbmFwcm8tZmF2b3JpdGUtYnV0dG9uOmhvdmVyOm5vdCguZmF2b3JpdGUtYnV0dG9uLWRpc2FibGVkKSxcbiAgLnFkbmFwcm8tZmF2b3JpdGUtYnV0dG9uOmFjdGl2ZTpub3QoLmZhdm9yaXRlLWJ1dHRvbi1kaXNhYmxlZCkge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAucWRuYXByby1mYXZvcml0ZS1idXR0b24uZmF2b3JpdGUtYnV0dG9uLXB1bHNpbmcgLmZhdm9yaXRlLWljb24tcHVsc2Uge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxuICAucWRuYXByby1mYXZvcml0ZS1idXR0b24uZmF2b3JpdGUtYnV0dG9uLXBvcHBpbmcgLmZhdm9yaXRlLWljb24tZmlsbGVkIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbiB7XG4gIC0tYy1mb2N1cy1yaW5nOiAjYTVhY2ZmO1xuICAtLWMtZm9jdXMtZ2xvdzogcmdiYSgxNjUsIDE3MiwgMjU1LCAwLjQwKTtcbiAgY29sb3I6ICM4OThlOTk7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1mYXZvcml0ZS1idXR0b246aG92ZXI6bm90KC5mYXZvcml0ZS1idXR0b24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICNmMGYxZjI7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1mYXZvcml0ZS1idXR0b24uZmF2b3JpdGUtYnV0dG9uLWZhdm9yaXRlZCB7XG4gIGNvbG9yOiAjYTVhY2ZmO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tZmF2b3JpdGUtYnV0dG9uLmZhdm9yaXRlLWJ1dHRvbi1mYXZvcml0ZWQgLmZhdm9yaXRlLWljb24tZmlsbGVkIHtcbiAgZmlsbDogI2E1YWNmZjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbi5mYXZvcml0ZS1idXR0b24tZmF2b3JpdGVkIC5mYXZvcml0ZS1pY29uLXB1bHNlIHtcbiAgZmlsbDogI2E1YWNmZjtcbn1cblxuLyogV2hpdGUgdmFyaWFudDogd2hpdGUgc3RhciBmb3IgdXNlIG92ZXIgcGhvdG9zIC8gaW1hZ2VyeS4gUGxhY2VkXG4gICBsYXN0IHNvIGl0IHdpbnMgb3ZlciB0aGUgZmF2b3JpdGVkICsgZGFyay10aGVtZSBjb2xvdXIgcnVsZXMuICovXG4ucWRuYXByby1mYXZvcml0ZS1idXR0b24uZmF2b3JpdGUtYnV0dG9uLXZhcmlhbnQtd2hpdGUsXG4ucWRuYXByby1mYXZvcml0ZS1idXR0b24uZmF2b3JpdGUtYnV0dG9uLXZhcmlhbnQtd2hpdGUuZmF2b3JpdGUtYnV0dG9uLWZhdm9yaXRlZCxcbi5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbi5mYXZvcml0ZS1idXR0b24tdmFyaWFudC13aGl0ZTpob3Zlcjpub3QoLmZhdm9yaXRlLWJ1dHRvbi1kaXNhYmxlZCkge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbi5mYXZvcml0ZS1idXR0b24tdmFyaWFudC13aGl0ZSAuZmF2b3JpdGUtaWNvbi1maWxsZWQsXG4ucWRuYXByby1mYXZvcml0ZS1idXR0b24uZmF2b3JpdGUtYnV0dG9uLXZhcmlhbnQtd2hpdGUgLmZhdm9yaXRlLWljb24tcHVsc2Uge1xuICBmaWxsOiAjZmZmZmZmO1xufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1mYXZvcml0ZS1idXR0b24uY3NzLm1hcCAqL1xuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvZmlsZS1pY29uL19maWxlLWljb24tY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgcWRuYXByby1maWxlLWljb24g4oCUIGNvbXBpbGVkIGZyb20gX2ZpbGUtaWNvbi5zY3NzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnFkbmFwcm8tZmlsZS1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAvKiBBbmNob3IgZm9yIHRoZSBhYnNvbHV0ZWx5LXBvc2l0aW9uZWQgZmFsbGJhY2sgYmFkZ2UuXG4gICAgICAgV2l0aG91dCB0aGlzLCB0aGUgYmFkZ2UgZXNjYXBlcyB0byB0aGUgbmVhcmVzdCBwb3NpdGlvbmVkXG4gICAgICAgYW5jZXN0b3IgYW5kIHJlbmRlcnMgQUJPVkUgdGhlIGljb24gaW5zdGVhZCBvZiBvdmVybGF5aW5nIGl0LlxuICAgICAgIFtLaW0gMjAyNi0wNS0wNl0gKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucWRuYXByby1maWxlLWljb24uZmlsZS1pY29uLTI0IHsgd2lkdGg6IDI0cHg7IGhlaWdodDogMzBweDsgfVxuLnFkbmFwcm8tZmlsZS1pY29uLmZpbGUtaWNvbi0zMiB7IHdpZHRoOiAzMnB4OyBoZWlnaHQ6IDQwcHg7IH1cbi5xZG5hcHJvLWZpbGUtaWNvbi5maWxlLWljb24tNDAgeyB3aWR0aDogNDBweDsgaGVpZ2h0OiA1MHB4OyB9XG4ucWRuYXByby1maWxlLWljb24uZmlsZS1pY29uLTQ4IHsgd2lkdGg6IDQ4cHg7IGhlaWdodDogNjBweDsgfVxuXG4vKiBFeHQtdGV4dCBmYWxsYmFjayBiYWRnZSDigJQgSElEREVOIGJ5IGRlZmF1bHQuIFRoZSBjb21wb25lbnQncyBKU1xuICAgYWRkcyBgcWRuYXByby1maWxlLWljb24tbm8tYXNzZXRgIHRvIHRoZSBob3N0IG9ubHkgd2hlbiBCT1RIIHRoZVxuICAgZXh0LXNwZWNpZmljIEFORCB0aGUgZ2VuZXJpYyBTVkcgZmFpbCB0byBsb2FkLiBUaGUgZGlzcGxheTpub25lXG4gICBrZWVwcyB0aGUgYmFkZ2UgZnJvbSBibGVlZGluZyB0aHJvdWdoIGFudGktYWxpYXNlZCAvIHRyYW5zcGFyZW50XG4gICBwaXhlbHMgb2YgYSBzdWNjZXNzZnVsIFNWRyBsb2FkLiAqL1xuLnFkbmFwcm8tZmlsZS1pY29uIC5xZG5hcHJvLWZpbGUtaWNvbi1iYWRnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5xZG5hcHJvLWZpbGUtaWNvbi5xZG5hcHJvLWZpbGUtaWNvbi1uby1hc3NldCAucWRuYXByby1maWxlLWljb24tYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzRjN2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBjb2xvcjogIzZiNzI4MDtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgei1pbmRleDogMDtcbn1cblxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLWZpbGUtaWNvbi5xZG5hcHJvLWZpbGUtaWNvbi1uby1hc3NldCAucWRuYXByby1maWxlLWljb24tYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6ICMyZTMwMzY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNTY1YjY2O1xuICAgIGNvbG9yOiAjYTZhYWIzO1xufVxuXG4vKiBEYXJrLW1vZGUgcG9saXNoIOKAlCBzdWJ0bGUgb3V0ZXIgZ2xvdyBvbiB0aGUgU1ZHIGJvZHkgc28gdGhlXG4gICB3aGl0ZSBwYXBlci1vbi1zY3JlZW4gaWNvbiBzdGF5cyB2aXNpYmxlIGFnYWluc3QgZGFyayBjYW52YXMuICovXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tZmlsZS1pY29uIHN2ZyB7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCkpO1xufVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYxXCIgaW50byB3ZWIvY3NzL3YxL3N0eWxlLXYxLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIHFkbmFwcm8tZm9sZGVyLWljb24g4oCUIGNvbXBpbGVkIGZyb20gX2ZvbGRlci1pY29uLnNjc3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucWRuYXByby1mb2xkZXItaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLyogQW5jaG9yIGZvciB0aGUgYWJzb2x1dGVseS1wb3NpdGlvbmVkIGZhbGxiYWNrIGJhZGdlLiBXaXRob3V0IHRoaXMsXG4gICAgICAgdGhlIGJhZGdlIGVzY2FwZXMgdG8gdGhlIG5lYXJlc3QgcG9zaXRpb25lZCBhbmNlc3RvciBpbnN0ZWFkIG9mXG4gICAgICAgb3ZlcmxheWluZyB0aGUgaWNvbiDigJQgc2FtZSByZWFzb25pbmcgYXMgcWRuYXByby1maWxlLWljb24uICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBFeHQtdGV4dCBmYWxsYmFjayBiYWRnZSDigJQgSElEREVOIGJ5IGRlZmF1bHQuIFRoZSBjb21wb25lbnQncyBKUyBhZGRzXG4gICBgcWRuYXByby1mb2xkZXItaWNvbi1uby1hc3NldGAgdG8gdGhlIGhvc3Qgb25seSB3aGVuIEJPVEggdGhlXG4gICB2YXJpYW50LXNwZWNpZmljIEFORCB0aGUgXCJjbG9zZWRcIiBmYWxsYmFjayBTVkcgZmFpbCB0byBsb2FkLiAqL1xuLnFkbmFwcm8tZm9sZGVyLWljb24gLnFkbmFwcm8tZm9sZGVyLWljb24tYmFkZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ucWRuYXByby1mb2xkZXItaWNvbi5xZG5hcHJvLWZvbGRlci1pY29uLW5vLWFzc2V0IC5xZG5hcHJvLWZvbGRlci1pY29uLWJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M0YzdjYztcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgY29sb3I6ICM2YjcyODA7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHotaW5kZXg6IDA7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1mb2xkZXItaWNvbi5xZG5hcHJvLWZvbGRlci1pY29uLW5vLWFzc2V0IC5xZG5hcHJvLWZvbGRlci1pY29uLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmUzMDM2O1xuICAgIGJvcmRlci1jb2xvcjogIzU2NWI2NjtcbiAgICBjb2xvcjogI2E2YWFiMztcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIHFkbmFwcm8tc3RhdHVzLWJhZGdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBXaGl0ZSBwaWxsIHN1cmZhY2luZyBkb2N1bWVudC9mb2xkZXIgc3RhdHVzIGluIHRoZSBQV0E6XG4vLyAgaGVhcnQgKGZhdm9yaXRlKSwgY2hlY2stZGVjYWdyYW0gKGRvd25sb2FkZWQgb2ZmbGluZSkgYW5kL29yXG4vLyAgc3Rhci1mb3VyLXBvaW50cyAobmV3IC8gdW5yZWFkKS4gRWFjaCBpY29uIHNob3dzIGluZGVwZW5kZW50bHkuXG4vLyAgTmVzdGVkIHFkbmFwcm8taWNvbiBpbnN0YW5jZXMgY2FycnkgdGhlIGdseXBoczsgdGhpcyBmaWxlIG9ubHlcbi8vICBzaXplcyB0aGUgcGlsbCBhbmQgY29sb3VycyB0aGUgaWNvbnMuXG4vL1xuLy8gIEZMQVQgQ1NTIChmdWxseS1xdWFsaWZpZWQgc2VsZWN0b3JzLCBubyBuZXN0aW5nKSBzbyB0aGUgUFdBIHN5bmNcbi8vICAoLy8tc3RyaXAgY29weSBpbnRvIGNvbXBvbmVudHMtdjIvcWRuYS1zdGF0dXMtYmFkZ2UuY3NzKSBzdGF5cyB2YWxpZC5cbi8vXG4vLyAgUUROQSB0b2tlbnMgdXNlZDpcbi8vICAgIC0tYy1wdXJwbGUtNTAgICAgICAjZTZlOWZmICAgMXB4IGJvcmRlciAoc29mdGVuZWQgZnJvbSBwdXJwbGUtMTAwIOKAlCBLaW0gMjIuMDcuMjAyNilcbi8vICAgIC0tYy1hY3Rpb24tNTAwICAgICAjNDY1MmYzICAgb2ZmbGluZSAvIGNoZWNrLWRlY2FncmFtIGljb25cbi8vICAgIC0tYy1mYXZvcml0ZS1oZWFydCAjZmY0ZDZhICAgaGVhcnQgaWNvblxuLy8gICAgLS1jLXB1cnBsZS01MDAgICAgICM0MDQ5OWEgICB1bnJlYWQgLyBzcXVhcmUtcm91bmRlZC1iYWRnZS1vdXRsaW5lIGljb25cbi8vICAgIHdoaXRlICAgICAgICAgICAgICAjZmZmZmZmICAgZmlsbCAoRmlnbWEgRkZGRkZGKVxuLy9cbi8vICBTaXplcyAoRmlnbWEpOlxuLy8gICAgbGFyZ2UgKGRlZmF1bHQpICBpY29ucyAyNHB4IC0+IDMycHggdGFsbCwgNjRweCB3aWRlIHcvIHR3byBpY29uc1xuLy8gICAgc21hbGwgICAgICAgICAgICBpY29ucyAyMHB4IC0+IDI4cHggdGFsbCwgNTZweCB3aWRlIHcvIHR3byBpY29uc1xuLy8gICAgcGFkZGluZyA0cHgsIGdhcCA4cHgsIHJhZGl1cyAyNHB4IChmdWxseSByb3VuZGVkIHBpbGwpLCBjbGlwIGNvbnRlbnQuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnFkbmFwcm8tc3RhdHVzLWJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7ICAgLyoga2VlcHMgdGhlIDFweCBib3JkZXIgXCJpbnNpZGVcIiAoRmlnbWEgc3Ryb2tlOiBJbnNpZGUpICovXG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtcHVycGxlLTUwLCAjZTZlOWZmKTtcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgICAgICAgICAvKiBGaWdtYSBcIkNsaXAgY29udGVudFwiICovXG59XG5cbi8qIEhpZGRlbiB3aGVuIG5vIHN0YXR1cyBpcyBzZXQg4oCUIGNvbGxhcHNlIG91dCBvZiBmbG93LiAqL1xuLnFkbmFwcm8tc3RhdHVzLWJhZGdlW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEljb24gY29sb3Vycy4gcWRuYXByby1pY29uIHJlbmRlcnMgTURJIFNWRyB3aXRoIGZpbGw6IGN1cnJlbnRDb2xvcixcbiAgIHNvIHNldHRpbmcgYGNvbG9yYCBvbiB0aGUgbmVzdGVkIGVsZW1lbnQgdGludHMgdGhlIGdseXBoLiAqL1xuLnFkbmFwcm8tc3RhdHVzLWJhZGdlIC5zdGF0dXMtYmFkZ2UtaGVhcnQge1xuICAgIGNvbG9yOiB2YXIoLS1jLWZhdm9yaXRlLWhlYXJ0LCAjZmY0ZDZhKTtcbn1cblxuLnFkbmFwcm8tc3RhdHVzLWJhZGdlIC5zdGF0dXMtYmFkZ2Utb2ZmbGluZSB7XG4gICAgY29sb3I6IHZhcigtLWMtYWN0aW9uLTUwMCwgIzQ2NTJmMyk7XG59XG5cbi5xZG5hcHJvLXN0YXR1cy1iYWRnZSAuc3RhdHVzLWJhZGdlLXVucmVhZCB7XG4gICAgY29sb3I6IHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogaW50ZXJhY3RpdmUgdmFyaWFudCAoMjguMDcuMjAyNiwgUFdBIGRvY3VtZW50cyBiYWRnZS1pbmZvIGRpYWxvZykgICovXG4vKiBPcHQtaW46IHJvbGU9XCJidXR0b25cIiArIHRhYmluZGV4IGlzIHNldCBieSB0aGUgSlMuIFB1cmVseSB2aXN1YWwgICAqL1xuLyogYWRkaXRpb25zIGhlcmUg4oCUIGhvdmVyL2FjdGl2ZSBmZWVkYmFjayArIHRoZSBpbnZpc2libGUgaGl0LWFyZWEuICAgKi9cbi8qIFdJVEhPVVQgW2ludGVyYWN0aXZlXSBub25lIG9mIHRoaXMgYXBwbGllcywgc28gdGhlIGRlZmF1bHQgcGlsbCAgICAqL1xuLyogc3RheXMgcGl4ZWwtZm9yLXBpeGVsIHdoYXQgaXQgd2FzIGJlZm9yZSB0aGlzIHZhcmlhbnQgZXhpc3RlZC4gICAgICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5xZG5hcHJvLXN0YXR1cy1iYWRnZS5zdGF0dXMtYmFkZ2UtaW50ZXJhY3RpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICAvKiBjb250YWluaW5nIGJsb2NrIGZvciB0aGUgOjphZnRlciBoaXQtYXJlYSAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLCB0cmFuc2Zvcm0gODBtcyBlYXNlLW91dDtcbn1cblxuLnFkbmFwcm8tc3RhdHVzLWJhZGdlLnN0YXR1cy1iYWRnZS1pbnRlcmFjdGl2ZTpob3ZlciB7XG4gICAgLyogU3VidGxlIOKAlCByZXVzZSB0aGUgc2FtZSBzb2Z0IHB1cnBsZSB3YXNoIHRoZSByZXN0IG9mIHRoZSBsaWJyYXJ5XG4gICAgICAgdXNlcyBmb3IgaG92ZXItb24td2hpdGUgKHFkbmFwcm8tZ3JpZC10aWxlJ3MgLS1xZ3QtYmctaG92ZXIgdG9rZW4pLiAqL1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZC1ob3ZlciwgI2Y3ZjhmYSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLXB1cnBsZS0xMDAsICNjMGM1ZmYpO1xufVxuXG4ucWRuYXByby1zdGF0dXMtYmFkZ2Uuc3RhdHVzLWJhZGdlLWludGVyYWN0aXZlOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk0KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNzBtcyBlYXNlLW91dDtcbn1cblxuLnFkbmFwcm8tc3RhdHVzLWJhZGdlLnN0YXR1cy1iYWRnZS1pbnRlcmFjdGl2ZTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLnFkbmFwcm8tc3RhdHVzLWJhZGdlLnN0YXR1cy1iYWRnZS1pbnRlcmFjdGl2ZTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mb2N1cy1yaW5nKSwgMCAwIDAgNnB4IHZhcigtLWZvY3VzLWdsb3cpO1xufVxuXG4vKiBJbnZpc2libGUgaGl0LWFyZWEsIE5PVCBhIGJpZ2dlciBwaWxsLiBUaGUgcGlsbCBpdHNlbGYga2VlcHMgdGhlIEZpZ21hXG4gICBzaXplICgyOHB4IHRhbGwgYXQgc2l6ZT1cInNtYWxsXCIpIGJlY2F1c2UgaXQgc2l0cyByaWdodCBuZXh0IHRvIG90aGVyXG4gICBjb250cm9scyDigJQgYSAzLWRvdCBtZW51IGJ1dHRvbiBpbiBhIGxpc3Qgcm93LCBvciB0aGUgY29ybmVyIG9mIGEgZ3JpZFxuICAgdGlsZSDigJQgYW5kIGEgbGFyZ2UgaGl0LWFyZWEgd291bGQgZWF0IGludG8gdGhvc2UgbmVpZ2hib3Vycy4gQSBmbGF0XG4gICA2cHgtcGVyLXNpZGUgaW5zZXQgbGFuZHMgc2l6ZT1cInNtYWxsXCIgKDI4cHggdGFsbCkgb24gYSB+NDBweCB0YXBwYWJsZVxuICAgc3F1YXJlICh0aGUgbWluaW11bSB0b3VjaCB0YXJnZXQpIHdpdGhvdXQgcmVhY2hpbmcgZmFyIGVub3VnaCB0b1xuICAgb3ZlcmxhcCBhbnl0aGluZyBiZXNpZGUgaXQ7IHNpemU9XCJsYXJnZVwiICgzMi8zNnB4IHRhbGwpIGNsZWFycyA0MHB4XG4gICB3aXRoIHRoZSBzYW1lIDZweCwga2VwdCBmb3Igb25lIGNvbnNpc3RlbnQgcnVsZS4gKi9cbi5xZG5hcHJvLXN0YXR1cy1iYWRnZS5zdGF0dXMtYmFkZ2UtaW50ZXJhY3RpdmU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogLTZweDtcbn1cbiIsIi8vIHFkbmFwcm8tZmlsZS11cGxvYWQg4oCUIGEgc2VsZi1jb250YWluZWQgdXBsb2FkIGNhcmQgKGluZm8gbm90ZSArIGRhc2hlZCBkcm9wXG4vLyB6b25lICsgY2hvc2VuLWZpbGUgcm93ICsgaW5saW5lIGVycm9yKS4gUG9ydGVkIGZyb20gdGhlIGltcG9ydC1hY3Rpdml0eVxuLy8gbW9kYWwncyB1cGxvYWQgYmxvY2sgc28gYW55IG1vZGFsIGNhbiByZXVzZSB0aGUgc2FtZSBmcmllbmRseSBmaWxlIHBpY2tlci5cbi8vIFZhbHVlcyBtaXJyb3IgdGhhdCBhcHByb3ZlZCBkZXNpZ24gMToxOyB0aGUgcGljayBidXR0b24gbWF0Y2hlcyB0aGUgdjJcbi8vIHByaW1hcnktcHVycGxlIGJ1dHRvbi5cblxuLnFkbmFwcm8tZmlsZS11cGxvYWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyAtLS0gT3B0aW9uYWwgaW5mbyBub3RlIChwdXJwbGUpIC0tLVxuLnFkbmFwcm8tZmlsZS11cGxvYWRfX25vdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA4cHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1zdWJ0bGUtcHVycGxlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXB1cnBsZS1zb2Z0LTEyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBjb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUpO1xuXG4gICAgJltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxufVxuLnFkbmFwcm8tZmlsZS11cGxvYWRfX25vdGUtaWNvbiB7IGZsZXgtc2hyaW5rOiAwOyBtYXJnaW4tdG9wOiAxcHg7IGNvbG9yOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSk7IH1cbi5xZG5hcHJvLWZpbGUtdXBsb2FkX19ub3RlLXRleHQgc3Ryb25nIHsgY29sb3I6IHZhcigtLWMtYnJhbmQtcHVycGxlKTsgfVxuXG4vLyAtLS0gRHJvcCB6b25lIChkYXNoZWQpIC0tLVxuLy8gRHVyaW5nIGEgZHJhZyB0aGUgc3RhdGljIGRhc2hlZCBib3JkZXIgaXMgc3dhcHBlZCBmb3IgdGhlIFNBTUUgbWFyY2hpbmctYW50c1xuLy8gb3ZlcmxheSBhcyBxZG5hcHJvLWRyb3Atem9uZSAoZGFzaGVkIHZhcmlhbnQpOiBhbiBhbmltYXRlZCBTVkcgPHJlY3Q+IHJpZGVzXG4vLyB0aGUgZWRnZSArIHNvZnQgY29ybmVyIHJhZGlhbHMgdGludCB0aGUgc3VyZmFjZS4gUHVycGxlID0gdmFsaWQsIHJlZCA9IHJlamVjdC5cbi5xZG5hcHJvLWZpbGUtdXBsb2FkX196b25lIHtcbiAgICAvLyBDb2xvdXJzIChtaXJyb3IgcWRuYXByby1kcm9wLXpvbmUncyAtLWR6LSogc2V0KS5cbiAgICAtLWZ1LWMtYm9yZGVyOiAgICAgICM0MDQ5OWE7ICAgICAgICAgICAgICAgICAgLy8gdmFsaWQgbWFyY2hpbmctYW50cyArIHRpbnQgYmFzZVxuICAgIC0tZnUtYy1iZy10aW50OiAgICAgcmdiYSg3MCwgODIsIDI0MywgMC4wOCk7ICAvLyBjb3JuZXIgcmFkaWFscyAodmFsaWQpXG4gICAgLS1mdS1jLXJlamVjdDogICAgICAjYzY1YTVhOyAgICAgICAgICAgICAgICAgIC8vIHJlamVjdCBtYXJjaGluZy1hbnRzXG4gICAgLS1mdS1jLXJlamVjdC10aW50OiByZ2JhKDE5OCwgOTAsIDkwLCAwLjEwKTsgIC8vIGNvcm5lciByYWRpYWxzIChyZWplY3QpXG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5jaG9yIHRoZSBhYnNvbHV0ZSBhbnRzIG92ZXJsYXlcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiAyOHB4IDE2cHg7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNjOWNjZGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2UsIGJhY2tncm91bmQgMTQwbXMgZWFzZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cy12aXNpYmxlIHsgYm9yZGVyLWNvbG9yOiAjOGE4ZmQ2OyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLXN1YnRsZS1wdXJwbGUpOyBvdXRsaW5lOiBub25lOyB9XG5cbiAgICAvLyBBY3RpdmUgKHZhbGlkKTogaGlkZSB0aGUgc3RhdGljIGJvcmRlciwgdGludCB0aGUgY29ybmVycywgcGFpbnQgKyBydW4gdGhlIGFudHMuXG4gICAgJi5pcy1kcmFnb3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCB0b3AgbGVmdCwgdmFyKC0tZnUtYy1iZy10aW50KSwgdHJhbnNwYXJlbnQgNTUlKSxcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGJvdHRvbSByaWdodCwgdmFyKC0tZnUtYy1iZy10aW50KSwgdHJhbnNwYXJlbnQgNTUlKTtcbiAgICAgICAgLS1mdS1tYXJjaC1jb2xvcjogdmFyKC0tZnUtYy1ib3JkZXIpO1xuICAgIH1cbiAgICAvLyBSZWplY3QgKGEgTUlNRS10eXBlZCBkcmFnIHRoYXQgZG9lc24ndCBtYXRjaCBgYWNjZXB0YCk6IHJlZCBhbnRzICsgdGludC5cbiAgICAmLmlzLWRyYWdvdmVyLmlzLXJlamVjdCB7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCB0b3AgbGVmdCwgdmFyKC0tZnUtYy1yZWplY3QtdGludCksIHRyYW5zcGFyZW50IDU1JSksXG4gICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBib3R0b20gcmlnaHQsIHZhcigtLWZ1LWMtcmVqZWN0LXRpbnQpLCB0cmFuc3BhcmVudCA1NSUpO1xuICAgICAgICAtLWZ1LW1hcmNoLWNvbG9yOiB2YXIoLS1mdS1jLXJlamVjdCk7XG4gICAgfVxufVxuLnFkbmFwcm8tZmlsZS11cGxvYWRfX3pvbmUtaWNvbiB7IGNvbG9yOiAjOGI5MGM0OyBsaW5lLWhlaWdodDogMDsgfVxuXG4vLyAtLS0gTWFyY2hpbmctYW50cyBvdmVybGF5IChTVkcpIC0tLVxuLnFkbmFwcm8tZmlsZS11cGxvYWRfX2FudHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gRGVmYXVsdCBTVkcgb3ZlcmZsb3c6aGlkZGVuIGNsaXBzIHRoZSBvdXRlciBoYWxmIG9mIHN0cm9rZS13aWR0aD0yLCBsZWF2aW5nXG4gICAgLy8gYSBjbGVhbiByaW5nIG9uIHRoZSBpbnNpZGUgYWxpZ25lZCB3aXRoIHRoZSB6b25lJ3MgYm9yZGVyLXJhZGl1cy5cbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7ICAgICAgICAgICAgLy8gaW52aXNpYmxlIHVudGlsIC0tZnUtbWFyY2gtY29sb3IgaXMgc2V0IChhY3RpdmUpXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7ICAgICAgICAgIC8vIGNsaWNrcyBwYXNzIHRocm91Z2ggdG8gdGhlIHpvbmUgLyBwaWNrIGJ1dHRvblxufVxuLnFkbmFwcm8tZmlsZS11cGxvYWRfX2FudHMtcmVjdCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycHgpO1xuICAgIGFuaW1hdGlvbjogcWRuYS1mdS1tYXJjaCAxLjZzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi5xZG5hcHJvLWZpbGUtdXBsb2FkX196b25lLmlzLWRyYWdvdmVyIC5xZG5hcHJvLWZpbGUtdXBsb2FkX19hbnRzIHtcbiAgICBjb2xvcjogdmFyKC0tZnUtbWFyY2gtY29sb3IpOyAgLy8gc3Ryb2tlPVwiY3VycmVudENvbG9yXCIg4oaSIHBhaW50cyB0aGUgYW50c1xufVxuXG5Aa2V5ZnJhbWVzIHFkbmEtZnUtbWFyY2gge1xuICAgIHRvIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0xMjsgfVxufVxuLnFkbmFwcm8tZmlsZS11cGxvYWRfX3RpdGxlIHsgbWFyZ2luOiA0cHggMCAwOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiAjMmYzNTUwOyB9XG4ucWRuYXByby1maWxlLXVwbG9hZF9fb3IgICAgeyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6ICM5YWEwYjQ7IH1cbi5xZG5hcHJvLWZpbGUtdXBsb2FkX19oaW50ICB7IG1hcmdpbjogNnB4IDAgMDsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogIzlhYTBiNDsgfVxuXG4vLyAtLS0gUGljayBidXR0b24gLS0tXG4vLyBVc2VzIHRoZSByZWFsIDxxZG5hcHJvLWJ1dHRvbiB0eXBlPVwicHJpbWFyeS1wdXJwbGVcIiBzaXplPVwic21hbGxcIj4gY29tcG9uZW50LFxuLy8gd2hpY2ggYnJpbmdzIGl0cyBvd24gc3R5bGluZyDigJQgbm8gYnV0dG9uIHJ1bGVzIG5lZWRlZCBoZXJlLiBUaGUgbWFya2VyIGNsYXNzXG4vLyBpcyBvbmx5IGZvciB0aGUgSlMgcmVmIGxvb2t1cC5cbi5xZG5hcHJvLWZpbGUtdXBsb2FkX19waWNrIHsgZmxleDogMCAwIGF1dG87IH1cblxuLy8gLS0tIENob3Nlbi1maWxlIHJvdyAtLS1cbi5xZG5hcHJvLWZpbGUtdXBsb2FkX19jaG9zZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLWJvcmRlci1zb2Z0LTIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgICZbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cbn1cbi5xZG5hcHJvLWZpbGUtdXBsb2FkX19maWxlLWljb24geyBmbGV4LXNocmluazogMDsgY29sb3I6IHZhcigtLWMtYnJhbmQtcHVycGxlKTsgbGluZS1oZWlnaHQ6IDA7IH1cbi5xZG5hcHJvLWZpbGUtdXBsb2FkX19maWxlLW5hbWUgeyBmbGV4OiAxIDEgYXV0bzsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogIzJmMzU1MDsgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG4ucWRuYXByby1maWxlLXVwbG9hZF9fcmVtb3ZlIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAyOHB4OyBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzlhYTBiNDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcyBlYXNlLCBjb2xvciAxMjBtcyBlYXNlO1xuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6ICNmMWYxZjY7IGNvbG9yOiAjYzMzYTMwOyB9XG59XG5cbi8vIC0tLSBJbmxpbmUgZXJyb3IgLS0tXG4ucWRuYXByby1maWxlLXVwbG9hZF9fZXJyb3Ige1xuICAgIG1hcmdpbjogMTJweCAwIDA7XG4gICAgcGFkZGluZzogOXB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2ZkZWNlYTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjNjNGJlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjYjMyNjFlO1xuXG4gICAgJltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4vLyAtLS0gRGlzYWJsZWQgLS0tXG4ucWRuYXByby1maWxlLXVwbG9hZC5pcy1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vLyAtLS0gRGFyayB0aGVtZSAobGlmdGVkIHB1cnBsZSwgc2FtZSBhcyBxZG5hcHJvLWRyb3Atem9uZSkgLS0tXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tZmlsZS11cGxvYWRfX3pvbmUge1xuICAgIC0tZnUtYy1ib3JkZXI6ICAgICAgI2E1YWNmZjtcbiAgICAtLWZ1LWMtYmctdGludDogICAgIHJnYmEoMTY1LCAxNzIsIDI1NSwgMC4xMCk7XG4gICAgLS1mdS1jLXJlamVjdDogICAgICAjZmJhYWFhO1xuICAgIC0tZnUtYy1yZWplY3QtdGludDogcmdiYSgyNTEsIDE3MCwgMTcwLCAwLjEwKTtcbn1cblxuLy8gLS0tIFJlZHVjZWQgbW90aW9uOiBrZWVwIHRoZSBkYXNoZWQgcmluZywgZHJvcCB0aGUgbW92ZW1lbnQgLS0tXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5xZG5hcHJvLWZpbGUtdXBsb2FkX19hbnRzLXJlY3QgeyBhbmltYXRpb246IG5vbmU7IH1cbn1cbiIsIi8vIHFkbmFwcm8tZmlsdGVyLXNoZWV0IOKAlCB0aHJlZS1zZWN0aW9uIGZpbHRlciBib2R5IGZvciBpbnNpZGUgYSBxZG5hcHJvLWJvdHRvbS1zaGVldFxuLy8gKFNvcnQgLyBGaWx0ZXIgLyBEaXNwbGF5KS4gRkxBVCBDU1Mgb24gcHVycG9zZTsgY29sb3Vycy9yYWRpaS9zcGFjaW5nIGFsbCBjb21lXG4vLyBmcm9tIHRoZSBkZXNpZ24tdG9rZW4gOnJvb3QgKHZhcigtLWMtKikgLyAtLXItKiAvIC0tcy0qKSDigJQgbm8gJC12YXJpYWJsZXMsIG5vXG4vLyBuZXN0ZWQgJiDigJQgc28gdGhpcyBmaWxlIGNhbiBiZSBjb3BpZWQgdmVyYmF0aW0gaW50byB0aGUgUFdBIHdpdGhvdXQgbmVlZGluZyB0aGVcbi8vIGNvbXBpbGVTY3NzIGZsYWcgb24gc3luYy4gRWRpdCBIRVJFLCB0aGVuIGBndWxwIHNhc3MtdjFgLlxuLy9cbi8vIExheW91dCBvbmx5LiBFdmVyeSByb3cgaW5zaWRlIGEgc2VjdGlvbiBpcyBhIHFkbmFwcm8tYm90dG9tLXNoZWV0LWJ1dHRvbiAob3IgYVxuLy8gcWRuYXByby1ib3R0b20tc2hlZXQtYnV0dG9uLWdyb3VwIC8gcGxhaW4tZGl2IGdyb3VwIGFyb3VuZCB0aGVtKSDigJQgdGhpcyBmaWxlXG4vLyBuZXZlciByZXN0eWxlcyB0aG9zZSwgaXQgb25seSBsYXlzIG91dCB0aGUgc2VjdGlvbiB3cmFwcGVyLCB0aGUgaGVhZGluZyBhbmQgdGhlXG4vLyBmb290ZXIgY2xlYXItYnV0dG9uIHJvdy5cblxuLnFkbmFwcm8tZmlsdGVyLXNoZWV0LWJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXMtNik7XG59XG5cbi5xZG5hcHJvLWZpbHRlci1zaGVldC1ib2R5IC5mcy1zZWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zLTIpO1xufVxuXG4ucWRuYXByby1maWx0ZXItc2hlZXQtYm9keSAuZnMtc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LW1lZGl1bSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICBwYWRkaW5nOiAwIHZhcigtLXMtMSk7XG59XG5cbi8vIFVpdGxlZyBvbmRlciBkZSBzZWN0aWVrb3AuIEtsZWluZXIgZW4gZ3JpanMsIHplbGZkZSB2ZXJob3VkaW5nIGFscyBkZSBzdWJ0aXRlbCB2YW5cbi8vIGRlIGJvdHRvbS1zaGVldCB6ZWxmLCB6b2RhdCBkZSB0d2VlIG5pZXQgbWV0IGVsa2FhciB2ZWNodGVuLlxuLmZzLXNlY3Rpb24tbm90ZSB7XG4gICAgbWFyZ2luOiAycHggMCA4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzZlNzI4MCk7XG59XG5cbi8vIEZvb3RlciBjbGVhci1hbGwgYWN0aW9uLiBTaXRzIGluc2lkZSB0aGUgc2hlZXQncyBvd24gc2Nyb2xsYWJsZSBib2R5ICh0aGUgYmFzZVxuLy8gcWRuYXByby1ib3R0b20tc2hlZXQgdmFyaWFudCBoYXMgbm8gc2VwYXJhdGUgZm9vdGVyIHNsb3QsIG9ubHkgdGhlIGRpYWxvZy9jb25maXJtXG4vLyB2YXJpYW50IGRvZXMpLCBzbyBhIGhhaXJsaW5lICsgZXh0cmEgdG9wIGFpciBpcyB3aGF0IHNlcGFyYXRlcyBpdCBmcm9tIHRoZSBsYXN0XG4vLyBzZWN0aW9uIGluc3RlYWQgb2YgYSBoYXJkLWZpeGVkIGZvb3RlciBiYXIuXG4vLyBEZSB3aXMta25vcCBQTEFLVCBvbmRlcmFhbiAoS2ltLCAzMS4wNy4yMDI2OiBcImthbiBqZSBkaWUgYWxsZXMgd2lzc2VuIG9uZGVyaW4gc3RpY2t5XG4vLyB6ZXR0ZW4sIHpvZGF0IGplIGRpZSBhbHRpamQgc25lbCBrYW4gc2VsZWN0ZXJlbiBlbiBuaWV0IGhlbGVtYWFsIG5hYXIgYmVuZWRlbiBob2VmdCB0ZVxuLy8gc2Nyb2xsZW5cIikuIEdlbGR0IGluIGJlaWRlIHZvcm1lbjogaW4gZGUgcG9wb3ZlciBpcyBkaXQgYmxvayB6ZWxmIGRlIHNjcm9sbGVyICh6aWVcbi8vIHZlcmRlcm9wKSwgaW4gZGUgYm90dG9tIHNoZWV0IGlzIGRhdCBkZSAuYnMtYm9keSBlcmJvdmVuLCBlbiBzdGlja3kgcGFrdCBpbiBiZWlkZVxuLy8gZ2V2YWxsZW4gZGUgZWVyc3RlIHNjcm9sbGVuZGUgdm9vcm91ZGVyLlxuLy9cbi8vIFR3ZWUgZGluZ2VuIGRpZSBlciBiaWogaG9yZW4gZW4gZGllIGplIG5pZXQgbWFnIHdlZ2xhdGVuOlxuLy8gLSBlZW4gZWlnZW4gQUNIVEVSR1JPTkQsIGFuZGVycyBzY3JvbGxlbiBkZSBvcHRpZXJpamVuIHppY2h0YmFhciBvbmRlciBkZSBrbm9wIGRvb3I7XG4vLyAtIHBhZGRpbmcgT05ERVIgZGUga25vcCBlbiBuaWV0IGFsbGVlbiBlcmJvdmVuLCB3YW50IGRlIGtub3AgaXMgbnUgZGUgb25kZXJrYW50IHZhblxuLy8gICBoZXQgemljaHRiYXJlIGdlYmllZCBlbiB6b3UgYW5kZXJzIHRlZ2VuIGRlIHJhbmQgcGxha2tlbi5cbi8vXG4vLyBHRUVOIG5lZ2F0aWV2ZSB6aWptYXJnZXMgb20gaGV0IHdpdHRlIHZsYWsgYnJlZGVyIHRlIG1ha2VuIGRhbiBkZSBpbmhvdWQsIGVuIGRhdCBpc1xuLy8gZ2Vwcm9iZWVyZCBlbiB0ZXJ1Z2dlZHJhYWlkICgzMS4wNy4yMDI2LCBpbiBlZW4gaGVhZGxlc3MgQ2hyb21lIGdlemllbik6IGhldCBsZXZlcmRlXG4vLyBlZW4gSE9SSVpPTlRBTEUgU0NST0xMQkFMSyBvbmRlcmFhbiBoZXQgcGFuZWVsIG9wLiBEZSByZWRlbiBkYXQgemUgb29rIG5pZXQgbm9kaWcgemlqbjpcbi8vIGRlIGx1Y2h0IGxpbmtzIGVuIHJlY2h0cyAoOHB4IGJpaiBkZSBib3R0b20gc2hlZXQsIDZweCBiaWogZGUgcG9wb3ZlcikgaGFuZ3QgYWFuIGhldFxuLy8gUEFORUVMIGVuIHZhbHQgYnVpdGVuIGhldCBnZWJpZWQgZGF0IHNjcm9sbHQuIERlIGtub3AgaXMgZHVzIHBlciBkZWZpbml0aWUgYWwgZXZlblxuLy8gYnJlZWQgYWxzIGFsbGVzIHdhdCBlciBvbmRlcmRvb3Iga2FuIHNjaHVpdmVuLlxuLnFkbmFwcm8tZmlsdGVyLXNoZWV0LWJvZHkgLmZzLWZvb3RlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogdmFyKC0tcy00KSAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQsICNmZmZmZmYpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYy1ib3JkZXItc29mdC0yLCAjZTZlOWVmKTtcbn1cblxuLnFkbmFwcm8tZmlsdGVyLXNoZWV0LWJvZHkgLmZzLWZvb3RlciBxZG5hcHJvLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyDilIDilIAgUE9QT1ZFUi1TVEFORCAoMzEuMDcuMjAyNiwgS2ltOiBcIm9wIGlQYWQgbW9ldCBkaXQgZ2VlbiBib3R0b20gc2hlZXQgemlqbiBtYWFyIGVlblxuLy8gcG9wb3ZlclwiKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFplbGZkZSBpbmhvdWQsIGFuZGVyIG9taHVsc2VsOiBxZG5hLWZpbHRlci1zaGVldC5qcyBib3V3dCBlZW4gcWRuYXByby1wb3BvdmVyIGluXG4vLyBwbGFhdHMgdmFuIGVlbiBxZG5hcHJvLWJvdHRvbS1zaGVldCB6b2RyYSBvcGVuKCkgZWVuIGFua2VyIG1lZWtyaWpndCwgZW4gemV0XG4vLyBkYXRhLWZzLXBvcCBvcCBkYXQgcGFuZWVsLiBBbGxlZW4gdHdlZSBkaW5nZW4gZGllIGRlIHNoZWV0IG5pZXQgbm9kaWcgaGFkOlxuLy9cbi8vIDEuIEVlbiBCUkVFRFRFLiBFZW4gYm90dG9tIHNoZWV0IGlzIHpvIGJyZWVkIGFscyBoZXQgc2NoZXJtOyBlZW4gcG9wb3ZlciBzY2hhYWx0XG4vLyAgICBuYWFyIHppam4gaW5ob3VkLCBlbiBkZSBvcHRpZXJpamVuIGRhYXJpbiB6aWpuIGxvcyB2YW4gZWxrYWFyIHpvIGJyZWVkIGFscyBodW5cbi8vICAgIGVpZ2VuIHRla3N0LiBab25kZXIgZGV6ZSByZWdlbCB3b3JkdCBoZXQgcGFuZWVsIGR1cyB6byBicmVlZCBhbHMgaGV0IGxhbmdzdGVcbi8vICAgIGxhYmVsIGVuIHZlcnNwcmluZ3QgaGlqIHBlciB0YWFsLlxuLy8gMi4gRWVuIE1BWElNVU0gSE9PR1RFIG1ldCBlaWdlbiBzY3JvbGwuIERlIHZpZXIgc2VjdGllcyBzYW1lbiB6aWpuIGhvZ2VyIGRhbiBlZW5cbi8vICAgIGlQYWQtdmVuc3RlciBpbiBsaWdnZW5kZSBzdGFuZCwgZW4gZWVuIHBvcG92ZXIgaGVlZnQgZ2VlbiBlaWdlbiBzY3JvbGw6IGhpalxuLy8gICAgcG9zaXRpb25lZXJ0IHppY2ggYm92ZW4gb2Ygb25kZXIgaGV0IGFua2VyIGVuIGxvb3B0IGFuZGVycyBnZXdvb24gdmFuIGhldCBzY2hlcm0uXG4vLyAgICBEZSA3MnZoIGxhYXQgYm92ZW4gZW4gb25kZXIgcnVpbXRlIHpvZGF0IGhldCBwYW5lZWwgbmlldCB0ZWdlbiBkZSByYW5kZW4gcGxha3QuXG4ucWRuYXByby1wb3BvdmVyW2RhdGEtZnMtcG9wXSB7XG4gIHdpZHRoOiAzNDBweDtcbiAgbWF4LXdpZHRoOiA5MnZ3O1xufVxuXG4ucWRuYXByby1wb3BvdmVyW2RhdGEtZnMtcG9wXSAucWRuYXByby1maWx0ZXItc2hlZXQtYm9keSB7XG4gIG1heC1oZWlnaHQ6IDcydmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBxZG5hcHJvLWNvbnRleHQtbWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgUG9zaXRpb25pbmcgbGF5ZXIgb25seSDigJQgb3BlbnMgYSBxZG5hcHJvLW1lbnUgYXQgYW4gYXJiaXRyYXJ5XG4vLyAgdmlld3BvcnQgY29vcmRpbmF0ZSAoYSByaWdodC1jbGljayBwb2ludCkuIEV2ZXJ5IHBpeGVsIG9mIGhvdyB0aGVcbi8vICBwYW5lbCBhbmQgaXRzIHJvd3MgTE9PSyBjb21lcyBmcm9tIHFkbmFwcm8tbWVudSArIHFkbmFwcm8tbWVudS1pdGVtO1xuLy8gIHRoaXMgZmlsZSBkb2VzIG5vdCByZXBlYXQgYW55IG9mIHRoZWlyIGJhY2tncm91bmQvYm9yZGVyL3NoYWRvdy9cbi8vICBwYWRkaW5nL3R5cG9ncmFwaHkgcnVsZXMuXG4vL1xuLy8gIEZMQVQgb24gcHVycG9zZSAobm8gJCB2YXJpYWJsZXMsIG5vIG5lc3RlZCAmKSDigJQgc2FtZSByZWFzb25cbi8vICBfbWVudS5zY3NzIGlzIHdyaXR0ZW4gdGhpcyB3YXk6IGl0IGxldHMgdGhlIHN5bmMtdG8tYXBwIHBhdGggY29weVxuLy8gIHRoaXMgZmlsZSBhcyBwbGFpbiBDU1Mgd2l0aG91dCBuZWVkaW5nIHRoZSBjb21waWxlU2NzcyBmbGFnLlxuLy9cbi8vICBTQ09QRS1wd2EtaW5ib3gubWQgZGVjaXNpb24gMjQgKGxhcHRvcC1vbmx5IHJvdyByaWdodC1jbGljayBtZW51KS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucWRuYXByby1jb250ZXh0LW1lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDAyO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnFkbmFwcm8tY29udGV4dC1tZW51LmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1mb3JtLWNhcmQgLSBtb2JpbGUtYXBwIGZyYW1lIGZvciBPTkUgZm9ybSBzY3JlZW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIFRpdGxlZCBjYXJkIGhvbGRpbmcgdGhlIGFwcCBydW50aW1lJ3MgcXVlc3Rpb24gY29udGVudCAoY2hpbGQgRE9NLFxuLy8gIG5ldmVyIHJlLXJlbmRlcmVkIGJ5IHRoaXMgY29tcG9uZW50KSwgd2l0aCBhbiBvcHRpb25hbCBoZWFkZXIgaW1hZ2UsXG4vLyAgYW4gb3B0aW9uYWwgXCJuL3RvdGFsXCIgcHJvZ3Jlc3MgcGlsbCArIGZpbGwgYmFyLCBhbmQgYSBwcmV2L25leHQgZm9vdGVyLlxuLy9cbi8vICBIZWFkZXIgZm9sbG93cyB0aGUgc3VydmV5J3MgUlVOVElNRSB0aGVtZSBjb2xvdXIgKC0tdGhlbWUtYnRuLWNvbG9yLCBzZXQgYnkgdGhlXG4vLyAgUFdBIHBlci1jaGVja2xpc3QgdGhlbWUgLSBzZWUgcGhvdG8uanMncyByZWFkIG9mIGl0IGFuZCAwLWNvcmUuanMncyBzZXRQcm9wZXJ0eSBvblxuLy8gIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCksIGZhbGxpbmcgYmFjayB0byB0aGUgZmxvdy1lZGl0b3IgLyBzaWRlYmFyIHB1cnBsZVxuLy8gICgtLWMtc2lkZWJhci1iZywgIzNhNDI5MCkgZm9yIGNvbnN1bWVycyB0aGF0IG5ldmVyIHNldCBhIHRoZW1lIChlZGl0b3IgcHJldmlldyxcbi8vICBibzIgbGlicmFyeSBwcmV2aWV3KS4gUm91bmRlZCBjYXJkLCBzb2Z0IHNoYWRvdywgd2hpdGUgYm9keS5cbi8vXG4vLyAgSGVhZGVyIHRleHQgc3RheXMgd2hpdGUvdHJhbnNsdWNlbnQtd2hpdGUgcmVnYXJkbGVzcyBvZiB0aGUgdGhlbWUgY29sb3VyIC0gZmluZVxuLy8gIGZvciB0aGUgZGFyay9taWQtc2F0dXJhdGlvbiBjb2xvdXJzIHRoZSB0aGVtZSBwaWNrZXIgb2ZmZXJzIHRvZGF5LiBGTEFHR0VELCBub3Rcbi8vICBzb2x2ZWQgaGVyZTogYSB2ZXJ5IExJR0hUIHRoZW1lIGNvbG91ciB3b3VsZCBmYWlsIGNvbnRyYXN0IGFnYWluc3Qgd2hpdGUgdGV4dCAtXG4vLyAgYSBwcmUtZXhpc3RpbmcgY29uY2VybiBzaGFyZWQgYnkgZXZlcnkgb3RoZXIgLS10aGVtZS1idG4tKiBjb25zdW1lciBpbiB0aGUgUFdBXG4vLyAgKGJ1dHRvbnMsIGFuc3dlciBjaGlwcyksIG5vdCBzb21ldGhpbmcgdGhpcyBjaGFuZ2UgYXR0ZW1wdHMgdG8gZml4LlxuLy9cbi8vICAtLWZvcm0tY2FyZC1tYXgtaGVpZ2h0IChkZWZhdWx0IG5vbmUpIGNhcHMgdGhlIGJvZHkgaGVpZ2h0IHNvIGl0XG4vLyAgc2Nyb2xscyBpbnRlcm5hbGx5IGluc3RlYWQgb2YgZ3Jvd2luZyB0aGUgY2FyZCBwYXN0IHRoYXQgaGVpZ2h0IC1cbi8vICBuZWVkZWQgb25jZSBxdWVzdGlvbiBjb250ZW50IGdldHMgdGFsbCAobWFueSBibG9ja3MgLyBsb25nIG9wdGlvbnMpLlxuLy9cbi8vICBGTEFUIENTUyAobm8gbmVzdGluZykgc28gaXQgY2FuIGJlIHN5bmNlZCB0byB0aGUgUFdBIHZlcmJhdGltLCBleGFjdGx5XG4vLyAgbGlrZSBxZG5hcHJvLWluZm8tY2FyZCAvIHFkbmFwcm8tZXZlbnQtY2FyZC5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucWRuYXByby1mb3JtLWNhcmQge1xuICAtLWZvcm0tY2FyZC1oZWFkZXItYmc6ICAgIHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgdmFyKC0tYy1zaWRlYmFyLWJnLCAjM2E0MjkwKSk7XG4gIC0tZm9ybS1jYXJkLWhlYWRlci10ZXh0OiAgI2ZmZmZmZjtcbiAgLS1mb3JtLWNhcmQtc3VidGl0bGU6ICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICAtLWZvcm0tY2FyZC1ib2R5LWJnOiAgICAgIHZhcigtLWMtYmctY2FyZCwgI2ZmZmZmZik7XG4gIC0tZm9ybS1jYXJkLWJvcmRlcjogICAgICAgdmFyKC0tYy1ib3JkZXItY2FyZCwgI2UxZTNlNik7XG4gIC0tZm9ybS1jYXJkLXJhZGl1czogICAgICAgdmFyKC0tci1jYXJkLCAxNnB4KTtcbiAgLS1mb3JtLWNhcmQtbWF4LWhlaWdodDogICBub25lO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZm9ybS1jYXJkLXJhZGl1cyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWZvcm0tY2FyZC1ib2R5LWJnKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQsIDAgMXB4IDJweCByZ2JhKDIwLCAyNSwgODAsIDAuMDQpLCAwIDRweCAxNnB4IHJnYmEoMjAsIDI1LCA4MCwgMC4wOCkpO1xuICBmb250LWZhbWlseTogdmFyKC0tdGhlbWUtZm9udC1mYW1pbHksIFwiSW50ZXJcIiwgc2Fucy1zZXJpZik7XG59XG5cbi8vIC0tLSBIZWFkZXIgLS0tXG4ucWRuYXByby1mb3JtLWNhcmRfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMThweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tZm9ybS1jYXJkLWhlYWRlci1iZyk7XG4gIGNvbG9yOiB2YXIoLS1mb3JtLWNhcmQtaGVhZGVyLXRleHQpO1xufVxuXG4vLyBzdGFydC9maW5pc2g6IG1vcmUgZ2VuZXJvdXMgcGFkZGluZyArIGNlbnRlcmVkIHRpdGxlIC0gc3VidGxlLCB0b2tlbi1iYXNlZFxuLnFkbmFwcm8tZm9ybS1jYXJkLS1jZWxlYnJhdG9yeSAucWRuYXByby1mb3JtLWNhcmRfX2hlYWRlciB7XG4gIHBhZGRpbmc6IDMycHggMjRweCAyNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5xZG5hcHJvLWZvcm0tY2FyZF9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cbi5xZG5hcHJvLWZvcm0tY2FyZF9faW1hZ2VbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cbi5xZG5hcHJvLWZvcm0tY2FyZF9faW1hZ2UtaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxNjBweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5xZG5hcHJvLWZvcm0tY2FyZF9fdGl0bGUge1xuICBmb250LXNpemU6IDE5cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGNvbG9yOiB2YXIoLS1mb3JtLWNhcmQtaGVhZGVyLXRleHQpO1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cbi5xZG5hcHJvLWZvcm0tY2FyZC0tY2VsZWJyYXRvcnkgLnFkbmFwcm8tZm9ybS1jYXJkX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cblxuLnFkbmFwcm8tZm9ybS1jYXJkX19zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6IHZhcigtLWZvcm0tY2FyZC1zdWJ0aXRsZSk7XG4gIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuLnFkbmFwcm8tZm9ybS1jYXJkX19zdWJ0aXRsZVtoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vLyAtLS0gUHJvZ3Jlc3MgaW5kaWNhdG9yIChwaWxsICsgdGhpbiBmaWxsIGJhcikgLS0tXG4ucWRuYXByby1mb3JtLWNhcmRfX3Byb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG4ucWRuYXByby1mb3JtLWNhcmRfX3Byb2dyZXNzW2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cbi5xZG5hcHJvLWZvcm0tY2FyZF9fcHJvZ3Jlc3MtcGlsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBwYWRkaW5nOiAycHggOXB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXBpbGwsIDk5OXB4KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICBjb2xvcjogdmFyKC0tZm9ybS1jYXJkLWhlYWRlci10ZXh0KTtcbn1cblxuLnFkbmFwcm8tZm9ybS1jYXJkX19wcm9ncmVzcy10cmFjayB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBoZWlnaHQ6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1waWxsLCA5OTlweCk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucWRuYXByby1mb3JtLWNhcmRfX3Byb2dyZXNzLWZpbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMCU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItcGlsbCwgOTk5cHgpO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAyMjBtcyBlYXNlO1xufVxuXG4vLyAtLS0gQm9keSAodGhlIGFwcCBydW50aW1lJ3MgcXVlc3Rpb24gY29udGVudCAtIG5ldmVyIHJlLXJlbmRlcmVkIGhlcmUpIC0tLVxuLnFkbmFwcm8tZm9ybS1jYXJkX19ib2R5IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxNnB4O1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1mb3JtLWNhcmQtbWF4LWhlaWdodCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIC0tLSBGb290ZXIgLS0tXG4ucWRuYXByby1mb3JtLWNhcmRfX2Zvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxMnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxNHB4IDIwcHggMThweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWZvcm0tY2FyZC1ib3JkZXIpO1xufVxuLnFkbmFwcm8tZm9ybS1jYXJkX19mb290ZXJbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLy8gTm8gcHJldiBidXR0b24gKGZpcnN0IGNhcmQpOiBuZXh0IHRha2VzIHRoZSBmdWxsIHJvdywgcmlnaHQtYWxpZ25lZC5cbi5xZG5hcHJvLWZvcm0tY2FyZF9fZm9vdGVyIFtkYXRhLWZjPVwicHJldlwiXVtoaWRkZW5dIH4gW2RhdGEtZmM9XCJuZXh0XCJdIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5xZG5hcHJvLWZvcm0tY2FyZF9fZm9vdGVyIHFkbmFwcm8tYnV0dG9uIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG4ucWRuYXByby1mb3JtLWNhcmRfX2Zvb3RlciBxZG5hcHJvLWJ1dHRvbltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuIiwiLy8gcWRuYXByby1mb3JtYXQtcnVsZXNcbi8vIFZvb3J3YWFyZGVsaWprZSBvcG1hYWs6IGVlbiBsaWpzdCB2b29yd2FhcmRlbiBvcCBlZW4gZ2V0YWwsIGVsayBtZXQgZWVuIGxldmVuZCB2b29yYmVlbGQgZW4gZWVuXG4vLyBjb250cmFzdHdhYXJzY2h1d2luZy4gTGlnaHQgRE9NLCBjbGFzc2VzIG1ldCBkZSBwcmVmaXggYC5xZnItYC4gS2xldXJlbiB1aXQgZGUgdG9rZW5zLlxuXG5xZG5hcHJvLWZvcm1hdC1ydWxlcyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICZbb3Blbl0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAucWZyLXNjcmltIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgLy8gWmVsZmRlIGxhYWcgYWxzIGRlIGZvcm11bGUtYm91d2VyOiBkaXQgdmVuc3RlciB3b3JkdCBvb2sgdmFudWl0IGVlbiBmb3JtdWxpZXIgZ2VvcGVuZCBlbiBtb2V0XG4gICAgICAgIC8vIGJvdmVuIGRlIFwiYWx0aWpkIGJvdmVub3BcIi1sYWFnIHZhbiA5MzAwIHVpdGtvbWVuLiBHRUVOIGNvdW50ZXItem9vbSAoYGJvZHlgIHN0YWF0IG9wIDEsIGR1c1xuICAgICAgICAvLyBlciBpcyBuaWV0cyB0ZSBjb21wZW5zZXJlbikg4oCUIHppZSBkZSBnZW1ldGVuIHVpdGxlZyBpbiBgX2Zvcm11bGEtZWRpdG9yLnNjc3NgLlxuICAgICAgICB6LWluZGV4OiA5NDAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMCwgMjIsIDQwLCAwLjQ1KTtcbiAgICB9XG5cbiAgICAucWZyLWRpYWxvZyB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDgyMHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAvLyBgbWluLWhlaWdodDogMGAgb3AgZWxrIHNjaGFrZWx0amUgdmFuIGRlIGZsZXhrZXRlbiwgYW5kZXJzIGtsaXB0IGVlbiBraW5kIHppam4gZWlnZW4gc2Nyb2xsXG4gICAgICAgIC8vIHdlZyAoZGUgc3RhYW5kZSBzdGlsbGUga2xpcGJ1ZyBpbiBkaXQgcHJvamVjdCkuXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIGdhcDogMTRweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQsICNmZmYpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDI0cHggNjBweCByZ2JhKDIwLCAyMiwgNDAsIDAuMjgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0ga29wIC0tLS1cbiAgICAucWZyLWhlYWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgIH1cblxuICAgIC5xZnItaGVhZC1pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtYnJhbmQtcHVycGxlLCAjNDA0OTlhKTtcbiAgICB9XG5cbiAgICAucWZyLWhlYWQtdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMnB4O1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5xZnItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2NTA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtaGVhZGluZywgIzFhMWY0ZCk7XG4gICAgfVxuXG4gICAgLnFmci1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcblxuICAgICAgICAmOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgIC5xZnItY2xvc2Uge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2ZTcyODApO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG5cbiAgICAgICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWMtYmctc3VidGxlLWhvdmVyLCAjZjBmMWYyKTsgfVxuICAgICAgICAmOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZm9jdXMtcmluZywgIzQwNDk5YSk7IG91dGxpbmUtb2Zmc2V0OiAxcHg7IH1cbiAgICB9XG5cbiAgICAvLyBEZSByZWdlbCBkaWUgdWl0bGVndCBkYXQgZGUgRUVSU1RFIHZvb3J3YWFyZGUgZGllIHBhc3Qgd2ludC4gR2VlbiB3YWFyc2NodXdrbGV1cjogaGV0IGlzIGRlXG4gICAgLy8gd2Vya2luZyB2YW4gZGUgZnVuY3RpZSwgbmlldCBlZW4gcHJvYmxlZW0uXG4gICAgLnFmci1maXJzdG1hdGNoIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogN3B4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDlweCAxMXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmctc3VidGxlLXB1cnBsZSwgI2YzZjVmZik7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LWJvZHksICMyNDI2MmMpO1xuXG4gICAgICAgIHFkbmFwcm8taWNvbiB7IGZsZXg6IDAgMCBhdXRvOyBjb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpOyBtYXJnaW4tdG9wOiAxcHg7IH1cbiAgICB9XG5cbiAgICAvLyAtLS0tIGRlIGxpanN0IC0tLS1cbiAgICAucWZyLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIC8vIFJ1aW10ZSB2b29yIGRlIGZvY3VzcmluZyB2YW4gaGV0IGVlcnN0ZSB2ZWxkOyB6b25kZXIgcGFkZGluZyB3b3JkdCBkaWUgZG9vciBkZSBzY3JvbGxib3hcbiAgICAgICAgLy8gYWZnZXNuZWRlbi5cbiAgICAgICAgcGFkZGluZzogMnB4O1xuICAgIH1cblxuICAgIC5xZnItZW1wdHkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMnB4O1xuICAgICAgICBmb250LXNpemU6IDEyLjVweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzZlNzI4MCk7XG4gICAgfVxuXG4gICAgLy8gRcOpbiB2b29yd2FhcmRlOiBlZW4gcGFuZWVsdGplIG1ldCBkZSBjb25kaXRpZSBvcCBkZSBlZXJzdGUgcmVnZWwgZW4gZGUgb3BtYWFrIG9wIGRlIHR3ZWVkZS5cbiAgICAvLyBaZWxmZGUgcGFhciAocGFhcnNlIHJhbmQgb3AgZWVuIGxpY2h0ZSBwYWFyc2UgdnVsbGluZykgYWxzIGVlbiBtZWV0d2FhcmRlLXBhbmVlbHRqZSBpbiBkZVxuICAgIC8vIHJhcHBvcnRlZGl0b3IsIHpvZGF0IGhldCDDqcOpbiB0YWFsIGJsaWpmdC5cbiAgICAucWZyLXJ1bGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXB1cnBsZS0zMDAsICM4YTkyZDApO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmctc3VidGxlLXB1cnBsZSwgI2YzZjVmZik7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC8vIERlIHJpaiBkaWUgYmlqIGhldCBvcHNsYWFuIGluY29tcGxlZXQgYmxlZWsuIEFsbGVlbiBkZSByYW5kIOKAlCBlZW4gcm9kZSB2dWxsaW5nIHpvdSBkZVxuICAgIC8vIGtsZXVydm9vcmJlZWxkZW4gZXJpbiBvbmxlZXNiYWFyIG1ha2VuLlxuICAgIC5xZnItcnVsZS1mb3V0IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLXRhZy1jcml0aWNhbC10ZXh0LCAjYzMzYTMwKTtcbiAgICB9XG5cbiAgICAucWZyLWNvbmQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC5xZnItbnIge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjUwO1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkLCAjZmZmKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1ib3JkZXItdHJlZSwgI2Q0ZDhlYyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDFweCA3cHg7XG4gICAgfVxuXG4gICAgLy8gR0VNRVRFTjogb3AgMTMycHggd2VyZCBcImxvd2VyIHRoYW5cIiBhZmdla2FwdCB0b3QgXCJsb3dlciB0aOKAplwiIGVuIFwiYmV0d2VlblwiIHRvdCBcImJldHdlZeKAplwiIOKAlCBkZVxuICAgIC8vIEVuZ2Vsc2UgZW4gRHVpdHNlIGxhYmVscyB6aWpuIGxhbmdlciBkYW4gZGUgTmVkZXJsYW5kc2UuIDE2OHB4IHZhbmd0IGFsbGUgdmllciBkZSB0YWxlbi5cbiAgICAucWZyLW9wICAgeyBmbGV4OiAwIDAgMTY4cHg7IH1cbiAgICAucWZyLW51bSAgeyBmbGV4OiAwIDAgOTZweDsgfVxuICAgIC5xZnItYW5kICB7IGZvbnQtc2l6ZTogMTIuNXB4OyBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTsgfVxuICAgIC8vIOKaoO+4jyBgbWFyZ2luLWxlZnQ6IGF1dG9gIG9wIGRlIEtOT1AgZW4gbmlldCBvcCBoZXQgbGFiZWw6IGhldCBsYWJlbCB2ZXJzY2hpam50IGxpbmtzIHZhbiBkZSBrbm9wXG4gICAgLy8gICAgb3AgaGV0IG1vbWVudCBkYXQgaGlqIHdhcGVudCwgZW4gbWV0IGRlIG1hcmdlIG9wIGhldCBsYWJlbCB6b3UgZGUga25vcCBuYWFyIHJlY2h0cyBvcHNjaHVpdmVuXG4gICAgLy8gICAgdHVzc2VuIGtsaWsgw6nDqW4gZW4gdHdlZS4gUHJlY2llcyBkZSB2YWwgZGllIGluIGRlIHJhcHBvcnRlZGl0b3IgZ2Vkb2N1bWVudGVlcmQgc3RhYXQuXG4gICAgLy8g4pOYIEhldCBcIlpla2VyP1wiLWxhYmVsIChgLnFmci1hcm1gKSBpcyBoaWVyIG5pZXQgZ2VzdHlsZWQgbWFhciBpbiBgcGFydGlhbHMvdjEvX2Jsb2NrLXN0cmlwLnNjc3NgLFxuICAgIC8vICAgaW4gw6nDqW4gZGVjbGFyYXRpZSBtZXQgYC5ic3RyaXAtYXJtLWxhYmVsYCwgYC5pZG9jLWFybS1sYWJlbGAgZW4gYC5ycGUtYXJtYCDigJQgdmllciBuYW1lbiwgw6nDqW5cbiAgICAvLyAgIHJlZ2VsLCBhbmRlcnMga3Jpamd0IGhldHplbGZkZSBnZWJhYXIgb3AgdmllciBwbGVra2VuIGVlbiBhbmRlcmUga2xldXIuIERlIFRFUk1JSk4ga29tdCB2YW4gZGVcbiAgICAvLyAgIGhvc3QgbWVlIChgYXJtLW1zYCwgdWl0IGBjbGllbnQvc2hhcmVkL2FybS1kZWxldGUuanNgKS5cbiAgICAucWZyLWRlbCAgeyBtYXJnaW4tbGVmdDogYXV0bzsgZmxleDogMCAwIGF1dG87IH1cblxuICAgIC5xZnItZm10IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLnFmci1mbGFnIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLy8gLS0tLSBkZSB2cmlqZSBrbGV1cmtldXplIC0tLS1cbiAgICAvLyBTd2F0Y2ggdmFuIDMycHggbWV0IGRlIG5hdGl2ZSBgPGlucHV0IHR5cGU9XCJjb2xvclwiPmAgZXIgb256aWNodGJhYXIgYm92ZW5vcCwgcGx1cyBlZW4gd2lza25vcC5cbiAgICAvLyBaZWxmZGUgYW5hdG9taWUgYWxzIGAuZGN2LXNldC1zd2F0Y2hgIGluIGhldCBkYXNoYm9hcmQgZW4gYC50bHQtY29sb3Itc3dhdGNoYCBpbiBkZVxuICAgIC8vIHRha2VubGlqc3R0aGVtYSdzIOKAlCBkYXQgaXMgaGV0IHN0YWFuZGUgcGF0cm9vbiB2b29yIGVlbiB2cmlqZSBrbGV1ciBpbiBkZXplIGFwcC5cbiAgICAucWZyLWNvbG9yIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMnB4O1xuICAgIH1cblxuICAgIC5xZnItc3dhdGNoIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBmbGV4OiAwIDAgMjhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCByZ2JhKDY0LCA3MywgMTU0LCAwLjE4KTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3V0bGluZS1jb2xvciAxNTBtcztcblxuICAgICAgICAmOmhvdmVyIHsgb3V0bGluZS1jb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpOyB9XG4gICAgfVxuXG4gICAgLy8gR2VlbiBrbGV1ciBnZWtvemVuOiBlZW4gc2NodWluZSBzdHJlZXAsIHpvZGF0IFwibGVlZ1wiIHRlIG9uZGVyc2NoZWlkZW4gaXMgdmFuIFwid2l0IGdla296ZW5cIi5cbiAgICAvLyDimqDvuI8gR1JJSlMgZW4gbmlldCByb29kOiBlZW4gcm9kZSBzdHJlZXAgbGVlc3QgYWxzIGVlbiBmb3V0bWVsZGluZyBvcCBlZW4gdmVsZCBkYXQgZ2V3b29uIG5vZyBsZWVnXG4gICAgLy8gICAgaXMuIEdlbWV0ZW4gaW4gZGUgcHJldmlldyDigJQgbWV0IHJvb2QgemFnIGRlIHJpaiBlcnVpdCBhbHNvZiBlciBpZXRzIG1pcyB3YXMuXG4gICAgLnFmci1zd2F0Y2gtbGVlZyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AgcmlnaHQsXG4gICAgICAgICAgICB0cmFuc3BhcmVudCBjYWxjKDUwJSAtIDFweCksIHZhcigtLWMtZ3JleS0zMDAsICNjNGM3Y2MpIDUwJSxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50IGNhbGMoNTAlICsgMXB4KSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmctY2FyZCwgI2ZmZik7XG4gICAgfVxuXG4gICAgLnFmci1zd2F0Y2gtaW5wdXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgaW5zZXQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5xZnItY2xlYXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmc6IDJweCAzcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzZlNzI4MCk7XG5cbiAgICAgICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWMtYmctc3VidGxlLWhvdmVyLCAjZjBmMWYyKTsgY29sb3I6IHZhcigtLWMtdGV4dC1ib2R5LCAjMjQyNjJjKTsgfVxuICAgICAgICAmOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZm9jdXMtcmluZywgIzQwNDk5YSk7IG91dGxpbmUtb2Zmc2V0OiAxcHg7IH1cbiAgICB9XG5cbiAgICAvLyBIZXQgbGV2ZW5kZSB2b29yYmVlbGQuIFN0YWF0IG9wIFdJVCAoem9hbHMgZWVuIHJhcHBvcnRjZWwpIHpvZGF0IGVlbiBnZWtvemVuIGFjaHRlcmdyb25ka2xldXJcbiAgICAvLyB0b29udCB3YXQgaGlqIGluIGhldCByYXBwb3J0IGRvZXQsIGVuIG5pZXQgb3Bsb3N0IGluIGRlIHBhYXJzZSBwYW5lZWx2dWxsaW5nLlxuICAgIC5xZnItcHJldmlldyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDg0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtYm9yZGVyLXRyZWUsICNkNGQ4ZWMpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQsICNmZmYpO1xuICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBcIlNGIE1vbm9cIiwgTWVubG8sIENvbnNvbGFzLCBtb25vc3BhY2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICAgICAgY29sb3I6IHZhcigtLWMtdGV4dC1ib2R5LCAjMjQyNjJjKTtcbiAgICB9XG5cbiAgICAucWZyLWNvbnRyYXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRhZy13YXJuaW5nLXRleHQsICNhMDY0MDApO1xuXG4gICAgICAgICZbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICAvLyAtLS0tIHRvZXZvZWdlbiArIHZvZXQgLS0tLVxuICAgIC5xZnItYWRkYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgIH1cblxuICAgIC5xZnItbWF4IHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbiAgICB9XG5cbiAgICAucWZyLWZvb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgfVxuXG4gICAgLnFmci1mb290LXNwYWNlciB7IGZsZXg6IDEgMSBhdXRvOyB9XG5cbiAgICAucWZyLXN0YXR1cyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAxLjJlbTtcbiAgICB9XG5cbiAgICAucWZyLXN0YXR1cy1mb3V0IHsgY29sb3I6IHZhcigtLWMtdGFnLWNyaXRpY2FsLXRleHQsICNjMzNhMzApOyB9XG5cbiAgICAvLyBTY3JvbGxiYXI6IHNtYWwsIGJpbm5lbiBoZXQgY29tcG9uZW50LCB0cmFuc3BhcmFudGUgdHJhY2sg4oCUIGh1aXNyZWdlbC5cbiAgICAucWZyLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgd2lkdGg6IDZweDsgfVxuICAgIC5xZnItbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5xZnItbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC4xOCk7IGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgIC5xZnItbGlzdCB7IHNjcm9sbGJhci13aWR0aDogdGhpbjsgc2Nyb2xsYmFyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xOCkgdHJhbnNwYXJlbnQ7IH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgICAgICAucWZyLW9wLCAucWZyLW51bSB7IGZsZXg6IDEgMSAxMDBweDsgfVxuICAgICAgICAucWZyLXByZXZpZXcgeyBtYXJnaW4tbGVmdDogMDsgfVxuICAgIH1cbn1cbiIsIi8vIHFkbmFwcm8tZm9ybXVsYS1lZGl0b3Jcbi8vIEJvdXdlciB2b29yIGVlbiBmb3JtdWxldmVsZDogZHJpZSBrb2xvbW1lbiAod2Fhcm1lZSBqZSByZWtlbnQgwrcgb3BlcmF0b3JzIMK3IGluc3RydWN0aWVzKSBib3ZlbiBlZW5cbi8vIHRla3N0dmFrLiBMaWdodCBET00sIGNsYXNzZXMgbWV0IGRlIHByZWZpeCBgLnFmZS1gLiBLbGV1cmVuIHVpdCBkZSB0b2tlbnNcbi8vIChzY3NzL2NvbXBvbmVudHMvdjIvZGVzaWduLXRva2Vucykg4oCUIGhpZXIgc3RhYXQgZ2VlbiBsb3MgaGV4IGRhdCBlZW4gdG9rZW4gZHViYmVsdC5cblxucWRuYXByby1mb3JtdWxhLWVkaXRvciB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICZbb3Blbl0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAucWZlLXNjcmltIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgLy8g4pqg77iPIEJPVkVOIDkzMDAuIERlemUgZWRpdG9yIHdvcmR0IGdlb3BlbmQgVkFOVUlUIGVlbiBxZG5hcHJvLW1vZGFsIChkZSBCSS1rYWFydCB2YW4gaGV0XG4gICAgICAgIC8vICAgIGRhc2hib2FyZCBzdGFhdCBvcCA5MDAwOyA5MzAwIGlzIGRlIGJlc3RhYW5kZSBcImFsdGlqZCBib3Zlbm9wXCItbGFhZyB2YW4gZGUgZmxvd2VkaXRvcikuXG4gICAgICAgIC8vICAgIE9wIDkwMDAgem91IGhpaiBBQ0hURVIgZGUgbW9kYWwgdmFsbGVuIHdhYXJ1aXQgamUgaGVtIG5ldCBvcGVuZGUuXG4gICAgICAgIHotaW5kZXg6IDk0MDA7XG4gICAgICAgIC8vIOKaoO+4jyBHRUVOIGNvdW50ZXItem9vbSBoaWVyLCBlbiBkYXQgaXMgR0VNRVRFTiwgbmlldCBhYW5nZW5vbWVuLiBgYm9keWAgc3RhYXQgb3AgZWVuIHYxLXBhZ2luYVxuICAgICAgICAvLyAgICBvcCB6b29tIDEsIGR1cyBlciBpcyBuaWV0cyB0ZSBjb21wZW5zZXJlbjogMTAwcHggaW4gZGV6ZSBvdmVybGF5IGlzIDEwMCB2aXN1ZWxlIHB4LCBuZXRcbiAgICAgICAgLy8gICAgYWxzIGluIGVlbiBgcWRuYXByby1tb2RhbGAuIEJha3RlIGRlemUgb3ZlcmxheSBgem9vbTogMS4yNWAgaW4gKGRlIG91ZGUgdHJ1YyB2b29yIGRlXG4gICAgICAgIC8vICAgIGxlZ2FjeSBgYm9keSB7IHpvb206IDAuOCB9YCksIGRhbiBzdG9uZCBoaWogMjUlIGdyb3RlciBkYW4gaGV0IHZlbnN0ZXIgd2FhciBoaWogYm92ZW5vcFxuICAgICAgICAvLyAgICBrb210IOKAlCBnZW1ldGVuIG1ldCBlZW4gcHJvYmUgdmFuIDEwMHB4OiAxMjUuXG4gICAgICAgIC8vICAgIOKTmCBEaWV6ZWxmZGUgYmFrZSBzdG9uZCB0b3QgMjAyNi0wOC0wMyBpbiBgX21vZGFsLnNjc3NgIGVuIGlzIGRhYXIgd2VnZ2VoYWFsZDsgZGUgdWl0bGVnXG4gICAgICAgIC8vICAgICAgb3ZlciB3YWFyIGRpZSAwLjggd8OpbCBub2cgbGVlZnQgKGVuIHdhYXJvbSBoaWogdjEtcGFnaW5hJ3MgbmlldCBiZXJlaWt0KSBzdGFhdCBkYWFyLlxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMCwgMjIsIDQwLCAwLjQ1KTtcbiAgICB9XG5cbiAgICAucWZlLWRpYWxvZyB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDg4MHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAvLyBgbWluLWhlaWdodDogMGAgb3AgZWxrIHNjaGFrZWx0amUgdmFuIGRlIGZsZXhrZXRlbjogem9uZGVyIGRhdCBrcmlqZ3QgZWVuIGtpbmRcbiAgICAgICAgLy8gbWluaW11bWhvb2d0ZSBhdXRvIGVuIGtsaXB0IGhldCB6aWpuIGVpZ2VuIHNjcm9sbCB3ZWcgKGRlIHN0YWFuZGUgc3RpbGxlIGtsaXBidWcgaGllcikuXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIGdhcDogMTZweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQsICNmZmYpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDI0cHggNjBweCByZ2JhKDIwLCAyMiwgNDAsIDAuMjgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0ga29wIC0tLS1cbiAgICAucWZlLWhlYWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgIH1cblxuICAgIC5xZmUtaGVhZC1pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtYnJhbmQtcHVycGxlLCAjNDA0OTlhKTtcbiAgICB9XG5cbiAgICAucWZlLWhlYWQtdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMnB4O1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5xZmUtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2NTA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtaGVhZGluZywgIzFhMWY0ZCk7XG4gICAgfVxuXG4gICAgLnFmZS1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbiAgICB9XG5cbiAgICAucWZlLXN1YnRpdGxlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucWZlLWNsb3NlIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLXN1YnRsZS1ob3ZlciwgI2YwZjFmMik7IH1cbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWZvY3VzLXJpbmcsICM0MDQ5OWEpOyBvdXRsaW5lLW9mZnNldDogMXB4OyB9XG4gICAgfVxuXG4gICAgLy8gLS0tLSBkZSBkcmllIGtvbG9tbWVuIC0tLS1cbiAgICAvLyBEZSBvcGVyYXRvcmtvbG9tIGlzIHNtYWwgZW4gdmFzdDsgZGUgdHdlZSBsaWpzdGVuIHZlcmRlbGVuIGRlIHJlc3QuIERlIHJlY2h0ZXJrb2xvbSBrcmlqZ3QgaWV0c1xuICAgIC8vIG1lZXIsIHdhbnQgZGFhciBzdGFhbiBoZWxlIHZvb3JiZWVsZGVuIGluIChgUk9VTkQgKCBnZXRhbCAsIGRlY2ltYWxlbiApYCkuXG4gICAgLnFmZS1jb2xzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSAxMDRweCBtaW5tYXgoMCwgMS4xZnIpO1xuICAgICAgICBnYXA6IDE0cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAucWZlLWNvbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnFmZS1jb2wtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2NTA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDdlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzZlNzI4MCk7XG4gICAgfVxuXG4gICAgLnFmZS1saXN0IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1ib3JkZXItdHJlZSwgI2Q0ZDhlYyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCwgI2ZmZik7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgbWF4LWhlaWdodDogMjMycHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLy8gS29wcmVnZWwgYmlubmVuIGVlbiBsaWpzdCAoXCJWb3JpZ2UgcGVyaW9kZVwiLCBcIlZlcmdlbGlqa2VuXCIpLlxuICAgIC5xZmUtZ3JvdXAge1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweCAzcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjUwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA2ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2ZTcyODApO1xuICAgIH1cblxuICAgIC8vIE1pc2x1a3RlIHdvb3JkZW5saWpzdDogZ2V3b25lIGxlZXN0ZWtzdCwgZ2VlbiBrYXBpdGFsZW4g4oCUIGhldCBpcyBlZW4gbWVsZGluZywgZ2VlbiBrb3AuXG4gICAgLnFmZS1ncm91cC1mYWlsIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDEyLjVweDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG5cbiAgICAvLyDik5ggYC5tZW51LWl0ZW0tbGFiZWxgIGlzIGRlIGludGVybmUgY2xhc3MgdmFuIHFkbmFwcm8tbWVudS1pdGVtIChzdGFiaWVsIHNpbmRzIGRlIGJvdXcpLiBBbGxlZW5cbiAgICAvLyAgIGhldCBMRVRURVJUWVBFIHdvcmR0IGhpZXIgZ2V6ZXQ6IGVlbiBmb3JtdWxlIGlzIGNvZGUsIGVuIGVlbiBwcm9wb3J0aW9uZWVsIGxldHRlcnR5cGUgbWFha3RcbiAgICAvLyAgIGBST1VORCAoIE0xIC8gTTIgLCAxIClgIHNsZWNodCBsZWVzYmFhci4gRGUgcmVzdCB2YW4gZGUgcmlqIGJsaWpmdCBoZXQgY29tcG9uZW50IHplbGYuXG4gICAgLnFmZS1pdGVtIC5tZW51LWl0ZW0tbGFiZWwge1xuICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBcIlNGIE1vbm9cIiwgTWVubG8sIENvbnNvbGFzLCBtb25vc3BhY2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpO1xuICAgIH1cblxuICAgIC8vIC0tLS0gb3BlcmF0b3Jrbm9wcGVuIC0tLS1cbiAgICAucWZlLW9wcyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgfVxuXG4gICAgLnFmZS1vcHMgcWRuYXByby1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyAtLS0tIGhldCBmb3JtdWxldmVsZCAtLS0tXG4gICAgLnFmZS1maWVsZHdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDZweDtcbiAgICB9XG5cbiAgICAucWZlLWZpZWxkIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDg0cHg7XG4gICAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgXCJTRiBNb25vXCIsIE1lbmxvLCBDb25zb2xhcywgbW9ub3NwYWNlO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtYm9keSwgIzI0MjYyYyk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCwgI2ZmZik7XG4gICAgICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1jLWJnLXNlY29uZGFyeS1wdXJwbGUsICNlNmU5ZmYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGUgb3BlbiBwbGVrIGDigLnigKbigLpgIHdvcmR0IGdlc2VsZWN0ZWVyZCBuYSBoZXQgaW52b2VnZW47IGRpZSBzZWxlY3RpZSBtb2V0IE9QVkFMTEVOLCB3YW50XG4gICAgICAgIC8vIGhpaiBpcyBkZSBoZWxlIGFhbndpanppbmcgZGF0IGVyIG5vZyBpZXRzIGluZ2V2dWxkIG1vZXQgd29yZGVuLlxuICAgICAgICAmOjpzZWxlY3Rpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucWZlLWhpbnQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbiAgICB9XG5cbiAgICAucWZlLXN0YXR1cyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWluLWhlaWdodDogMS4yZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgIH1cblxuICAgIC5xZmUtc3RhdHVzLWdvZWQgICAgICAgICAgIHsgY29sb3I6IHZhcigtLWMtdGFnLW5ldy10ZXh0LCAjMWY3YTQ4KTsgfVxuICAgIC5xZmUtc3RhdHVzLWZvdXQgICAgICAgICAgIHsgY29sb3I6IHZhcigtLWMtdGFnLWNyaXRpY2FsLXRleHQsICNjMzNhMzApOyB9XG4gICAgLnFmZS1zdGF0dXMtd2FhcnNjaHV3aW5nICAgeyBjb2xvcjogdmFyKC0tYy10YWctd2FybmluZy10ZXh0LCAjYTA2NDAwKTsgfVxuXG4gICAgLy8gLS0tLSB2b2V0IC0tLS1cbiAgICAucWZlLWZvb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgfVxuXG4gICAgLnFmZS1mb290LXNwYWNlciB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuICAgIC8vIFNjcm9sbGJhcjogc21hbCwgYmlubmVuIGhldCBjb21wb25lbnQsIHRyYW5zcGFyYW50ZSB0cmFjayDigJQgaHVpc3JlZ2VsLlxuICAgIC5xZmUtbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogNnB4OyB9XG4gICAgLnFmZS1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLnFmZS1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjE4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIH1cbiAgICAucWZlLWxpc3QgeyBzY3JvbGxiYXItd2lkdGg6IHRoaW47IHNjcm9sbGJhci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMTgpIHRyYW5zcGFyZW50OyB9XG5cbiAgICAvLyBTbWFsIHNjaGVybTogZGUgZHJpZSBrb2xvbW1lbiBvbmRlciBlbGthYXIsIG9wZXJhdG9ycyBhbHMgZWVuIHJpaiBrbm9wcGVuLlxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgICAgICAucWZlLWNvbHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAgICAgICAucWZlLW9wcyAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyB9XG4gICAgICAgIC5xZmUtbGlzdCB7IG1heC1oZWlnaHQ6IDE2OHB4OyB9XG4gICAgfVxufVxuIiwiLy8gX2dyaWQtdGlsZS5zY3NzXG4vL1xuLy8gcWRuYXByby1ncmlkLXRpbGUgLSBnZW5lcmljIGFwcC13aWRlIGdyaWQgdGlsZSAodGludGVkIGFydHdvcmsgem9uZSArXG4vLyB0aXRsZSArIG9wdGlvbmFsIG1ldGEsIGNlbnRlcmVkLCBiZWxvdyBpdCkuIEdlbmVyYWxpc2VzIHRoZSBQV0Fcbi8vIGRvY3VtZW50cyBncmlkIGFuYXRvbXkgKGFwcF9hcGlfcWRuYXYyL3NyYy9SRVgvUmVzb3VyY2VzL1Njc3MvX2RvY3VtZW50cy5zY3NzXG4vLyAuZG9jdW1lbnRzX3Jvdy0tZ3JpZCwgTk9UIGVkaXRlZCBoZXJlKSBzbyBhbnkgZ3JpZCBvZiBmaWxlcy9mb2xkZXJzL3VuaXRzL1xuLy8gZXRjLiBjYW4gcmV1c2UgT05FIGNvbXBvbmVudCBpbnN0ZWFkIG9mIGZvcmtpbmcgdGlsZSBtYXJrdXAuXG4vL1xuLy8gU0laRSBUQUJMRSAoS2ltJ3MgYnJpZWY6IDMgZml4ZWQgc2l6ZXMsIGRvY3VtZW50ICsganVzdGlmeSB0aGUgbnVtYmVycyk6XG4vLyAgIHNpemU9XCJzXCIgICAgICAgICAgICB3aWR0aCA5NnB4ICAgYXJ0d29yayA2MHg2MCAgIGZhbGxiYWNrIGdseXBoIDMwcHggICB0aXRsZSAxMnB4LzUwMCAgIG1ldGEgMTBweC80MDBcbi8vICAgc2l6ZT1cIm1cIiAoZGVmYXVsdCkgICB3aWR0aCAxMjBweCAgYXJ0d29yayA3Nng3NiAgIGZhbGxiYWNrIGdseXBoIDM4cHggICB0aXRsZSAxM3B4LzUwMCAgIG1ldGEgMTFweC80MDBcbi8vICAgc2l6ZT1cImxcIiAgICAgICAgICAgICB3aWR0aCAxNDhweCAgYXJ0d29yayA5Mng5MiAgIGZhbGxiYWNrIGdseXBoIDQ2cHggICB0aXRsZSAxNHB4LzUwMCAgIG1ldGEgMTJweC80MDBcbi8vIERlbGliZXJhdGVseSBkaXNjcmV0ZSAobm90IGEgZnJlZSBwaXhlbCBhdHRyaWJ1dGUpIC0gc2FtZSByZWFzb25pbmcgYXNcbi8vIHFkbmFwcm8taWNvbi1idG4ncyAzIHNpemVzOiBhIGdyaWQgbWl4aW5nIHRpbGUgc2l6ZXMgbmVlZHMgdG8gbGluZSB1cFxuLy8gYWdhaW5zdCBhIHNtYWxsIGZpeGVkIHZvY2FidWxhcnksIG5vdCBhcmJpdHJhcnkgdmFsdWVzLiBcIm1cIiBtaXJyb3JzXG4vLyBxZG5hcHJvLWxpc3Qtcm93J3MgNDB4NDAgbGVhZGluZyB0aWxlIHNjYWxlZCB1cCBmb3IgYSBncmlkIGNvbnRleHQgKGFcbi8vIGdyaWQgdGlsZSBjYXJyaWVzIG1vcmUgdmlzdWFsIHdlaWdodCB0aGFuIGFuIGlubGluZSByb3cgaWNvbik7IHMvbCBzdGVwXG4vLyBieSByb3VnaGx5IHRoZSBzYW1lIDMtNHB4LXBlci10aWVyIHJhdGlvIHVzZWQgYWNyb3NzIHRoaXMgbGlicmFyeSdzIG90aGVyXG4vLyBzaXplZCBjb21wb25lbnRzIChpY29uLWJ0biAyNC8yOC80NCwgYXZhdGFyJ3Mgb3duIHNpemUgcmFtcCkuXG4vL1xuLy8gVElOVCBERUNJU0lPTiAoZ292ZXJucyB0aGUgQVJUV09SSyBaT05FLCBub3QgdGhlIHdob2xlIHRpbGUgY2FyZCk6XG4vLyBxZG5hcHJvLWxpc3Qtcm93J3MgYHRpbnRgIGNvbG91cnMgaXRzIGxlYWRpbmcgaWNvbi1USUxFIC0gdGhlIGFydHdvcmsgem9uZVxuLy8gaGVyZSBpcyB0aGUgZGlyZWN0IGVxdWl2YWxlbnQgb2YgdGhhdCB0aWxlLCBqdXN0IHNxdWFyZSBhbmQgYmlnZ2VyLiBUaGVcbi8vIGFsdGVybmF0aXZlICh0aW50aW5nIHRoZSBFTlRJUkUgY2FyZCkgd2FzIGNvbnNpZGVyZWQgYW5kIHJlamVjdGVkOiB0aGVcbi8vIGN1cnJlbnQgUFdBIGRvY3VtZW50cyBncmlkIGFscmVhZHkgZ2l2ZXMgZXZlcnkgdGlsZSBhIG5ldXRyYWwgd2hpdGUgY2FyZFxuLy8gd2l0aCBhIFwiZG9jdW1lbnRzX3NlY3Rpb25cIi1zdHlsZSBob3ZlciBsaWZ0IChzZWUgdGhlIGV4YWN0IGxpZnQgdmFsdWVzXG4vLyByZXVzZWQgYmVsb3cpOyB0aW50aW5nIHRoZSBmdWxsIGNhcmQgcGVyIGZpbGUvZm9sZGVyIGNvbG91ciB3b3VsZCB0dXJuIGFcbi8vIGdyaWQgb2YgbWFueSBmaWxlcyBpbnRvIGEgc29saWQgd2FsbCBvZiBjb2xvdXIgYW5kIGZpZ2h0IHRoYXQgZXN0YWJsaXNoZWRcbi8vIG5ldXRyYWwtY2FyZC1wbHVzLWxpZnQgbGFuZ3VhZ2UgZXZlcnkgb3RoZXIgY2FyZCBpbiB0aGlzIGdyaWQgYWxyZWFkeVxuLy8gdXNlcy4gQ29uZmluaW5nIGB0aW50YCB0byB0aGUgYXJ0d29yayB6b25lIGtlZXBzIHRoZSB0aWxlIGNhcmQgaXRzZWxmXG4vLyBjb25zaXN0ZW50IHdpdGggZXZlcnkgb3RoZXIgY2FyZCB3aGlsZSBzdGlsbCBnaXZpbmcgZm9sZGVycy9maWxlcyB0aGVcbi8vIHNhbWUgYXQtYS1nbGFuY2UgY29sb3VyIGNvZGluZyBxZG5hcHJvLWxpc3Qtcm93L3FkbmFwcm8tcGlja2VyLXJvdy9cbi8vIHFkbmFwcm8tdGFza2xpc3QtY2FyZCBhbHJlYWR5IHVzZSBlbHNld2hlcmUuIFNhbWUgOCBoZXggcGFpcnMgYXNcbi8vIHFkbmFwcm8tbGlzdC1yb3cncyAucWxyLXRpbGUtY29sb3ItKiAoY29waWVkIDE6MSwgc2FtZSBcIm5vIHNoYXJlZCBwYWxldHRlXG4vLyBtb2R1bGUgeWV0XCIgc2l0dWF0aW9uIGFzIHRoYXQgY29tcG9uZW50J3Mgb3duIGhlYWRlciBjb21tZW50IC0gZXZlcnkgdGlsZVxuLy8gY29tcG9uZW50IGluIHRoaXMgbGlicmFyeSBrZWVwcyBpdHMgb3duIGNvcHkgdG9kYXkpLlxuLy9cbi8vIEZPTlQtV0VJR0hUOiB0aXRsZSA1MDAgKG1lZGl1bSksIE5PVCA2MDAvNzAwIC0gc2FtZSBjb252ZW50aW9uXG4vLyBxZG5hcHJvLWxpc3Qtcm93J3MgdGl0bGUgbGFuZGVkIG9uIGFmdGVyIEtpbSdzIFwiZG9jdW1lbnRzX3JvdyBmZWx0IHRvb1xuLy8gaGVhdnkgYXQgNjAwXCIgZmVlZGJhY2sgKHNlZSBfbGlzdC1yb3cuc2NzcydzIG93biBjcm9zcy1jb21wb25lbnRcbi8vIGV2aWRlbmNlKS4gTWV0YSBmb2xsb3dzIHRoZSBzYW1lIG11dGVkLzQwMCBjb252ZW50aW9uIGFzIGxpc3Qtcm93J3Ncbi8vIHN1YnRpdGxlIC8gZXZlbnQtY2FyZCdzIG1ldGEgdGV4dC5cbi8vXG4vLyBQUkVTUy1PTkxZICgyMi4wNy4yMDI2KTogdGhlIHRpbGUgaGFzIE5PIG1lbnUgYnV0dG9uLCBsb25nLXByZXNzIG9yXG4vLyBjb250ZXh0bWVudSBnZXN0dXJlIC0gaXQgZmlyZXMgYSBzaW5nbGUgcWRuYXByby1ncmlkLXRpbGUtcHJlc3MgYW5kIGFcbi8vIGNvbnN1bWVyIG9wZW5zIGFueSBwZXItdGlsZSBhY3Rpb25zIGZyb20gdGhlcmUuIFNvIHRoZSBjYXJkIHBhZGRpbmcgaXMgYVxuLy8gcGxhaW4gc3ltbWV0cmljIDEwcHggKG5vIHRvcCBjbGVhcmFuY2UgdG8gcmVzZXJ2ZSkgYW5kIHRoZSB0b3AtcmlnaHQgY29ybmVyXG4vLyBpcyBmcmVlIGZvciB0aGUgYmFkZ2Ugc2xvdC5cbi8vXG4vLyBCQURHRSBTTE9UOiBhIHNpbmdsZSBvdmVybGF5ICh0eXBpY2FsbHkgcWRuYXByby1zdGF0dXMtYmFkZ2U6IGZhdm91cml0ZVxuLy8gaGVhcnQgLyBvZmZsaW5lIC8gbmV3KSBoYW5ncyBvbiB0aGUgY2FyZCdzIE9VVEVSIHRvcC1yaWdodCBjb3JuZXIgYW5kXG4vLyBvdmVyaGFuZ3MgdGhlIHRvcCBlZGdlIChhIGNoaWxkIG9mIHRoZSBob3N0LCBub3QgdGhlIGFydHdvcmsgLSB0aGUgYXJ0d29ya1xuLy8gY2xpcHM7IHRoZSBjYXJkIGRvZXMgbm90KS4gU2VlIGAucWd0LWJhZGdlYC5cbi8vXG4vLyBIT1ZFUiBMSUZUOiByZXVzZXMgdGhlIEVYQUNUIHRyYW5zbGF0ZVkgKyBib3gtc2hhZG93IHBhaXIgZnJvbSB0aGUgUFdBJ3Ncbi8vIG93biBcImRvY3VtZW50c19zZWN0aW9uXCIgY2FyZCBob3ZlciAoYXBwX2FwaV9xZG5hdjIncyBfZG9jdW1lbnRzLnNjc3MsXG4vLyByZWFkLW9ubHkgcmVmZXJlbmNlKSAtIEtpbSdzIGJyaWVmIGFza2VkIGZvciBcImxpZnQgem9hbHMgZGVcbi8vIGRvY3VtZW50ZW4ta2FhcnRlblwiLCBzbyB0aGlzIGlzIHRoYXQgc2FtZSByZWNpcGUsIG5vdCBhIG5ldyBvbmUuXG5cbi5xZG5hcHJvLWdyaWQtdGlsZSB7XG4gICAgLS1xZ3QtYmc6IHZhcigtLWMtYmctY2FyZCwgI2ZmZmZmZik7XG4gICAgLS1xZ3QtYmctaG92ZXI6IHZhcigtLWMtYmctY2FyZC1ob3ZlciwgI2Y3ZjhmYSk7XG4gICAgLS1xZ3QtYmctcHJlc3NlZDogdmFyKC0tYy1wdXJwbGUtc29mdC0xMiwgcmdiYSg2NCwgNzMsIDE1NCwgMC4xMikpO1xuICAgIC0tcWd0LXRpdGxlLWNvbG9yOiB2YXIoLS1jLXRleHQtaGVhZGluZywgIzFhMWY0ZCk7XG4gICAgLS1xZ3QtbWV0YS1jb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbiAgICAtLXFndC1mb2N1cy1yaW5nOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSwgIzQwNDk5YSk7XG4gICAgLS1xZ3QtZm9jdXMtZ2xvdzogdmFyKC0tYy1wdXJwbGUtc29mdC0xOCwgcmdiYSg2NCwgNzMsIDE1NCwgMC4xOCkpO1xuICAgIC0tcWd0LXNlbGVjdGVkLXJpbmc6IHZhcigtLWMtYnJhbmQtcHVycGxlLCAjNDA0OTlhKTtcbiAgICAtLXFndC1zZWxlY3RlZC1nbG93OiB2YXIoLS1jLWFjdGlvbi0xOCwgcmdiYSg3MCwgODIsIDI0MywgMC4xOCkpO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcWd0LWJnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLTMsIDEycHgpOyAvLyAxMnB4IGNhcmQgY29ybmVycyAoS2ltIDIyLjA3LjIwMjYsIHdhcyAtLXItY2FyZC8xNnB4KVxuICAgIHBhZGRpbmc6IDEwcHg7IC8vIHN5bW1ldHJpYyAtIG5vIG1lbnUgYnV0dG9uIHRvIHJlc2VydmUgdG9wIGNsZWFyYW5jZSBmb3IgKEtpbSAyMi4wNy4yMDI2KVxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mZiwgXCJJbnRlclwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYpO1xuICAgIGNvbG9yOiB2YXIoLS1xZ3QtdGl0bGUtY29sb3IpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTUwbXMgZWFzZSwgdHJhbnNmb3JtIDE1MG1zIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMTAwbXMgZWFzZS1vdXQ7XG5cbiAgICAmOmhvdmVyOm5vdCgucWd0LWRpc2FibGVkKSB7XG4gICAgICAgIC8vIEV4YWN0IGxpZnQgcmVjaXBlIGFzIFBXQSAuZG9jdW1lbnRzX3NlY3Rpb246aG92ZXIgKHJlYWQtb25seVxuICAgICAgICAvLyByZWZlcmVuY2UgaW4gYXBwX2FwaV9xZG5hdjIncyBfZG9jdW1lbnRzLnNjc3MpIC0gXCJsaWZ0IHpvYWxzIGRlXG4gICAgICAgIC8vIGRvY3VtZW50ZW4ta2FhcnRlblwiIHBlciBLaW0ncyBicmllZi5cbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDcpLCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIH1cblxuICAgICYuaXMtcHJlc3NlZDpub3QoLnFndC1kaXNhYmxlZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1xZ3QtYmctcHJlc3NlZCk7XG4gICAgICAgIC8vIFN1YnRsZSBzY2FsZS1kb3duIG9uIHRhcC9wcmVzcyBmZWVkYmFjayAoc2FtZSByZWNpcGUgYXNcbiAgICAgICAgLy8gcWRuYXByby11bml0LWNhcmQncyAuaXMtcHJlc3NpbmcpLlxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTYpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNzBtcyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLXZpc2libGUsXG4gICAgJi5mb3JjZS1mb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgICBpbnNldCAwIDAgMCAycHggdmFyKC0tcWd0LWZvY3VzLXJpbmcpLFxuICAgICAgICAgICAgaW5zZXQgMCAwIDAgNXB4IHZhcigtLXFndC1mb2N1cy1nbG93KTtcbiAgICB9XG5cbiAgICAmLnFndC1zZWxlY3RlZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1xZ3Qtc2VsZWN0ZWQtZ2xvdyk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmctc3VidGxlLXB1cnBsZSwgI2YzZjVmZik7XG5cbiAgICAgICAgLnFndC10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcWd0LXNlbGVjdGVkLXJpbmcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5xZ3Qtc2VsZWN0ZWQ6aG92ZXI6bm90KC5xZ3QtZGlzYWJsZWQpIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLXFndC1zZWxlY3RlZC1nbG93KSwgMCA0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICAgIH1cblxuICAgICYucWd0LWRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICY6aG92ZXI6bm90KC5xZ3QtZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLmlzLXByZXNzZWQ6bm90KC5xZ3QtZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcmV2aWV3LW9ubHkgZm9yY2Utc3RhdGUgdXRpbGl0aWVzIChtaXJyb3IgcWRuYXByby1saXN0LXJvdykuXG4gICAgJi5mb3JjZS1ob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA3KSwgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICB9XG4gICAgJi5mb3JjZS1wcmVzc2VkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcWd0LWJnLXByZXNzZWQpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTYpO1xuICAgIH1cbn1cblxuLy8gLS0tLSBTaXplIHZhcmlhbnRzIC0tLS1cbi8vIFdpZHRoIGlzIHNldCBvbiB0aGUgaG9zdCBpdHNlbGYgKHRoZSB0aWxlIGlzIGEgZml4ZWQtZm9vdHByaW50IGdyaWQgY2VsbCxcbi8vIG5vdCBhIGZsdWlkIGJsb2NrKSAtIGEgY29uc3VtZXIncyBDU1MgZ3JpZCBqdXN0IG5lZWRzXG4vLyBgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoPHNpemUgd2lkdGg+LCAxZnIpKWAgdG9cbi8vIGxpbmUgdGlsZXMgdXAgY2xlYW5seTsgc2VlIHRoZSBwcmV2aWV3IGZvciBhIHdvcmtpbmcgZXhhbXBsZSBwZXIgc2l6ZS5cbi5xZG5hcHJvLWdyaWQtdGlsZS5xZ3Qtc2l6ZS1zIHtcbiAgICB3aWR0aDogOTZweDtcblxuICAgIC5xZ3QtYXJ0d29yayB7IHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7IH1cbiAgICAucWd0LWFydHdvcmstaWNvbiB7IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDMwcHg7IH1cbiAgICAucWd0LXRpdGxlIHsgZm9udC1zaXplOiAxMnB4OyB9XG4gICAgLnFndC1tZXRhIHsgZm9udC1zaXplOiAxMHB4OyB9XG59XG5cbi5xZG5hcHJvLWdyaWQtdGlsZS5xZ3Qtc2l6ZS1tIHtcbiAgICB3aWR0aDogMTIwcHg7XG5cbiAgICAucWd0LWFydHdvcmsgeyB3aWR0aDogNzZweDsgaGVpZ2h0OiA3NnB4OyB9XG4gICAgLnFndC1hcnR3b3JrLWljb24geyB3aWR0aDogMzhweDsgaGVpZ2h0OiAzOHB4OyB9XG4gICAgLnFndC10aXRsZSB7IGZvbnQtc2l6ZTogMTNweDsgfVxuICAgIC5xZ3QtbWV0YSB7IGZvbnQtc2l6ZTogMTFweDsgfVxufVxuXG4ucWRuYXByby1ncmlkLXRpbGUucWd0LXNpemUtbCB7XG4gICAgd2lkdGg6IDE0OHB4O1xuXG4gICAgLnFndC1hcnR3b3JrIHsgd2lkdGg6IDkycHg7IGhlaWdodDogOTJweDsgfVxuICAgIC5xZ3QtYXJ0d29yay1pY29uIHsgd2lkdGg6IDQ2cHg7IGhlaWdodDogNDZweDsgfVxuICAgIC5xZ3QtdGl0bGUgeyBmb250LXNpemU6IDE0cHg7IH1cbiAgICAucWd0LW1ldGEgeyBmb250LXNpemU6IDEycHg7IH1cbn1cblxuLy8gLS0tLSBBcnR3b3JrIHpvbmUgLS0tLVxuLnFndC1hcnR3b3JrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0zLCAxMnB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcWd0LWFydHdvcmstYmcsIHZhcigtLWMtcHVycGxlLXNvZnQtMTIsIHJnYmEoNjQsIDczLCAxNTQsIDAuMTIpKSk7XG4gICAgY29sb3I6IHZhcigtLXFndC1hcnR3b3JrLWZnLCB2YXIoLS1jLWJyYW5kLXB1cnBsZSwgIzQwNDk5YSkpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIGtlZXAgdGhlIGFjdGl2aXR5LWljb24gdmFyaWFudCBjbGlwcGVkIHRvIHRoZSByb3VuZGVkIHpvbmVcbn1cblxuLy8gQWN0aXZpdHktaWNvbiB2YXJpYW50OiB0aGUgdHdvLXRvbmUgaWxsdXN0cmF0aXZlIGljb24gZmlsbHMgdGhlIGFydHdvcmstaWNvblxuLy8gYm94IChpdHMgb3duIDxpbWc+IHNjYWxlcyB0byB0aGUgYm94IHRoZSBzaXplIHJ1bGVzIHNldCkuIFNhbWUgaWRlYSBhcyB0aGVcbi8vIGxpc3Qtcm93IGFjdGl2aXR5LWljb24gdmFyaWFudCwgaW4gdGlsZSBmb3JtLiBbMjIuMDcuMjAyNl1cbi5xZ3QtYXJ0d29yay1hY3Rpdml0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnFndC1hcnR3b3JrLWFjdGl2aXR5IGltZyxcbi5xZ3QtYXJ0d29yay1hY3Rpdml0eSAuYWN0aXZpdHktaWNvbi1pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4vLyBUaWxlIGNvbG91ciBwYWxldHRlIC0gU0FNRSA4IGh1ZXMgKyBoZXggcGFpcnMgYXMgcWRuYXByby1saXN0LXJvdydzXG4vLyAucWxyLXRpbGUtY29sb3ItKiAoY29waWVkIDE6MSBzbyBhIHBhZ2UgbWl4aW5nIGdyaWQgdGlsZXMgd2l0aCBsaXN0LXJvd3Ncbi8vIHJlYWRzIGFzIG9uZSBjb25zaXN0ZW50IHRpbnRlZC10aWxlIGZhbWlseTsgbm8gc2hhcmVkIFNDU1Ncbi8vIG1hcC9taXhpbiBleGlzdHMgZm9yIHRoaXMgcGFsZXR0ZSBhbnl3aGVyZSB5ZXQsIGVhY2ggY29tcG9uZW50IG1pcnJvcnNcbi8vIGl0cyBvd24gY29weSAtIGZvbGxvd2luZyB0aGF0IGVzdGFibGlzaGVkIHBhdHRlcm4gcmF0aGVyIHRoYW4gaW52ZW50aW5nXG4vLyBhIG5ldyBvbmUgaGVyZSkuXG4ucWd0LXRpbnQtcHVycGxlICAgICAgeyAtLXFndC1hcnR3b3JrLWJnOiAjZWJlOWZiOyAtLXFndC1hcnR3b3JrLWZnOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSwgIzQwNDk5YSk7IH1cbi5xZ3QtdGludC1ncmV5ICAgICAgICB7IC0tcWd0LWFydHdvcmstYmc6ICNlZWYwZjI7IC0tcWd0LWFydHdvcmstZmc6IHZhcigtLWMtZ3JleS02MDAsICM1NjViNjYpOyB9XG4ucWd0LXRpbnQtcmVkICAgICAgICAgeyAtLXFndC1hcnR3b3JrLWJnOiAjZmRlN2U3OyAtLXFndC1hcnR3b3JrLWZnOiB2YXIoLS1jLXNpZ25hbC1yZWQtdGV4dCwgI2M2NWE1YSk7IH1cbi5xZ3QtdGludC15ZWxsb3cgICAgICB7IC0tcWd0LWFydHdvcmstYmc6ICNmZGYzZDY7IC0tcWd0LWFydHdvcmstZmc6IHZhcigtLWMtc2lnbmFsLXllbGxvdy10ZXh0LCAjYmY3MjAyKTsgfVxuLnFndC10aW50LWdyZWVuICAgICAgIHsgLS1xZ3QtYXJ0d29yay1iZzogI2UyZmFmMTsgLS1xZ3QtYXJ0d29yay1mZzogdmFyKC0tYy1zaWduYWwtZ3JlZW4tdGV4dCwgIzQyOGI2ZSk7IH1cbi5xZ3QtdGludC1ibHVlICAgICAgICB7IC0tcWd0LWFydHdvcmstYmc6ICNlNmVmZjk7IC0tcWd0LWFydHdvcmstZmc6IHZhcigtLWMtc2lnbmFsLWJsdWUtdGV4dCwgIzZhOGFiNCk7IH1cbi5xZ3QtdGludC1icmlnaHQtYmx1ZSB7IC0tcWd0LWFydHdvcmstYmc6ICNkNmUwZjk7IC0tcWd0LWFydHdvcmstZmc6ICMzYTVlYWU7IH1cbi5xZ3QtdGludC1waW5rICAgICAgICB7IC0tcWd0LWFydHdvcmstYmc6ICNmNmUxZTg7IC0tcWd0LWFydHdvcmstZmc6IHZhcigtLWMtc2lnbmFsLXBpbmstdGV4dCwgI2IyNTc3Nyk7IH1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFndC10aW50LXB1cnBsZSAgICAgIHsgLS1xZ3QtYXJ0d29yay1iZzogIzNhMzU1NTsgLS1xZ3QtYXJ0d29yay1mZzogdmFyKC0tYy1wdXJwbGUtMjAwLCAjYTVhY2ZmKTsgfVxuW2RhdGEtdGhlbWU9ZGFya10gLnFndC10aW50LWdyZXkgICAgICAgIHsgLS1xZ3QtYXJ0d29yay1iZzogIzQwNDQ0ZDsgLS1xZ3QtYXJ0d29yay1mZzogdmFyKC0tYy1ncmV5LTMwMCwgI2M0YzdjYyk7IH1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZ3QtdGludC1yZWQgICAgICAgICB7IC0tcWd0LWFydHdvcmstYmc6ICM1YTJiMmI7IC0tcWd0LWFydHdvcmstZmc6IHZhcigtLWMtd2Fybi1yZWQtNDAwLCAjZjg3MTcxKTsgfVxuW2RhdGEtdGhlbWU9ZGFya10gLnFndC10aW50LXllbGxvdyAgICAgIHsgLS1xZ3QtYXJ0d29yay1iZzogIzVhNGQxZjsgLS1xZ3QtYXJ0d29yay1mZzogdmFyKC0tYy13YXJuLXllbGxvdy01MDAsICNmYmJmMjQpOyB9XG5bZGF0YS10aGVtZT1kYXJrXSAucWd0LXRpbnQtZ3JlZW4gICAgICAgeyAtLXFndC1hcnR3b3JrLWJnOiAjMmE1NTQ0OyAtLXFndC1hcnR3b3JrLWZnOiAjN2ZlMGJjOyB9XG5bZGF0YS10aGVtZT1kYXJrXSAucWd0LXRpbnQtYmx1ZSAgICAgICAgeyAtLXFndC1hcnR3b3JrLWJnOiAjMmUzZTU0OyAtLXFndC1hcnR3b3JrLWZnOiAjOGZiNGUwOyB9XG5bZGF0YS10aGVtZT1kYXJrXSAucWd0LXRpbnQtYnJpZ2h0LWJsdWUgeyAtLXFndC1hcnR3b3JrLWJnOiAjM2E0YThhOyAtLXFndC1hcnR3b3JrLWZnOiAjYjljOGY1OyB9XG5bZGF0YS10aGVtZT1kYXJrXSAucWd0LXRpbnQtcGluayAgICAgICAgeyAtLXFndC1hcnR3b3JrLWJnOiAjNGUyYTM2OyAtLXFndC1hcnR3b3JrLWZnOiAjZTRhMGI4OyB9XG5cbi8vIC0tLS0gU2xvdC13cmFwIHV0aWxpdHkgKHN0YWJsZSB3cmFwcGVyIGZvciBjb25kaXRpb25hbCB0ZW1wbGF0aW5nLWVuZ2luZVxuLy8gY29udGVudCBpbnNpZGUgYSBzbG90LCBlLmcuIFJhY3RpdmUge3sjaWZ9fSkgLS0tLVxuLy8gU2FtZSBmaXgsIHNhbWUgcmVhc29uaW5nLCBhcyBxZG5hcHJvLWxpc3Qtcm93J3MgLnFsci1zbG90LXdyYXAgKHNlZVxuLy8gX2xpc3Qtcm93LnNjc3MncyBvd24gY29tbWVudCBmb3IgdGhlIGZ1bGwgaW5jaWRlbnQgd3JpdGV1cCAvIGVycm9yIDUzMzEpOlxuLy8gYSB0ZW1wbGF0aW5nIGVuZ2luZSdzIGNvbmRpdGlvbmFsIGFuY2hvciBtdXN0IG5ldmVyIHNpdCBkaXJlY3RseSBvbiB0aGVcbi8vIHNsb3Q9XCIuLi5cIiBlbGVtZW50IGl0c2VsZiwgc2luY2UgdGhpcyBjb21wb25lbnQgbW92ZXMgdGhhdCBlbGVtZW50IGludG8gYW5cbi8vIGludGVybmFsIGNvbnRhaW5lciBvbiBmaXJzdCByZW5kZXIgLSBhbHdheXMgd3JhcCB0aGUgY29uZGl0aW9uYWwgaW5zaWRlIGFuXG4vLyBhbHdheXMtcHJlc2VudCA8c3BhbiBzbG90PVwiLi4uXCIgY2xhc3M9XCJxZ3Qtc2xvdC13cmFwXCI+LiBUaGlzIGNsYXNzIHdhc1xuLy8gZG9jdW1lbnRlZCBpbiBxZG5hLWdyaWQtdGlsZS5qcydzIGhlYWRlciBjb21tZW50IGJlZm9yZSBpdCBleGlzdGVkIGhlcmVcbi8vIChhIFBXQS1zaWRlIGZvbGxvdy11cCAoRS1kb2N1bWVudHMuaHRtbCkgaGFkIHRvIGRlZmluZSBpdHMgb3duIGxvY2FsXG4vLyAuZG9jdW1lbnRzX2dyaWRfYmFkZ2Vfd3JhcCBpbiB0aGUgbWVhbnRpbWUpIC0gZGVmaW5lZCBmb3IgcmVhbCBub3cgc29cbi8vIG5vdGhpbmcgbmVlZHMgYSBsb2NhbCBzdGFuZC1pbiBhbnltb3JlLlxuLnFndC1zbG90LXdyYXAge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4vLyAtLS0tIEJhZGdlIHNsb3Q6IHN0cmFkZGxpbmcgdGhlIGNhcmQncyBPVVRFUiB0b3AtcmlnaHQgY29ybmVyIC0tLS1cbi8vIFRoZSBzdGF0dXMtYmFkZ2UgKGZhdm91cml0ZSBoZWFydCAvIG9mZmxpbmUgLyBuZXcpIGhhbmdzIG9uIHRoZSBjYXJkJ3Ncbi8vIHRvcC1yaWdodCBjb3JuZXIgYW5kIE9WRVJIQU5HUyB0aGUgdG9wIGVkZ2UgKHRyYW5zbGF0ZVkgcHVsbHMgaXQgdXAgc28gaXRcbi8vIHNpdHMgaGFsZiBhYm92ZSB0aGUgY2FyZCksIHBlciBLaW0ncyBkZXNpZ24uIEl0IGlzIGEgY2hpbGQgb2YgdGhlIGhvc3QsIG5vdFxuLy8gdGhlIGFydHdvcmsgKHRoZSBhcnR3b3JrIGNsaXBzIHdpdGggb3ZlcmZsb3c6aGlkZGVuKSwgYW5kIHRoZSBjYXJkIGl0c2VsZlxuLy8gaGFzIG5vIG92ZXJmbG93IGNsaXAsIHNvIHRoZSBvdmVyaGFuZyBzaG93cy4gW0tpbSAyMi4wNy4yMDI2XVxuLnFndC1iYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLThweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwJSk7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gLS0tLSBCb2R5OiB0aXRsZSArIG9wdGlvbmFsIG1ldGEsIGNlbnRlcmVkIC0tLS1cbi5xZ3QtYm9keSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAycHg7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnFndC10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgLy8gc2VlIGZpbGUgaGVhZGVyIC0gc2FtZSBcIm5vdCA2MDBcIiBkZWNpc2lvbiBhcyBxZG5hcHJvLWxpc3Qtcm93XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBjb2xvcjogdmFyKC0tcWd0LXRpdGxlLWNvbG9yKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBIYXJkIDItbGluZSBjbGFtcCAtIHRoaXMgaXMgdGhlIGFjdHVhbCBidWcgZml4OiB0aGUgUFdBJ3MgY3VycmVudFxuICAgIC8vIGdyaWQgdGlsZSBsZXRzIGxvbmcgZmlsZW5hbWVzIHJ1biBvdXRzaWRlIHRoZSB0aWxlIGVkZ2UuIFRoaXNcbiAgICAvLyBndWFyYW50ZWVzIHRoZXkgbmV2ZXIgY2FuLCByZWdhcmRsZXNzIG9mIHRpbGUgc2l6ZS5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5xZ3QtbWV0YSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNvbG9yOiB2YXIoLS1xZ3QtbWV0YS1jb2xvcik7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4iLCIvLyBxZG5hLWljb24tZmllbGQg4oCUIGZvcm0tZWxlbWVudCB3cmFwcGVyIGZvciB0aGUgYWN0aXZpdHktaWNvbiBwaWNrZXIuXG4vLyBBIHJvdW5kIHByZXZpZXcgdGlsZSArIGEgXCJDaG9vc2UgaWNvblwiIGJ1dHRvbiB0aGF0IG9wZW5zIHRoZSBzaGFyZWRcbi8vIHFkbmFwcm8tYWN0aXZpdHktaWNvbi1waWNrZXItb3ZlcmxheS4gVXNlZCBpbiB0aGUgdW5pdC10eXBlIGVkaXQgbW9kYWxcbi8vIChyZXBsYWNlcyB0aGUgZm9ybWVyIHByb2ZpbGUtcGljdHVyZSB1cGxvYWQsIHdoaWNoIGlzIGEgdXNlcnMtb25seSBjb25jZXB0KS5cblxuLnFkbmEtaWNvbi1maWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMjRweDtcblxuICAgICZfX3ByZXZpZXctd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIH1cblxuICAgICZfX3ByZXZpZXcge1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktNTAsICNmMGYxZjIpO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDE2cHg7XG4gICAgfVxuXG4gICAgJl9fc3ViIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtZ3JleS01MDAsICM2YjcyODApO1xuICAgIH1cblxuICAgICZfX2J0biB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvaGlzdG9yeS1pdGVtL19oaXN0b3J5LWl0ZW0tY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnFkbmFwcm8taGlzdG9yeS1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMwYjBiMGQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogMC41cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZTtcbn1cbi5xZG5hcHJvLWhpc3RvcnktaXRlbTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ucWRuYXByby1oaXN0b3J5LWl0ZW06Zm9jdXMtdmlzaWJsZSwgLnFkbmFwcm8taGlzdG9yeS1pdGVtLmZvcmNlLWZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICM0MDQ5OWE7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg3MCwgODIsIDI0MywgMC4yNSk7XG59XG4ucWRuYXByby1oaXN0b3J5LWl0ZW0gLmhpc3RvcnktaXRlbS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnFkbmFwcm8taGlzdG9yeS1pdGVtIC5oaXN0b3J5LWl0ZW0tcm93LXRvcCB7XG4gIGdhcDogNHB4O1xufVxuLnFkbmFwcm8taGlzdG9yeS1pdGVtIC5oaXN0b3J5LWl0ZW0tcm93LWJvdHRvbSB7XG4gIGdhcDogOHB4O1xufVxuLnFkbmFwcm8taGlzdG9yeS1pdGVtIC5oaXN0b3J5LWl0ZW0tc3ViamVjdCB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLnFkbmFwcm8taGlzdG9yeS1pdGVtIC5oaXN0b3J5LWl0ZW0tcHJldmlldyB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLnFkbmFwcm8taGlzdG9yeS1pdGVtIC5oaXN0b3J5LWl0ZW0tdGltZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnFkbmFwcm8taGlzdG9yeS1pdGVtIC5oaXN0b3J5LWl0ZW0tYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby1oaXN0b3J5LWl0ZW0gLmhpc3RvcnktaXRlbS1hY3Rpb25zID4gLnFkbmFwcm8taWNvbi1idG4ge1xuICB3aWR0aDogMDtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgd2lkdGggMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgbWluLXdpZHRoIDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG1hcmdpbi1sZWZ0IDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMTUwbXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLW91dDtcbn1cbi5xZG5hcHJvLWhpc3RvcnktaXRlbSAuaGlzdG9yeS1pdGVtLWFjdGlvbnMgPiAuaGlzdG9yeS1pdGVtLW1vcmUtYnRuIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ucWRuYXByby1oaXN0b3J5LWl0ZW06aG92ZXIgLmhpc3RvcnktaXRlbS1hY3Rpb25zID4gLnFkbmFwcm8taWNvbi1idG4sIC5xZG5hcHJvLWhpc3RvcnktaXRlbTpmb2N1cy13aXRoaW4gLmhpc3RvcnktaXRlbS1hY3Rpb25zID4gLnFkbmFwcm8taWNvbi1idG4sIC5xZG5hcHJvLWhpc3RvcnktaXRlbS5mb3JjZS1ob3ZlciAuaGlzdG9yeS1pdGVtLWFjdGlvbnMgPiAucWRuYXByby1pY29uLWJ0biB7XG4gIHdpZHRoOiAyNHB4O1xuICBtaW4td2lkdGg6IDI0cHg7XG4gIG1heC13aWR0aDogMjRweDtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4ucWRuYXByby1oaXN0b3J5LWl0ZW06aG92ZXIgLmhpc3RvcnktaXRlbS1hY3Rpb25zID4gLmhpc3RvcnktaXRlbS1tb3JlLWJ0biwgLnFkbmFwcm8taGlzdG9yeS1pdGVtOmZvY3VzLXdpdGhpbiAuaGlzdG9yeS1pdGVtLWFjdGlvbnMgPiAuaGlzdG9yeS1pdGVtLW1vcmUtYnRuLCAucWRuYXByby1oaXN0b3J5LWl0ZW0uZm9yY2UtaG92ZXIgLmhpc3RvcnktaXRlbS1hY3Rpb25zID4gLmhpc3RvcnktaXRlbS1tb3JlLWJ0biB7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG4ucWRuYXByby1oaXN0b3J5LWl0ZW0gLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tc3VidGxlOmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0YzdjYztcbn1cbi5xZG5hcHJvLWhpc3RvcnktaXRlbSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1zdWJ0bGU6YWN0aXZlOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E3YWJiMjtcbn1cbi5xZG5hcHJvLWhpc3RvcnktaXRlbTpub3QoLmhpc3RvcnktaXRlbS1kaXNhYmxlZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjBmMWYyO1xufVxuLnFkbmFwcm8taGlzdG9yeS1pdGVtOm5vdCguaGlzdG9yeS1pdGVtLWRpc2FibGVkKTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZTRlNmU4O1xufVxuLnFkbmFwcm8taGlzdG9yeS1pdGVtLmZvcmNlLWhvdmVyOm5vdCguaGlzdG9yeS1pdGVtLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNmMGYxZjI7XG59XG4ucWRuYXByby1oaXN0b3J5LWl0ZW0uZm9yY2UtcHJlc3NlZDpub3QoLmhpc3RvcnktaXRlbS1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjZTRlNmU4O1xufVxuLnFkbmFwcm8taGlzdG9yeS1pdGVtLmhpc3RvcnktaXRlbS1waW5uZWQgLmhpc3RvcnktaXRlbS1hY3Rpb25zID4gLmhpc3RvcnktaXRlbS1waW4tYnRuIHtcbiAgd2lkdGg6IDI0cHg7XG4gIG1pbi13aWR0aDogMjRweDtcbiAgbWF4LXdpZHRoOiAyNHB4O1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5xZG5hcHJvLWhpc3RvcnktaXRlbS5oaXN0b3J5LWl0ZW0tZGlzYWJsZWQsIC5xZG5hcHJvLWhpc3RvcnktaXRlbS5oaXN0b3J5LWl0ZW0tZGlzYWJsZWQ6aG92ZXIsIC5xZG5hcHJvLWhpc3RvcnktaXRlbS5oaXN0b3J5LWl0ZW0tZGlzYWJsZWQ6YWN0aXZlIHtcbiAgY29sb3I6ICM4OThlOTk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLWhpc3RvcnktaXRlbS5oaXN0b3J5LWl0ZW0tZGlzYWJsZWQ6Zm9jdXMtdmlzaWJsZSwgLnFkbmFwcm8taGlzdG9yeS1pdGVtLmhpc3RvcnktaXRlbS1kaXNhYmxlZC5mb3JjZS1mb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWhpc3RvcnktaXRlbSB7XG4gIGJhY2tncm91bmQ6ICMxZjIwMjQ7XG4gIGNvbG9yOiAjZjBmMWYyO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taGlzdG9yeS1pdGVtOm5vdCguaGlzdG9yeS1pdGVtLWRpc2FibGVkKTpob3ZlciwgW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taGlzdG9yeS1pdGVtLmZvcmNlLWhvdmVyOm5vdCguaGlzdG9yeS1pdGVtLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICMyYTJjMzM7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1oaXN0b3J5LWl0ZW06bm90KC5oaXN0b3J5LWl0ZW0tZGlzYWJsZWQpOmFjdGl2ZSwgW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taGlzdG9yeS1pdGVtLmZvcmNlLXByZXNzZWQ6bm90KC5oaXN0b3J5LWl0ZW0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogIzM1Mzg0MTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWhpc3RvcnktaXRlbSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1zdWJ0bGU6aG92ZXI6bm90KC5pY29uLWJ0bi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTY1YjY2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taGlzdG9yeS1pdGVtIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXN1YnRsZTphY3RpdmU6bm90KC5pY29uLWJ0bi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmI3MjgwO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taGlzdG9yeS1pdGVtLmhpc3RvcnktaXRlbS1kaXNhYmxlZCwgW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taGlzdG9yeS1pdGVtLmhpc3RvcnktaXRlbS1kaXNhYmxlZDpob3ZlciwgW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taGlzdG9yeS1pdGVtLmhpc3RvcnktaXRlbS1kaXNhYmxlZDphY3RpdmUge1xuICBjb2xvcjogIzZiNzI4MDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9pY29uL19pY29uLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi5xZG5hcHJvLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG59XG4ucWRuYXByby1pY29uID4gc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cbi5xZG5hcHJvLWljb24uaWNvbi0xNiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG4ucWRuYXByby1pY29uLmljb24tMjAge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuLnFkbmFwcm8taWNvbi5pY29uLTI0IHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL2ljb24tYnRuL19pY29uLWJ0bi1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG4vKiBxZG5hcHJvLWljb24tYnRuIGNvbXBpbGVkIENTUyAtLSBnZW5lcmF0ZWQgZnJvbSBfaWNvbi1idG4uc2NzcyAyMDI2LTA1LTEzLWRhbmdlciAqL1xuXG4ucWRuYXByby1pY29uLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWluLXdpZHRoOiAyNHB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgLS1pYi1mb2N1cy1yaW5nOiAjNDA0OTlhO1xuICAtLWliLWZvY3VzLWdsb3c6IHJnYmEoNzAsIDgyLCAyNDMsIDAuMjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0LCBjb2xvciAxMjBtcyBlYXNlLW91dDtcbn1cbi5xZG5hcHJvLWljb24tYnRuIHFkbmFwcm8taWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tc2l6ZS1iaWcge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBtaW4td2lkdGg6IDI4cHg7XG59XG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1zaXplLWJpZyBxZG5hcHJvLWljb24ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuLnFkbmFwcm8taWNvbi1idG46Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnFkbmFwcm8taWNvbi1idG46Zm9jdXMtdmlzaWJsZSwgLnFkbmFwcm8taWNvbi1idG4uZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0taWItZm9jdXMtcmluZyk7XG4gIG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1pYi1mb2N1cy1vZmZzZXQsIC0ycHgpO1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggdmFyKC0taWItZm9jdXMtZ2xvdyk7XG59XG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1kaXNhYmxlZDpmb2N1cy12aXNpYmxlLCAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1kaXNhYmxlZC5mb3JjZS1mb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4ucWRuYXByby1pY29uLWJ0bjphY3RpdmU6bm90KC5pY29uLWJ0bi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjE1KSwgcmdiYSgwLCAwLCAwLCAwLjE1KSk7XG59XG5cbi8qIFRZUEU6IHByaW1hcnktcHVycGxlICovXG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1wcmltYXJ5LXB1cnBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDQ5OWE7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICAtLWliLWZvY3VzLXJpbmc6ICMyNTJiNWU7XG4gIC0taWItZm9jdXMtZ2xvdzogcmdiYSg3MCwgODIsIDI0MywgMC40MCk7XG59XG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1wcmltYXJ5LXB1cnBsZTpmb2N1cy12aXNpYmxlLCAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1wcmltYXJ5LXB1cnBsZS5mb3JjZS1mb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1pYi1mb2N1cy1yaW5nKSwgMCAwIDAgNnB4IHZhcigtLWliLWZvY3VzLWdsb3cpO1xufVxuLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tcHJpbWFyeS1wdXJwbGU6aG92ZXI6bm90KC5pY29uLWJ0bi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzYTdiO1xufVxuXG4vKiBUWVBFOiBzZWNvbmRhcnkgKi9cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYxZjI7XG4gIGNvbG9yOiAjMGIwYjBkO1xufVxuLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tc2Vjb25kYXJ5OmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0YzdjYztcbn1cblxuLyogVFlQRTogZHJvcGRvd24tc2VhcmNoICovXG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1kcm9wZG93bi1zZWFyY2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkYmViO1xuICBjb2xvcjogIzQwNDk5YTtcbn1cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWRyb3Bkb3duLXNlYXJjaDpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2I2ZDc7XG59XG5cbi8qIFRZUEU6IGRyb3Bkb3duLWlucHV0ICovXG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1kcm9wZG93bi1pbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzBiMGIwZDtcbn1cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWRyb3Bkb3duLWlucHV0OmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjFmMjtcbn1cblxuLyogVFlQRTogYnVsay1zZWxlY3QgKi9cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWJ1bGstc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTlmZjtcbiAgY29sb3I6ICM0MDQ5OWE7XG59XG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1idWxrLXNlbGVjdDpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWRkZjI7XG59XG5cbi8qIFRZUEU6IGlucHV0LWljb24gKi9cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWlucHV0LWljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNhNmFhYjM7XG59XG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1pbnB1dC1pY29uOmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjFmMjtcbiAgY29sb3I6ICMwYjBiMGQ7XG59XG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1pbnB1dC1pY29uOmFjdGl2ZTpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGNvbG9yOiAjMGIwYjBkO1xufVxuXG4vKiBUWVBFOiBzdWJ0bGUgKi9cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXN1YnRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzBiMGIwZDtcbn1cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXN1YnRsZTpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYxZjI7XG59XG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1zdWJ0bGU6YWN0aXZlOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTZlODtcbn1cblxuLyogVFlQRTogc3VidGxlLXB1cnBsZSAtLSBtaXJyb3JzIHRoZSBidXR0b24gY29tcG9uZW50J3Mgc3VidGxlLXB1cnBsZS1iZyBzcGVjc1xuICAgKHRyYW5zcGFyZW50IGJnLCBwdXJwbGUgaWNvbiwgbGlnaHQtcHVycGxlIGhvdmVyL2FjdGl2ZSkuIFtLaW0gMjAyNi0wNi0xN10gKi9cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXN1YnRsZS1wdXJwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM0MDQ5OWE7XG59XG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1zdWJ0bGUtcHVycGxlOmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGRmMjtcbn1cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXN1YnRsZS1wdXJwbGU6YWN0aXZlOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M3Y2NlODtcbn1cblxuLyogVFlQRTogc3VidGxlLWVycm9yICovXG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1zdWJ0bGUtZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNjNjVhNWE7XG59XG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1zdWJ0bGUtZXJyb3I6aG92ZXI6bm90KC5pY29uLWJ0bi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5OCwgOTAsIDkwLCAwLjEwKTtcbn1cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXN1YnRsZS1lcnJvcjphY3RpdmU6bm90KC5pY29uLWJ0bi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5OCwgOTAsIDkwLCAwLjE4KTtcbn1cblxuLyogVFlQRTogZGFuZ2VyIC0tIHJlZCBib3JkZXIgKyByZWQgaWNvbiArIGxpZ2h0IHJlZCBob3ZlciBiZyAqL1xuLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogI2ZlY2FjYTtcbiAgY29sb3I6ICNlZjQ0NDQ7XG4gIC0taWItZm9jdXMtcmluZzogI2VmNDQ0NDtcbiAgLS1pYi1mb2N1cy1nbG93OiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIwKTtcbn1cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWRhbmdlcjpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWYyZjI7XG4gIGJvcmRlci1jb2xvcjogI2Y4NzE3MTtcbiAgY29sb3I6ICNkYzI2MjY7XG59XG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1kYW5nZXI6YWN0aXZlOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZTJlMjtcbiAgYm9yZGVyLWNvbG9yOiAjZWY0NDQ0O1xuICBjb2xvcjogI2I5MWMxYztcbn1cblxuLyogVFlQRTogcHVycGxlLWFjdGl2ZSAqL1xuLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tcHVycGxlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWRkZjI7XG4gIGNvbG9yOiAjNDA0OTlhO1xufVxuLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tcHVycGxlLWFjdGl2ZTpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjN2NjZTg7XG59XG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1wdXJwbGUtYWN0aXZlOmFjdGl2ZTpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2I4ZDY7XG59XG5cbi8qIFNUQVRFOiBkaXNhYmxlZCAqL1xuLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMWYyICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICM4OThlOTkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW2RhdGEtYmctY29udGV4dD1wdXJwbGVdIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGRmMiAhaW1wb3J0YW50O1xufVxuXG4vKiBEYXJrIG1vZGUgKi9cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXByaW1hcnktcHVycGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4NDJjMjtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1wcmltYXJ5LXB1cnBsZTpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYTMxOTI7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUzMDM2O1xuICBjb2xvcjogI2UxZTNlNjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXNlY29uZGFyeTpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDQ0NGQ7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1kcm9wZG93bi1zZWFyY2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA0NDRkO1xuICBjb2xvcjogI2UxZTNlNjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWRyb3Bkb3duLXNlYXJjaDpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NjViNjY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1kcm9wZG93bi1zZWFyY2guaWNvbi1idG4tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUzMDM2ICFpbXBvcnRhbnQ7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1kcm9wZG93bi1pbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2UxZTNlNjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWRyb3Bkb3duLWlucHV0OmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU2NWI2Njtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWJ1bGstc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBiMGIwZDtcbiAgY29sb3I6ICNmMGYxZjI7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1idWxrLXNlbGVjdDpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDQ0NGQ7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1pbnB1dC1pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjODk4ZTk5O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4taW5wdXQtaWNvbjpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NjViNjY7XG4gIGNvbG9yOiAjZTFlM2U2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4taW5wdXQtaWNvbjphY3RpdmU6bm90KC5pY29uLWJ0bi1kaXNhYmxlZCkge1xuICBjb2xvcjogI2UxZTNlNjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXN1YnRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2UxZTNlNjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXN1YnRsZTpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NjViNjY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1zdWJ0bGU6YWN0aXZlOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZiNzI4MDtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXN1YnRsZS1lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZiYWFhYTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXN1YnRsZS1lcnJvcjpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUxLCAxNzAsIDE3MCwgMC4xMik7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1zdWJ0bGUtZXJyb3I6YWN0aXZlOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTEsIDE3MCwgMTcwLCAwLjIwKTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjUyLCAxNjUsIDE2NSwgMC40NSk7XG4gIGNvbG9yOiAjZmNhNWE1O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tZGFuZ2VyOmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogI2ZjYTVhNTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1kYW5nZXI6YWN0aXZlOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4yNSk7XG4gIGJvcmRlci1jb2xvcjogI2Y4NzE3MTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1wdXJwbGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3MCwgODIsIDI0MywgMC4yMCk7XG4gIGNvbG9yOiAjYTVhY2ZmO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tcHVycGxlLWFjdGl2ZTpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzAsIDgyLCAyNDMsIDAuMzApO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tcHVycGxlLWFjdGl2ZTphY3RpdmU6bm90KC5pY29uLWJ0bi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcwLCA4MiwgMjQzLCAwLjQyKTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNDQ0ZCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzZiNzI4MCAhaW1wb3J0YW50O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taWNvbi1idG46Zm9jdXMtdmlzaWJsZSwgW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taWNvbi1idG4uZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjYTVhY2ZmO1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg3MCwgODIsIDI0MywgMC40KTtcbn1cblxuLyogPT09IHNpemU6IHRvdWNoIOKAlCA0NMOXNDQgbWluaW11bSB0YXAgdGFyZ2V0IFsyMDI2LTA2LTMwXSA9PT0gKi9cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXNpemUtdG91Y2gge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtaW4td2lkdGg6IDQ0cHg7XG59XG5cbi8qID09PSB2YXJpYW50OiByb3VuZCDigJQgZnVsbCBjaXJjbGUgWzIwMjYtMDYtMzBdID09PSAqL1xuLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tcm91bmQge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi8qID09PSB0eXBlOiBvbi1kYXJrLXB1cnBsZSDigJQgaWNvbiBvbiB2YXIoLS1jLXB1cnBsZS03MDApIHN1cmZhY2UgWzIwMjYtMDYtMzBdID09PSAqL1xuLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tb24tZGFyay1wdXJwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWMtcHVycGxlLTUwKTtcbn1cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLW9uLWRhcmstcHVycGxlOmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wdXJwbGUtNTAwKTtcbiAgY29sb3I6IHZhcigtLWMtcHVycGxlLTUwKTtcbn1cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLW9uLWRhcmstcHVycGxlLmljb24tYnRuLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWMtcHVycGxlLTMwMCkgIWltcG9ydGFudDtcbn1cblxuLyogPT09IHR5cGU6IGZpbGxlZC1kYXJrLXB1cnBsZSDigJQgb3duIHZhcigtLWMtcHVycGxlLTcwMCkgc3VyZmFjZSBbMjAyNi0wNi0zMF0gPT09ICovXG4ucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1maWxsZWQtZGFyay1wdXJwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXB1cnBsZS03MDApO1xuICBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNTApO1xufVxuLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tZmlsbGVkLWRhcmstcHVycGxlOmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wdXJwbGUtNjAwKTtcbiAgY29sb3I6IHZhcigtLWMtcHVycGxlLTUwKTtcbn1cbi5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWZpbGxlZC1kYXJrLXB1cnBsZS5pY29uLWJ0bi1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS0zMDApICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9pbGx1c3RyYXRpb24vX2lsbHVzdHJhdGlvbi1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBxZG5hcHJvLWlsbHVzdHJhdGlvbiDigJQgY29tcGlsZWQgZnJvbSBfaWxsdXN0cmF0aW9uLnNjc3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucWRuYXByby1pbGx1c3RyYXRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNDBtcyBlYXNlLW91dDtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG4ucWRuYXByby1pbGx1c3RyYXRpb24gLmlsbHVzdHJhdGlvbi1pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5xZG5hcHJvLWlsbHVzdHJhdGlvbi5pbGx1c3RyYXRpb24tZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbn1cblxuLy8gZW1waGFzaXM6IGhvZXZlZWwgZGUgaWxsdXN0cmF0aWUgbmFhciBhY2h0ZXJlbiBzdGFwdC4gVHdlZSBiZW5vZW1kZSBzdGFwcGVuIGVuXG4vLyBnZWVuIHZyaWogZ2V0YWwsIHpvZGF0IGhldCBuaWV0IG92ZXJhbCBuZXQgaWV0cyBhbmRlcnMgd29yZHQuIGBkaXNhYmxlZGAgaGllcmJvdmVuXG4vLyB6ZWd0IGlldHMgYW5kZXJzIChuaWV0IGJlc2NoaWtiYWFyKSBlbiBob3VkdCB6aWpuIGVpZ2VuIHdhYXJkZS5cbi5xZG5hcHJvLWlsbHVzdHJhdGlvbi5pbGx1c3RyYXRpb24tZW1waGFzaXMtc29mdCB7XG4gICAgb3BhY2l0eTogMC42O1xufVxuLnFkbmFwcm8taWxsdXN0cmF0aW9uLmlsbHVzdHJhdGlvbi1lbXBoYXNpcy1mYWludCB7XG4gICAgb3BhY2l0eTogMC4zNTtcbn1cbi5xZG5hcHJvLWlsbHVzdHJhdGlvbi5pbGx1c3RyYXRpb24tbWlzc2luZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNjNGM3Y2M7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBhc3BlY3QtcmF0aW86IDQgLyAzO1xuICAgIGhlaWdodDogYXV0bztcbn1cbi5xZG5hcHJvLWlsbHVzdHJhdGlvbi5pbGx1c3RyYXRpb24tbWlzc2luZzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiP1wiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICM4OThlOTk7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1pbGx1c3RyYXRpb24uaWxsdXN0cmF0aW9uLW1pc3Npbmcge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7XG4gICAgYm9yZGVyLWNvbG9yOiAjNTY1YjY2O1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLWlsbHVzdHJhdGlvbi5pbGx1c3RyYXRpb24tbWlzc2luZzo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjNmI3MjgwO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1pbmZvLWNhcmQg4oCUIHJldXNhYmxlIFwiaW5mb3JtYXRpb24gZnJhbWVcIlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgTGVhZGluZyBhY3Rpdml0eS1pY29uIG9uIGEgY29sb3VyZWQgdGlsZSArIHdyYXBwaW5nIHRpdGxlICtcbi8vICBtZXRhIHJvd3MgKDE2cHggTURJIGljb24gKyB0ZXh0KSwgaW5zaWRlIGEgZnJhbWVkIGNhcmQuXG4vL1xuLy8gIFR3byBzdXJmYWNlcyB2aWEgYSB2YXJpYW50IG1vZGlmaWVyOlxuLy8gICAgLS1vbi13aGl0ZSAgKGRlZmF1bHQpIGRhcmsgdGV4dCwgaGFpcmxpbmUgZnJhbWUgIChsaWdodCBwYWdlcylcbi8vICAgIC0tb24tcHVycGxlICAgICAgICAgICB3aGl0ZSB0ZXh0LCB0cmFuc2x1Y2VudCAgICAocHVycGxlIHNoZWV0KVxuLy9cbi8vICBJY29uLXRpbGUgY29sb3VyID0gdGhlIHRhc2tsaXN0IGFjdGl2aXR5LWljb24gcGFsZXR0ZSAoZ3JleS9yZWQvXG4vLyAgeWVsbG93L2dyZWVuL2JsdWUvYnJpZ2h0LWJsdWUvcGluay9wdXJwbGUpLCBkcml2ZW4gYnkgYSBjb2xvdXJcbi8vICBtb2RpZmllciB0aGF0IHNldHMgLS1pbmZvLWNhcmQtaWNvbi1iZy5cbi8vXG4vLyAgRkxBVCBDU1MgKG5vIG5lc3RpbmcpIHNvIGl0IGNhbiBiZSBzeW5jZWQgdG8gdGhlIFBXQSB2ZXJiYXRpbSB2aWFcbi8vICBzeW5jLXYyLWNvbXBvbmVudHMuanMsIGV4YWN0bHkgbGlrZSBxZG5hcHJvLWV2ZW50LWNhcmQuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnFkbmFwcm8taW5mby1jYXJkIHtcbiAgLy8gU3VyZmFjZSB2YXJpYWJsZXMg4oCUIG9uLXdoaXRlIGlzIHRoZSBkZWZhdWx0XG4gIC0taW5mby1jYXJkLXRpdGxlOiAgIHZhcigtLWMtdGV4dC1oZWFkaW5nLCAjMWExZDNhKTtcbiAgLS1pbmZvLWNhcmQtbWV0YTogICAgdmFyKC0tYy10ZXh0LW11dGVkLCAjNmE2ZTlhKTtcbiAgLS1pbmZvLWNhcmQtZnJhbWU6ICAgdmFyKC0tYy1ib3JkZXIsICNlN2U5ZWMpO1xuICAtLWluZm8tY2FyZC1maWxsOiAgICB0cmFuc3BhcmVudDtcbiAgLS1pbmZvLWNhcmQtaWNvbi1iZzogI2VlZjBmMjsgLy8gZ3JleSAoZGVmYXVsdCBjb2xvdXIpXG5cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTRweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMTZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taW5mby1jYXJkLWZyYW1lKTtcbiAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgYmFja2dyb3VuZDogdmFyKC0taW5mby1jYXJkLWZpbGwpO1xuICBmb250LWZhbWlseTogdmFyKC0tdGhlbWUtZm9udC1mYW1pbHksIFwiSW50ZXJcIiwgc2Fucy1zZXJpZik7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8vIC0tLSBTdXJmYWNlIHZhcmlhbnRzIC0tLVxuLnFkbmFwcm8taW5mby1jYXJkLS1vbi1wdXJwbGUge1xuICAtLWluZm8tY2FyZC10aXRsZTogI2ZmZmZmZjtcbiAgLS1pbmZvLWNhcmQtbWV0YTogIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Mik7XG4gIC0taW5mby1jYXJkLWZyYW1lOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjApO1xuICAtLWluZm8tY2FyZC1maWxsOiAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA5KTtcbn1cblxuLy8gLS0tIEljb24tdGlsZSBjb2xvdXJzICh0YXNrbGlzdCBhY3Rpdml0eS1pY29uIHBhbGV0dGUpIC0tLVxuLnFkbmFwcm8taW5mby1jYXJkLS1ncmV5ICAgICAgICB7IC0taW5mby1jYXJkLWljb24tYmc6ICNlZWYwZjI7IH1cbi5xZG5hcHJvLWluZm8tY2FyZC0tcmVkICAgICAgICAgeyAtLWluZm8tY2FyZC1pY29uLWJnOiAjZmRlN2U3OyB9XG4ucWRuYXByby1pbmZvLWNhcmQtLXllbGxvdyAgICAgIHsgLS1pbmZvLWNhcmQtaWNvbi1iZzogI2ZkZjNkNjsgfVxuLnFkbmFwcm8taW5mby1jYXJkLS1ncmVlbiAgICAgICB7IC0taW5mby1jYXJkLWljb24tYmc6ICNlMmZhZjE7IH1cbi5xZG5hcHJvLWluZm8tY2FyZC0tYmx1ZSAgICAgICAgeyAtLWluZm8tY2FyZC1pY29uLWJnOiAjZTZlZmY5OyB9XG4ucWRuYXByby1pbmZvLWNhcmQtLWJyaWdodC1ibHVlIHsgLS1pbmZvLWNhcmQtaWNvbi1iZzogI2Q2ZTBmOTsgfVxuLnFkbmFwcm8taW5mby1jYXJkLS1waW5rICAgICAgICB7IC0taW5mby1jYXJkLWljb24tYmc6ICNmNmUxZTg7IH1cbi5xZG5hcHJvLWluZm8tY2FyZC0tcHVycGxlICAgICAgeyAtLWluZm8tY2FyZC1pY29uLWJnOiAjZWJlOWZiOyB9XG5cbi8vIC0tLSBJY29uIHRpbGUgLS0tXG4ucWRuYXByby1pbmZvLWNhcmRfX2ljb24ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWluZm8tY2FyZC1pY29uLWJnKTtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG4vLyBQcmUtcmVzb2x2ZWQgaWNvbiBpbWFnZSAoaWNvbi1zcmMpIOKAlCBtYXRjaGVzIHRoZSA0MHB4IGFjdGl2aXR5LWljb24gaXQgcmVwbGFjZXMuXG4ucWRuYXByby1pbmZvLWNhcmRfX2ljb24taW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi8vIC0tLSBCb2R5IC0tLVxuLnFkbmFwcm8taW5mby1jYXJkX19ib2R5IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLnFkbmFwcm8taW5mby1jYXJkX190aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1pbmZvLWNhcmQtdGl0bGUpO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIC8vIEZ1bGwgbmFtZSDigJQgd3JhcHMgdG8gYXMgbWFueSBsaW5lcyBhcyBuZWVkZWQsIG5ldmVyIHRydW5jYXRlZC5cbiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi8vIC0tLSBNZXRhIHJvd3MgLS0tXG4ucWRuYXByby1pbmZvLWNhcmRfX3JvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tdG9wOiA3cHg7XG4gIGNvbG9yOiB2YXIoLS1pbmZvLWNhcmQtbWV0YSk7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi5xZG5hcHJvLWluZm8tY2FyZF9fcm93IC5xZG5hcHJvLWljb24sXG4ucWRuYXByby1pbmZvLWNhcmRfX3JvdyBxZG5hcHJvLWljb24ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4ucWRuYXByby1pbmZvLWNhcmRfX3Jvdy10ZXh0IHtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIHFkbmFwcm8taW1hZ2UtY3JvcFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgQ3JvcHBlciBVSSB0aGF0IGxpdmVzIElOU0lERSBxZG5hcHJvLW1vZGFsJ3MgLm1vZGFsLWJvZHkuIEJ1aWx0XG4vLyAgb24gQ3JvcHBlci5qcyB2MSAodmVuZG9yZWQpLiBUaGlzIGZpbGUgc3R5bGVzIHRocmVlIHRoaW5nczpcbi8vICAgIDEuIHRoZSBjcm9wIHN0YWdlICsgdG9vbGJhciArIHRoZSByZWJyYW5kZWQgQ3JvcHBlciBjaHJvbWVcbi8vICAgIDIuIHRoZSBzaGFwZSBtYXNrcyAoY2lyY2xlIC8gcm91bmRlZCAvIHJlY3QpIHNob3duIGxpdmVcbi8vICAgIDMuIHRoZSBzaWRlIHByZXZpZXcgcGFuZWwgKHN1cmZhY2VzIG9yIGRldmljZSBmcmFtZXMpXG4vL1xuLy8gIExvY2FsIC0taWMtKiB2YXJzIG1hcCB0byB0aGUgY2VudHJhbCBkZXNpZ24gdG9rZW5zIGJ1dCBjYXJyeVxuLy8gIGxpdGVyYWwgZmFsbGJhY2tzIHNvIHRoZSBjb21wb25lbnQgYWxzbyByZW5kZXJzIGNvcnJlY3RseSBpblxuLy8gIGEgc3RhbmRhbG9uZSBmaWxlOi8vIHByZXZpZXcgKG5vIGdsb2JhbCB0b2tlbiBzaGVldCBsb2FkZWQpLlxuLy8gIEVuZ2xpc2ggY29tbWVudHMgb25seS4gTm8gZW0tZGFzaCBpbiBzaGlwcGVkIGNvcHkuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnFkbmFwcm8taWMge1xuICAgIC0taWMtcHVycGxlOiAgICAgICAgdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpO1xuICAgIC0taWMtcHVycGxlLXNvZnQ6ICAgdmFyKC0tYy1iZy1zZWNvbmRhcnktcHVycGxlLCAjZTZlOWZmKTtcbiAgICAtLWljLXRleHQ6ICAgICAgICAgIHZhcigtLWMtdGV4dC1ib2R5LCAjMGIwYjBkKTtcbiAgICAtLWljLW11dGVkOiAgICAgICAgIHZhcigtLWMtdGV4dC1tdXRlZCwgIzZlNzI4MCk7XG4gICAgLS1pYy1oZWFkaW5nOiAgICAgICB2YXIoLS1jLXRleHQtaGVhZGluZywgIzFhMWY0ZCk7XG4gICAgLS1pYy1ib3JkZXI6ICAgICAgICB2YXIoLS1jLWJvcmRlci1jYXJkLCAjZTFlM2U2KTtcbiAgICAtLWljLWNhcmQ6ICAgICAgICAgIHZhcigtLWMtYmctY2FyZCwgI2ZmZmZmZik7XG4gICAgLS1pYy1zdGFnZS1iZzogICAgICAjMWExZjJlOyAgICAgICAgICAgIC8vIGRhcmsgc3RhZ2UgYmFja2Ryb3AsIHBob3RvLW5ldXRyYWxcbiAgICAtLWljLWRpbTogICAgICAgICAgIHJnYmEoMTYsIDIwLCA0NSwgMC42Mik7XG4gICAgLS1pYy13YXJuLWJnOiAgICAgICB2YXIoLS1jLXRhZy13YXJuaW5nLWJnLCAjZmZmMmQ2KTtcbiAgICAtLWljLXdhcm4tdGV4dDogICAgIHZhcigtLWMtdGFnLXdhcm5pbmctdGV4dCwgI2EwNjQwMCk7XG4gICAgLS1pYy1yYWRpdXM6ICAgICAgICB2YXIoLS1yLWNhcmQsIDE0cHgpO1xuICAgIC0taWMtcmFkaXVzLXNtOiAgICAgdmFyKC0tci1idG4sIDhweCk7XG4gICAgLS1pYy1mZjogICAgICAgICAgICB2YXIoLS1mZiwgXCJJbnRlclwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgc2Fucy1zZXJpZik7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBmb250LWZhbWlseTogdmFyKC0taWMtZmYpO1xuICAgIGNvbG9yOiB2YXIoLS1pYy10ZXh0KTtcblxuICAgICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiAgICAvLyAtLS0gTWFpbjogc3RhZ2UgKGxlZnQpICsgcHJldmlldyBwYW5lbCAocmlnaHQpIC0tLVxuICAgIC5xZG5hcHJvLWljLW1haW4ge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zLTUsIDIwcHgpO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAucWRuYXByby1pYy1zdGFnZXdyYXAge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhcigtLXMtMywgMTJweCk7XG4gICAgfVxuXG4gICAgLnFkbmFwcm8taWMtc3RhZ2Uge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogMjgwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWMtcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taWMtc3RhZ2UtYmcpO1xuICAgIH1cblxuICAgIC8vIENyb3BwZXIgcmVwbGFjZXMgdGhlIDxpbWc+IHdpdGggLmNyb3BwZXItY29udGFpbmVyOyB0aGUgYmFyZSBpbWdcbiAgICAvLyBpcyBvbmx5IHZpc2libGUgZm9yIGEgYmxpbmsgYmVmb3JlIGluaXQuXG4gICAgLnFkbmFwcm8taWMtaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyAtLS0gVG9vbGJhciAtLS1cbiAgICAucWRuYXByby1pYy10b29sYmFyIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogdmFyKC0tcy0yLCA4cHgpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC8vIC0tLSBTaWRlIHByZXZpZXcgcGFuZWwgLS0tXG4gICAgLnFkbmFwcm8taWMtc2lkZSB7XG4gICAgICAgIGZsZXg6IDAgMCAyMzBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMzBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zLTMsIDEycHgpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXMtNSwgMjBweCk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0taWMtYm9yZGVyKTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAucWRuYXByby1pYy1zaWRlLWhlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1zZW1pLCA2MDApO1xuICAgICAgICBjb2xvcjogdmFyKC0taWMtaGVhZGluZyk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgfVxuXG4gICAgLnFkbmFwcm8taWMtcHJldmlld3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhcigtLXMtNSwgMjBweCk7XG4gICAgfVxuXG4gICAgLy8gVGhlIGVsZW1lbnQgQ3JvcHBlciByZW5kZXJzIHRoZSBsaXZlIHByZXZpZXcgaW50by4gQWx3YXlzIGNsaXBzLlxuICAgIC5xZG5hcHJvLWljLXByZXZpZXctdGFyZ2V0IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taWMtcHVycGxlLXNvZnQpO1xuICAgIH1cblxuICAgIC8vIC0tLSBTdXJmYWNlcyAoYXZhdGFyIC8gdW5pdCAvIGxvZ28pOiByZWFsIHJlbmRlciBzaXplcyAtLS1cbiAgICAucWRuYXByby1pYy1zdXJmYWNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zLTMsIDEycHgpO1xuICAgIH1cbiAgICAucWRuYXByby1pYy1zdXJmYWNlLXRhcmdldCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0taWMtYm9yZGVyKTtcbiAgICB9XG4gICAgLnFkbmFwcm8taWMtc3VyZmFjZS1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWljLW11dGVkKTtcbiAgICB9XG5cbiAgICAvLyAtLS0gRGV2aWNlIGZyYW1lcyAocHJvamVjdCAvIGZsb3cpIC0tLVxuICAgIC5xZG5hcHJvLWljLWRldmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tcy0yLCA4cHgpO1xuICAgIH1cbiAgICAucWRuYXByby1pYy1kZXZpY2UtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pYy1tdXRlZCk7XG4gICAgfVxuICAgIC5xZG5hcHJvLWljLWRldmljZS1mcmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkN2RiZTg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIH1cbiAgICAucWRuYXByby1pYy1kZXZpY2UtdGFyZ2V0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5OyAgICAgICAvLyBvdmVyd3JpdHRlbiBsaXZlIHRvIHRoZSBjcm9wIHJhdGlvXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB9XG5cbiAgICAvLyBQaG9uZTogbmFycm93ZXIsIHRhbGwgcm91bmRlZCBib2R5IHdpdGggYSBub3RjaC5cbiAgICAucWRuYXByby1pYy1kZXZpY2UtcGhvbmUgLnFkbmFwcm8taWMtZGV2aWNlLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5xZG5hcHJvLWljLWRldmljZS1waG9uZSAucWRuYXByby1pYy1kZXZpY2UtZnJhbWU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1cHg7IGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogMjZweDsgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgICB9XG4gICAgLnFkbmFwcm8taWMtZGV2aWNlLXBob25lIC5xZG5hcHJvLWljLWRldmljZS10YXJnZXQgeyBib3JkZXItcmFkaXVzOiA2cHg7IH1cblxuICAgIC8vIFRhYmxldDogbWVkaXVtLlxuICAgIC5xZG5hcHJvLWljLWRldmljZS10YWJsZXQgLnFkbmFwcm8taWMtZGV2aWNlLWZyYW1lIHsgd2lkdGg6IDE1MHB4OyBib3JkZXItcmFkaXVzOiAxMnB4OyB9XG5cbiAgICAvLyBEZXNrdG9wOiBicm93c2VyIGNocm9tZSB3aXRoIHRocmVlIGRvdHMuXG4gICAgLnFkbmFwcm8taWMtZGV2aWNlLWRlc2t0b3AgLnFkbmFwcm8taWMtZGV2aWNlLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5xZG5hcHJvLWljLWRldmljZS1kZXNrdG9wIC5xZG5hcHJvLWljLWRldmljZS1mcmFtZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgMnB4IGF0IDlweCA4cHgsICNiOWJmZDAgNTAlLCB0cmFuc3BhcmVudCA1MSUpLFxuICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSAycHggYXQgMThweCA4cHgsICNiOWJmZDAgNTAlLCB0cmFuc3BhcmVudCA1MSUpLFxuICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSAycHggYXQgMjdweCA4cHgsICNiOWJmZDAgNTAlLCB0cmFuc3BhcmVudCA1MSUpLFxuICAgICAgICAgICAgI2VjZWVmNTtcbiAgICB9XG4gICAgLnFkbmFwcm8taWMtZGV2aWNlLWRlc2t0b3AgLnFkbmFwcm8taWMtZGV2aWNlLXRhcmdldCB7IGJvcmRlci1yYWRpdXM6IDA7IH1cblxuICAgIC8vIC0tLSBGb290ZXI6IHdhcm5pbmcgKyBhY3Rpb25zIC0tLVxuICAgIC5xZG5hcHJvLWljLWZvb3RlciB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXMtNCwgMTZweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXMtNCwgMTZweCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zLTQsIDE2cHgpO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0taWMtYm9yZGVyKTtcbiAgICB9XG4gICAgLnFkbmFwcm8taWMtd2FybmluZyB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pYy13YXJuLXRleHQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pYy13YXJuLWJnKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0taWMtcmFkaXVzLXNtKTtcbiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgfVxuICAgIC5xZG5hcHJvLWljLXdhcm5pbmdbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucWRuYXByby1pYy1hY3Rpb25zIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IHZhcigtLXMtMiwgOHB4KTtcbiAgICB9XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vICBTaGFwZSBtYXNrcyAtIGFwcGxpZWQgbGl2ZSB0byBDcm9wcGVyIGNocm9tZSArIHByZXZpZXdzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAmLmlzLXNoYXBlLWNpcmNsZSB7XG4gICAgICAgIC5jcm9wcGVyLXZpZXctYm94LFxuICAgICAgICAuY3JvcHBlci1mYWNlIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAgIC5xZG5hcHJvLWljLXByZXZpZXctdGFyZ2V0IHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgfVxuICAgICYuaXMtc2hhcGUtcm91bmRlZCB7XG4gICAgICAgIC5jcm9wcGVyLXZpZXctYm94LFxuICAgICAgICAuY3JvcHBlci1mYWNlIHsgYm9yZGVyLXJhZGl1czogMTJweDsgfVxuICAgICAgICAucWRuYXByby1pYy1zdXJmYWNlLXRhcmdldCB7IGJvcmRlci1yYWRpdXM6IDhweDsgfVxuICAgIH1cblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gIFJlYnJhbmQgQ3JvcHBlci5qcyBjaHJvbWUgZnJvbSBpdHMgZGVmYXVsdCBibHVlICgjMzlmKVxuICAgIC8vICB0byBRRE5BIHB1cnBsZSwgYW5kIHRoZSBkaW0gdG8gYnJhbmQgbmF2eS5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC5jcm9wcGVyLXZpZXctYm94IHsgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWljLXB1cnBsZSk7IH1cbiAgICAuY3JvcHBlci1saW5lLFxuICAgIC5jcm9wcGVyLXBvaW50IHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWMtcHVycGxlKTsgfVxuICAgIC5jcm9wcGVyLXBvaW50LnBvaW50LXNlOjpiZWZvcmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pYy1wdXJwbGUpOyB9XG4gICAgLmNyb3BwZXItbW9kYWwgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pYy1kaW0pOyBvcGFjaXR5OiAxOyB9XG4gICAgLmNyb3BwZXItYmcgeyBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIFJlc3BvbnNpdmU6IHN0YWNrIHN0YWdlIGFib3ZlIHByZXZpZXcgcGFuZWwgb24gbmFycm93IG1vZGFsc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgICAucWRuYXByby1pYyAucWRuYXByby1pYy1tYWluIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5xZG5hcHJvLWljIC5xZG5hcHJvLWljLXNpZGUge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0taWMtYm9yZGVyKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXMtNCwgMTZweCk7XG4gICAgfVxuICAgIC5xZG5hcHJvLWljIC5xZG5hcHJvLWljLXByZXZpZXdzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIFRoZSBkZWNsYXJhdGl2ZSB0cmlnZ2VyIGVsZW1lbnQgKHRodW1ibmFpbCArIGxhYmVsKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4ucWRuYXByby1pbWFnZS1jcm9wLXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zLTIsIDhweCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mZiwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbiAgICBjb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZnctbWVkaXVtLCA1MDApO1xuXG4gICAgLnFkbmFwcm8taW1hZ2UtY3JvcC10aHVtYiB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1zZWNvbmRhcnktcHVycGxlLCAjZTZlOWZmKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tYy1ib3JkZXItY2FyZCwgI2UxZTNlNik7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBEYXJrIG1vZGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuW2RhdGEtdGhlbWUtZGFya10sXG5bZGF0YS10aGVtZT1cImRhcmtcIl0sXG5ib2R5W2RhdGEtdGhlbWU9XCJkYXJrXCJdIHtcbiAgICAucWRuYXByby1pYyB7XG4gICAgICAgIC0taWMtY2FyZDogICAgICB2YXIoLS1jLWdyZXktODAwLCAjMmUzMDM2KTtcbiAgICAgICAgLS1pYy1ib3JkZXI6ICAgIHZhcigtLWMtd2hpdGUtMTAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCkpO1xuICAgICAgICAtLWljLXN0YWdlLWJnOiAgIzBjMGUxNjtcbiAgICAgICAgLS1pYy1wdXJwbGUtc29mdDogdmFyKC0tYy1ncmV5LTcwMCwgIzQwNDQ0ZCk7XG4gICAgfVxuICAgIC5xZG5hcHJvLWljIC5xZG5hcHJvLWljLWRldmljZS1mcmFtZSB7IGJhY2tncm91bmQ6ICMzYTNmNGQ7IH1cbiAgICAucWRuYXByby1pYyAucWRuYXByby1pYy1kZXZpY2UtZGVza3RvcCAucWRuYXByby1pYy1kZXZpY2UtZnJhbWU6OmJlZm9yZSB7IGJhY2tncm91bmQ6ICMyYjJmM2E7IH1cbn1cbiIsIi8vIF90eXBvZ3JhcGh5LnNjc3Ncbi8vXG4vLyBEZXNpZ24gc291cmNlIDogRmlnbWEgUUROQS1QUk8gKGZpbGVLZXkgTUUxSk15Mkw3MlBsRnIxbGVtZ29KWilcbi8vIENvbGxlY3Rpb25zICAgOiBQcmltaXRpdmVzIChmb250IHdlaWdodHMgLyBmYW1pbHkpICsgVHlwb2dyYXBoeSAoc2l6ZXMgLyBsaW5lLWhlaWdodHMpXG4vL1xuLy8gVGFyZ2V0ICAgICAgICA6IGJhY2tvZmZpY2UyL3Njc3MvdjEvbW9kdWxlcy9fdHlwb2dyYXBoeS5zY3NzXG4vLyAgICAgICAgICAgICAgICAgKGlmIGVlbiB0eXBvZ3JhcGh5IG1vZHVsZSBhbCBiZXN0YWF0OiBtZXJnZSBtZXQgZGV6ZSB3YWFyZGVzIOKAlFxuLy8gICAgICAgICAgICAgICAgICBkaXQgaXMgaGV0IHZvbGxlZGlnZSB0b2tlbi1vdmVyemljaHQgem9hbHMgaW4gRmlnbWEuKVxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExFR0VORFxuLy8gICBbRklHTUEgdmVyaWZpZWRdIOKAlCB3YWFyZGUgZGlyZWN0IHVpdCBlZW4gRmlnbWEgaW5zdGFuY2Ugb3BnZWhhYWxkLlxuLy8gICBBbGxlIHdhYXJkZXMgaW4gZGl0IGJlc3RhbmQgemlqbiB2ZXJpZmllZCAoSDEtSDYgdmlhIG5vZGUgMTAyNzoxMzQ0NykuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZPTlQgRkFNSUxZXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb250LWZhbWlseS1wcmltYXJ5IDogXCJJbnRlclwiLCBzYW5zLXNlcmlmOyAgICAgICAgLy8gVHlwZS9Gb250IEZhbWlseS9wcmltYXJ5IFtGSUdNQSB2ZXJpZmllZF1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGT05UIFdFSUdIVFMgKGZyb20gUHJpbWl0aXZlcyBjb2xsZWN0aW9uKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9udC13ZWlnaHQtcmVndWxhciAgIDogNDAwOyAgICAgICAgICAgICAgICAgICAgICAvLyBUeXBlL0ZvbnQgd2VpZ2h0L1JlZ3VsYXIgICAgW0ZJR01BIHZlcmlmaWVkXVxuJGZvbnQtd2VpZ2h0LW1lZGl1bSAgICA6IDUwMDsgICAgICAgICAgICAgICAgICAgICAgLy8gVHlwZS9Gb250IHdlaWdodC9NZWRpdW0gICAgIFtGSUdNQSB2ZXJpZmllZF1cbiRmb250LXdlaWdodC1zZW1pLWJvbGQgOiA2MDA7ICAgICAgICAgICAgICAgICAgICAgIC8vIFR5cGUvRm9udCB3ZWlnaHQvU2VtaSBib2xkICBbRklHTUEgdmVyaWZpZWRdXG4kZm9udC13ZWlnaHQtYm9sZCAgICAgIDogNzAwOyAgICAgICAgICAgICAgICAgICAgICAvLyBUeXBlL0ZvbnQgd2VpZ2h0L0JvbGQgICAgICAgW0ZJR01BIHZlcmlmaWVkXVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJPRFkgRk9OVCBTSVpFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9udC1zaXplLWJvZHkteHMgIDogMTBweDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb250IHNpemUvQm9keS9leHRyYS1zbWFsbC0xMCAgIFtGSUdNQSB2ZXJpZmllZF1cbiRmb250LXNpemUtYm9keS1zbSAgOiAxMnB4OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvbnQgc2l6ZS9Cb2R5L3NtYWxsLTEyICAgICAgICAgW0ZJR01BIHZlcmlmaWVkXVxuJGZvbnQtc2l6ZS1ib2R5LW1kICA6IDE0cHg7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9udCBzaXplL0JvZHkvSW50ZXItbWVkaXVtLTE0ICBbRklHTUEgdmVyaWZpZWRdXG4kZm9udC1zaXplLWJvZHktbGcgIDogMTZweDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb250IHNpemUvQm9keS9tZWRpdW0tMTYgICAgICAgIFtGSUdNQSB2ZXJpZmllZF1cbiRmb250LXNpemUtYm9keS14bCAgOiAyMHB4OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvbnQgc2l6ZS9Cb2R5L2xhcmdlLTIwICAgICAgICAgW0ZJR01BIHZlcmlmaWVkXVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhFQURJTkcgRk9OVCBTSVpFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9udC1zaXplLWhlYWRpbmctNiA6IDIwcHg7ICAgICAgICAgICAgICAgICAgICAgICAvLyBGb250IHNpemUvSGVhZGluZy9INiAgW0ZJR01BIHZlcmlmaWVkXVxuJGZvbnQtc2l6ZS1oZWFkaW5nLTUgOiAyNHB4OyAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9udCBzaXplL0hlYWRpbmcvSDUgIFtGSUdNQSB2ZXJpZmllZF1cbiRmb250LXNpemUtaGVhZGluZy00IDogMjhweDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvbnQgc2l6ZS9IZWFkaW5nL0g0ICBbRklHTUEgdmVyaWZpZWRdXG4kZm9udC1zaXplLWhlYWRpbmctMyA6IDMycHg7ICAgICAgICAgICAgICAgICAgICAgICAvLyBGb250IHNpemUvSGVhZGluZy9IMyAgW0ZJR01BIHZlcmlmaWVkXVxuJGZvbnQtc2l6ZS1oZWFkaW5nLTIgOiA0MHB4OyAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9udCBzaXplL0hlYWRpbmcvSDIgIFtGSUdNQSB2ZXJpZmllZF1cbiRmb250LXNpemUtaGVhZGluZy0xIDogNjBweDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvbnQgc2l6ZS9IZWFkaW5nL0gxICBbRklHTUEgdmVyaWZpZWRdXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTElORSBIRUlHSFRTIOKAlCBCT0RZXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaW5lLWhlaWdodC1ib2R5LXNtYWxsICAgICAgICAgIDogMjBweDsgICAgICAgICAgIC8vIExpbmUgSGVpZ2h0L0JvZHkvQm9keSBTbWFsbCAgICAgICAgICAgIFtGSUdNQSB2ZXJpZmllZF1cbiRsaW5lLWhlaWdodC1ib2R5LW1lZGl1bSAgICAgICAgIDogMjRweDsgICAgICAgICAgIC8vIExpbmUgSGVpZ2h0L0JvZHkvQm9keSBNZWRpdW0gICAgICAgICAgIFtGSUdNQSB2ZXJpZmllZF1cbiRsaW5lLWhlaWdodC1ib2R5LW1lZGl1bS1jYXB0aW9uIDogMjRweDsgICAgICAgICAgIC8vIExpbmUgSGVpZ2h0L0JvZHkvQm9keSBNZWRpdW0tQ2FwdGlvbiAgIFtGSUdNQSB2ZXJpZmllZF1cbiRsaW5lLWhlaWdodC1ib2R5LWxhcmdlICAgICAgICAgIDogMzJweDsgICAgICAgICAgIC8vIExpbmUgSGVpZ2h0L0JvZHkvQm9keSBMYXJnZSAgICAgICAgICAgIFtGSUdNQSB2ZXJpZmllZF1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMSU5FIEhFSUdIVFMg4oCUIEhFQURJTkdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxpbmUtaGVpZ2h0LWhlYWRpbmctNiA6IDI0cHg7ICAgICAgICAgICAgICAgICAgICAgLy8gTGluZSBIZWlnaHQvSGVhZGluZy9oZWFkaW5nLTYgIFtGSUdNQSB2ZXJpZmllZF1cbiRsaW5lLWhlaWdodC1oZWFkaW5nLTUgOiAzNnB4OyAgICAgICAgICAgICAgICAgICAgIC8vIExpbmUgSGVpZ2h0L0hlYWRpbmcvaGVhZGluZy01ICBbRklHTUEgdmVyaWZpZWRdXG4kbGluZS1oZWlnaHQtaGVhZGluZy00IDogNDRweDsgICAgICAgICAgICAgICAgICAgICAvLyBMaW5lIEhlaWdodC9IZWFkaW5nL2hlYWRpbmctNCAgW0ZJR01BIHZlcmlmaWVkXVxuJGxpbmUtaGVpZ2h0LWhlYWRpbmctMyA6IDQ4cHg7ICAgICAgICAgICAgICAgICAgICAgLy8gTGluZSBIZWlnaHQvSGVhZGluZy9oZWFkaW5nLTMgIFtGSUdNQSB2ZXJpZmllZF1cbiRsaW5lLWhlaWdodC1oZWFkaW5nLTIgOiA1NnB4OyAgICAgICAgICAgICAgICAgICAgIC8vIExpbmUgSGVpZ2h0L0hlYWRpbmcvaGVhZGluZy0yICBbRklHTUEgdmVyaWZpZWRdXG4kbGluZS1oZWlnaHQtaGVhZGluZy0xIDogNzJweDsgICAgICAgICAgICAgICAgICAgICAvLyBMaW5lIEhlaWdodC9IZWFkaW5nL2hlYWRpbmctMSAgW0ZJR01BIHZlcmlmaWVkXVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBBUkFHUkFQSCBTUEFDSU5HXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYXJhZ3JhcGgtc3BhY2luZy1ib2R5LW1lZGl1bSA6IDE2cHg7ICAgICAgICAgICAgIC8vIFBhcmFncmFwaCBTcGFjaW5nL0JvZHkvTWVkaXVtICAgW0ZJR01BIHZlcmlmaWVkXVxuJHBhcmFncmFwaC1zcGFjaW5nLWJvZHktbGFyZ2UgIDogMjBweDsgICAgICAgICAgICAgLy8gUGFyYWdyYXBoIFNwYWNpbmcvQm9keS9MYXJnZSAgICBbRklHTUEgdmVyaWZpZWRdXG4kcGFyYWdyYXBoLXNwYWNpbmctaGVhZGluZy0xICAgOiA0OHB4OyAgICAgICAgICAgICAvLyBQYXJhZ3JhcGggU3BhY2luZy9IZWFkaW5nL0gxICAgIFtGSUdNQSB2ZXJpZmllZF1cbiRwYXJhZ3JhcGgtc3BhY2luZy1oZWFkaW5nLTIgICA6IDQwcHg7ICAgICAgICAgICAgIC8vIFBhcmFncmFwaCBTcGFjaW5nL0hlYWRpbmcvSDIgICAgW0ZJR01BIHZlcmlmaWVkXVxuJHBhcmFncmFwaC1zcGFjaW5nLWhlYWRpbmctMyAgIDogMzZweDsgICAgICAgICAgICAgLy8gUGFyYWdyYXBoIFNwYWNpbmcvSGVhZGluZy9IMyAgICBbRklHTUEgdmVyaWZpZWRdXG4kcGFyYWdyYXBoLXNwYWNpbmctaGVhZGluZy00ICAgOiAzMnB4OyAgICAgICAgICAgICAvLyBQYXJhZ3JhcGggU3BhY2luZy9IZWFkaW5nL0g0ICAgIFtGSUdNQSB2ZXJpZmllZF1cbiRwYXJhZ3JhcGgtc3BhY2luZy1oZWFkaW5nLTUgICA6IDI4cHg7ICAgICAgICAgICAgIC8vIFBhcmFncmFwaCBTcGFjaW5nL0hlYWRpbmcvSDUgICAgW0ZJR01BIHZlcmlmaWVkXVxuJHBhcmFncmFwaC1zcGFjaW5nLWhlYWRpbmctNiAgIDogMjRweDsgICAgICAgICAgICAgLy8gUGFyYWdyYXBoIFNwYWNpbmcvSGVhZGluZy9INiAgICBbRklHTUEgdmVyaWZpZWRdXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVEVYVCBTVFlMRSBNSVhJTlNcbi8vXG4vLyBEZXplIG1peGlucyByZWZsZWN0ZXJlbiAxLW9wLTEgZGUgRmlnbWEgdGV4dCBzdHlsZXMuIEdlYnJ1aWsgemUgaS5wLnYuXG4vLyBsb3NzZSBmb250LXNpemUgLyBsaW5lLWhlaWdodCBjYWxsczpcbi8vXG4vLyAgIC5teS1oZWFkaW5nIHsgQGluY2x1ZGUgdGV4dC1zdHlsZS1oZWFkZXItaDM7IH1cbi8vXG4vLyBEZSBuYW1lbiB2b2xnZW4gRmlnbWE6IEhlYWRlci9IMS4uSDYgZW4gQm9keS88d2VpZ2h0Pi88c2l6ZT4uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIC0tLS0gQmFzZSBib2R5IG1peGluIChzaGFyZWQpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gX2JvZHktYmFzZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4vLyAtLS0tIEhlYWRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHRleHQtc3R5bGUtaGVhZGVyLWgxIHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oZWFkaW5nLTE7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1oZWFkaW5nLTE7XG59XG5cbkBtaXhpbiB0ZXh0LXN0eWxlLWhlYWRlci1oMiB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtaGVhZGluZy0yO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtaGVhZGluZy0yO1xufVxuXG5AbWl4aW4gdGV4dC1zdHlsZS1oZWFkZXItaDMge1xuICAgIEBpbmNsdWRlIF9ib2R5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWhlYWRpbmctMztcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWhlYWRpbmctMztcbn1cblxuQG1peGluIHRleHQtc3R5bGUtaGVhZGVyLWg0IHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oZWFkaW5nLTQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1oZWFkaW5nLTQ7XG59XG5cbkBtaXhpbiB0ZXh0LXN0eWxlLWhlYWRlci1oNSB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtaGVhZGluZy01O1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtaGVhZGluZy01O1xufVxuXG5AbWl4aW4gdGV4dC1zdHlsZS1oZWFkZXItaDYge1xuICAgIEBpbmNsdWRlIF9ib2R5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWhlYWRpbmctNjtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWhlYWRpbmctNjtcbn1cblxuLy8gLS0tLSBCb2R5IC8gUmVndWxhciAod2VpZ2h0IDQwMCkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiB0ZXh0LXN0eWxlLWJvZHktcmVndWxhci14cyB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJvZHkteHM7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5LXNtYWxsO1xufVxuXG5AbWl4aW4gdGV4dC1zdHlsZS1ib2R5LXJlZ3VsYXItc20ge1xuICAgIEBpbmNsdWRlIF9ib2R5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1ib2R5LXNtO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYm9keS1zbWFsbDtcbn1cblxuQG1peGluIHRleHQtc3R5bGUtYm9keS1yZWd1bGFyLW1kIHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS1tZDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktbWVkaXVtLWNhcHRpb247XG59XG5cbkBtaXhpbiB0ZXh0LXN0eWxlLWJvZHktcmVndWxhci1sZyB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJvZHktbGc7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5LW1lZGl1bTtcbn1cblxuQG1peGluIHRleHQtc3R5bGUtYm9keS1yZWd1bGFyLXhsIHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS14bDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktbGFyZ2U7XG59XG5cbi8vIC0tLS0gQm9keSAvIE1lZGl1bSAod2VpZ2h0IDUwMCkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gdGV4dC1zdHlsZS1ib2R5LW1lZGl1bS14cyB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS14cztcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktc21hbGw7XG59XG5cbkBtaXhpbiB0ZXh0LXN0eWxlLWJvZHktbWVkaXVtLXNtIHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1ib2R5LXNtO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYm9keS1zbWFsbDtcbn1cblxuQG1peGluIHRleHQtc3R5bGUtYm9keS1tZWRpdW0tbWQge1xuICAgIEBpbmNsdWRlIF9ib2R5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJvZHktbWQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5LW1lZGl1bS1jYXB0aW9uO1xufVxuXG5AbWl4aW4gdGV4dC1zdHlsZS1ib2R5LW1lZGl1bS1sZyB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS1sZztcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktbWVkaXVtO1xufVxuXG5AbWl4aW4gdGV4dC1zdHlsZS1ib2R5LW1lZGl1bS14bCB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS14bDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktbGFyZ2U7XG59XG5cbi8vIC0tLS0gQm9keSAvIFNlbWktYm9sZCAod2VpZ2h0IDYwMCkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gdGV4dC1zdHlsZS1ib2R5LXNlbWlib2xkLXhzIHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1ib2R5LXhzO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYm9keS1zbWFsbDtcbn1cblxuQG1peGluIHRleHQtc3R5bGUtYm9keS1zZW1pYm9sZC1zbSB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS1zbTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktc21hbGw7XG59XG5cbkBtaXhpbiB0ZXh0LXN0eWxlLWJvZHktc2VtaWJvbGQtbWQge1xuICAgIEBpbmNsdWRlIF9ib2R5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJvZHktbWQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5LW1lZGl1bS1jYXB0aW9uO1xufVxuXG5AbWl4aW4gdGV4dC1zdHlsZS1ib2R5LXNlbWlib2xkLWxnIHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1ib2R5LWxnO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYm9keS1tZWRpdW07XG59XG5cbkBtaXhpbiB0ZXh0LXN0eWxlLWJvZHktc2VtaWJvbGQteGwge1xuICAgIEBpbmNsdWRlIF9ib2R5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJvZHkteGw7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5LWxhcmdlO1xufVxuXG4vLyAtLS0tIEJvZHkgLyBCb2xkICh3ZWlnaHQgNzAwKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHRleHQtc3R5bGUtYm9keS1ib2xkLXhzIHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS14cztcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktc21hbGw7XG59XG5cbkBtaXhpbiB0ZXh0LXN0eWxlLWJvZHktYm9sZC1zbSB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJvZHktc207XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5LXNtYWxsO1xufVxuXG5AbWl4aW4gdGV4dC1zdHlsZS1ib2R5LWJvbGQtbWQge1xuICAgIEBpbmNsdWRlIF9ib2R5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1ib2R5LW1kO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYm9keS1tZWRpdW0tY2FwdGlvbjtcbn1cblxuQG1peGluIHRleHQtc3R5bGUtYm9keS1ib2xkLWxnIHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS1sZztcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktbWVkaXVtO1xufVxuXG5AbWl4aW4gdGV4dC1zdHlsZS1ib2R5LWJvbGQteGwge1xuICAgIEBpbmNsdWRlIF9ib2R5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1ib2R5LXhsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYm9keS1sYXJnZTtcbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMSU5LIFRFWFQtU1RZTEVTXG4vL1xuLy8gQmVkb2VsZCB2b29yIGlubGluZSBsaW5rcyBkaWUgaW4gZWVuIGJvZHktcGFyYWdyYWFmIHZhbGxlbi4gTGluay1jb21wb25lbnRlblxuLy8gaGViYmVuIHBhZGRpbmc7IG9tIHRlIHZvb3Jrb21lbiBkYXQgem8nbiBjb21wb25lbnQgZGUgb21yaW5nZW5kZSBib2R5LXJlZ2VsXG4vLyBcIm9wIHonbiBnYXQgemV0XCIga3JpamdlbiBMaW5rLXN0eWxlcyBodW4gZWlnZW4gY2F0ZWdvcmllLlxuLy9cbi8vIFdhYXJkZXMgemlqbiBnZXNwaWVnZWxkIGFhbiBkZSBib2R5LXNjaGFhbCDigJQgYmVow6FsdmUgdHdlZSBwbGVra2VuIHdhYXIgZGVcbi8vIEZpZ21hLXRva2VuIGVlbiBhZndpamtlbmRlIGxpbmUtaGVpZ2h0IGhlZWZ0LiBEaWUgemlqbiBoaWVyIDEtb3AtMSBvdmVyZ2Vub21lblxuLy8gZW4gZ2VtYXJrZWVyZC4gWmllIGlubGluZSBub3Rlcy5cbi8vXG4vLyBOYWFtc2NoZW1hOiB0ZXh0LXN0eWxlLWxpbmstPHdlaWdodD4tPHNpemU+XG4vLyAgIHdlaWdodCA6IHJlZ3VsYXIgKDQwMCkgLyBzZW1pYm9sZCAoNjAwKSAvIGJvbGQgKDcwMClcbi8vICAgc2l6ZSAgIDogeHMgKDEwKSAvIHNtICgxMikgLyBtZCAoMTQpIC8gbGcgKDE2KSAvIHhsICgyMClcbi8vXG4vLyBOQjogRmlnbWEgaGVlZnQgdm9vciBkZXplIGdyb2VwIHJvbW1lbGlnZSB3ZXJrbmFtZW4gKG8uYS4gXCJMaW5rIEJvbGQodGhlXG4vLyByZWFsIGJvbGQpXCIgZW4gXCJNZWRpdW0tZXh0cmEgc21hbGwtbGlua1wiKSDigJQgS2ltIHJ1aW10IGRpZSBpbiBGaWdtYSBub2cgb3AuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIC0tLS0gTGluayAvIFJlZ3VsYXIgKHdlaWdodCA0MDApIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gdGV4dC1zdHlsZS1saW5rLXJlZ3VsYXIteHMge1xuICAgIEBpbmNsdWRlIF9ib2R5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1ib2R5LXhzO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYm9keS1zbWFsbDsgICAgICAgICAgICAgIC8vIEZpZ21hOiBCb2R5L0xpbmsgcmVndWxhci9FeHRyYS1zbWFsbFxufVxuXG5AbWl4aW4gdGV4dC1zdHlsZS1saW5rLXJlZ3VsYXItc20ge1xuICAgIEBpbmNsdWRlIF9ib2R5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1ib2R5LXNtO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYm9keS1zbWFsbDsgICAgICAgICAgICAgIC8vIEZpZ21hOiBCb2R5L0xpbmsgcmVndWxhci9TbWFsbC1saW5rXG59XG5cbkBtaXhpbiB0ZXh0LXN0eWxlLWxpbmstcmVndWxhci1tZCB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJvZHktbWQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5LW1lZGl1bS1jYXB0aW9uOyAgICAgLy8gRmlnbWE6IEJvZHkvTGluayByZWd1bGFyL01lZGl1bS1jYXB0aW9uLWxpbmtcbn1cblxuQG1peGluIHRleHQtc3R5bGUtbGluay1yZWd1bGFyLWxnIHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS1sZztcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktbWVkaXVtOyAgICAgICAgICAgICAvLyBGaWdtYTogQm9keS9MaW5rIHJlZ3VsYXIvbWVkaXVtLWxpbmtcbn1cblxuQG1peGluIHRleHQtc3R5bGUtbGluay1yZWd1bGFyLXhsIHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS14bDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktbGFyZ2U7ICAgICAgICAgICAgICAvLyBGaWdtYTogQm9keS9MaW5rIHJlZ3VsYXIvbGFyZ2UtbGlua1xufVxuXG4vLyAtLS0tIExpbmsgLyBTZW1pLWJvbGQgKHdlaWdodCA2MDApIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIHRleHQtc3R5bGUtbGluay1zZW1pYm9sZC14cyB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS14cztcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktc21hbGw7ICAgICAgICAgICAgICAvLyBGaWdtYTogQm9keS9MaW5rIFNlbWktYm9sZC9FeHRyYS1zbWFsbC1saW5rXG59XG5cbkBtaXhpbiB0ZXh0LXN0eWxlLWxpbmstc2VtaWJvbGQtc20ge1xuICAgIEBpbmNsdWRlIF9ib2R5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJvZHktc207XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5LXNtYWxsOyAgICAgICAgICAgICAgLy8gRmlnbWE6IEJvZHkvTGluayBTZW1pLWJvbGQvc21hbGwtbGlua1xufVxuXG4vLyBGaWdtYSBBRldJSktJTkc6IHRva2VuIGBCb2R5L0xpbmsgU2VtaS1ib2xkL0ludGVyLW1lZGl1bS1saW5rYCBpcyAxNCAvIDMyXG4vLyAoQm9keSBMYXJnZSkgaS5wLnYuIDE0IC8gMjQgKEJvZHkgTWVkaXVtLUNhcHRpb24pLiBLaW06IG1vZ2VsaWprIGludGVudGlvbmVlbFxuLy8gb20gaW5saW5lLWxpbmsgdmVpbGlnIHRlIGxhdGVuIHppdHRlbiBpbiBib2R5LCBtb2dlbGlqayByZXN0amUuIEhpZXIgMS1vcC0xXG4vLyBvdmVyZ2Vub21lbjsgcGFzIGFhbiBhbHMgS2ltL1NhbmRlciBhbmRlcnMgYmVzbHVpdGVuLlxuQG1peGluIHRleHQtc3R5bGUtbGluay1zZW1pYm9sZC1tZCB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS1tZDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktbGFyZ2U7ICAgICAgICAgICAgICAvLyBbRklHTUEgdmVyaWZpZWQg4oCUIGFmd2lqa2VuZF1cbn1cblxuQG1peGluIHRleHQtc3R5bGUtbGluay1zZW1pYm9sZC1sZyB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS1sZztcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktbWVkaXVtOyAgICAgICAgICAgICAvLyBGaWdtYTogQm9keS9MaW5rIFNlbWktYm9sZC9tZWRpdW0tbGlua1xufVxuXG5AbWl4aW4gdGV4dC1zdHlsZS1saW5rLXNlbWlib2xkLXhsIHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1ib2R5LXhsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYm9keS1sYXJnZTsgICAgICAgICAgICAgIC8vIEZpZ21hOiBCb2R5L0xpbmsgU2VtaS1ib2xkL2xhcmdlLWxpbmtcbn1cblxuLy8gLS0tLSBMaW5rIC8gQm9sZCAod2VpZ2h0IDcwMCkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZpZ21hIEFGV0lKS0lORzogYEJvZHkvTGluayBCb2xkL2V4dHJhLXNtYWxsYCBnZWJydWlrdCBsaW5lLWhlaWdodCAyNFxuLy8gKEJvZHkgTWVkaXVtLUNhcHRpb24pIGkucC52LiAyMCAoQm9keSBTbWFsbCkuIFplbGZkZSBjYXZlYXQgYWxzIGhpZXJib3Zlbi5cbkBtaXhpbiB0ZXh0LXN0eWxlLWxpbmstYm9sZC14cyB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJvZHkteHM7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5LW1lZGl1bS1jYXB0aW9uOyAgICAgLy8gW0ZJR01BIHZlcmlmaWVkIOKAlCBhZndpamtlbmRdXG59XG5cbkBtaXhpbiB0ZXh0LXN0eWxlLWxpbmstYm9sZC1zbSB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJvZHktc207XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5LXNtYWxsOyAgICAgICAgICAgICAgLy8gRmlnbWE6IEJvZHkvTGluayBCb2xkL1NtYWxsLWxpbmtcbn1cblxuQG1peGluIHRleHQtc3R5bGUtbGluay1ib2xkLW1kIHtcbiAgICBAaW5jbHVkZSBfYm9keS1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYm9keS1tZDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvZHktbWVkaXVtLWNhcHRpb247ICAgICAvLyBGaWdtYTogQm9keS9MaW5rIEJvbGQvSW50ZXItIE1lZGl1bS1saW5rXG59XG5cbkBtaXhpbiB0ZXh0LXN0eWxlLWxpbmstYm9sZC1sZyB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJvZHktbGc7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5LW1lZGl1bTsgICAgICAgICAgICAgLy8gRmlnbWE6IEJvZHkvTGluayBCb2xkL21lZGl1bS1saW5rXG59XG5cbkBtaXhpbiB0ZXh0LXN0eWxlLWxpbmstYm9sZC14bCB7XG4gICAgQGluY2x1ZGUgX2JvZHktYmFzZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJvZHkteGw7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1ib2R5LWxhcmdlOyAgICAgICAgICAgICAgLy8gRmlnbWE6IEJvZHkvTGluayBCb2xkL0xhcmdlLWxpbmtcbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBVVElMSVRZIENMQVNTRVNcbi8vIE9wdGlvbmFsIOKAlCBvbmx5IGVtaXQgaWYganVsbGllIGRpdCBwYXRyb29uIGdlYnJ1aWtlbi4gQW5kZXJzOiBsYWF0IHdlZyBlblxuLy8gZ2VicnVpayBhbGxlZW4gZGUgbWl4aW5zIGhpZXJib3ZlbiBpbiBjb21wb25lbnQgU0NTUy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnRleHQtaDEgeyBAaW5jbHVkZSB0ZXh0LXN0eWxlLWhlYWRlci1oMTsgfVxuLnRleHQtaDIgeyBAaW5jbHVkZSB0ZXh0LXN0eWxlLWhlYWRlci1oMjsgfVxuLnRleHQtaDMgeyBAaW5jbHVkZSB0ZXh0LXN0eWxlLWhlYWRlci1oMzsgfVxuLnRleHQtaDQgeyBAaW5jbHVkZSB0ZXh0LXN0eWxlLWhlYWRlci1oNDsgfVxuLnRleHQtaDUgeyBAaW5jbHVkZSB0ZXh0LXN0eWxlLWhlYWRlci1oNTsgfVxuLnRleHQtaDYgeyBAaW5jbHVkZSB0ZXh0LXN0eWxlLWhlYWRlci1oNjsgfVxuXG4udGV4dC1ib2R5LXhzIHsgQGluY2x1ZGUgdGV4dC1zdHlsZS1ib2R5LXJlZ3VsYXIteHM7IH1cbi50ZXh0LWJvZHktc20geyBAaW5jbHVkZSB0ZXh0LXN0eWxlLWJvZHktcmVndWxhci1zbTsgfVxuLnRleHQtYm9keS1tZCB7IEBpbmNsdWRlIHRleHQtc3R5bGUtYm9keS1yZWd1bGFyLW1kOyB9XG4udGV4dC1ib2R5LWxnIHsgQGluY2x1ZGUgdGV4dC1zdHlsZS1ib2R5LXJlZ3VsYXItbGc7IH1cbi50ZXh0LWJvZHkteGwgeyBAaW5jbHVkZSB0ZXh0LXN0eWxlLWJvZHktcmVndWxhci14bDsgfVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1pbmJveC1tZXNzYWdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBJbmJveCAvIG5vdGlmaWNhdGlvbiBsaXN0LXJvdy4gQ29tcG9zZXMgcWRuYXByby1hdmF0YXIgKyBxZG5hcHJvLXRhZ1xuLy8gICsgcWRuYXByby1pY29uLWJ0biArIHFkbmFwcm8taWNvbiDigJQgZG9lcyBOT1QgZHVwbGljYXRlIHRoZWlyIHN0eWxpbmcuXG4vL1xuLy8gIEZpZ21hIHNvdXJjZTogUUROQS1QUk8gbm9kZSA5NTY5OjI0MjI2NSAoXCJGcmFtZSAxMjVcIikuXG4vL1xuLy8gIFFETkEgdG9rZW5zIHVzZWQ6XG4vLyAgICBTdXJmYWNlL0J1dHRvbnMvU2Vjb25kYXJ5LXdoaXRlICAgICAgICAgICNmZmZmZmYgICBkZWZhdWx0IGJnXG4vLyAgICBTdXJmYWNlL0J1dHRvbnMvU3VidGxlLUhvdmVyICAgICAgICAgICAgICNmMGYxZjIgICBob3ZlciBiZyAobm90IHNlbGVjdGVkKVxuLy8gICAgU3VyZmFjZS9CdXR0b25zL1NlY29uZGFyeS1wdXJwbGUgICAgICAgICAjZTZlOWZmICAgc2VsZWN0ZWQgYmdcbi8vICAgIFN1cmZhY2UvQnV0dG9ucy9TZWNvbmRhcnktcHVycGxlLWhvdmVyICAgI2RhZGRmMiAgIHNlbGVjdGVkICsgaG92ZXJcbi8vICAgIFB1cnBsZS1IaWdobGlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgIzQ2NTJmMyAgIHVucmVhZCBkb3QsIHVucmVhZCBzdWJqZWN0LCB1bnJlYWQgdGltZXN0YW1wXG4vLyAgICBCb3JkZXIvQWN0aW9uLVB1cnBsZS1PdXRsaW5lZCAgICAgICAgICAgICM0MDQ5OWEgICBmb2N1cyByaW5nICsgYm9va21hcmtlZCBpY29uXG4vLyAgICBQdXJwbGUtSGlnaGxpZ2h0IEAgMjUlICAgICAgICAgICAgICAgICAgIHJnYmEoNzAsODIsMjQzLDAuMjUpICBmb2N1cyBnbG93XG4vLyAgICBUZXh0L09uLUJvZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMwYjBiMGRcbi8vICAgIFRleHQvQm9keS1TZWNvbmRhcnkgICAgICAgICAgICAgICAgICAgICAgIzZiNzI4MCAgIHByZXZpZXcsIGR1ZS10aW1lLCBwYXBlcmNsaXBcbi8vICAgIFRleHQvT24tZGlzYWJsZWQgICAgICAgICAgICAgICAgICAgICAgICAgIzg5OGU5OVxuLy8gICAgU3BhY2luZy1YWFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0cHhcbi8vICAgIFNwYWNpbmctWFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOHB4XG4vLyAgICBSYWRpdXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDhweFxuLy9cbi8vICBIb3Zlci1hY3Rpb25zIHZpc2liaWxpdHkgcmVjaXBlIChtYXRjaGVzIG5vdmEtaGlzdG9yeS1pdGVtKTpcbi8vICAgIC0gUGFwZXJjbGlwIGlzIGFsd2F5cyB2aXNpYmxlIE9GRi1ob3ZlciAod2hlbiBoYXMtYXR0YWNobWVudCArICFib29rbWFya2VkKVxuLy8gICAgLSBCb29rbWFyayArIGRlbGV0ZSBidXR0b25zIGZhZGUtaW4gb24gcm93IDpob3ZlciBvciA6Zm9jdXMtd2l0aGluXG4vLyAgICAtIFdoZW4gLmluYm94LW1lc3NhZ2UtYm9va21hcmtlZCBpcyBzZXQsIGJvb2ttYXJrIHN0YXlzIHZpc2libGUgQU5EXG4vLyAgICAgIHBhcGVyY2xpcCBpcyBoaWRkZW4gKGljb24tc2xvdCBpcyBcImNsYWltZWRcIiBieSB0aGUgcGVyc2lzdGVudCBib29rbWFyaylcbi8vXG4vLyAgTGF5b3V0OlxuLy8gICAgVGhlIGFjdGlvbnMgYXJlYSBoYXMgYSBmaXhlZCA0NHB4IHdpZHRoIHNvIHRoZSByb3cgbmV2ZXIgcmVmbG93c1xuLy8gICAgd2hlbiBpY29ucyBjcm9zcy1mYWRlLiBQYXBlcmNsaXAgKyBob3Zlci1idXR0b25zIGFyZSBhYnNvbHV0ZWx5XG4vLyAgICBwb3NpdGlvbmVkIG9uIHRvcCBvZiBlYWNoIG90aGVyIGluc2lkZSB0aGF0IDQ0cHggc2xvdC5cbi8vXG4vLyAgVXJnZW5jeSBtYXJrZXIgKGRlYWRsaW5lLXN0YXR1cyk6XG4vLyAgICBTYW1lIHR3byBjb2xvdXJzIHRoZSBiYWNrb2ZmaWNlIGluYm94IFBBR0UgYWxyZWFkeSBhcHBsaWVzIHZpYSBpdHNcbi8vICAgIG93biBgcWRuYXByby1pbmJveC1tZXNzYWdlW2RhdGEtZGVhZGxpbmUtc3RhdHVzPVwiLi4uXCJdYCBydWxlIHdpdGhcbi8vICAgICFpbXBvcnRhbnQgKGJhY2tvZmZpY2UyL3Njc3MvcGFydGlhbHMvX2luYm94LnNjc3MgfmxpbmUgNDQwLTQ0OSkuXG4vLyAgICBUaGF0IGR1cGxpY2F0aW9uIGlzIGRlbGliZXJhdGUgaGVyZSDigJQgZmxhZ2dlZCB0byB0aGUgbWFpbiBlbmdpbmVlclxuLy8gICAgdG8gZXZlbnR1YWxseSByZXRpcmUgdGhlIHBhZ2UgcnVsZSBpbiBmYXZvdXIgb2YgdGhpcyBjb21wb25lbnRcbi8vICAgIHZhcmlhbnQg4oCUIGFuZCBOT1QgcmVtb3ZlZCBieSB0aGlzIGZpbGUgKG91dCBvZiBzY29wZSwgcGFnZSBydWxlKS5cbi8vXG4vLyAgU2VsZWN0aW9uIGNoZWNrYm94IChzZWxlY3RhYmxlIC8gc2VsZWN0aW9uLW1vZGUpOlxuLy8gICAgQXZhdGFyICsgPHFkbmFwcm8tY2hlY2tib3g+IGJvdGggbGl2ZSBpbnNpZGUgb25lIGZpeGVkIDM0eDM0IHNsb3Rcbi8vICAgICguaW5ib3gtbWVzc2FnZS1hdmF0YXItc2xvdCksIGFic29sdXRlbHkgcG9zaXRpb25lZCBvbiB0b3Agb2YgZWFjaFxuLy8gICAgb3RoZXIuIENTUyBvbmx5IGV2ZXIgdG9nZ2xlcyBvcGFjaXR5IGJldHdlZW4gdGhlbSDigJQgdGhlIHNsb3QgYm94XG4vLyAgICBpdHNlbGYgbmV2ZXIgY2hhbmdlcyBzaXplLCBzbyBzd2FwcGluZyBjYW5ub3Qgc2hpZnQgdGhlIHJvdy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AdXNlIFwiLi4vdHlwb2dyYXBoeS90eXBvZ3JhcGh5XCIgYXMgKjtcblxuLy8gVXJnZW5jeS1tYXJrZXIgY29sb3VycyDigJQgbmFtZWQgdmFyaWFibGVzLCBub3QgbG9vc2UgaGV4LiBTZWUgbm90ZSBhYm92ZS5cbiRtc2ctZGVhZGxpbmUtb3ZlcmR1ZTogICNkOTMwMjU7ICAgLy8gcmVkXG4kbXNnLWRlYWRsaW5lLWR1ZS1zb29uOiAjZTg4MTBhOyAgIC8vIGFtYmVyXG5cbi5xZG5hcHJvLWluYm94LW1lc3NhZ2Uge1xuICAgIC0tbXNnLWJnOiAgICAgICAgICAjZmZmZmZmO1xuICAgIC0tbXNnLWJnLWhvdmVyOiAgICAjZjBmMWYyO1xuICAgIC0tbXNnLXRleHQ6ICAgICAgICAjMGIwYjBkO1xuICAgIC0tbXNnLXRleHQtbXV0ZWQ6ICAjNmI3MjgwO1xuICAgIC0tbXNnLWFjY2VudDogICAgICAjNDY1MmYzO1xuXG4gICAgLy8gTG9jayB0aGUgYm94IG1vZGVsIG9uIHRoZSBob3N0IEFORCBldmVyeSBkZXNjZW5kYW50LiBXaXRob3V0IHRoaXNcbiAgICAvLyB0aGUgd2lkdGgtY29sbGFwc2UgYW5pbWF0aW9uIG9uIHRoZSBhY3Rpb24gYnV0dG9ucyBjYW4gYnJpZWZseVxuICAgIC8vIGJ1bXAgdGhlIHJvdyBoZWlnaHQgZHVyaW5nIHN1Yi1waXhlbCBsYXlvdXQg4oCUIHNhbWUgY29udGVudCxcbiAgICAvLyB2aXN1YWxseSAxLTJweCB0YWxsZXIgb24gaG92ZXIuIEJvcmRlci1ib3gga2VlcHMgcGFkZGluZy9ib3JkZXJcbiAgICAvLyBvdXQgb2YgdGhlIGhlaWdodCBjYWxjIHNvIGRpbWVuc2lvbnMgc3RheSBzdGFibGUuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IDhweDtcbiAgICAvLyBMaW5rcyA0cHggaW4gcGxhYXRzIHZhbiA4cHg6IGVlcnN0ZSBzY2hha2VsIHZhbiBLaW1zIGtldGVuXG4gICAgLy8gXCJmcmFtZS1yYW5kIC0gNHB4IC0gYm9sbGV0amUgLSA0cHggLSBhdmF0YXJcIiAoMjkuMDcuMjAyNikuIFJlY2h0cyBibGlqZnQgOHB4LFxuICAgIC8vIHdhbnQgZGFhciB6aXQgZGUgdGlqZCBlbiBkaWUgbW9ldCBuaWV0IHRlZ2VuIGRlIHJhbmQga3J1aXBlbi5cbiAgICBwYWRkaW5nOiA0cHggOHB4IDRweCA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1zZy1iZyk7XG4gICAgY29sb3I6IHZhcigtLW1zZy10ZXh0KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQ7XG5cbiAgICAvLyA6bm90KC5pbmJveC1tZXNzYWdlLXN3aXBpbmcpIOKAlCB0aGUgc3dpcGUgd3JhcHBlciBmb3JjZXMgaXRzIG93blxuICAgIC8vIG9wYXF1ZSBiYWNrZ3JvdW5kIHdoaWxlIGRyYWdnaW5nIChzZWUgdGhlIHN3aXBlLXN0YXRlIGJsb2NrIGJlbG93KTtcbiAgICAvLyBob3ZlciBtdXN0IG5vdCBmaWdodCBpdC5cbiAgICAmOmhvdmVyOm5vdCguaW5ib3gtbWVzc2FnZS1zd2lwaW5nKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW1zZy1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gIFNlbGVjdGVkIOKAlCBsaWdodC1wdXJwbGUgYmcuIEhvdmVyIGRhcmtlbnMgdG8gLWhvdmVyIHRva2VuLlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICYuaW5ib3gtbWVzc2FnZS1zZWxlY3RlZCB7XG4gICAgICAgIC0tbXNnLWJnOiAgICAgICAjZTZlOWZmO1xuICAgICAgICAtLW1zZy1iZy1ob3ZlcjogI2RhZGRmMjtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyAgQWN0aXZlIOKAlCB0aGUgcm93IHdob3NlIG1lc3NhZ2UgaXMgT1BFTiBpbiB0aGUgZGV0YWlsIHBhbmUuXG4gICAgLy8gIFNhbWUgcHVycGxlIGZpbGwgYXMgc2VsZWN0ZWQsIHBsdXMgYSBiYXIgZG93biB0aGUgbGVmdCBlZGdlXG4gICAgLy8gIHNvIGl0IHN0YXlzIHJlYWRhYmxlIG5leHQgdG8gdGlja2VkIHJvd3MgaW4gYSB0d28tcGFuZWxcbiAgICAvLyAgbGF5b3V0OiBwdXJwbGUgYWxvbmUgbWVhbnMgXCJ0aWNrZWRcIiwgcHVycGxlICsgYmFyIG1lYW5zXG4gICAgLy8gIFwidGhpcyBpcyB0aGUgb25lIHlvdSBhcmUgcmVhZGluZ1wiLlxuICAgIC8vXG4gICAgLy8gIFRoZSBiYXIgaXMgYW4gSU5TRVQgYm94LXNoYWRvdyBhbmQgbm90IGEgYm9yZGVyIG9yIGFcbiAgICAvLyAgOjpiZWZvcmU6IGEgYm9yZGVyIHdvdWxkIGNoYW5nZSB0aGUgYm94IGFuZCBzaGlmdCB0aGVcbiAgICAvLyAgYXZhdGFyIDNweCwgYW5kIDo6YmVmb3JlIGlzIGFscmVhZHkgc3Bva2VuIGZvciBmdXJ0aGVyXG4gICAgLy8gIGRvd24gdGhpcyBmaWxlLiBJbnNldCBzaGFkb3cgcGFpbnRzIGluc2lkZSB0aGUgZXhpc3RpbmdcbiAgICAvLyAgYm9yZGVyLXJhZGl1cyBhbmQgY29zdHMgbm8gbGF5b3V0LlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICYuaW5ib3gtbWVzc2FnZS1hY3RpdmUge1xuICAgICAgICAtLW1zZy1iZzogICAgICAgI2U2ZTlmZjtcbiAgICAgICAgLS1tc2ctYmctaG92ZXI6ICNkYWRkZjI7XG5cbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgM3B4IDAgMCAwIHZhcigtLW1zZy1hY2NlbnQpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vICBGb2N1cyDigJQgY2Fub25pY2FsIFFETkEgUHJvIHJlY2lwZSAoc3RhY2tlZCBib3gtc2hhZG93KS5cbiAgICAvLyAgTm8gb3V0bGluZTsgcmluZyBhdCAwLTJweCwgZ2xvdyBhdCAyLTZweC5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAmOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSxcbiAgICAmLmZvcmNlLWZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgIDAgMCAwIDJweCAjNDA0OTlhLCAgICAgICAgICAgICAgICAgIC8vIHJpbmdcbiAgICAgICAgICAgIDAgMCAwIDZweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTsgIC8vIGdsb3cgYmFuZFxuICAgIH1cblxuICAgIC8vIEZvY3VzIGFuZCBhY3RpdmUgYm90aCBwYWludCB3aXRoIGJveC1zaGFkb3csIGFuZCBvbmUgcHJvcGVydHkgY2FuIG9ubHlcbiAgICAvLyBob2xkIG9uZSB2YWx1ZSDigJQgc28gYW4gYWN0aXZlIHJvdyB0aGF0IHRha2VzIGZvY3VzIHdvdWxkIGxvc2UgaXRzIGxlZnRcbiAgICAvLyBiYXIuIFN0YWNrIHRoZSB0d28gaW5zdGVhZCBvZiBsZXR0aW5nIHRoZSBsYXRlciBydWxlIHdpbi5cbiAgICAmLmluYm94LW1lc3NhZ2UtYWN0aXZlOmZvY3VzLXZpc2libGUsXG4gICAgJi5pbmJveC1tZXNzYWdlLWFjdGl2ZS5mb3JjZS1mb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgICBpbnNldCAzcHggMCAwIDAgdmFyKC0tbXNnLWFjY2VudCksXG4gICAgICAgICAgICAwIDAgMCAycHggIzQwNDk5YSxcbiAgICAgICAgICAgIDAgMCAwIDZweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyAgTGVhZCBjb2x1bW4g4oCUIHVucmVhZCBkb3QgKyBhdmF0YXJcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBLaW0gMjkuMDcuMjAyNiwgbmEgaGFhciB0b2VzdGVsdGVzdDogXCJlciBpcyB0ZSB2ZWVsIHJ1aW10ZSBnZXJlc2VydmVlcmQgdm9vclxuICAgIC8vIGhldCBibGF1d2UgdW5yZWFkIGJvbGxldGplLCBhbHMgaGlqIGVyIG5pZXQgaXMgZGFuIGlzIGVyIGVlbiB0ZSBncm90ZSBydWltdGUsXG4gICAgLy8gZGF0IGlzIHpvbmRlXCIuIEdldnJhYWdkZSBrZXRlbjogZnJhbWUtcmFuZCAtIDRweCAtIGJvbGxldGplIC0gNHB4IC0gYXZhdGFyLlxuICAgIC8vXG4gICAgLy8gV2F0IGVyIHN0b25kIGVuIHdhYXJvbSBoZXQgcnVpbXRlIGtvc3R0ZTogYHdpZHRoOiA1MHB4YCBtZXRcbiAgICAvLyBganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZGAuIEVlbiB2YXN0ZSBrb2xvbSBkdXMsIG1ldCBkZSBhdmF0YXIgcmVjaHRzXG4gICAgLy8gdWl0Z2VsaWpuZC4gTcOpdCBib2xsZXRqZSBpcyBkZSBpbmhvdWQgOCArIDQgKyAzNCA9IDQ2cHgsIG1hYXIgWk9OREVSIGJvbGxldGplXG4gICAgLy8gc3RhYXQgZXIgYWxsZWVuIGVlbiBhdmF0YXIgdmFuIDM0cHggaW4gZWVuIGtvbG9tIHZhbiA1MCwgZW4gZGllIDE2cHggbGlua3NcbiAgICAvLyBibGV2ZW4gZ2V3b29uIGxlZWcuIE9wZ2V0ZWxkIGJpaiBkZSA4cHggcmlqLXBhZGRpbmcgc3RvbmQgZGUgYXZhdGFyIDI0cHggdmFuXG4gICAgLy8gZGUgcmFuZC5cbiAgICAvL1xuICAgIC8vIE51OiBnZWVuIHZhc3RlIGJyZWVkdGUgbWVlciwgZHVzIGRlIGtvbG9tIGtyaW1wdCBtZWUgYWxzIGhldCBib2xsZXRqZSBlciBuaWV0XG4gICAgLy8gaXMuIGBmbGV4LXN0YXJ0YCBpbiBwbGFhdHMgdmFuIGBmbGV4LWVuZGAsIHdhbnQgdWl0bGlqbmVuIG9wIHJlY2h0cyBoZWVmdCBnZWVuXG4gICAgLy8gYmV0ZWtlbmlzIG1lZXIgem9kcmEgZGUgYnJlZWR0ZSBkZSBpbmhvdWQgdm9sZ3QuXG4gICAgLy9cbiAgICAvLyBWQVNURSBicmVlZHRlLCBlbiBkYXQgaXMgS2ltcyBiZXNsdWl0IHZhbiAyOS4wNy4yMDI2IG5hIGhldCB6aWVuIHZhbiBoZXRcbiAgICAvLyBhbHRlcm5hdGllZi4gRWVuIG1lZWJld2VnZW5kZSBrb2xvbSB3b24gZGllIHJ1aW10ZSB3ZWwgdGVydWcsIG1hYXIgZGFuIHN0YWF0IGRlXG4gICAgLy8gYXZhdGFyIHZhbiBlZW4gT05HRUxFWkVOIHJpaiAxMnB4IHZlcmRlciBuYWFyIHJlY2h0cyBkYW4gZGllIHZhbiBlZW4gZ2VsZXplblxuICAgIC8vIHJpaiwgZW4gZGFuIGlzIGRlIGxpbmtlcnJhbmQgdmFuIGRlIGxpanN0IG5pZXQgcmVjaHQgbWVlci4gSW4gZWVuIGJlcmljaHRlbmxpanN0XG4gICAgLy8gbGVlc3QgZGF0IGFscyBlZW4gZm91dC5cbiAgICAvL1xuICAgIC8vIDQ2cHggaXMgcHJlY2llcyBkZSBpbmhvdWQ6IDggKGJvbGxldGplKSArIDQgKGdhdCkgKyAzNCAoYXZhdGFyKS4gTWV0XG4gICAgLy8gYGZsZXgtZW5kYCBsZXZlcnQgZGF0IEtpbXMga2V0ZW4gRU4gdWl0bGlqbmluZyBvcCwgaW4gw6nDqW4gbWFhdDpcbiAgICAvLyAgIG9uZ2VsZXplbjogcmFuZCA0IC0+IGJvbGxldGplIG9wIDQgLT4gZ2F0IDQgLT4gYXZhdGFyIG9wIDE2XG4gICAgLy8gICBnZWxlemVuICA6IHJhbmQgNCAtPiBnZWVuIGJvbGxldGplIC0+IGF2YXRhciByZWNodHMgdWl0Z2VsaWpuZCwgb29rIG9wIDE2XG4gICAgLy8gRGUgb3VkZSB3YWFyZGUgd2FzIDUwcHgsIGVuIGRhdCBpcyB3YWFyIGRlIGtsYWNodCB2YW5kYWFuIGt3YW06IDRweCB0ZSBicmVlZCxcbiAgICAvLyBwbHVzIDhweCByaWotcGFkZGluZyBpbiBwbGFhdHMgdmFuIDQsIGR1cyBkZSBhdmF0YXIgc3RvbmQgMjRweCB2YW4gZGUgcmFuZC5cbiAgICAvLyBOZXR0byB3aW5zdCA4cHggb3AgZWxrZSByaWosIG1ldCBlZW4gcmVjaHRlIHJhbmQuXG4gICAgLmluYm94LW1lc3NhZ2UtbGVhZCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgIHdpZHRoOiA0NnB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAuaW5ib3gtbWVzc2FnZS11bnJlYWQtZG90IHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxM3B4OyAgICAgICAgICAgICAgICAgICAgICAgLy8gdmlzdWFsbHkgY2VudGVycyBhZ2FpbnN0IDM0cHggYXZhdGFyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbXNnLWFjY2VudCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gIEF2YXRhciBzdGF0dXMgaW5kaWNhdG9yIChsb3dlci1yaWdodCBjaXJjbGUgKyBpY29uKVxuICAgIC8vICBPbmx5IHJlbmRlcmVkIGZvciBjZXJ0YWluIHN0YXR1c2VzIChzZWUgQVZBVEFSX1NUQVRVUyBpbiBKUykuXG4gICAgLy8gIFRoZSB3cmFwcGVyIG9ubHkgZXhpc3RzIHdoZW4gYSBiYWRnZSBpcyBwcmVzZW50LCBzbyB1bmJhZGdlZFxuICAgIC8vICBhdmF0YXJzIGFyZSB1bmFmZmVjdGVkLlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC5pbmJveC1tZXNzYWdlLWF2YXRhci13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgIC5pbmJveC1tZXNzYWdlLWF2YXRhci1zdGF0dXMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgICBib3R0b206IC0zcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gICAgICAgIC8vIEVhY2ggc3RhdHVzIGlzIG9uZSBvZiBLaW0ncyBzZWxmLWNvbnRhaW5lZCBTVkdzIOKAlCB0aGUgd2hpdGUgb3V0bGluZVxuICAgICAgICAvLyBpcyBiYWtlZCBpbnRvIHRoZSBhc3NldCwgc28gbm8gQ1NTIHJpbmcvZmlsdGVyIGhlcmUuIEJveCBzaXplcyBhcmVcbiAgICAgICAgLy8gdHVuZWQgcGVyIGljb24gYXNwZWN0IHNvIHRoZXkgcmVhZCBhdCBhIGNvbnNpc3RlbnQgfjIwcHguXG4gICAgICAgICYuaXMtaW4tcHJvZ3Jlc3MgeyB3aWR0aDogMTdweDsgaGVpZ2h0OiAyMXB4OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9pbmJveC1zdGF0dXMvaG91cmdsYXNzLnN2Zyk7IH1cbiAgICAgICAgJi5pcy1jb21wbGV0ZWQgICB7IHdpZHRoOiAyMXB4OyBoZWlnaHQ6IDIwcHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2luYm94LXN0YXR1cy9jaGVjay5zdmcpOyB9XG4gICAgICAgICYuaXMtb3ZlcmR1ZSAgICAgeyB3aWR0aDogMjJweDsgaGVpZ2h0OiAxOXB4OyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltZy9pbmJveC1zdGF0dXMvd2FybmluZy1yZWQuc3ZnKTsgfVxuICAgICAgICAvLyBFeHRyYSBpY29ucyBpbiB0aGUgc2V0IOKAlCBhdmFpbGFibGUsIG5vdCBhdXRvLXNldCBieSB0aGUgaW5ib3ggeWV0LlxuICAgICAgICAmLmlzLWR1ZS1zb29uICAgIHsgd2lkdGg6IDIycHg7IGhlaWdodDogMTlweDsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvaW5ib3gtc3RhdHVzL3dhcm5pbmcteWVsbG93LnN2Zyk7IH1cbiAgICAgICAgJi5pcy1yZW1pbmRlciAgICB7IHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDIxcHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2luYm94LXN0YXR1cy9iZWxsLnN2Zyk7IH1cbiAgICAgICAgJi5pcy1zY2hlZHVsZWQgICB7IHdpZHRoOiAyMXB4OyBoZWlnaHQ6IDIwcHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2luYm94LXN0YXR1cy90aW1lci5zdmcpOyB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gIE1haW4gY29sdW1uIOKAlCB0aHJlZSByb3dzICsgb3B0aW9uYWwgdGFncyByb3dcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBDb21wYWN0IHJlY2lwZTogaW4gdGhpcyBjb21wb25lbnQgY29udGV4dCB0aGUgZ2xvYmFsIHR5cG9ncmFwaHlcbiAgICAvLyBsaW5lLWhlaWdodHMgKDE0LzI0LCAxMi8yMCkgcmVhZCB0b28gYWlyeS4gRmlnbWEgdXNlcyBnYXA6IC0yIHRvXG4gICAgLy8gcHVsbCB0aGUgcm93cyB0b2dldGhlci4gQ1NTIGdhcCBjYW4ndCBnbyBuZWdhdGl2ZSwgc28gd2Ugc2V0XG4gICAgLy8gZ2FwOiAwIGhlcmUgYW5kIGFwcGx5IG1hcmdpbi10b3A6IC0ycHggb24gcm93cyAyLzMg4oCUIHRoZVxuICAgIC8vIGxpbmUtaGVpZ2h0cyBoYXZlIH41cHggb2YgaGFsZi1sZWFkaW5nIHBlciByb3csIHNvIGEgLTJweCBudWRnZVxuICAgIC8vIHRpZ2h0ZW5zIHZpc3VhbCByaHl0aG0gd2l0aG91dCBiYXNlbGluZSBvdmVybGFwLlxuICAgIC5pbmJveC1tZXNzYWdlLW1haW4ge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIH1cblxuICAgIC8vIC0tLS0gUm93IDE6IHNlbmRlciArIGFjdGlvbnMgLS0tLVxuICAgIC5pbmJveC1tZXNzYWdlLXJvdy0xIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgfVxuICAgIC5pbmJveC1tZXNzYWdlLXNlbmRlciB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtc3R5bGUtYm9keS1ib2xkLW1kOyAgICAgICAvLyBib2xkIGJ5IGRlZmF1bHQ7IG9wZW5lZCBvdmVycmlkZXNcbiAgICAgICAgY29sb3I6IHZhcigtLW1zZy10ZXh0KTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICAgIC8vIE9wZW5lZCAoPSByZWFkKSDihpIgbWVkaXVtIHdlaWdodCBpbnN0ZWFkIG9mIGJvbGRcbiAgICAmOm5vdCguaW5ib3gtbWVzc2FnZS11bnJlYWQpIC5pbmJveC1tZXNzYWdlLXNlbmRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtc3R5bGUtYm9keS1tZWRpdW0tbWQ7XG4gICAgfVxuXG4gICAgLy8gLS0tLSBBY3Rpb25zIGNsdXN0ZXIgKHBhcGVyY2xpcCArIGJvb2ttYXJrICsgZGVsZXRlIGluIGZsZXgtcm93KSAtLS0tXG4gICAgLy8gV2lkdGgtY29sbGFwc2UgYW5pbWF0aW9uIOKAlCBjb3BpZWQgZnJvbSBxZG5hcHJvLWhpc3RvcnktaXRlbS4gRGVmYXVsdFxuICAgIC8vIHN0YXRlOiBwYXBlcmNsaXAgdmlzaWJsZSBhdCAyMHB4LCBib29rbWFyayArIGRlbGV0ZSBjb2xsYXBzZWQgdG9cbiAgICAvLyB3aWR0aCAwLiBPbiBob3Zlci9mb2N1cy13aXRoaW46IHBhcGVyY2xpcCBjb2xsYXBzZXMgdG8gd2lkdGggMCxcbiAgICAvLyBidXR0b25zIGV4cGFuZCB0byB3aWR0aCAyNHB4LiBUaGUgZGVsZXRlLWJ1dHRvbiBwaWNrcyB1cCBhIDRweFxuICAgIC8vIG1hcmdpbi1sZWZ0IG9ubHkgd2hlbiBleHBhbmRlZCBzbyB0aGUgY2x1c3RlciBzaXRzIGZsdXNoIGluIHRoZVxuICAgIC8vIGNvcm5lciB3aGVuIG9ubHkgdGhlIGJvb2ttYXJrIGlzIHZpc2libGUgKD0gYm9va21hcmtlZC1zdGF0ZSkuXG4gICAgLmluYm94LW1lc3NhZ2UtYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aWdodCBjbHVzdGVyIOKAlCBzZWUgbWFyZ2luLWxlZnQgcnVsZVxuICAgIH1cbiAgICAuaW5ib3gtbWVzc2FnZS1wYXBlcmNsaXAge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1tc2ctdGV4dC1tdXRlZCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggICAgIDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgICAxNTBtcyBlYXNlO1xuICAgIH1cbiAgICAvLyBGb3J3YXJkZWQtaW5kaWNhdG9yOiB2ZXJwbGFhdHN0IHVpdCByb3ctMSBuYWFyIGhpZXIsIG5hYXN0IGRlIHZsYWcgKEtpbSAzMS4wNy4yMDI2KVxuICAgIC8vIC0gemllIGRlIHRvZWxpY2h0aW5nIGluIHFkbmEtaW5ib3gtbWVzc2FnZS5qcy4gWmVsZmRlIGtyaW1wLWlkaW9vbSBhbHMgZGUgcGFwZXJjbGlwXG4gICAgLy8gaGllcmJvdmVuLCBtZXQgw6nDqW4gdmVyc2NoaWw6IHBvaW50ZXItZXZlbnRzIEJMSUpGVCBhdXRvLCB3YW50IGFuZGVycyB3ZXJrdCBkZVxuICAgIC8vIGhvdmVyLXRvb2x0aXAgKFwiRG9vcmdlc3R1dXJkXCIpIG5pZXQuXG4gICAgLmluYm94LW1lc3NhZ2UtZm9yd2FyZGVkIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBjb2xvcjogdmFyKC0tbXNnLXRleHQtbXV0ZWQpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAyMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICAgMTUwbXMgZWFzZTtcbiAgICB9XG4gICAgLmluYm94LW1lc3NhZ2UtYm9va21hcmssXG4gICAgLmluYm94LW1lc3NhZ2UtZGVsZXRlIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICAgMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggICAgICAgMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoICAgMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQgMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAgICAgMTUwbXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgY29sb3IgICAgICAgMTIwbXMgZWFzZS1vdXQ7XG4gICAgfVxuICAgIC5pbmJveC1tZXNzYWdlLWRlbGV0ZSB7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbiAgICAvLyBPbiBob3Zlci9mb2N1cy13aXRoaW46IHBhcGVyY2xpcCB3aWR0aC1jb2xsYXBzZXMsIGJvdGggYnV0dG9uc1xuICAgIC8vIHdpZHRoLWV4cGFuZC4gRGVsZXRlIHBpY2tzIHVwIGl0cyA0cHggbWFyZ2luLWxlZnQgc28gaXQgc2l0c1xuICAgIC8vIDRweCBmcm9tIHRoZSBib29rbWFyayAobWF0Y2hlcyBxZG5hcHJvLWhpc3RvcnktaXRlbSByZWNpcGUpLlxuICAgIC8vIDpub3QoLmluYm94LW1lc3NhZ2Utc3dpcGluZykg4oCUIHN3aXBlIHN0YXRlIHN1cHByZXNzZXMgdGhlc2VcbiAgICAvLyBob3Zlci1vbmx5IHJldmVhbHMgZW50aXJlbHkgKHNlZSB0aGUgc3dpcGUtc3RhdGUgYmxvY2sgYmVsb3cpLlxuICAgIC8vIC5pbmJveC1tZXNzYWdlLWZvcndhcmRlZCBzdGFhdCBoaWVyIEJFV1VTVCBOSUVUIGJpaiAoS2ltIDMxLjA3LjIwMjY6IFwiYWxzIGlrIG92ZXJcbiAgICAvLyBkZSBtZXNzYWdlIGhvdmVyIGRhbiB2ZXJkd2lqbnQgZGUgaWNvblwiKS4gSGlqIGtyb21wIGVlcnN0IG1lZSBtZXQgZGUgcGFwZXJjbGlwIG9tXG4gICAgLy8gcGxhYXRzIHRlIG1ha2VuIHZvb3IgZGUga25vcHBlbiwgZW4gZGF0IGlzIHByZWNpZXMgdmVya2VlcmQgb206IGVlbiBwYXBlcmNsaXAgemVndFxuICAgIC8vIFwiZXIgaGFuZ3QgaWV0cyBhYW5cIiBlbiBkYXQga3VuIGplIGluIGRlIGdlb3BlbmRlIG1haWwgYWxzbm9nIHppZW4sIG1hYXIgb2YgamUgZWVuXG4gICAgLy8gYmVyaWNodCBoZWJ0IGRvb3JnZXN0dXVyZCBpcyBlZW4gU1RBTkQgZGllIG5lcmdlbnMgYW5kZXJzIGluIGRlIGxpanN0IHN0YWF0LiBFZW5cbiAgICAvLyBzdGFuZCBkaWUgdmVyZHdpam50IHpvZHJhIGplIGhlbSB3aWx0IGJla2lqa2VuIGlzIGdlZW4gc3RhbmQuIERlIGhvZWsgd29yZHQgZGFhcmRvb3JcbiAgICAvLyAyMHB4IGJyZWRlciB0aWpkZW5zIGhvdmVyOyBkYXQgZ2FhdCBhZiB2YW4gZGUgYWZ6ZW5kZXJuYWFtLCBkaWUgdG9jaCBhbCBhZmthcHQuXG4gICAgJjpob3Zlcjpub3QoLmluYm94LW1lc3NhZ2Utc3dpcGluZykgLmluYm94LW1lc3NhZ2UtcGFwZXJjbGlwLFxuICAgICY6Zm9jdXMtd2l0aGluOm5vdCguaW5ib3gtbWVzc2FnZS1zd2lwaW5nKSAuaW5ib3gtbWVzc2FnZS1wYXBlcmNsaXAge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAmOmhvdmVyOm5vdCguaW5ib3gtbWVzc2FnZS1zd2lwaW5nKSAuaW5ib3gtbWVzc2FnZS1ib29rbWFyayxcbiAgICAmOmhvdmVyOm5vdCguaW5ib3gtbWVzc2FnZS1zd2lwaW5nKSAuaW5ib3gtbWVzc2FnZS1kZWxldGUsXG4gICAgJjpmb2N1cy13aXRoaW46bm90KC5pbmJveC1tZXNzYWdlLXN3aXBpbmcpIC5pbmJveC1tZXNzYWdlLWJvb2ttYXJrLFxuICAgICY6Zm9jdXMtd2l0aGluOm5vdCguaW5ib3gtbWVzc2FnZS1zd2lwaW5nKSAuaW5ib3gtbWVzc2FnZS1kZWxldGUge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgbWluLXdpZHRoOiAyNHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDI0cHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbiAgICAmOmhvdmVyOm5vdCguaW5ib3gtbWVzc2FnZS1zd2lwaW5nKSAuaW5ib3gtbWVzc2FnZS1kZWxldGUsXG4gICAgJjpmb2N1cy13aXRoaW46bm90KC5pbmJveC1tZXNzYWdlLXN3aXBpbmcpIC5pbmJveC1tZXNzYWdlLWRlbGV0ZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gIEJvb2ttYXJrZWQg4oCUIHBlcnNpc3RlbnQgcHVycGxlIGJvb2ttYXJrIGljb24sIHBhcGVyY2xpcCBoaWRkZW4uXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQm9va21hcmtlZDogcGFwZXJjbGlwIGNvbGxhcHNlZCwgYm9va21hcmsgc3RheXMgZXhwYW5kZWQgKyBwdXJwbGUuXG4gICAgLy8gRGVsZXRlIHJlbWFpbnMgY29sbGFwc2VkIG9mZi1ob3ZlciAobWF0Y2hlcyBoaXN0b3J5LWl0ZW0tcGlubmVkKS5cbiAgICAvLyBMRVQgT1A6IC5pbmJveC1tZXNzYWdlLWZvcndhcmRlZCBob29ydCBoaWVyIGJld3VzdCBOSUVUIGJpai4gS2ltcyB2b29yYmVlbGQgaXMgZWVuXG4gICAgLy8gYmVyaWNodCBkYXQgYWxsZWJlaSBpczogZ2V2bGFnZCDDqW4gZG9vcmdlc3R1dXJkLCBlbiBkYW4gbW9ldGVuIGJlaWRlIHN0YXR1cy1nbHlwaHNcbiAgICAvLyBzYW1lbiB6aWNodGJhYXIgYmxpanZlbiDigJQgYWxsZWVuIGRlIHBhcGVyY2xpcCBrbGFwdCBoaWVyIHBlcm1hbmVudCB3ZWcsIGRlXG4gICAgLy8gZG9vcmdlc3R1dXJkLWdseXBoIG5pZXQuIFtLaW0sIDMxLjA3LjIwMjZdXG4gICAgJi5pbmJveC1tZXNzYWdlLWJvb2ttYXJrZWQge1xuICAgICAgICAuaW5ib3gtbWVzc2FnZS1wYXBlcmNsaXAge1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5pbmJveC1tZXNzYWdlLWJvb2ttYXJrIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW1zZy1hY2NlbnQpOyAgICAgICAgICAgLy8gUHVycGxlLUhpZ2hsaWdodCAjNDY1MmYzIChsaWdodCkgLyAjYTVhY2ZmIChkYXJrKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gIE5hdmlnYXRlIHZhcmlhbnQg4oCUIHNpbmdsZSBjaGV2cm9uLXJpZ2h0IGJ1dHRvbiB2ZXJ0aWNhbGx5XG4gICAgLy8gIGNlbnRlcmVkIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSByb3cuIFRoZSBjaGV2cm9uIGlzXG4gICAgLy8gIHBvc2l0aW9uOmFic29sdXRlIChvdXQgb2YgdGhlIGZsZXggZmxvdykgc28gcmV2ZWFsaW5nIGl0XG4gICAgLy8gIGRvZXNuJ3QgY2hhbmdlIHRoZSBtYWluIGNvbHVtbidzIHdpZHRoLiBPbiBob3ZlciB0aGVcbiAgICAvLyAgcmlnaHQtYWxpZ25lZCBpbmZvIGluc2lkZSBtYWluICh0aW1lc3RhbXAgKyBkdWUtdGltZSkgb25seVxuICAgIC8vICBmYWRlcyDigJQgaXRzIGxheW91dCB3aWR0aCBpcyBwcmVzZXJ2ZWQgc28gc3ViamVjdCArIHByZXZpZXdcbiAgICAvLyAgZG9uJ3QgZ3JvdyBpbnRvIHRoZSBmcmVlZCBzcGFjZS4gVGhlIGNoZXZyb24gdGhlbiB2aXN1YWxseVxuICAgIC8vICB0YWtlcyB0aGVpciBzbG90LlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICYuaW5ib3gtbWVzc2FnZS1uYXZpZ2F0ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuaW5ib3gtbWVzc2FnZS1uYXYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5ib3gtbWVzc2FnZS10aW1lc3RhbXAsXG4gICAgICAgIC5pbmJveC1tZXNzYWdlLWR1ZSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyOm5vdCguaW5ib3gtbWVzc2FnZS1zd2lwaW5nKSAuaW5ib3gtbWVzc2FnZS1uYXYsXG4gICAgICAgICY6Zm9jdXMtd2l0aGluOm5vdCguaW5ib3gtbWVzc2FnZS1zd2lwaW5nKSAuaW5ib3gtbWVzc2FnZS1uYXYge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3Zlcjpub3QoLmluYm94LW1lc3NhZ2Utc3dpcGluZykgLmluYm94LW1lc3NhZ2UtdGltZXN0YW1wLFxuICAgICAgICAmOmhvdmVyOm5vdCguaW5ib3gtbWVzc2FnZS1zd2lwaW5nKSAuaW5ib3gtbWVzc2FnZS1kdWUsXG4gICAgICAgICY6Zm9jdXMtd2l0aGluOm5vdCguaW5ib3gtbWVzc2FnZS1zd2lwaW5nKSAuaW5ib3gtbWVzc2FnZS10aW1lc3RhbXAsXG4gICAgICAgICY6Zm9jdXMtd2l0aGluOm5vdCguaW5ib3gtbWVzc2FnZS1zd2lwaW5nKSAuaW5ib3gtbWVzc2FnZS1kdWUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbm9yIHVzZXIgbW90aW9uIHByZWZlcmVuY2UgKG1hdGNoZXMgTm92YSAvIGhpc3RvcnktaXRlbSkuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgLmluYm94LW1lc3NhZ2UtcGFwZXJjbGlwLFxuICAgICAgICAuaW5ib3gtbWVzc2FnZS1ib29rbWFyayxcbiAgICAgICAgLmluYm94LW1lc3NhZ2UtZGVsZXRlLFxuICAgICAgICAuaW5ib3gtbWVzc2FnZS1uYXYsXG4gICAgICAgIC5pbmJveC1tZXNzYWdlLXRpbWVzdGFtcCxcbiAgICAgICAgLmluYm94LW1lc3NhZ2UtZHVlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gV2hlbiBOT1QgYm9va21hcmtlZCBBTkQgbm90IGhvdmVyZWQsIHRoZSBkZWxldGUgYnV0dG9uIGlzIGhpZGRlblxuICAgIC8vIChhbHJlYWR5IGhhbmRsZWQgdmlhIC5pbmJveC1tZXNzYWdlLWhvdmVyLWJ1dHRvbnMgb3BhY2l0eSksIHNvXG4gICAgLy8gb25seSB0aGUgYm9va21hcmsgbmVlZHMgYSBzcGVjaWFsIFwic3RpbGwgaGlkZGVuIGlmIG5vdCBib29rbWFya2VkXG4gICAgLy8gYW5kIG5vdCBob3ZlcmVkXCIgcnVsZSDigJQgYWxyZWFkeSBjb3JyZWN0IHZpYSB0aGUgY2FzY2FkZSBhYm92ZS5cblxuICAgIC8vIFBlcnNpc3RlbnQgYm9va21hcmsgKyBkZWxldGUgbXVzdCByZW1haW4gaW4gdGhlaXIgb3duIHZpc3VhbCBvcmRlclxuICAgIC8vIHdoZW4gcmV2ZWFsZWQgZHVyaW5nIGhvdmVyLCBzbyBqdXN0IGtlZXBpbmcgdGhlbSBpbiB0aGUgc2FtZSBET01cbiAgICAvLyB3cmFwcGVyIGlzIGVub3VnaC5cblxuICAgIC8vIC0tLS0gUm93IDI6IHN1YmplY3QgKyB0aW1lc3RhbXAgLS0tLVxuICAgIC5pbmJveC1tZXNzYWdlLXJvdy0yIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7ICAgICAgICAgICAgICAgICAgICAgICAvLyBjb21wYWN0IHJlY2lwZSDigJQgc2VlIC5pbmJveC1tZXNzYWdlLW1haW5cbiAgICB9XG4gICAgLmluYm94LW1lc3NhZ2Utc3ViamVjdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtc3R5bGUtYm9keS1tZWRpdW0tbWQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1tc2ctdGV4dCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAmLmluYm94LW1lc3NhZ2UtdW5yZWFkIC5pbmJveC1tZXNzYWdlLXN1YmplY3Qge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXN0eWxlLWJvZHktYm9sZC1tZDtcbiAgICAgICAgY29sb3I6IHZhcigtLW1zZy1hY2NlbnQpO1xuICAgIH1cbiAgICAuaW5ib3gtbWVzc2FnZS10aW1lc3RhbXAge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1zdHlsZS1ib2R5LW1lZGl1bS1zbTtcbiAgICAgICAgY29sb3I6IHZhcigtLW1zZy10ZXh0KTtcbiAgICB9XG4gICAgJi5pbmJveC1tZXNzYWdlLXVucmVhZCAuaW5ib3gtbWVzc2FnZS10aW1lc3RhbXAge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXN0eWxlLWJvZHktYm9sZC1zbTtcbiAgICAgICAgY29sb3I6IHZhcigtLW1zZy1hY2NlbnQpO1xuICAgIH1cblxuICAgIC8vIC0tLS0gUm93IDM6IHByZXZpZXcgKyBkdWUtdGltZSAtLS0tXG4gICAgLmluYm94LW1lc3NhZ2Utcm93LTMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDsgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbXBhY3QgcmVjaXBlIOKAlCBzZWUgLmluYm94LW1lc3NhZ2UtbWFpblxuICAgIH1cbiAgICAuaW5ib3gtbWVzc2FnZS1wcmV2aWV3IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1zdHlsZS1ib2R5LXJlZ3VsYXItc207XG4gICAgICAgIGNvbG9yOiB2YXIoLS1tc2ctdGV4dCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAuaW5ib3gtbWVzc2FnZS1kdWUge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXN0eWxlLWJvZHktcmVndWxhci1zbTtcbiAgICAgICAgY29sb3I6IHZhcigtLW1zZy10ZXh0KTtcblxuICAgICAgICBxZG5hcHJvLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbXNnLXRleHQtbXV0ZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLSBUYWdzIHJvdyAtLS0tXG4gICAgLmluYm94LW1lc3NhZ2UtdGFncyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyAgVXJnZW5jeSBtYXJrZXIg4oCUIGRlYWRsaW5lLXN0YXR1cz1cIm92ZXJkdWVcIiB8IFwiZHVlLXNvb25cIi5cbiAgICAvLyAgQ29sb3VycyB0aGUgZHVlLXRpbWUgdGV4dCArIGl0cyBjbG9jayBpY29uIG9ubHkuIFNlZSB0aGVcbiAgICAvLyAgZHVwbGljYXRpb24gbm90ZSBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZSBhYm91dCB0aGUgcGFnZSdzXG4gICAgLy8gIG93biBgZGF0YS1kZWFkbGluZS1zdGF0dXNgIHJ1bGUgaW4gX2luYm94LnNjc3MuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgJi5pbmJveC1tZXNzYWdlLWRlYWRsaW5lLW92ZXJkdWUgLmluYm94LW1lc3NhZ2UtZHVlLFxuICAgICYuaW5ib3gtbWVzc2FnZS1kZWFkbGluZS1vdmVyZHVlIC5pbmJveC1tZXNzYWdlLWR1ZSBxZG5hcHJvLWljb24ge1xuICAgICAgICBjb2xvcjogJG1zZy1kZWFkbGluZS1vdmVyZHVlO1xuICAgIH1cbiAgICAmLmluYm94LW1lc3NhZ2UtZGVhZGxpbmUtZHVlLXNvb24gLmluYm94LW1lc3NhZ2UtZHVlLFxuICAgICYuaW5ib3gtbWVzc2FnZS1kZWFkbGluZS1kdWUtc29vbiAuaW5ib3gtbWVzc2FnZS1kdWUgcWRuYXByby1pY29uIHtcbiAgICAgICAgY29sb3I6ICRtc2ctZGVhZGxpbmUtZHVlLXNvb247XG4gICAgfVxuICAgIC8vIFRhZ2xlc3MgcGhvbmUtcm93IGNhc2UgKHNlZSAuaW5ib3gtbWVzc2FnZS1kdWUtc3RhbmRhbG9uZSBjbGFzcyxcbiAgICAvLyBzZXQgaW4gSlMgb25seSB3aGVuIGRlYWRsaW5lLXN0YXR1cyBpcyBvbiBBTkQgdGhlcmUgYXJlIG5vIHRhZ3MpOlxuICAgIC8vIGdpdmUgdGhlIGR1ZS1jaGlwIGEgdGludGVkIHBpbGwgc28gaXQgcmVhZHMgYXMgYSBkZWxpYmVyYXRlXG4gICAgLy8gb25lLWxpbmUgc3VtbWFyeSByYXRoZXIgdGhhbiBhIGJhcmUgbGVmdG92ZXIuXG4gICAgJi5pbmJveC1tZXNzYWdlLWRlYWRsaW5lLW92ZXJkdWUgLmluYm94LW1lc3NhZ2UtZHVlLXN0YW5kYWxvbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtc2ctZGVhZGxpbmUtb3ZlcmR1ZSwgMC4xKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIHBhZGRpbmc6IDJweCA4cHggMnB4IDZweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIH1cbiAgICAmLmluYm94LW1lc3NhZ2UtZGVhZGxpbmUtZHVlLXNvb24gLmluYm94LW1lc3NhZ2UtZHVlLXN0YW5kYWxvbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtc2ctZGVhZGxpbmUtZHVlLXNvb24sIDAuMSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBwYWRkaW5nOiAycHggOHB4IDJweCA2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyAgU2VsZWN0aW9uIGNoZWNrYm94IOKAlCBzZWxlY3RhYmxlIChob3Zlci1vbmx5LCBtb3VzZSkgL1xuICAgIC8vICBzZWxlY3Rpb24tbW9kZSAocGVybWFuZW50KS4gU2VlIHRoZSBhcmNoaXRlY3R1cmUgbm90ZSBhdCB0aGVcbiAgICAvLyAgdG9wIG9mIHRoaXMgZmlsZSDigJQgYm90aCBub2RlcyBhbHdheXMgcmVuZGVyIGluc2lkZSB0aGlzIGZpeGVkXG4gICAgLy8gIDM0eDM0IHNsb3QsIENTUyBvbmx5IGV2ZXIgdG9nZ2xlcyBvcGFjaXR5IGJldHdlZW4gdGhlbS5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAuaW5ib3gtbWVzc2FnZS1hdmF0YXItc2xvdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgIC5pbmJveC1tZXNzYWdlLWF2YXRhci1zbG90ID4gcWRuYXByby1hdmF0YXIsXG4gICAgLmluYm94LW1lc3NhZ2UtYXZhdGFyLXNsb3QgPiAuaW5ib3gtbWVzc2FnZS1hdmF0YXItd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTIwbXMgZWFzZTtcbiAgICB9XG4gICAgLmluYm94LW1lc3NhZ2Utc2VsZWN0LWNoZWNrYm94IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAvLyBTdGFuZGluZyBRRE5BIHJ1bGU6IHNtYWxsL2RlZmF1bHQgY2hlY2tib3ggc2l6ZSAoMTZweCkg4oCUIG5ldmVyXG4gICAgICAgIC8vIHRoZSB0b3VjaC90b3VjaC1zbSBQV0Etb25seSB2YXJpYW50cyDigJQgaW4gdGhlIGJhY2tvZmZpY2UuXG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGVhc2U7XG4gICAgfVxuXG4gICAgLy8gc2VsZWN0aW9uLW1vZGU6IHBlcm1hbmVudCBzd2FwLCBhbnkgcG9pbnRlciB0eXBlLlxuICAgICYuaW5ib3gtbWVzc2FnZS1zZWxlY3Rpb24tbW9kZSB7XG4gICAgICAgIC5pbmJveC1tZXNzYWdlLWF2YXRhci1zbG90ID4gcWRuYXByby1hdmF0YXIsXG4gICAgICAgIC5pbmJveC1tZXNzYWdlLWF2YXRhci1zbG90ID4gLmluYm94LW1lc3NhZ2UtYXZhdGFyLXdyYXAge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5pbmJveC1tZXNzYWdlLXNlbGVjdC1jaGVja2JveCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzZWxlY3RhYmxlOiBob3Zlci1vbmx5IHN3YXAsIE1PVVNFIE9OTFkuIGAoaG92ZXI6IGhvdmVyKWAgZXhjbHVkZXNcbiAgICAvLyB0b3VjaCBkZXZpY2VzIChubyB0cnVlIGhvdmVyIHRoZXJlKSwgc28gdGhlIGF2YXRhciBuZXZlciBkaXNhcHBlYXJzXG4gICAgLy8gb24gdGFwIOKAlCB0b3VjaCB1c2VycyBhbHdheXMgc2VlIHRoZSBhdmF0YXI7IHNlbGVjdGlvbiB0aGVyZSBuZWVkc1xuICAgIC8vIHNlbGVjdGlvbi1tb2RlIGluc3RlYWQuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgJi5pbmJveC1tZXNzYWdlLXNlbGVjdGFibGU6bm90KC5pbmJveC1tZXNzYWdlLXNlbGVjdGlvbi1tb2RlKTpob3ZlciB7XG4gICAgICAgICAgICAuaW5ib3gtbWVzc2FnZS1hdmF0YXItc2xvdCA+IHFkbmFwcm8tYXZhdGFyLFxuICAgICAgICAgICAgLmluYm94LW1lc3NhZ2UtYXZhdGFyLXNsb3QgPiAuaW5ib3gtbWVzc2FnZS1hdmF0YXItd3JhcCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbmJveC1tZXNzYWdlLXNlbGVjdC1jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vICBTd2lwZSBzdGF0ZSDigJQgdGhlIHN3aXBlIHdyYXBwZXIgc2V0cyBgc3dpcGluZ2Agd2hpbGUgYSBkcmFnIGlzXG4gICAgLy8gIGluIHByb2dyZXNzLiBGb3JjZXMgYW4gb3BhcXVlIGJhY2tncm91bmQgKHRoZSBnbG9iYWwgY2FyZC1zdXJmYWNlXG4gICAgLy8gIHRva2VuIOKAlCBvcGFxdWUgaW4gYm90aCBsaWdodCBhbmQgZGFyaywgdW5saWtlIC0tbXNnLWJnIHdoaWNoIGlzXG4gICAgLy8gIGB0cmFuc3BhcmVudGAgaW4gZGFyayBtb2RlKSBzbyB0aGUgYWN0aW9uIHBhbmVsIHJldmVhbGVkIGJlaGluZFxuICAgIC8vICB0aGUgcm93IGNhbid0IHNob3cgdGhyb3VnaC4gT25seSBjb2xvdXIvb3BhY2l0eSBjaGFuZ2UgaGVyZSwgc29cbiAgICAvLyAgdGhlcmUgaXMgbm8gbGF5b3V0IHNoaWZ0IHdoZW4gaXQgdG9nZ2xlcy4gVGhlIGhvdmVyLW9ubHkgcmV2ZWFsc1xuICAgIC8vICB0aGVtc2VsdmVzIGFyZSBzdXBwcmVzc2VkIHZpYSB0aGUgYDpub3QoLmluYm94LW1lc3NhZ2Utc3dpcGluZylgXG4gICAgLy8gIGFkZGl0aW9ucyBmdXJ0aGVyIHVwIHRoaXMgZmlsZSAocGFwZXJjbGlwL2Jvb2ttYXJrL2RlbGV0ZS9uYXYpLlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICYuaW5ib3gtbWVzc2FnZS1zd2lwaW5nIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkLCAjZmZmZmZmKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyAgRGlzYWJsZWQg4oCUIHdpbnMgb3ZlciBob3Zlci9zZWxlY3RlZC9ib29rbWFya2VkLlxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICYuaW5ib3gtbWVzc2FnZS1kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgIC8vIFN1cHByZXNzIGZvY3VzIHN0eWxpbmcgZXZlbiBpZiAuZm9yY2UtZm9jdXMgaXMgb24gKHByZXZpZXcgcGFyaXR5KVxuICAgICAgICAmOmZvY3VzLXZpc2libGUsXG4gICAgICAgICYuZm9yY2UtZm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgQmFja2dyb3VuZC1jb250ZXh0OiBwdXJwbGUgaG9zdCAgW0tpbSAyMDI2LTA0LTI5IHBhdHRlcm5dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBXaGVuIHRoZSBpbmJveC1tZXNzYWdlIHNpdHMgb24gYSBsaWdodC1wdXJwbGUgaG9zdCBiZyAoc2lkZWJhciAvXG4vLyAgcGFhcnNlIGNhcmQpLCB0aGUgZGVmYXVsdCB3aGl0ZSBiZyBsb29rcyBmaW5lIGJ1dCB0aGUgaG92ZXItZ3JleVxuLy8gIHJlYWRzIGFzIG9mZi4gT2ZmZXIgYSBwdXJwbGUtdGludGVkIGhvdmVyIHZpYSBvcHQtaW4gYXR0cmlidXRlLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5bZGF0YS1iZy1jb250ZXh0PVwicHVycGxlXCJdIC5xZG5hcHJvLWluYm94LW1lc3NhZ2Uge1xuICAgIC0tbXNnLWJnLWhvdmVyOiAjZGFkZGYyOyAgIC8vIG1hdGNoZXMgc2Vjb25kYXJ5LXB1cnBsZS1ob3ZlclxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBEYXJrLW1vZGUgb3ZlcnJpZGVzXG4vLyAgW0lORkVSUkVEXSDigJQgRmlnbWEgc2hvd2VkIG9ubHkgbGlnaHQuIE1pcnJvcmluZyB0aGUgc2FtZVxuLy8gIDQtc3RhdGUgcGFsZXR0ZSBpbnRvIGRhcmsgc3VyZmFjZSB0b2tlbnMuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1pbmJveC1tZXNzYWdlIHtcbiAgICAtLW1zZy1iZzogICAgICAgICAgdHJhbnNwYXJlbnQ7XG4gICAgLS1tc2ctYmctaG92ZXI6ICAgICM1NjViNjY7ICAgICAgIC8vIFN1YnRsZS1Ib3ZlciAoZGFyaylcbiAgICAtLW1zZy10ZXh0OiAgICAgICAgI2UxZTNlNjsgICAgICAgLy8gVGV4dC9Pbi1Cb2R5IChkYXJrKVxuICAgIC0tbXNnLXRleHQtbXV0ZWQ6ICAjYTZhYWIzOyAgICAgICAvLyBCb2R5LVNlY29uZGFyeSAoZGFyaylcbiAgICAtLW1zZy1hY2NlbnQ6ICAgICAgI2E1YWNmZjsgICAgICAgLy8gUHVycGxlLUhpZ2hsaWdodCBsaWdodCB2YXJpYW50IGZvciBkYXJrXG5cbiAgICAmLmluYm94LW1lc3NhZ2Utc2VsZWN0ZWQge1xuICAgICAgICAtLW1zZy1iZzogICAgICAgcmdiYSgxNjUsIDE3MiwgMjU1LCAwLjE4KTtcbiAgICAgICAgLS1tc2ctYmctaG92ZXI6IHJnYmEoMTY1LCAxNzIsIDI1NSwgMC4yOCk7XG4gICAgfVxuXG4gICAgJi5pbmJveC1tZXNzYWdlLWFjdGl2ZSB7XG4gICAgICAgIC0tbXNnLWJnOiAgICAgICByZ2JhKDE2NSwgMTcyLCAyNTUsIDAuMTgpO1xuICAgICAgICAtLW1zZy1iZy1ob3ZlcjogcmdiYSgxNjUsIDE3MiwgMjU1LCAwLjI4KTtcblxuICAgICAgICAvLyAtLW1zZy1hY2NlbnQgaXMgYWxyZWFkeSB0aGUgbGlnaHQgcHVycGxlIGluIGRhcmsgbW9kZSAoc2VlIGFib3ZlKSxcbiAgICAgICAgLy8gc28gdGhlIGJhciBpbmhlcml0cyBpdCBhbmQgbmVlZHMgbm8gY29sb3VyIG9mIGl0cyBvd24gaGVyZS5cbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgM3B4IDAgMCAwIHZhcigtLW1zZy1hY2NlbnQpO1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSxcbiAgICAmLmZvcmNlLWZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgIDAgMCAwIDJweCAjYTVhY2ZmLFxuICAgICAgICAgICAgMCAwIDAgNnB4IHJnYmEoNzAsIDgyLCAyNDMsIDAuNDApO1xuICAgIH1cblxuICAgICYuaW5ib3gtbWVzc2FnZS1hY3RpdmU6Zm9jdXMtdmlzaWJsZSxcbiAgICAmLmluYm94LW1lc3NhZ2UtYWN0aXZlLmZvcmNlLWZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgIGluc2V0IDNweCAwIDAgMCB2YXIoLS1tc2ctYWNjZW50KSxcbiAgICAgICAgICAgIDAgMCAwIDJweCAjYTVhY2ZmLFxuICAgICAgICAgICAgMCAwIDAgNnB4IHJnYmEoNzAsIDgyLCAyNDMsIDAuNDApO1xuICAgIH1cblxuICAgIC8vIEJvb2ttYXJrIGNvbG9yIGZvbGxvd3MgLS1tc2ctYWNjZW50IHdoaWNoIGlzIGFscmVhZHkgb3ZlcnJpZGRlblxuICAgIC8vIGZvciBkYXJrIGFib3ZlIOKAlCBubyBleHRyYSBydWxlIG5lZWRlZC5cbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL2lucHV0L19pbnB1dC1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG4ucWRuYXByby1pbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogaW50ZXIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG4vLyBzaXplPVwidG91Y2hcIiDigJQgMjBweCB0ZXh0LCB+MzBweCBsaW5lLWhlaWdodCAoc2FtZSB+MTBweCB0b3RhbCBsZWFkaW5nIHRoZSAxNHB4LzI0cHhcbi8vIGRlZmF1bHQgaGFzLCBqdXN0IHNjYWxlZCB1cCkuIEFsc28gYnVtcHMgLmlucHV0LWZpZWxkIC8gLmlucHV0LWV4dGVybmFsLWJ0biAoYmVsb3cpIGFuZFxuLy8gcHJvcGFnYXRlcyBzaXplPVwidG91Y2hcIiB0byBldmVyeSBpbnRlcm5hbCBxZG5hcHJvLWljb24tYnRuIGNoaWxkIChzZWUgcWRuYS1pbnB1dC5qc1xuLy8gX3NpemVJY29uQnRuKSBzbyBjbGVhci14L8Kxc3RlcHBlcnMvZHJvcGRvd24vZXllL2NoZXZyb24gYmVjb21lIDQ0eDQ0IHRhcCB0YXJnZXRzIHRvby5cbi8vIFBXQS1PTkxZIOKAlCBkbyBub3QgdXNlIGluIGJhY2tvZmZpY2UyIGRlc2t0b3AvdGFibGV0IHNjcmVlbnM7IHVzZSBcImJpZ1wiL1wic21hbGxcIiB0aGVyZS5cbi8vIFsyMDI2LTA3LTAxXVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtc2l6ZS10b3VjaCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWhlYWRlciAuaW5wdXQtbGFiZWwge1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzBiMGIwZDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1oZWFkZXIgLmlucHV0LWxhYmVsIC5pbnB1dC1yZXF1aXJlZCB7XG4gIGNvbG9yOiAjYzY1YTVhO1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1oZWFkZXIgLmlucHV0LWxhYmVsIC5pbnB1dC1vcHRpb25hbCB7XG4gIGNvbG9yOiAjNmI2Zjc4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tbGVmdDogMnB4O1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWhlYWRlciAuaW5wdXQtaW5mby1idG4ge1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1oaW50IHtcbiAgY29sb3I6ICM2YjZmNzg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXNpemUtYmlnIC5pbnB1dC1leHRlcm5hbC1idG4ge1xuICB3aWR0aDogNTJweDtcbiAgbWluLXdpZHRoOiA1MnB4O1xuICBtaW4taGVpZ2h0OiA1MnB4O1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtc2l6ZS1zbWFsbCAuaW5wdXQtZXh0ZXJuYWwtYnRuIHtcbiAgd2lkdGg6IDQwcHg7XG4gIG1pbi13aWR0aDogNDBweDtcbiAgbWluLWhlaWdodDogNDBweDtcbn1cbi8vIHNpemU9XCJ0b3VjaFwiIOKAlCByb29tIGZvciB0aGUgNDR4NDQgaWNvbi1idG4gKHNpemU9XCJ0b3VjaFwiKSB0aGlzIHNpemUgcHJvcGFnYXRlcyB0by5cbi8vIFBXQS1PTkxZLCBkbyBub3QgdXNlIGluIGJhY2tvZmZpY2UyIGRlc2t0b3AvdGFibGV0IHNjcmVlbnMuIFsyMDI2LTA3LTAxXVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtc2l6ZS10b3VjaCAuaW5wdXQtZXh0ZXJuYWwtYnRuIHtcbiAgd2lkdGg6IDU2cHg7XG4gIG1pbi13aWR0aDogNTZweDtcbiAgbWluLWhlaWdodDogNTZweDtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBmbGV4OiAxO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzRjN2NjO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2Utb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0O1xufVxuLyogS2xldXIgdmFuIGhldCBMRUFESU5HLUlDT09OIGluIGRlIGJhc2lzIChiZXNsdWl0IDc4LCB2ZXJ2b2xnIDMxLjA3LjIwMjYpOiBzdG9uZFxuICAgb3AgI2E2YWFiMyBlbiBoYWFsZGUgZGFhcm1lZSBkZXplbGZkZSBjb250cmFzdC1pbnZlcnNpZSBhbHMgZGUgcGxhY2Vob2xkZXIgaGFkLFxuICAgbmFtZWxpamsgZWVuIExBR0VSRSB2ZXJob3VkaW5nIGRhbiBkZSB1aXRnZXNjaGFrZWxkZSBzdGFuZCAoIzg5OGU5OSksIHdhYXJkb29yXG4gICBlZW4gZ2V3b29uIHZlbGQgbGVlc3QgYWxzIGVlbiB2ZWxkIGRhdCBqZSBuaWV0IG1hZyBnZWJydWlrZW4uIEdlbWV0ZW4gbWV0IGRlXG4gICBXQ0FHLWZvcm11bGUsIG5pZXQgb3AgaGV0IG9vZzpcbiAgICAgb3VkICAjYTZhYWIzICBvcCB3aXQgI2ZmZmZmZiAgICAgICAgICAgICAgLT4gMi4zMzoxXG4gICAgIG91ZCAgI2E2YWFiMyAgb3AgLS1jLWdyZXktMTAwICNlN2U5ZWMgICAgIC0+IDEuOTE6MVxuICAgICBvdWQgICNhNmFhYjMgIG9wIGhldCB1aXRnZXNjaGFrZWxkZSB2bGFrICNmMGYxZjIgLT4gMi4wNjoxXG4gICAgIGRpc2FibGVkLWljb29uICM4OThlOTkgb3AgI2YwZjFmMiAoemlqbiBlaWdlbiB2bGFrKSAtPiAyLjkwOjFcbiAgICAgbmlldXcgdmFyKC0tYy10ZXh0LW11dGVkKSAjNmU3MjgwIG9wIHdpdCAgLT4gNC43OToxXG4gICAgIG5pZXV3IG9wICNlN2U5ZWMgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IDMuOTQ6MVxuICAgICBuaWV1dyBvcCAjZjBmMWYyICAgICAgICAgICAgICAgICAgICAgICAgICAtPiA0LjI0OjFcbiAgIERlIHJhbmdvcmRlIGlzIGRhYXJtZWUgd2VlciBnZXdvb24tZG9ua2VyZGVyLWRhbi1kaXNhYmxlZC4gSGV0IGRpc2FibGVkLWljb29uXG4gICB6ZWxmIGJsaWpmdCAjODk4ZTk5OiBkYXQgemF0IG5pZXQgZm91dCwgaGV0IHdlcmQgaW5nZWhhYWxkIGRvb3IgZWVuIGJhc2lzIGRpZSB0ZVxuICAgbGljaHQgc3RvbmQuIERlIGdyaWp6ZSB2YXJpYW50IGhhZCBkaXQgaWNvb24gYWwgZWVyZGVyIG9wIC0tYy10ZXh0LW11dGVkIGdlemV0O1xuICAgZGllIHJlZ2VsIGJsaWpmdCBzdGFhbiBhbHMgemVsZnN0YW5kaWdlIGdhcmFudGllIHZvb3IgZGllIHZhcmlhbnQuXG4gICBNZXQgZmFsbGJhY2sgIzZlNzI4MCBlcmluLCB3YW50IGBjb2xvcmAgem9uZGVyIGZhbGxiYWNrIHZhbHQgYmlqIGVlbiBuaWV0XG4gICByZXNvbHZlbmRlIHZhciB0ZXJ1ZyBvcCBlcnZlbiwgZW4gZGF0IGlzIGhpZXIgZGUgYmlqbmEtendhcnRlIHZlbGR0ZWtzdC5cbiAgIERhcmsgdGhlbWUsIGdsYXNzIGVuIGRhcmstcHVycGxlIHppam4gbmlldCBnZXJhYWt0OiBkaWUgaGViYmVuIGVsayBodW4gZWlnZW5cbiAgIHJlZ2VsIHZvb3IgZGl0IGljb29uLCB2ZXJkZXJvcCBpbiBkaXQgYmVzdGFuZC4gKi9cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCAuaW5wdXQtbGVhZGluZy1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2ZTcyODApO1xuICBmbGV4LXNocmluazogMDtcbn1cbi8qIExlYWRpbmcgYXZhdGFyIChkcm9wZG93biB0cmlnZ2VyIHNob3dpbmcgdGhlIHNlbGVjdGVkIHVzZXIncyBwaG90bykuIFNpdHMgaW5cbiAgIHRoZSBzYW1lIHNsb3QgYXMgdGhlIGxlYWRpbmcgaWNvbjsgc2xpZ2h0bHkgdGlnaHRlciByaWdodCBtYXJnaW4gc28gdGhlIHZhbHVlXG4gICB0ZXh0IGh1Z3MgaXQuIFtLaW0gMjAyNi0wNy0yMF0gKi9cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCAuaW5wdXQtbGVhZGluZy1hdmF0YXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMnB4O1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkIC5pbnB1dC1sZWFkaW5nLWJ0biB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tbGVmdDogLTRweDtcbn1cbi8vIGZpbHRlci1sYWJlbCBjaGlwIChzZWFyY2ggdHlwZSk6IGEgcGxhaW4gcWRuYXByby1idXR0b24gdHlwZT1cInNlY29uZGFyeS1wdXJwbGVcIlxuLy8gc2l6ZT1cInNtYWxsXCIsIHVzZWQgYXMtaXMgd2hlbiBgZmlsdGVyLWxhYmVsYCBpcyBzZXQsIGluc3RlYWQgb2YgdGhlIGljb24tb25seVxuLy8gcWRuYXByby1pY29uLWJ0biB0aGF0IHJlbmRlcnMgd2hlbiBpdCBpcyBhYnNlbnQgKHNlZSBxZG5hLWlucHV0LmpzKS5cbi8vIEl0IGNhcnJpZXMgTk8gc3R5bGluZyBvZiBpdHMgb3duIGhlcmUgb24gcHVycG9zZS4gVGhlcmUgdXNlZCB0byBiZSBhIHNpbmdsZVxuLy8gZm9udC13ZWlnaHQ6IHZhcigtLWZ3LXNlbWkpIG51ZGdlIG9uIC5pbnB1dC1maWx0ZXItbGFiZWwtYnRuOyBLaW0gcmVqZWN0ZWQgaXRcbi8vIG9uIHNpZ2h0ICgzMC4wNy4yMDI2LCBcImhldCBmb250IGlzIHZlZWwgdGUgZGlrXCIpIGFuZCB0aGUgY2hpcCBub3cgc2ltcGx5IHRha2VzXG4vLyBxZG5hcHJvLWJ1dHRvbidzIG93biB3ZWlnaHQuIERvIG5vdCByZWludHJvZHVjZSBhIGxvY2FsIG92ZXJyaWRlOiBpZiB0aGUgY2hpcFxuLy8gZXZlciBuZWVkcyBhIGRpZmZlcmVudCB3ZWlnaHQsIHRoYXQgaXMgYSB2YXJpYW50IG9uIHFkbmFwcm8tYnV0dG9uIGl0c2VsZi5cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCAuaW5wdXQtcHJldGFiLFxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkIC5pbnB1dC1wb3N0dGFiIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIGJhY2tncm91bmQ6ICNmMGYxZjI7XG4gIGNvbG9yOiAjODk4ZTk5O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCAuaW5wdXQtcHJldGFiIHFkbmFwcm8taWNvbixcbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCAuaW5wdXQtcG9zdHRhYiBxZG5hcHJvLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgY29sb3I6ICM4OThlOTk7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkIC5pbnB1dC1wcmV0YWIgLmlucHV0LXByZXRhYi10ZXh0LFxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkIC5pbnB1dC1wcmV0YWIgLmlucHV0LXBvc3R0YWItdGV4dCxcbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCAuaW5wdXQtcG9zdHRhYiAuaW5wdXQtcHJldGFiLXRleHQsXG4ucWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQgLmlucHV0LXBvc3R0YWIgLmlucHV0LXBvc3R0YWItdGV4dCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQgLmlucHV0LXByZXRhYiB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjNGM3Y2M7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQgLmlucHV0LXBvc3R0YWIge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjNGM3Y2M7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQgLmlucHV0LWZpZWxkLWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQgLmlucHV0LWZpZWxkLWlubmVyIC5pbnB1dC1uYXRpdmUge1xuICB3aWR0aDogMTAwJTtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCAuaW5wdXQtbmF0aXZlIHtcbiAgZmxleDogMTtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6ICMwYjBiMGQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1pbi13aWR0aDogMDtcbn1cbi8qIFBsYWNlaG9sZGVyLWtsZXVyIHZhbiBkZSBCQVNJUyAoYmVzbHVpdCA3OCwga2x1cyA0YiwgS2ltIDMxLjA3LjIwMjYpOiBzdG9uZCBvcFxuICAgI2E2YWFiMyBlbiBoYWFsZGUgZGFhcm1lZSBFRU4gTEFHRVJFIGNvbnRyYXN0dmVyaG91ZGluZyBkYW4gZGUgdWl0Z2VzY2hha2VsZGVcbiAgIHN0YW5kICgjODk4ZTk5KSwgd2FhcmRvb3IgZWVuIGxlZWcgdmVsZCBsZWVrIGFsc29mIGplIGhldCBuaWV0IG1vY2h0IGdlYnJ1aWtlbi5cbiAgIEdlbWV0ZW4gbWV0IGRlIFdDQUctZm9ybXVsZTpcbiAgICAgb3VkZSBiYXNpcy1wbGFjZWhvbGRlciAgI2E2YWFiMyBvcCB3aXQgICAgICAgLT4gMi4zMzoxXG4gICAgIG91ZGUgYmFzaXMtcGxhY2Vob2xkZXIgICNhNmFhYjMgb3AgI2U3ZTllYyAgIC0+IDEuOTE6MVxuICAgICBkaXNhYmxlZC1wbGFjZWhvbGRlciAgICAjODk4ZTk5IG9wICNlN2U5ZWMgICAtPiAyLjcwOjFcbiAgIHZhcigtLWMtdGV4dC1tdXRlZCkgaXMgZGV6ZWxmZGUgdG9rZW4gZGllIGRlIGdyaWp6ZSB2YXJpYW50IGhpZXJvbmRlciBhbFxuICAgZ2VicnVpa3QgKHppZSBkaWUgdG9lbGljaHRpbmcgYmlqIC5pbnB1dC1ncmV5IHZlcmRlcm9wIGluIGRpdCBiZXN0YW5kKTogb3Agd2l0XG4gICBnZWVmdCBkYXQgNC43OToxLCBvcCAjZTdlOWVjIDMuOTQ6MS4gQmVpZGUgcnVpbSBib3ZlbiBkZSBkaXNhYmxlZC1zdGFuZCwgZHVzIGRlXG4gICByYW5nb3JkZSBpcyB3ZWVyIGdld29vbi1kb25rZXJkZXItZGFuLWRpc2FibGVkLiBEZSBkaXNhYmxlZC1wbGFjZWhvbGRlciB6ZWxmIGlzXG4gICBuaWV0IGFhbmdlcGFzdDogZGllIHphdCBuaWV0IGZvdXQsIGhpaiB3ZXJkIGFsbGVlbiBpbmdlaGFhbGQgZG9vciBlZW4gYmFzaXMgZGllXG4gICB0ZSBsaWNodCBzdG9uZC4gKi9cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCAuaW5wdXQtbmF0aXZlOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkIC5pbnB1dC1uYXRpdmU6ZGlzYWJsZWQge1xuICBjb2xvcjogIzg5OGU5OTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCAuaW5wdXQtdHJhaWxpbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkIC5pbnB1dC10cmFpbGluZyAuaW5wdXQtc3VmZml4LXRleHQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNmI3MDkwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nLXJpZ2h0OiAycHg7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQgLmlucHV0LXRyYWlsaW5nIC5pbnB1dC1zdGF0ZS1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQgLmlucHV0LXRyYWlsaW5nIC5pbnB1dC1zdGF0ZS1zdWNjZXNzIHtcbiAgY29sb3I6ICM0MjhiNmU7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQgLmlucHV0LXRyYWlsaW5nIC5pbnB1dC1zdGF0ZS1lcnJvciB7XG4gIGNvbG9yOiAjYzY1YTVhO1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkIC5pbnB1dC10cmFpbGluZyAuaW5wdXQtc3RhdGUtd2FybmluZyB7XG4gIGNvbG9yOiAjZWY4ZTAyO1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkIC5pbnB1dC10cmFpbGluZyAuaW5wdXQtdHJhaWxpbmctaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjb2xvcjogI2E2YWFiMztcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCAuaW5wdXQtdHJhaWxpbmcgLmlucHV0LWNoZXZyb24ge1xuICBtYXJnaW4tcmlnaHQ6IC00cHg7XG59XG4vLyBtaWMtYnRuIC8gbm92YS1idG46IHFkbmFwcm8tYnV0dG9uIHR5cGU9XCJzdWJ0bGVcIiBpY29uLW9ubHksIGFsd2F5cyBhdCB0aGVcbi8vIGVuZCBvZiAuaW5wdXQtdHJhaWxpbmcgKG1pYyBmaXJzdCwgbm92YSBhZnRlcikuIGZsZXgtc2hyaW5rIGd1YXJkcyB0aGVtIHRoZVxuLy8gc2FtZSB3YXkgdGhlIG90aGVyIHRyYWlsaW5nIGNvbnRyb2xzIGFyZSBndWFyZGVkIGFnYWluc3QgYSBuYXJyb3cgZmllbGQuXG4ucWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQgLmlucHV0LXRyYWlsaW5nIC5pbnB1dC1taWMtYnRuLFxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkIC5pbnB1dC10cmFpbGluZyAuaW5wdXQtbm92YS1idG4ge1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXNpemUtYmlnIC5pbnB1dC1maWVsZCB7XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1zaXplLXNtYWxsIC5pbnB1dC1maWVsZCB7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG59XG4vLyBQV0EtT05MWSwgZG8gbm90IHVzZSBpbiBiYWNrb2ZmaWNlMiBkZXNrdG9wL3RhYmxldCBzY3JlZW5zLiBbMjAyNi0wNy0wMV1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXNpemUtdG91Y2ggLmlucHV0LWZpZWxkIHtcbiAgbWluLWhlaWdodDogNTZweDtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtZGVmaW5lZC1maWVsZCAuaW5wdXQtZmllbGQge1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBnYXA6IDA7XG59XG4vKiBbS2ltIDIwMjYtMDUtMDFdIFRyYWlsaW5nIHBvc2l0aW9uZWQgYWJzb2x1dGUgc28gdGhlIHRleHRhcmVhIGZpbGxzIGZ1bGxcbiAgIHdpZHRoIOKAlCBuYXRpdmUgc2Nyb2xsYmFyIGxhbmRzIGZsdXNoIG9uIHRoZSByaWdodCBib3JkZXIuIENsZWFyLXggZmxvYXRzXG4gICBvdmVyIHRoZSB0b3AtcmlnaHQgY29ybmVyIGp1c3QgbGVmdCBvZiB0aGUgc2Nyb2xsYmFyLiAqL1xuLnFkbmFwcm8taW5wdXQuaW5wdXQtdHlwZS1leHBhbmRpbmcgLmlucHV0LWZpZWxkIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLWV4cGFuZGluZyAuaW5wdXQtZmllbGQgLmlucHV0LWxlYWRpbmctaWNvbiB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtdHlwZS1leHBhbmRpbmcgLmlucHV0LWZpZWxkIC5pbnB1dC10cmFpbGluZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA4cHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB6LWluZGV4OiAxO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtdHlwZS1leHBhbmRpbmcgLmlucHV0LWZpZWxkIHRleHRhcmVhLmlucHV0LW5hdGl2ZSB7XG4gIHJlc2l6ZTogbm9uZTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbWluLWhlaWdodDogNTJweDtcbiAgcGFkZGluZzogMTRweCA1MnB4IDE0cHggMTJweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtZXhwYW5kaW5nLmlucHV0LXNpemUtc21hbGwgLmlucHV0LWZpZWxkIC5pbnB1dC1sZWFkaW5nLWljb24ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtdHlwZS1leHBhbmRpbmcuaW5wdXQtc2l6ZS1zbWFsbCAuaW5wdXQtZmllbGQgLmlucHV0LXRyYWlsaW5nIHtcbiAgdG9wOiA0cHg7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLWV4cGFuZGluZy5pbnB1dC1zaXplLXNtYWxsIC5pbnB1dC1maWVsZCB0ZXh0YXJlYS5pbnB1dC1uYXRpdmUge1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiA4cHggNTJweCA4cHggMTJweDtcbn1cbi8qIG5vLWNsZWFyOiBubyB0cmFpbGluZyBjbGVhci14LCBzbyB0aGUgdGV4dGFyZWEgcmVjbGFpbXMgdGhlIHJlc2VydmVkIHJpZ2h0XG4gICBzcGFjZSBhbmQgdXNlcyB0aGUgZnVsbCB3aWR0aC4gW0tpbSAyMDI2LTA2LTE2XSAqL1xuLnFkbmFwcm8taW5wdXQuaW5wdXQtdHlwZS1leHBhbmRpbmdbbm8tY2xlYXJdIC5pbnB1dC1maWVsZCB0ZXh0YXJlYS5pbnB1dC1uYXRpdmUge1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xufVxuLnFkbmFwcm8taW5wdXQ6bm90KC5pbnB1dC1maWxsZWQpIFtkYXRhLXJvbGU9Y2xlYXJdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtbnVtYmVyIC5pbnB1dC1udW1iZXItc3RlcHBlcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwO1xuICBtYXJnaW4tcmlnaHQ6IC00cHg7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLW51bWJlciAuaW5wdXQtbnVtYmVyLXN0ZXBwZXJzID4gcWRuYXByby1pY29uLWJ0biB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtbnVtYmVyIC5pbnB1dC1udW1iZXItc3RlcHBlcnMgPiBxZG5hcHJvLWljb24tYnRuIHFkbmFwcm8taWNvbiB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLWF1dG9jb21wbGV0ZSAuaW5wdXQtZmllbGQtcm93LCAucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLXBob25lIC5pbnB1dC1maWVsZC1yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtYWMtZHJvcGRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgNHB4KTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1heC1oZWlnaHQ6IDMyMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzRjN2NjO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KTtcbiAgcGFkZGluZzogOHB4O1xuICB6LWluZGV4OiAxMDAwO1xufVxuLmlucHV0LWV4dGVybmFsLWJ0biArIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1hYy1kcm9wZG93biB7XG4gIHJpZ2h0OiA2MHB4O1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWFjLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogaW50ZXIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwYjBiMGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtYWMtaXRlbSArIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1hYy1pdGVtIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWFjLWl0ZW0gc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1hYy1pdGVtOmhvdmVyLCAucWRuYXByby1pbnB1dCAuaW5wdXQtYWMtaXRlbS5pbnB1dC1hYy1pdGVtLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmMGYxZjI7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtYWMtaXRlbS5pbnB1dC1hYy1pdGVtLWRpc2FibGVkIHtcbiAgY29sb3I6ICM4OThlOTk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1hYy1lbXB0eSB7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjODk4ZTk5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtYWMtbG9hZGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogMTJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM1NTVhNjY7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtYWMtc3Bpbm5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2M0YzdjYztcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzQwNDk5YTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHFkbmFwcm8tYWMtc3BpbiAwLjdzIGxpbmVhciBpbmZpbml0ZTtcbn1cbkBrZXlmcmFtZXMgcWRuYXByby1hYy1zcGluIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1hYy1lcnJvciB7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjYzY1YTVhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1hYy1vcGVuIC5pbnB1dC1maWVsZCB7XG4gIGJvcmRlci1jb2xvcjogIzUzNWJhNDtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNzAsIDgyLCAyNDMsIDAuNCk7XG59XG4vKiBLbGV1ciB2YW4gZGUgQ1VSUkVOQ1ktUFJFRklYIChoZXQgZXVyb3Rla2VuKSBpbiBkZSBiYXNpcywgZHVzIGJpaiBlZW4gbGVlZyBvZiBub2dcbiAgIG9udmVyYW5kZXJkIHZlbGQgKGJlc2x1aXQgNzgsIHZlcnZvbGcgMzEuMDcuMjAyNikuIFplbGZkZSBjb250cmFzdC1pbnZlcnNpZSBhbHMgZGVcbiAgIHBsYWNlaG9sZGVyIGVuIGhldCBsZWFkaW5nLWljb29uOiBzdG9uZCBvcCAjYTZhYWIzIGVuIGRhdCBpcyBMSUNIVEVSIGRhbiBkZVxuICAgdWl0Z2VzY2hha2VsZGUgc3RhbmQgIzg5OGU5OSwgd2FhcmRvb3IgZWVuIGdld29vbiBiZWRyYWd2ZWxkIGxlZXN0IGFscyBlZW4gdmVsZCBkYXRcbiAgIGplIG5pZXQgbWFnIGdlYnJ1aWtlbi4gR2VtZXRlbiBtZXQgZGUgV0NBRy1mb3JtdWxlOlxuICAgICBvdWQgICNhNmFhYjMgIG9wIHdpdCAjZmZmZmZmICAgICAgICAgICAgICAtPiAyLjMzOjFcbiAgICAgb3VkICAjYTZhYWIzICBvcCAtLWMtZ3JleS0xMDAgI2U3ZTllYyAgICAgLT4gMS45MToxXG4gICAgIG91ZCAgI2E2YWFiMyAgb3AgaGV0IHVpdGdlc2NoYWtlbGRlIHZsYWsgI2YwZjFmMiAtPiAyLjA2OjFcbiAgICAgZGlzYWJsZWQtcHJlZml4ICM4OThlOTkgb3AgI2YwZjFmMiAoemlqbiBlaWdlbiB2bGFrKSAtPiAyLjkwOjFcbiAgICAgbmlldXcgdmFyKC0tYy10ZXh0LW11dGVkKSAjNmU3MjgwIG9wIHdpdCAgLT4gNC43OToxXG4gICAgIG5pZXV3IG9wICNlN2U5ZWMgICAgICAgICAgICAgICAgICAgICAgICAgIC0+IDMuOTQ6MVxuICAgICBuaWV1dyBvcCAjZjBmMWYyICAgICAgICAgICAgICAgICAgICAgICAgICAtPiA0LjI0OjFcbiAgIERlIHByZWZpeCB2b2xnZGUgYmV3dXN0IGRlIHBsYWNlaG9sZGVyLWtsZXVyIChoZXQgaXMgZGV6ZWxmZGUgXCJub2cgbmlldHMgaW5nZXZ1bGRcIlxuICAgc3RhbmQpLCBkdXMgaGlqIG1vZXN0IG1lZSBtZXQgZGUgcGxhY2Vob2xkZXItZml4LiBEZSB0d2VlIHJlZ2VscyBoaWVyb25kZXIgYmxpanZlblxuICAgb25nZW1vZWlkOiBnZXZ1bGQgZ2FhdCBuYWFyIGJpam5hLXp3YXJ0LCB1aXRnZXNjaGFrZWxkIGJsaWpmdCAjODk4ZTk5LlxuICAgRmFsbGJhY2sgIzZlNzI4MCBvbSBkZXplbGZkZSByZWRlbiBhbHMgYmlqIGhldCBsZWFkaW5nLWljb29uIGhpZXJib3Zlbi4gKi9cbi5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtY3VycmVuY3kgLmlucHV0LWN1cnJlbmN5LXByZWZpeCB7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2ZTcyODApO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmbGV4LXNocmluazogMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLWN1cnJlbmN5LmlucHV0LWZpbGxlZCAuaW5wdXQtY3VycmVuY3ktcHJlZml4IHtcbiAgY29sb3I6ICMwYjBiMGQ7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLWN1cnJlbmN5LmlucHV0LWRpc2FibGVkIC5pbnB1dC1jdXJyZW5jeS1wcmVmaXgge1xuICBjb2xvcjogIzg5OGU5OTtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtY3VycmVuY3kgLmlucHV0LW5hdGl2ZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8qID09PSBudW1iZXIgLyBjdXJyZW5jeSArLy0gc3Bpbm5lciBob3Jpem9udGFsIGxheW91dCA9PT1cbiAgIFBvcnRlZCB0byB0aGUgYnVpbGQgc291cmNlIDIwMjYtMDYtMTkgKHdhcyBvbmx5IGluIGZvci1zYW5kZXIvX2lucHV0LnNjc3MsXG4gICBzbyB0aGUgbGl2ZSBjb3VudGVyIG5ldmVyIGdvdCBpdHMgYnV0dG9uIG51ZGdlcykuIExheW91dDogWyAtIF0gdmFsdWUgWyArIF0uXG4gICBUaGUgbWludXMgYnV0dG9uIGlzIHRoZSBmaXJzdCBjaGlsZCBvZiAuaW5wdXQtZmllbGQ7IHRoZSBwbHVzIGxpdmVzIGluXG4gICAuaW5wdXQtdHJhaWxpbmcuICovXG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLW51bWJlci5pbnB1dC1udW1iZXItaG9yaXpvbnRhbCAuaW5wdXQtbmF0aXZlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtbnVtYmVyLWhvcml6b250YWwgLmlucHV0LWZpZWxkID4gcWRuYXByby1pY29uLWJ0bltkYXRhLXJvbGU9XCJzdGVwLWRvd25cIl0ge1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtbnVtYmVyLWhvcml6b250YWwgLmlucHV0LXRyYWlsaW5nID4gcWRuYXByby1pY29uLWJ0bltkYXRhLXJvbGU9XCJzdGVwLXVwXCJdIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1yaWdodDogLTRweDtcbn1cbi8qIEN1cnJlbmN5ICsgY291bnRlcjogcGxhY2UgdGhlIG1pbnVzIGJ1dHRvbiBiZWZvcmUgdGhlIGN1cnJlbmN5IHByZWZpeCB2aWFcbiAgIGZsZXggb3JkZXIsIGdpdmluZyBbIC0gXSBbIOKCrCB2YWx1ZSBdIFsgKyBdLiBUaGUg4oKsIHN0YXlzIG5leHQgdG8gdGhlIGFtb3VudC4gKi9cbi5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtY3VycmVuY3kuaW5wdXQtbnVtYmVyLWhvcml6b250YWwgLmlucHV0LWZpZWxkID4gcWRuYXByby1pY29uLWJ0bltkYXRhLXJvbGU9XCJzdGVwLWRvd25cIl0ge1xuICBvcmRlcjogLTE7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLXBob25lIC5pbnB1dC1jb3VudHJ5LXBpY2tlciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIG1hcmdpbjogMCA5cHggMCA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogIzFkMWYyNjtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLXBob25lIC5pbnB1dC1jb3VudHJ5LXBpY2tlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtOXB4O1xuICB0b3A6IDhweDtcbiAgYm90dG9tOiA4cHg7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQ6ICNlMWUzZTY7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLXBob25lIC5pbnB1dC1jb3VudHJ5LXBpY2tlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmMGYxZjI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtcGhvbmUgLmlucHV0LWNvdW50cnktcGlja2VyW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtcGhvbmUgLmlucHV0LWNvdW50cnktcGlja2VyLmlucHV0LWNvdW50cnktcGlja2VyLXN0YXRpYyB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtcGhvbmUgLmlucHV0LWNvdW50cnktcGlja2VyLmlucHV0LWNvdW50cnktcGlja2VyLXN0YXRpYzpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtdHlwZS1waG9uZSAuaW5wdXQtY291bnRyeS1waWNrZXIgLmlucHV0LWNvdW50cnktZmxhZyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtdHlwZS1waG9uZSAuaW5wdXQtY291bnRyeS1waWNrZXIgLmlucHV0LWNvdW50cnktZGlhbCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjNTU1YTY2O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtdHlwZS1waG9uZSAuaW5wdXQtY291bnRyeS1waWNrZXIgLmlucHV0LWNvdW50cnktY2hldiB7XG4gIGNvbG9yOiAjODk4ZTk5O1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWNvdW50cnktZHJvcGRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgNHB4KTtcbiAgbGVmdDogMDtcbiAgbWluLXdpZHRoOiAyMjBweDtcbiAgbWF4LWhlaWdodDogMjgwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjNGM3Y2M7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpO1xuICBwYWRkaW5nOiA4cHg7XG4gIHotaW5kZXg6IDEwMDA7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtY291bnRyeS1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogIzBiMGIwZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1jb3VudHJ5LWl0ZW0gKyAucWRuYXByby1pbnB1dCAuaW5wdXQtY291bnRyeS1pdGVtIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWNvdW50cnktaXRlbTpob3ZlciwgLnFkbmFwcm8taW5wdXQgLmlucHV0LWNvdW50cnktaXRlbS5pbnB1dC1jb3VudHJ5LWl0ZW0tYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2YwZjFmMjtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1jb3VudHJ5LWl0ZW0gLmlucHV0LWNvdW50cnktZmxhZyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LWNvdW50cnktaXRlbSAuaW5wdXQtY291bnRyeS1uYW1lIHtcbiAgZmxleDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1jb3VudHJ5LWl0ZW0gLmlucHV0LWNvdW50cnktZGlhbCB7XG4gIGNvbG9yOiAjNTU1YTY2O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtbnVtYmVyLmlucHV0LW51bWJlci1yaWdodCAuaW5wdXQtbmF0aXZlIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1maWxsZWQgLmlucHV0LWZpZWxkIC5pbnB1dC1uYXRpdmUge1xuICBjb2xvcjogIzBiMGIwZDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXN1Y2Nlc3MgLmlucHV0LWZpZWxkIHtcbiAgYm9yZGVyLWNvbG9yOiAjNDI4YjZlO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtZXJyb3IgLmlucHV0LWZpZWxkIHtcbiAgYm9yZGVyLWNvbG9yOiAjYzY1YTVhO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtd2FybmluZyAuaW5wdXQtZmllbGQge1xuICBib3JkZXItY29sb3I6ICNlZjhlMDI7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM0MDQ5OWE7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQ6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTM1YmE0O1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg3MCwgODIsIDI0MywgMC40KTtcbn1cbi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZDpmb2N1cy13aXRoaW4gLmlucHV0LW5hdGl2ZTo6cGxhY2Vob2xkZXIge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtc3VjY2VzcyAuaW5wdXQtZmllbGQ6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyLWNvbG9yOiAjNDI4YjZlO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxMTAsIDIzMSwgMTgzLCAwLjQpO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtZXJyb3IgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogI2M2NWE1YTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjQ4LCAxMTMsIDExMywgMC40KTtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXdhcm5pbmcgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogI2VmOGUwMjtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjUxLCAxOTEsIDkyLCAwLjQpO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtc2VsZWN0IC5pbnB1dC1maWVsZCB7XG4gIGJvcmRlci1jb2xvcjogIzUzNWJhNDtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNzAsIDgyLCAyNDMsIDAuNCk7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1zZWxlY3QuaW5wdXQtc3VjY2VzcyAuaW5wdXQtZmllbGQge1xuICBib3JkZXItY29sb3I6ICM0MjhiNmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDExMCwgMjMxLCAxODMsIDAuNCk7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1zZWxlY3QuaW5wdXQtZXJyb3IgLmlucHV0LWZpZWxkIHtcbiAgYm9yZGVyLWNvbG9yOiAjYzY1YTVhO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyNDgsIDExMywgMTEzLCAwLjQpO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtc2VsZWN0LmlucHV0LXdhcm5pbmcgLmlucHV0LWZpZWxkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWY4ZTAyO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyNTEsIDE5MSwgOTIsIDAuNCk7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtZmllbGQsIC5xZG5hcHJvLWlucHV0LmlucHV0LWRpc2FibGVkIC5pbnB1dC1maWVsZDpob3ZlciwgLnFkbmFwcm8taW5wdXQuaW5wdXQtZGlzYWJsZWQgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiB7XG4gIGJhY2tncm91bmQ6ICNmMGYxZjI7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIFtLaW0gMjAyNi0wNS0wMV0gbm8gb3V0ZXIgYm9yZGVyIGZvciBzb2Z0ZXIgbG9vayAqL1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtZGlzYWJsZWQgLmlucHV0LWZpZWxkIC5pbnB1dC1uYXRpdmUsIC5xZG5hcHJvLWlucHV0LmlucHV0LWRpc2FibGVkIC5pbnB1dC1maWVsZDpob3ZlciAuaW5wdXQtbmF0aXZlLCAucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtZmllbGQ6Zm9jdXMtd2l0aGluIC5pbnB1dC1uYXRpdmUge1xuICBjb2xvcjogIzg5OGU5OTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LWRpc2FibGVkIC5pbnB1dC1maWVsZCAuaW5wdXQtbmF0aXZlOjpwbGFjZWhvbGRlciwgLnFkbmFwcm8taW5wdXQuaW5wdXQtZGlzYWJsZWQgLmlucHV0LWZpZWxkOmhvdmVyIC5pbnB1dC1uYXRpdmU6OnBsYWNlaG9sZGVyLCAucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtZmllbGQ6Zm9jdXMtd2l0aGluIC5pbnB1dC1uYXRpdmU6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM4OThlOTk7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtZmllbGQgLmlucHV0LWxlYWRpbmctaWNvbixcbi5xZG5hcHJvLWlucHV0LmlucHV0LWRpc2FibGVkIC5pbnB1dC1maWVsZCAuaW5wdXQtdHJhaWxpbmctaWNvbiwgLnFkbmFwcm8taW5wdXQuaW5wdXQtZGlzYWJsZWQgLmlucHV0LWZpZWxkOmhvdmVyIC5pbnB1dC1sZWFkaW5nLWljb24sXG4ucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtZmllbGQ6aG92ZXIgLmlucHV0LXRyYWlsaW5nLWljb24sIC5xZG5hcHJvLWlucHV0LmlucHV0LWRpc2FibGVkIC5pbnB1dC1maWVsZDpmb2N1cy13aXRoaW4gLmlucHV0LWxlYWRpbmctaWNvbixcbi5xZG5hcHJvLWlucHV0LmlucHV0LWRpc2FibGVkIC5pbnB1dC1maWVsZDpmb2N1cy13aXRoaW4gLmlucHV0LXRyYWlsaW5nLWljb24ge1xuICBjb2xvcjogIzg5OGU5OTtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LWRpc2FibGVkIC5pbnB1dC1maWVsZCAuaW5wdXQtcHJldGFiLFxuLnFkbmFwcm8taW5wdXQuaW5wdXQtZGlzYWJsZWQgLmlucHV0LWZpZWxkIC5pbnB1dC1wb3N0dGFiLCAucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtZmllbGQ6aG92ZXIgLmlucHV0LXByZXRhYixcbi5xZG5hcHJvLWlucHV0LmlucHV0LWRpc2FibGVkIC5pbnB1dC1maWVsZDpob3ZlciAuaW5wdXQtcG9zdHRhYiwgLnFkbmFwcm8taW5wdXQuaW5wdXQtZGlzYWJsZWQgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiAuaW5wdXQtcHJldGFiLFxuLnFkbmFwcm8taW5wdXQuaW5wdXQtZGlzYWJsZWQgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiAuaW5wdXQtcG9zdHRhYiB7XG4gIGJhY2tncm91bmQ6ICNlMWUzZTY7XG4gIGJvcmRlci1jb2xvcjogI2M0YzdjYztcbiAgY29sb3I6ICM4OThlOTk7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtZmllbGQgLmlucHV0LXByZXRhYiBxZG5hcHJvLWljb24sXG4ucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtZmllbGQgLmlucHV0LXBvc3R0YWIgcWRuYXByby1pY29uLCAucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtZmllbGQ6aG92ZXIgLmlucHV0LXByZXRhYiBxZG5hcHJvLWljb24sXG4ucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtZmllbGQ6aG92ZXIgLmlucHV0LXBvc3R0YWIgcWRuYXByby1pY29uLCAucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtZmllbGQ6Zm9jdXMtd2l0aGluIC5pbnB1dC1wcmV0YWIgcWRuYXByby1pY29uLFxuLnFkbmFwcm8taW5wdXQuaW5wdXQtZGlzYWJsZWQgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiAuaW5wdXQtcG9zdHRhYiBxZG5hcHJvLWljb24ge1xuICBjb2xvcjogIzg5OGU5OTtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LWRpc2FibGVkIC5pbnB1dC1maWVsZCAuaW5wdXQtZmllbGQtaW5uZXIsIC5xZG5hcHJvLWlucHV0LmlucHV0LWRpc2FibGVkIC5pbnB1dC1maWVsZDpob3ZlciAuaW5wdXQtZmllbGQtaW5uZXIsIC5xZG5hcHJvLWlucHV0LmlucHV0LWRpc2FibGVkIC5pbnB1dC1maWVsZDpmb2N1cy13aXRoaW4gLmlucHV0LWZpZWxkLWlubmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1yZWFkb25seSAuaW5wdXQtZmllbGQsIC5xZG5hcHJvLWlucHV0LmlucHV0LXJlYWRvbmx5IC5pbnB1dC1maWVsZDpob3ZlciwgLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1yZWFkb25seSAuaW5wdXQtZmllbGQgLmlucHV0LW5hdGl2ZSwgLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkOmhvdmVyIC5pbnB1dC1uYXRpdmUsIC5xZG5hcHJvLWlucHV0LmlucHV0LXJlYWRvbmx5IC5pbnB1dC1maWVsZDpmb2N1cy13aXRoaW4gLmlucHV0LW5hdGl2ZSB7XG4gIGNvbG9yOiAjNmI2Zjc4O1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkIC5pbnB1dC1maWVsZC1pbm5lciwgLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkOmhvdmVyIC5pbnB1dC1maWVsZC1pbm5lciwgLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiAuaW5wdXQtZmllbGQtaW5uZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LXJlYWRvbmx5IC5pbnB1dC1maWVsZCAuaW5wdXQtcHJldGFiLFxuLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkIC5pbnB1dC1wb3N0dGFiLCAucWRuYXByby1pbnB1dC5pbnB1dC1yZWFkb25seSAuaW5wdXQtZmllbGQ6aG92ZXIgLmlucHV0LXByZXRhYixcbi5xZG5hcHJvLWlucHV0LmlucHV0LXJlYWRvbmx5IC5pbnB1dC1maWVsZDpob3ZlciAuaW5wdXQtcG9zdHRhYiwgLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiAuaW5wdXQtcHJldGFiLFxuLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiAuaW5wdXQtcG9zdHRhYiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzZiNmY3ODtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkIC5pbnB1dC1wcmV0YWIgcWRuYXByby1pY29uLFxuLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkIC5pbnB1dC1wb3N0dGFiIHFkbmFwcm8taWNvbiwgLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkOmhvdmVyIC5pbnB1dC1wcmV0YWIgcWRuYXByby1pY29uLFxuLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkOmhvdmVyIC5pbnB1dC1wb3N0dGFiIHFkbmFwcm8taWNvbiwgLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiAuaW5wdXQtcHJldGFiIHFkbmFwcm8taWNvbixcbi5xZG5hcHJvLWlucHV0LmlucHV0LXJlYWRvbmx5IC5pbnB1dC1maWVsZDpmb2N1cy13aXRoaW4gLmlucHV0LXBvc3R0YWIgcWRuYXByby1pY29uIHtcbiAgY29sb3I6ICM2YjZmNzg7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtbWVzc2FnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtbWVzc2FnZSBxZG5hcHJvLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby1pbnB1dCAuaW5wdXQtbWVzc2FnZS1lcnJvciB7XG4gIGNvbG9yOiAjYzY1YTVhO1xufVxuLnFkbmFwcm8taW5wdXQgLmlucHV0LW1lc3NhZ2Utd2FybmluZyB7XG4gIGNvbG9yOiAjZWY4ZTAyO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dCAuaW5wdXQtbGFiZWwge1xuICBjb2xvcjogI2YwZjFmMjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1vcHRpb25hbCB7XG4gIGNvbG9yOiAjYTZhYWIzO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQgLmlucHV0LWhpbnQge1xuICBjb2xvcjogI2E2YWFiMztcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1yZXF1aXJlZCB7XG4gIGNvbG9yOiAjZjg3MTcxO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkIHtcbiAgYmFja2dyb3VuZDogIzBiMGIwZDtcbiAgYm9yZGVyLWNvbG9yOiAjNTY1YjY2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQgLmlucHV0LW5hdGl2ZSB7XG4gIGNvbG9yOiAjZjBmMWYyO1xufVxuLy8gRmlsbGVkLXN0YXRlIG92ZXJyaWRlIChsaW5lIH41MjAsIC5pbnB1dC1maWxsZWQgLmlucHV0LWZpZWxkIC5pbnB1dC1uYXRpdmUpXG4vLyBpcyA0IGNsYXNzZXMgZGVlcCAoMCw0LDApIGFuZCBvdGhlcndpc2UgYmVhdHMgdGhlIHBsYWluIGRhcmsgcnVsZSBhYm92ZVxuLy8gKDAsMywwKSByZWdhcmRsZXNzIG9mIHNvdXJjZSBvcmRlciwgZm9yY2luZyBuZWFyLWJsYWNrIHRleHQgb250byB0aGVcbi8vIG5lYXItYmxhY2sgZGFyayAuaW5wdXQtZmllbGQgYmFja2dyb3VuZCDigJQgaW52aXNpYmxlLiBNYXRjaCBpdHMgc3BlY2lmaWNpdHlcbi8vIGhlcmUgc28gZGFyayBtb2RlIHdpbnMgb25jZSBhIGZpZWxkIGFjdHVhbGx5IGhhcyBhIHZhbHVlLiBbMDcuMDcuMjAyNl1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0LmlucHV0LWZpbGxlZCAuaW5wdXQtZmllbGQgLmlucHV0LW5hdGl2ZSB7XG4gIGNvbG9yOiAjZjBmMWYyO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQgLmlucHV0LW5hdGl2ZTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzg5OGU5OTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1sZWFkaW5nLWljb24sXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dCAuaW5wdXQtdHJhaWxpbmctaWNvbiB7XG4gIGNvbG9yOiAjODk4ZTk5O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQuaW5wdXQtZmlsbGVkIC5pbnB1dC1sZWFkaW5nLWljb24sIFtkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0LmlucHV0LWZpbGxlZCAuaW5wdXQtdHJhaWxpbmctaWNvbiB7XG4gIGNvbG9yOiAjZTFlM2U2O1xufVxuLyogQ3VycmVuY3ktcHJlZml4IGluIGRlIGRvbmtlcmUgc3RhbmQ6IEVYUExJQ0lFVCBvcCBkZSBrbGV1ciBkaWUgaGlqIGhpZXIgdmFuZGFhZyBvb2tcbiAgIGFsIGhlZWZ0LCB6b2RhdCBkZSBiYXNpcy1maXggaGllcmJvdmVuICgjYTZhYWIzIC0+IHZhcigtLWMtdGV4dC1tdXRlZCkpIGhldCBkb25rZXJlXG4gICB0aGVtYSBuaWV0IG1lZXNsZWVwdC4gRGl0IGlzIGdlZW4gbmlldXdlIGtldXplOiBpbiBoZXQgZG9ua2VyZSB0aGVtYSByZXNvbHZlZXJ0XG4gICAtLWMtdGV4dC1tdXRlZCBuYWFyIC0tYy1ncmV5LTQwMCBlbiBkYXQgSVMgI2E2YWFiMywgZHVzIGRlIGRvbmtlcmUgc3RhbmQgdmVyYW5kZXJ0XG4gICBuaWV0LiBEZSByZWdlbCBzdGFhdCBlciBvbWRhdCBkZSBiYXNpcyBudSBlZW4gdG9rZW4gZ2VicnVpa3QgZGF0IHBlciB0aGVtYSBpZXRzXG4gICBhbmRlcnMgYmV0ZWtlbnQsIGVuIG9tZGF0IGRlIHByZXZpZXcgZGUgdG9rZW5zIHplbGYgbmlldCBkZWZpbmllZXJ0IChkYWFyIHpvdSBkZVxuICAgZmFsbGJhY2sgIzZlNzI4MCBhbmRlcnMgb3AgZGUgYmlqbmEtendhcnRlIGRvbmtlcmUgdnVsbGluZyBiZWxhbmRlbikuXG4gICBBbmRlcnMgZGFuIGRlIHBsYWNlaG9sZGVyIGVuIGhldCBsZWFkaW5nLWljb29uIGhhZCBkZSBwcmVmaXggbm9nIGdlZW4gZWlnZW4gZG9ua2VyZVxuICAgcmVnZWwgdm9vciBkZSBsZWdlIHN0YW5kLCBhbGxlZW4gdm9vciBnZXZ1bGQvdWl0Z2VzY2hha2VsZC9hbGxlZW4tbGV6ZW4uICovXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLWN1cnJlbmN5IC5pbnB1dC1jdXJyZW5jeS1wcmVmaXgge1xuICBjb2xvcjogI2E2YWFiMztcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzY2NmRhZTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0LmlucHV0LWZvY3VzIC5pbnB1dC1maWVsZCxcbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZDpmb2N1cy13aXRoaW4ge1xuICBib3JkZXItY29sb3I6ICM1MzViYTQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjQpO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQuaW5wdXQtc2VsZWN0IC5pbnB1dC1maWVsZCB7XG4gIGJvcmRlci1jb2xvcjogIzUzNWJhNDtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNzAsIDgyLCAyNDMsIDAuNCk7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dC5pbnB1dC1zdWNjZXNzIC5pbnB1dC1maWVsZCB7XG4gIGJvcmRlci1jb2xvcjogIzU4Yjk5MjtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTM5LCAyMzYsIDE5NywgMC40KTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1zdGF0ZS1zdWNjZXNzIHtcbiAgY29sb3I6ICM1OGI5OTI7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dC5pbnB1dC1lcnJvciAuaW5wdXQtZmllbGQge1xuICBib3JkZXItY29sb3I6ICNmOThkOGQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI0OSwgMTQxLCAxNDEsIDAuNCk7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dCAuaW5wdXQtc3RhdGUtZXJyb3Ige1xuICBjb2xvcjogI2Y4NzE3MTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1tZXNzYWdlLWVycm9yIHtcbiAgY29sb3I6ICNmODcxNzE7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dC5pbnB1dC13YXJuaW5nIC5pbnB1dC1maWVsZCB7XG4gIGJvcmRlci1jb2xvcjogI2VmOGUwMjtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjUxLCAxOTEsIDkyLCAwLjQpO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQgLmlucHV0LXN0YXRlLXdhcm5pbmcge1xuICBjb2xvcjogI2VmOGUwMjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1tZXNzYWdlLXdhcm5pbmcge1xuICBjb2xvcjogI2VmOGUwMjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0LmlucHV0LWRpc2FibGVkIC5pbnB1dC1maWVsZCB7XG4gIGJhY2tncm91bmQ6ICM0MDQ0NGQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtbmF0aXZlIHtcbiAgY29sb3I6ICM2YjcyODA7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtbGVhZGluZy1pY29uLCBbZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dC5pbnB1dC1kaXNhYmxlZCAuaW5wdXQtdHJhaWxpbmctaWNvbiB7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQuaW5wdXQtcmVhZG9ubHkgLmlucHV0LWZpZWxkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogIzU2NWI2Njtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1wcmV0YWIsXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dCAuaW5wdXQtcG9zdHRhYiB7XG4gIGJhY2tncm91bmQ6ICM0MDQ0NGQ7XG4gIGNvbG9yOiAjYTZhYWIzO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQgLmlucHV0LXByZXRhYiBxZG5hcHJvLWljb24sXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dCAuaW5wdXQtcG9zdHRhYiBxZG5hcHJvLWljb24ge1xuICBjb2xvcjogI2E2YWFiMztcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1wcmV0YWIge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICM1NjViNjY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dCAuaW5wdXQtcG9zdHRhYiB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjNTY1YjY2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkLWlubmVyIHtcbiAgYmFja2dyb3VuZDogIzBiMGIwZDtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtc2VhcmNoIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWRyb3Bkb3duLXNlYXJjaCxcbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWRyb3Bkb3duLXNlYXJjaCB7XG4gIGJhY2tncm91bmQ6ICM0MDQ0NGQ7XG4gIGNvbG9yOiAjZTFlM2U2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQuaW5wdXQtdHlwZS1zZWFyY2ggLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tZHJvcGRvd24tc2VhcmNoOmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpLFxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQgLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tZHJvcGRvd24tc2VhcmNoOmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogIzU2NWI2Njtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtcGhvbmUgLmlucHV0LWNvdW50cnktcGlja2VyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM1NjViNjY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dCAuaW5wdXQtYWMtZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kOiAjMWYyMDI4O1xuICBib3JkZXItY29sb3I6ICM1NjViNjY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dCAuaW5wdXQtYWMtaXRlbSB7XG4gIGNvbG9yOiAjZTFlM2U2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQgLmlucHV0LWFjLWl0ZW06aG92ZXIsIFtkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1hYy1pdGVtLmlucHV0LWFjLWl0ZW0tYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzU2NWI2Njtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1hYy1pdGVtIHN0cm9uZyB7XG4gIGNvbG9yOiAjZjBmMWYyO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQgLmlucHV0LWFjLWVtcHR5LFxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQgLmlucHV0LWFjLWxvYWRpbmcge1xuICBjb2xvcjogI2E2YWFiMztcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1hYy1lcnJvciB7XG4gIGNvbG9yOiAjZjg3MTcxO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8taW5wdXQgLmlucHV0LWFjLXNwaW5uZXIge1xuICBib3JkZXItY29sb3I6ICM1NjViNjY7XG4gIGJvcmRlci10b3AtY29sb3I6ICM0NjUyZjM7XG59XG5cbi8qID09PSB0aGVtZTogZ2xhc3Mg4oCUIGFkZGVkIDIwMjYtMDYtMDggPT09XG4gICBUcmFuc2x1Y2VudCBmaWVsZHMgZm9yIHVzZSBvbiBhIGRhcmsgLyBjb2xvdXJlZCBzdXJmYWNlIChlLmcuIHRoZSBsb2dpblxuICAgc3RhZ2UpLiBTYW1lIHN0cnVjdHVyZSBhbmQgYmVoYXZpb3VyIGFzIHRoZSBkZWZhdWx0IGlucHV0OyBvbmx5IHRoZSBjb2xvdXJzXG4gICBjaGFuZ2UuIEFjdGl2YXRlIGJ5IHNldHRpbmcgZGF0YS10aGVtZT1cImdsYXNzXCIgb24gYW4gYW5jZXN0b3IgKHRoZSBsb2dpblxuICAgZm9ybSBkb2VzIHRoaXMpLiBGb2N1cyByaW5nIHVzZXMgdGhlIGxvZ2luIGxpbGEgYWNjZW50LiAqL1xuW2RhdGEtdGhlbWU9Z2xhc3NdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KTtcbn1cbltkYXRhLXRoZW1lPWdsYXNzXSAucWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQgLmlucHV0LW5hdGl2ZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuW2RhdGEtdGhlbWU9Z2xhc3NdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCAuaW5wdXQtbmF0aXZlOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5bZGF0YS10aGVtZT1nbGFzc10gLnFkbmFwcm8taW5wdXQgLmlucHV0LWxlYWRpbmctaWNvbixcbltkYXRhLXRoZW1lPWdsYXNzXSAucWRuYXByby1pbnB1dCAuaW5wdXQtdHJhaWxpbmctaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xufVxuW2RhdGEtdGhlbWU9Z2xhc3NdIC5xZG5hcHJvLWlucHV0LmlucHV0LWZpbGxlZCAuaW5wdXQtbGVhZGluZy1pY29uLFxuW2RhdGEtdGhlbWU9Z2xhc3NdIC5xZG5hcHJvLWlucHV0LmlucHV0LWZpbGxlZCAuaW5wdXQtdHJhaWxpbmctaWNvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogQ3VycmVuY3ktcHJlZml4IG9wIGdsYXM6IG5ldCBhbHMgYmlqIGhldCBkb25rZXJlIHRoZW1hIGhpZXJib3ZlbiBleHBsaWNpZXQgb3AgZGVcbiAgIGtsZXVyIGRpZSBoaWogdmFuZGFhZyBvb2sgYWwgaGVlZnQsIHpvZGF0IGRlIGJhc2lzLWZpeCBkZSBkb29yc2NoaWpuZW5kZSB2dWxsaW5nIG9wXG4gICBkZSBkb25rZXJlIGxvZ2luYWNodGVyZ3JvbmQgbmlldCBtZWVzbGVlcHQgKGRhYXIgem91ICM2ZTcyODAganVpc3QgU0xFQ0hURVIgd29yZGVuKS5cbiAgIFB1dXIgYmVob3VkLCBnZWVuIG5pZXV3ZSBrbGV1cmtldXplLiBPcGVuc3RhYW5kIHB1bnRqZSB2b29yIGxhdGVyOiBnbGFzIHpldCB6aWpuXG4gICBwbGFjZWhvbGRlciBvcCByZ2JhKDI1NSwyNTUsMjU1LDAuNykgZW4gemlqbiBpY29uZW4gb3AgMC43NSwgZHVzIHN0cmlrdCBnZW5vbWVuXG4gICBob29ydCBkZSBwcmVmaXggZGFhciBvb2sgaW4gZGllIHJlZWtzIG1lZSBlbiBuaWV0IG9wIGVlbiBncmlqcyB1aXQgaGV0IGxpY2h0ZVxuICAgcGFsZXQuIERhdCBpcyBlZW4gYXBhcnRlIGRlc2lnbmtldXplIGVuIGlzIGhpZXIgbmlldCBnZW1hYWt0LiAqL1xuW2RhdGEtdGhlbWU9Z2xhc3NdIC5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtY3VycmVuY3kgLmlucHV0LWN1cnJlbmN5LXByZWZpeCB7XG4gIGNvbG9yOiAjYTZhYWIzO1xufVxuW2RhdGEtdGhlbWU9Z2xhc3NdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KTtcbn1cbltkYXRhLXRoZW1lPWdsYXNzXSAucWRuYXByby1pbnB1dC5pbnB1dC1mb2N1cyAuaW5wdXQtZmllbGQsXG5bZGF0YS10aGVtZT1nbGFzc10gLnFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogIzlhOGZmZjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxNTQsIDE0MywgMjU1LCAwLjM1KTtcbn1cbi8qIFRyYWlsaW5nIGljb24gYnV0dG9ucyAocGFzc3dvcmQgZXllLXRvZ2dsZSwgY2xlYXIteCkgb24gZ2xhc3MuICovXG5bZGF0YS10aGVtZT1nbGFzc10gLnFkbmFwcm8taW5wdXQgLmlucHV0LXRyYWlsaW5nIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWlucHV0LWljb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbn1cbltkYXRhLXRoZW1lPWdsYXNzXSAucWRuYXByby1pbnB1dCAuaW5wdXQtdHJhaWxpbmcgLnFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4taW5wdXQtaWNvbjpob3Zlcjpub3QoLmljb24tYnRuLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogU3RhdGUgYWNjZW50cyBrZXB0IGxlZ2libGUgb24gdGhlIGRhcmsgc3VyZmFjZS4gKi9cbltkYXRhLXRoZW1lPWdsYXNzXSAucWRuYXByby1pbnB1dC5pbnB1dC1lcnJvciAuaW5wdXQtZmllbGQge1xuICBib3JkZXItY29sb3I6ICNmOThkOGQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI0OSwgMTQxLCAxNDEsIDAuNCk7XG59XG5bZGF0YS10aGVtZT1nbGFzc10gLnFkbmFwcm8taW5wdXQgLmlucHV0LXN0YXRlLWVycm9yLFxuW2RhdGEtdGhlbWU9Z2xhc3NdIC5xZG5hcHJvLWlucHV0IC5pbnB1dC1tZXNzYWdlLWVycm9yIHtcbiAgY29sb3I6ICNmOThkOGQ7XG59XG5bZGF0YS10aGVtZT1nbGFzc10gLnFkbmFwcm8taW5wdXQuaW5wdXQtc3VjY2VzcyAuaW5wdXQtZmllbGQge1xuICBib3JkZXItY29sb3I6ICM1OGI5OTI7XG59XG5bZGF0YS10aGVtZT1nbGFzc10gLnFkbmFwcm8taW5wdXQgLmlucHV0LXN0YXRlLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzhiZWNjNTtcbn1cblxuLyogPT09IHR5cGU6IGRhdGUg4oCUIGFkZGVkIDIwMjYtMDUtMTEgKGNvbXBpbGVkIGZyb20gX2lucHV0LnNjc3MpID09PSAqL1xuLnFkbmFwcm8taW5wdXQuaW5wdXQtdHlwZS1kYXRlIC5pbnB1dC1uYXRpdmU6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLWRhdGUgLmlucHV0LW5hdGl2ZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1pbi13aWR0aDogMDtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtZGF0ZSAuaW5wdXQtbmF0aXZlOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiA9PT0gdHlwZTogdGltZSDigJQgYWRkZWQgMjAyNi0wNi0xOSAobmF0aXZlIDxpbnB1dCB0eXBlPVwidGltZVwiPiwgbWlycm9ycyBkYXRlKSA9PT0gKi9cbi5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtdGltZSAuaW5wdXQtbmF0aXZlOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtdHlwZS10aW1lIC5pbnB1dC1uYXRpdmUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtaW4td2lkdGg6IDA7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLXRpbWUgLmlucHV0LW5hdGl2ZTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09IGRhdGUvdGltZSBlbXB0eS1zdGF0ZSBwbGFjZWhvbGRlciAoYWRkZWQgMjAyNi0wNi0xOSkgPT09XG4gICBXaGVuIG5vdGhpbmcgaXMgZW50ZXJlZCwgc2hvdyB0aGUgZGQvbW0veXl5eSAoYW5kIEhIOm1tKSBmb3JtYXQgdGV4dCBpbiB0aGUgc2FtZVxuICAgbGlnaHQtZ3JleSBwbGFjZWhvbGRlciBjb2xvdXIgYXMgb3RoZXIgaW5wdXRzIChsaWtlIHRoZSBjdXJyZW5jeSBcIjAsMDBcIik7IHRoZVxuICAgdmFsdWUgdHVybnMgZGFyayBvbmNlIGZpbGxlZCAoLmlucHV0LWZpbGxlZCkuIFtLaW1dXG4gICBNZWVnZXRyb2trZW4gbWV0IGRlIGJhc2lzLXBsYWNlaG9sZGVyLWZpeCAoYmVzbHVpdCA3OCwga2x1cyA0YiwgMzEuMDcuMjAyNik6IGRlemVcbiAgIHJlZ2VsIGdlYnJ1aWt0ZSBiZXd1c3QgZGV6ZWxmZGUga2xldXIgYWxzIGRlIGJhc2lzLXBsYWNlaG9sZGVyIChcImluIHRoZSBzYW1lXG4gICBsaWdodC1ncmV5IHBsYWNlaG9sZGVyIGNvbG91ciBhcyBvdGhlciBpbnB1dHNcIiksIGR1cyB6b25kZXIgZGV6ZSBtZWUgdGUgbmVtZW5cbiAgIHpvdSBhbGxlZW4gZGl0IHR5cGUgZGUgb3VkZSwgdGUgbGljaHRlIDEuOTE6MS1rbGV1ciBob3VkZW4uICovXG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLWRhdGU6bm90KC5pbnB1dC1maWxsZWQpIC5pbnB1dC1uYXRpdmUsXG4ucWRuYXByby1pbnB1dC5pbnB1dC10eXBlLXRpbWU6bm90KC5pbnB1dC1maWxsZWQpIC5pbnB1dC1uYXRpdmUge1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkKTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtZGF0ZTpub3QoLmlucHV0LWZpbGxlZCkgLmlucHV0LW5hdGl2ZSxcbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWlucHV0LmlucHV0LXR5cGUtdGltZTpub3QoLmlucHV0LWZpbGxlZCkgLmlucHV0LW5hdGl2ZSB7XG4gIGNvbG9yOiAjODk4ZTk5O1xufVxuXG4vKiA9PT0gdmFyaWFudDogcm91bmQgKHBpbGwtc2hhcGUpIOKAlCBQV0Egb25seSBbMjAyNi0wNi0zMF0gPT09XG4gICBCb29sZWFuIGF0dHJpYnV0ZSBgcm91bmRgLiBSb3VuZHMgdGhlIGZpZWxkIHRvIGEgcGlsbCBzaGFwZSB3aXRoXG4gICBzbGlnaHRseSB3aWRlciBob3Jpem9udGFsIHBhZGRpbmcgc28gdGhlIGNvbnRlbnQgYnJlYXRoZXMgYXQgdGhlXG4gICBjdXJ2ZWQgZWRnZXMuIEludGVybmFsIGljb24tYnRucyBhbHJlYWR5IHVzZSBib3JkZXItcmFkaXVzOiA1MCVcbiAgIHNvIHRoZWlyIGhvdmVyIGNpcmNsZXMgc3RheSByb3VuZC4gVGhlIHJpZ2h0IHRyYWlsaW5nIGVkZ2UgZ2V0c1xuICAgYSBzbWFsbCBuZWdhdGl2ZSBtYXJnaW4gdG8ga2VlcCB0aGUgbGFzdCBpY29uIG9wdGljYWxseSBjZW50cmVkLiAqL1xuLnFkbmFwcm8taW5wdXQuaW5wdXQtcm91bmQgLmlucHV0LWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1yb3VuZCAuaW5wdXQtZmllbGQgLmlucHV0LXRyYWlsaW5nIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi8qID09PSB2YXJpYW50OiBkYXJrLXB1cnBsZSBbMjAyNi0wNi0zMF0gPT09XG4gICBCb29sZWFuIGF0dHJpYnV0ZSBgZGFyay1wdXJwbGVgLiBEZWVwLXB1cnBsZSBzdXJmYWNlIGZvciB1c2Ugb25cbiAgIHB1cnBsZS1iYWNrZ3JvdW5kIHBhZ2VzIChQV0EgbGlzdF9wYWdlIHNlYXJjaCwgbG9naW4sIGV0Yy4pLlxuICAgVG9rZW5zOiBzdXJmYWNlPS0tYy1wdXJwbGUtNzAwLCB0ZXh0PS0tYy1wdXJwbGUtNTAsXG4gICBwbGFjZWhvbGRlci9pY29ucz0tLWMtcHVycGxlLTMwMCwgbGFiZWw9LS1jLXdoaXRlLTA0LCBoaW50PS0tYy1wdXJwbGUtMzAwLlxuICAgRm9jdXMgcmluZyB1bmNoYW5nZWQgKGJyYW5kIHB1cnBsZSBib3JkZXIpLiAqL1xuLnFkbmFwcm8taW5wdXQuaW5wdXQtZGFyay1wdXJwbGUgLmlucHV0LWZpZWxkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUtNzAwKTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2Utb3V0O1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtZGFyay1wdXJwbGUgLmlucHV0LWZpZWxkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUtNjAwKTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LWRhcmstcHVycGxlIC5pbnB1dC1maWVsZDpmb2N1cy13aXRoaW4ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtYnJhbmQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXB1cnBsZS03MDApO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtZGFyay1wdXJwbGUgLmlucHV0LWZpZWxkIC5pbnB1dC1uYXRpdmUge1xuICBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNTApO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtZGFyay1wdXJwbGUgLmlucHV0LWZpZWxkIC5pbnB1dC1uYXRpdmU6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWMtcHVycGxlLTMwMCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1kYXJrLXB1cnBsZSAuaW5wdXQtZmllbGQgLmlucHV0LWxlYWRpbmctaWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS0zMDApO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtZGFyay1wdXJwbGUgLmlucHV0LWxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUtMDQpO1xufVxuLnFkbmFwcm8taW5wdXQuaW5wdXQtZGFyay1wdXJwbGUgLmlucHV0LWhpbnQge1xuICBjb2xvcjogdmFyKC0tYy1wdXJwbGUtMzAwKTtcbn1cbi8qIENsZWFyLXgsIHNwaW5uZXIgwrEsIGFuZCBleWUtdG9nZ2xlIGljb24tYnRucyBpbnNpZGUgZGFyay1wdXJwbGUgKi9cbi5xZG5hcHJvLWlucHV0LmlucHV0LWRhcmstcHVycGxlIC5pbnB1dC10cmFpbGluZyAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1pbnB1dC1pY29uIHtcbiAgY29sb3I6IHZhcigtLWMtcHVycGxlLTUwKTtcbn1cbi5xZG5hcHJvLWlucHV0LmlucHV0LWRhcmstcHVycGxlIC5pbnB1dC10cmFpbGluZyAucWRuYXByby1pY29uLWJ0bi5pY29uLWJ0bi1pbnB1dC1pY29uOmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wdXJwbGUtNjAwKTtcbiAgY29sb3I6IHZhcigtLWMtcHVycGxlLTUwKTtcbn1cblxuLyogPT09IHZhcmlhbnQ6IGdyZXkgWzIwMjYtMDctMzFdID09PVxuICAgQm9vbGVhbiBhdHRyaWJ1dGUgYGdyZXlgLiBMaWdodC1ncmV5IHN1cmZhY2UgKC0tYy1ncmV5LTEwMCkgc28gdGhlIGZpZWxkXG4gICBzdGFuZHMgb3V0IGFnYWluc3QgYSB3aGl0ZSBiYWNrZ3JvdW5kIGluc3RlYWQgb2YgYmxlbmRpbmcgaW50byBpdCAtIGJ1aWx0XG4gICBmb3IgdGhlIGFwcC1oZWFkZXIgc2VhcmNoIGZpZWxkIChxZG5hcHJvLWFwcC1oZWFkZXIgc2xvdD1cInNlYXJjaFwiKSwgYnV0XG4gICB1c2FibGUgYW55d2hlcmUgYSBmaWVsZCBzaXRzIGRpcmVjdGx5IG9uIHdoaXRlL25lYXItd2hpdGUuXG4gICBObyBib3JkZXIgb2YgaXRzIG93bjogdGhlIGdyZXkgZmlsbCBJUyB0aGUgc2hhcGUgKHBlciBLaW0pLCBzYW1lIGlkZWEgYXNcbiAgIGRhcmstcHVycGxlJ3MgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCBvbiBpdHMgb3duIHN1cmZhY2UuXG4gICBQbGFjZWhvbGRlci9pY29uIGNvbG91cnMgYXJlIGxlZnQgYXQgdGhlaXIgbm9ybWFsIChub24tZ3JleSkgdmFsdWVzIG9uXG4gICBwdXJwb3NlOiBncmV5LTEwMCAoI2U3ZTllYykgaXMgY2xvc2UgZW5vdWdoIHRvIHdoaXRlIGluIGx1bWluYW5jZSB0aGF0XG4gICB0aGUgZGVmYXVsdCBncmV5LTQwMCBwbGFjZWhvbGRlci9pY29uIGNvbG91ciBzdGlsbCByZWFkcyBmaW5lIG9uIGl0IC0gYVxuICAgZGVkaWNhdGVkIGRhcmtlciBwbGFjZWhvbGRlciB0b2tlbiB3YXMgbm90IG5lZWRlZCB0aGUgd2F5IGRhcmstcHVycGxlXG4gICBuZWVkZWQgb25lIGZvciBpdHMgbXVjaC1sb3dlci1jb250cmFzdCBkYXJrIHN1cmZhY2UuXG4gICBDb21iaW5pbmcgd2l0aCBkYXJrLXB1cnBsZSBpcyBhIG5vLW9wOiBzZWUgcWRuYS1pbnB1dC5qcyByZW5kZXIoKSwgZ3JleVxuICAgaXMgaWdub3JlZCB3aGVuZXZlciBkYXJrLXB1cnBsZSBpcyBhbHNvIHNldC4gKi9cbi5xZG5hcHJvLWlucHV0LmlucHV0LWdyZXkgLmlucHV0LWZpZWxkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTEwMCwgI2U3ZTllYyk7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ucWRuYXByby1pbnB1dC5pbnB1dC1ncmV5IC5pbnB1dC1maWVsZDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIFBsYWNlaG9sZGVyIERPTktFUkRFUiBvcCBkZSBncmlqemUgdnVsbGluZyAoS2ltLCAzMS4wNy4yMDI2OiBcIm51IGxpamt0IGhldCB2ZWxkXG4gICBvb2sgZGlzYWJsZWQgb21kYXQgZGUgcGxhY2Vob2xkZXIgdGVrc3QgdGUgbGljaHQgaXMsIGRpZSBtb2V0IGVjaHQgZG9ua2VyZGVyXCIpLlxuICAgR2VtZXRlbiBtZXQgZGUgV0NBRy1mb3JtdWxlLCBuaWV0IG9wIGhldCBvb2c6XG4gICAgIGRlIHN0YW5kYWFyZC1wbGFjZWhvbGRlciAjYTZhYWIzIG9wICNlN2U5ZWMgIC0+IDEuOTE6MVxuICAgICBkZSBESVNBQkxFRC1wbGFjZWhvbGRlciAgIzg5OGU5OSBvcCAjZTdlOWVjICAtPiAyLjcwOjFcbiAgIERlIGdld29uZSBwbGFjZWhvbGRlciB3YXMgZHVzIExJQ0hURVIgZGFuIGRlIHVpdGdlc2NoYWtlbGRlIHN0YW5kLCBlbiBkYWFyb20gbGFzXG4gICBlZW4gbGVlZyB2ZWxkIGFscyBlZW4gdmVsZCBkYXQgamUgbmlldCBtYWcgZ2VicnVpa2VuLiBEYXQgd2FzIGVlbiBmb3V0IGluIGRlIEJBU0lTXG4gICB2YW4gZGl0IGNvbXBvbmVudCBlbiBuaWV0IGFsbGVlbiBpbiBkZXplIHZhcmlhbnQ7IHRvZW4gZGl0IGhpZXIgZ2Vib3V3ZCB3ZXJkLCB3YXNcbiAgIGRlIGZpeCBub2cgZ2VzY29wZWQgdG90IGRlIGdyaWp6ZSB2YXJpYW50IGVuIGdlZmxhZ2Qgdm9vciBLaW0gKGRlIGJhc2lzIHJhYWt0IGVsa2VcbiAgIGlucHV0IGluIGRlIGJhY2tvZmZpY2UgZW4gZGUgYXBwLCBkYXQgbmllbWFuZCBnZXZyYWFnZCBoYWQpLiBCZXNsdWl0IDc4IC8ga2x1cyA0YlxuICAgKDMxLjA3LjIwMjYpIGhlZWZ0IGRlIGJhc2lzIHplbGYgb29rIG9wIHZhcigtLWMtdGV4dC1tdXRlZCkgZ2V6ZXQgKHppZSBkZVxuICAgYmFzaXMtcmVnZWwgYm92ZW5pbiBkaXQgYmVzdGFuZCksIGR1cyBkZXplIHJlZ2VsIGhpZXIgaXMgbnUgc3RyaWt0IGdlbm9tZW5cbiAgIG92ZXJib2RpZyBnZXdvcmRlbiAoZGUgYmFzaXMgbGV2ZXJ0IGFsIGRlemVsZmRlIGtsZXVyKSBtYWFyIGJsaWpmdCBzdGFhbiBhbHNcbiAgIGV4cGxpY2lldGUsIHplbGZzdGFuZGlnZSBnYXJhbnRpZSB2b29yIGRlemUgdmFyaWFudC5cbiAgIHZhcigtLWMtdGV4dC1tdXRlZCkgZ2VlZnQgMy45NDoxLCBydWltIGJvdmVuIGRlIGRpc2FibGVkLXN0YW5kIGVuIGJvdmVuIGRlIDM6MSBkaWVcbiAgIFdDQUcgdm9vciBncm90ZS9zZWN1bmRhaXJlIHRla3N0IGFhbmhvdWR0LiAqL1xuLnFkbmFwcm8taW5wdXQuaW5wdXQtZ3JleSAuaW5wdXQtZmllbGQgLmlucHV0LW5hdGl2ZTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkKTtcbn1cblxuLyogRW4gaGV0IGxvZXAtaWNvb250amUgZXJ2b29yIG1lZSwgYW5kZXJzIGJsaWpmdCBkYXQgYWxzIGVuaWdlIGxpY2h0IGFjaHRlciBlbiBsZWVzdFxuICAgZGUgcmlqIG5vZyBzdGVlZHMgYWxzIHVpdGdlc2NoYWtlbGQuICovXG4ucWRuYXByby1pbnB1dC5pbnB1dC1ncmV5IC5pbnB1dC1maWVsZCAuaW5wdXQtbGVhZGluZy1pY29uIHtcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCk7XG59XG4vKiBGb2N1cyByaW5nOiByZXN0YXRlZCBoZXJlIChub3QgaW5oZXJpdGVkIGZyb20gdGhlIGJhc2UgOmZvY3VzLXdpdGhpblxuICAgcnVsZSkgZm9yIHRoZSBzYW1lIHJlYXNvbiBkYXJrLXB1cnBsZSByZXN0YXRlcyBpdHMgb3duIC0gdGhlIHBsYWluXG4gICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHJ1bGUgYWJvdmUgaGFzIGVxdWFsIHNlbGVjdG9yIHNwZWNpZmljaXR5IHRvXG4gICB0aGUgYmFzZSBcIi5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZDpmb2N1cy13aXRoaW5cIiBydWxlIGFuZCBjb21lcyBsYXRlclxuICAgaW4gdGhlIGZpbGUsIHNvIHdpdGhvdXQgdGhpcyBvdmVycmlkZSBpdCB3b3VsZCB3aW4gb24gZm9jdXMgdG9vIGFuZCB0aGVcbiAgIHJpbmcgd291bGQgc2lsZW50bHkgZGlzYXBwZWFyLlxuICAgVG9rZW46IHZhcigtLWMtYnJhbmQtcHVycGxlKSByYXRoZXIgdGhhbiBkYXJrLXB1cnBsZSdzIHZhcigtLWMtYnJhbmQpIC1cbiAgIHRoYXQgdG9rZW4gaXMgbm90IGRlZmluZWQgYW55d2hlcmUgaW4gdGhpcyBjb2RlYmFzZSAoY2hlY2tlZDogYWJzZW50IGZyb21cbiAgIGRlc2lnbi10b2tlbnMvX2Rlc2lnbi10b2tlbnMuc2NzcyBhbmQgdGhlIGNvbXBpbGVkIHN0eWxlLXYxLmNzcyksIHNvXG4gICBkYXJrLXB1cnBsZSdzIGZvY3VzLXdpdGhpbiBib3JkZXItY29sb3IgaXMgdmVyeSBsaWtlbHkgYSBwcmUtZXhpc3RpbmcsXG4gICBzaWxlbnRseS1icm9rZW4gcnVsZS4gTm90IGZpeGVkIGhlcmUgKG91dCBvZiBzY29wZSBmb3IgdGhpcyB0YXNrLCBhbmRcbiAgIF9pbnB1dC5zY3NzIGZvciBkYXJrLXB1cnBsZSBpcyBiZWluZyByZWFkLCBub3QgcmV3cml0dGVuKSAtIGZsYWdnaW5nIGl0XG4gICBpbiB0aGUgaGFuZG9mZiBpbnN0ZWFkIG9mIGNvcHlpbmcgdGhlIHNhbWUgdW5kZWZpbmVkIHRva2VuIGZvcndhcmQuICovXG4ucWRuYXByby1pbnB1dC5pbnB1dC1ncmV5IC5pbnB1dC1maWVsZDpmb2N1cy13aXRoaW4ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtYnJhbmQtcHVycGxlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTEwMCwgI2U3ZTllYyk7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9sYWJlbC1jaXJjbGUvX2xhYmVsLWNpcmNsZS1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG4ucWRuYXByby1sYWJlbC1jaXJjbGUge1xuICAtLWxjLXNpemU6IDQ0cHg7XG4gIC0tbGMtaWNvbi1zaXplOiAxNnB4O1xuICAtLWxjLWJnOiAjZjBmMWYyO1xuICAtLWxjLWljb246ICMxZTFmMjA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IHZhcigtLWxjLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLWxjLXNpemUpO1xuICBmbGV4LXNocmluazogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1sYy1iZyk7XG4gIGNvbG9yOiB2YXIoLS1sYy1pY29uKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ucWRuYXByby1sYWJlbC1jaXJjbGUgLmxhYmVsLWNpcmNsZS1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdpZHRoOiB2YXIoLS1sYy1pY29uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLWxjLWljb24tc2l6ZSk7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLWxhYmVsLWNpcmNsZSAubGFiZWwtY2lyY2xlLWljb24gc3ZnIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1zaXplLWJpZyB7XG4gIC0tbGMtc2l6ZTogNDRweDtcbiAgLS1sYy1pY29uLXNpemU6IDE2cHg7XG59XG4ucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLXNpemUtc21hbGwge1xuICAtLWxjLXNpemU6IDIwcHg7XG4gIC0tbGMtaWNvbi1zaXplOiAxMnB4O1xuICBvdXRsaW5lOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIGN1cnJlbnRDb2xvciAyMiUsIHRyYW5zcGFyZW50KTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG59XG4ucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLWdyZXkge1xuICAtLWxjLWJnOiAjZjBmMWYyO1xuICAtLWxjLWljb246ICMxZTFmMjA7XG59XG4ucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLWdyZXktMiB7XG4gIC0tbGMtYmc6ICNjNGM3Y2M7XG4gIC0tbGMtaWNvbjogIzFlMWYyMDtcbn1cbi5xZG5hcHJvLWxhYmVsLWNpcmNsZS5sYWJlbC1jaXJjbGUtY29sb3ItcmVkIHtcbiAgLS1sYy1iZzogI2ZlZTNlMztcbiAgLS1sYy1pY29uOiAjNjMzMDMwO1xufVxuLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1jb2xvci1yZWQtMiB7XG4gIC0tbGMtYmc6ICNmYmFhYWE7XG4gIC0tbGMtaWNvbjogIzYzMzAzMDtcbn1cbi5xZG5hcHJvLWxhYmVsLWNpcmNsZS5sYWJlbC1jaXJjbGUtY29sb3IteWVsbG93IHtcbiAgLS1sYy1iZzogI2ZlZjZkYjtcbiAgLS1sYy1pY29uOiAjNjU1NTIyO1xufVxuLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1jb2xvci15ZWxsb3ctMiB7XG4gIC0tbGMtYmc6ICNmZGU1OTQ7XG4gIC0tbGMtaWNvbjogIzY1NTUyMjtcbn1cbi5xZG5hcHJvLWxhYmVsLWNpcmNsZS5sYWJlbC1jaXJjbGUtY29sb3ItZ3JlZW4ge1xuICAtLWxjLWJnOiAjZTJmYWYxO1xuICAtLWxjLWljb246ICMyZjVkNGE7XG59XG4ucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLWdyZWVuLTIge1xuICAtLWxjLWJnOiAjOGJlY2M1O1xuICAtLWxjLWljb246ICMyZjVkNGE7XG59XG4ucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLWJsdWUge1xuICAtLWxjLWJnOiAjZTZlZmY5O1xuICAtLWxjLWljb246ICMzNzQ3NWE7XG59XG4ucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLWJsdWUtMiB7XG4gIC0tbGMtYmc6ICNiNWNlZWQ7XG4gIC0tbGMtaWNvbjogIzM3NDc1YTtcbn1cbi5xZG5hcHJvLWxhYmVsLWNpcmNsZS5sYWJlbC1jaXJjbGUtY29sb3ItYnJpZ2h0LWJsdWUge1xuICAtLWxjLWJnOiAjODVhMWVjO1xuICAtLWxjLWljb246ICMxOTJhNWE7XG59XG4ucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLWJyaWdodC1ibHVlLTIge1xuICAtLWxjLWJnOiAjZDZlMGY5O1xuICAtLWxjLWljb246ICMxOTJhNWE7XG59XG4ucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLXBpbmsge1xuICAtLWxjLWJnOiAjZjZlMWU4O1xuICAtLWxjLWljb246ICM1NjJkM2E7XG59XG4ucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLWRhcmstcGluayB7XG4gIC0tbGMtYmc6ICNlNWE2Yjk7XG4gIC0tbGMtaWNvbjogIzU2MmQzYTtcbn1cbi5xZG5hcHJvLWxhYmVsLWNpcmNsZS5sYWJlbC1jaXJjbGUtY29sb3ItcHVycGxlIHtcbiAgLS1sYy1iZzogI2ViZTlmYjtcbiAgLS1sYy1pY29uOiAjNDEzYjVlO1xufVxuLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1jb2xvci1kYXJrLXB1cnBsZSB7XG4gIC0tbGMtYmc6ICNjNGJjZjM7XG4gIC0tbGMtaWNvbjogIzQxM2I1ZTtcbn1cbi5xZG5hcHJvLWxhYmVsLWNpcmNsZS5sYWJlbC1jaXJjbGUtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbi8qIEFkZGl0aXZlIHN0YXR1cy0qIGNvbG9ycyAoMTYuMDcuMjAyNiDigJQgcGxhbm5lciBzdGF0dXMgZmlsdGVyKS4gU29saWQgZG90c1xuICAgKGJnID09IGljb24gY29sb3IsIG5vIGxpZ2h0LXRpbnQgcGFpcmluZyBsaWtlIHRoZSAxNiBjb2xvcnMgYWJvdmUpIG1hcHBlZFxuICAgMToxIHRvIHFkbmFwcm8tZXZlbnQtY2FyZCdzIG93biBzdGF0dXMgdG9rZW5zIChzZWUgX2V2ZW50LWNhcmQuc2NzczpcbiAgIC0tYy1wdXJwbGUtNTAwLCAtLWMtc2lnbmFsLXJlZC8tb3JhbmdlLy1ncmVlbi10ZXh0KSDigJQgdGhlc2UgYXJlIHVzZWRcbiAgIGljb24tbGVzcyAoYSBwdXJlIGNvbG9yIGluZGljYXRvciwgc2VlIHFkbmEtbWVudS1pdGVtLmpzKSwgc28gb25seSAtLWxjLWJnXG4gICBpcyBldmVyIHZpc2libGU7IC0tbGMtaWNvbiBpcyBzZXQgdG8gdGhlIHNhbWUgdmFsdWUgZm9yIGNvbnNpc3RlbmN5IHNob3VsZFxuICAgYW4gaWNvbiBldmVyIGJlIGFkZGVkLiBObyBkYXJrLXRoZW1lIG92ZXJyaWRlOiBldmVudC1jYXJkIGl0c2VsZiBoYXMgbm9uZVxuICAgZm9yIHRoZXNlIHRva2VucyBlaXRoZXIgKHJhdyBzaWduYWwgcHJpbWl0aXZlcywgbm90IHJlLXRoZW1lZCkuIEZpcnN0LVxuICAgY2xhc3MgaGVyZSAobm90IGEgbWVudS1pdGVtLXNjb3BlZCBvdmVycmlkZSkgYmVjYXVzZSB0aGlzIGNvbXBvbmVudCdzIG93blxuICAgcmVuZGVyKCkgdW5jb25kaXRpb25hbGx5IHJld3JpdGVzIGNsYXNzTmFtZSBvbiBldmVyeSByZS1yZW5kZXIsIHdoaWNoXG4gICBzaWxlbnRseSBkaXNjYXJkZWQgYW55IGV4dGVybmFsbHktYWRkZWQgY2xhc3MtYmFzZWQgb3ZlcnJpZGUgYmVmb3JlIHRoaXNcbiAgIGZpeCAoS2ltJ3MgbGl2ZSB0ZXN0LCAxNi4wNy4yMDI2IOKAlCBmaWx0ZXIgZG90cyByZW5kZXJlZCBncmV5L2VtcHR5KS4gKi9cbi5xZG5hcHJvLWxhYmVsLWNpcmNsZS5sYWJlbC1jaXJjbGUtY29sb3Itc3RhdHVzLXBsYW5uZWQge1xuICAtLWxjLWJnOiB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpO1xuICAtLWxjLWljb246IHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSk7XG59XG4ucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLXN0YXR1cy1vdmVyZHVlIHtcbiAgLS1sYy1iZzogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpO1xuICAtLWxjLWljb246IHZhcigtLWMtc2lnbmFsLXJlZC10ZXh0LCAjYzY1YTVhKTtcbn1cbi5xZG5hcHJvLWxhYmVsLWNpcmNsZS5sYWJlbC1jaXJjbGUtY29sb3Itc3RhdHVzLWlucHJvZ3Jlc3Mge1xuICAtLWxjLWJnOiB2YXIoLS1jLXNpZ25hbC1vcmFuZ2UtdGV4dCwgI2JjNmExZik7XG4gIC0tbGMtaWNvbjogdmFyKC0tYy1zaWduYWwtb3JhbmdlLXRleHQsICNiYzZhMWYpO1xufVxuLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1jb2xvci1zdGF0dXMtY29tcGxldGUge1xuICAtLWxjLWJnOiB2YXIoLS1jLXNpZ25hbC1ncmVlbi10ZXh0LCAjNDI4YjZlKTtcbiAgLS1sYy1pY29uOiB2YXIoLS1jLXNpZ25hbC1ncmVlbi10ZXh0LCAjNDI4YjZlKTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1jb2xvci1ncmV5IHtcbiAgLS1sYy1iZzogIzU2NWI2NjtcbiAgLS1sYy1pY29uOiAjZTFlM2U2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1jb2xvci1ncmV5LTIge1xuICAtLWxjLWJnOiAjNDA0NDRkO1xuICAtLWxjLWljb246ICNlMWUzZTY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLXJlZCB7XG4gIC0tbGMtYmc6ICM1YTJiMmI7XG4gIC0tbGMtaWNvbjogI2ZiYWFhYTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWxhYmVsLWNpcmNsZS5sYWJlbC1jaXJjbGUtY29sb3ItcmVkLTIge1xuICAtLWxjLWJnOiAjN2EzODM4O1xuICAtLWxjLWljb246ICNmZWUzZTM7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLXllbGxvdyB7XG4gIC0tbGMtYmc6ICM1YTRkMWY7XG4gIC0tbGMtaWNvbjogI2ZkZTU5NDtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWxhYmVsLWNpcmNsZS5sYWJlbC1jaXJjbGUtY29sb3IteWVsbG93LTIge1xuICAtLWxjLWJnOiAjN2E2YjJkO1xuICAtLWxjLWljb246ICNmZWY2ZGI7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLWdyZWVuIHtcbiAgLS1sYy1iZzogIzJhNTU0NDtcbiAgLS1sYy1pY29uOiAjOGJlY2M1O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1jb2xvci1ncmVlbi0yIHtcbiAgLS1sYy1iZzogIzNkN2E2MjtcbiAgLS1sYy1pY29uOiAjZTJmYWYxO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1jb2xvci1ibHVlIHtcbiAgLS1sYy1iZzogIzJlM2U1NDtcbiAgLS1sYy1pY29uOiAjYjVjZWVkO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1jb2xvci1ibHVlLTIge1xuICAtLWxjLWJnOiAjNDQ1YTc4O1xuICAtLWxjLWljb246ICNlNmVmZjk7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLWJyaWdodC1ibHVlIHtcbiAgLS1sYy1iZzogIzNhNGE4YTtcbiAgLS1sYy1pY29uOiAjZDZlMGY5O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1jb2xvci1icmlnaHQtYmx1ZS0yIHtcbiAgLS1sYy1iZzogIzJhMzU2MDtcbiAgLS1sYy1pY29uOiAjODVhMWVjO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1jb2xvci1waW5rIHtcbiAgLS1sYy1iZzogIzRlMmEzNjtcbiAgLS1sYy1pY29uOiAjZTVhNmI5O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbGFiZWwtY2lyY2xlLmxhYmVsLWNpcmNsZS1jb2xvci1kYXJrLXBpbmsge1xuICAtLWxjLWJnOiAjNmUzZDUwO1xuICAtLWxjLWljb246ICNmNmUxZTg7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1sYWJlbC1jaXJjbGUubGFiZWwtY2lyY2xlLWNvbG9yLXB1cnBsZSB7XG4gIC0tbGMtYmc6ICMzYTM1NTU7XG4gIC0tbGMtaWNvbjogI2M0YmNmMztcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWxhYmVsLWNpcmNsZS5sYWJlbC1jaXJjbGUtY29sb3ItZGFyay1wdXJwbGUge1xuICAtLWxjLWJnOiAjNTI0YTdhO1xuICAtLWxjLWljb246ICNlYmU5ZmI7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9sb2dvL19sb2dvLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi8qID09PSBCRUdJTiBRRE5BLUxPR08gQ1NTID09PSAqL1xuLnFkbmFwcm8tbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8tbG9nbyBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG4vKiA9PT0gRU5EIFFETkEtTE9HTyBDU1MgPT09ICovXG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9tZW1iZXJzL19tZW1iZXJzLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi5xZG5hcHJvLW1lbWJlcnMge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDRweCA4cHggNHB4IDRweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgZWFzZTtcbn1cblxuLnFkbmFwcm8tbWVtYmVyczpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5xZG5hcHJvLW1lbWJlcnM6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjNDA0OTlhO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4ucWRuYXByby1tZW1iZXJzLm1lbWJlcnMtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBUcmFpbGluZyBcIitcIiBjaXJjbGUuIFNhbWUgaGVpZ2h0IGFzIGEgMzRweCBhdmF0YXIgc28gaXQgdmlzdWFsbHlcbiAgIGxpbmVzIHVwLiBTdHJva2Utb25seSBTVkcgc28gaXQgcmVuZGVycyB3aGl0ZSBvdmVyIHBob3RvcyBhbmRcbiAgIHB1cnBsZSBvbiBsaWdodCBzdXJmYWNlcyB2aWEgY3VycmVudENvbG9yLiAqL1xuLnFkbmFwcm8tbWVtYmVycyAubWVtYmVycy1hZGQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zIGVhc2UsIGJvcmRlci1jb2xvciAxNTBtcyBlYXNlO1xufVxuXG4ucWRuYXByby1tZW1iZXJzIC5tZW1iZXJzLWFkZCBzdmcge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAyO1xuICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG59XG5cbi8qIC0tLSBUb25lOiBvbi1waG90byAoZGVmYXVsdCkgLSBnbGFzcyBvdmVyIGltYWdlcnkuIC0tLSAqL1xuLnFkbmFwcm8tbWVtYmVycy5tZW1iZXJzLXRvbmUtb24tcGhvdG8ge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnFkbmFwcm8tbWVtYmVycy5tZW1iZXJzLXRvbmUtb24tcGhvdG86aG92ZXI6bm90KC5tZW1iZXJzLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG59XG5cbi5xZG5hcHJvLW1lbWJlcnMubWVtYmVycy10b25lLW9uLXBob3RvIC5tZW1iZXJzLWFkZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnFkbmFwcm8tbWVtYmVycy5tZW1iZXJzLXRvbmUtb24tcGhvdG86aG92ZXI6bm90KC5tZW1iZXJzLWRpc2FibGVkKSAubWVtYmVycy1hZGQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQyKTtcbn1cblxuLyogLS0tIFRvbmU6IGxpZ2h0IC0gb24gYSBsaWdodCBzdXJmYWNlIChjYXJkcywgcGFuZWxzKS4gLS0tICovXG4ucWRuYXByby1tZW1iZXJzLm1lbWJlcnMtdG9uZS1saWdodCB7XG4gIGNvbG9yOiAjNDA0OTlhO1xufVxuXG4ucWRuYXByby1tZW1iZXJzLm1lbWJlcnMtdG9uZS1saWdodDpob3Zlcjpub3QoLm1lbWJlcnMtZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogcmdiYSg3MCwgODIsIDI0MywgMC4wNik7XG59XG5cbi5xZG5hcHJvLW1lbWJlcnMubWVtYmVycy10b25lLWxpZ2h0IC5tZW1iZXJzLWFkZCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1jb2xvcjogI2M0YzdjYztcbiAgY29sb3I6ICM0MDQ5OWE7XG59XG5cbi5xZG5hcHJvLW1lbWJlcnMubWVtYmVycy10b25lLWxpZ2h0OmhvdmVyOm5vdCgubWVtYmVycy1kaXNhYmxlZCkgLm1lbWJlcnMtYWRkIHtcbiAgYmFja2dyb3VuZDogI2YwZjFmMjtcbiAgYm9yZGVyLWNvbG9yOiAjODk4ZTk5O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1tZW1iZXJzLm1lbWJlcnMtdG9uZS1saWdodCB7XG4gIGNvbG9yOiAjYTVhY2ZmO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1tZW1iZXJzLm1lbWJlcnMtdG9uZS1saWdodDpob3Zlcjpub3QoLm1lbWJlcnMtZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNjUsIDE3MiwgMjU1LCAwLjEpO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1tZW1iZXJzLm1lbWJlcnMtdG9uZS1saWdodCAubWVtYmVycy1hZGQge1xuICBiYWNrZ3JvdW5kOiAjMmUzMDM2O1xuICBib3JkZXItY29sb3I6ICM0MDQ0NGQ7XG4gIGNvbG9yOiAjYTVhY2ZmO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1tZW1iZXJzLm1lbWJlcnMtdG9uZS1saWdodDpob3Zlcjpub3QoLm1lbWJlcnMtZGlzYWJsZWQpIC5tZW1iZXJzLWFkZCB7XG4gIGJhY2tncm91bmQ6ICM0MDQ0NGQ7XG59IiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvbWVudS9fbWVudS1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG4ucWRuYXByby1tZW51IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBnYXA6IDRweDtcbn1cbi5xZG5hcHJvLW1lbnUgPiBxZG5hcHJvLW1lbnUtaXRlbSxcbi5xZG5hcHJvLW1lbnUgPiBxZG5hcHJvLW1lbnUtc2VwYXJhdG9yLFxuLnFkbmFwcm8tbWVudSA+IHFkbmFwcm8tbWVudS1zZWN0aW9uLWhlYWRpbmcsXG4ucWRuYXByby1tZW51ID4gcWRuYXByby1tZW51LWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnFkbmFwcm8tbWVudS5tZW51LWNvbG9yLW5ldXRyYWwge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzRjN2NjO1xuICBib3gtc2hhZG93OiAwIDRweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDhweCAxMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbn1cbi5xZG5hcHJvLW1lbnUubWVudS1jb2xvci1hY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjNDA0OTlhO1xuICBib3JkZXI6IDAuNXB4IHNvbGlkICMzMzNhN2I7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8vIGVtYmVkZGVkOiBjaHJvbWUtbGVzcyB2YXJpYW50IGZvciBob3N0aW5nIGluc2lkZSBhbm90aGVyIHBhbmVsIGNvbXBvbmVudFxuLy8gKGUuZy4gcWRuYXByby1wb3BvdmVyIGNhcnJpZXMgaXRzIG93biBiZy9zaGFkb3cvcGFkZGluZyDigJQgd2l0aG91dCB0aGlzIHRoZVxuLy8gY29tcG9zaXRpb24gcmVuZGVycyBhIGRvdWJsZSBwYW5lbDsgS2ltIDE2LjA3LjIwMjYpLiBQbGFjZWQgYWZ0ZXIgdGhlIGNvbG9yXG4vLyBibG9ja3Mgc28gaXQgd2lucyBhdCBlcXVhbCBzcGVjaWZpY2l0eS5cbi5xZG5hcHJvLW1lbnUubWVudS1lbWJlZGRlZCB7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnFkbmFwcm8tbWVudS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDA7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLnFkbmFwcm8tbWVudS1oZWFkZXIgLm1lbnUtaGVhZGVyLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuLnFkbmFwcm8tbWVudS1oZWFkZXIgLm1lbnUtaGVhZGVyLXN1YmhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuLnFkbmFwcm8tbWVudS1oZWFkZXIubWVudS1oZWFkZXItY29sb3ItbmV1dHJhbCAubWVudS1oZWFkZXItaGVhZGluZyB7XG4gIGNvbG9yOiAjMGIwYjBkO1xufVxuLnFkbmFwcm8tbWVudS1oZWFkZXIubWVudS1oZWFkZXItY29sb3ItbmV1dHJhbCAubWVudS1oZWFkZXItc3ViaGVhZGluZyB7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuLnFkbmFwcm8tbWVudS1oZWFkZXIubWVudS1oZWFkZXItY29sb3ItYWN0aW9uIC5tZW51LWhlYWRlci1oZWFkaW5nIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ucWRuYXByby1tZW51LWhlYWRlci5tZW51LWhlYWRlci1jb2xvci1hY3Rpb24gLm1lbnUtaGVhZGVyLXN1YmhlYWRpbmcge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4ucWRuYXByby1tZW51LXNlcGFyYXRvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiA4cHggMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbi5xZG5hcHJvLW1lbnUtc2VwYXJhdG9yLm1lbnUtc2VwYXJhdG9yLWNvbG9yLW5ldXRyYWwge1xuICBiYWNrZ3JvdW5kOiAjZTVlN2ViO1xufVxuLnFkbmFwcm8tbWVudS1zZXBhcmF0b3IubWVudS1zZXBhcmF0b3ItY29sb3ItYWN0aW9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbn1cblxuLnFkbmFwcm8tbWVudS1zZWN0aW9uLWhlYWRpbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCA0cHg7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnFkbmFwcm8tbWVudS1zZWN0aW9uLWhlYWRpbmcubWVudS1zZWN0aW9uLWhlYWRpbmctY29sb3ItbmV1dHJhbCB7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuLnFkbmFwcm8tbWVudS1zZWN0aW9uLWhlYWRpbmcubWVudS1zZWN0aW9uLWhlYWRpbmctY29sb3ItYWN0aW9uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbWVudS5tZW51LWNvbG9yLW5ldXRyYWwge1xuICBiYWNrZ3JvdW5kOiAjMmUzMDM2O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBib3gtc2hhZG93OiAwIDRweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgOHB4IDEycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW1lbnUubWVudS1jb2xvci1hY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjMzMzYTdiO1xuICBib3JkZXI6IDAuNXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW1lbnUgLnFkbmFwcm8tbWVudS1oZWFkZXIubWVudS1oZWFkZXItY29sb3ItbmV1dHJhbCAubWVudS1oZWFkZXItaGVhZGluZyB7XG4gIGNvbG9yOiAjZTFlM2U2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbWVudSAucWRuYXByby1tZW51LWhlYWRlci5tZW51LWhlYWRlci1jb2xvci1uZXV0cmFsIC5tZW51LWhlYWRlci1zdWJoZWFkaW5nIHtcbiAgY29sb3I6IHJnYmEoMjI1LCAyMjcsIDIzMCwgMC42NSk7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1tZW51IC5xZG5hcHJvLW1lbnUtc2VwYXJhdG9yLm1lbnUtc2VwYXJhdG9yLWNvbG9yLW5ldXRyYWwge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbWVudSAucWRuYXByby1tZW51LXNlcGFyYXRvci5tZW51LXNlcGFyYXRvci1jb2xvci1hY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1tZW51IC5xZG5hcHJvLW1lbnUtc2VjdGlvbi1oZWFkaW5nLm1lbnUtc2VjdGlvbi1oZWFkaW5nLWNvbG9yLW5ldXRyYWwge1xuICBjb2xvcjogcmdiYSgyMjUsIDIyNywgMjMwLCAwLjYpO1xufVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvbWVudS1pdGVtL19tZW51LWl0ZW0tY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnFkbmFwcm8tbWVudS1pdGVtIHtcbiAgLS1taS10ZXh0OiAjMGIwYjBkO1xuICAtLW1pLXRleHQtbXV0ZWQ6IHJnYmEoMTEsIDExLCAxMywgMC41NSk7XG4gIC0tbWktaWNvbjogIzBiMGIwZDtcbiAgLS1taS1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tbWktYmctaG92ZXI6ICNmNWY2Zjg7XG4gIC0tbWktYmctcHJlc3NlZDogI2UxZTNlNjtcbiAgLS1taS1iZy1zZWxlY3RlZDogI2YwZjFmMjtcbiAgLS1taS1kaXNhYmxlZC10ZXh0OiAjODk4ZTk5O1xuICAtLW1pLWRlc3RydWN0aXZlLXRleHQ6ICNjNDM2MmE7XG4gIC0tbWktZGVzdHJ1Y3RpdmUtYmctaG92ZXI6ICNGRUVDRUM7XG4gIC0tbWktZm9jdXMtcmluZzogIzQwNDk5YTtcbiAgLS1taS1mb2N1cy1nbG93OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLW1pLWJnKTtcbiAgY29sb3I6IHZhcigtLW1pLXRleHQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYm9yZGVyOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zIGVhc2Utb3V0O1xufVxuLnFkbmFwcm8tbWVudS1pdGVtIC5tZW51LWl0ZW0taWNvbixcbi5xZG5hcHJvLW1lbnUtaXRlbSAubWVudS1pdGVtLWNoZXZyb24sXG4ucWRuYXByby1tZW51LWl0ZW0gLm1lbnUtaXRlbS1jaGVjayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgY29sb3I6IHZhcigtLW1pLWljb24pO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbSAubWVudS1pdGVtLWljb24gc3ZnLFxuLnFkbmFwcm8tbWVudS1pdGVtIC5tZW51LWl0ZW0tY2hldnJvbiBzdmcsXG4ucWRuYXByby1tZW51LWl0ZW0gLm1lbnUtaXRlbS1jaGVjayBzdmcge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucWRuYXByby1tZW51LWl0ZW0gLm1lbnUtaXRlbS1jaGV2cm9uLFxuLnFkbmFwcm8tbWVudS1pdGVtIC5tZW51LWl0ZW0tY2hlY2sge1xuICBvcGFjaXR5OiAwLjg1O1xufVxuLnFkbmFwcm8tbWVudS1pdGVtIC5tZW51LWl0ZW0tbGFiZWwge1xuICBmbGV4OiAxIDAgMDtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbSAubWVudS1pdGVtLXNob3J0Y3V0IHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGNvbG9yOiB2YXIoLS1taS10ZXh0LW11dGVkKTtcbiAgZm9udC1mYW1pbHk6IFwiTWVubG9cIiwgXCJNb25hY29cIiwgbW9ub3NwYWNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG59XG4vKiBUcmFpbGluZyBhcmVhIOKAlCBhIGNvdW50IHBpbGwgKGFsd2F5cyB2aXNpYmxlKSBhbmQvb3IgaG92ZXItcmV2ZWFsZWQgYWN0aW9uXG4gICBidXR0b25zIChvcGVuICsgcmVtb3ZlKSwgZ3JvdXBlZCBhdCB0aGUgZW5kIG9mIHRoZSByb3cuIFRoZSBwaWxsIHN0YXlzIHB1dDtcbiAgIHRoZSBhY3Rpb25zIGZhZGUgaW4gb24gaG92ZXIvZm9jdXMgc28gdGhlIHJvdyBpcyBjbGVhbiBhdCByZXN0LiBbS2ltIDIwMjYtMDYtMTVdICovXG4ucWRuYXByby1tZW51LWl0ZW0gLm1lbnUtaXRlbS10cmFpbGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbSAubWVudS1pdGVtLXBpbGwgeyBmbGV4LXNocmluazogMDsgfVxuLyogVGFnIOKAlCBhIHJlYWwgcWRuYXByby10YWcgb24gdGhlIHRyYWlsaW5nIGVkZ2UgKHN0YXR1cyBsYWJlbDpcbiAgIFwiTmlldXdcIiAvIFwiUHJvXCIgLyBcIkJldGFcIikuIFRoZSBsYWJlbCdzIGZsZXg6MSBwdXNoZXMgaXQgcmlnaHQ7IGl0IHNpdHNcbiAgIEJFRk9SRSB0aGUgdHJhaWxpbmcgc2xvdCBzbyBpdCBjb2V4aXN0cyB3aXRoIGEgY2hldnJvbi9jaGVjay9waWxsLlxuICAgZmxleC1zaHJpbms6MCBzbyBpdCBuZXZlciBzcXVhc2hlcyAodGhlIGxhYmVsIHRydW5jYXRlcyBmaXJzdCkuIERpc2FibGVkXG4gICByb3cgZmFkZXMgdGhlIHRhZyAob3BhY2l0eSAwLjQsIHNhbWUgdHJlYXRtZW50IGFzIHRoZSBhdmF0YXIpLiBbS2ltIDIwMjYtMDctMjBdICovXG4ucWRuYXByby1tZW51LWl0ZW0gLm1lbnUtaXRlbS10YWcgeyBmbGV4LXNocmluazogMDsgfVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS1kaXNhYmxlZCAubWVudS1pdGVtLXRhZyB7IG9wYWNpdHk6IDAuNDsgfVxuLyogVGFnLWFzLWxhYmVsIG1vZGUg4oCUIHRoZSB0YWcgSVMgdGhlIHJvdyBjb250ZW50IChsZWZ0IGFmdGVyIHRoZSBsZWFkaW5nXG4gICBzbG90KSwgZm9yIGNoZWNrYm94ICsgY29sb3VyZWQtdGFnIGNhdGVnb3J5IHBpY2tlcnMuIFRoZSB3cmFwcGVyIHRha2VzIHRoZVxuICAgZmxleDoxIGxhYmVsIHNsb3Qgc28gdGhlIHRhZyBodWdzIGl0cyBjb250ZW50IG9uIHRoZSBsZWZ0IGFuZCB0aGUgcm93IGtlZXBzXG4gICBhIGNvbnNpc3RlbnQgaGVpZ2h0OyBsb25nIHRhZyB0ZXh0IGNsaXBzIGF0IHRoZSB3cmFwcGVyIGVkZ2UuIFtLaW0gMjAyNi0wNy0yMF0gKi9cbi5xZG5hcHJvLW1lbnUtaXRlbSAubWVudS1pdGVtLXRhZy1sYWJlbCB7XG4gIGZsZXg6IDEgMCAwO1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucWRuYXByby1tZW51LWl0ZW0gLm1lbnUtaXRlbS10YWctbGFiZWwgLm1lbnUtaXRlbS10YWcgeyBtYXgtd2lkdGg6IDEwMCU7IH1cbi5xZG5hcHJvLW1lbnUtaXRlbSAubWVudS1pdGVtLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDJweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0td2l0aC1hY3Rpb25zOmhvdmVyIC5tZW51LWl0ZW0tYWN0aW9ucyxcbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0td2l0aC1hY3Rpb25zOmZvY3VzLXdpdGhpbiAubWVudS1pdGVtLWFjdGlvbnMgeyBvcGFjaXR5OiAxOyB9XG4ucWRuYXByby1tZW51LWl0ZW0gLm1lbnUtaXRlbS1iYWRnZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGNvbG9yOiB2YXIoLS1taS10ZXh0KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS1zaXplLWRlZmF1bHQge1xuICBnYXA6IDEycHg7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLXNpemUtZGVmYXVsdCAubWVudS1pdGVtLWljb24ge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS1zaXplLWRlZmF1bHQgLm1lbnUtaXRlbS1jaGV2cm9uIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0tc2l6ZS1kZWZhdWx0IC5tZW51LWl0ZW0tY2hlY2sge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS1zaXplLWRlZmF1bHQgLm1lbnUtaXRlbS1zaG9ydGN1dCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0tc2l6ZS1kZWZhdWx0IC5tZW51LWl0ZW0tYmFkZ2Uge1xuICBtaW4td2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgcGFkZGluZzogMCA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0tc2l6ZS1zbWFsbCB7XG4gIGdhcDogMTJweDtcbiAgbWluLWhlaWdodDogMjhweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS1zaXplLXNtYWxsIC5tZW51LWl0ZW0taWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLXNpemUtc21hbGwgLm1lbnUtaXRlbS1jaGV2cm9uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0tc2l6ZS1zbWFsbCAubWVudS1pdGVtLWNoZWNrIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0tc2l6ZS1zbWFsbCAubWVudS1pdGVtLXNob3J0Y3V0IHtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS1zaXplLXNtYWxsIC5tZW51LWl0ZW0tYmFkZ2Uge1xuICBtaW4td2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbTpob3Zlcjpub3QoLm1lbnUtaXRlbS1kaXNhYmxlZCk6bm90KC5tZW51LWl0ZW0tYWN0aXZlKSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLW1pLWJnLWhvdmVyKTtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbTphY3RpdmU6bm90KC5tZW51LWl0ZW0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbWktYmctcHJlc3NlZCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4ucWRuYXByby1tZW51LWl0ZW06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnFkbmFwcm8tbWVudS1pdGVtOmZvY3VzLXZpc2libGUsIC5xZG5hcHJvLW1lbnUtaXRlbS5mb3JjZS1mb2N1cyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1taS1mb2N1cy1yaW5nKTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCB2YXIoLS1taS1mb2N1cy1nbG93KTtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0tYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbWktYmctc2VsZWN0ZWQpO1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLmZvcmNlLWhvdmVyOm5vdCgubWVudS1pdGVtLWRpc2FibGVkKTpub3QoLm1lbnUtaXRlbS1hY3RpdmUpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbWktYmctaG92ZXIpO1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLmZvcmNlLXByZXNzZWQ6bm90KC5tZW51LWl0ZW0tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbWktYmctcHJlc3NlZCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLWRpc2FibGVkIHtcbiAgY29sb3I6IHZhcigtLW1pLWRpc2FibGVkLXRleHQpICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS1kaXNhYmxlZCAubWVudS1pdGVtLWljb24sXG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLWRpc2FibGVkIC5tZW51LWl0ZW0tY2hldnJvbixcbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0tZGlzYWJsZWQgLm1lbnUtaXRlbS1jaGVjayB7XG4gIGNvbG9yOiB2YXIoLS1taS1kaXNhYmxlZC10ZXh0KTtcbn1cbi8qIEZhZGUgaWxsdXN0cmF0aXZlIGxlYWRpbmcgdmlzdWFscyAoY29sb3VyZWQgYWN0aXZpdHktaWNvbiwgYXZhdGFyLCBmaWxlLWljb24pXG4gICB3aGVuIHRoZSByb3cgaXMgZGlzYWJsZWQg4oCUIHRoZXkgZG9uJ3QgcGljayB1cCB0aGUgdGV4dCBjb2xvdXIsIHNvIHdpdGhvdXQgdGhpc1xuICAgdGhleSBzdGF5IHZpdmlkIGFuZCB0aGUgcm93IGRvZXNuJ3QgcmVhZCBhcyBkaXNhYmxlZC4gTkI6IHRhcmdldCB0aGUgZWxlbWVudFxuICAgVEFHUywgbm90IHRoZSBtZW51LWl0ZW0tKiBjbGFzc2VzIOKAlCBxZG5hcHJvLWFjdGl2aXR5LWljb24gLyBxZG5hcHJvLWZpbGUtaWNvblxuICAgb3ZlcndyaXRlIHRoZWlyIG93biBjbGFzc05hbWUgb24gcmVuZGVyLCBzbyB0aGUgY2xhc3Mgc2VsZWN0b3JzIG5ldmVyIG1hdGNoLlxuICAgW0tpbSAyMDI2LTA2LTE1XSAqL1xuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS1kaXNhYmxlZCBxZG5hcHJvLWFjdGl2aXR5LWljb24sXG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLWRpc2FibGVkIC5tZW51LWl0ZW0tYXZhdGFyLXdyYXAsXG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLWRpc2FibGVkIHFkbmFwcm8tZmlsZS1pY29uIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS12YXJpYW50LWRlc3RydWN0aXZlOm5vdCgubWVudS1pdGVtLWRpc2FibGVkKSB7XG4gIC0tbWktYmctaG92ZXI6IHZhcigtLW1pLWRlc3RydWN0aXZlLWJnLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLW1pLWRlc3RydWN0aXZlLXRleHQpO1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS12YXJpYW50LWRlc3RydWN0aXZlOm5vdCgubWVudS1pdGVtLWRpc2FibGVkKSAubWVudS1pdGVtLWljb24sXG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLXZhcmlhbnQtZGVzdHJ1Y3RpdmU6bm90KC5tZW51LWl0ZW0tZGlzYWJsZWQpIC5tZW51LWl0ZW0tY2hldnJvbixcbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0tdmFyaWFudC1kZXN0cnVjdGl2ZTpub3QoLm1lbnUtaXRlbS1kaXNhYmxlZCkgLm1lbnUtaXRlbS1jaGVjayB7XG4gIGNvbG9yOiB2YXIoLS1taS1kZXN0cnVjdGl2ZS10ZXh0KTtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbSAubWVudS1pdGVtLWFjdGl2aXR5LWljb24ge1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLXJpZ2h0OiAtOHB4O1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS1kaXNhYmxlZCAubWVudS1pdGVtLWFjdGl2aXR5LWljb24ge1xuICBvcGFjaXR5OiAwLjM7XG59XG4ucWRuYXByby1tZW51LWl0ZW0gLm1lbnUtaXRlbS1jaXJjbGUge1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS13aXRoLWNpcmNsZSAubWVudS1pdGVtLWxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLXdpdGgtY2hlY2tib3gubWVudS1pdGVtLXNpemUtZGVmYXVsdCB7XG4gIHBhZGRpbmc6IDhweCA0cHg7XG59XG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLXdpdGgtY2hlY2tib3gubWVudS1pdGVtLXNpemUtc21hbGwge1xuICBwYWRkaW5nOiA0cHg7XG59XG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLXdpdGgtY2hlY2tib3ggLm1lbnUtaXRlbS1jaGVja2JveC13cmFwIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgcGFkZGluZzogMCA0cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS13aXRoLWNoZWNrYm94IC5tZW51LWl0ZW0tY2hlY2tib3gge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0td2l0aC1hdmF0YXIubWVudS1pdGVtLXNpemUtZGVmYXVsdCB7XG4gIHBhZGRpbmc6IDhweCA0cHg7XG59XG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLXdpdGgtYXZhdGFyLm1lbnUtaXRlbS1zaXplLXNtYWxsIHtcbiAgcGFkZGluZzogNHB4O1xuICAvKiBTbWFsbCArIGF2YXRhciAoZS5nLiBhIHVzZXItcGlja2VyIHFkbmFwcm8tc2VsZWN0KTogdGhlIGRlZmF1bHQgMTJweCByb3dcbiAgICAgZ2FwIHBsdXMgdGhlIGF2YXRhci13cmFwIHNpZGUgcGFkZGluZyBsZWZ0IHRoZSByYWRpbywgYXZhdGFyIGFuZCBsYWJlbCB0b29cbiAgICAgZmFyIGFwYXJ0LiBUaWdodGVuIHNvIGF2YXRhciArIGxhYmVsIHJlYWQgYXMgb25lIHVuaXQuIFtLaW0gMjAyNi0wNy0yMF0gKi9cbiAgZ2FwOiA2cHg7XG59XG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLXdpdGgtYXZhdGFyLm1lbnUtaXRlbS1zaXplLXNtYWxsIC5tZW51LWl0ZW0tYXZhdGFyLXdyYXAge1xuICBwYWRkaW5nOiAwIDFweDtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0td2l0aC1hdmF0YXIgLm1lbnUtaXRlbS1hdmF0YXItd3JhcCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHBhZGRpbmc6IDAgNHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0td2l0aC1hdmF0YXIgLm1lbnUtaXRlbS1hdmF0YXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0td2l0aC1hdmF0YXIubWVudS1pdGVtLWRpc2FibGVkIC5tZW51LWl0ZW0tYXZhdGFyLXdyYXAge1xuICBvcGFjaXR5OiAwLjQ7XG59XG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLXdpdGgtcmFkaW8ubWVudS1pdGVtLXNpemUtZGVmYXVsdCB7XG4gIHBhZGRpbmc6IDhweCA0cHg7XG59XG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLXdpdGgtcmFkaW8ubWVudS1pdGVtLXNpemUtc21hbGwge1xuICBwYWRkaW5nOiA0cHg7XG59XG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLXdpdGgtcmFkaW8gLm1lbnUtaXRlbS1yYWRpby13cmFwIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgcGFkZGluZzogMCA0cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS13aXRoLXJhZGlvIC5tZW51LWl0ZW0tcmFkaW8ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0tY29sb3ItYWN0aW9uIHtcbiAgLS1taS10ZXh0OiAjZmZmZmZmO1xuICAtLW1pLXRleHQtbXV0ZWQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgLS1taS1pY29uOiAjZmZmZmZmO1xuICAtLW1pLWJnLWhvdmVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAtLW1pLWJnLXByZXNzZWQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMik7XG4gIC0tbWktYmctc2VsZWN0ZWQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNik7XG4gIC0tbWktZGlzYWJsZWQtdGV4dDogIzhjOTJjMjtcbiAgLS1taS1kZXN0cnVjdGl2ZS10ZXh0OiAjZmY5YjliO1xuICAtLW1pLWRlc3RydWN0aXZlLWJnLWhvdmVyOiByZ2JhKDI1NSwgMTU1LCAxNTUsIDAuMTgpO1xuICAtLW1pLWZvY3VzLXJpbmc6ICNmZmZmZmY7XG4gIC0tbWktZm9jdXMtZ2xvdzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbi5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0tY29sb3ItYWN0aW9uIC5tZW51LWl0ZW0tYmFkZ2Uge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbWVudS1pdGVtIHtcbiAgLS1taS10ZXh0OiAjZTFlM2U2O1xuICAtLW1pLXRleHQtbXV0ZWQ6IHJnYmEoMjI1LCAyMjcsIDIzMCwgMC42KTtcbiAgLS1taS1pY29uOiAjZTFlM2U2O1xuICAtLW1pLWJnLWhvdmVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xuICAtLW1pLWJnLXByZXNzZWQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7XG4gIC0tbWktYmctc2VsZWN0ZWQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7XG4gIC0tbWktZGlzYWJsZWQtdGV4dDogIzZiNzI4MDtcbiAgLS1taS1kZXN0cnVjdGl2ZS10ZXh0OiAjZmY5YjliO1xuICAtLW1pLWRlc3RydWN0aXZlLWJnLWhvdmVyOiByZ2JhKDI1NSwgMTU1LCAxNTUsIDAuMTQpO1xuICAtLW1pLWZvY3VzLXJpbmc6ICNhNWFjZmY7XG4gIC0tbWktZm9jdXMtZ2xvdzogcmdiYSg3MCwgODIsIDI0MywgMC40KTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW1lbnUtaXRlbSAubWVudS1pdGVtLWJhZGdlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTtcbiAgY29sb3I6IHZhcigtLW1pLXRleHQpO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS1jb2xvci1hY3Rpb24ge1xuICAtLW1pLWJnLWhvdmVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTApO1xuICAtLW1pLWJnLXByZXNzZWQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCk7XG4gIC0tbWktYmctc2VsZWN0ZWQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCk7XG59XG5cbi8qID09PSBkZXNjcmlwdGlvbiB2YXJpYW50IOKAlCBsYWJlbCArIHN1Yi10ZXh0IChGaWdtYSA5Nzk0OjI0MzcxNSkgPT09ICovXG4ucWRuYXByby1tZW51LWl0ZW0geyAtLW1pLWRlc2NyaXB0aW9uLXRleHQ6ICM2YjcyODA7IH1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW1lbnUtaXRlbSB7IC0tbWktZGVzY3JpcHRpb24tdGV4dDogIzg5OGU5OTsgfVxuLnFkbmFwcm8tbWVudS1pdGVtLm1lbnUtaXRlbS1jb2xvci1hY3Rpb24geyAtLW1pLWRlc2NyaXB0aW9uLXRleHQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuLnFkbmFwcm8tbWVudS1pdGVtIC5tZW51LWl0ZW0tbGFiZWwtZ3JvdXAge1xuICBmbGV4OiAxIDAgMDtcbiAgbWluLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDA7XG59XG4ucWRuYXByby1tZW51LWl0ZW0gLm1lbnUtaXRlbS1sYWJlbC1ncm91cCAubWVudS1pdGVtLWxhYmVsIHtcbiAgZmxleDogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4ucWRuYXByby1tZW51LWl0ZW0gLm1lbnUtaXRlbS1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS1taS1kZXNjcmlwdGlvbi10ZXh0KTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4ucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLWRpc2FibGVkIC5tZW51LWl0ZW0tZGVzY3JpcHRpb24ge1xuICBjb2xvcjogdmFyKC0tbWktZGlzYWJsZWQtdGV4dCk7XG59XG4vKiA9PT0gRU5EIGRlc2NyaXB0aW9uIHZhcmlhbnQgQ1NTID09PSAqL1xuXG4vKiA9PT0gTWFuZGF0b3J5IG1hcmtlciAocmVkIGFzdGVyaXNrIGJlZm9yZSB0aGUgbGFiZWwpIOKAlCBtYXRjaGVzIHRoZSB1bml0LWNhcmRcbiAgIG1hbmRhdG9yeSBjb252ZW50aW9uICgjREU1MDY2KS4gUHJlZml4ZWQgaW5zaWRlIC5tZW51LWl0ZW0tbGFiZWwgc28gaXQgc3RheXNcbiAgIGdsdWVkIHRvIHRoZSBuYW1lIGFuZCBjbGlwcyB0b2dldGhlciB3aXRoIGl0LiBbS2ltIDIwMjYtMDctMTVdID09PSAqL1xuLnFkbmFwcm8tbWVudS1pdGVtIC5tZW51LWl0ZW0tbGFiZWwgLm1lbnUtaXRlbS1tYW5kYXRvcnktbWFyayB7XG4gIGNvbG9yOiAjREU1MDY2O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbn1cblxuLyogU3RhdHVzIGNpcmNsZS1jb2xvciB2YWx1ZXMgKHBsYW5uZXIgc3RhdHVzIGZpbHRlciwgMTYuMDcuMjAyNikgdXNlZCB0byBiZVxuICAgcGFpbnRlZCBoZXJlIHZpYSBhIG1lbnUtaXRlbS1zY29wZWQgb3ZlcnJpZGUgY2xhc3MgKC5tZW51LWl0ZW0tY2lyY2xlLVxuICAgc3RhdHVzLSopIGluc3RlYWQgb2YgbGFiZWwtY2lyY2xlJ3Mgb3duIGBjb2xvcmAgYXR0cmlidXRlLCBiZWNhdXNlIHRob3NlXG4gICA0IG5hbWVzIGRpZG4ndCBleGlzdCBpbiBxZG5hcHJvLWxhYmVsLWNpcmNsZSdzIFZBTElEX0NPTE9SUy4gVGhhdCBvdmVycmlkZVxuICAgbmV2ZXIgYWN0dWFsbHkgd29ya2VkOiBsYWJlbC1jaXJjbGUncyBvd24gcmVuZGVyKCkgdW5jb25kaXRpb25hbGx5XG4gICByZXdyaXRlcyBpdHMgY2xhc3NOYW1lIG9uIGV2ZXJ5IHJlLXJlbmRlciAoc2VlIHFkbmEtbGFiZWwtY2lyY2xlLmpzKSwgc29cbiAgIHRoZSBvdmVycmlkZSBjbGFzcyB3YXMgd2lwZWQgdGhlIGluc3RhbnQgdGhlIGNpcmNsZSBjb25uZWN0ZWQgdG8gdGhlIERPTVxuICAg4oCUIGV2ZXJ5IHN0YXR1cyBkb3QgcmVuZGVyZWQgZ3JleS9lbXB0eSAoS2ltJ3MgbGl2ZSB0ZXN0LCAxNi4wNy4yMDI2KS5cbiAgIEZpeGVkIGF0IHRoZSByZWFsIGNhdXNlOiB0aGUgNCBzdGF0dXMtKiBuYW1lcyBhcmUgbm93IGZpcnN0LWNsYXNzIGNvbG9yc1xuICAgb24gcWRuYXByby1sYWJlbC1jaXJjbGUgaXRzZWxmIChzZWUgX2xhYmVsLWNpcmNsZS5zY3NzKSBhbmQgcGFzc2VkXG4gICB0aHJvdWdoIGFzIGEgbm9ybWFsIGBjb2xvcmAgYXR0cmlidXRlIGZyb20gcWRuYS1tZW51LWl0ZW0uanMg4oCUIG5vdGhpbmdcbiAgIG1lbnUtaXRlbS1zY29wZWQgbGVmdCB0byBvdmVycmlkZSBoZXJlLiAqL1xuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvbW9kYWwvX21vZGFsLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgcWRuYXByby1tb2RhbCBjb21waWxlZCBDU1NcbiAgIEV4dHJhY3RlZCBmcm9tIHFkbmEtbW9kYWwtcHJldmlldy5odG1sIHNvIHRoZSBidW5kbGUgY2FuIHNoaXBcbiAgIG1vZGFsIHN0eWxpbmcgdG8gYW55IHYxL3YyIHBhZ2UgKEtpbSAyMDI2LTA1LTI5KS5cbiAgIFR3by1sYXllciBjYXJkOiBvdXRlciBHUkVZIGZyYW1lIGFyb3VuZCBpbm5lciBXSElURSB3aW5kb3cuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5xZG5hcHJvLW1vZGFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogOTAwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucWRuYXByby1tb2RhbC5tb2RhbC1vcGVuIHsgZGlzcGxheTogZmxleDsgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLyogQm9vdHN0cmFwIChnbG9iYWxseSBsb2FkZWQgaW4gdjEpIGRlZmluZXMgLm1vZGFsLWRpYWxvZyB3aXRoXG4gICBgcG9pbnRlci1ldmVudHM6IG5vbmVgIChhbmQgLm1vZGFsLWNvbnRlbnQgd2l0aCBgYXV0b2AgdG8gcmUtZW5hYmxlXG4gICBpbnNpZGUpLiBPdXIgdjIgbW9kYWwgcmV1c2VzIHRoZSAubW9kYWwtZGlhbG9nIC8gLm1vZGFsLXdpbmRvd1xuICAgY2xhc3MgbmFtZXMsIHNvIEJvb3RzdHJhcCdzIHJ1bGUgbWFrZXMgY2xpY2tzIGZhbGwgdGhyb3VnaCB0byB0aGVcbiAgIGJhY2tkcm9wID0gbW9kYWwgY2xvc2VzIG9uIGV2ZXJ5IGludGVyYWN0aW9uLlxuICAgUmUtZW5hYmxlIGludGVyYWN0aW9uIGV4cGxpY2l0bHkgd2hlbiB0aGUgdjIgbW9kYWwgaXMgb3Blbi4gKi9cbi5xZG5hcHJvLW1vZGFsLm1vZGFsLW9wZW4gLm1vZGFsLWRpYWxvZyxcbi5xZG5hcHJvLW1vZGFsLm1vZGFsLW9wZW4gLm1vZGFsLXdpbmRvdyB7IHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi8qIEJvb3RzdHJhcCBhbHNvIGFkZHMgdmlzdWFsIGJvcmRlcnMgb24gLm1vZGFsLWhlYWRlciAoYm9yZGVyLWJvdHRvbSlcbiAgIGFuZCAubW9kYWwtZm9vdGVyIChib3JkZXItdG9wKS4gT3VyIHYyIGRlc2lnbiB1c2VzIHBhZGRpbmctYmFzZWRcbiAgIHNlcGFyYXRpb24sIG5vdCBib3JkZXIta2V5bGluZXMuIFplcm8gdGhlbSBvdXQgc28gdGhlIGNhc2NhZGVcbiAgIGZyb20gQm9vdHN0cmFwIGNhbid0IGRyYXcgc3RyYXkgbGluZXMuICovXG4ucWRuYXByby1tb2RhbCAubW9kYWwtaGVhZGVyIHsgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4ucWRuYXByby1tb2RhbCAubW9kYWwtZm9vdGVyIHsgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi8qIEJvb3RzdHJhcCBhbHNvIGluamVjdHMgc2libGluZy1tYXJnaW5zIG9uIG1vZGFsLWZvb3RlciBjaGlsZHJlblxuICAgKC5tb2RhbC1mb290ZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tbGVmdDogMC4yNXJlbSB9LCBhbmRcbiAgIDpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtIH0pLiBPbiBhIDItYnV0dG9uIGZvb3RlclxuICAgdGhhdCBhZGRzIDhweCBleHRyYSB0byBvdXIgYGdhcDogMTZweGAg4oaSIHZpc3VhbCBnYXAgYmVjb21lcyAyNHB4XG4gICAoPSA0OCBkZXZpY2UtcHggb24gcmV0aW5hKS4gWmVybyB0aGUgc2libGluZy1tYXJnaW5zIHNvIHRoZVxuICAgZGVjbGFyZWQgZ2FwIGlzIHRoZSBhY3R1YWwgZ2FwLiAqL1xuLnFkbmFwcm8tbW9kYWwgLm1vZGFsLWZvb3RlciA+ICoge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLyog4pSA4pSAIEdFRU4gY291bnRlci16b29tIChtZWVyKSDigJQgdmVyd2lqZGVyZCAyMDI2LTA4LTAzLCBlbiBkaXQgaXMgZGUgdWl0bGVnIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgSGllciBzdG9uZCBgLnFkbmFwcm8tbW9kYWwsIC5xZG5hcHJvLXNlbGVjdC1wb3BvdmVyIHsgem9vbTogMS4yNSB9YCwgb20gZGUgbGVnYWN5XG4gICBgYm9keSB7IHpvb206IDAuOCB9YCB2YW4gZGUgb3VkZSBiYWNrb2ZmaWNlIHRlIGNvbXBlbnNlcmVuOiAwLjggw5cgMS4yNSA9IDEuMCwgem9kYXQgZWVuXG4gICBwb3NpdGlvbi1maXhlZCBraW5kIChkZSBtb2RhbCBlbiBkZSBzZWxlY3QtcG9wb3ZlciBoYW5nZW4gYmVpZGUgYWFuIDxib2R5Pikgb3AgZGUganVpc3RlIHBsZWtcbiAgIGxhbmRkZSBpbiBwbGFhdHMgdmFuIG9wIDAuOCDDlyBkZSBwbGVrLlxuXG4gICBEaWUgMC44IGJlcmVpa3QgZWVuIHYxLXBhZ2luYSBuaWV0IG1lZXIuIEhpaiBzdGFhdCBhbGxlZW4gbm9nIGluIGB3ZWIvY3NzL3N0eWxlLmNzc2AgKGFsc1xuICAgYGJvZHkgeyB6b29tOiA3MiUgfWApLCBlbiBkaWUgc3R5bGVzaGVldCB3b3JkdCB1aXRzbHVpdGVuZCBnZWxhZGVuIGRvb3IgZGUgTEVHQUNZIGhlYWRlcnNcbiAgIChgVmlldy9jb21wb25lbnRzL2hlYWRlci5odG1sYCwgYFZpZXcvTmV3RGVzaWduL2NvbXBvbmVudHMvaGVhZGVyLmh0bWxgKSDigJQgZW4gZGllIGxhZGVuIGfDqcOpblxuICAgYHN0eWxlLXYxLmNzc2AgZW4gZ8Opw6luIGBjb21wb25lbnRzLmpzYCwgZHVzIGRhYXIgYmVzdGFhdCBnZWVuIHYyLW1vZGFsIG9tIHRlIHNjaGFsZW4uIEdlbWV0ZW5cbiAgIG9wIGVlbiB2MS1wYWdpbmE6IGBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLnpvb21gID0gMS5cblxuICAgSGV0IGdldm9sZyB3YXMgZWVuIGtub29wOiBkZSAxLjI1IGhhZCBuaWV0cyB0ZSBjb21wZW5zZXJlbiwgZHVzIMOpbGtlIG1vZGVybmUgcGFnaW5hIHpldHRlIGhlbVxuICAgd2VlciB1aXQg4oCUIGVuIMOpw6luIHZhbiBkaWUgbmV1dHJhbGlzYXRpZXMgKGluIGBwYXJ0aWFscy9faW5ib3guc2Nzc2ApIHdhcyBOSUVUIHBhZ2luYS1nZXNjb29wdFxuICAgZW4gZGVlZCBoZXQgZHVzIGFwcC1icmVlZC4gTmV0dG8gc3RvbmQgYWxsZXMgb3AgMSwgbWFhciB2aWEgdHdlZSByZWdlbHMgZGllIGVsa2FhciBvcGhlZmZlbi5cbiAgIOKaoO+4jyBaZXQgaGVtIG5pZXQgdGVydWcgXCJ2b29yIGRlIHpla2VyaGVpZFwiOiBkYW4gd29yZHQgw6lsayB2ZW5zdGVyIDI1JSB0ZSBncm9vdCBvcCBlbGtlIHBhZ2luYVxuICAgICAgZGllIGdlZW4gZWlnZW4gbmV1dHJhbGlzYXRpZSBoZWVmdC4gS29tdCBkZSBsZWdhY3kgYm9keS16b29tIG9vaXQgdGVydWcgb3AgZWVuIHBhZ2luYSBkaWVcbiAgICAgIHfDqWwgdjItY29tcG9uZW50ZW4gbGFhZHQsIGRhbiBob29ydCBkZSBjb3JyZWN0aWUgUEFHSU5BLWdlc2Nvb3B0IGJpaiBkaWUgcGFnaW5hIHRlIHN0YWFuLlxuICAg4pOYIEVyIHN0YWF0IG5vZyBlZW4gZG9kZSBgem9vbTogMWAgaW4gYHByb2plY3RzLXYyLmh0bWxgLCBgaG9tZS12Mi5odG1sYCBlbiBgZmxvd2VkaXRvci5odG1sYC5cbiAgICAgRGllIGRvZW4gbmlldHMgbWVlciAoMSBvcCBpZXRzIGRhdCBhbCAxIGlzKSBlbiBtb2dlbiB3ZWcgem9kcmEgaWVtYW5kIGRpZSBwYWdpbmEncyBhYW5yYWFrdC4gKi9cblxuLnFkbmFwcm8tbW9kYWwgLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTEsIDExLCAxMywgMC40NSk7XG4gIGFuaW1hdGlvbjogcWRuYXByby1tb2RhbC1iYWNrZHJvcC1pbiAxNjBtcyBlYXNlLW91dDtcbn1cblxuLyogT1VURVIgR1JFWSBDQVJEICovXG4ucWRuYXByby1tb2RhbCAubW9kYWwtZGlhbG9nIHtcbiAgYmFja2dyb3VuZDogI2YwZjFmMjtcbiAgYm9yZGVyOiAwLjVweCBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBwYWRkaW5nOiA4cHg7XG4gIGJveC1zaGFkb3c6XG4gICAgMCA0cHggNHB4ICByZ2JhKDAsIDAsIDAsIDAuMzApLFxuICAgIDAgOHB4IDEycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDU2MHB4OyBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDhweCk7XG4gIGFuaW1hdGlvbjogcWRuYXByby1tb2RhbC1kaWFsb2ctaW4gMjAwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC44LCAwLjIsIDEpO1xufVxuLnFkbmFwcm8tbW9kYWwubW9kYWwtc2l6ZS1zbWFsbCAgIC5tb2RhbC1kaWFsb2cgeyBtYXgtd2lkdGg6IDQwMHB4OyAgfVxuLnFkbmFwcm8tbW9kYWwubW9kYWwtc2l6ZS1tZWRpdW0gIC5tb2RhbC1kaWFsb2cgeyBtYXgtd2lkdGg6IDU2MHB4OyAgfVxuLnFkbmFwcm8tbW9kYWwubW9kYWwtc2l6ZS1sYXJnZSAgIC5tb2RhbC1kaWFsb2cgeyBtYXgtd2lkdGg6IDgwMHB4OyAgfVxuLnFkbmFwcm8tbW9kYWwubW9kYWwtc2l6ZS14bGFyZ2UgIC5tb2RhbC1kaWFsb2cgeyBtYXgtd2lkdGg6IDEwMDBweDsgfVxuLnFkbmFwcm8tbW9kYWwubW9kYWwtc2l6ZS14eGxhcmdlIC5tb2RhbC1kaWFsb2cgeyBtYXgtd2lkdGg6IDExMDBweDsgfVxuXG4vKiBMYXlvdXQ6IHdpdGgtaW5mbyAtIGxlZnQgc2lkZSBpbmZvLXBhbmVsICovXG4ucWRuYXByby1tb2RhbC5tb2RhbC1sYXlvdXQtd2l0aC1pbmZvIC5tb2RhbC1kaWFsb2cgeyBnYXA6IDhweDsgfVxuLnFkbmFwcm8tbW9kYWwgLm1vZGFsLWluZm8ge1xuICBmbGV4OiAwIDAgMjgwcHg7IG1pbi13aWR0aDogMDsgcGFkZGluZzogMTZweDtcbiAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxNnB4O1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAyMnB4OyBjb2xvcjogIzBiMGIwZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgei1pbmRleDogMDtcbn1cbi5xZG5hcHJvLW1vZGFsIC5tb2RhbC1pbmZvIHFkbmFwcm8taWNvbixcbi5xZG5hcHJvLW1vZGFsIC5tb2RhbC1pbmZvID4gLm1vZGFsLWluZm8taWNvbiB7XG4gIGNvbG9yOiAjNDA0OTlhOyB3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4O1xufVxuLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtaW5mby10aXRsZSB7XG4gIG1hcmdpbjogMDsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMjRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6ICM0MDQ5OWE7XG59XG4ucWRuYXByby1tb2RhbCAucWRuYXByby1tb2RhbC1pbmZvLWlsbHVzdHJhdGlvbiB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTZweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5xZG5hcHJvLW1vZGFsIC5xZG5hcHJvLW1vZGFsLWluZm8taWxsdXN0cmF0aW9uIHFkbmFwcm8taWxsdXN0cmF0aW9uLFxuLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtaW5mby1pbGx1c3RyYXRpb24gaW1nLFxuLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtaW5mby1pbGx1c3RyYXRpb24gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLyogVGhlIGlsbHVzdHJhdGlvbiBtdXN0IG5ldmVyIGRyYXcgT1ZFUiBpdHMgb3duIGluZm8gdGV4dC4gW0phbiAyNy4wNy4yMDI2XVxuICAgV2h5IGl0IGNvdWxkOiB0aGUgaW5mbyBjb2x1bW4gaXMgYSBmaXhlZC1oZWlnaHQgZmxleCBjb2x1bW4sIGFuZCB0aGUgYXJ0d29yayBpc1xuICAgc2l6ZWQgYnkgYXNwZWN0LXJhdGlvIGZyb20gYSBmaXhlZCAyNDBweCBXSURUSCDigJQgc2V2ZXJhbCBpbGx1c3RyYXRpb25zIGFyZSBwb3J0cmFpdFxuICAgKHNoYXJlID0gODg0cHggdGFsbCBhdCB3aWR0aCAyNDAsIGlkZWEgNjEwLCB0b29sIDU1NiwgaGFuZHMtY2hlY2sgNTA5KSwgc28gYXMgc29vbiBhc1xuICAgdGhlIGljb24rdGl0bGUrdGV4dCBubyBsb25nZXIgbGVmdCB0aGF0IG11Y2ggcm9vbSB0aGUgZmxleCBhbGdvcml0aG0gc2hyYW5rIHRoaXMgQk9YXG4gICB3aGlsZSB0aGUgYXJ0d29yayBpbnNpZGUga2VwdCBpdHMgaGVpZ2h0LCBhbmQgYGFsaWduLWl0ZW1zOiBmbGV4LWVuZGAgdGhlbiBwdXNoZWQgdGhlXG4gICBvdmVyZmxvdyBVUFdBUkRTIGFjcm9zcyB0aGUgdGV4dC4gSXQgaXMgdmlld3BvcnQtaGVpZ2h0IGRlcGVuZGVudCAodGhlIGRpYWxvZyBpc1xuICAgYG1pbig4MDBweCwgMTAwdmggLSA0OHB4KWApLCBzbyB0aGUgc2FtZSBtb2RhbCB3YXMgZmluZSBvbiBhIGJpZyBzY3JlZW4gYW5kIHVucmVhZGFibGVcbiAgIG9uIGEgbGFwdG9wIOKAlCBtZWFzdXJlZCBvbiBhIDcyMHB4LXRhbGwgdmlld3BvcnQ6IGhhbmRzLWNoZWNrIGNvdmVyZWQgNTVweCBvZiB0ZXh0IGF0XG4gICAyMjEgY2hhcmFjdGVycywgc2hhcmUgY292ZXJlZCA0MzBweCAodGl0bGUgaW5jbHVkZWQpLlxuICAgRml4OiBsZXQgdGhlIGFydHdvcmsgc2NhbGUgZG93biBpbnRvIHdoYXRldmVyIGhlaWdodCB0aGUgYm94IGdldHMsIHN0YXlpbmcgYm90dG9tLWxlZnRcbiAgIGFuY2hvcmVkLCBhbmQgY2xpcCBhcyBhIGxhc3QgcmVzb3J0LiBgb2JqZWN0LWZpdDogY29udGFpbmAga2VlcHMgdGhlIGFzcGVjdCByYXRpbywgc29cbiAgIHdoZW4gdGhlcmUgSVMgcm9vbSB0aGUgcGFpbnRlZCBwaXhlbHMgYXJlIGJ5dGUtaWRlbnRpY2FsIHRvIGJlZm9yZSAodmVyaWZpZWQgYnlcbiAgIHBpeGVsLWRpZmYgb3ZlciA5IGZpdHRpbmcgY2FzZXMpLiAqL1xuLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtaW5mby1pbGx1c3RyYXRpb24geyBvdmVyZmxvdzogaGlkZGVuOyB9XG4ucWRuYXByby1tb2RhbCAucWRuYXByby1tb2RhbC1pbmZvLWlsbHVzdHJhdGlvbiBxZG5hcHJvLWlsbHVzdHJhdGlvbiB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7ICAgLyogaG9zdCBoZWlnaHQgOj0gdGhlIChwb3NzaWJseSBzaHJ1bmspIGJveCBoZWlnaHQgKi9cbiAgbWluLWhlaWdodDogMDsgICAgICAgICAvKiAuLi5hbmQgbGV0IGl0IHNocmluayBhdCBhbGwgKi9cbn1cbi5xZG5hcHJvLW1vZGFsIC5xZG5hcHJvLW1vZGFsLWluZm8taWxsdXN0cmF0aW9uIHFkbmFwcm8taWxsdXN0cmF0aW9uIGltZyxcbi5xZG5hcHJvLW1vZGFsIC5xZG5hcHJvLW1vZGFsLWluZm8taWxsdXN0cmF0aW9uIHFkbmFwcm8taWxsdXN0cmF0aW9uIHN2ZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcbn1cblxuLyogQm9keSB1dGlsaXR5IGNsYXNzZXMgKi9cbi5xZG5hcHJvLW1vZGFsIC5xZG5hcHJvLW1vZGFsLXNlY3Rpb24tdGl0bGUge1xuICBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDI0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiAjNDA0OTlhO1xufVxuLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtc2VjdGlvbi1zdWIge1xuICBtYXJnaW46IDAgMCA4cHg7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDIycHg7IGNvbG9yOiAjNDA0OTlhOyBmb250LXdlaWdodDogNTAwO1xufVxuLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtZ3JpZC0yIHtcbiAgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDEycHg7XG59XG4ucWRuYXByby1tb2RhbCAucWRuYXByby1tb2RhbC1lcnJvci1iYW5uZXIge1xuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgcGFkZGluZzogOHB4IDA7XG4gIGZvbnQtc2l6ZTogMTNweDsgbGluZS1oZWlnaHQ6IDIwcHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiAjYzY1YTVhO1xufVxuLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtZXJyb3ItYmFubmVyIHFkbmFwcm8taWNvbiB7IGNvbG9yOiBpbmhlcml0OyBmbGV4LXNocmluazogMDsgfVxuXG4ucWRuYXByby1tb2RhbCAucWRuYXByby1tb2RhbC1pbmZvLWhlYWQge1xuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDtcbn1cbi5xZG5hcHJvLW1vZGFsIC5xZG5hcHJvLW1vZGFsLWluZm8taGVhZCAucWRuYXByby1tb2RhbC1pbmZvLXRpdGxlIHsgbWFyZ2luOiAwOyB9XG5cbi5xZG5hcHJvLW1vZGFsIC5xZG5hcHJvLW1vZGFsLXRvZ2dsZS1yb3cge1xuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDE2cHg7IHBhZGRpbmc6IDRweCAwO1xufVxuLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtdG9nZ2xlLXRleHQge1xuICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDJweDtcbn1cbi5xZG5hcHJvLW1vZGFsIC5xZG5hcHJvLW1vZGFsLXRvZ2dsZS1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDIwcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiAjMGIwYjBkO1xufVxuLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtdG9nZ2xlLXN1YiB7XG4gIGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IDE2cHg7IGNvbG9yOiAjNmI3MjgwOyBmb250LXdlaWdodDogNDAwO1xufVxuLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtdG9nZ2xlLXdhcm4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IDE2cHg7IGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjYzY1YTVhOyBtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5xZG5hcHJvLW1vZGFsIC5xZG5hcHJvLW1vZGFsLWRpdmlkZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTFlM2U2O1xuICBtYXJnaW46IDE2cHggMCAxMnB4O1xufVxuXG4vKiBJTk5FUiBXSElURSBDQVJEICovXG4ucWRuYXByby1tb2RhbCAubW9kYWwtd2luZG93IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAwLjVweCBzb2xpZCAjYzRjN2NjO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAxNnB4IDE2cHggMTJweDtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4vKiBGaXhlZCBoZWlnaHQgKyBpbnRlcm5hbCBzY3JvbGwgZm9yIGJpZyBtb2RhbHMgKi9cbi5xZG5hcHJvLW1vZGFsLm1vZGFsLWxheW91dC13aXRoLWluZm8gLm1vZGFsLWRpYWxvZyxcbi5xZG5hcHJvLW1vZGFsLm1vZGFsLXNpemUtbGFyZ2UgICAgICAgLm1vZGFsLWRpYWxvZyxcbi5xZG5hcHJvLW1vZGFsLm1vZGFsLXNpemUteGxhcmdlICAgICAgLm1vZGFsLWRpYWxvZyxcbi5xZG5hcHJvLW1vZGFsLm1vZGFsLXNpemUteHhsYXJnZSAgICAgLm1vZGFsLWRpYWxvZyB7XG4gIGhlaWdodDogbWluKDgwMHB4LCBjYWxjKDEwMHZoIC0gNDhweCkpO1xufVxuLnFkbmFwcm8tbW9kYWwubW9kYWwtbGF5b3V0LXdpdGgtaW5mbyAubW9kYWwtd2luZG93LFxuLnFkbmFwcm8tbW9kYWwubW9kYWwtc2l6ZS1sYXJnZSAgICAgICAubW9kYWwtd2luZG93LFxuLnFkbmFwcm8tbW9kYWwubW9kYWwtc2l6ZS14bGFyZ2UgICAgICAubW9kYWwtd2luZG93LFxuLnFkbmFwcm8tbW9kYWwubW9kYWwtc2l6ZS14eGxhcmdlICAgICAubW9kYWwtd2luZG93IHsgaGVpZ2h0OiAxMDAlOyB9XG4ucWRuYXByby1tb2RhbC5tb2RhbC1sYXlvdXQtd2l0aC1pbmZvIC5tb2RhbC1oZWFkZXIsXG4ucWRuYXByby1tb2RhbC5tb2RhbC1sYXlvdXQtd2l0aC1pbmZvIC5tb2RhbC1mb290ZXIsXG4ucWRuYXByby1tb2RhbC5tb2RhbC1zaXplLWxhcmdlICAgICAgIC5tb2RhbC1oZWFkZXIsXG4ucWRuYXByby1tb2RhbC5tb2RhbC1zaXplLWxhcmdlICAgICAgIC5tb2RhbC1mb290ZXIsXG4ucWRuYXByby1tb2RhbC5tb2RhbC1zaXplLXhsYXJnZSAgICAgIC5tb2RhbC1oZWFkZXIsXG4ucWRuYXByby1tb2RhbC5tb2RhbC1zaXplLXhsYXJnZSAgICAgIC5tb2RhbC1mb290ZXIsXG4ucWRuYXByby1tb2RhbC5tb2RhbC1zaXplLXh4bGFyZ2UgICAgIC5tb2RhbC1oZWFkZXIsXG4ucWRuYXByby1tb2RhbC5tb2RhbC1zaXplLXh4bGFyZ2UgICAgIC5tb2RhbC1mb290ZXIgeyBmbGV4LXNocmluazogMDsgfVxuLnFkbmFwcm8tbW9kYWwubW9kYWwtbGF5b3V0LXdpdGgtaW5mbyAubW9kYWwtYm9keSxcbi5xZG5hcHJvLW1vZGFsLm1vZGFsLXNpemUtbGFyZ2UgICAgICAgLm1vZGFsLWJvZHksXG4ucWRuYXByby1tb2RhbC5tb2RhbC1zaXplLXhsYXJnZSAgICAgIC5tb2RhbC1ib2R5LFxuLnFkbmFwcm8tbW9kYWwubW9kYWwtc2l6ZS14eGxhcmdlICAgICAubW9kYWwtYm9keSB7XG4gIGZsZXg6IDEgMSBhdXRvOyBtaW4taGVpZ2h0OiAwOyBvdmVyZmxvdy15OiBhdXRvO1xuICAvKiBUaGUgc2Nyb2xsIGNvbnRhaW5lciBjbGlwcyBmb2N1cyByaW5ncyAob3ZlcmZsb3cteTphdXRvIGNvZXJjZXMgb3ZlcmZsb3cteCB0b1xuICAgICBjbGlwKSwgc28gYSBmaWVsZCBmbHVzaCBhZ2FpbnN0IHRoZSB0b3AgZWRnZSBsb3NlcyBpdHMgcmluZyBcInVuZGVyIHRoZSBoZWFkZXJcIi5cbiAgICAgNHB4IGJyZWF0aGluZyByb29tIGNsZWFycyB0aGUgM3B4IGZvY3VzIGJveC1zaGFkb3cgb24gYWxsIHNpZGVzOyBzY3JvbGwtcGFkZGluZ1xuICAgICBrZWVwcyBhIHRhYmJlZC10byBmaWVsZCBmcm9tIHR1Y2tpbmcgdW5kZXIgdGhlIHRvcCBlZGdlLiBbS2ltIDIyLjA2LjIwMjZdICovXG4gIHBhZGRpbmc6IDRweDtcbiAgc2Nyb2xsLXBhZGRpbmctdG9wOiA4cHg7XG59XG5cbi8qIFNjcm9sbGFibGUgbW9kaWZpZXIg4oCUIGFueSBzaXplIG1vZGFsIHdpdGggdGFsbCBjb250ZW50LlxuICAgTk9URTogdGhlIGNsYXNzIGlzIGBxZG5hcHJvLW1vZGFsLXNjcm9sbGFibGVgLCBOT1QgYG1vZGFsLXNjcm9sbGFibGVgLlxuICAgcWRuYS1tb2RhbC5qcyBjb25uZWN0ZWRDYWxsYmFjayBzdHJpcHMgZXZlcnkgY2xhc3Mgc3RhcnRpbmcgd2l0aFxuICAgYG1vZGFsLWAgZnJvbSBfb3JpZ2luYWxDbGFzc2VzLCBzbyBhIGBtb2RhbC0qYCBtb2RpZmllciB3b3VsZCBub3RcbiAgIHN1cnZpdmUgX3JlbmRlcigpLiBUaGUgYHFkbmFwcm8tYCBwcmVmaXggcGFzc2VzIHRoYXQgZmlsdGVyLiAqL1xuLnFkbmFwcm8tbW9kYWwucWRuYXByby1tb2RhbC1zY3JvbGxhYmxlIC5tb2RhbC1kaWFsb2cgIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLnFkbmFwcm8tbW9kYWwucWRuYXByby1tb2RhbC1zY3JvbGxhYmxlIC5tb2RhbC13aW5kb3cgIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLnFkbmFwcm8tbW9kYWwucWRuYXByby1tb2RhbC1zY3JvbGxhYmxlIC5tb2RhbC1oZWFkZXIsXG4ucWRuYXByby1tb2RhbC5xZG5hcHJvLW1vZGFsLXNjcm9sbGFibGUgLm1vZGFsLWZvb3RlciAgeyBmbGV4LXNocmluazogMDsgfVxuLnFkbmFwcm8tbW9kYWwucWRuYXByby1tb2RhbC1zY3JvbGxhYmxlIC5tb2RhbC1ib2R5ICAgIHsgZmxleDogMSAxIGF1dG87IG1pbi1oZWlnaHQ6IDA7IG92ZXJmbG93LXk6IGF1dG87IH1cbi8qIEltcG9ydC1vcHRpb25zIG1vZGFsOiBmaXQgY29udGVudCBpbnN0ZWFkIG9mIHRoZSBmaXhlZCA4MDBweCB0aGUgbGFyZ2Uvd2l0aC1pbmZvXG4gICBmcmFtZSBmb3JjZXMgKGl0IHdhcyBhYnN1cmRseSB0YWxsIGZvciBhIHNob3J0IHBhc3RlIGJveCAvIHVwbG9hZCBjYXJkKS4gQ2FwcyArXG4gICBzY3JvbGxzIG9ubHkgaWYgY29udGVudCBldmVyIGV4Y2VlZHMgaXQuIFtLaW0gMjIuMDYuMjAyNl0gKi9cbi5xZG5hcHJvLW1vZGFsLmZlLWltcG9ydC1tb2RhbC5tb2RhbC1zaXplLWxhcmdlIC5tb2RhbC1kaWFsb2csXG4ucWRuYXByby1tb2RhbC5mZS1pbXBvcnQtbW9kYWwubW9kYWwtbGF5b3V0LXdpdGgtaW5mbyAubW9kYWwtZGlhbG9nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiBtaW4oODAwcHgsIGNhbGMoMTAwdmggLSA0OHB4KSk7XG59XG4ucWRuYXByby1tb2RhbC5mZS1pbXBvcnQtbW9kYWwubW9kYWwtc2l6ZS1sYXJnZSAubW9kYWwtd2luZG93LFxuLnFkbmFwcm8tbW9kYWwuZmUtaW1wb3J0LW1vZGFsLm1vZGFsLWxheW91dC13aXRoLWluZm8gLm1vZGFsLXdpbmRvdyB7XG4gIGhlaWdodDogYXV0bztcbn1cbi8qIENlbnRlciB0aGUgKHBvcnRyYWl0KSBpbGx1c3RyYXRpb24gaW4gdGhlIGluZm8gcGFuZWwgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdFxuICAgYm90dG9tLUxFRlQgY29ybmVyLWFuY2hvci4gU2NvcGVkIHNvIGNvcm5lci1hbmNob3JlZCBpbGx1c3RyYXRpb25zIGluIG90aGVyXG4gICBtb2RhbHMga2VlcCB0aGVpciBsYXlvdXQuIFtLaW0gMjIuMDYuMjAyNl0gKi9cbi5xZG5hcHJvLW1vZGFsLmZlLWltcG9ydC1tb2RhbCAucWRuYXByby1tb2RhbC1pbmZvLWlsbHVzdHJhdGlvbiB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBGbG93ZWRpdG9yIGNvbmZpcm0gZGlhbG9nIChwbHVnaW5zL2NvbmZpcm0vQm94LnZ1ZSwgUExBTi1hbGVydC1jb21wb25lbnQubWRcbiAgIFRSQUNLIDIsIEtpbSAwOS4wNy4yMDI2KTogbmVlZHMgdG8gc3RhY2sgYWJvdmUgQk9USCB0aGUgZmxvd2VkaXRvcidzIG93blxuICAgTm9kZU9wdGlvbnMgd2l6YXJkIG1vZGFsICh+OTAwMC05MTAwKSBhbmQgaXRzIGRyb3Bkb3duL3BvcG92ZXIgbGF5ZXJcbiAgICguZmUtYWRkLWRhdGFwb2ludC1kcm9wZG93biBldGMuLCA5MjAwKSDigJQgOTMwMCBpcyB0aGUgZmxvd2VkaXRvcidzXG4gICBlc3RhYmxpc2hlZCBcImFsd2F5cyBvbiB0b3BcIiB0aWVyIChzZWUgLmZlLWNvbm4tdGlwKS4gU2NvcGVkIHRvIHRoaXMgY2xhc3NcbiAgIG9ubHkgc28gZXZlcnkgb3RoZXIgcWRuYXByby1tb2RhbCBrZWVwcyB0aGUgZGVmYXVsdCA5MDAwLiAqL1xuLnFkbmFwcm8tbW9kYWwuZmUtY29uZmlybS1tb2RhbCB7XG4gIHotaW5kZXg6IDkzMDA7XG59XG5cbi8qIFwiVnJhYWcgdG9ldm9lZ2VuXCIgdHlwZS1waWNrZXIgKEZvcm1DYXJkUXVlc3Rpb25zLnZ1ZSwgUExBTi1mb3JtLWNhcmQtXG4gICByZWRlc2lnbi5tZCBmYXNlIDQgZGVsaXZlcnkgNCk6IG9wZW5lZCBGUk9NIFdJVEhJTiB0aGUgc2FtZSBOb2RlT3B0aW9uc1xuICAgd2l6YXJkIG1vZGFsICh+OTAwMC05MTAwKSB0aGlzIHRhYiBsaXZlcyBpbiwgc28gaXQgbmVlZHMgdGhlIGV4YWN0IHNhbWVcbiAgIFwiYWx3YXlzIG9uIHRvcFwiIHRpZXIgYXMgLmZlLWNvbmZpcm0tbW9kYWwgYWJvdmUsIGZvciB0aGUgZXhhY3Qgc2FtZVxuICAgcmVhc29uLiBTY29wZWQgdG8gdGhpcyBjbGFzcyBvbmx5LiAqL1xuLnFkbmFwcm8tbW9kYWwuZmUtdHlwZXBpY2tlci1tb2RhbCB7XG4gIHotaW5kZXg6IDkzMDA7XG59XG5cbi8qIEJyaWVmaW5nIGJpaiBlZW4gdnJhYWcgKFZpZXcvdjEvbW9kYWxzL2JyaWVmaW5nLWVkaXRvci5odG1sLCBnZWRlZWxkIG1ldCBkZVxuICAgYWN0aXZpdGVpdGVucGFnaW5hKS4gT3AgZGUgZmxvdyBlZGl0b3IgZ2FhdCBoaWogb3BlbiB2YW51aXQgaGV0IE5vZGVPcHRpb25zLVxuICAgd2l6YXJkbW9kYWwgKH45MDAwLTkxMDApIGVuIHNvbXMgdmFuYWYgaGV0IGNhbnZhcyBlcm9uZGVyLCBkdXMgZGV6ZWxmZGVcbiAgIFwiYWx0aWpkIGJvdmVub3BcIi1sYWFnIGFscyBkZSB0d2VlIGhpZXJib3Zlbi4gQWxsZWVuIG9wIGRlemUga2xhc3NlLCBkaWUgZGVcbiAgIGZsb3cgZWRpdG9yIHZpYSBkZSBpbmNsdWRlIG1lZWdlZWZ0OiBvcCBkZSBhY3Rpdml0ZWl0ZW5wYWdpbmEgc3RhYXQgZXIgbmlrc1xuICAgYm92ZW4gZW4gaG91ZHQgaGV0IG1vZGFsIGRlIHN0YW5kYWFyZCA5MDAwLiBbS2ltIDAzLjA4LjIwMjZdICovXG4ucWRuYXByby1tb2RhbC5mZS1icmllZmluZy1tb2RhbCB7XG4gIHotaW5kZXg6IDkzMDA7XG59XG5cbi8vIFNjcm9sbGJhcjogc2hvdyBvbmx5IHRoZSBkcmFnIHRodW1iLCBuZXZlciB0aGUgZ3JleSB0cmFjay4gV2Via2l0LW9ubHlcbi8vIChDaHJvbWUvU2FmYXJpL0VkZ2UpIHNvIHdlIGNhbiBwaW4gdGhlIHdpZHRoICsgaGlkZSB0aGUgdHJhY2s7IHdlIGRlbGliZXJhdGVseVxuLy8gc2tpcCBzY3JvbGxiYXItd2lkdGgvc2Nyb2xsYmFyLWNvbG9yIChDaHJvbWUgd291bGQgaG9ub3VyIHRob3NlIGFuZCB0aGVuIGlnbm9yZVxuLy8gdGhlIDo6LXdlYmtpdCBwc2V1ZG8sIGZvcmNpbmcgaXRzIGRlZmF1bHQgdGhpbiBncmV5IGJhcikuIFRodW1iIGlzIGludmlzaWJsZSBhdFxuLy8gcmVzdCBhbmQgZmFkZXMgaW4gb24gaG92ZXIvc2Nyb2xsLlxuLy9cbi8vIElNUE9SVEFOVDogdGhpcyB0YXJnZXRzIHRoZSBXSE9MRSBtb2RhbCBzdWJ0cmVlIChkZXNjZW5kYW50IGNvbWJpbmF0b3IpLCBub3Rcbi8vIGp1c3QgLm1vZGFsLWJvZHkuIE1vZGFscyBnZXQgcG9wdWxhdGVkIGFmdGVyIHRoZSBzaGVsbCByZW5kZXJzIGFuZCB0aGUgbmV3XG4vLyBjb250ZW50IG9mdGVuIGJyaW5ncyBpdHMgb3duIHNjcm9sbCBjb250YWluZXIg4oCUIHdpdGhvdXQgdGhpcywgdGhvc2UgbmVzdGVkXG4vLyBzY3JvbGxlcnMgZmFsbCBiYWNrIHRvIHRoZSBncmV5LXRyYWNrIGRlZmF1bHQgYW5kIHRoZSBtb2RhbCBsb29rcyBtZXNzeS4gVGhlXG4vLyBzdWJ0cmVlIHJ1bGUgbWVhbnMgYSBjbGVhbiBzY3JvbGxiYXIgY2FuJ3Qgc25lYWsgYmFjayBpbi4gW0tpbSAyMDI2LTA2LTE1XVxuLy8gVGhpbm5lciArIGJyYW5kLXRpbnRlZCAoMjAyNi0wNy0wMSwgSmFuKTogOHB4IGZsYXQtZ3JleSByZWFkIGFzIGEgc29saWQsIGludHJ1c2l2ZSBiYXIgb25jZVxuLy8gdmlzaWJsZSAoaG92ZXIvZm9jdXMtd2l0aGluKSDigJQgNnB4ICsgdGhlIGJyYW5kIHB1cnBsZSAoLS1jLXB1cnBsZS01MDAgcmdiKSBhdCBsb3cgYWxwaGEgaXNcbi8vIGxpZ2h0ZXIgYm90aCBpbiB3aWR0aCBhbmQgaW4gdmlzdWFsIHdlaWdodCwgbWF0Y2hpbmcgdGhlIFwic3VidGxlIHRodW1iLCB0cmFuc3BhcmVudCB0cmFja1wiXG4vLyBob3VzZSBjb252ZW50aW9uIChzZWUgdGhlIGxhbmd1YWdlLWVkaXRvciBzY3JvbGxiYXIsIGZpcnN0IGFwcGxpZWQgdGhlcmUpLlxuLnFkbmFwcm8tbW9kYWwgOjotd2Via2l0LXNjcm9sbGJhciB7IHdpZHRoOiA2cHg7IGhlaWdodDogNnB4OyB9XG4ucWRuYXByby1tb2RhbCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbi5xZG5hcHJvLW1vZGFsIDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbi5xZG5hcHJvLW1vZGFsIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDE2MG1zIGVhc2U7XG59XG4ucWRuYXByby1tb2RhbCAqOmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYixcbi5xZG5hcHJvLW1vZGFsICo6Zm9jdXMtd2l0aGluOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7IGJhY2tncm91bmQ6IHJnYmEoNjQsIDczLCAxNTQsIDAuMjIpOyB9XG4ucWRuYXByby1tb2RhbCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSg2NCwgNzMsIDE1NCwgMC4zOCk7IH1cbi8vIEZpcmVmb3gg4oCUIHNhbWUgdGh1bWIgdGludCwgdHJhbnNwYXJlbnQgdHJhY2suXG4ucWRuYXByby1tb2RhbCB7IHNjcm9sbGJhci13aWR0aDogdGhpbjsgfVxuLnFkbmFwcm8tbW9kYWwgKjpob3ZlciwgLnFkbmFwcm8tbW9kYWwgKjpmb2N1cy13aXRoaW4geyBzY3JvbGxiYXItY29sb3I6IHJnYmEoNjQsIDczLCAxNTQsIDAuMzApIHRyYW5zcGFyZW50OyB9XG5cbi5xZG5hcHJvLW1vZGFsIC5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMTZweDsgcGFkZGluZzogMCAwIDEycHg7XG59XG4ucWRuYXByby1tb2RhbCAubW9kYWwtdGl0bGUge1xuICBtYXJnaW46IDA7IGZsZXg6IDEgMSBhdXRvO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7IGxpbmUtaGVpZ2h0OiAyNHB4OyBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzQwNDk5YTtcbn1cbi5xZG5hcHJvLW1vZGFsIC5tb2RhbC1jbG9zZSB7IGZsZXgtc2hyaW5rOiAwOyB9XG5cbi5xZG5hcHJvLW1vZGFsIC5tb2RhbC1ib2R5IHtcbiAgcGFkZGluZzogMCA0cHggOHB4IDRweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGNvbG9yOiAjMGIwYjBkO1xufVxuLnFkbmFwcm8tbW9kYWwgLm1vZGFsLWJvZHkgPiAqICsgKiB7IG1hcmdpbi10b3A6IDhweDsgfVxuLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtbGFiZWwge1xuICBkaXNwbGF5OiBibG9jazsgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMjRweDsgY29sb3I6ICMwYjBiMGQ7XG59XG5cbi5xZG5hcHJvLW1vZGFsIC5tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGdhcDogMTZweDsgcGFkZGluZzogMDtcbn1cblxuLyogc2Vjb25kYXJ5LWxhYmVsIChlLmcuIFwiRGVsZXRlXCIpIHBpbnMgYSBidXR0b24gdG8gdGhlIGZvb3RlcidzIExFRlRcbiAgIGVkZ2Ug4oCUIEtpbSAxNy4wNy4yMDI2OiBkZXN0cnVjdGl2ZSBhY3Rpb25zIGluIHBsYW5uZXIgZGlhbG9ncyBiZWxvbmdcbiAgIGluIHRoZSBmb290ZXIsIG5vdCBmbG9hdGluZyBpbiB0aGUgYm9keS4gc3BhY2UtYmV0d2VlbiBwdXNoZXMgaXQgYXdheVxuICAgZnJvbSB0aGUgY2FuY2VsL2NvbmZpcm0gY2x1c3RlcjsgdGhlIGNsdXN0ZXIgaXRzZWxmIGtlZXBzIGl0cyBvd25cbiAgIGBnYXA6IDE2cHhgIHZpYSAubW9kYWwtZm9vdGVyLXJpZ2h0IHNvIGNhbmNlbC9jb25maXJtIHN0YXkgdG9nZXRoZXJcbiAgIHJlZ2FyZGxlc3Mgb2YgaG93IG11Y2ggcm9vbSBzcGFjZS1iZXR3ZWVuIG9wZW5zIHVwIG9uIGEgd2lkZSBtb2RhbC4gKi9cbi5xZG5hcHJvLW1vZGFsIC5tb2RhbC1mb290ZXIubW9kYWwtZm9vdGVyLWhhcy1zZWNvbmRhcnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ucWRuYXByby1tb2RhbCAubW9kYWwtZm9vdGVyLXJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyBnYXA6IDE2cHg7XG59XG5cbi8qIERhcmsgdGhlbWUgKi9cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1tb2RhbCAubW9kYWwtYmFja2Ryb3AgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNjUpOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLm1vZGFsLWRpYWxvZyB7XG4gIGJhY2tncm91bmQ6ICMyZTMwMzY7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDRweCA0cHggcmdiYSgwLDAsMCwwLjUwKSxcbiAgICAwIDhweCAxMnB4IDZweCByZ2JhKDAsMCwwLDAuMzApO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLW1vZGFsIC5tb2RhbC13aW5kb3cge1xuICBiYWNrZ3JvdW5kOiAjMzYzOTQwO1xuICBib3JkZXItY29sb3I6ICM1NjViNjY7XG59XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLm1vZGFsLXRpdGxlICAgICAgICAgICAgICB7IGNvbG9yOiAjZjBmMWYyOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLm1vZGFsLWJvZHkgICAgICAgICAgICAgICB7IGNvbG9yOiAjZjBmMWYyOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtbGFiZWwgICAgICB7IGNvbG9yOiAjZjBmMWYyOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLm1vZGFsLWluZm8gICAgICAgICAgICAgICB7IGNvbG9yOiAjZjBmMWYyOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLm1vZGFsLWluZm8gcWRuYXByby1pY29uLFxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLW1vZGFsIC5tb2RhbC1pbmZvID4gLm1vZGFsLWluZm8taWNvbiB7IGNvbG9yOiAjYTVhY2ZmOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtaW5mby10aXRsZSAgICB7IGNvbG9yOiAjYTVhY2ZmOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtc2VjdGlvbi10aXRsZSB7IGNvbG9yOiAjYTVhY2ZmOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtc2VjdGlvbi1zdWIgICB7IGNvbG9yOiAjYTVhY2ZmOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtZXJyb3ItYmFubmVyICB7IGNvbG9yOiAjZWY2YjZiOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtdG9nZ2xlLWxhYmVsICB7IGNvbG9yOiAjZjBmMWYyOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtdG9nZ2xlLXN1YiAgICB7IGNvbG9yOiAjYjhiY2M0OyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtdG9nZ2xlLXdhcm4gICB7IGNvbG9yOiAjZWY2YjZiOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbW9kYWwgLnFkbmFwcm8tbW9kYWwtZGl2aWRlciAgICAgICB7IGJvcmRlci10b3AtY29sb3I6ICM0MDQ0NGQ7IH1cblxuQGtleWZyYW1lcyBxZG5hcHJvLW1vZGFsLWJhY2tkcm9wLWluIHsgZnJvbSB7IG9wYWNpdHk6IDA7IH0gdG8geyBvcGFjaXR5OiAxOyB9IH1cbkBrZXlmcmFtZXMgcWRuYXByby1tb2RhbC1kaWFsb2ctaW4ge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45OCk7IH1cbiAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTsgfVxufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnFkbmFwcm8tbW9kYWwgLm1vZGFsLWJhY2tkcm9wLCAucWRuYXByby1tb2RhbCAubW9kYWwtZGlhbG9nIHsgYW5pbWF0aW9uOiBub25lOyB9XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9uYXYtaXRlbS9fbmF2LWl0ZW0tY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLyogPT09IEJFR0lOIFFETkEtTkFWLUlURU0gQ1NTID09PSAqL1xuLnFkbmFwcm8tbmF2LWl0ZW0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICAvLyBMZWZ0IGluc2V0IHR1bmVkIHNvIHRoZSBpY29uIGNlbnRyZSBsYW5kcyBvbiB0aGUgc2FtZSB2ZXJ0aWNhbCBsaW5lIGFzXG4gICAgLy8gdGhlIFEgbWFyayBpbiB0aGUgaGVhZGVyICh0aGUgYW5jaG9yKSDigJQgaWRlbnRpY2FsIGluIGJvdGggbW9kZXMuIChKYW4pXG4gICAgcGFkZGluZzogOHB4IDEycHggOHB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWMtbmF2LWljb24pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0LFxuICAgICAgICBjb2xvciAxMjBtcyBlYXNlLW91dCxcbiAgICAgICAgdHJhbnNmb3JtIDgwbXMgZWFzZS1vdXQsXG4gICAgICAgIHdpZHRoIDQ1MG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSxcbiAgICAgICAgcGFkZGluZyA0NTBtcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSksXG4gICAgICAgIGdhcCA0NTBtcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG59XG4ucWRuYXByby1uYXYtaXRlbSAqLFxuLnFkbmFwcm8tbmF2LWl0ZW0gKjo6YmVmb3JlLFxuLnFkbmFwcm8tbmF2LWl0ZW0gKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5xZG5hcHJvLW5hdi1pdGVtIC5uYXYtaXRlbS1pY29uIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvLyBPbiB0b3Agb2YgdGhlIGxhYmVsIHNvIHRoZSBsYWJlbCBzbGlkZXMgbGVmdCBCRUhJTkQgdGhlIGljb24gb24gY29sbGFwc2UuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG4ucWRuYXByby1uYXYtaXRlbSAubmF2LWl0ZW0taWNvbiBzdmcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgIHN0cm9rZS13aWR0aDogMS43NTtcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbn1cbi5xZG5hcHJvLW5hdi1pdGVtIC5uYXYtaXRlbS1sYWJlbCB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGNvbG9yOiB2YXIoLS1jLW5hdi1sYWJlbCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgICAgY29sb3IgMTIwbXMgZWFzZS1vdXQsXG4gICAgICAgIGZvbnQtd2VpZ2h0IDEyMG1zIGVhc2Utb3V0LFxuICAgICAgICBvcGFjaXR5IDI4MG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSxcbiAgICAgICAgbWF4LXdpZHRoIDQ1MG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSxcbiAgICAgICAgdHJhbnNmb3JtIDI4MG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbn1cbi5xZG5hcHJvLW5hdi1pdGVtIC5uYXYtaXRlbS1iYWRnZSB7XG4gICAgLy8gQWJzb2x1dGVseSBwb3NpdGlvbmVkIGluIEJPVEggbW9kZXMgKHJlbGF0aXZlIHRvIHRoZSBpdGVtKSBzbyBpdCBjYW4gYmVcbiAgICAvLyBBTklNQVRFRCByYXRoZXIgdGhhbiByZS1sYWlkLW91dC4gRXhwYW5kZWQ6IHBpbm5lZCB0byB0aGUgcm93J3MgcmlnaHQsXG4gICAgLy8gdmVydGljYWxseSBjZW50cmVkLiBBcyB0aGUgcmFpbCBjb2xsYXBzZXMgKGl0ZW0gd2lkdGggMTg04oaSNDApIHJpZ2h0Ok5weFxuICAgIC8vIHRyYWNrcyB0aGUgc2hyaW5raW5nIHJpZ2h0IGVkZ2Ug4oaSIHRoZSBiYWRnZSByaWRlcyBsZWZ0IGFuZCBsYW5kcyBvbiB0aGVcbiAgICAvLyBpY29uJ3MgdG9wLXJpZ2h0IG92ZXJsYXkuIChKYW4pXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vIEFib3ZlIHRoZSBpY29uICh6LWluZGV4OjEpIHNvIGluIGNvbGxhcHNlZCBtb2RlIHRoZSBiYWRnZSBzaXRzIE9OIHRoZVxuICAgIC8vIGljb24ncyB0b3AtcmlnaHQgY29ybmVyLCBub3QgYmVoaW5kIGl0LlxuICAgIHotaW5kZXg6IDI7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIG1pbi13aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtbmF2LWJhZGdlLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tYy1uYXYtYmFkZ2UtdGV4dCk7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgICAgcmlnaHQgNDUwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpLFxuICAgICAgICB0b3AgNDUwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpLFxuICAgICAgICB0cmFuc2Zvcm0gNDUwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xufVxuLnFkbmFwcm8tbmF2LWl0ZW0gLm5hdi1pdGVtLWJhZGdlLS1kb3Qge1xuICAgIG1pbi13aWR0aDogOHB4O1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5xZG5hcHJvLW5hdi1pdGVtOmhvdmVyOm5vdCgubmF2LWl0ZW0tZGlzYWJsZWQpOm5vdCgubmF2LWl0ZW0tYWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1uYXYtaG92ZXItYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jLW5hdi1pY29uLWhvdmVyKTtcbn1cbi5xZG5hcHJvLW5hdi1pdGVtOmhvdmVyOm5vdCgubmF2LWl0ZW0tZGlzYWJsZWQpOm5vdCgubmF2LWl0ZW0tYWN0aXZlKSAubmF2LWl0ZW0tbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jLW5hdi1sYWJlbC1ob3Zlcik7XG59XG4ucWRuYXByby1uYXYtaXRlbS5uYXYtaXRlbS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtbmF2LWFjdGl2ZS1iZyk7XG4gICAgY29sb3I6IHZhcigtLWMtbmF2LWljb24tYWN0aXZlKTtcbn1cbi5xZG5hcHJvLW5hdi1pdGVtLm5hdi1pdGVtLWFjdGl2ZSAubmF2LWl0ZW0tbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jLW5hdi1sYWJlbC1hY3RpdmUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ucWRuYXByby1uYXYtaXRlbS5uYXYtaXRlbS1hY3RpdmU6aG92ZXI6bm90KC5uYXYtaXRlbS1kaXNhYmxlZCk6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucWRuYXByby1uYXYtaXRlbTphY3RpdmU6bm90KC5uYXYtaXRlbS1kaXNhYmxlZCkge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7XG59XG4ucWRuYXByby1uYXYtaXRlbTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbi5xZG5hcHJvLW5hdi1pdGVtOmZvY3VzLXZpc2libGUsXG4ucWRuYXByby1uYXYtaXRlbS5mb3JjZS1mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHZhcigtLWZvY3VzLXJpbmcpO1xufVxuLnFkbmFwcm8tbmF2LWl0ZW0ubmF2LWl0ZW0tZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucWRuYXByby1uYXYtaXRlbVtkYXRhLW5hdi1tb2RlPVwiY29sbGFwc2VkXCJdIHtcbiAgICBnYXA6IDA7XG4gICAgLy8gU0FNRSBsZWZ0IHBhZGRpbmcgKyBsZWZ0LWFsaWdubWVudCBhcyBleHBhbmRlZCBzbyB0aGUgaWNvbiBzaXRzIGF0IHRoZVxuICAgIC8vIGV4YWN0IHNhbWUgeCBpbiBib3RoIG1vZGVzIEFORCBzdGF5cyBwdXQgd2hpbGUgdGhlIHdpZHRoIGFuaW1hdGVzLiBVc2luZ1xuICAgIC8vIGp1c3RpZnktY29udGVudDpjZW50ZXIgaGVyZSAoY2VudHJpbmcgdGhlIGljb24gaW4gdGhlIDQwcHggYm94KSBtYWRlIHRoZVxuICAgIC8vIGljb24ganVtcC9kcmlmdCBkdXJpbmcgdGhlIHRyYW5zaXRpb24gYmVjYXVzZSBqdXN0aWZ5LWNvbnRlbnQgY2FuJ3RcbiAgICAvLyBhbmltYXRlIOKAlCBsZWZ0LWFuY2hvcmluZyBrZWVwcyBpdCBwZXJmZWN0bHkgc3RpbGwuIChKYW46IGljb25zIG11c3Qgbm90IG1vdmUuKVxuICAgIHBhZGRpbmc6IDhweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5xZG5hcHJvLW5hdi1pdGVtW2RhdGEtbmF2LW1vZGU9XCJjb2xsYXBzZWRcIl0gLm5hdi1pdGVtLWxhYmVsIHtcbiAgICAvLyBTbGlkZSBzdHJhaWdodCBMRUZUIOKAlCBiYWNrIGJlaGluZCB0aGUgaWNvbiDigJQgd2hpbGUgZmFkaW5nIG91dCAoTk9UXG4gICAgLy8gZG93bndhcmQpLiBtYXgtd2lkdGg6MCBjb2xsYXBzZXMgaXRzIGZsb3ctc3BhY2Ugc28gdGhlIHJvdyBzaHJpbmtzIHRvIGFcbiAgICAvLyA0MHB4IGljb24gYnV0dG9uLiBUaGUgaWNvbiBzaXRzIG9uIHRvcCAoei1pbmRleCBiZWxvdykgc28gdGhlIGxhYmVsXG4gICAgLy8gdHVja3MgYmVoaW5kIGl0LiBFeHBhbmQgcmV2ZXJzZXMgaXQuIChKYW4pXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE2cHgpO1xuICAgIG1heC13aWR0aDogMDtcbn1cbi5xZG5hcHJvLW5hdi1pdGVtW2RhdGEtbmF2LW1vZGU9XCJjb2xsYXBzZWRcIl0gLm5hdi1pdGVtLWJhZGdlIHtcbiAgICAvLyBTYW1lIGVsZW1lbnQsIGFuaW1hdGVkIHRvIHRoZSBpY29uJ3MgdG9wLXJpZ2h0IGNvcm5lci4gU2xpZ2h0bHkgc2NhbGVkIGRvd24uXG4gICAgdG9wOiAzcHg7XG4gICAgcmlnaHQ6IDRweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMC44NSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xufVxuLyogPT09IEVORCBRRE5BLU5BVi1JVEVNIENTUyA9PT0gKi9cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL25hdi1yYWlsL19uYXYtcmFpbC1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG4vKiA9PT0gQkVHSU4gUUROQS1OQVYtUkFJTCBDU1MgPT09ICovXG4ucWRuYXByby1uYXYtcmFpbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1uYXYtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jLW5hdi1pY29uKTtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDQ1MG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbn1cbi5xZG5hcHJvLW5hdi1yYWlsICosXG4ucWRuYXByby1uYXYtcmFpbCAqOjpiZWZvcmUsXG4ucWRuYXByby1uYXYtcmFpbCAqOjphZnRlciB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLy8gRXhwYW5kZWQgd2lkdGggdGlnaHRlbmVkIDI0MHB4IOKGkiAyMDhweCAoS2ltIDIwMjYtMDYtMDcpLiBJbmR1c3RyeSBzd2VldFxuLy8gc3BvdCBmb3IgY29tcGFjdCByYWlscyAoTGluZWFyIH4yMDAsIFNsYWNrIH4yMjApLiBMb25nIGxhYmVscyBsaWtlXG4vLyBcIk1hc3RlciBkYXRhXCIgc3RpbGwgZml0IGNvbWZvcnRhYmx5IHdpdGggcm9vbSBmb3IgdGhlIGFsZXJ0IGJhZGdlLlxuLy8gRXhwYW5kZWQgMjA4cHguIENvbGxhcHNlZCBpcyBhIHRvdWNoIHdpZGVyIHRoYW4gYSBiYXJlIGljb24gcmFpbCAod2FzIDY0cHgpXG4vLyBzbyB0aGUgY2hldnJvbiBoYXMgcm9vbSB0byBzaXQgQkVTSURFIHRoZSBRIGFmdGVyIGl0IGFuaW1hdGVzIGxlZnQuIChKYW4pXG4ucWRuYXByby1uYXYtcmFpbFtkYXRhLW1vZGU9XCJleHBhbmRlZFwiXSAgeyB3aWR0aDogMjA4cHg7IH1cbi5xZG5hcHJvLW5hdi1yYWlsW2RhdGEtbW9kZT1cImNvbGxhcHNlZFwiXSB7IHdpZHRoOiA4NHB4OyB9XG5cbi5xZG5hcHJvLW5hdi1yYWlsIC5uYXYtcmFpbC1oZWFkZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGhlaWdodDogNTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgLy8gTGVmdCBwYWRkaW5nIGlzIElERU5USUNBTCBpbiBib3RoIG1vZGVzIHNvIHRoZSBRIG5ldmVyIHNoaWZ0cyBvbiB0aGVcbiAgICAvLyBob3Jpem9udGFsIGF4aXMg4oCUIGl0J3MgdGhlIGFuY2hvciB0aGF0IGFsbCBuYXYgaWNvbnMgbGluZSB1cCB1bmRlci5cbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnFkbmFwcm8tbmF2LXJhaWxbZGF0YS1tb2RlPVwiY29sbGFwc2VkXCJdIC5uYXYtcmFpbC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDAgNnB4IDAgMTZweDtcbn1cbi8qIFNwbGl0IGxvZ28gKEphbiAyMDI2LTA2LTE3KTogUSA9IGFuY2hvciAobmV2ZXIgbW92ZXMvcmUtcmVuZGVycyk7IEROQSA9IHRoZVxuICAgbGV0dGVycywgd2hpY2ggc2xpZGUgZG93biArIGZhZGUgb24gY29sbGFwc2UgYW5kIHJldmVyc2Ugb24gZXhwYW5kLlxuICAgQm90aCAubmF2LXJhaWwtbG9nby1xIGFuZCAubmF2LXJhaWwtbG9nby1kbmEgYXJlIGlubGluZSBTVkdzIHRoYXQgc2hhcmUgdGhlXG4gICBPUklHSU5BTCB3b3JkbWFyayB2aWV3Qm94ICgxODAgMTgwIDk4MCA0MjApIGFuZCBhcmUgb3ZlcmxhaWQgYXQgdGhlIHNhbWUgc2l6ZVxuICAgKDcww5czMCA9IDMwwrc5ODAvNDIwKSwgc28gdGhlIFEgYW5kIEROQSBzaXQgaW4gdGhlIGV4YWN0IHJlbGF0aXZlIHBvc2l0aW9uICtcbiAgIHNjYWxlIG9mIHRoZSByZWFsIGNvbWJpbmVkIGxvZ28g4oCUIG5vIGd1ZXNzZWQgb2Zmc2V0cy4gVGhlIGNvbnRhaW5lciBjbGlwcyB0b1xuICAgdGhlIFEncyB3aWR0aCB3aGVuIGNvbGxhcHNlZDsgdGhlIEROQSBncm91cCBhZGRpdGlvbmFsbHkgZmFkZXMgKyBkcm9wcy4gKi9cbi5xZG5hcHJvLW5hdi1yYWlsIC5uYXYtcmFpbC1sb2dvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgLy8gTWF0Y2ggdGhlIG5hdiBJQ09OIGNvbG91ciAobm90IHRoZSBhY3RpdmUvd2hpdGUpIOKAlCB0aGUgU1ZHcyB1c2VcbiAgICAvLyBmaWxsOiBjdXJyZW50Q29sb3IsIHNvIHRoZSBRICsgRE5BIGluaGVyaXQgdGhpcy4gKEphbjogbG9nbyBzaG91bGQgYmVcbiAgICAvLyB0aGUgc2FtZSBjb2xvdXIgYXMgdGhlIGljb25zLCBhcyBpdCBvcmlnaW5hbGx5IHdhcy4pXG4gICAgY29sb3I6IHZhcigtLWMtbmF2LWljb24pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCA0NTBtcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG59XG4ucWRuYXByby1uYXYtcmFpbCAubmF2LXJhaWwtbG9nby1xLFxuLnFkbmFwcm8tbmF2LXJhaWwgLm5hdi1yYWlsLWxvZ28tZG5hIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tbmF2LXJhaWwgLm5hdi1yYWlsLWxvZ28tcSBzdmcsXG4ucWRuYXByby1uYXYtcmFpbCAubmF2LXJhaWwtbG9nby1kbmEgc3ZnIHsgd2lkdGg6IDcwcHg7IGhlaWdodDogMzBweDsgZmlsbDogY3VycmVudENvbG9yOyBkaXNwbGF5OiBibG9jazsgfVxuLy8gUSBzaXRzIG9uIHRvcCBvZiB0aGUgRE5BIGxheWVyIHNvIHRoZSBETkEgc2xpZGVzIGxlZnQgQkVISU5EIHRoZSBRIG9uIGNvbGxhcHNlLlxuLnFkbmFwcm8tbmF2LXJhaWwgLm5hdi1yYWlsLWxvZ28tcSB7IHotaW5kZXg6IDE7IH1cblxuLnFkbmFwcm8tbmF2LXJhaWwgLm5hdi1yYWlsLWxvZ28tZG5hIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICBvcGFjaXR5IDI4MG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSxcbiAgICAgICAgdHJhbnNmb3JtIDQ1MG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbn1cbi5xZG5hcHJvLW5hdi1yYWlsW2RhdGEtbW9kZT1cImV4cGFuZGVkXCJdICAubmF2LXJhaWwtbG9nbyB7IHdpZHRoOiA3MHB4OyB9ICAgLy8gZnVsbCB3b3JkbWFyayAoUSArIEROQSlcbi5xZG5hcHJvLW5hdi1yYWlsW2RhdGEtbW9kZT1cImNvbGxhcHNlZFwiXSAubmF2LXJhaWwtbG9nbyB7IHdpZHRoOiAzNHB4OyB9ICAgLy8gY2xpcHBlZCB0byB0aGUgUVxuLnFkbmFwcm8tbmF2LXJhaWxbZGF0YS1tb2RlPVwiY29sbGFwc2VkXCJdIC5uYXYtcmFpbC1sb2dvLWRuYSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyAgIC8vIHNsaWRlIHN0cmFpZ2h0IExFRlQsIGJlaGluZCB0aGUgUSwgd2hpbGUgZmFkaW5nXG59XG5cbi5xZG5hcHJvLW5hdi1yYWlsIC5uYXYtcmFpbC10b2dnbGUge1xuICAgIC8vIG1hcmdpbi1sZWZ0OmF1dG8ga2VlcHMgdGhlIGNoZXZyb24gcGlubmVkIHRvIHRoZSBoZWFkZXIncyByaWdodCBlZGdlIGluXG4gICAgLy8gQk9USCBtb2Rlcy4gQXMgdGhlIHJhaWwgd2lkdGggdHJhbnNpdGlvbnMgMjA44oaSODAsIHRoYXQgcmlnaHQgZWRnZSBnbGlkZXNcbiAgICAvLyBsZWZ0IHVudGlsIHRoZSBjaGV2cm9uIHNpdHMgcmlnaHQgbmV4dCB0byB0aGUgUSDigJQgbm8gYWJzb2x1dGUganVtcC5cbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWMtbmF2LWljb24pO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLW91dCwgY29sb3IgMTIwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1uYXYtcmFpbCAubmF2LXJhaWwtdG9nZ2xlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLW5hdi1ob3Zlci1iZyk7XG4gICAgY29sb3I6IHZhcigtLWMtbmF2LWljb24taG92ZXIpO1xufVxuLnFkbmFwcm8tbmF2LXJhaWwgLm5hdi1yYWlsLXRvZ2dsZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbi5xZG5hcHJvLW5hdi1yYWlsIC5uYXYtcmFpbC10b2dnbGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLXJpbmcpLCAwIDAgMCA1cHggdmFyKC0tZm9jdXMtZ2xvdyk7XG59XG4ucWRuYXByby1uYXYtcmFpbCAubmF2LXJhaWwtdG9nZ2xlIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGZpbGw6IG5vbmU7XG4gICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gICAgc3Ryb2tlLXdpZHRoOiAyO1xuICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xuICAgIC8vIE9uZSBjaGV2cm9uIGdseXBoIHRoYXQgUk9UQVRFUyAobm8gcGF0aCBzd2FwKTogXCI8XCIgaW4gZXhwYW5kZWQsIFwiPlwiXG4gICAgLy8gd2hlbiBjb2xsYXBzZWQuIERlbGliZXJhdGVseSBhIHRvdWNoIExPTkdFUiB0aGFuIHRoZSAzMjBtcyB3aWR0aFxuICAgIC8vIGNvbGxhcHNlIHNvIHRoZSBoYWxmLXR1cm4gbGluZ2VycyArIGNsZWFybHkgc2V0dGxlcyBpbnRvIGl0cyBuZXdcbiAgICAvLyBvcmllbnRhdGlvbiDigJQgYXQgMzIwbXMgKGluIHN5bmMgd2l0aCBldmVyeXRoaW5nIGVsc2UpIHRoZSBxdWljayAxODDCsFxuICAgIC8vIHJlYWRzIGFzIGEgZmxpcC9zbmFwIHJhdGhlciB0aGFuIGEgdmlzaWJsZSByb3RhdGlvbi4gKEphbilcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjIwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xufVxuLnFkbmFwcm8tbmF2LXJhaWxbZGF0YS1tb2RlPVwiY29sbGFwc2VkXCJdIC5uYXYtcmFpbC10b2dnbGUgc3ZnIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuLnFkbmFwcm8tbmF2LXJhaWwgLm5hdi1yYWlsLWhlYWRlci1kaXZpZGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLW5hdi1kaXZpZGVyKTtcbiAgICBtYXJnaW46IDAgMTZweDtcbn1cbi5xZG5hcHJvLW5hdi1yYWlsW2RhdGEtbW9kZT1cImNvbGxhcHNlZFwiXSAubmF2LXJhaWwtaGVhZGVyLWRpdmlkZXIgeyBtYXJnaW46IDAgMTJweDsgfVxuXG4ucWRuYXByby1uYXYtcmFpbCAubmF2LXJhaWwtaXRlbXMge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZzogMTJweCAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cbi5xZG5hcHJvLW5hdi1yYWlsW2RhdGEtbW9kZT1cImNvbGxhcHNlZFwiXSAubmF2LXJhaWwtaXRlbXMge1xuICAgIHBhZGRpbmc6IDEycHggMTJweDtcbiAgICAvLyBMZWZ0LWFuY2hvcmVkIChub3QgY2VudGVyZWQpIHNvIGVhY2ggaWNvbiBzdGF5cyBvbiB0aGUgc2FtZSB2ZXJ0aWNhbFxuICAgIC8vIGxpbmUgYXMgdGhlIFEg4oCUIHRoZSBpY29ucyBkb24ndCBzaGlmdCBzaWRld2F5cyB3aGVuIGNvbGxhcHNpbmcuIChKYW4pXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5xZG5hcHJvLW5hdi1yYWlsIC5uYXYtcmFpbC1ib3R0b20ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4IDE2cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jLW5hdi1kaXZpZGVyKTtcbn1cbi5xZG5hcHJvLW5hdi1yYWlsW2RhdGEtbW9kZT1cImNvbGxhcHNlZFwiXSAubmF2LXJhaWwtYm90dG9tIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLyogVGhlIHZlcnNpb24gKyBidWlsZCBmb290ZXIgKC5uYXYtcmFpbC12ZXJzaW9uLCBhIHNsb3Q9XCJib3R0b21cIiBidXR0b24gdGhhdFxuICAgb3BlbmVkIHRoZSBBYm91dCBRRE5BIFBybyBzcGxhc2gpIGlzIFJFTU9WRUQgcGVyIDIwMjYtMDctMzE6IHRoYXQgZW50cnkgbm93XG4gICBsaXZlcyBpbiB0aGUgcHJvZmlsZSBkcm9wZG93biBhcyBcIk92ZXIgUUROQSBQcm9cIiAoVmlldy92MS9iYXNlLmh0bWwpLiBUaGVcbiAgIC5uYXYtcmFpbC1ib3R0b20gcnVsZXMgYWJvdmUgc3RheSDigJQgdGhleSBhcmUgZ2VuZXJpYyBmb3IgYW55IHNsb3Q9XCJib3R0b21cIlxuICAgY2hpbGQsIG5vdCB0aWVkIHRvIHRoZSB2ZXJzaW9uIGJsb2NrLiAqL1xuXG4vKiBEZWZhdWx0IHN1cmZhY2UgdG9rZW5zIChuYXZ5IHBhbGV0dGUpICovXG4ucWRuYXByby1uYXYtcmFpbCB7XG4gICAgLS1jLW5hdi1iZzogICAgICAgICAgICMzYTQyOTA7XG4gICAgLS1jLW5hdi1kaXZpZGVyOiAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7XG4gICAgLS1jLW5hdi1ob3Zlci1iZzogICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgLS1jLW5hdi1hY3RpdmUtYmc6ICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNik7XG4gICAgLS1jLW5hdi1pY29uOiAgICAgICAgICNjNWM5ZWI7XG4gICAgLS1jLW5hdi1pY29uLWhvdmVyOiAgICNmZmZmZmY7XG4gICAgLS1jLW5hdi1pY29uLWFjdGl2ZTogICNmZmZmZmY7XG4gICAgLS1jLW5hdi1sYWJlbDogICAgICAgICNjNWM5ZWI7XG4gICAgLS1jLW5hdi1sYWJlbC1ob3ZlcjogICNmZmZmZmY7XG4gICAgLS1jLW5hdi1sYWJlbC1hY3RpdmU6ICNmZmZmZmY7XG4gICAgLS1jLW5hdi1iYWRnZS1iZzogICAgIHZhcigtLWMtd2Fybi1yZWQtNTAwKTtcbiAgICAtLWMtbmF2LWJhZGdlLXRleHQ6ICAgI2ZmZmZmZjtcbn1cblxuLyogUGFnZS1sZXZlbCBkYXJrIG1vZGU6IHJhaWwgYmVjb21lcyBHcmV5LzgwMC5cbiAgIEFjdGl2ZSBzdGF0ZSBtaXJyb3JzIGFjdGl2aXR5IHJvdy1idG4gYWN0aXZlIChzYXR1cmF0ZWQgYnJhbmQtcHVycGxlXG4gICB0aW50IHdpdGggbGlnaHQtcHVycGxlIGljb24vbGFiZWwpIGZvciB2aXN1YWwgY29udGludWl0eS5cbiAgIFtLaW0gMjAyNi0wNS0xOV0gKi9cbltkYXRhLXRoZW1lLWRhcmtdIC5xZG5hcHJvLW5hdi1yYWlsLFxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLW5hdi1yYWlsLFxuYm9keVtkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1uYXYtcmFpbCB7XG4gICAgLS1jLW5hdi1iZzogICAgICAgICAgIHZhcigtLWMtZ3JleS04MDApO1xuICAgIC0tYy1uYXYtZGl2aWRlcjogICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIC0tYy1uYXYtaG92ZXItYmc6ICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xuICAgIC0tYy1uYXYtYWN0aXZlLWJnOiAgICByZ2JhKDcwLCA4MiwgMjQzLCAwLjIwKTtcbiAgICAtLWMtbmF2LWljb246ICAgICAgICAgdmFyKC0tYy1ncmV5LTMwMCk7XG4gICAgLS1jLW5hdi1pY29uLWhvdmVyOiAgICNmZmZmZmY7XG4gICAgLS1jLW5hdi1pY29uLWFjdGl2ZTogICNhNWFjZmY7XG4gICAgLS1jLW5hdi1sYWJlbDogICAgICAgIHZhcigtLWMtZ3JleS0zMDApO1xuICAgIC0tYy1uYXYtbGFiZWwtaG92ZXI6ICAjZmZmZmZmO1xuICAgIC0tYy1uYXYtbGFiZWwtYWN0aXZlOiAjYTVhY2ZmO1xufVxuXG4vKiBGb3JjZWQgbGlnaHQgdGhlbWUgdmlhIGF0dHJpYnV0ZSBvbiB0aGUgcmFpbCBpdHNlbGYuICovXG4ucWRuYXByby1uYXYtcmFpbFtkYXRhLXRoZW1lPVwibGlnaHRcIl0ge1xuICAgIC0tYy1uYXYtYmc6ICAgICAgICAgICAjZmZmZmZmO1xuICAgIC0tYy1uYXYtZGl2aWRlcjogICAgICByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIC0tYy1uYXYtaG92ZXItYmc6ICAgICB2YXIoLS1jLXB1cnBsZS01MCk7XG4gICAgLS1jLW5hdi1hY3RpdmUtYmc6ICAgIHZhcigtLWMtYmctc2Vjb25kYXJ5LXB1cnBsZSk7XG4gICAgLS1jLW5hdi1pY29uOiAgICAgICAgIHZhcigtLWMtdGV4dC1tdXRlZCk7XG4gICAgLS1jLW5hdi1pY29uLWhvdmVyOiAgIHZhcigtLWMtYnJhbmQtcHVycGxlKTtcbiAgICAtLWMtbmF2LWljb24tYWN0aXZlOiAgdmFyKC0tYy1icmFuZC1wdXJwbGUpO1xuICAgIC0tYy1uYXYtbGFiZWw6ICAgICAgICB2YXIoLS1jLXRleHQtYm9keSk7XG4gICAgLS1jLW5hdi1sYWJlbC1ob3ZlcjogIHZhcigtLWMtYnJhbmQtcHVycGxlKTtcbiAgICAtLWMtbmF2LWxhYmVsLWFjdGl2ZTogdmFyKC0tYy1icmFuZC1wdXJwbGUpO1xufVxuLyogPT09IEVORCBRRE5BLU5BVi1SQUlMIENTUyA9PT0gKi9cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIHFkbmFwcm8tbm9kZS1waWNrZXJcbi8vICBGdWxsLWhlaWdodCBmbG93LWVkaXRvciBub2RlIHBpY2tlcjogYSBwdXJwbGUgKFFETkEgbmF2eSkgcmFpbFxuLy8gIHdpdGggY2F0ZWdvcnkgYnV0dG9ucyArIGEgbGlnaHQgcGFuZWwgdGhhdCBzbGlkZXMgb3BlbiB0byB0aGVcbi8vICByaWdodCBob2xkaW5nIHRoZSBkcmFnZ2FibGUgbm9kZSB0eXBlcyB1bmRlciBzdWItaGVhZGVycy5cbi8vICBMaWdodCBET00gUGF0dGVybiBCIOKAlCB0aGUgaG9zdCBpdHNlbGYgaXMgLnFkbmFwcm8tbm9kZS1waWNrZXIuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQm9yZGVyLWJlYW0gYW5nbGUgY3VzdG9tIHByb3BlcnR5IChtdXN0IGJlIGEgdG9wLWxldmVsIEBwcm9wZXJ0eSwgbm90XG4vLyBuZXN0YWJsZSB1bmRlciBhIHNlbGVjdG9yKSDigJQgcmVnaXN0ZXJpbmcgaXQgYXMgYW4gPGFuZ2xlPiBpcyB3aGF0IGxldHMgdGhlXG4vLyBicm93c2VyIGludGVycG9sYXRlIGl0IHNtb290aGx5IGZyYW1lLWJ5LWZyYW1lIGluc3RlYWQgb2Ygc25hcHBpbmcsIHdoaWNoXG4vLyBpcyB3aGF0IG1ha2VzIHRoZSBjb25pYy1ncmFkaWVudCBiZWxvdyBhY3R1YWxseSByb3RhdGUgaW5zdGVhZCBvZiBqdW1waW5nLlxuLy8gVXNlZCBieSAucWRuYXByby1ub2RlLXBpY2tlcl9fZm9ybS1jYXJkOjphZnRlciBmdXJ0aGVyIGRvd24uXG5AcHJvcGVydHkgLS1xbnAtYmVhbS1hbmdsZSB7XG4gICAgc3ludGF4OiBcIjxhbmdsZT5cIjtcbiAgICBpbmhlcml0czogZmFsc2U7XG4gICAgaW5pdGlhbC12YWx1ZTogMGRlZztcbn1cblxuLnFkbmFwcm8tbm9kZS1waWNrZXIge1xuICAgIC8vIFBhbGV0dGUgbWlycm9ycyBxZG5hcHJvLW5hdi1yYWlsIChRRE5BIG5hdnkgcmFpbCkuXG4gICAgLS1ucC1yYWlsLWJnOiAgICAgICAgICAjM2E0MjkwO1xuICAgIC0tbnAtcmFpbC1pY29uOiAgICAgICAgI2M1YzllYjsgICAvLyBtdXRlZCBsaWxhY1xuICAgIC0tbnAtcmFpbC1pY29uLWhvdmVyOiAgI2ZmZmZmZjtcbiAgICAtLW5wLXJhaWwtYWN0aXZlLWJnOiAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNik7XG4gICAgLS1ucC1yYWlsLWhvdmVyLWJnOiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIC0tbnAtcmFpbC1sYWJlbDogICAgICAgI2M1YzllYjtcbiAgICAtLW5wLXJhaWwtbGFiZWwtaG92ZXI6ICNmZmZmZmY7XG5cbiAgICAtLW5wLXBhbmVsLWJnOiAgICAgICNmZmZmZmY7XG4gICAgLS1ucC1wYW5lbC1ib3JkZXI6ICAjZTZlN2VmO1xuICAgIC0tbnAtcGFuZWwtc2hhZG93OiAgMCAxOHB4IDQwcHggcmdiYSgzOCwgNDIsIDkyLCAwLjE2KTtcbiAgICAtLW5wLXN1YmhlYWQ6ICAgICAgICM4YjhmYjU7XG4gICAgLS1ucC1ub2RlLXRleHQ6ICAgICAjM2E0MjkwO1xuICAgIC0tbnAtbm9kZS1ob3Zlci1iZzogI2YyZjNmYjtcbiAgICAtLW5wLW5vZGUtaWNvbjogICAgICM1MTU5YTQ7XG5cbiAgICAtLW5wLXJhaWwtdzogIDU2cHg7ICAgLy8gcmFpbCBpcyBhbHdheXMgc21hbGwgKGljb24tb25seSk7IHdhcyA2OHB4LCBLaW0gMTYuMDcuMjAyNjogXCJzbWFsbGVyXCJcbiAgICAtLW5wLXBhbmVsLXc6IDIwOHB4OyAgLy8gY29tcGFjdCAod2FzIDI1NnB4LCBLaW0gMTYuMDcuMjAyNjogXCJ2ZWVsIHRlIGdyb290XCIpXG4gICAgLS1ucC1jYXQtc2l6ZTogMzZweDsgIC8vIHJhaWwgYnV0dG9uIGRpYW1ldGVyOyB3YXMgNDRweCwgc2hydW5rIGFsb25nc2lkZSB0aGUgcmFpbFxuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBmb250LWZhbWlseTogSW50ZXIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBzYW5zLXNlcmlmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnFkbmFwcm8tbm9kZS1waWNrZXIgKixcbi5xZG5hcHJvLW5vZGUtcGlja2VyICo6OmJlZm9yZSxcbi5xZG5hcHJvLW5vZGUtcGlja2VyICo6OmFmdGVyIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vLyAtLS0tLS0tLS0tIHJhaWwgKGFsd2F5cyBzbWFsbCAvIGljb24tb25seSkgLS0tLS0tLS0tLVxuLnFkbmFwcm8tbm9kZS1waWNrZXJfX3JhaWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiB2YXIoLS1ucC1yYWlsLXcpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW5wLXJhaWwtYmcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDhweCAwIDEwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICAvLyBhbmNob3JzIHRoZSBzbGlkaW5nIHBpbGwgYmVsb3dcbn1cblxuLy8gU2xpZGluZyBcInNlbGVjdGVkXCIgcGlsbCAoS2ltL0phbiAxNi4wNy4yMDI2IOKAlCBzYW1lIGdsaWRlIGFzIHFkbmFwcm8tYm90dG9tLW5hdidzXG4vLyBwaWxsLCB0cmFuc2xhdGVZIGluc3RlYWQgb2YgdHJhbnNsYXRlWCBzaW5jZSB0aGUgcmFpbCBydW5zIHZlcnRpY2FsbHkpLiBBXG4vLyBzZXBhcmF0ZSBlbGVtZW50LCBOT1QgdGhlIGJ1dHRvbidzIG93biBiYWNrZ3JvdW5kLCBzbyBpdCBjYW4gZ2xpZGUgc21vb3RobHlcbi8vIGJldHdlZW4gYnV0dG9ucyBpbnN0ZWFkIG9mIHRoZSBoaWdobGlnaHQgc25hcHBpbmcgaW5zdGFudGx5IOKAlCBtb3ZlZC9zaG93biBieVxuLy8gcWRuYS1ub2RlLXBpY2tlci5qcydzIF9tb3ZlUGlsbCgpLiBTaXRzIEJFSElORCB0aGUgYnV0dG9ucyAoei1pbmRleCAwIHZzIHRoZVxuLy8gYnV0dG9ucycgei1pbmRleCAxKSBzbyB0aGUgaWNvbiBvbiB0b3AgbmV2ZXIgd2FzaGVzIG91dC5cbi5xZG5hcHJvLW5vZGUtcGlja2VyX19yYWlsLXBpbGwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiB2YXIoLS1ucC1jYXQtc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1ucC1jYXQtc2l6ZSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tbnAtY2F0LXNpemUpIC8gLTIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDsgICAvLyBtYXRjaCB0aGUgYnV0dG9uIHJhZGl1cyAocm91bmRlZCBzcXVhcmUsIG5vdCBhIGZ1bGwgcGlsbClcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ucC1yYWlsLWFjdGl2ZS1iZyk7XG4gICAgb3BhY2l0eTogMDsgICAvLyBoaWRkZW4gdW50aWwgYSBjYXRlZ29yeSBpcyBhY3R1YWxseSBvcGVuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MjBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSksIG9wYWNpdHkgMTYwbXMgZWFzZS1vdXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMDtcbn1cblxuLy8gY2F0ZWdvcnkgYnV0dG9ucyAoaWNvbi1vbmx5OyBsYWJlbCBsaXZlcyBpbiB0aGUgaG92ZXIgdG9vbHRpcClcbi5xZG5hcHJvLW5vZGUtcGlja2VyX19jYXQge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1ucC1yYWlsLWljb24pO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogdmFyKC0tbnAtY2F0LXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tbnAtY2F0LXNpemUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDsgICAvLyBtYXRjaCBxZG5hcHJvLW5hdi1yYWlsIG5hdi1pdGVtIHJhZGl1c1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7ICAgLy8gc2l0IGFib3ZlIHRoZSBzbGlkaW5nIHBpbGxcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQsIGNvbG9yIDEyMG1zIGVhc2Utb3V0O1xuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLW5wLXJhaWwtaG92ZXItYmcpOyBjb2xvcjogdmFyKC0tbnAtcmFpbC1pY29uLWhvdmVyKTsgfVxuICAgIC8vIE5vIGJhY2tncm91bmQgaGVyZSBhbnltb3JlIOKAlCB0aGUgc2xpZGluZyBwaWxsIElTIHRoZSBhY3RpdmUtaGlnaGxpZ2h0IG5vdy5cbiAgICAvLyBPbmx5IHRoZSBpY29uIGNvbG91ciBzdGlsbCBmbGlwcyBpbnN0YW50bHkgb24gYWN0aXZhdGlvbi5cbiAgICAmLmlzLWFjdGl2ZSB7IGNvbG9yOiAjZmZmZmZmOyB9XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tbnAtcmFpbC1iZyksIDAgMCAwIDRweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgfVxufVxuXG4ucWRuYXByby1ub2RlLXBpY2tlcl9fY2F0LWljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBpIHsgZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMTsgfVxufVxuXG4vLyBDYXJkIGNhdGVnb3J5IGJ1dHRvbiAoRk9STSB2YXJpYW50KTogc3RheXMgV0hJVEUgd2l0aCBhIHB1cnBsZSBpY29uIHNvIGl0XG4vLyByZWFkcyBhcyBkaXN0aW5jdCBmcm9tIHRoZSBwdXJwbGUgY2F0ZWdvcnkgaWNvbnMgKEtpbSAxNy4wNy4yMDI2KS4gVGhlIGljb25cbi8vIG11c3QgTk9UIGZsaXAgdG8gd2hpdGUgb24gaG92ZXIvYWN0aXZlICh3aGl0ZS1vbi13aGl0ZSkg4oCUIG92ZXJyaWRlIGJvdGguXG4ucWRuYXByby1ub2RlLXBpY2tlcl9fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjb2xvcjogdmFyKC0tbnAtbm9kZS1pY29uKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgzOCwgNDIsIDkyLCAwLjIwKTtcblxuICAgICY6aG92ZXIgICAgICAgIHsgYmFja2dyb3VuZDogI2ZmZmZmZjsgICAgICAgICBjb2xvcjogdmFyKC0tbnAtbm9kZS1pY29uKTsgfVxuICAgICYuaXMtYWN0aXZlICAgIHsgY29sb3I6IHZhcigtLW5wLW5vZGUtaWNvbik7IH1cbiAgICAmOmhvdmVyIC5xZG5hcHJvLW5vZGUtcGlja2VyX19jYXQtaWNvbixcbiAgICAmLmlzLWFjdGl2ZSAucWRuYXByby1ub2RlLXBpY2tlcl9fY2F0LWljb24geyBjb2xvcjogdmFyKC0tbnAtbm9kZS1pY29uKTsgfVxufVxuXG4vLyBBdHRlbnRpb24gcHVsc2Ugb24gdGhlIGNhcmQgYnV0dG9uIHdoaWxlIHRoZSBmbG93IGhhcyBOTyBmb3JtLWNhcmQgeWV0XG4vLyAoY29uc3VtZXIgc2V0cyBbY2FyZC1wdWxzZV0gb24gdGhlIGhvc3Qg4oCUIHNlZSBOb2RlYmFyLnZ1ZSkuIEFuIGV4cGFuZGluZ1xuLy8gd2hpdGUgcmluZyArIGEgZ2VudGxlIHNjYWxlLCBzbyBpdCBjbGVhcmx5IHN0YW5kcyBvdXQgb24gdGhlIHB1cnBsZSByYWlsLlxuQGtleWZyYW1lcyBxZG5hcHJvLW5vZGUtcGlja2VyLWNhcmQtcHVsc2Uge1xuICAgIDAlICAgeyBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgzOCwgNDIsIDkyLCAwLjIwKSwgMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgNzAlICB7IGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDM4LCA0MiwgOTIsIDAuMjApLCAwIDAgMCA5cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpOyB9XG4gICAgMTAwJSB7IGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDM4LCA0MiwgOTIsIDAuMjApLCAwIDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7ICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG4ucWRuYXByby1ub2RlLXBpY2tlcltjYXJkLXB1bHNlXSAucWRuYXByby1ub2RlLXBpY2tlcl9fY2FyZCB7XG4gICAgYW5pbWF0aW9uOiBxZG5hcHJvLW5vZGUtcGlja2VyLWNhcmQtcHVsc2UgMS44cyBlYXNlLW91dCBpbmZpbml0ZTtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnFkbmFwcm8tbm9kZS1waWNrZXJbY2FyZC1wdWxzZV0gLnFkbmFwcm8tbm9kZS1waWNrZXJfX2NhcmQgeyBhbmltYXRpb246IG5vbmU7IH1cbn1cblxuLy8gUGhhc2UtMiBwdWxzZTogZHJhdyBhdHRlbnRpb24gdG8gdGhlIFZyYWdlbiAocXVlc3Rpb25zKSBjYXRlZ29yeSBidXR0b25cbi8vIHdoaWxlIHRoZSBmb3JtIGZsb3cgaGFzIGV4YWN0bHkgT05FIGZvcm0tY2FyZCBwbGFjZWQgYW5kIHRoYXQgY2FyZCBzdGlsbFxuLy8gaGFzIE5PIHF1ZXN0aW9ucyBkcm9wcGVkIG9udG8gaXQgKGNvbnN1bWVyIHNldHMgW25vZGUtcHVsc2VdIG9uIHRoZSBob3N0XG4vLyDigJQgc2VlIE5vZGViYXIudnVlIG5vZGVQdWxzZS9fc3luY05vZGVQdWxzZSkuIE1pcnJvcnMgW2NhcmQtcHVsc2VdIGFib3ZlIDE6MSxcbi8vIHJldXNpbmcgdGhlIHNhbWUgcmluZyBrZXlmcmFtZTsgdGhlIHR3byBzdGF0ZXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZVxuLy8gKDAgY2FyZHMgdnMuIDEgZW1wdHkgY2FyZCkgc28gdGhleSBuZXZlciBhbmltYXRlIGF0IHRoZSBzYW1lIHRpbWUuXG4ucWRuYXByby1ub2RlLXBpY2tlcltub2RlLXB1bHNlXSAucWRuYXByby1ub2RlLXBpY2tlcl9fY2F0W2RhdGEtY2F0PVwicXVlc3Rpb25zXCJdIHtcbiAgICBhbmltYXRpb246IHFkbmFwcm8tbm9kZS1waWNrZXItY2FyZC1wdWxzZSAxLjhzIGVhc2Utb3V0IGluZmluaXRlO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAucWRuYXByby1ub2RlLXBpY2tlcltub2RlLXB1bHNlXSAucWRuYXByby1ub2RlLXBpY2tlcl9fY2F0W2RhdGEtY2F0PVwicXVlc3Rpb25zXCJdIHsgYW5pbWF0aW9uOiBub25lOyB9XG59XG5cbi8vIC0tLS0tLS0tLS0gcGFuZWwgLS0tLS0tLS0tLVxuLnFkbmFwcm8tbm9kZS1waWNrZXJfX3BhbmVsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8vIElsbHVzdHJhdGlvbiByZXNlcnZlZCBhdCB0aGUgYm90dG9tIChLaW0gMTYuMDcuMjAyNik6IGEgYmFja2dyb3VuZFxuICAgIC8vIGltYWdlLCBOT1QgYSBET00gZWxlbWVudCwgc28gaXQgbmV2ZXIgYWZmZWN0cyB0aGUgcGFuZWwncyBXSURUSCDigJQgaXRcbiAgICAvLyBvbmx5IGV2ZXIgcmVuZGVycyB3aXRoaW4gd2hhdGV2ZXIgd2lkdGggdGhlIHBhbmVsIGFscmVhZHkgaGFzLlxuICAgIC8vIGJhY2tncm91bmQtYXR0YWNobWVudCBzdGF5cyBhdCBpdHMgaW5pdGlhbCBcInNjcm9sbFwiIChpLmUuIGZpeGVkXG4gICAgLy8gcmVsYXRpdmUgdG8gdGhlIHBhbmVsJ3Mgb3duIGJveCwgbm90IHRoZSBwYWdlKSwgd2hpY2ggaXMgZXhhY3RseSB3aGF0XG4gICAgLy8ga2VlcHMgaXQgYW5jaG9yZWQgdG8gdGhlIHZpc2libGUgYm90dG9tIGVkZ2UgZXZlbiB3aGlsZSB0aGUgbm9kZSBsaXN0XG4gICAgLy8gc2Nyb2xscyBpbnRlcm5hbGx5LiBUaGUgYXNzZXQgaXRzZWxmIGlzIHByZS1iYWtlZCB0byBvcGFjaXR5IDAuNCAoPVxuICAgIC8vIFwiNjAlIHRyYW5zcGFyZW50XCIpIOKAlCBzZWUgd2ViL2Fzc2V0cy9pbGx1c3RyYXRpb25zL25vZGUtcGlja2VyLWZsb3cuc3ZnIOKAlFxuICAgIC8vIHJhdGhlciB0aGFuIGEgQ1NTIG9wYWNpdHkgaGVyZSwgd2hpY2ggd291bGQgYWxzbyBmYWRlIHRoZSBub2RlIGxpc3QuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbnAtcGFuZWwtYmcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaWxsdXN0cmF0aW9ucy9ub2RlLXBpY2tlci1mbG93LnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLW5wLXBhbmVsLWJvcmRlcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tbnAtcGFuZWwtc2hhZG93KTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMTBweCAwO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLy8gRnVsbCBoZWlnaHQgYWdhaW4gKEtpbSAxNi4wNy4yMDI2OiByZXNlcnZlZCBmb3IgdGhlIGlsbHVzdHJhdGlvbixcbiAgICAvLyBub3Qgd2FzdGVkIHNwYWNlIOKAlCByZXZlcnRzIHRoZSBlYXJsaWVyIFwiaHVnIGNvbnRlbnRcIiBleHBlcmltZW50KS5cbn1cbi5xZG5hcHJvLW5vZGUtcGlja2VyW2RhdGEtb3Blbl0gLnFkbmFwcm8tbm9kZS1waWNrZXJfX3BhbmVsIHtcbiAgICB3aWR0aDogdmFyKC0tbnAtcGFuZWwtdyk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiA4cHggOHB4IDEwcHg7XG59XG5cbi5xZG5hcHJvLW5vZGUtcGlja2VyX19wYW5lbC1oZWFkIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tbnAtbm9kZS10ZXh0KTtcbiAgICBwYWRkaW5nOiAwIDRweCA4cHg7XG4gICAgLy8gd3JhcCAobm90IG5vd3JhcCk6IHRoZSBjYXJkIHBhbmVsJ3MgdGl0bGUgaXMgYSBmdWxsIHNlbnRlbmNlLlxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLy8gQ2FyZCBwYW5lbCBzdWJ0ZXh0ICh1bmRlciB0aGUgdGl0bGUpLlxuLnFkbmFwcm8tbm9kZS1waWNrZXJfX3BhbmVsLXN1YiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgY29sb3I6IHZhcigtLW5wLXN1YmhlYWQpO1xuICAgIHBhZGRpbmc6IDAgNHB4IDEycHg7XG59XG5cbi8vIFRoZSBkcmF3biBkcmFnZ2FibGUgZm9ybS1jYXJkIChhIG1pbmkgZm9ybS1wYWdlKS4gUmVhZHMgYXMgYSBcImNhcmRcIixcbi8vIGRpc3RpbmN0IGZyb20gdGhlIG5vZGUgcm93cyBkcm9wcGVkIG9udG8gaXQuIFB1cnBsZSBob3ZlciBkcmFnLWhhbmRsZSxcbi8vIHNhbWUgYWZmb3JkYW5jZS92YWx1ZXMgYXMgdGhlIG5vZGUgaXRlbXMgKyBhbnN3ZXItb3B0aW9uLlxuLnFkbmFwcm8tbm9kZS1waWNrZXJfX2Zvcm0tY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMnB4IDJweCA0cHggMTRweDsgICAvLyBsZWZ0IHJvb20gZm9yIHRoZSBkcmFnIGhhbmRsZVxuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1ucC1wYW5lbC1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMzgsIDQyLCA5MiwgMC4xMCk7XG4gICAgY3Vyc29yOiBncmFiO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLCBib3gtc2hhZG93IDEyMG1zIGVhc2U7XG5cbiAgICAmOjpiZWZvcmUgeyAgIC8vIHB1cnBsZSBkcmFnIGhhbmRsZSwgcmV2ZWFsZWQgb24gaG92ZXJcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDY1MmYzO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNiOWMwZjc7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgzOCwgNDIsIDkyLCAwLjE2KTtcbiAgICAgICAgJjo6YmVmb3JlIHsgb3BhY2l0eTogMTsgfVxuICAgIH1cbiAgICAmOmFjdGl2ZSB7IGN1cnNvcjogZ3JhYmJpbmc7IH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZmZmZiwgMCAwIDAgNHB4IHJnYmEoODEsIDg5LCAxNjQsIDAuNDUpO1xuICAgIH1cblxuICAgIC8vIEJvcmRlciBiZWFtIChNYWdpYy1VSSBzdHlsZSk6IGEgbGlnaHQgY29udGludW91c2x5IHRyYXZlbHMgYXJvdW5kIHRoZVxuICAgIC8vIGNhcmQncyBib3JkZXIsIHNvIHRoZSBkcmFnZ2FibGUgZm9ybS1jYXJkIHByZXZpZXcgcmVhZHMgYXMgXCJhbGl2ZVwiIC9cbiAgICAvLyBkcmF3LWF0dGVudGlvbiByYXRoZXIgdGhhbiBhIHN0YXRpYyByZWN0YW5nbGUuIFB1cmUgQ1NTIOKAlCBhIHJvdGF0aW5nXG4gICAgLy8gY29uaWMtZ3JhZGllbnQgY2xpcHBlZCBkb3duIHRvIGp1c3QgdGhlIGJvcmRlciByaW5nIHZpYVxuICAgIC8vIG1hc2stY29tcG9zaXRlOiBleGNsdWRlIChjb250ZW50LWJveCB2cy4gYm9yZGVyLWJveCksIHNvIGl0IG5ldmVyXG4gICAgLy8gY292ZXJzIHRoZSBoZWFkZXIvZmllbGQgcGxhY2Vob2xkZXJzIGluc2lkZS4gYm9yZGVyLXJhZGl1czogaW5oZXJpdFxuICAgIC8vIGtlZXBzIHRoZSBiZWFtIGZvbGxvd2luZyB0aGUgY2FyZCdzIG93biByb3VuZGVkIGNvcm5lcnMuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgIC8vIENvbG91cnMgcHVsbGVkIGZyb20gdGhpcyBjb21wb25lbnQncyBvd24gcHVycGxlIHBhbGV0dGU6IHRoZVxuICAgICAgICAvLyBkcmFnLWhhbmRsZSBibHVlLXB1cnBsZSAoIzQ2NTJmMywgc2VlICY6OmJlZm9yZSBhYm92ZSkgYXMgdGhlIGhvdFxuICAgICAgICAvLyBjb3JlIG9mIHRoZSBiZWFtLCBmYWRpbmcgdGhyb3VnaCB0aGUgaG92ZXIgYm9yZGVyIHRpbnQgKCNiOWMwZjcpXG4gICAgICAgIC8vIGludG8gdHJhbnNwYXJlbmN5IGZvciB0aGUgcmVzdCBvZiB0aGUgcmluZy5cbiAgICAgICAgYmFja2dyb3VuZDogY29uaWMtZ3JhZGllbnQoXG4gICAgICAgICAgICBmcm9tIHZhcigtLXFucC1iZWFtLWFuZ2xlKSxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50IDBkZWcsXG4gICAgICAgICAgICB0cmFuc3BhcmVudCAyNTBkZWcsXG4gICAgICAgICAgICByZ2JhKDcwLCA4MiwgMjQzLCAwLjkpIDMwMGRlZyxcbiAgICAgICAgICAgICNiOWMwZjcgMzMwZGVnLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgMzYwZGVnXG4gICAgICAgICk7XG4gICAgICAgIC13ZWJraXQtbWFzazogbGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCwgbGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWNvbXBvc2l0ZTogeG9yO1xuICAgICAgICBtYXNrOiBsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LCBsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApO1xuICAgICAgICBtYXNrLWNvbXBvc2l0ZTogZXhjbHVkZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGFuaW1hdGlvbjogcWRuYXByby1ub2RlLXBpY2tlci1iZWFtIDNzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcWRuYXByby1ub2RlLXBpY2tlci1iZWFtIHtcbiAgICB0byB7IC0tcW5wLWJlYW0tYW5nbGU6IDM2MGRlZzsgfVxufVxuXG4ucWRuYXByby1ub2RlLXBpY2tlcl9fZm9ybS1jYXJkLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogI2VjZWVmYjtcbiAgICBjb2xvcjogdmFyKC0tbnAtbm9kZS10ZXh0KTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnFkbmFwcm8tbm9kZS1waWNrZXJfX2Zvcm0tY2FyZC1maWVsZCB7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tbnAtcGFuZWwtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZDogI2ZiZmJmZTtcbiAgICAmICsgJiB7IG1hcmdpbi10b3A6IDhweDsgfVxufVxuXG4ucWRuYXByby1ub2RlLXBpY2tlcl9fc3ViaGVhZCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1ucC1zdWJoZWFkKTtcbiAgICBwYWRkaW5nOiA4cHggNHB4IDNweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICY6Zmlyc3Qtb2YtdHlwZSB7IHBhZGRpbmctdG9wOiAwOyB9XG59XG5cbi5xZG5hcHJvLW5vZGUtcGlja2VyX19lbXB0eSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiB2YXIoLS1ucC1zdWJoZWFkKTtcbiAgICBwYWRkaW5nOiA4cHg7XG59XG5cbi8vIG5vZGUgaXRlbSAoZHJhZ2dhYmxlKVxuLnFkbmFwcm8tbm9kZS1waWNrZXJfX25vZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICAvLyBhbmNob3IgZm9yIHRoZSBob3ZlciBkcmFnLWhhbmRsZSBiYXJcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA5cHg7XG4gICAgLy8gTGVmdCBwYWRkaW5nIHJlc2VydmVzIHJvb20gZm9yIHRoZSBkcmFnIGhhbmRsZSAoYmFyIGF0IGxlZnQ6NHB4LCA0cHhcbiAgICAvLyB3aWRlKSBQTFVTIGJyZWF0aGluZyBzcGFjZSBvbiBib3RoIHNpZGVzIG9mIGl0LCBzbyBpdCBuZXZlciBvdmVybGFwc1xuICAgIC8vIHRoZSBpY29uL3RleHQgb24gaG92ZXIgKEtpbSAxNi4wNy4yMDI2KS5cbiAgICBwYWRkaW5nOiA2cHggOHB4IDZweCAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7ICAgLy8gZ2FwIGJldHdlZW4gbm9kZXMgKEtpbSAxNi4wNy4yMDI2LCBleHBsaWNpdCB2YWx1ZSlcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7ICAgLy8gbWF0Y2ggcWRuYXByby1uYXYtcmFpbCBuYXYtaXRlbSByYWRpdXNcbiAgICBjdXJzb3I6IGdyYWI7XG4gICAgY29sb3I6IHZhcigtLW5wLW5vZGUtdGV4dCk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDExMG1zIGVhc2Utb3V0O1xuXG4gICAgLy8gUHVycGxlIGRyYWctaGFuZGxlIGJhciwgcmV2ZWFsZWQgb24gaG92ZXIuIFNhbWUgYWZmb3JkYW5jZSArIHZhbHVlcyBhc1xuICAgIC8vIHFkbmFwcm8tYW5zd2VyLW9wdGlvbiBfX2RyYWcgLyBhY3Rpdml0eS1yb3cgLyBzZWN0aW9uLWhlYWRlciAoIzQ2NTJmMyxcbiAgICAvLyA0cHggd2lkZSwgMjJweCB0YWxsLCBsZWZ0OjRweCwgb3BhY2l0eSAwIC0+IDEpLlxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0NjUyZjM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBlYXNlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLW5wLW5vZGUtaG92ZXItYmcpO1xuICAgICAgICAmOjpiZWZvcmUgeyBvcGFjaXR5OiAxOyB9XG4gICAgfVxuICAgICY6YWN0aXZlIHsgY3Vyc29yOiBncmFiYmluZzsgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZmZmZmLCAwIDAgMCA0cHggcmdiYSg4MSwgODksIDE2NCwgMC40NSk7XG4gICAgfVxufVxuXG4ucWRuYXByby1ub2RlLXBpY2tlcl9fbm9kZS1pY29uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLW5wLW5vZGUtaWNvbik7XG4gICAgaSB7IGZvbnQtc2l6ZTogMTlweDsgbGluZS1oZWlnaHQ6IDE7IH1cbn1cbi5xZG5hcHJvLW5vZGUtcGlja2VyX19ub2RlLWxhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8vIC0tLS0tLS0tLS0gcmVkdWNlZCBtb3Rpb24gLS0tLS0tLS0tLVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAucWRuYXByby1ub2RlLXBpY2tlcl9fcGFuZWwgeyB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLnFkbmFwcm8tbm9kZS1waWNrZXJfX2Zvcm0tY2FyZDo6YWZ0ZXIgeyBhbmltYXRpb246IG5vbmU7IH1cbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL25vdmEvX25vdmEtY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnFkbmFwcm8tbm92YSB7XG4gIC0tbm92YS1wcmltYXJ5OiAjNDA0OTlhO1xuICAtLW5vdmEtcHJpbWFyeS1ob3ZlcjogIzMzM2E3YjtcbiAgLS1ub3ZhLXByaW1hcnktcHJlc3NlZDogIzI1MmI1ZTtcbiAgLS1ub3ZhLXByaW1hcnktZ2xvdzogcmdiYSg3MCwgODIsIDI0MywgMC40MCk7XG4gIC0tbm92YS1wYW5lbC1iZzogI2ZmZmZmZjtcbiAgLS1ub3ZhLXVzZXItYnViYmxlOiAjZjBmMWYyO1xuICAtLW5vdmEtdGV4dDogIzBiMGIwZDtcbiAgLS1ub3ZhLXRleHQtc2Vjb25kYXJ5OiAjNmI3MjgwO1xuICAtLW5vdmEtbGluazogIzQ2NTJmMztcbiAgLS1ub3ZhLWJvcmRlcjogI2M0YzdjYztcbiAgLS1ub3ZhLWlucHV0LWJnOiAjZmZmZmZmO1xuICAtLW5vdmEtcGxhY2Vob2xkZXI6ICNhNmFhYjM7XG4gIC0tbm92YS1kaXZpZGVyOiAjZTFlM2U2O1xuICAtLW5vdmEtcXVpY2staG92ZXI6ICNlNmU5ZmY7XG4gIC0tbm92YS1waW5uZWQtYmc6ICNlNmU5ZmY7XG4gIC0tbm92YS1tZW51LWhvdmVyOiAjZjBmMWYyO1xuICAtLW5vdmEtZXJyb3ItYmc6ICNmZWYyZjI7XG4gIC0tbm92YS1lcnJvci10ZXh0OiAjYzY1YTVhO1xuICAtLW5vdmEtc3VjY2VzczogIzQyOGI2ZTtcbiAgLS1ub3ZhLXNwYXJrbGUtZ3JhZC1zdGFydDogIzQ2NTJmMztcbiAgLS1ub3ZhLXNwYXJrbGUtZ3JhZC1lbmQ6ICM0MDQ5OWE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMDtcbiAgbWluLXdpZHRoOiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IHZhcigtLW5vdmEtcGFuZWwtYmcpO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXRleHQpO1xuICBib3gtc2hhZG93OiAtNHB4IDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAzMjBtcyBlYXNlLWluLW91dDtcbn1cbi5xZG5hcHJvLW5vdmEubm92YS1vcGVuIHtcbiAgd2lkdGg6IDM5MHB4O1xufVxuLnFkbmFwcm8tbm92YS5ub3ZhLW9wZW4ubm92YS1leHBhbmRlZCB7XG4gIHdpZHRoOiBtaW4oNzIwcHgsIDEwMHZ3KTtcbn1cbi5xZG5hcHJvLW5vdmEgPiAqIHtcbiAgbWluLXdpZHRoOiAzOTBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5xZG5hcHJvLW5vdmEubm92YS1leHBhbmRlZCA+ICoge1xuICBtaW4td2lkdGg6IG1pbig3MjBweCwgMTAwdncpO1xufVxuLnFkbmFwcm8tbm92YVtmbG9hdGluZ10ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwdmg7XG4gIGhlaWdodDogMTAwZHZoO1xuICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgbWF4LWhlaWdodDogMTAwZHZoO1xuICB3aWR0aDogMDtcbiAgei1pbmRleDogMTA0MDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMzIwbXMgZWFzZS1pbi1vdXQ7XG59XG4ucWRuYXByby1ub3ZhW2Zsb2F0aW5nXS5ub3ZhLW9wZW4ge1xuICB3aWR0aDogMzkwcHg7XG59XG4ucWRuYXByby1ub3ZhW2Zsb2F0aW5nXS5ub3ZhLW9wZW4ubm92YS1leHBhbmRlZCB7XG4gIHdpZHRoOiBtaW4oNzIwcHgsIDEwMHZ3KTtcbn1cbi5xZG5hcHJvLW5vdmEubm92YS10aGVtZS1vcmFuZ2Uge1xuICAtLW5vdmEtcHJpbWFyeTogI0Y1OEYwNjtcbiAgLS1ub3ZhLXByaW1hcnktaG92ZXI6ICNkOTdjMDA7XG4gIC0tbm92YS1wcmltYXJ5LXByZXNzZWQ6ICM5NDU4MDA7XG4gIC0tbm92YS1wcmltYXJ5LWdsb3c6IHJnYmEoMjM5LCAxNDIsIDIsIDAuNDUpO1xuICAtLW5vdmEtcXVpY2staG92ZXI6ICNmZmYzZTA7XG4gIC0tbm92YS1waW5uZWQtYmc6ICNmZmYzZTA7XG4gIC0tbm92YS1zcGFya2xlLWdyYWQtc3RhcnQ6ICNGNThGMDY7XG4gIC0tbm92YS1zcGFya2xlLWdyYWQtZW5kOiAjRkJCRjI0O1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA4cHggMTZweCA0cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tbm92YS1wcmltYXJ5KTtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtdGl0bGUtYmFjayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLW5vdmEtcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtdGl0bGUtYmFjazpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLW5vdmEtcXVpY2staG92ZXIpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1oZWFkZXItYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWhlYWRlci1kaXZpZGVyIHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLWRpdmlkZXIpO1xuICBtYXJnaW46IDAgNHB4O1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaGVhZGVyLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLW5vdmEtdGV4dCk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0O1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1oZWFkZXItYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbm92YS1xdWljay1ob3Zlcik7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWhlYWRlci1idG4gc3ZnIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtY29udGV4dC1waWxsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBtYXJnaW46IDAgMTJweCA4cHg7XG4gIHBhZGRpbmc6IDRweCA4cHggNHB4IDEwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLW5vdmEtcGlubmVkLWJnKTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLW5vdmEtcHJpbWFyeSk7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjRweCk7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtY29udGV4dC1waWxsIHN2ZyB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1jb250ZXh0LXBpbGwtbGFiZWwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtY29udGV4dC1waWxsLWNsZWFyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tbm92YS1wcmltYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWNvbnRleHQtcGlsbC1jbGVhcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXF1aWNrLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogMCA4cHggOHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbm92YS1kaXZpZGVyKTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXF1aWNrLWFjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXRleHQpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtcXVpY2stYWN0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbm92YS1xdWljay1ob3Zlcik7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXF1aWNrLWFjdGlvbiBzdmcge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBmbGV4LXNocmluazogMDtcbiAgY29sb3I6IHZhcigtLW5vdmEtcHJpbWFyeSk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLW1lc3NhZ2VzIHtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAvLyBLZWVwIHdoZWVsL3RvdWNoIHNjcm9sbGluZyBpbnNpZGUgdGhlIHBhbmVsIOKAlCBkb24ndCBjaGFpbiB0byB0aGUgcGFnZVxuICAvLyBiZWhpbmQgaXQgd2hlbiByZWFjaGluZyB0aGUgdG9wL2JvdHRvbSBvZiBOb3ZhJ3MgbWVzc2FnZSBsaXN0LlxuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5xZG5hcHJvLW5vdmEubm92YS1leHBhbmRlZCAubm92YS1tZXNzYWdlcyB7XG4gIHBhZGRpbmc6IDE2cHggMjRweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbWVzc2FnZXMge1xuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tbm92YS1ib3JkZXIpIHRyYW5zcGFyZW50O1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1tZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogNnB4O1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1tZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbXNnLXVzZXItd3JhcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBtYXgtd2lkdGg6IDg1JTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBnYXA6IDJweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbXNnLXVzZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLXVzZXItYnViYmxlKTtcbiAgY29sb3I6IHZhcigtLW5vdmEtdGV4dCk7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1tc2ctdXNlci1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGVhc2U7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1tc2ctdXNlci13cmFwOmhvdmVyIC5ub3ZhLW1zZy11c2VyLWFjdGlvbnMsXG4ucWRuYXByby1ub3ZhIC5ub3ZhLW1zZy11c2VyLXdyYXA6Zm9jdXMtd2l0aGluIC5ub3ZhLW1zZy11c2VyLWFjdGlvbnMge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbXNnLWFpIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLW1zZy1haS1oZWFkaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBnYXA6IDRweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLW5vdmEtdGV4dCk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLW1zZy1haS1oZWFkaW5nLWVtb2ppIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLW1zZy1haS1ib2R5IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgY29sb3I6IHZhcigtLW5vdmEtdGV4dCk7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbXNnLWFpLWJvZHkgcCB7XG4gIG1hcmdpbjogMCAwIDhweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbXNnLWFpLWJvZHkgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbXNnLWFpLWJvZHkgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbXNnLWFpLWJvZHkgYSB7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLWxpbmspO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBzb2xpZDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbXNnLWFpLWJvZHkgdWwsIC5xZG5hcHJvLW5vdmEgLm5vdmEtbXNnLWFpLWJvZHkgb2wge1xuICBtYXJnaW46IDAgMCA4cHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbXNnLWFpLWJvZHkgbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbXNnLWFpLWJvZHkgY29kZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLW5vdmEtdXNlci1idWJibGUpO1xuICBwYWRkaW5nOiAxcHggNHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGZvbnQtZmFtaWx5OiBNZW5sbywgTW9uYWNvLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1tc2ctYWktcmVmIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLW1zZy1haS1yZWYtbGFiZWwge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tbm92YS10ZXh0KTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbXNnLWFpLXJlZi12YWx1ZSBhIHtcbiAgY29sb3I6IHZhcigtLW5vdmEtbGluayk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1zdHJlYW1pbmctY3Vyc29yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBhbmltYXRpb246IG5vdmEtY3Vyc29yLXB1bHNlIDFzIHN0ZXBzKDIsIGVuZCkgaW5maW5pdGU7XG59XG5Aa2V5ZnJhbWVzIG5vdmEtY3Vyc29yLXB1bHNlIHtcbiAgMCUsIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MSUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtdGhpbmtpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIGhlaWdodDogMjhweDtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBjb2xvcjogdmFyKC0tbm92YS10ZXh0LXNlY29uZGFyeSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXRoaW5raW5nLWljb24ge1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBmbGV4LXNocmluazogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXRoaW5raW5nLXNwYXJrbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbjogLTdweCAwIDAgLTdweDtcbiAgY29sb3I6IHZhcigtLW5vdmEtcHJpbWFyeSk7XG4gIGFuaW1hdGlvbjogbm92YS1zcGFya2xlLW9yYml0IDIuN3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHksIGZpbHRlcjtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtdGhpbmtpbmctc3BhcmtsZTpudGgtY2hpbGQoMikge1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjlzO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS10aGlua2luZy1zcGFya2xlOm50aC1jaGlsZCgzKSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTEuOHM7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXRoaW5raW5nLXNwYXJrbGUgc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5Aa2V5ZnJhbWVzIG5vdmEtc3BhcmtsZS1vcmJpdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTNweCkgc2NhbGUoMC4yNSk7XG4gICAgb3BhY2l0eTogMC4xODtcbiAgICBmaWx0ZXI6IGJsdXIoMC42cHgpO1xuICB9XG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTNweCwgMCkgc2NhbGUoMC43NSk7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIGZpbHRlcjogYmx1cigwKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEzcHgpIHNjYWxlKDEuNSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmaWx0ZXI6IGJsdXIoMCk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTNweCwgMCkgc2NhbGUoMC43NSk7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIGZpbHRlcjogYmx1cigwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTNweCkgc2NhbGUoMC4yNSk7XG4gICAgb3BhY2l0eTogMC4xODtcbiAgICBmaWx0ZXI6IGJsdXIoMC42cHgpO1xuICB9XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1ub3ZhIC5ub3ZhLXRoaW5raW5nLXNwYXJrbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMHM7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5xZG5hcHJvLW5vdmEgLm5vdmEtZW1wdHktaGVybyBzdmcgcGF0aCB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG5vdmEtc3BhcmtsZS1iaWcge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbm92YS1zcGFya2xlLXNtYWxsIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbm92YS1wb3AtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpO1xuICB9XG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuLnFkbmFwcm8tbm92YSAubm92YS1lbXB0eS1oZXJvIHtcbiAgYW5pbWF0aW9uOiBub3ZhLXBvcC1pbiAyNDBtcyBlYXNlLW91dCBib3RoO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1xdWljay1hY3Rpb24ge1xuICBhbmltYXRpb246IG5vdmEtcG9wLWluIDI0MG1zIGVhc2Utb3V0IGJvdGg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXF1aWNrLWFjdGlvbjpudGgtY2hpbGQoMSkge1xuICBhbmltYXRpb24tZGVsYXk6IDgwbXM7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXF1aWNrLWFjdGlvbjpudGgtY2hpbGQoMikge1xuICBhbmltYXRpb24tZGVsYXk6IDE0MG1zO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1xdWljay1hY3Rpb246bnRoLWNoaWxkKDMpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAyMDBtcztcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtcXVpY2stYWN0aW9uOm50aC1jaGlsZCg0KSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMjYwbXM7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXF1aWNrLWFjdGlvbjpudGgtY2hpbGQoNSkge1xuICBhbmltYXRpb24tZGVsYXk6IDMyMG1zO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC13cmFwcGVyLm5vdmEtZW1wdHktbW9kZSB7XG4gIGFuaW1hdGlvbjogbm92YS1wb3AtaW4gMjQwbXMgZWFzZS1vdXQgMjgwbXMgYm90aDtcbn1cbkBrZXlmcmFtZXMgbm92YS1oaXN0b3J5LWVudGVyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEycHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWhpc3Rvcnkge1xuICBhbmltYXRpb246IG5vdmEtaGlzdG9yeS1lbnRlciAyMjBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIGJvdGg7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1ub3ZhIC5ub3ZhLWVtcHR5LWhlcm8sXG4gIC5xZG5hcHJvLW5vdmEgLm5vdmEtcXVpY2stYWN0aW9uLFxuICAucWRuYXByby1ub3ZhIC5ub3ZhLWlucHV0LXdyYXBwZXIubm92YS1lbXB0eS1tb2RlLFxuICAucWRuYXByby1ub3ZhIC5ub3ZhLWhpc3Rvcnkge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxufVxuLnFkbmFwcm8tbm92YSAubm92YS1tc2ctYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBtYXJnaW4tbGVmdDogLTRweDtcbiAgcGFkZGluZzogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1hY3Rpb24tYnRuIHtcbiAgY29sb3I6IHZhcigtLW5vdmEtdGV4dC1zZWNvbmRhcnkpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1hY3Rpb24tYnRuOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLW5vdmEtdGV4dCk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWFjdGlvbi1idG4ubm92YS1hY3Rpb24tdGh1bWIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1hY3Rpb24tYnRuLm5vdmEtYWN0aW9uLWFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLXBpbm5lZC1iZyk7XG59XG4vKiBCcm9ubmVuLWNoaXBzIG9uZGVyIGVlbiBhbnR3b29yZCAoZWNodGUgcWRuYXByby1zb3VyY2UtcGlsbCdzKSArIGhldFxuICAgYnJvbm5lbnBhbmVlbCBkYXQgdmFuIHJlY2h0cyBvdmVyIGRlIGNoYXQgc2NodWlmdC4gRGUgb3VkZSAubm92YS1zb3VyY2UtcGlsbC9cbiAgIC5ub3ZhLXNvdXJjZS1zdGFjayBwbGFjZWhvbGRlci1zdGlqbGVuIHppam4gaGllciB2ZXJ2YW5nZW4g4oCUIGRlIHBsYWNlaG9sZGVyLWRpdlxuICAgaW4gZGUgSlMgYmVzdGFhdCBuaWV0IG1lZXIuIFtKYW4gMjAyNi0wOC0wNSwgYWZnZXN0ZW1kIG1ldCBLaW1dICovXG4ucWRuYXByby1ub3ZhIC5ub3ZhLXNvdXJjZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogNnB4O1xuICBwYWRkaW5nOiAycHggMCA0cHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXNvdXJjZXMgcWRuYXByby1zb3VyY2UtcGlsbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtc291cmNlLXBhbmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogMzA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IHZhcigtLW5vdmEtcGFuZWwtYmcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlO1xuICBib3gtc2hhZG93OiAtOHB4IDAgMjRweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1zb3VyY2UtcGFuZWwubm92YS1zb3VyY2UtcGFuZWwtaW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXNvdXJjZS1wYW5lbC1oZWFkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ub3ZhLWRpdmlkZXIpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1zb3VyY2UtcGFuZWwtb3Blbi1idG4ge1xuICBmbGV4OiAxIDEgYXV0bztcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtc291cmNlLXBhbmVsLW9wZW4tYnRuIGJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1zb3VyY2UtcGFuZWwta2lja2VyIHtcbiAgcGFkZGluZzogMTJweCAxMnB4IDA7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLW5vdmEtdGV4dC1zZWNvbmRhcnkpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1zb3VyY2UtcGFuZWwtdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogNHB4IDEycHggOHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXRleHQpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1zb3VyY2UtcGFuZWwtdGl0bGUgc3ZnIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtc291cmNlLXBhbmVsLWJvZHkge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLWhlaWdodDogMDsgLyogZmxleC1raW5kIG1hZyBrcmltcGVuLCBhbmRlcnMga2xpcHQgZGUgcGFzc2FnZS1saWpzdCBzdGlsICovXG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogNHB4IDEycHggMTZweDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICBzY3JvbGxiYXItY29sb3I6IHZhcigtLW5vdmEtYm9yZGVyKSB0cmFuc3BhcmVudDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtc291cmNlLXBhbmVsLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDZweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtc291cmNlLXBhbmVsLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbm92YS1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXNvdXJjZS1wYXNzYWdlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbm92YS11c2VyLWJ1YmJsZSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1zb3VyY2UtcGFzc2FnZS13aGVyZSB7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tbm92YS10ZXh0LXNlY29uZGFyeSk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXNvdXJjZS1wYXNzYWdlLXRleHQge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogdmFyKC0tbm92YS10ZXh0KTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1zb3VyY2UtcGFzc2FnZS1ub25lIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogdmFyKC0tbm92YS10ZXh0LXNlY29uZGFyeSk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWZvbGxvd3VwcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiA2cHg7XG4gIHBhZGRpbmc6IDAgMTJweCA0cHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWZvbGxvd3VwLWNoaXAge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbm92YS1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXRleHQpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0LCBib3JkZXItY29sb3IgMTIwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWZvbGxvd3VwLWNoaXA6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLXF1aWNrLWhvdmVyKTtcbiAgYm9yZGVyLWNvbG9yOiAjYWFiMGQ4O1xuICBjb2xvcjogdmFyKC0tbm92YS1wcmltYXJ5KTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtZm9sbG93dXAtY2hpcDphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjYzdjY2U4O1xuICBib3JkZXItY29sb3I6IHZhcigtLW5vdmEtcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXByaW1hcnkpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1mb2xsb3d1cC1jaGlwIHN2ZyB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLW1zZy1lcnJvciB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLW5vdmEtZXJyb3ItYmcpO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBjb2xvcjogdmFyKC0tbm92YS1lcnJvci10ZXh0KTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLW1zZy1lcnJvci1yZXRyeSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLWVycm9yLXRleHQpO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1tc2ctZXJyb3ItcmV0cnk6aG92ZXIge1xuICBvcGFjaXR5OiAwLjk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLW9mZmxpbmUtYmFubmVyIHtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLW5vdmEtZXJyb3ItYmcpO1xuICBjb2xvcjogdmFyKC0tbm92YS1lcnJvci10ZXh0KTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtc2Nyb2xsLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMnB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLXBhbmVsLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbm92YS1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXRleHQtc2Vjb25kYXJ5KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyBlYXNlLW91dCwgdHJhbnNmb3JtIDIwMG1zIGVhc2Utb3V0O1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cbi5xZG5hcHJvLW5vdmEubm92YS1zaG93LXNjcm9sbC1ib3R0b20gLm5vdmEtc2Nyb2xsLWJvdHRvbSB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1zY3JvbGwtYm90dG9tOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLW5vdmEtcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbm92YS1wcmltYXJ5KTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtc2Nyb2xsLWJvdHRvbSBzdmcge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1lbXB0eS1oZXJvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiAyNHB4IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXRleHQtc2Vjb25kYXJ5KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmbGV4OiAxO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1lbXB0eS1oZXJvIHN2ZyB7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXByaW1hcnkpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1lbXB0eS1oZXJvIHN2ZyBwYXRoIHtcbiAgdHJhbnNmb3JtLWJveDogZmlsbC1ib3g7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtZW1wdHktaGVybyAuc3BhcmtsZS1iaWcge1xuICBhbmltYXRpb246IG5vdmEtc3BhcmtsZS1iaWcgMi4ycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtZW1wdHktaGVybyAuc3BhcmtsZS1zbWFsbCB7XG4gIGFuaW1hdGlvbjogbm92YS1zcGFya2xlLXNtYWxsIDEuNXMgZWFzZS1pbi1vdXQgLTAuNHMgaW5maW5pdGU7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWVtcHR5LWhlcm8tdGl0bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXRleHQpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1lbXB0eS1oZXJvLXN1YiB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXdlbGNvbWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE2cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGZsZXg6IDE7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXdlbGNvbWUtY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2U2ZTlmZjtcbiAgYm9yZGVyOiAwLjVweCBzb2xpZCByZ2JhKDY0LCA3MywgMTU0LCAwLjEyKTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgcGFkZGluZzogMjRweCAyMHB4IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGFuaW1hdGlvbjogbm92YS1wb3AtaW4gMjQwbXMgZWFzZS1vdXQgYm90aDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtd2VsY29tZS1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXdlbGNvbWUtaGVybyB7XG4gIHdpZHRoOiA1NnB4O1xuICBoZWlnaHQ6IDU2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXdlbGNvbWUtaGVybyBzdmcge1xuICB3aWR0aDogNTZweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBjb2xvcjogdmFyKC0tbm92YS1wcmltYXJ5KTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtd2VsY29tZS1oZXJvIHN2ZyBwYXRoIHtcbiAgdHJhbnNmb3JtLWJveDogZmlsbC1ib3g7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtd2VsY29tZS1oZXJvIC5zcGFya2xlLWJpZyB7XG4gIGFuaW1hdGlvbjogbm92YS1zcGFya2xlLWJpZyAyLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS13ZWxjb21lLWhlcm8gLnNwYXJrbGUtc21hbGwge1xuICBhbmltYXRpb246IG5vdmEtc3BhcmtsZS1zbWFsbCAxLjVzIGVhc2UtaW4tb3V0IC0wLjRzIGluZmluaXRlO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS13ZWxjb21lLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM0MDQ5OWE7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXdlbGNvbWUtc3ViIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6IHZhcigtLW5vdmEtdGV4dCk7XG4gIG1heC13aWR0aDogMzIwcHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXdlbGNvbWUtcHJpdmFjeSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjNDA0OTlhO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS13ZWxjb21lLXByaXZhY3ktaWNvbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBjb2xvcjogIzQwNDk5YTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtd2VsY29tZS1wcm9tcHRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDhweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXdlbGNvbWUtcHJvbXB0cyBxZG5hcHJvLXN1Z2dlc3Rpb24tY2hpcCB7XG4gIGFuaW1hdGlvbjogbm92YS1wb3AtaW4gMjQwbXMgZWFzZS1vdXQgYm90aDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtd2VsY29tZS1wcm9tcHRzIHFkbmFwcm8tc3VnZ2VzdGlvbi1jaGlwOm50aC1jaGlsZCgxKSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMTIwbXM7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLXdlbGNvbWUtcHJvbXB0cyBxZG5hcHJvLXN1Z2dlc3Rpb24tY2hpcDpudGgtY2hpbGQoMikge1xuICBhbmltYXRpb24tZGVsYXk6IDE4MG1zO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS13ZWxjb21lLXByb21wdHMgcWRuYXByby1zdWdnZXN0aW9uLWNoaXA6bnRoLWNoaWxkKDMpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAyNDBtcztcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtd2VsY29tZS1wcm9tcHRzIHFkbmFwcm8tc3VnZ2VzdGlvbi1jaGlwOm50aC1jaGlsZCg0KSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXM7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1ub3ZhIC5ub3ZhLXdlbGNvbWUtY2FyZCxcbiAgLnFkbmFwcm8tbm92YSAubm92YS13ZWxjb21lLXByb21wdHMgcWRuYXByby1zdWdnZXN0aW9uLWNoaXAge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxufVxuLnFkbmFwcm8tbm92YS5ub3ZhLXRoZW1lLW9yYW5nZSAubm92YS13ZWxjb21lLWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZmZmNWU2O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjQ1LCAxNDMsIDYsIDAuMTgpO1xufVxuLnFkbmFwcm8tbm92YS5ub3ZhLXRoZW1lLW9yYW5nZSAubm92YS13ZWxjb21lLXRpdGxlLCAucWRuYXByby1ub3ZhLm5vdmEtdGhlbWUtb3JhbmdlIC5ub3ZhLXdlbGNvbWUtcHJpdmFjeSwgLnFkbmFwcm8tbm92YS5ub3ZhLXRoZW1lLW9yYW5nZSAubm92YS13ZWxjb21lLXByaXZhY3ktaWNvbiB7XG4gIGNvbG9yOiAjYjQ1YTAwO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC13cmFwcGVyIHtcbiAgcGFkZGluZzogMTJweCAxNnB4IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC1maWVsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLWlucHV0LWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbm92YS1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG1pbi1oZWlnaHQ6IDgwcHg7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLW91dCwgYm94LXNoYWRvdyAxMjBtcyBlYXNlLW91dDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaW5wdXQtZmllbGQ6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ub3ZhLXByaW1hcnkpO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg3MCwgODIsIDI0MywgMC4yKTtcbn1cbi5xZG5hcHJvLW5vdmEubm92YS10aGVtZS1vcmFuZ2UgLm5vdmEtaW5wdXQtZmllbGQ6Zm9jdXMtd2l0aGluIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjQ1LCAxNDMsIDYsIDAuMjUpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC1hdHRhY2htZW50cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiA2cHg7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaW5wdXQtYXR0YWNobWVudC1waWxsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBwYWRkaW5nOiA0cHggNHB4IDRweCA4cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLW5vdmEtcGFuZWwtYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ub3ZhLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBtYXgtd2lkdGg6IDIyMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXRleHQpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC1hdHRhY2htZW50LXBpbGwgcWRuYXByby1maWxlLWljb24ge1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaW5wdXQtYXR0YWNobWVudC1uYW1lIHtcbiAgbWF4LXdpZHRoOiAxNDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWlucHV0LWF0dGFjaG1lbnQtcmVtb3ZlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tbm92YS1wbGFjZWhvbGRlcik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwYWRkaW5nOiAwO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaW5wdXQtYXR0YWNobWVudC1yZW1vdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBjb2xvcjogdmFyKC0tbm92YS10ZXh0KTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaW5wdXQtdG9wIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICBmbGV4OiAxO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC10b3AtaWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgY29sb3I6IHZhcigtLW5vdmEtcGxhY2Vob2xkZXIpO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaW5wdXQtdGV4dGFyZWEge1xuICBmbGV4OiAxO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICByZXNpemU6IG5vbmU7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBjb2xvcjogdmFyKC0tbm92YS10ZXh0KTtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIG1pbi1oZWlnaHQ6IDI0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC10ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tbm92YS1wbGFjZWhvbGRlcik7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWlucHV0LWJvdHRvbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1pbi13aWR0aDogNDBweDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLW5vdmEtdGV4dCk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA4cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQsIGNvbG9yIDEyMG1zIGVhc2Utb3V0O1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC1idG4gc3ZnIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaW5wdXQtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbm92YS11c2VyLWJ1YmJsZSk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWlucHV0LWJ0bltkaXNhYmxlZF0ge1xuICBjb2xvcjogdmFyKC0tbm92YS1wbGFjZWhvbGRlcik7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWlucHV0LWJ0bltkaXNhYmxlZF06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaW5wdXQtYWN0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgY29sb3IgMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaW5wdXQtYWN0aW9uLm5vdmEtYWN0aW9uLXNlbmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLXByaW1hcnkpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaW5wdXQtYWN0aW9uLm5vdmEtYWN0aW9uLXNlbmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLXByaW1hcnktaG92ZXIpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC1hY3Rpb24ubm92YS1hY3Rpb24tc2VuZDphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLXByaW1hcnktcHJlc3NlZCk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWlucHV0LWFjdGlvbi5ub3ZhLWFjdGlvbi1zdG9wIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLWVycm9yLXRleHQpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC1hY3Rpb24ubm92YS1hY3Rpb24tc3RvcDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk4LCA5MCwgOTAsIDAuMSk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWlucHV0LWFjdGlvbi5ub3ZhLWFjdGlvbi1zdG9wOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk4LCA5MCwgOTAsIDAuMTgpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC1hY3Rpb24ubm92YS1hY3Rpb24tbWljIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXRleHQpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC1hY3Rpb24ubm92YS1hY3Rpb24tbWljOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA2KTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtYWN0aW9uLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI0MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMTQwbXMgZWFzZTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtYWN0aW9uLWljb24gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1ub3ZhIC5ub3ZhLWFjdGlvbi1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDgwbXMgZWFzZTtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnFkbmFwcm8tbm92YSAubm92YS1pbnB1dC1oaW50IHtcbiAgcGFkZGluZzogNHB4IDEycHggMDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgY29sb3I6IHZhcigtLW5vdmEtcGxhY2Vob2xkZXIpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWhpc3Rvcnkge1xuICBmbGV4OiAxO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogOHB4O1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1oaXN0b3J5LXNlY3Rpb24tbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgcGFkZGluZzogOHB4IDhweCA0cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXRleHQtc2Vjb25kYXJ5KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaGlzdG9yeS1zZWN0aW9uLWxhYmVsIHN2ZyB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWhpc3RvcnktaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0O1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1oaXN0b3J5LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLW1lbnUtaG92ZXIpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1oaXN0b3J5LWl0ZW0ubm92YS1oaXN0b3J5LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLW5vdmEtcGlubmVkLWJnKTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaGlzdG9yeS1pdGVtLWJvZHkge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMnB4O1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1oaXN0b3J5LWl0ZW0tdGl0bGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tbm92YS10ZXh0KTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWhpc3RvcnktaXRlbS1zbmlwcGV0IHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgY29sb3I6IHZhcigtLW5vdmEtdGV4dC1zZWNvbmRhcnkpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaGlzdG9yeS1pdGVtLW1ldGEge1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBjb2xvcjogdmFyKC0tbm92YS10ZXh0LXNlY29uZGFyeSk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWhpc3RvcnktaXRlbS1waW4ge1xuICBjb2xvcjogdmFyKC0tbm92YS1wcmltYXJ5KTtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaGlzdG9yeS1pdGVtLW1lbnUtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tbm92YS10ZXh0LXNlY29uZGFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyBlYXNlLW91dCwgYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLW91dDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtaGlzdG9yeS1pdGVtOmhvdmVyIC5ub3ZhLWhpc3RvcnktaXRlbS1tZW51LWJ0bixcbi5xZG5hcHJvLW5vdmEgLm5vdmEtaGlzdG9yeS1pdGVtLW1lbnUtYnRuOmZvY3VzLXZpc2libGUsXG4ucWRuYXByby1ub3ZhIC5ub3ZhLWhpc3RvcnktaXRlbS5ub3ZhLW1lbnUtb3BlbiAubm92YS1oaXN0b3J5LWl0ZW0tbWVudS1idG4ge1xuICBvcGFjaXR5OiAxO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1oaXN0b3J5LWl0ZW0tbWVudS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1oaXN0b3J5LWl0ZW0tbWVudS1idG4gc3ZnIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzNnB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDtcbiAgbWluLXdpZHRoOiAxNDBweDtcbiAgcGFkZGluZzogNHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLXBhbmVsLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbm92YS1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLW1lbnUtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tbm92YS10ZXh0KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1tZW51LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLW1lbnUtaG92ZXIpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1tZW51LWl0ZW0gc3ZnIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgY29sb3I6IHZhcigtLW5vdmEtdGV4dC1zZWNvbmRhcnkpO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbWVudS1pdGVtLm5vdmEtbWVudS1pdGVtLWRhbmdlciB7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLWVycm9yLXRleHQpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1tZW51LWl0ZW0ubm92YS1tZW51LWl0ZW0tZGFuZ2VyIHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLWVycm9yLXRleHQpO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1tZW51LWl0ZW0ubm92YS1tZW51LWl0ZW0tZGFuZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbm92YS1lcnJvci1iZyk7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLWhpc3RvcnktZW1wdHkge1xuICBwYWRkaW5nOiAzMnB4IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLW5vdmEtdGV4dC1zZWNvbmRhcnkpO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG4vLyBNaWMgcmVjb3JkaW5nIHN0YXRlIOKAlCBwdWxzaW5nIHJlZCBib3JkZXIgb24gdGhlIGlucHV0IGZpZWxkLlxuLy8gU2hvd24gcmVnYXJkbGVzcyBvZiB3aGljaCBidXR0b24gc3RhdGUgdGhlIGNvbXBvc2VyIGlzIGluLCBzbyB0aGUgdXNlclxuLy8gYWx3YXlzIHNlZXMgXCJyZWNvcmRpbmdcIiBmZWVkYmFjayBldmVuIGFmdGVyIGludGVyaW0gdGV4dCBoYXMgYXBwZWFyZWQuXG4ucWRuYXByby1ub3ZhLm5vdmEtbWljLXJlY29yZGluZyAubm92YS1pbnB1dC1maWVsZCB7XG4gIGJvcmRlci1jb2xvcjogI2M2NWE1YTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTk4LCA5MCwgOTAsIDAuMik7XG4gIGFuaW1hdGlvbjogbm92YS1taWMtYm9yZGVyLXB1bHNlIDEuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5Aa2V5ZnJhbWVzIG5vdmEtbWljLWJvcmRlci1wdWxzZSB7XG4gIDAlLCAxMDAlIHsgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTk4LCA5MCwgOTAsIDAuMik7IH1cbiAgNTAlICAgICAgIHsgYm94LXNoYWRvdzogMCAwIDAgNXB4IHJnYmEoMTk4LCA5MCwgOTAsIDAuMDgpOyB9XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1ub3ZhLm5vdmEtbWljLXJlY29yZGluZyAubm92YS1pbnB1dC1maWVsZCB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2M2NWE1YTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxOTgsIDkwLCA5MCwgMC4yKTtcbiAgfVxufVxuXG4vLyBWb2ljZSBhdXRvLXNlbmQgY291bnRkb3duIOKAlCBzaG93biBhZnRlciBzcGVlY2ggZW5kczsgc2VuZHMgd2hlbiB0aGUgYmFyXG4vLyBkZXBsZXRlcyB1bmxlc3MgdGhlIHVzZXIgY2xpY2tzIENhbmNlbCAvIGVkaXRzIHRoZSB0ZXh0LlxuLnFkbmFwcm8tbm92YSAubm92YS1taWMtYXV0b3NlbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbjogOHB4IDRweCAwO1xuICBwYWRkaW5nOiA3cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLXF1aWNrLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLW5vdmEtcHJpbWFyeSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG59XG4ucWRuYXByby1ub3ZhIC5ub3ZhLW1pYy1hdXRvc2VuZC1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8tbm92YSAubm92YS1taWMtYXV0b3NlbmQtYmFyIHtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZDogcmdiYSg2NCwgNzMsIDE1NCwgMC4xOCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbWljLWF1dG9zZW5kLWJhcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3ZhLXByaW1hcnkpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgYW5pbWF0aW9uOiBub3ZhLWF1dG9zZW5kLWNvdW50ZG93biBsaW5lYXIgZm9yd2FyZHM7XG59XG5Aa2V5ZnJhbWVzIG5vdmEtYXV0b3NlbmQtY291bnRkb3duIHtcbiAgZnJvbSB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG4gIHRvICAgeyB0cmFuc2Zvcm06IHNjYWxlWCgwKTsgfVxufVxuLnFkbmFwcm8tbm92YSAubm92YS1taWMtYXV0b3NlbmQtY2FuY2VsIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1ub3ZhLXByaW1hcnkpO1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5xZG5hcHJvLW5vdmEgLm5vdmEtbWljLWF1dG9zZW5kLWNhbmNlbDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjQsIDczLCAxNTQsIDAuMSk7XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1ub3ZhIC5ub3ZhLW1pYy1hdXRvc2VuZC1iYXI6OmFmdGVyIHsgYW5pbWF0aW9uOiBub25lOyB0cmFuc2Zvcm06IHNjYWxlWCgwLjUpOyB9XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW5vdmEge1xuICAtLW5vdmEtcGFuZWwtYmc6ICMxZjIwMjg7XG4gIC0tbm92YS11c2VyLWJ1YmJsZTogIzJlMzAzNjtcbiAgLS1ub3ZhLXRleHQ6ICNmMGYxZjI7XG4gIC0tbm92YS10ZXh0LXNlY29uZGFyeTogI2E2YWFiMztcbiAgLS1ub3ZhLWxpbms6ICM4YjkzZmY7XG4gIC0tbm92YS1ib3JkZXI6ICM1NjViNjY7XG4gIC0tbm92YS1pbnB1dC1iZzogIzBiMGIwZDtcbiAgLS1ub3ZhLXBsYWNlaG9sZGVyOiAjODk4ZTk5O1xuICAtLW5vdmEtZGl2aWRlcjogIzNhM2I0MjtcbiAgLS1ub3ZhLXF1aWNrLWhvdmVyOiByZ2JhKDcwLCA4MiwgMjQzLCAwLjIwKTtcbiAgLS1ub3ZhLXBpbm5lZC1iZzogIzJhMmQ1MjtcbiAgLS1ub3ZhLW1lbnUtaG92ZXI6ICMyZTMwMzY7XG4gIC0tbm92YS1lcnJvci1iZzogIzNhMWUxZTtcbiAgLS1ub3ZhLWVycm9yLXRleHQ6ICNmODcxNzE7XG4gIGJveC1zaGFkb3c6IC00cHggMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1ub3ZhLm5vdmEtdGhlbWUtb3JhbmdlIHtcbiAgLS1ub3ZhLXBpbm5lZC1iZzogIzNhMmExMjtcbiAgLS1ub3ZhLXF1aWNrLWhvdmVyOiAjMmUzMDM2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbm92YSB7XG4gIC0tbm92YS1wcmltYXJ5OiAjOGI5M2ZmO1xuICAtLW5vdmEtcHJpbWFyeS1ob3ZlcjogIzZlNzhmZjtcbiAgLS1ub3ZhLXByaW1hcnktcHJlc3NlZDogIzU1NjBlODtcbiAgLS1ub3ZhLXByaW1hcnktZ2xvdzogcmdiYSgxMzksIDE0NywgMjU1LCAwLjQ1KTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW5vdmEubm92YS10aGVtZS1vcmFuZ2Uge1xuICAtLW5vdmEtcHJpbWFyeTogI0Y1OEYwNjtcbiAgLS1ub3ZhLXByaW1hcnktaG92ZXI6ICNmMmE1MzU7XG4gIC0tbm92YS1wcmltYXJ5LXByZXNzZWQ6ICNkOTdjMDA7XG4gIC0tbm92YS1wcmltYXJ5LWdsb3c6IHJnYmEoMjQ1LCAxNDMsIDYsIDAuNDUpO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbm92YSAubm92YS13ZWxjb21lLWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjMmEyYzRkO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTY1LCAxNzIsIDI1NSwgMC4xOCk7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1ub3ZhIC5ub3ZhLXdlbGNvbWUtdGl0bGUsXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1ub3ZhIC5ub3ZhLXdlbGNvbWUtcHJpdmFjeSxcbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW5vdmEgLm5vdmEtd2VsY29tZS1wcml2YWN5LWljb24ge1xuICBjb2xvcjogI2E1YWNmZjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW5vdmEgLm5vdmEtd2VsY29tZS1wcml2YWN5IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW5vdmEubm92YS10aGVtZS1vcmFuZ2UgLm5vdmEtd2VsY29tZS1jYXJkIHtcbiAgYmFja2dyb3VuZDogIzNkMmUxYTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1MSwgMTkxLCA5MiwgMC4yMik7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1ub3ZhLm5vdmEtdGhlbWUtb3JhbmdlIC5ub3ZhLXdlbGNvbWUtdGl0bGUsIFtkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW5vdmEubm92YS10aGVtZS1vcmFuZ2UgLm5vdmEtd2VsY29tZS1wcml2YWN5LCBbZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1ub3ZhLm5vdmEtdGhlbWUtb3JhbmdlIC5ub3ZhLXdlbGNvbWUtcHJpdmFjeS1pY29uIHtcbiAgY29sb3I6ICNmYmJmMjQ7XG59XG5cbi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgUFdBLVZBUklBTlQ6IGdlc3ByZWtrZW5saWpzdCBOQUFTVCBkZSBjaGF0ICBbSmFuIDA0LjA4LjIwMjZdXG5cbiAgIEFsbGVlbiBhY3RpZWYgbWV0IGhldCBgcHdhYC1hdHRyaWJ1dXQsIGR1cyBoZXQgYmFja29mZmljZS16aWpwYW5lZWwgbWVya3RcbiAgIGhpZXIgbmlldHMgdmFuOiBkYWFyIGtvbXQgZGUgZ2VzY2hpZWRlbmlzIG5vZyBzdGVlZHMgSU4gUExBQVRTIFZBTiBkZSBjaGF0LlxuXG4gICBPbmRlciA3NjhweCAodGVsZWZvb24pIGlzIGVyIMOpw6luIGtvbG9tIGVuIGdlZHJhYWd0IGRlIHZhcmlhbnQgemljaCBleGFjdCBhbHNcbiAgIHZvb3JoZWVuOiBkZSByZWNodGVya29sb20gc3RhYXQgZXIgaW4gZGUgRE9NIG1hYXIgd29yZHQgbmlldCBnZXRvb25kLCBlbiBkZVxuICAgZ2VzY2hpZWRlbmlzLWtub3AgaW4gZGUga29wIGJyZW5ndCBqZSBuYWFyIGRlIHZvbGxlZGlnZSBsaWpzdC5cbiAgIFZhbmFmIDc2OHB4IOKAlCBkZXplbGZkZSB0YWJsZXRncmVucyBkaWUgZGUgYXBwIGluIGRvY3VtZW50ZW4sIHBvc3R2YWsgZW5cbiAgIHN0YXJ0c2NoZXJtIGdlYnJ1aWt0IOKAlCBzdGFhdCBkZSBsaWpzdCByZWNodHMgZW4gaXMgZGllIGtub3Agb3ZlcmJvZGlnLlxuICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG4ucWRuYXByby1ub3ZhW3B3YV0gLm5vdmEtc3BsaXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5xZG5hcHJvLW5vdmFbcHdhXSAubm92YS1zcGxpdC1jaGF0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMSAxIGF1dG87XG4gIC8qIOKaoO+4jyBtaW4td2lkdGggMCBpcyBoaWVyIGdlZW4gb3BzbXVrOiB6b25kZXIgZGV6ZSByZWdlbCB3ZWlnZXJ0IGVlbiBmbGV4LWtpbmRcbiAgICAgdGUga3JpbXBlbiBvbmRlciB6aWpuIGluaG91ZCBlbiBkdXd0IGVlbiBsYW5nZSByZWdlbCBpbiBlZW4gY2hhdGJlbCBkZVxuICAgICByZWNodGVya29sb20gdmFuIGhldCBzY2hlcm0gYWYuICovXG4gIG1pbi13aWR0aDogMDtcbn1cbi8qIFRlbGVmb29uOiBkZSBsaWpzdCBzdGFhdCBpbiBkZSBET00gbWFhciBob29ydCBuaWV0IGluIGJlZWxkLiAqL1xuLnFkbmFwcm8tbm92YVtwd2FdIC5ub3ZhLXNwbGl0LWhpc3Rvcnkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnFkbmFwcm8tbm92YVtwd2FdIC5ub3ZhLXNwbGl0LWhpc3Rvcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAzMjBweDogYnJlZWQgZ2Vub2VnIHZvb3IgZWVuIGdlc3ByZWtzdGl0ZWwgb3AgdHdlZSByZWdlbHMsIHNtYWwgZ2Vub2VnIG9tXG4gICAgICAgZGUgY2hhdCBkZSBob29mZHJvbCB0ZSBsYXRlbi4gS3JpbXB0IG5pZXQgbWVlIChmbGV4IDAgMCBhdXRvKSwgd2FudCBlZW5cbiAgICAgICBnZXNwcmVrbGlqc3QgdmFuIDEyMHB4IGlzIG9ubGVlc2JhYXIuICovXG4gICAgZmxleDogMCAwIDMyMHB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tbm92YS1kaXZpZGVyKTtcbiAgfVxuICAvKiBEZSBnZXNjaGllZGVuaXMta25vcCBpbiBkZSBrb3Agd2lqc3QgbmFhciBlZW4gbGlqc3QgZGllIGFsIHppY2h0YmFhciBpcy4gKi9cbiAgLnFkbmFwcm8tbm92YVtwd2FdIC5ub3ZhLWhlYWRlci1hY3Rpb25zIC5ub3ZhLWhlYWRlci1idG5bZGF0YS1yb2xlPVwiaGlzdG9yeS1idG5cIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL25vdmEtbGF1bmNoZXIvX25vdmEtbGF1bmNoZXItY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgcWRuYXByby1ub3ZhLWxhdW5jaGVyIOKAlCBjb21waWxlZCBmcm9tIF9ub3ZhLWxhdW5jaGVyLnNjc3NcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucWRuYXByby1ub3ZhLWxhdW5jaGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogOTAwMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM0NjUyZjMgMCUsICM0MDQ5OWEgNTAlLCAjNDY1MmYzIDEwMCUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAyMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDAlO1xuICAgIGFuaW1hdGlvbjogbm92YS1sYXVuY2hlci1nbGlkZSA4cyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCA0cHggIDhweCAgMCByZ2JhKDY0LCA3MywgMTU0LCAwLjI1KSxcbiAgICAgICAgMCA4cHggMTZweCAgNHB4IHJnYmEoMCwgMCwgMCwgMC4xNiksXG4gICAgICAgIDAgMnB4ICA0cHggIDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gMjAwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC44LCAwLjIsIDEpLFxuICAgICAgICBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0LFxuICAgICAgICBiYWNrZ3JvdW5kIDE2MG1zIGVhc2Utb3V0O1xufVxuLnFkbmFwcm8tbm92YS1sYXVuY2hlciAubGF1bmNoZXItc3BhcmtsZSB7XG4gICAgd2lkdGg6IDU2JTtcbiAgICBoZWlnaHQ6IDU2JTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTgpKTtcbn1cbi5xZG5hcHJvLW5vdmEtbGF1bmNoZXIgLmxhdW5jaGVyLXNwYXJrbGUgcGF0aCB7XG4gICAgdHJhbnNmb3JtLWJveDogZmlsbC1ib3g7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuLnFkbmFwcm8tbm92YS1sYXVuY2hlciAubGF1bmNoZXItc3BhcmtsZSAuc3BhcmtsZS1iaWcgICB7IGFuaW1hdGlvbjogbm92YS1sYXVuY2hlci1zcGFya2xlLWJpZyAgIDIuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cbi5xZG5hcHJvLW5vdmEtbGF1bmNoZXIgLmxhdW5jaGVyLXNwYXJrbGUgLnNwYXJrbGUtc21hbGwgeyBhbmltYXRpb246IG5vdmEtbGF1bmNoZXItc3BhcmtsZS1zbWFsbCAxLjVzIGVhc2UtaW4tb3V0IC0wLjRzIGluZmluaXRlOyB9XG5cbi5xZG5hcHJvLW5vdmEtbGF1bmNoZXI6aG92ZXIsXG4ucWRuYXByby1ub3ZhLWxhdW5jaGVyLmZvcmNlLWhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCkgc2NhbGUoMS4wNCk7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCA2cHggMTJweCAwIHJnYmEoNjQsIDczLCAxNTQsIDAuMzIpLFxuICAgICAgICAwIDEycHggMjJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE4KSxcbiAgICAgICAgMCA0cHggIDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCk7XG59XG4ucWRuYXByby1ub3ZhLWxhdW5jaGVyOmhvdmVyOjpiZWZvcmUsXG4ucWRuYXByby1ub3ZhLWxhdW5jaGVyLmZvcmNlLWhvdmVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDcwLCA4MiwgMjQzLCAwLjU1KTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBhbmltYXRpb246IG5vdmEtbGF1bmNoZXItcHVsc2UgMS44cyBlYXNlLW91dCBpbmZpbml0ZTtcbn1cbi5xZG5hcHJvLW5vdmEtbGF1bmNoZXI6YWN0aXZlLFxuLnFkbmFwcm8tbm92YS1sYXVuY2hlci5mb3JjZS1wcmVzc2VkIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMC45Nyk7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAycHggNHB4IDAgcmdiYSg2NCwgNzMsIDE1NCwgMC4yMiksXG4gICAgICAgIDAgNHB4IDhweCAycHggcmdiYSgwLCAwLCAwLCAwLjE4KSxcbiAgICAgICAgMCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA5MG1zO1xufVxuLnFkbmFwcm8tbm92YS1sYXVuY2hlcjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbi5xZG5hcHJvLW5vdmEtbGF1bmNoZXI6Zm9jdXMtdmlzaWJsZSxcbi5xZG5hcHJvLW5vdmEtbGF1bmNoZXIuZm9yY2UtZm9jdXMge1xuICAgIG91dGxpbmU6IDNweCBzb2xpZCAjZmZmZmZmO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtM3B4O1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMCAwIDNweCAjNDY1MmYzLFxuICAgICAgICAwIDAgMCA3cHggcmdiYSg3MCwgODIsIDI0MywgMC4zMCksXG4gICAgICAgIDAgOHB4IDE2cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xOCksXG4gICAgICAgIDAgMnB4ICA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ucWRuYXByby1ub3ZhLWxhdW5jaGVyLmxhdW5jaGVyLXRoZW1lLW9yYW5nZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0ZCQkYyNCAwJSwgI0Y1OEYwNiA1MCUsICNGQkJGMjQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDIwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7XG4gICAgYW5pbWF0aW9uOiBub3ZhLWxhdW5jaGVyLWdsaWRlIDhzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDRweCAgOHB4IDAgcmdiYSgyNDUsIDE0MywgNiwgMC4zMCksXG4gICAgICAgIDAgOHB4IDE2cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNiksXG4gICAgICAgIDAgMnB4ICA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuLnFkbmFwcm8tbm92YS1sYXVuY2hlci5sYXVuY2hlci10aGVtZS1vcmFuZ2U6aG92ZXIsXG4ucWRuYXByby1ub3ZhLWxhdW5jaGVyLmxhdW5jaGVyLXRoZW1lLW9yYW5nZS5mb3JjZS1ob3ZlciB7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCA2cHggMTJweCAwIHJnYmEoMjQ1LCAxNDMsIDYsIDAuMzgpLFxuICAgICAgICAwIDEycHggMjJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE4KSxcbiAgICAgICAgMCA0cHggIDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCk7XG59XG4ucWRuYXByby1ub3ZhLWxhdW5jaGVyLmxhdW5jaGVyLXRoZW1lLW9yYW5nZTpob3Zlcjo6YmVmb3JlLFxuLnFkbmFwcm8tbm92YS1sYXVuY2hlci5sYXVuY2hlci10aGVtZS1vcmFuZ2UuZm9yY2UtaG92ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDUsIDE0MywgNiwgMC41NSk7XG59XG4ucWRuYXByby1ub3ZhLWxhdW5jaGVyLmxhdW5jaGVyLXRoZW1lLW9yYW5nZTphY3RpdmUsXG4ucWRuYXByby1ub3ZhLWxhdW5jaGVyLmxhdW5jaGVyLXRoZW1lLW9yYW5nZS5mb3JjZS1wcmVzc2VkIHtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDJweCA0cHggMCByZ2JhKDI0NSwgMTQzLCA2LCAwLjI4KSxcbiAgICAgICAgMCA0cHggOHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTgpLFxuICAgICAgICAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpO1xufVxuLnFkbmFwcm8tbm92YS1sYXVuY2hlci5sYXVuY2hlci10aGVtZS1vcmFuZ2U6Zm9jdXMtdmlzaWJsZSxcbi5xZG5hcHJvLW5vdmEtbGF1bmNoZXIubGF1bmNoZXItdGhlbWUtb3JhbmdlLmZvcmNlLWZvY3VzIHtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDAgMCAzcHggI0Y1OEYwNixcbiAgICAgICAgMCAwIDAgN3B4IHJnYmEoMjQ1LCAxNDMsIDYsIDAuMzIpLFxuICAgICAgICAwIDhweCAxNnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTgpLFxuICAgICAgICAwIDJweCAgNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLW5vdmEtbGF1bmNoZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM1NTYwZTggMCUsICMzODQyYzIgNTAlLCAjNTU2MGU4IDEwMCUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAyMDAlO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgNHB4ICA4cHggMCByZ2JhKDcwLCA4MiwgMjQzLCAwLjMwKSxcbiAgICAgICAgMCA4cHggMTZweCA0cHggcmdiYSgwLCAwLCAwLCAwLjMwKSxcbiAgICAgICAgMCAycHggIDRweCAwIHJnYmEoMCwgMCwgMCwgMC4yMCk7XG59XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbm92YS1sYXVuY2hlcjpob3ZlcixcbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1ub3ZhLWxhdW5jaGVyLmZvcmNlLWhvdmVyIHtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDZweCAxMnB4IDAgcmdiYSg3MCwgODIsIDI0MywgMC40MCksXG4gICAgICAgIDAgMTJweCAyMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMzIpLFxuICAgICAgICAwIDRweCAgNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIyKTtcbn1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1ub3ZhLWxhdW5jaGVyLmxhdW5jaGVyLXRoZW1lLW9yYW5nZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0ZCQkYyNCAwJSwgI2Q5N2MwMCA1MCUsICNGQkJGMjQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDIwMCU7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCA0cHggIDhweCAwIHJnYmEoMjUxLCAxOTEsIDM2LCAwLjMwKSxcbiAgICAgICAgMCA4cHggMTZweCA0cHggcmdiYSgwLCAwLCAwLCAwLjMwKSxcbiAgICAgICAgMCAycHggIDRweCAwIHJnYmEoMCwgMCwgMCwgMC4yMCk7XG59XG5cbkBrZXlmcmFtZXMgbm92YS1sYXVuY2hlci1zcGFya2xlLWJpZyB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgNTAlICAgICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpOyB9XG59XG5Aa2V5ZnJhbWVzIG5vdmEtbGF1bmNoZXItc3BhcmtsZS1zbWFsbCB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7IH1cbiAgICA1MCUgICAgICB7IHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7IH1cbn1cbkBrZXlmcmFtZXMgbm92YS1sYXVuY2hlci1wdWxzZSB7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7ICAgb3BhY2l0eTogMC41NTsgfVxuICAgIDcwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IG9wYWNpdHk6IDA7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOyBvcGFjaXR5OiAwOyB9XG59XG5Aa2V5ZnJhbWVzIG5vdmEtbGF1bmNoZXItZ2xpZGUge1xuICAgIDAlICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAgIDAlICAgMCU7IH1cbiAgICAxMDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlOyB9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnFkbmFwcm8tbm92YS1sYXVuY2hlcixcbiAgICAucWRuYXByby1ub3ZhLWxhdW5jaGVyIC5sYXVuY2hlci1zcGFya2xlIC5zcGFya2xlLWJpZyxcbiAgICAucWRuYXByby1ub3ZhLWxhdW5jaGVyIC5sYXVuY2hlci1zcGFya2xlIC5zcGFya2xlLXNtYWxsLFxuICAgIC5xZG5hcHJvLW5vdmEtbGF1bmNoZXI6aG92ZXI6OmJlZm9yZSB7IGFuaW1hdGlvbjogbm9uZTsgfVxufVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvbm92YS1tZXNzYWdlL19ub3ZhLW1lc3NhZ2UtY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnFkbmFwcm8tbm92YS1tZXNzYWdlIHtcbiAgLS1tc2ctdGV4dDogdmFyKC0tbm92YS10ZXh0LCAjMWExYzIwKTtcbiAgLS1tc2ctdGV4dC1zZWNvbmRhcnk6IHZhcigtLW5vdmEtdGV4dC1zZWNvbmRhcnksICM2YjcyODApO1xuICAtLW1zZy11c2VyLWJ1YmJsZTogdmFyKC0tbm92YS11c2VyLWJ1YmJsZSwgI2YwZjFmMik7XG4gIC0tbXNnLXByaW1hcnk6IHZhcigtLW5vdmEtcHJpbWFyeSwgIzQwNDk5YSk7XG4gIC0tbXNnLWVycm9yLWJnOiB2YXIoLS1ub3ZhLWVycm9yLWJnLCAjZmVlM2UzKTtcbiAgLS1tc2ctZXJyb3ItdGV4dDogdmFyKC0tbm92YS1lcnJvci10ZXh0LCAjYzY1YTVhKTtcbiAgLS1tc2ctcGlubmVkLWJnOiB2YXIoLS1ub3ZhLXBpbm5lZC1iZywgI2U2ZTlmZik7XG4gIC0tbXNnLWJvcmRlcjogdmFyKC0tbm92YS1ib3JkZXIsICNjNGM3Y2MpO1xuICAtLW1zZy1saW5rOiB2YXIoLS1ub3ZhLWxpbmssICM0MDQ5OWEpO1xuICAtLW1zZy1xdWljay1ob3ZlcjogdmFyKC0tbm92YS1xdWljay1ob3ZlciwgI2YwZjFmMik7XG4gIC0tbXNnLWRpdmlkZXI6IHZhcigtLW5vdmEtZGl2aWRlciwgcmdiYSgwLCAwLCAwLCAwLjEpKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLXVzZXIge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgbWF4LXdpZHRoOiA4NSU7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1tc2ctdXNlci1idWJibGUpO1xuICBjb2xvcjogdmFyKC0tbXNnLXRleHQpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWFpIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBnYXA6IDEycHg7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctYWkgLm5vdmEtbXNnLWFpLWJvZHkge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBjb2xvcjogdmFyKC0tbXNnLXRleHQpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctYWkgLm5vdmEtbXNnLWFpLWJvZHkgcCB7XG4gIG1hcmdpbjogMCAwIDhweDtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1haSAubm92YS1tc2ctYWktYm9keSBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWFpIC5ub3ZhLW1zZy1haS1ib2R5IHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctYWkgLm5vdmEtbXNnLWFpLWJvZHkgYSB7XG4gIGNvbG9yOiB2YXIoLS1tc2ctbGluayk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWFpIC5ub3ZhLW1zZy1haS1ib2R5IHVsLCAucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctYWkgLm5vdmEtbXNnLWFpLWJvZHkgb2wge1xuICBtYXJnaW46IDAgMCA4cHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1haSAubm92YS1tc2ctYWktYm9keSBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWFpIC5ub3ZhLW1zZy1haS1ib2R5IGNvZGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1tc2ctdXNlci1idWJibGUpO1xuICBwYWRkaW5nOiAxcHggNHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGZvbnQtZmFtaWx5OiBNZW5sbywgTW9uYWNvLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWFpIC5ub3ZhLXNvdXJjZS1waWxsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA0cHggOHB4IDRweCA0cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLW1zZy11c2VyLWJ1YmJsZSk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tbXNnLXRleHQtc2Vjb25kYXJ5KTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctYWkgLm5vdmEtc291cmNlLXBpbGw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1tc2ctcXVpY2staG92ZXIpO1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWFpIC5ub3ZhLXNvdXJjZS1waWxsIHFkbmFwcm8taWNvbixcbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1haSAubm92YS1zb3VyY2UtcGlsbCAubm92YS1zb3VyY2UtaWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWFpIC5ub3ZhLXNvdXJjZS1zdGFjayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctYWkgLm5vdmEtc291cmNlLXN0YWNrLWl0ZW0ge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLW1zZy11c2VyLWJ1YmJsZSk7XG4gIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tbXNnLWRpdmlkZXIpO1xuICBtYXJnaW4tcmlnaHQ6IC02cHg7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctYWkgLm5vdmEtZm9sbG93dXBzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDZweDtcbiAgcGFkZGluZzogMCAwIDRweDtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1haSAubm92YS1mb2xsb3d1cC1jaGlwIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1zZy1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1tc2ctdGV4dCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLW91dDtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1haSAubm92YS1mb2xsb3d1cC1jaGlwOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbXNnLXF1aWNrLWhvdmVyKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tc2ctcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1tc2ctcHJpbWFyeSk7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctYWkgLm5vdmEtbXNnLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWFpIC5ub3ZhLWFjdGlvbi1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1tc2ctdGV4dC1zZWNvbmRhcnkpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogNHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0LCBjb2xvciAxMjBtcyBlYXNlLW91dDtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1haSAubm92YS1hY3Rpb24tYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbXNnLXVzZXItYnViYmxlKTtcbiAgY29sb3I6IHZhcigtLW1zZy10ZXh0KTtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1haSAubm92YS1hY3Rpb24tYnRuIHFkbmFwcm8taWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctYWkgLm5vdmEtYWN0aW9uLWJ0bi5ub3ZhLWFjdGlvbi1hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tbXNnLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1tc2ctcGlubmVkLWJnKTtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1haSAubm92YS1hY3Rpb24tYnRuOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1haSAubm92YS1hY3Rpb24tYnRuOmZvY3VzLXZpc2libGUsXG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctYWkgLm5vdmEtYWN0aW9uLWJ0bi5mb3JjZS1mb2N1cyxcbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1haSAubm92YS1mb2xsb3d1cC1jaGlwOmZvY3VzLXZpc2libGUsXG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctYWkgLm5vdmEtZm9sbG93dXAtY2hpcC5mb3JjZS1mb2N1cyxcbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1haSAubm92YS1zb3VyY2UtcGlsbDpmb2N1cy12aXNpYmxlLFxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWFpIC5ub3ZhLXNvdXJjZS1waWxsLmZvcmNlLWZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLW1zZy1wcmltYXJ5KTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbn1cblxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWVycm9yIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgcGFkZGluZzogMTJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tbXNnLWVycm9yLWJnKTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgY29sb3I6IHZhcigtLW1zZy1lcnJvci10ZXh0KTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZ2FwOiA4cHg7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctZXJyb3IgLm5vdmEtbXNnLWVycm9yLXJldHJ5IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLW1zZy1lcnJvci10ZXh0KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1lcnJvciAubm92YS1tc2ctZXJyb3ItcmV0cnk6aG92ZXIge1xuICBvcGFjaXR5OiAwLjk7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctZXJyb3IgLm5vdmEtbXNnLWVycm9yLXJldHJ5OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1lcnJvciAubm92YS1tc2ctZXJyb3ItcmV0cnk6Zm9jdXMtdmlzaWJsZSxcbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1lcnJvciAubm92YS1tc2ctZXJyb3ItcmV0cnkuZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tbXNnLXByaW1hcnkpO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoNzAsIDgyLCAyNDMsIDAuMjUpO1xufVxuXG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctdGhpbmtpbmcge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIGhlaWdodDogMzZweDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IHZhcigtLW1zZy10ZXh0LXNlY29uZGFyeSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctdGhpbmtpbmcgLm5vdmEtdGhpbmtpbmctaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctdGhpbmtpbmcgLm5vdmEtdGhpbmtpbmctc3BhcmtsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luOiAtN3B4IDAgMCAtN3B4O1xuICBjb2xvcjogdmFyKC0tbXNnLXByaW1hcnkpO1xuICBhbmltYXRpb246IG5vdmEtbXNnLXNwYXJrbGUtb3JiaXQgMi43cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy10aGlua2luZyAubm92YS10aGlua2luZy1zcGFya2xlOm50aC1jaGlsZCgyKSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuOXM7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctdGhpbmtpbmcgLm5vdmEtdGhpbmtpbmctc3BhcmtsZTpudGgtY2hpbGQoMykge1xuICBhbmltYXRpb24tZGVsYXk6IC0xLjhzO1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLXRoaW5raW5nIC5ub3ZhLXRoaW5raW5nLXNwYXJrbGUgc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy10aGlua2luZyAubm92YS10aGlua2luZy1zcGFya2xlIHtcbiAgY29sb3I6ICNmMGYxZmY7XG59XG5cbkBrZXlmcmFtZXMgbm92YS1tc2ctc3BhcmtsZS1vcmJpdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTFweCkgc2NhbGUoMC40NSk7XG4gICAgb3BhY2l0eTogMC4zNTtcbiAgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDExcHgsIDApIHNjYWxlKDAuODUpO1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMXB4KSBzY2FsZSgxLjIpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTFweCwgMCkgc2NhbGUoMC44NSk7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTFweCkgc2NhbGUoMC40NSk7XG4gICAgb3BhY2l0eTogMC4zNTtcbiAgfVxufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWZpbGUge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbiAgYmFja2dyb3VuZDogI2U2ZTlmZjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctZmlsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNkYWRkZjI7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctZmlsZTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjYzdjY2U4O1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWZpbGU6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWZpbGU6Zm9jdXMtdmlzaWJsZSwgLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWZpbGUuZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tbXNnLXByaW1hcnkpO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoNzAsIDgyLCAyNDMsIDAuMjUpO1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWZpbGUgLm5vdmEtbXNnLWZpbGUtaWNvbi13cmFwIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1maWxlIC5ub3ZhLW1zZy1maWxlLW1ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIGZsZXg6IDE7XG4gIGdhcDogMnB4O1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWZpbGUgLm5vdmEtbXNnLWZpbGUtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1tc2ctdGV4dCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWZpbGUgLm5vdmEtbXNnLWZpbGUtaW5mbyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1tc2ctdGV4dC1zZWNvbmRhcnkpO1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWZpbGUgLm5vdmEtbXNnLWZpbGUtb3BlbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM0MDQ5OWE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0MDQ5OWE7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctZmlsZSAubm92YS1tc2ctZmlsZS1vcGVuIHFkbmFwcm8taWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiAjNDA0OTlhO1xufVxuLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWZpbGUgLm5vdmEtbXNnLWZpbGUtZG93bmxvYWQge1xuICBmbGV4LXNocmluazogMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBjb2xvcjogIzQwNDk5YTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctZmlsZSAubm92YS1tc2ctZmlsZS1kb3dubG9hZCBxZG5hcHJvLWljb24ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1maWxlIC5ub3ZhLW1zZy1maWxlLWRvd25sb2FkIHFkbmFwcm8taWNvbiBzdmcge1xuICBmaWxsOiAjNDA0OTlhICFpbXBvcnRhbnQ7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1maWxlIHtcbiAgYmFja2dyb3VuZDogIzJhMmM1YTtcbiAgYm9yZGVyLWNvbG9yOiAjNmI3NWQ2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWZpbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzMzYTdiO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tbm92YS1tZXNzYWdlLm5vdmEtbXNnLWZpbGU6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzI1MmI1ZTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLW5vdmEtbWVzc2FnZS5ub3ZhLW1zZy1maWxlIC5ub3ZhLW1zZy1maWxlLW9wZW4sXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1ub3ZhLW1lc3NhZ2Uubm92YS1tc2ctZmlsZSAubm92YS1tc2ctZmlsZS1vcGVuIHFkbmFwcm8taWNvbiB7XG4gIGNvbG9yOiAjYjNiYmYyO1xuICBib3JkZXItY29sb3I6ICM2Yjc1ZDY7XG59XG4iLCIvLyBiYWNrb2ZmaWNlMi9zY3NzL3YxL2NvbXBvbmVudHMvX251bWJlci1pbmRpY2F0b3ItYmFkZ2Uuc2Nzc1xuLy9cbi8vIHFkbmFwcm8tbnVtYmVyLWluZGljYXRvci1iYWRnZSDigJQgZGlzcGxheSBjb21wb25lbnQgZm9yIGNvdW50ZXJzL2luZGljYXRvcnMuXG4vLyBGaWdtYSBzb3VyY2U6IFFETkEtUFJPLCBjb21wb25lbnQgc2V0IFwiTnVtYmVyIGluZGljYXRvclwiIChub2RlSWQgMTM5ODozMjExNikuXG4vL1xuLy8gSGV4IHZhbHVlcyBhcmUgaW5saW5lIHdpdGggdGhlIHRva2VuIG5hbWUgYXMgYSBjb21tZW50LiBTYW5kZXIgY2FuIGxhdGVyXG4vLyBkbyBhIHNlYXJjaC1hbmQtcmVwbGFjZSB0byB2YXJpYWJsZXMgb25jZSB0aGUgZmlnbWEtdG8tcWRuYS10b2tlbnMgbW9kdWxlc1xuLy8gYXJlIGdlbmVyYXRlZCAoVGV4dC9IZWFkZXIsIFN1cmZhY2UvQmF0Y2gvQmF0Y2gtUHJpbWFyeS1wdXJwbGUsIGV0Yy4pLlxuXG4ucWRuYXByby1udW1iZXItaW5kaWNhdG9yLWJhZGdlIHtcbiAgICAvLyAtLS0gQmFzZSAoc2hhcmVkIGJ5IGFsbCB2YXJpYW50cykgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLy8gUGlsbCBzaGFwZTogYXMgcm91bmQgYXMgcG9zc2libGUgdW50aWwgdGhlIHRleHQgcHVzaGVzIGl0IHdpZGVyLlxuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG5cbiAgICAvLyBBbHdheXMgcmVzZXJ2ZSB0aGUgYm9yZGVyIHNvIHZhcmlhbnRzIFdJVEggYSBib3JkZXIgKG91dGxpbmVkKSBkb24ndFxuICAgIC8vIGNhdXNlIGEgbGF5b3V0IHNoaWZ0IHdoZW4geW91IHN3aXRjaCBjb2xvdXJzIGR5bmFtaWNhbGx5LlxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgLy8gSG9yaXpvbnRhbCBwYWRkaW5nIGVxdWFsIGV2ZXJ5d2hlcmUuIHNkcy1zaXplLXNwYWNlLTEwMCA9IDRweC5cbiAgICBwYWRkaW5nOiAwIDRweDtcblxuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7ICAvLyBUeXBlL0ZvbnQgRmFtaWx5L3ByaW1hcnlcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBsaW5lLWhlaWdodDogMTsgIC8vIHNpemVzIG92ZXJyaWRlOyBiYXNlIHByZXZlbnRzIGEgcmVuZGVyaW5nIGdsaXRjaC5cblxuICAgIC8vIC0tLSBGb2N1cyAob25seSB2aXNpYmxlIHdoZW4gdGhlIGNvbnN1bWVyIHNldHMgdGFiaW5kZXgpIC0tLS0tLS0tLS0tLS0tXG4gICAgLy8gU3lzdGVtLXdpZGUgcGF0dGVybiBbRklHTUEgdmVyaWZpZWRdIG5vZGUgODc3MjoxODg3NjAuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkICM0MDQ5OWE7ICAvLyAkYm9yZGVyLWFjdGlvbi1wdXJwbGUtb3V0bGluZWRcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG5cbiAgICAvLyAtLS0gU2l6ZXMgKGhlaWdodCArIGZvbnQtc2l6ZSArIGxpbmUtaGVpZ2h0KSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEZpZ21hIHJlcG9ydHMgaGVpZ2h0cyAyMHB4ICh4cykgYW5kIDI0cHggKHNtL21kL2xnKS4gV2UgdXNlXG4gICAgLy8gbWluLXdpZHRoIGVxdWFsIHRvIGhlaWdodCBzbyBzaW5nbGUtZGlnaXQgY29udGVudCAoZS5nLiBcIjFcIilcbiAgICAvLyBzdGF5cyBjaXJjdWxhciBhbmQgbXVsdGktZGlnaXQgY29udGVudCAoXCI5OVwiLCBcIjk5OVwiKSBzdHJldGNoZXMgdGhlIHBpbGwuXG5cbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2Utc2l6ZS14cyB7XG4gICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDEwcHg7ICAgICAvLyBGb250IHNpemUvQm9keS9leHRyYS1zbWFsbC0xMFxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDsgICAvLyBMaW5lIEhlaWdodC9Cb2R5L0JvZHkgU21hbGwg4oCUIGZvcmNlcyBjb250ZW50IHdpdGhpbiAyMHB4XG4gICAgICAgIC8vIEV4dHJhIHNtYWxsIGhhcyBvcGFjaXR5LTkwIG9uIHRoZSB0ZXh0IGluIEZpZ21hLiBTbWFsbCB2aXN1YWwgbnVhbmNlLlxuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgfVxuXG4gICAgJi5udW1iZXItaW5kaWNhdG9yLWJhZGdlLXNpemUtc20ge1xuICAgICAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4OyAgICAgLy8gRm9udCBzaXplL0JvZHkvc21hbGwtMTJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7ICAgLy8gTGluZSBIZWlnaHQvQm9keS9Cb2R5IFNtYWxsXG4gICAgfVxuXG4gICAgJi5udW1iZXItaW5kaWNhdG9yLWJhZGdlLXNpemUtbWQge1xuICAgICAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyAgICAgLy8gRm9udCBzaXplL0JvZHkvSW50ZXItbWVkaXVtLTE0XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyAgIC8vIExpbmUgSGVpZ2h0L0JvZHkvQm9keSBNZWRpdW0tQ2FwdGlvblxuICAgIH1cblxuICAgICYubnVtYmVyLWluZGljYXRvci1iYWRnZS1zaXplLWxnIHtcbiAgICAgICAgbWluLXdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgICAgIC8vIEZvbnQgc2l6ZS9Cb2R5L21lZGl1bS0xNlxuICAgICAgICBsaW5lLWhlaWdodDogMjRweDsgICAvLyBMaW5lIEhlaWdodC9Cb2R5L0JvZHkgTWVkaXVtXG4gICAgfVxuXG4gICAgLy8gLS0tIFdlaWdodHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgICYubnVtYmVyLWluZGljYXRvci1iYWRnZS13ZWlnaHQtcmVndWxhciB7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2Utd2VpZ2h0LW1lZGl1bSAgeyBmb250LXdlaWdodDogNTAwOyB9ICAvLyBGaWdtYSBkZWZhdWx0XG4gICAgJi5udW1iZXItaW5kaWNhdG9yLWJhZGdlLXdlaWdodC1ib2xkICAgIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4gICAgLy8gLS0tIENvbG9ycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8vIFByaW1hcnkgUHVycGxlIOKAlCBkYXJrIHB1cnBsZSBiZywgd2hpdGUgdGV4dC5cbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2UtcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MDQ5OWE7ICAvLyBTdXJmYWNlL0JhdGNoL0JhdGNoLVByaW1hcnktcHVycGxlXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyAgICAgICAgICAgICAvLyBUZXh0L09uLWFjdGlvblxuICAgIH1cblxuICAgIC8vIE91dGxpbmUg4oCUIGxpZ2h0IHB1cnBsZSBiZyArIHB1cnBsZSBib3JkZXIgKyBwdXJwbGUgdGV4dC5cbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2Utb3V0bGluZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlOWZmOyAgLy8gU3VyZmFjZS9CdXR0b25zL1NlY29uZGFyeS1wdXJwbGVcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDA0OTlhOyAgICAgIC8vIEJvcmRlci9BY3Rpb24tUHVycGxlLU91dGxpbmVkXG4gICAgICAgIGNvbG9yOiAjNDA0OTlhOyAgICAgICAgICAgICAvLyBUZXh0L0hlYWRlclxuICAgIH1cblxuICAgIC8vIFB1cnBsZSBubyBvdXRsaW5lIOKAlCBsaWdodCBwdXJwbGUgYmcsIHB1cnBsZSB0ZXh0IChubyBib3JkZXIpLlxuICAgICYubnVtYmVyLWluZGljYXRvci1iYWRnZS1zdWJ0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlOWZmOyAgLy8gU3VyZmFjZS9CdXR0b25zL1NlY29uZGFyeS1wdXJwbGVcbiAgICAgICAgY29sb3I6ICM0MDQ5OWE7ICAgICAgICAgICAgIC8vIFRleHQvSGVhZGVyXG4gICAgfVxuXG4gICAgLy8gVHJhbnNwYXJlbnQgZ3JleSDigJQgc2VtaS10cmFuc3BhcmVudCBncmV5IGJnLCBncmV5IHRleHQuXG4gICAgJi5udW1iZXItaW5kaWNhdG9yLWJhZGdlLW11dGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZiNzI4MDRkOyAgLy8gVHJhbnNwYXJlbnQvVHJhbnMtNTAwLUdyZXktMzAlICgzMCUgYWxwaGEpXG4gICAgICAgIGNvbG9yOiAjNmI3MjgwOyAgICAgICAgICAgICAgIC8vIFRleHQvQm9keSBTZWNvbmRhcnlcbiAgICB9XG5cbiAgICAvLyBObyBCRyBHcmV5IOKAlCBubyBiYWNrZ3JvdW5kLCBncmV5IHRleHQgKG1pbmltYWwpLlxuICAgICYubnVtYmVyLWluZGljYXRvci1iYWRnZS1naG9zdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogIzZiNzI4MDsgIC8vIFRleHQvQm9keSBTZWNvbmRhcnlcbiAgICB9XG5cbiAgICAvLyBObyBCRyBQdXJwbGUg4oCUIG5vIGJhY2tncm91bmQsIHB1cnBsZSB0ZXh0LlxuICAgICYubnVtYmVyLWluZGljYXRvci1iYWRnZS1naG9zdC1wdXJwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICM0MDQ5OWE7ICAvLyBUZXh0L0hlYWRlclxuICAgIH1cblxuICAgIC8vIEFsZXJ0IOKAlCBzb2xpZCByZWQgc3VyZmFjZSwgd2hpdGUgdGV4dC4gVXNlZCBmb3Igbm90aWZpY2F0aW9uIGNvdW50c1xuICAgIC8vIGFuZCBlcnJvciBpbmRpY2F0b3JzIChyZXBsYWNlcyB0aGUgaW5saW5lIGAubmF2LWl0ZW0tYmFkZ2VgIHJlZCB1c2VkXG4gICAgLy8gaW4gdGhlIG5hdi1yYWlsKS4gUGFpcnMgbmF0dXJhbGx5IHdpdGggdGhlIGBkb3RgIG1vZGUgYmVsb3cuXG4gICAgJi5udW1iZXItaW5kaWNhdG9yLWJhZGdlLWFsZXJ0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMjYyNjsgIC8vIFRhaWx3aW5kIHJlZC02MDAg4oCUIG1hdGNoZXMgdGhlIG5hdi1yYWlsIGJhZGdlXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIH1cblxuICAgIC8vIE9uLXByaW1hcnkg4oCUIHNpdHMgb24gYSBwcmltYXJ5LXB1cnBsZSBidXR0b24gc3VyZmFjZS5cbiAgICAvLyBEZWVwIHByZXNzZWQtcHVycGxlIGJnLCBubyBib3JkZXIuXG4gICAgJi5udW1iZXItaW5kaWNhdG9yLWJhZGdlLW9uLXByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyYjVlOyAgLy8gU3VyZmFjZS9CdXR0b25zL0FjdGlvbi1QcmVzc2VkIChkYXJrZXN0IGJyYW5kKVxuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgICAgICAgICAgICAgLy8gVGV4dC9Pbi1hY3Rpb25cbiAgICB9XG5cbiAgICAvLyAtLS0gU2VtYW50aWMgc3RhdHVzIGNvbG9ycyAobWlycm9yIHRoZSB2MSB0YWcgc2tpbnMpIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIExpZ2h0IHRpbnQgYmcgKyBkYXJrIHJlYWRhYmxlIHRleHQgKyBtYXRjaGluZyBib3JkZXIsIHNvIGEgbnVtZXJpY1xuICAgIC8vIGNvdW50ZXIgY2FuIGNhcnJ5IGEgZ3JlZW4veWVsbG93L3JlZCBzdGF0dXMgdGhlIHNhbWUgd2F5IGEgdGFnIGRvZXMuXG4gICAgLy8gVmFsdWVzIGNvcGllZCB2ZXJiYXRpbSBmcm9tICR0YWdzLXNraW5zIGluIGNvbXBvbmVudHMvdjEvdGFncy5zY3NzLlxuICAgIC8vIFNvZnQgYm9yZGVyczogdGhlIGxpZ2h0ZXIgdGFnIFwiZmlsbGVkLWJhc2VcIiB0aW50IGluc3RlYWQgb2YgdGhlIGhhcmRcbiAgICAvLyBcImJvcmRlclwiIHRvbmUsIHNvIHRoZSBjb2xvdXIgdmVyc2lvbnMgcmVhZCBnZW50bGVyIChLaW0sIDIwLjA3LjIwMjYpLlxuICAgICYubnVtYmVyLWluZGljYXRvci1iYWRnZS1ncmVlbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmZhZjE7ICAvLyB0YWcgZ3JlZW4gLyBiYXNlXG4gICAgICAgIGJvcmRlci1jb2xvcjogIzhiZWNjNTsgICAgICAvLyB0YWcgZ3JlZW4gLyBmaWxsZWQtYmFzZSAoc29mdClcbiAgICAgICAgY29sb3I6ICMyZjVkNGE7ICAgICAgICAgICAgIC8vIHRhZyBncmVlbiAvIHRleHRcbiAgICB9XG5cbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2UteWVsbG93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZjZkYjsgIC8vIHRhZyB5ZWxsb3cgLyBiYXNlXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZkZTU5NDsgICAgICAvLyB0YWcgeWVsbG93IC8gZmlsbGVkLWJhc2UgKHNvZnQpXG4gICAgICAgIGNvbG9yOiAjNjU1NTIyOyAgICAgICAgICAgICAvLyB0YWcgeWVsbG93IC8gdGV4dFxuICAgIH1cblxuICAgICYubnVtYmVyLWluZGljYXRvci1iYWRnZS1yZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVlM2UzOyAgLy8gdGFnIHJlZCAvIGJhc2VcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmJhYWFhOyAgICAgIC8vIHRhZyByZWQgLyBmaWxsZWQtYmFzZSAoc29mdClcbiAgICAgICAgY29sb3I6ICM2MzMwMzA7ICAgICAgICAgICAgIC8vIHRhZyByZWQgLyB0ZXh0XG4gICAgfVxuXG4gICAgLy8gQm9yZGVybGVzcyBtb2RpZmllciDigJQgZHJvcHMgdGhlIGJvcmRlciBvbiBhbnkgY29sb3VyIChrZXB0IHRyYW5zcGFyZW50IHNvXG4gICAgLy8gdGhlIHJlc2VydmVkIDFweCBuZXZlciBzaGlmdHMgbGF5b3V0KS4gUGxhY2VkIGxhc3Qgc28gaXQgd2lucyBvdmVyIHRoZVxuICAgIC8vIGNvbG91ciB2YXJpYW50cyBhdCBlcXVhbCBzcGVjaWZpY2l0eS5cbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2UtYm9yZGVybGVzcyB7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgRG90IG1vZGUg4oCUIHNtYWxsIHJvdW5kIG5vdGlmaWNhdGlvbiBkb3QsIG5vIGNvbnRlbnQgc2hvd24uXG4vLyAgU2l6ZS1hd2FyZTogeHM9NnB4LCBzbT04cHggKGRlZmF1bHQpLCBtZD0xMHB4LCBsZz0xMnB4LlxuLy8gIE92ZXJyaWRlcyB0aGUgcGlsbCBtaW4td2lkdGggKyBwYWRkaW5nIHNvIHRoZSBiYWRnZSBjb2xsYXBzZXNcbi8vICB0byBhIHBlcmZlY3QgY2lyY2xlLiBgZm9udC1zaXplOiAwYCBoaWRlcyBhbnkgYWNjaWRlbnRhbCBjb250ZW50LlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4ucWRuYXByby1udW1iZXItaW5kaWNhdG9yLWJhZGdlLm51bWJlci1pbmRpY2F0b3ItYmFkZ2UtZG90IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG5cbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2Utc2l6ZS14cyB7IHdpZHRoOiA2cHg7ICBoZWlnaHQ6IDZweDsgIG1pbi13aWR0aDogNnB4OyAgfVxuICAgICYubnVtYmVyLWluZGljYXRvci1iYWRnZS1zaXplLXNtIHsgd2lkdGg6IDhweDsgIGhlaWdodDogOHB4OyAgbWluLXdpZHRoOiA4cHg7ICB9XG4gICAgJi5udW1iZXItaW5kaWNhdG9yLWJhZGdlLXNpemUtbWQgeyB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4OyBtaW4td2lkdGg6IDEwcHg7IH1cbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2Utc2l6ZS1sZyB7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7IG1pbi13aWR0aDogMTJweDsgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBEYXJrLW1vZGUgb3ZlcnJpZGVzXG4vLyAgW0lORkVSUkVEXSDigJQgZnVsbCBkYXJrLXRva2VuIHNldCBmb3IgTnVtYmVyIGluZGljYXRvciBpcyBub3QgeWV0XG4vLyAgcHVibGlzaGVkIGluIEZpZ21hLiBNYXBwaW5ncyBiZWxvdyBmb2xsb3cgdGhlIHNhbWUgcGF0dGVybiB0aGVcbi8vICBbRklHTUEgdmVyaWZpZWQg4oCUIGRhcmsgdG9rZW5zIHJlLWZldGNoZWQgZnJvbSBub2RlIDEzOTg6MzIxMTYgYWZ0ZXJcbi8vICBLaW0gZmxhZ2dlZCB0aGUgaW5pdGlhbCBwYXNzIHdhcyB3cm9uZy4gVGhlIHN1cnByaXNlOiBCYXRjaC1QcmltYXJ5XG4vLyAgaW4gZGFyayBtb2RlIGlzICNjNGM3Y2MgKGxpZ2h0IGdyZXkpLCBOT1QgYSBkZWVwZXIgcHVycGxlLl1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLW51bWJlci1pbmRpY2F0b3ItYmFkZ2Uge1xuICAgIC8vIFByaW1hcnkg4oCUIGxpZ2h0LWdyZXkgbmV1dHJhbCB3aXRoIHdoaXRlIHRleHQgKEZpZ21hIGNob2ljZTpcbiAgICAvLyB0aGUgXCJwcmltYXJ5XCIgaW5kaWNhdG9yIGludmVydHMgdG8gYSBwYWxlIGNoaXAgb24gZGFyayBiZ1xuICAgIC8vIGluc3RlYWQgb2YgZ29pbmcgZGVlcGVyIHB1cnBsZSlcbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2UtcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNGM3Y2M7ICAgLy8gU3VyZmFjZS9CYXRjaC9CYXRjaC1QcmltYXJ5LXB1cnBsZSAoZGFyaylcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7ICAgICAgICAgICAgICAvLyBUZXh0L09uLWFjdGlvblxuICAgIH1cblxuICAgIC8vIE91dGxpbmVkIOKAlCBuZWFyLWJsYWNrIHN1cmZhY2UgKyBtaWQtZ3JleSBib3JkZXIgKyBsaWdodCB0ZXh0XG4gICAgJi5udW1iZXItaW5kaWNhdG9yLWJhZGdlLW91dGxpbmVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBiMGIwZDsgICAvLyBTdXJmYWNlL0J1dHRvbnMvU2Vjb25kYXJ5LXB1cnBsZSAoZGFyaylcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNTY1YjY2OyAgICAgICAvLyBCb3JkZXIvQWN0aW9uLVB1cnBsZS1PdXRsaW5lZCAoZGFyaylcbiAgICAgICAgY29sb3I6ICNmMGYxZjI7ICAgICAgICAgICAgICAvLyBUZXh0L0hlYWRlciAoZGFyaylcbiAgICB9XG5cbiAgICAvLyBTdWJ0bGUg4oCUIHNhbWUgZGFyayBzdXJmYWNlLCBsaWdodCB0ZXh0LCBubyBib3JkZXJcbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2Utc3VidGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBiMGIwZDsgICAvLyBTdXJmYWNlL0J1dHRvbnMvU2Vjb25kYXJ5LXB1cnBsZSAoZGFyaylcbiAgICAgICAgY29sb3I6ICNmMGYxZjI7ICAgICAgICAgICAgICAvLyBUZXh0L0hlYWRlciAoZGFyaylcbiAgICB9XG5cbiAgICAvLyBNdXRlZCDigJQgdHJhbnNwYXJlbnQgZ3JleSB0aW50ICh0b2tlbiBpcyBtb2RlLWFnbm9zdGljKVxuICAgICYubnVtYmVyLWluZGljYXRvci1iYWRnZS1tdXRlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2YjcyODAzMzsgLy8gVHJhbnNwYXJlbnQvVHJhbnMtNTAwLUdyZXktMjAlXG4gICAgICAgIGNvbG9yOiAjYTZhYWIzOyAgICAgICAgICAgICAgLy8gVGV4dC9Cb2R5IFNlY29uZGFyeSAoZGFyaylcbiAgICB9XG5cbiAgICAvLyBHaG9zdCDigJQgbm8gZmlsbCwgZGltbWVyIGJvZHktc2Vjb25kYXJ5IHRvbmVcbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2UtZ2hvc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNhNmFhYjM7ICAgICAgICAgICAgICAvLyBUZXh0L0JvZHkgU2Vjb25kYXJ5IChkYXJrKVxuICAgIH1cblxuICAgIC8vIEdob3N0LXB1cnBsZSDigJQgbm8gZmlsbCwgaGVhZGVyIHRvbmUgKGZsaXBwZWQgdG8gbGlnaHQgaW4gZGFyaylcbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2UtZ2hvc3QtcHVycGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZjBmMWYyOyAgICAgICAgICAgICAgLy8gVGV4dC9IZWFkZXIgKGRhcmspXG4gICAgfVxuXG4gICAgLy8gQWxlcnQg4oCUIHNsaWdodGx5IGxpZ2h0ZXIgcmVkIG9uIGRhcmsgYmFja2dyb3VuZCBmb3IgdmlzdWFsIGxpZnQuXG4gICAgLy8gW0lORkVSUkVEXSB1bnRpbCBGaWdtYSBzaGlwcyB0aGUgZGFyayB0b2tlbiBzZXQuXG4gICAgJi5udW1iZXItaW5kaWNhdG9yLWJhZGdlLWFsZXJ0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmNDQ0NDsgIC8vIFRhaWx3aW5kIHJlZC01MDAg4oCUIHNvZnRlciBvbiBkYXJrIHN1cmZhY2VzXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIH1cblxuICAgIC8vIFNlbWFudGljIHN0YXR1cyBjb2xvcnMg4oCUIFtJTkZFUlJFRF0gZGFyayB0cmVhdG1lbnQ6IHRyYW5zbHVjZW50IHRpbnQgb2ZcbiAgICAvLyB0aGUgaHVlICsgbGlnaHQgcmVhZGFibGUgdGV4dCArIHNhdHVyYXRlZCBib3JkZXIuIEtlcHQgbGVnaWJsZSBvbiB0aGVcbiAgICAvLyBkYXJrIHN1cmZhY2UgdW50aWwgRmlnbWEgc2hpcHMgZGFyayB0b2tlbnMgZm9yIHRoZXNlIHNraW5zLlxuICAgICYubnVtYmVyLWluZGljYXRvci1iYWRnZS1ncmVlbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjhiNmUzMztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOGJlY2M1NjY7ICAgLy8gc29mdCwgbG93LWNvbnRyYXN0IGJvcmRlclxuICAgICAgICBjb2xvcjogI2E3ZThjZDtcbiAgICB9XG5cbiAgICAmLm51bWJlci1pbmRpY2F0b3ItYmFkZ2UteWVsbG93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk3N2YyZTMzO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZGU1OTQ2NjsgICAvLyBzb2Z0LCBsb3ctY29udHJhc3QgYm9yZGVyXG4gICAgICAgIGNvbG9yOiAjZjBkYzk1O1xuICAgIH1cblxuICAgICYubnVtYmVyLWluZGljYXRvci1iYWRnZS1yZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzY1YTVhMzM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZiYWFhYTY2OyAgIC8vIHNvZnQsIGxvdy1jb250cmFzdCBib3JkZXJcbiAgICAgICAgY29sb3I6ICNmNmMwYzA7XG4gICAgfVxuXG4gICAgJi5udW1iZXItaW5kaWNhdG9yLWJhZGdlLWJvcmRlcmxlc3MgeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBxZG5hcHJvLXBob3RvLWdhbGxlcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEZhc2UgMWEg4oCUIG5ldywgQ0xFQU4gcGhvdG8gZ2FsbGVyeSBncmlkICsgbGlnaHRib3guXG4vLyAgU2VlIGRvY3MvR0FMTEVSWS1CVUlMRC1QTEFOLm1kLiBOZXZlciB0b3VjaGVzL2V4dGVuZHMgdGhlIGxlZ2FjeVxuLy8gIHFkbmEtd2lkZ2V0LXBob3RvLWdhbGxlcnkgKGhvbWVwYWdlKSBvciBpdHMgU0NTUyDigJQgb25seSB0aGUgbGlnaHRib3hcbi8vICBTVFJVQ1RVUkUgd2FzIG1vZGVsZWQgb24gdGhhdCB3aWRnZXQgKEphbidzIHJldXNlLWRpc2NpcGxpbmUgcnVsZSkuXG4vL1xuLy8gIFJlc3BvbnNpdmUgdGh1bWJuYWlsIGdyaWQgKyBxZG5hcHJvLW1vZGFsLWJhc2VkIGxpZ2h0Ym94IHdpdGhcbi8vICBwcmV2L25leHQsIHNsaWRlc2hvdywgZG93bmxvYWQsIGFuZCBvcHRpb25hbCBidWxrLXNlbGVjdCBjaGVja2JveGVzLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnFkbmFwcm8tcGhvdG8tZ2FsbGVyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAvLyBGaXhlZCB0aWxlIHNpemUg4oCUIG92ZXJyaWRlIHBlciBob3N0IGlmIGEgZGlmZmVyZW50IHNjYWxlIGlzIHdhbnRlZC5cbiAgICAtLXBnLWNlbGwtc2l6ZTogMTcwcHg7XG5cbiAgICAqIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4gICAgLnBnLWdyaWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAvKiBhdXRvLUZJTEwgKyBtaW5tYXgoPHNpemU+LCAxZnIpOiB0aGUgS0VZIGlzIGF1dG8tRklMTCAobm90IGF1dG8tZml0KS5cbiAgICAgICAgICAgYXV0by1maWxsIEtFRVBTIHRoZSBlbXB0eSBwaGFudG9tIHRyYWNrcywgc28gYSBzbWFsbCByZXN1bHQgc2V0IGRvZXNcbiAgICAgICAgICAgTk9UIG92ZXItc3RyZXRjaCAoZWFjaCBpdGVtIHN0YXlzIG9uZSB0cmFjayDiiYggPHNpemU+KSDigJQgdGhhdCB3YXMgdGhlXG4gICAgICAgICAgIG9yaWdpbmFsIGJ1ZyB3aXRoIGF1dG8tZml0LCB3aGljaCBjb2xsYXBzZXMgZW1wdHkgdHJhY2tzIGFuZCBibG93cyB0aGVcbiAgICAgICAgICAgZmV3IGl0ZW1zIHVwLiBUaGUgMWZyIGxldHMgdGhlIHJlYWwgY29sdW1ucyBhYnNvcmIgdGhlIGxlZnRvdmVyIHdpZHRoXG4gICAgICAgICAgIHNvIHRoZSBncmlkIGZpbGxzIHRoZSBjYXJkIGVkZ2UtdG8tZWRnZSAobm8gZW1wdHkgY29sdW1uIHBvb2xpbmcgb24gdGhlXG4gICAgICAgICAgIHJpZ2h0KS4gTmV0OiB0aWxlIHNpemUgZGVwZW5kcyBvbmx5IG9uIENPTlRBSU5FUiBXSURUSCAocmVzcG9uc2l2ZSksXG4gICAgICAgICAgIG5ldmVyIG9uIGZpbHRlcnMgb3IgcGhvdG8gY291bnQuIFtKYW4gMjAyNi0wNy0wNl0gKi9cbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgodmFyKC0tcGctY2VsbC1zaXplLCAxNzBweCksIDFmcikpO1xuICAgICAgICBnYXA6IHZhcigtLXMtMywgMTJweCk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgfVxuXG4gICAgLnBnLWNlbGwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItMywgMTJweCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmctc3VidGxlLWhvdmVyLCAjZjBmMWYyKTtcbiAgICB9XG5cbiAgICAucGctY2VsbC10aHVtYi1idG4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLnBnLWNlbGwtdGh1bWIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMjBtcyBjdWJpYy1iZXppZXIoMC4yLCAwLjYsIDAuMiwgMSk7XG4gICAgfVxuICAgIC5wZy1jZWxsLXRodW1iLWJ0bjpob3ZlciAucGctY2VsbC10aHVtYiB7IHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgICAucGctY2VsbC10aHVtYi1idG46Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jLWJyYW5kLXB1cnBsZSwgIzQwNDk5YSk7IG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cbiAgICAvLyBTZWxlY3RlZCB0aWxlIOKAlCBhIGJyYW5kLXB1cnBsZSByaW5nIChib3gtc2hhZG93OiBubyBsYXlvdXQgc2hpZnQsIGFuZCBOT1RcbiAgICAvLyBjbGlwcGVkIGJ5IHRoZSBjZWxsJ3Mgb3ZlcmZsb3c6aGlkZGVuLCB1bmxpa2UgYSByZWFsIGJvcmRlcikuIFtKYW4gMjAyNi0wNy0wNl1cbiAgICAucGctY2VsbC5wZy1jZWxsLXNlbGVjdGVkIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWMtYnJhbmQtcHVycGxlLCAjNDA0OTlhKTtcbiAgICB9XG4gICAgLy8gSW4gc2VsZWN0IG1vZGUgKOKJpTEgc2VsZWN0ZWQpIHRoZSBXSE9MRSB0aWxlIGlzIHRoZSBzZWxlY3QgdGFyZ2V0IOKAlCBzaG93IGFcbiAgICAvLyBwb2ludGVyIGN1cnNvciBhbmQgc3VwcHJlc3MgdGhlIGhvdmVyLXpvb20gc28gaXQgcmVhZHMgYXMgXCJjbGljayA9IHNlbGVjdFwiLlxuICAgIC5wZy1ncmlkLnBnLXNlbGVjdGluZyAucGctY2VsbC10aHVtYi1idG4geyBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAucGctZ3JpZC5wZy1zZWxlY3RpbmcgLnBnLWNlbGwtdGh1bWItYnRuOmhvdmVyIC5wZy1jZWxsLXRodW1iIHsgdHJhbnNmb3JtOiBub25lOyB9XG5cbiAgICAucGctY2VsbC1jaGVjayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiB2YXIoLS1zLTIsIDhweCk7XG4gICAgICAgIGxlZnQ6IHZhcigtLXMtMiwgOHB4KTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgLy8gQSBzbWFsbCBmcm9zdGVkIGJhY2tkcm9wIHNvIHRoZSBjaGVja2JveCBzdGF5cyBsZWdpYmxlIG9uIGFueSBwaG90by5cbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0xLCA0cHgpO1xuICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgfVxuXG4gICAgLnBnLWNlbGwtZmxhZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiB2YXIoLS1zLTIsIDhweCk7XG4gICAgICAgIHJpZ2h0OiB2YXIoLS1zLTIsIDhweCk7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXNpZ25hbC1yZWQtdGV4dCwgI2IzMjYxZSk7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zNSkpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgLy8gVGhlICNpZCBsYWJlbCBhbHNvIGxpdmVzIHRvcC1yaWdodDsga2VlcCB0aGUgKEZhc2UtMikgZmxhZyBjbGVhciBvZiBpdC5cbiAgICAucGctY2VsbDpoYXMoLnBnLWNlbGwtaWQpIC5wZy1jZWxsLWZsYWcgeyB0b3A6IDIycHg7IH1cblxuICAgIC8vIFRpbnkgcmVzcG9uc2UtaWQgb3ZlcmxheSwgdG9wLXJpZ2h0LiBBIERPTSBsYWJlbCAobmV2ZXIgYmFrZWQgaW50byB0aGVcbiAgICAvLyBwaG90bykgcHVyZWx5IGZvciBzdXBwb3J0IGNyb3NzLWNoZWNrcy4gVGV4dCBjb2xvdXIgZmxpcHMgYmxhY2svd2hpdGVcbiAgICAvLyBwZXItdGh1bWIgZnJvbSB0aGUgaW1hZ2UncyB0b3AtcmlnaHQgV0NBRyBsdW1pbmFuY2UgKC5wZy1pZC1kYXJrIGFkZGVkXG4gICAgLy8gYnkgX2FwcGx5VGh1bWJJZENvbnRyYXN0KTsgYSBmYWludCBvcHBvc2l0ZSBzaGFkb3cgaXMgYSBsZWdpYmlsaXR5XG4gICAgLy8gc2FmZXR5IG5ldCBmb3IgYnVzeSBtaWQtdG9uZSBwaG90b3MuXG4gICAgLnBnLWNlbGwtaWQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICByaWdodDogNnB4O1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBmb250LXNpemU6IDlweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7ICAgICAgICAgICAgICAvLyBuZXZlciBibG9ja3Mgb3BlbmluZyB0aGUgdGh1bWJcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7ICAvLyBkZWZhdWx0IChkYXJrIGJnKSDihpIgbGlnaHQgdGV4dFxuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMS41cHggcmdiYSgwLCAwLCAwLCAwLjU1KTtcbiAgICB9XG4gICAgLnBnLWNlbGwtaWQucGctaWQtZGFyayB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIDAuOSk7ICAgICAgLy8gbGlnaHQgYmcg4oaSIGRhcmsgdGV4dCAoV0NBRyBsdW1pbmFuY2UpXG4gICAgICAgIHRleHQtc2hhZG93OiAwIDFweCAxLjVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgfVxuXG4gICAgLy8gRmFzZSAyYiDigJQgc2hhcmVkIGNsYXNzaWZpY2F0aW9uLCByZWFkLW9ubHkgZG90LiBUb3AtY2VudGVyOiB0aGUgb25lXG4gICAgLy8gY29ybmVyLWZyZWUgZWRnZSBsZWZ0IG9uY2UgY2hlY2tib3ggKFRMKSAvIGZsYWcraWQgKFRSKSAvIGZhdm9yaXRlIChCTClcbiAgICAvLyAvIGNvbW1lbnRzIChCUikgYXJlIGFjY291bnRlZCBmb3IuXG4gICAgLy8gQ2xhc3NpZmljYXRpb24gZG90cyBvbiBncmlkIHRodW1ibmFpbHMgd2VyZSByZW1vdmVkIChKYW4gMjAyNi0wNy0wNikg4oCUIGFcbiAgICAvLyBiZXR0ZXIgYXQtYS1nbGFuY2UgdHJlYXRtZW50IGNvbWVzIGxhdGVyLiBDbGFzc2lmaWNhdGlvbnMgbGl2ZSBpbiB0aGUgbGlnaHRib3guXG5cbiAgICAucGctY2VsbC1mYXYge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogdmFyKC0tcy0yLCA4cHgpO1xuICAgICAgICBsZWZ0OiB2YXIoLS1zLTIsIDhweCk7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIGNvbG9yOiAjZmZkNTRhO1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNDUpKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnBnLWNlbGwtY29tbWVudHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogdmFyKC0tcy0yLCA4cHgpO1xuICAgICAgICByaWdodDogdmFyKC0tcy0yLCA4cHgpO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgICAgIHBhZGRpbmc6IDNweCA3cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItcGlsbCwgOTk5cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNTUpO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gLS0tLSBMb2FkaW5nIC8gZW1wdHkgc3RhdGVzIC0tLS1cbiAgICAucGctc3RhdGVbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC5wZy1za2VsLWdyaWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAvLyBNYXRjaCB0aGUgcmVhbCBncmlkOiBhdXRvLWZpbGwgKyBtaW5tYXggc28gaXQgZmlsbHMgZWRnZS10by1lZGdlIChzZWUgLnBnLWdyaWQgYWJvdmUpLlxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCh2YXIoLS1wZy1jZWxsLXNpemUsIDE3MHB4KSwgMWZyKSk7XG4gICAgICAgIGdhcDogdmFyKC0tcy0zLCAxMnB4KTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICB9XG4gICAgLnBnLXNrZWwtY2VsbCB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItMywgMTJweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMDBkZWcsIHZhcigtLWMtZ3JleS0xMDAsICNmMGYxZjIpIDMwJSwgdmFyKC0tYy1ncmV5LTUwLCAjZjdmOGY5KSA1MCUsIHZhcigtLWMtZ3JleS0xMDAsICNmMGYxZjIpIDcwJSk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICAgICAgICBhbmltYXRpb246IHBnLXNrZWwtc2hpbW1lciAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIHBnLXNrZWwtc2hpbW1lciB7XG4gICAgICAgIDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwOyB9XG4gICAgICAgIDEwMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwJSAwOyB9XG4gICAgfVxuXG4gICAgLnBnLWVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tcy0yLCA4cHgpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zLTgsIDQwcHgpIHZhcigtLXMtNCwgMTZweCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2YjcyODApO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgaDQgeyBtYXJnaW46IDA7IGNvbG9yOiB2YXIoLS1jLXRleHQtaGVhZGluZywgIzFhMWY0ZCk7IH1cbiAgICAgICAgcCB7IG1hcmdpbjogMDsgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgfVxuXG4gICAgLnBnLXNlbnRpbmVsIHsgaGVpZ2h0OiAxcHg7IH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgTGlnaHRib3ggKHFkbmFwcm8tbW9kYWwsIGFwcGVuZGVkIHRvIGRvY3VtZW50LmJvZHkg4oCUIHNjb3BlZCBieSBjbGFzcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxucWRuYXByby1tb2RhbC5wZy1saWdodGJveCB7XG4gICAgLy8gLS0tLSBGSVhFRCBGUkFNRSAtLS0tXG4gICAgLy8gT3ZlcnJpZGUgdGhlIHh4bGFyZ2UgZGlhbG9nIHRvIGEgYmlnLCBGSVhFRCBzaXplIHRoYXQgbmV2ZXIgZGVwZW5kcyBvbiB0aGVcbiAgICAvLyBwaG90byDigJQgdGhpcyBpcyB0aGUgY29yZSBmaXggZm9yIFwidGhlIG1vZGFsIGp1bXBzIGFyb3VuZCBvbiBwcmV2L25leHRcIi5cbiAgICAvLyAodmgvdncgaGVyZSBiZWhhdmUgbGlrZSB0aGUgbW9kYWwncyBvd24gZXhpc3RpbmcgY2FsYygxMDB2aC00OHB4KSBydWxlcy4pXG4gICAgJi5tb2RhbC1zaXplLXh4bGFyZ2UgLm1vZGFsLWRpYWxvZyB7XG4gICAgICAgIG1heC13aWR0aDogbWluKDE0MDBweCwgOTV2dyk7XG4gICAgICAgIHdpZHRoOiA5NXZ3O1xuICAgICAgICBoZWlnaHQ6IG1pbig5MDBweCwgY2FsYygxMDB2aCAtIDQ4cHgpKTtcbiAgICB9XG4gICAgLy8gVGhlIHdpbmRvdyBpcyBhIGZsZXggY29sdW1uOyB0aGUgYm9keSBtdXN0IE5PVCBzY3JvbGwgKHRoZSBoZXJvIGZpbGxzLCBvbmx5XG4gICAgLy8gdGhlIGNvbW1lbnQgbGlzdCBzY3JvbGxzIGludGVybmFsbHkpIOKAlCBvdmVycmlkZSB0aGUgeHhsYXJnZSBib2R5IGRlZmF1bHQuXG4gICAgLm1vZGFsLWJvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBnYXA6IDA7XG4gICAgfVxuXG4gICAgLnBnLWxiLXN0YWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgICAgICAgICAgLy8gaGVybyBmaWxscyB0aGUgZnVsbCBzdGFnZSBoZWlnaHRcbiAgICAgICAgZ2FwOiB2YXIoLS1zLTMsIDEycHgpO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bzsgICAgICAgICAgICAgICAgLy8gdGFrZSBhbGwgcmVtYWluaW5nIGNvbHVtbiBoZWlnaHRcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvLyBIZXJvID0gdGhlIEZJWEVELXNpemUgcGhvdG8gYXJlYS4gVGhlIHZpZXdwb3J0IGNsaXBzOyB0aGUgaW1hZ2UgaXNcbiAgICAvLyBvYmplY3QtZml0OmNvbnRhaW4gc28gYW55IGFzcGVjdCByYXRpbyBmaWxscyB0aGUgc3BhY2UgKHNtYWxsIFMzIHBob3Rvc1xuICAgIC8vIG5vdyByZW5kZXIgbGFyZ2UgaW5zdGVhZCBvZiB0aHVtYm5haWwtc2l6ZWQpLlxuICAgIC5wZy1sYi1oZXJvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbiAgICAucGctbGItdmlld3BvcnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0zLCAxMnB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1zdWJ0bGUtaG92ZXIsICNmNGY1ZmIpO1xuICAgIH1cbiAgICAucGctbGItdmlld3BvcnQucGctem9vbWVkIHsgY3Vyc29yOiBncmFiOyB9XG4gICAgLnBnLWxiLXZpZXdwb3J0LnBnLXBhbm5pbmcgeyBjdXJzb3I6IGdyYWJiaW5nOyB9XG4gICAgLnBnLWxiLWltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMG1zIGVhc2Utb3V0O1xuICAgICAgICAvLyBObyB0cmFuc2l0aW9uIHdoaWxlIGFjdGl2ZWx5IHBhbm5pbmcgKHdvdWxkIGxhZyBiZWhpbmQgdGhlIGN1cnNvcikuXG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgICB9XG4gICAgLnBnLWxiLXZpZXdwb3J0LnBnLXBhbm5pbmcgLnBnLWxiLWltZyB7IHRyYW5zaXRpb246IG5vbmU7IH1cblxuICAgIC8vIENyb3NzLWRpc3NvbHZlIG92ZXJsYXk6IGEgc2Vjb25kIGltYWdlIGxheWVyIHN0YWNrZWQgb24gdG9wIG9mIHRoZSBiYXNlLFxuICAgIC8vIGNlbnRyZWQgaWRlbnRpY2FsbHkgKGFic29sdXRlICsgaW5zZXQ6MCArIG1hcmdpbjphdXRvIGFnYWluc3QgdGhlIGZpeGVkXG4gICAgLy8gdmlld3BvcnQg4oaSIHNhbWUgZml0dGVkIGJveCBhcyB0aGUgZmxleC1jZW50cmVkIGJhc2UsIHNvIGl0IG92ZXJsYXBzIGV4YWN0bHkpLlxuICAgIC8vIFRyYW5zcGFyZW50IGJ5IGRlZmF1bHQ7IGZhZGVzIGluIHdoZW4gLnBnLW92ZXJsYXktc2hvdyBpcyBhZGRlZCwgdGhlbiB0aGVcbiAgICAvLyBKUyBjb3BpZXMgaXQgZG93biBvbnRvIHRoZSBiYXNlLiBOZXZlciB6b29tZWQvcGFubmVkIOKAlCBwdXJlbHkgYSB0cmFuc2l0aW9uXG4gICAgLy8gbGF5ZXIuIFsyMDI2LTA3LTIwXVxuICAgIC5wZy1sYi1vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI2MG1zIGVhc2U7XG4gICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XG4gICAgfVxuICAgIC5wZy1sYi1vdmVybGF5LnBnLW92ZXJsYXktc2hvdyB7IG9wYWNpdHk6IDE7IH1cbiAgICAvLyBSZXNwZWN0IHJlZHVjZWQtbW90aW9uOiBubyBmYWRlICh0aGUgSlMgYWxzbyBoYXJkLXNldHMgaW4gdGhhdCBjYXNlLCB0aGlzIGlzXG4gICAgLy8gdGhlIGJlbHQtYW5kLXN1c3BlbmRlcnMgQ1NTIHNpZGUpLlxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIC5wZy1sYi1vdmVybGF5IHsgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIH1cblxuICAgIC8vIEZsb2F0aW5nIHpvb20vZnVsbHNjcmVlbiB0b29sYmFyIOKAlCBGSVhFRCB0b3AtcmlnaHQgb2YgdGhlIGhlcm8uXG4gICAgLnBnLWxiLWhlcm8tdG9vbHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogdmFyKC0tcy0yLCA4cHgpO1xuICAgICAgICByaWdodDogdmFyKC0tcy0yLCA4cHgpO1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAycHg7XG4gICAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1waWxsLCA5OTlweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTEsIDExLCAxMywgMC41NSk7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig2cHgpO1xuICAgIH1cbiAgICAucGctbGItaGVyby10b29scyBxZG5hcHJvLWljb24tYnRuIHsgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucGctbGItaGVyby10b29scyBxZG5hcHJvLWljb24tYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTsgfVxuICAgIC5wZy1sYi1oZXJvLXRvb2xzIC5wZy1idG4tZGltIHsgb3BhY2l0eTogMC40OyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5wZy1sYi16b29tLWxldmVsIHtcbiAgICAgICAgbWluLXdpZHRoOiA0NHB4O1xuICAgICAgICBwYWRkaW5nOiA0cHggNnB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItMiwgOHB4KTtcbiAgICB9XG4gICAgLnBnLWxiLXpvb20tbGV2ZWw6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpOyB9XG5cbiAgICAucGctbGItYXJyb3cge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1zdWJ0bGUtcHVycGxlLCByZ2JhKDY0LCA3MywgMTU0LCAwLjEwKSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSwgIzQwNDk5YSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7ICAgICAgICAgICAgLy8gdmVydGljYWxseSBjZW50ZXJlZCBhZ2FpbnN0IHRoZSB0YWxsIGhlcm9cbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxODBtcyBlYXNlLCB0cmFuc2Zvcm0gMTgwbXMgZWFzZTtcbiAgICB9XG4gICAgLnBnLWxiLWFycm93OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUtMTAwLCByZ2JhKDY0LCA3MywgMTU0LCAwLjIwKSk7IHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cblxuICAgIC5wZy1sYi1tZXRhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7ICAgICAgICAgICAgIC8vIEZJWEVEIHBvc2l0aW9ucyDigJQgbmV2ZXIgcmUtd3JhcCBwZXIgcGhvdG9cbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zLTMsIDEycHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zLTMsIDEycHgpO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tcy0zLCAxMnB4KTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWMtYm9yZGVyLXNvZnQsICNlNmU5ZWYpO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2YjcyODApO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gICAgLy8gVGhlIHRleHQgbWV0YSBncm91cCBzaHJpbmtzL2VsbGlwc2lzZXM7IHRoZSBmbGFnIGNvbnRyb2xzIHN0YXkgcGlubmVkIHJpZ2h0LlxuICAgIC5wZy1sYi1tZXRhLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogdmFyKC0tcy0zLCAxMnB4KTtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgLnBnLWxiLXBvc2l0aW9uIHsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWMtdGV4dC1oZWFkaW5nLCAjMWExZjRkKTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5wZy1sYi11c2VyOmVtcHR5LCAucGctbGItZGF0ZTplbXB0eSwgLnBnLWxiLW5vZGU6ZW1wdHksIC5wZy1sYi1sb2NhdGlvbjplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIC8vIEZhc2UgMmEg4oCUIHBlcnNvbmFsIGZsYWdzIChmYXZvcml0ZSAvIHN0YXItcmF0aW5nIC8gZmxhZyB0b2dnbGUpLiBQaW5uZWQgdG9cbiAgICAvLyB0aGUgZmFyIHJpZ2h0IHNvIGNvdW50ZXIvQ29sbGVjdG9yL1ZyYWFnL0Zhdi9zdGVyIGtlZXAgYSBGSVhFRCBwb3NpdGlvbi5cbiAgICAucGctbGItZmFzZTItc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXMtMiwgOHB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zLTMsIDEycHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYy1ib3JkZXItc29mdCwgI2U2ZTllZik7XG4gICAgfVxuICAgIC5wZy1sYi1yYXRpbmcge1xuICAgICAgICBtYXJnaW46IDAgMnB4O1xuICAgIH1cblxuICAgIC8vIEZhc2UgMmIgKG11bHRpKSDigJQgY2xhc3NpZmljYXRpb24gcm93OiBhIFRhZyBidXR0b24gKERNUyBsYXZlbmRlciBzdHlsZSkgK1xuICAgIC8vIHRoZSBjaG9zZW4gY2xhc3NpZmljYXRpb25zIGFzIHNtYWxsIHBpbGxzLCBvbiBpdHMgT1dOIGxpbmUgYWJvdmUgdGhlIGFjdGlvbnMuXG4gICAgLnBnLWxiLWNsYXNzaWZ5LXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zLTIsIDhweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXMtMywgMTJweCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgICAucGctbGItY2xhc3NpZnktYnRuLnFkbmFwcm8taWNvbi1idG4geyBiYWNrZ3JvdW5kOiAjZWRlZWZiOyBjb2xvcjogIzQwNDk5YTsgZmxleDogMCAwIGF1dG87IH1cbiAgICAucGctbGItY2xhc3NpZnktYnRuLnFkbmFwcm8taWNvbi1idG46aG92ZXI6bm90KC5pY29uLWJ0bi1kaXNhYmxlZCkgeyBiYWNrZ3JvdW5kOiAjZTNlNWY4OyB9XG4gICAgLnBnLWxiLWNsYXNzaWZ5LXBpbGxzIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDRweDsgfVxuICAgIC5wZy1sYi1jbGFzc2lmeS1ub25lIHsgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzg4OTBiOCk7IGZvbnQtc2l6ZTogMTIuNXB4OyB9XG5cbiAgICAucGctbGItYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXMtMywgMTJweCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tcy0yLCA4cHgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gICAgLnBnLWxiLWRvd25sb2FkIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuICAgIC8vIEZhc2UgMmMg4oCUIHNtYWxsIGNvdW50IGJhZGdlIG9uIHRoZSBjb21tZW50cy10b2dnbGUgYWN0aW9uIGJ1dHRvbixcbiAgICAvLyBtaXJyb3JpbmcgdGhlIGdyaWQncyAucGctY2VsbC1jb21tZW50cyBjaGlwIHZpc3VhbGx5IChkYXJrIHBpbGwsIHdoaXRlXG4gICAgLy8gdGV4dCkgYnV0IHBvc2l0aW9uZWQgYXMgYSBjb3JuZXIgYmFkZ2Ugc2luY2UgdGhpcyBzaXRzIGluIGEgaG9yaXpvbnRhbFxuICAgIC8vIGFjdGlvbiByb3csIG5vdCBhIHBob3RvIGNvcm5lci5cbiAgICAucGctbGItY29tbWVudHMtdG9nZ2xlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmW2RhdGEtY291bnRdOm5vdChbZGF0YS1jb3VudD1cIlwiXSk6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb3VudCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgM3B4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1waWxsLCA5OTlweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSwgIzQwNDk5YSk7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmFzZSAyYyDigJQgU0hBUkVEL3RlYW0gY29tbWVudHMgcGFuZWwuIEZsYXQgbGlzdCAobm8gdGhyZWFkaW5nIGluIHYxO1xuICAgIC8vIHBhcmVudF9pZCBzdGF5cyB1bnVzZWQpLiBDb2xsYXBzZWQgYnkgZGVmYXVsdCB1bmRlciB0aGUgbWV0YSByb3cuXG4gICAgLnBnLWxiLWNvbW1lbnRzLXBhbmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tcy0zLCAxMnB4KTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXMtMywgMTJweCk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jLWJvcmRlci1zb2Z0LCAjZTZlOWVmKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgJltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgIC5wZy1sYi1jb21tZW50cy1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zLTMsIDEycHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcy0zLCAxMnB4KTtcbiAgICB9XG5cbiAgICAucGctY29tbWVudHMtZW1wdHksIC5wZy1jb21tZW50cy1sb2FkaW5nIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmI3MjgwKTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cblxuICAgIC5wZy1jb21tZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogdmFyKC0tcy0yLCA4cHgpO1xuICAgIH1cbiAgICAucGctY29tbWVudC1hdmF0YXIgeyBmbGV4LXNocmluazogMDsgbWFyZ2luLXRvcDogMnB4OyB9XG4gICAgLnBnLWNvbW1lbnQtYm9keSB7IGZsZXg6IDEgMSBhdXRvOyBtaW4td2lkdGg6IDA7IH1cbiAgICAucGctY29tbWVudC1oZWFkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBnYXA6IHZhcigtLXMtMiwgOHB4KTtcbiAgICB9XG4gICAgLnBnLWNvbW1lbnQtYXV0aG9yIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LWhlYWRpbmcsICMxYTFmNGQpO1xuICAgIH1cbiAgICAucGctY29tbWVudC1kYXRlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmI3MjgwKTtcbiAgICB9XG4gICAgLy8gVGhlIGRlbGV0ZSBidXR0b24gcmlkZXMgYXQgdGhlIGVuZCBvZiB0aGUgaGVhZCByb3cgdmlhIG1hcmdpbi1sZWZ0OmF1dG9cbiAgICAvLyByYXRoZXIgdGhhbiBhIHNlcGFyYXRlIGFic29sdXRlIHBvc2l0aW9uIOKAlCB0aGUgcm93IGFscmVhZHkgaGFzIHJvb20uXG4gICAgLnBnLWxiLWNvbW1lbnQtZGVsZXRlIHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAucGctY29tbWVudC1tZXNzYWdlIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LWJvZHksICMzMzNhNGQpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4gICAgLnBnLWxiLWNvbW1lbnRzLWNvbXBvc2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogdmFyKC0tcy0yLCA4cHgpO1xuICAgIH1cbiAgICAucGctbGItY29tbWVudC1pbnB1dCB7IGZsZXg6IDEgMSBhdXRvOyBtaW4td2lkdGg6IDA7IH1cblxuICAgIC8vIC0tLS0gRlVMTFNDUkVFTiBtb2RlIC0tLS1cbiAgICAvLyBCbG93cyB0aGUgZnJhbWUgdG8gZmlsbCB0aGUgd2hvbGUgbW9kYWwgKGJhY2tkcm9wID0gZnVsbCB2aWV3cG9ydCksIGRhcmtcbiAgICAvLyBpbW1lcnNpdmUgY2hyb21lLiBVc2VzIHdpZHRoL2hlaWdodDoxMDAlIGFnYWluc3QgdGhlIGJhY2tkcm9wIChOT1QgMTAwdncvdmgpXG4gICAgLy8gc28gdGhlIG1vZGFsJ3Mgem9vbToxLjI1IGNhbid0IG92ZXJmbG93IGl0LiBQcmV2L25leHQvc2xpZGVzaG93L3pvb20gYWxsIGtlZXBcbiAgICAvLyB3b3JraW5nOyBFc2NhcGUgc3RpbGwgY2xvc2VzLiBbSmFuIDIwMjYtMDctMTFdXG4gICAgJi5wZy1sYi1mdWxsc2NyZWVuLW9uIC5tb2RhbC1iYWNrZHJvcCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwYjBiMGQ7XG4gICAgfVxuICAgICYucGctbGItZnVsbHNjcmVlbi1vbiAubW9kYWwtZGlhbG9nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwYjBiMGQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgICYucGctbGItZnVsbHNjcmVlbi1vbiAubW9kYWwtd2luZG93IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMGIwYjBkO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgICAvLyBEYXJrIHZpZXdwb3J0ICsgbGlnaHQgbWV0YSB0ZXh0IHNvIHBob3RvcyBwb3AgYWdhaW5zdCBibGFjay5cbiAgICAmLnBnLWxiLWZ1bGxzY3JlZW4tb24gLnBnLWxiLXZpZXdwb3J0IHsgYmFja2dyb3VuZDogIzBiMGIwZDsgfVxuICAgICYucGctbGItZnVsbHNjcmVlbi1vbiAubW9kYWwtdGl0bGUgeyBjb2xvcjogI2YwZjFmMjsgfVxuICAgICYucGctbGItZnVsbHNjcmVlbi1vbiAucGctbGItbWV0YSxcbiAgICAmLnBnLWxiLWZ1bGxzY3JlZW4tb24gLnBnLWxiLXBvc2l0aW9uIHsgY29sb3I6ICNmMGYxZjI7IH1cbiAgICAmLnBnLWxiLWZ1bGxzY3JlZW4tb24gLnBnLWxiLW1ldGEsXG4gICAgJi5wZy1sYi1mdWxsc2NyZWVuLW9uIC5wZy1sYi1jbGFzc2lmeS1yb3csXG4gICAgJi5wZy1sYi1mdWxsc2NyZWVuLW9uIC5wZy1sYi1jb21tZW50cy1wYW5lbCB7IGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7IH1cbiAgICAmLnBnLWxiLWZ1bGxzY3JlZW4tb24gLnBnLWxiLWZhc2UyLXNsb3QgeyBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTsgfVxuICAgIC8vIFRoZSBib3R0b20gYWN0aW9uIHRvb2xiYXIgKGNvbW1lbnRzIC8gc2xpZGVzaG93IC8gc2hhcmUgLyBhbm5vdGF0ZSAvIGRvd25sb2FkKVxuICAgIC8vIHVzZXMgdHlwZT1cInN1YnRsZVwiIGljb24tYnRucyB3aG9zZSBpY29uIGNvbG91ciBpcyBuZWFyLWJsYWNrIOKAlCBpbnZpc2libGUgb25cbiAgICAvLyB0aGUgYmxhY2sgZnVsbHNjcmVlbiBjaHJvbWUuIE1ha2UgdGhlbSB3aGl0ZSBpbiBmdWxsc2NyZWVuIChzYW1lIHRyZWF0bWVudFxuICAgIC8vIGFzIHRoZSBmbG9hdGluZyBoZXJvIHRvb2xiYXIgYWJvdmUpLiBJY29ucyB1c2UgY3VycmVudENvbG9yLCBzbyBjb2xvdXJpbmdcbiAgICAvLyB0aGUgaG9zdCBjYXNjYWRlcyBpbi4gWzIwMjYtMDctMjBdXG4gICAgJi5wZy1sYi1mdWxsc2NyZWVuLW9uIC5wZy1sYi1hY3Rpb25zIHFkbmFwcm8taWNvbi1idG4geyBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICYucGctbGItZnVsbHNjcmVlbi1vbiAucGctbGItYWN0aW9ucyBxZG5hcHJvLWljb24tYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTsgfVxufVxuXG4vLyBGYXNlIDJiIChtdWx0aSkg4oCUIHRoZSBjbGFzc2lmaWNhdGlvbiBwaWNrZXIgTU9EQUwgKHJldXNlcyB0aGUgRE1TIFwiVGFncyB2YW4gZGl0XG4vLyBkb2N1bWVudFwiIGNoZWNrbGlzdCBwYXR0ZXJuOiBhIGNoZWNrYm94ICsgY29sb3VyZWQgcGlsbCBwZXIgZ3JvdXApLiBCb2R5LWFwcGVuZGVkXG4vLyBxZG5hcHJvLW1vZGFsLCBzY29wZWQgYnkgY2xhc3MuXG5xZG5hcHJvLW1vZGFsLnBnLWNsYXNzaWZ5LXBpY2tlciB7XG4gICAgLnBnLWNsYXNzaWZ5LWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXgtaGVpZ2h0OiA0NHZoO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cbiAgICAucGctY2xhc3NpZnktY2hlY2stcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiA3cHggNHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YzZjRmYTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAucGctY2xhc3NpZnktY2hlY2stcm93Omxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgLnBnLWNsYXNzaWZ5LWNoZWNrLXJvdyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0geyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyBjdXJzb3I6IHBvaW50ZXI7IGFjY2VudC1jb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpOyB9XG4gICAgLnBnLWNsYXNzaWZ5LWVtcHR5IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmI3MjgwKTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL3Bob3RvLXRpbGUvX3Bob3RvLXRpbGUtY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBxZG5hcHJvLXBob3RvLXRpbGUgY29tcGlsZWQgQ1NTXG4gICBFeHRyYWN0ZWQgZnJvbSBxZG5hLW1vZGFsLXByZXZpZXcuaHRtbCAoS2ltIDIwMjYtMDUtMjkpIHNvIHRoZVxuICAgYnVuZGxlIHNoaXBzIHBob3RvLXRpbGUgc3R5bGluZy4gS2VlcCBpbiBsb2Nrc3RlcCB3aXRoIHRoZVxuICAgaW5saW5lIGNvcHkgaW4gcWRuYS1waG90by10aWxlLXByZXZpZXcuaHRtbCAvIHFkbmEtbW9kYWwtcHJldmlldy5odG1sLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucWRuYXByby1waG90by10aWxlIHtcbiAgLS1jLXRpbGUtcmFkaXVzOiA4cHg7XG4gIC0tYy10aWxlLXJpbmctcmFkaXVzOiAxMnB4O1xuICAtLWMtdGlsZS1yaW5nOiAjNDY1MmYzO1xuICAtLWMtdGlsZS1vdmVybGF5OiByZ2JhKDEwNywgMTE0LCAxMjgsIDAuMzApO1xuICAtLWMtZm9jdXMtcmluZzogIzQwNDk5YTtcbiAgLS1jLWZvY3VzLWdsb3c6IHJnYmEoNzAsIDgyLCAyNDMsIDAuMjUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jLXRpbGUtcmFkaXVzKTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xufVxuLnFkbmFwcm8tcGhvdG8tdGlsZSAucGhvdG8tdGlsZS1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYy10aWxlLXJhZGl1cyk7XG4gIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLyogU2FtZSBkZXNhdHVyYXRlIHRyZWF0bWVudCBhcyAucHJvamVjdC1jYXJkLXBob3RvIHNvIHRpbGVzXG4gICAgIG1hdGNoIHRoZSByZXN0IG9mIHRoZSBVSSdzIHBob3RvIGFlc3RoZXRpYyAoS2ltIDIwMjYtMDUtMjkpLiAqL1xuICBmaWx0ZXI6IHNhdHVyYXRlKDAuNDUpIGJyaWdodG5lc3MoMC45KTtcbn1cbi8qIERhcmsgZ3JhZGllbnQgb3ZlcmxheSBhbG9uZyB0aGUgYm90dG9tIG9mIHRoZSB0aWxlIOKAlCBtYXRjaGVzIHRoZVxuICAgYC5wcm9qZWN0LWNhcmQtcGhvdG86OmFmdGVyYCBydWxlIHNvIHRpbGUgKyBjYXJkIHNoYXJlIG9uZSB2aXN1YWxcbiAgIGxhbmd1YWdlLiBQYWludGVkIGFzIGFuIGVtcHR5IDxzcGFuPiBzaWJsaW5nIHNvIGl0IGRvZXNuJ3QgY29uZmxpY3RcbiAgIHdpdGggdGhlIHRpbGUncyBvd24gOjpiZWZvcmUgKGhvdmVyIG92ZXJsYXkpIGFuZCA6OmFmdGVyIChyaW5nKS5cbiAgIChLaW0gMjAyNi0wNS0yOSkgKi9cbi5xZG5hcHJvLXBob3RvLXRpbGUgLnBob3RvLXRpbGUtZ3JhZGllbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jLXRpbGUtcmFkaXVzKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIGJvdHRvbSxcbiAgICByZ2JhKDIyLCAyNSwgNzUsIDApIDAlLFxuICAgIHJnYmEoMjIsIDI1LCA3NSwgMC4yNSkgNTAlLFxuICAgIHJnYmEoMjIsIDI1LCA3NSwgMC43OCkgMTAwJVxuICApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLXBob3RvLXRpbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWMtdGlsZS1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXRpbGUtb3ZlcmxheSk7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE0MG1zIGVhc2U7XG59XG4ucWRuYXByby1waG90by10aWxlOmhvdmVyOm5vdCgucGhvdG8tdGlsZS1kaXNhYmxlZCk6OmJlZm9yZSB7IG9wYWNpdHk6IDE7IH1cbi5xZG5hcHJvLXBob3RvLXRpbGU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogLTNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWMtdGlsZS1yaW5nLXJhZGl1cyk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTYwbXMgZWFzZTtcbn1cbi5xZG5hcHJvLXBob3RvLXRpbGUucGhvdG8tdGlsZS1zZWxlY3RlZDo6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtdGlsZS1yaW5nKTtcbn1cbi8qIFNlbGVjdGVkIHRpbGVzIGFsc28gZ2V0IHRoZSBmb2N1cy1nbG93IGJveC1zaGFkb3cgc28gdGhlIHNlbGVjdGlvblxuICAgaXMgdmlzdWFsbHkgdW5taXN0YWthYmxlIOKAlCB3aXRob3V0IHRoZSBnbG93IHRoZSAxcHggcmluZyBpcyBlYXN5XG4gICB0byBtaXNzIGFnYWluc3QgYnVzeSBwaG90b3MuIChLaW0gMjAyNi0wNS0yOSkgKi9cbi5xZG5hcHJvLXBob3RvLXRpbGUucGhvdG8tdGlsZS1zZWxlY3RlZCB7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAwIDAgMnB4IHZhcigtLWMtZm9jdXMtcmluZyksXG4gICAgMCAwIDAgNnB4IHZhcigtLWMtZm9jdXMtZ2xvdyk7XG59XG4ucWRuYXByby1waG90by10aWxlOmFjdGl2ZTpub3QoLnBob3RvLXRpbGUtZGlzYWJsZWQpIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcbn1cbi5xZG5hcHJvLXBob3RvLXRpbGU6YWN0aXZlOm5vdCgucGhvdG8tdGlsZS1kaXNhYmxlZCk6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6XG4gICAgbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC4xNSksIHJnYmEoMCwgMCwgMCwgMC4xNSkpLFxuICAgIHZhcigtLWMtdGlsZS1vdmVybGF5KTtcbn1cbi5xZG5hcHJvLXBob3RvLXRpbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4ucWRuYXByby1waG90by10aWxlOmZvY3VzLXZpc2libGUsXG4ucWRuYXByby1waG90by10aWxlLmZvcmNlLWZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDAgMCAycHggdmFyKC0tYy1mb2N1cy1yaW5nKSxcbiAgICAwIDAgMCA2cHggdmFyKC0tYy1mb2N1cy1nbG93KTtcbn1cbi5xZG5hcHJvLXBob3RvLXRpbGUucGhvdG8tdGlsZS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucWRuYXByby1waG90by10aWxlLnBob3RvLXRpbGUtc21hbGwge1xuICB3aWR0aDogODdweDtcbiAgaGVpZ2h0OiA2NXB4O1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXBob3RvLXRpbGUge1xuICAtLWMtdGlsZS1yaW5nOiAjYTVhY2ZmO1xuICAtLWMtdGlsZS1vdmVybGF5OiByZ2JhKDAsIDAsIDAsIDAuNDApO1xuICAtLWMtZm9jdXMtcmluZzogI2E1YWNmZjtcbiAgLS1jLWZvY3VzLWdsb3c6IHJnYmEoNzAsIDgyLCAyNDMsIDAuNDApO1xufVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvcGlja2VyLXRpbGUvX3BpY2tlci10aWxlLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi5xZG5hcHJvLXBpY2tlci10aWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU5ZWY7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMGIwYjBkO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwgYm94LXNoYWRvdyAyMDBtcyBlYXNlLCB0cmFuc2Zvcm0gMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlO1xufVxuLnFkbmFwcm8tcGlja2VyLXRpbGU6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM0MDQ5OWE7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDIwLCAyNSwgODAsIDAuMDQpLCAwIDhweCAxOHB4IHJnYmEoMjAsIDI1LCA4MCwgMC4wOCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cbi5xZG5hcHJvLXBpY2tlci10aWxlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5xZG5hcHJvLXBpY2tlci10aWxlOmZvY3VzLXZpc2libGUge1xuICBib3JkZXItY29sb3I6ICM0MDQ5OWE7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbn1cbi5xZG5hcHJvLXBpY2tlci10aWxlLnBpY2tlci10aWxlLXNlbGVjdGVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjNDA0OTlhO1xuICBiYWNrZ3JvdW5kOiAjZjNmNWZmO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg3MCwgODIsIDI0MywgMC4xOCksIDAgNHB4IDE0cHggcmdiYSgyMCwgMjUsIDgwLCAwLjEpO1xufVxuLnFkbmFwcm8tcGlja2VyLXRpbGUucGlja2VyLXRpbGUtc2VsZWN0ZWQgLnBpY2tlci10aWxlLXRpdGxlIHtcbiAgY29sb3I6ICM0MDQ5OWE7XG59XG4ucWRuYXByby1waWNrZXItdGlsZS5waWNrZXItdGlsZS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucWRuYXByby1waWNrZXItdGlsZSAucGlja2VyLXRpbGUtdGh1bWIge1xuICBoZWlnaHQ6IDExMHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjVmNmZiIDAlLCAjZWJlZGZiIDEwMCUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICBwYWRkaW5nOiAxMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucWRuYXByby1waWNrZXItdGlsZSAucGlja2VyLXRpbGUtYm9keSB7XG4gIHBhZGRpbmc6IDEycHggMTRweCAxNHB4O1xufVxuLnFkbmFwcm8tcGlja2VyLXRpbGUgLnBpY2tlci10aWxlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMxYTFmNGQ7XG4gIG1hcmdpbjogMCAwIDJweDtcbn1cbi5xZG5hcHJvLXBpY2tlci10aWxlIC5waWNrZXItdGlsZS1kZXNjIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgY29sb3I6ICM2YjcyODA7XG4gIG1hcmdpbjogMDtcbn1cblxuLnFkbmFwcm8tcGlja2VyLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogMTJweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAucWRuYXByby1waWNrZXItZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLnFkbmFwcm8tcGlja2VyLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXBpY2tlci10aWxlIHtcbiAgYmFja2dyb3VuZDogIzJhMmQzNjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogI2UxZTNlNjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXBpY2tlci10aWxlOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTVhY2ZmO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tcGlja2VyLXRpbGUucGlja2VyLXRpbGUtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE2NSwgMTcyLCAyNTUsIDAuMSk7XG4gIGJvcmRlci1jb2xvcjogI2E1YWNmZjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXBpY2tlci10aWxlLnBpY2tlci10aWxlLXNlbGVjdGVkIC5waWNrZXItdGlsZS10aXRsZSB7XG4gIGNvbG9yOiAjYTVhY2ZmO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tcGlja2VyLXRpbGUgLnBpY2tlci10aWxlLXRodW1iIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzJlMzIzZCAwJSwgIzJhMmQzNiAxMDAlKTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXBpY2tlci10aWxlIC5waWNrZXItdGlsZS10aXRsZSB7XG4gIGNvbG9yOiAjZjBmMWYyO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tcGlja2VyLXRpbGUgLnBpY2tlci10aWxlLWRlc2Mge1xuICBjb2xvcjogI2E2YWFiMztcbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUuIENvbXBpbGVkIGludG8gc3R5bGUtdjEuY3NzIHZpYVxuLy8gYGd1bHAgc2Fzcy12MWAgKGJhY2tvZmZpY2UyL3Njc3MvY29tcG9uZW50cy9jb21wb25lbnRzLnNjc3MgQHVzZSdzIHRoaXNcbi8vIGZpbGUpLiBFZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2sg4oCUIG5ldmVyIGhhbmQtZWRpdCB0aGUgY29tcGlsZWRcbi8vIENTUy4gRkxBVCBzZWxlY3RvcnMgb24gcHVycG9zZSAobm8gU0NTUyBuZXN0aW5nKSwgbWF0Y2hpbmcgdGhlIHNpYmxpbmdcbi8vIHYyIGNvbXBvbmVudCBmaWxlcyAoX3Rhc2tsaXN0LWNhcmQuc2NzcywgX2FjdGl2aXR5LXJvdy5zY3NzKS5cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBxZG5hcHJvLXBpY2tlci1yb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIFVuaXZlcnNhbCBwYW5lbC9waWNrZXIgcm93ICh1c2VycywgbG9jYXRpb25zLCB0YXNrbGlzdHMg4oCUIEtpbSxcbi8vICAxNi4wNy4yMDI2KS4gUmVwbGFjZXMgdGhlIHJvbGUgb2YgdGhlIGhhbmQtcm9sbGVkIGAucHBhbmVsLXJvd2AgaW4gdGhlXG4vLyAgUGxhbm5lciBwYWdlIChiYWNrb2ZmaWNlMi9zcmMvUkVYL0JhY2tvZmZpY2UvVmlldy92MS9wbGFubmVyL2luZGV4Lmh0bWwpXG4vLyAgd2l0aCBvbmUgcmVhbCBjb21wb25lbnQuXG4vL1xuLy8gIFJvdyBoZWlnaHQgaXMgYSBGSVhFRCB2YWx1ZSBwZXIgdmFyaWFudCAobm90IGVtZXJnZW50IGZyb20gdGV4dFxuLy8gIG1ldHJpY3MpLCBzbyBwYW5lbHMgbmV2ZXIgaml0dGVyOiB+NDBweCB3aXRoIG5vIG1ldGEsIH40OHB4IHdpdGggbWV0YS5cbi8vXG4vLyAgTGVmdCBhY2NlbnQgYmFyOiBpZGVudGljYWwgcmVjaXBlIHRvIHFkbmFwcm8tYWN0aXZpdHktcm93J3Ncbi8vICAucm93LWFjY2VudC1iYXIgLyBxZG5hcHJvLWFuc3dlci1vcHRpb24ncyBkcmFnIGhhbmRsZSDigJQgYWJzb2x1dGUsXG4vLyAgIzQ2NTJmMywgb3BhY2l0eSAwIC0+IDEsIDE1MG1zIGVhc2UuIFBhZGRpbmctbGVmdCBvbiB0aGUgcm93IHJlc2VydmVzXG4vLyAgdGhlIGJhcidzIGNsZWFyYW5jZSBzbyB0aGVyZSBpcyB6ZXJvIGxheW91dCBzaGlmdCBvbiBob3Zlci5cbi8vXG4vLyAgSG92ZXIgYmFja2dyb3VuZDogYSBGTEFUIHRpbnQgKCNmNWY2ZjggbGlnaHQgLyByZ2JhKDI1NSwyNTUsMjU1LDAuMDYpXG4vLyAgZGFyayksIE5PVCB0aGUgYWN0aXZpdHktcm93IGdsYXNzLWNhcmQgc3dhcC4gVGhpcyByb3cgbGl2ZXMgb24gYSBzb2xpZFxuLy8gIHdoaXRlIHBhbmVsIGJhY2tncm91bmQgKC5wbGFubmVyLXBhbmVsKSwgc28gaXQgYm9ycm93cyB0aGUgXCJob3VzZVxuLy8gIGxpc3Qtcm93IGNvbnZlbnRpb25cIiBpbnN0ZWFkIOKAlCB0aGUgc2FtZSBmbGF0IGhvdmVyIHFkbmFwcm8tbWVudS1pdGVtXG4vLyAgKC0tbWktYmctaG92ZXIpIGFuZCBxZG5hcHJvLXRhc2tsaXN0LWNhcmQncyBgbGlzdGAgdmFyaWFudCBhbHJlYWR5IHVzZVxuLy8gIGZvciByb3dzIG9uIGEgd2hpdGUgc3VyZmFjZS4gT25seSB0aGUgQUNDRU5UIEJBUiBtZWNoYW5pY3MgYXJlIGNvcGllZFxuLy8gIGZyb20gYWN0aXZpdHktcm93LCBub3QgaXRzIGdsYXNzIGJhY2tncm91bmQgKHRoYXQgdHJlYXRtZW50IGlzIGZvciBhXG4vLyAgdHJhbnNsdWNlbnQgY2FyZCBmbG9hdGluZyBvdmVyIGEgY29sb3JlZCBjYW52YXMsIHdoaWNoIHRoaXMgaXMgbm90KS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5xZG5hcHJvLXBpY2tlci1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDZweCA4cHggNnB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcyBlYXNlLCBib3JkZXItY29sb3IgMTUwbXMgZWFzZTtcblxuICAgIC8vIEZvY3VzIHJpbmcgdG9rZW5zIOKAlCBvdmVycmlkZGVuIGluIGRhcmsgbW9kZSBiZWxvdy5cbiAgICAtLXByLWZvY3VzLXJpbmc6ICM0MDQ5OWE7XG4gICAgLS1wci1mb2N1cy1nbG93OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbn1cblxucWRuYXByby1waWNrZXItcm93ICogLFxucWRuYXByby1waWNrZXItcm93ICo6OmJlZm9yZSxcbnFkbmFwcm8tcGlja2VyLXJvdyAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gTWV0YSBsaW5lIHByZXNlbnQg4oCUIHRoZSByb3cgZ3Jvd3MgdG8gYSBmaXhlZCA0OHB4IChzZWUgZG9jYmxvY2sgYWJvdmUpLlxucWRuYXByby1waWNrZXItcm93LnByLWhhcy1tZXRhIHtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xufVxuXG5xZG5hcHJvLXBpY2tlci1yb3c6aG92ZXIsXG5xZG5hcHJvLXBpY2tlci1yb3cuZm9yY2UtaG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNWY2Zjg7XG59XG5cbnFkbmFwcm8tcGlja2VyLXJvdzpmb2N1cy13aXRoaW4ge1xuICAgIGJhY2tncm91bmQ6ICNmNWY2Zjg7XG59XG5cbnFkbmFwcm8tcGlja2VyLXJvdzpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1wci1mb2N1cy1yaW5nKSwgMCAwIDAgNXB4IHZhcigtLXByLWZvY3VzLWdsb3cpO1xufVxuXG4vLyAtLS0tIERyYWcgU09VUkNFIChRRE5BIFBsYW5uZXIgZmFzZSBBIOKAlCBkcmFnZ2FibGUtcm93IGF0dHJpYnV0ZSkgLS0tLVxuLy8gTmF0aXZlIEhUTUw1IERuRCwgc291cmNlIHNpZGUgb25seSAoc2VlIHFkbmEtcGlja2VyLXJvdy5qcyBkb2NibG9jaykuXG4vLyBbZHJhZ2dhYmxlPVwidHJ1ZVwiXSBtaXJyb3JzIHRoZSBkcmFnZ2FibGUtcm93IGF0dHJpYnV0ZSAxOjEgKGtlcHQgaW4gc3luY1xuLy8gYnkgdGhlIGNvbXBvbmVudCdzIF9zeW5jRHJhZ2dhYmxlKCkpLCBzbyB0aGlzIHN0eWxlcyBwdXJlbHkgb2ZmIHRoZVxuLy8gbmF0aXZlIGF0dHJpYnV0ZSwgbm8gZXh0cmEgY2xhc3MgbmVlZGVkIGF0IHJlc3QuXG5xZG5hcHJvLXBpY2tlci1yb3dbZHJhZ2dhYmxlPVwidHJ1ZVwiXSB7XG4gICAgY3Vyc29yOiBncmFiO1xufVxuXG5xZG5hcHJvLXBpY2tlci1yb3cuaXMtZHJhZ2dpbmcge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4vLyAtLS0tIExlZnQgYWNjZW50IGJhciAtLS0tXG4vLyBSZWFsIERPTSBlbGVtZW50IChub3QgOjpiZWZvcmUpIOKAlCBzZWUgZG9jYmxvY2suIG92ZXJmbG93OmhpZGRlbiBvbiB0aGVcbi8vIGhvc3QgY2xpcHMgaXQgdG8gdGhlIHJvdydzIGJvcmRlci1yYWRpdXMuXG5cbi5wci1hY2NlbnQtYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBiYWNrZ3JvdW5kOiAjNDY1MmYzO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG5xZG5hcHJvLXBpY2tlci1yb3c6aG92ZXIgLnByLWFjY2VudC1iYXIsXG5xZG5hcHJvLXBpY2tlci1yb3c6Zm9jdXMtd2l0aGluIC5wci1hY2NlbnQtYmFyLFxucWRuYXByby1waWNrZXItcm93LmZvcmNlLWhvdmVyIC5wci1hY2NlbnQtYmFyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vLyAtLS0tIExlYWRpbmcgc2xvdDogYXZhdGFyL3RpbGUgPC0+IG9wdGlvbnMgYnV0dG9uIG1vcnBoIC0tLS1cbi8vIEZpeGVkIDI4eDI4IGJveC4gQm90aCBjaGlsZHJlbiBhcmUgYWJzb2x1dGVseSBwb3NpdGlvbmVkIElOU0lERSBpdCBhbmRcbi8vIGNyb3NzZmFkZSB2aWEgb3BhY2l0eSDigJQgc2FtZSBmb290cHJpbnQsIHNvIG5vdGhpbmcgZWxzZSBpbiB0aGUgcm93XG4vLyByZWZsb3dzIHdoZW4gdGhlIG1vcnBoIGhhcHBlbnMuXG5cbi5wci1sZWFkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGZsZXg6IG5vbmU7XG59XG5cbi5wci12aXN1YWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGVhc2U7XG59XG5cbi5wci12aXN1YWwgcWRuYXByby1hdmF0YXIge1xuICAgIGZsZXg6IG5vbmU7XG59XG5cbi8vIHFkbmFwcm8tYnV0dG9uIHNpemU9XCJjb21wYWN0XCIgaWNvbi1vbmx5IElTIDI4eDI4IChzZWVcbi8vIF9idXR0b24uc2NzcyAuYnV0dG9uLXNpemUtY29tcGFjdC5idXR0b24taWNvbi1vbmx5KSDigJQgbm8gZXh0cmEgc2l6aW5nXG4vLyBvdmVycmlkZXMgbmVlZGVkLCBpdCBkcm9wcyBzdHJhaWdodCBpbnRvIHRoZSAyOHgyOCBzbG90LlxuLnByLW9wdGlvbnMtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGVhc2U7XG59XG5cbnFkbmFwcm8tcGlja2VyLXJvdzpob3ZlciAucHItdmlzdWFsLFxucWRuYXByby1waWNrZXItcm93OmZvY3VzLXdpdGhpbiAucHItdmlzdWFsLFxucWRuYXByby1waWNrZXItcm93LmZvcmNlLWhvdmVyIC5wci12aXN1YWwge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbnFkbmFwcm8tcGlja2VyLXJvdzpob3ZlciAucHItb3B0aW9ucy1idG4sXG5xZG5hcHJvLXBpY2tlci1yb3c6Zm9jdXMtd2l0aGluIC5wci1vcHRpb25zLWJ0bixcbnFkbmFwcm8tcGlja2VyLXJvdy5mb3JjZS1ob3ZlciAucHItb3B0aW9ucy1idG4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi8vIC0tLS0gVGFza2xpc3QgdGlsZSAtLS0tXG4vLyAyOHgyOCwgNnB4IHJhZGl1cyDigJQgaWRlbnRpY2FsIGZvb3RwcmludCB0byBxZG5hcHJvLXRhc2tsaXN0LWNhcmQnc1xuLy8gYGxpc3RgIHZhcmlhbnQgLnRsYy10aWxlICgyOHgyOCAvIDZweCkuIEljb24gaW5zaWRlIGlzXG4vLyBxZG5hcHJvLWFjdGl2aXR5LWljb24gc2l6ZSAyMCwgc2FtZSBhcyB0bGMtbGlzdCdzIGljb24gc2l6aW5nLlxuXG4ucHItdGlsZSB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHItdGlsZS1iZywgI2VlZjBmMik7XG59XG5cbi8vIENvbG9yIHBhbGV0dGUgbWlycm9ycyBxZG5hcHJvLXRhc2tsaXN0LWNhcmQncyB0bGMtY29sb3ItKiB0b2tlbnMgMToxXG4vLyAoc291cmNlIG9mIHRydXRoOiBzY3NzL2NvbXBvbmVudHMvdjIvdGFza2xpc3QtY2FyZC9fdGFza2xpc3QtY2FyZC5zY3NzLFxuLy8gdGhlIHFkbmFwcm8tdGFnIGxpZ2h0LXBhc3RlbCBwYWxldHRlKSBzbyBhIHRhc2tsaXN0IHJlYWRzIHdpdGggdGhlIEVYQUNUXG4vLyBzYW1lIHRpbGUgY29sb3Igd2hldGhlciBpdCdzIHRoZSBmdWxsIGNhcmQgb3IgdGhpcyBwaWNrZXIgcm93LiBObyBzaGFyZWRcbi8vIFNDU1MgbWFwL21peGluIGV4aXN0cyBmb3IgdGhpcyBwYWxldHRlIGFueXdoZXJlIGluIHRoZSBjb2RlYmFzZSB5ZXRcbi8vICh0YWcsIGxhYmVsLWNpcmNsZSwgYWN0aXZpdHktY2FyZCwgaW5mby1jYXJkIGFuZCB0YXNrbGlzdC1jYXJkIGVhY2hcbi8vIG1pcnJvciB0aGVpciBvd24gY29weSB0aGUgc2FtZSB3YXkpIOKAlCBmb2xsb3dpbmcgdGhhdCBlc3RhYmxpc2hlZFxuLy8gcGF0dGVybiByYXRoZXIgdGhhbiBpbnZlbnRpbmcgYSBuZXcgc2hhcmVkIG1vZHVsZSBmb3Igb25lIGNvbXBvbmVudC5cbi5wci10aWxlLWNvbG9yLWdyZXkgICAgICAgIHsgLS1wci10aWxlLWJnOiAjZWVmMGYyOyB9XG4ucHItdGlsZS1jb2xvci1yZWQgICAgICAgICB7IC0tcHItdGlsZS1iZzogI2ZkZTdlNzsgfVxuLnByLXRpbGUtY29sb3IteWVsbG93ICAgICAgeyAtLXByLXRpbGUtYmc6ICNmZGYzZDY7IH1cbi5wci10aWxlLWNvbG9yLWdyZWVuICAgICAgIHsgLS1wci10aWxlLWJnOiAjZTJmYWYxOyB9XG4ucHItdGlsZS1jb2xvci1ibHVlICAgICAgICB7IC0tcHItdGlsZS1iZzogI2U2ZWZmOTsgfVxuLnByLXRpbGUtY29sb3ItYnJpZ2h0LWJsdWUgeyAtLXByLXRpbGUtYmc6ICNkNmUwZjk7IH1cbi5wci10aWxlLWNvbG9yLXBpbmsgICAgICAgIHsgLS1wci10aWxlLWJnOiAjZjZlMWU4OyB9XG4ucHItdGlsZS1jb2xvci1wdXJwbGUgICAgICB7IC0tcHItdGlsZS1iZzogI2ViZTlmYjsgfVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucHItdGlsZS1jb2xvci1ncmV5ICAgICAgICB7IC0tcHItdGlsZS1iZzogIzQwNDQ0ZDsgfVxuW2RhdGEtdGhlbWU9ZGFya10gLnByLXRpbGUtY29sb3ItcmVkICAgICAgICAgeyAtLXByLXRpbGUtYmc6ICM1YTJiMmI7IH1cbltkYXRhLXRoZW1lPWRhcmtdIC5wci10aWxlLWNvbG9yLXllbGxvdyAgICAgIHsgLS1wci10aWxlLWJnOiAjNWE0ZDFmOyB9XG5bZGF0YS10aGVtZT1kYXJrXSAucHItdGlsZS1jb2xvci1ncmVlbiAgICAgICB7IC0tcHItdGlsZS1iZzogIzJhNTU0NDsgfVxuW2RhdGEtdGhlbWU9ZGFya10gLnByLXRpbGUtY29sb3ItYmx1ZSAgICAgICAgeyAtLXByLXRpbGUtYmc6ICMyZTNlNTQ7IH1cbltkYXRhLXRoZW1lPWRhcmtdIC5wci10aWxlLWNvbG9yLWJyaWdodC1ibHVlIHsgLS1wci10aWxlLWJnOiAjM2E0YThhOyB9XG5bZGF0YS10aGVtZT1kYXJrXSAucHItdGlsZS1jb2xvci1waW5rICAgICAgICB7IC0tcHItdGlsZS1iZzogIzRlMmEzNjsgfVxuW2RhdGEtdGhlbWU9ZGFya10gLnByLXRpbGUtY29sb3ItcHVycGxlICAgICAgeyAtLXByLXRpbGUtYmc6ICMzYTM1NTU7IH1cblxuLy8gLS0tLSBCb2R5OiBsYWJlbCAoKyBvcHRpb25hbCBtZXRhKSAtLS0tXG5cbi5wci1ib2R5IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxcHg7XG59XG5cbi5wci1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMy41cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzIyMjAzYTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLnByLW1ldGEge1xuICAgIGZvbnQtc2l6ZTogMTEuNXB4O1xuICAgIGNvbG9yOiAjOGI4OTljO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4vLyAtLS0tIFJlZHVjZWQgbW90aW9uOiBjcm9zc2ZhZGUgYmVjb21lcyBhbiBpbnN0YW50IHN3YXAgLS0tLVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5wci1hY2NlbnQtYmFyLFxuICAgIC5wci12aXN1YWwsXG4gICAgLnByLW9wdGlvbnMtYnRuLFxuICAgIHFkbmFwcm8tcGlja2VyLXJvdyB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIERhcmsgbW9kZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbltkYXRhLXRoZW1lPWRhcmtdIHFkbmFwcm8tcGlja2VyLXJvdyB7XG4gICAgLS1wci1mb2N1cy1yaW5nOiAjYTVhY2ZmO1xuICAgIC0tcHItZm9jdXMtZ2xvdzogcmdiYSg3MCwgODIsIDI0MywgMC40MCk7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIHFkbmFwcm8tcGlja2VyLXJvdzpob3ZlcixcbltkYXRhLXRoZW1lPWRhcmtdIHFkbmFwcm8tcGlja2VyLXJvdzpmb2N1cy13aXRoaW4sXG5bZGF0YS10aGVtZT1kYXJrXSBxZG5hcHJvLXBpY2tlci1yb3cuZm9yY2UtaG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5wci1sYWJlbCB7IGNvbG9yOiAjZjBmMWYyOyB9XG5bZGF0YS10aGVtZT1kYXJrXSAucHItbWV0YSAgeyBjb2xvcjogI2EwYTRiODsgfVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvcGxhY2Vob2xkZXItaW1hZ2UvX3BsYWNlaG9sZGVyLWltYWdlLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi8qIHFkbmFwcm8tcGxhY2Vob2xkZXItaW1hZ2Ug4oCUIGhvc3QgKyBpbWcgc3R5bGluZy5cbiAgIE1pcnJvcnMgdGhlIHFkbmFwcm8taWxsdXN0cmF0aW9uIGFwcHJvYWNoOiB3aWR0aC1kcml2ZW4gd2l0aCBhdXRvIGhlaWdodCxcbiAgIHBsdXMgYW4gb3B0aW9uYWwgY292ZXIgbW9kZSBhbmQgYSBzb2Z0IG1pc3NpbmctYXNzZXQgZmFsbGJhY2suICovXG5cbi5xZG5hcHJvLXBsYWNlaG9sZGVyLWltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmMGYxZjY7XG59XG5cbi5xZG5hcHJvLXBsYWNlaG9sZGVyLWltYWdlIC5wbGFjZWhvbGRlci1pbWFnZS1pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyogQ292ZXIgbW9kZTogY29uc3VtZXIgc2V0cyB3aWR0aCArIGhlaWdodCBvbiB0aGUgaG9zdCwgaW1hZ2UgZmlsbHMgaXQuICovXG4ucWRuYXByby1wbGFjZWhvbGRlci1pbWFnZS5wbGFjZWhvbGRlci1pbWFnZS1jb3ZlciB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG4ucWRuYXByby1wbGFjZWhvbGRlci1pbWFnZS5wbGFjZWhvbGRlci1pbWFnZS1jb3ZlciAucGxhY2Vob2xkZXItaW1hZ2UtaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8qIE1pc3NpbmcgYXNzZXQ6IHNvZnQgZGFzaGVkIHBsYWNlaG9sZGVyIGluc3RlYWQgb2YgYSBicm9rZW4taW1hZ2UgaWNvbi4gKi9cbi5xZG5hcHJvLXBsYWNlaG9sZGVyLWltYWdlLnBsYWNlaG9sZGVyLWltYWdlLW1pc3Npbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjYzRjN2NjO1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoNDVkZWcsICNmNmY3ZmIsICNmNmY3ZmIgOHB4LCAjZWVmMGY2IDhweCwgI2VlZjBmNiAxNnB4KTtcbn1cbiIsIi8vIHFkbmFwcm8tcHJvZ3Jlc3Mg4oCUIHRoaW4gbGFiZWxsZWQgcHJvZ3Jlc3MgYmFyLlxuLy8gRkxBVCBDU1M7IGNvbG91cnMvcmFkaWkgZnJvbSB0aGUgZGVzaWduLXRva2VuIDpyb290ICh2YXIoLS1jLSopIC8gLS1yLSopLlxuLy8gRWRpdCBIRVJFLCB0aGVuIHJ1biBgZ3VscCBzYXNzLXYxYCAobGlicmFyeSkgKyB0aGUgc3luYyAoUFdBKS5cblxuLnFkbmFwcm8tcHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1mb250LWZhbWlseSwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbiAgLS1wZy1maWxsOiB2YXIoLS1jLXN1Y2Nlc3MtYnJpZ2h0KTtcbiAgLS1wZy10cmFjazogdmFyKC0tYy1ibGFjay0xMik7XG59XG5cbi5xZG5hcHJvLXByb2dyZXNzLnByb2dyZXNzLXRvbmUtcHVycGxlICAgIHsgLS1wZy1maWxsOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSk7IH1cbi5xZG5hcHJvLXByb2dyZXNzLnByb2dyZXNzLXRvbmUtbmV1dHJhbCAgIHsgLS1wZy1maWxsOiB2YXIoLS1jLWdyZXktNTAwKTsgfVxuLnFkbmFwcm8tcHJvZ3Jlc3MucHJvZ3Jlc3MtdG9uZS1oaWdobGlnaHQgeyAtLXBnLWZpbGw6IHZhcigtLWMtcHVycGxlLWhpZ2hsaWdodCk7IH1cblxuLnFkbmFwcm8tcHJvZ3Jlc3MgLnByb2dyZXNzLWhlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuXG4ucWRuYXByby1wcm9ncmVzcyAucHJvZ3Jlc3MtbGFiZWwge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xufVxuXG4ucWRuYXByby1wcm9ncmVzcyAucHJvZ3Jlc3MtcGN0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LWJvZHkpO1xufVxuXG4ucWRuYXByby1wcm9ncmVzcyAucHJvZ3Jlc3MtdHJhY2sge1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGctdHJhY2spO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXBpbGwpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucWRuYXByby1wcm9ncmVzcyAucHJvZ3Jlc3MtZmlsbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGctZmlsbCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItcGlsbCk7XG4gIC8vIFNwcmluZyBlYXNpbmc6IGZpbGwgb3ZlcnNob290cyBzbGlnaHRseSBiZWZvcmUgc2V0dGxpbmcg4oCUIGdpdmVzIGEgcHJlbWl1bSwgYWxpdmUgZmVlbC5cbiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zOCkgNTAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBhbmltYXRpb246IHByb2dyZXNzLXNoaW1tZXIgMi40cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLXNoaW1tZXIge1xuICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG59XG5cbi8vIFJlc3BlY3QgdGhlIE9TLWxldmVsIHJlZHVjZWQtbW90aW9uIHByZWZlcmVuY2U6IGtpbGwgYm90aCB0aGUgc3ByaW5nXG4vLyB0cmFuc2l0aW9uIG9uIHRoZSBmaWxsIGFuZCB0aGUgc2hpbW1lciBzd2VlcCwgc28gYSB2YWx1ZSBjaGFuZ2UgKGUuZy4gdGhlXG4vLyBQV0EgZm9ybS1jYXJkJ3Mgc3RpY2t5IHByb2dyZXNzIGJhciBhZHZhbmNpbmcgYmV0d2VlbiBjYXJkcykgc25hcHNcbi8vIGluc3RhbnRseSBpbnN0ZWFkIG9mIGFuaW1hdGluZy4gQWRkaXRpdmUg4oCUIGV2ZXJ5IGNvbnN1bWVyIGJlbmVmaXRzLCBub1xuLy8gYXR0cmlidXRlIG5lZWRlZC4gWzEwLjA3LjIwMjYsIGZvcm0tY2FyZCByZXdvcmtdXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1wcm9ncmVzcyAucHJvZ3Jlc3MtZmlsbCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAucWRuYXByby1wcm9ncmVzcyAucHJvZ3Jlc3MtZmlsbDo6YWZ0ZXIge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBJbmRldGVybWluYXRlIOKAlCBcImJ1c3ksIGFtb3VudCB1bmtub3duXCIgKGUuZy4gYSB2aWRlbyBidWZmZXJpbmcgYmVmb3JlIGl0c1xuLy8gZHVyYXRpb24vdG90YWwgaXMga25vd24pLiBBIHBhcnRpYWwgZmlsbCBzbGlkZXMgYWNyb3NzIHRoZSB0cmFjayBvbiByZXBlYXQ7XG4vLyB2YWx1ZS9tYXggYXJlIGlnbm9yZWQgKEpTIGRyb3BzIHRoZSBpbmxpbmUgd2lkdGggc28gdGhpcyBvd25zIGl0KS4gQWRkaXRpdmUg4oCUXG4vLyBvbmx5IGFwcGxpZXMgd2hlbiB0aGUgYGluZGV0ZXJtaW5hdGVgIGF0dHJpYnV0ZSBpcyBzZXQuIFsxMS4wNy4yMDI2LCBETVMgdmlld2VyIGJ1ZmZlciBiYXJdXG4ucWRuYXByby1wcm9ncmVzcy5wcm9ncmVzcy1pbmRldGVybWluYXRlIC5wcm9ncmVzcy1maWxsIHtcbiAgd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICBhbmltYXRpb246IHByb2dyZXNzLWluZGV0ZXJtaW5hdGUtc2xpZGUgMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtaW5kZXRlcm1pbmF0ZS1zbGlkZSB7XG4gIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEyMCUpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzIwJSk7IH1cbn1cbi8vIFJlZHVjZWQgbW90aW9uOiBubyBzd2VlcCDigJQgc2hvdyBhIHN0YXRpYyBoYWxmLWZpbGxlZCwgZGltbWVkIGJhciBzbyBpdCBzdGlsbFxuLy8gcmVhZHMgYXMgXCJpbiBwcm9ncmVzcywgdW5rbm93biBhbW91bnRcIiB3aXRob3V0IGFuaW1hdGlvbi5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5xZG5hcHJvLXByb2dyZXNzLnByb2dyZXNzLWluZGV0ZXJtaW5hdGUgLnByb2dyZXNzLWZpbGwge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG4gIC5xZG5hcHJvLXByb2dyZXNzLnByb2dyZXNzLWluZGV0ZXJtaW5hdGUgLnByb2dyZXNzLWZpbGw6OmFmdGVyIHsgYW5pbWF0aW9uOiBub25lOyB9XG59XG5cbi8vIEhpZ2hsaWdodCB2YXJpYW50IOKAlCB0aW50ZWQgcGFuZWwgbWF0Y2hpbmcgdGhlIHRvbmUsIHRhbGxlciBiYXIsIGJvbGRlciBsYWJlbC5cbi8vIERyYXdzIHRoZSBleWUgKGUuZy4gYSBwaW5uZWQgcHJvZ3Jlc3MgaGVhZGVyIG9uIHRoZSBwZXItdW5pdCBzY3JlZW4pLlxuLnFkbmFwcm8tcHJvZ3Jlc3MucHJvZ3Jlc3MtdmFyaWFudC1oaWdobGlnaHQge1xuICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItY2FyZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYmxhY2stMDYpO1xufVxuLnFkbmFwcm8tcHJvZ3Jlc3MucHJvZ3Jlc3MtdmFyaWFudC1oaWdobGlnaHQucHJvZ3Jlc3MtdG9uZS1zdWNjZXNzICAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLXNpZ25hbC1ncmVlbi1iZyk7IH1cbi5xZG5hcHJvLXByb2dyZXNzLnByb2dyZXNzLXZhcmlhbnQtaGlnaGxpZ2h0LnByb2dyZXNzLXRvbmUtcHVycGxlICAgIHsgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1zZWNvbmRhcnktcHVycGxlKTsgfVxuLnFkbmFwcm8tcHJvZ3Jlc3MucHJvZ3Jlc3MtdmFyaWFudC1oaWdobGlnaHQucHJvZ3Jlc3MtdG9uZS1uZXV0cmFsICAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJsYWNrLTA2KTsgfVxuLnFkbmFwcm8tcHJvZ3Jlc3MucHJvZ3Jlc3MtdmFyaWFudC1oaWdobGlnaHQucHJvZ3Jlc3MtdG9uZS1oaWdobGlnaHQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWFjdGlvbi0wOCk7IH1cbi5xZG5hcHJvLXByb2dyZXNzLnByb2dyZXNzLXZhcmlhbnQtaGlnaGxpZ2h0IC5wcm9ncmVzcy10cmFjayB7IGhlaWdodDogOHB4OyB9XG4ucWRuYXByby1wcm9ncmVzcy5wcm9ncmVzcy12YXJpYW50LWhpZ2hsaWdodCAucHJvZ3Jlc3MtbGFiZWwge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LWJvZHkpO1xufVxuLnFkbmFwcm8tcHJvZ3Jlc3MucHJvZ3Jlc3MtdmFyaWFudC1oaWdobGlnaHQgLnByb2dyZXNzLXBjdCB7IGZvbnQtc2l6ZTogMTVweDsgfVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvcHJvamVjdC1jYXJkL19wcm9qZWN0LWNhcmQtY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuLnFkbmFwcm8tcHJvamVjdC1jYXJkIHtcbiAgLS1jLWNhcmQtYmc6ICNmZmZmZmY7XG4gIC0tYy1jYXJkLWJvcmRlcjogI2U2ZTllZjtcbiAgLS1jLWNhcmQtZGl2aWRlcjogI2M0YzdjYztcbiAgLS1jLXRleHQtYm9keTogIzBiMGIwZDtcbiAgLS1jLXRleHQtc2Vjb25kYXJ5OiAjNmI3MjgwO1xuICAtLWMtcGhvdG8tZmFsbGJhY2s6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNkNmRhZmEgMCUsICNmMGU3ZmEgMTAwJSk7XG4gIC8qIERlbnNpdHkgc2NhbGUga25vYjogMSA9IGRlZmF1bHQ7IFtkZW5zaXR5PWNvbXBhY3RdIHNldHMgMC44IHNvIHRoZVxuICAgICB3aG9sZSBhYnNvbHV0ZS1wb3NpdGlvbmVkIGxheW91dCAoc2l6ZXMsIHBvc2l0aW9ucywgZm9udHMpIHNjYWxlc1xuICAgICB1bmlmb3JtbHkgdG8gdGhlIDgwJSBsb29rIFdJVEhPVVQgdGhlIHpvb20gcHJvcGVydHkuIFtLaW0gMjAyNi0wNi0wM10gKi9cbiAgLS1wYy1zY2FsZTogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWNhcmQtYmcpO1xuICBib3JkZXI6IGNhbGMoMXB4ICogdmFyKC0tcGMtc2NhbGUpKSBzb2xpZCB2YXIoLS1jLWNhcmQtYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYygxMnB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCBjYWxjKDFweCAqIHZhcigtLXBjLXNjYWxlKSkgY2FsYygycHggKiB2YXIoLS1wYy1zY2FsZSkpIHJnYmEoMjAsIDI1LCA4MCwgMC4wNCksIDAgY2FsYyg2cHggKiB2YXIoLS1wYy1zY2FsZSkpIGNhbGMoMTZweCAqIHZhcigtLXBjLXNjYWxlKSkgcmdiYSgyMCwgMjUsIDgwLCAwLjA1KTtcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1ib2R5KTtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTQwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgYm94LXNoYWRvdyAxNDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXTphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTkpO1xuICBib3gtc2hhZG93OiAwIGNhbGMoMXB4ICogdmFyKC0tcGMtc2NhbGUpKSBjYWxjKDFweCAqIHZhcigtLXBjLXNjYWxlKSkgcmdiYSgyMCwgMjUsIDgwLCAwLjA0KSwgMCBjYWxjKDJweCAqIHZhcigtLXBjLXNjYWxlKSkgY2FsYyg2cHggKiB2YXIoLS1wYy1zY2FsZSkpIHJnYmEoMjAsIDI1LCA4MCwgMC4wNCk7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdOmFjdGl2ZTpoYXMoLnByb2plY3QtY2FyZC1mYXZvcml0ZTphY3RpdmUsXG4ucHJvamVjdC1jYXJkLW1lbnUtdHJpZ2dlcjphY3RpdmUsXG4ucHJvamVjdC1jYXJkLWFjdGlvbjphY3RpdmUpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBib3gtc2hhZG93OiAwIGNhbGMoMXB4ICogdmFyKC0tcGMtc2NhbGUpKSBjYWxjKDJweCAqIHZhcigtLXBjLXNjYWxlKSkgcmdiYSgyMCwgMjUsIDgwLCAwLjA0KSwgMCBjYWxjKDZweCAqIHZhcigtLXBjLXNjYWxlKSkgY2FsYygxNnB4ICogdmFyKC0tcGMtc2NhbGUpKSByZ2JhKDIwLCAyNSwgODAsIDAuMDUpO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCBjYWxjKDFweCAqIHZhcigtLXBjLXNjYWxlKSkgY2FsYygycHggKiB2YXIoLS1wYy1zY2FsZSkpIHJnYmEoMjAsIDI1LCA4MCwgMC4wNCksIDAgY2FsYyg2cHggKiB2YXIoLS1wYy1zY2FsZSkpIGNhbGMoMTZweCAqIHZhcigtLXBjLXNjYWxlKSkgcmdiYSgyMCwgMjUsIDgwLCAwLjA1KSwgMCAwIDAgY2FsYyg0cHggKiB2YXIoLS1wYy1zY2FsZSkpIHJnYmEoNzAsIDgyLCAyNDMsIDAuMjUpO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmQgLnByb2plY3QtY2FyZC1mcmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogY2FsYygyMDhweCAqIHZhcigtLXBjLXNjYWxlKSk7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZCAucHJvamVjdC1jYXJkLXVwcGVyLWNsaXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogY2FsYyg1MHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkIC5wcm9qZWN0LWNhcmQtcGhvdG8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogY2FsYygxMjRweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZGFmYTtcbiAgei1pbmRleDogMjtcbiAgZmlsdGVyOiBzYXR1cmF0ZSgwLjQ1KSBicmlnaHRuZXNzKDAuOSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS4wNSwgMC41LCAxKTtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkIC5wcm9qZWN0LWNhcmQtcGhvdG86OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyMiwgMjUsIDc1LCAwKSAwJSwgcmdiYSgyMiwgMjUsIDc1LCAwLjI1KSA1MCUsIHJnYmEoMjIsIDI1LCA3NSwgMC43OCkgMTAwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmQgLnByb2plY3QtY2FyZC1waG90by1wbGFjZWhvbGRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWMtcGhvdG8tZmFsbGJhY2spO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmQgLnByb2plY3QtY2FyZC1oZWFkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogY2FsYyg0NHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgcGFkZGluZzogY2FsYyg4cHggKiB2YXIoLS1wYy1zY2FsZSkpIGNhbGMoNDRweCAqIHZhcigtLXBjLXNjYWxlKSkgMCBjYWxjKDhweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHotaW5kZXg6IDE7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZCAucHJvamVjdC1jYXJkLWxvZ28ge1xuICBib3JkZXItcmFkaXVzOiBjYWxjKDRweCAqIHZhcigtLXBjLXNjYWxlKSkgIWltcG9ydGFudDtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkIC5wcm9qZWN0LWNhcmQtaGVhZGVyLWFjdGlvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjYWxjKDRweCAqIHZhcigtLXBjLXNjYWxlKSk7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZCAucHJvamVjdC1jYXJkLW5hbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMzJweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBjYWxjKDU2cHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgY2FsYyg4cHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBmb250LXNpemU6IGNhbGMoMTZweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDI0cHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LWJvZHkpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgei1pbmRleDogMztcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zIGN1YmljLWJlemllcigwLjM0LCAxLjA1LCAwLjUsIDEpLCByaWdodCA2MDBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS4wNSwgMC41LCAxKTtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkIC5wcm9qZWN0LWNhcmQtb3JnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTYwcHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIGNhbGMoOHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgZm9udC1zaXplOiBjYWxjKDEycHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBsaW5lLWhlaWdodDogY2FsYygyMHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1zZWNvbmRhcnkpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgei1pbmRleDogMTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zIGN1YmljLWJlemllcigwLjM0LCAxLjA1LCAwLjUsIDEpO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmQgLnByb2plY3QtY2FyZC1pbmZvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTg0cHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiBjYWxjKDI4cHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBwYWRkaW5nOiAwIGNhbGMoOHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB6LWluZGV4OiAxO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuMDUsIDAuNSwgMSk7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZCAucHJvamVjdC1jYXJkLXRlYW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkIC5wcm9qZWN0LWNhcmQtZGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGMoNHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1zZWNvbmRhcnkpO1xuICBmb250LXNpemU6IGNhbGMoMTBweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDIwcHggKiB2YXIoLS1wYy1zY2FsZSkpO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmQgLnByb2plY3QtY2FyZC1kYXRlIHFkbmFwcm8taWNvbiB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZCAucHJvamVjdC1jYXJkLXRvcC1hY3Rpb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoOHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgcmlnaHQ6IGNhbGMoOHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgei1pbmRleDogNDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZCAucHJvamVjdC1jYXJkLWZhdm9yaXRlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIC8vIENvbnN0cmFpbiB0byB0aGUgc2FtZSAzMnB4IGJhc2UgYXMgdGhlIG1lbnUtdHJpZ2dlciBzbyB0aGUgcGluIHNjYWxlc1xuICAvLyB3aXRoIC0tcGMtc2NhbGUgdG9nZXRoZXIgd2l0aCB0aGUgcmVzdCBvZiB0aGUgY2FyZC4gV2l0aG91dCB0aGlzIHRoZVxuICAvLyBxZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbiBjb21wb25lbnQncyBvd24gQ1NTIGtlZXBzIGl0IGF0IGl0cyBuYXRpdmUgMzJweFxuICAvLyB3aGlsZSB0aGUgcmVzdCBvZiB0aGUgY2FyZCBzaHJpbmtzIOKAlCBtYWtpbmcgdGhlIHBpbiBsb29rIG92ZXJzaXplZFxuICAvLyBhdCBkZW5zaXR5PVwiY29tcGFjdFwiLiBbS2ltIDIwMjYtMDYtMDNdXG4gIHdpZHRoOiBjYWxjKDMycHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBoZWlnaHQ6IGNhbGMoMzJweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cihjYWxjKDhweCAqIHZhcigtLXBjLXNjYWxlKSkpIHNhdHVyYXRlKDEuNSk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKGNhbGMoOHB4ICogdmFyKC0tcGMtc2NhbGUpKSkgc2F0dXJhdGUoMS41KTtcbiAgYm94LXNoYWRvdzogMCBjYWxjKDFweCAqIHZhcigtLXBjLXNjYWxlKSkgY2FsYygzcHggKiB2YXIoLS1wYy1zY2FsZSkpIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgMCAwIGNhbGMoMXB4ICogdmFyKC0tcGMtc2NhbGUpKSByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMTYwbXMgZWFzZTtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkIC5wcm9qZWN0LWNhcmQtZmF2b3JpdGU6bm90KC5mYXZvcml0ZS1idXR0b24tZmF2b3JpdGVkKSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmQ6aG92ZXIgLnByb2plY3QtY2FyZC1mYXZvcml0ZTpub3QoLmZhdm9yaXRlLWJ1dHRvbi1mYXZvcml0ZWQpLCAucWRuYXByby1wcm9qZWN0LWNhcmQ6Zm9jdXMtd2l0aGluIC5wcm9qZWN0LWNhcmQtZmF2b3JpdGU6bm90KC5mYXZvcml0ZS1idXR0b24tZmF2b3JpdGVkKSB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmQgLnByb2plY3QtY2FyZC1mYXZvcml0ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZCAucHJvamVjdC1jYXJkLW1lbnUtdHJpZ2dlciB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAwO1xuICBoZWlnaHQ6IGNhbGMoMzJweCAqIHZhcigtLXBjLXNjYWxlKSkgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogY2FsYygzMnB4ICogdmFyKC0tcGMtc2NhbGUpKSAhaW1wb3J0YW50O1xuICBtYXgtaGVpZ2h0OiBjYWxjKDMycHggKiB2YXIoLS1wYy1zY2FsZSkpICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgd2lkdGggMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgbWluLXdpZHRoIDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG1hcmdpbi1sZWZ0IDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMTUwbXMgZWFzZSwgYmFja2dyb3VuZCAxMjBtcyBlYXNlO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmQ6aG92ZXIgLnByb2plY3QtY2FyZC1tZW51LXRyaWdnZXIsIC5xZG5hcHJvLXByb2plY3QtY2FyZDpmb2N1cy13aXRoaW4gLnByb2plY3QtY2FyZC1tZW51LXRyaWdnZXIge1xuICB3aWR0aDogY2FsYygzMnB4ICogdmFyKC0tcGMtc2NhbGUpKSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IGNhbGMoMzJweCAqIHZhcigtLXBjLXNjYWxlKSkgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiBjYWxjKDMycHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KSAhaW1wb3J0YW50O1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoY2FsYyg4cHggKiB2YXIoLS1wYy1zY2FsZSkpKSBzYXR1cmF0ZSgxLjUpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cihjYWxjKDhweCAqIHZhcigtLXBjLXNjYWxlKSkpIHNhdHVyYXRlKDEuNSk7XG4gIGJveC1zaGFkb3c6IDAgY2FsYygxcHggKiB2YXIoLS1wYy1zY2FsZSkpIGNhbGMoM3B4ICogdmFyKC0tcGMtc2NhbGUpKSByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDAgMCBjYWxjKDFweCAqIHZhcigtLXBjLXNjYWxlKSkgcmdiYSgwLCAwLCAwLCAwLjA0KTtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkOmhvdmVyIC5wcm9qZWN0LWNhcmQtbWVudS10cmlnZ2VyOmhvdmVyLCAucWRuYXByby1wcm9qZWN0LWNhcmQ6Zm9jdXMtd2l0aGluIC5wcm9qZWN0LWNhcmQtbWVudS10cmlnZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAhaW1wb3J0YW50O1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmQgLnByb2plY3QtY2FyZC1kaXZpZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IGNhbGMoNTBweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IGNhbGMoMXB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1jYXJkLWRpdmlkZXIpO1xuICB6LWluZGV4OiA0O1xufVxuXG4vKiBDaGVja2xpc3QgYWN0aW9uIOKAlCBoaWRkZW4gdW50aWwgdGhlIGJhY2tlbmQgZmVhdHVyZSBsYW5kcy5cbiAgIChLaW0gMjAyNi0wNS0zMCDigJQgcGxhY2Vob2xkZXIsIHJlLWVuYWJsZSB3aGVuIHRoZSBwYWdlIGV4aXN0cy4pICovXG4ucWRuYXByby1wcm9qZWN0LWNhcmQgLnByb2plY3QtY2FyZC1hY3Rpb24tbGlzdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBcmNoaXZlZCB2YXJpYW50IOKAlCBzZXQgdmlhIFthcmNoaXZlZF0gYXR0cmlidXRlIG9uIHRoZSBob3N0LlxuICAgUGhvdG8gaXMgaGVhdmlseSBkZXNhdHVyYXRlZCwgcGluLWJ1dHRvbiBpcyBoaWRkZW4sIGFcbiAgIFwiR2VhcmNoaXZlZXJkXCIgY2hpcCBzaXRzIHRvcC1sZWZ0LCBhbmQgYSBkaWFnb25hbCBHRUFSQ0hJVkVFUkRcbiAgIHdhdGVybWFyayBjcm9zc2VzIHRoZSBwaG90by4gKEtpbSAyMDI2LTA1LTI5KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbYXJjaGl2ZWRdIHtcbiAgb3BhY2l0eTogMC44NTtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkW2FyY2hpdmVkXSAucHJvamVjdC1jYXJkLXBob3RvIHtcbiAgZmlsdGVyOiBzYXR1cmF0ZSgwLjE1KSBicmlnaHRuZXNzKDAuODUpO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbYXJjaGl2ZWRdIC5wcm9qZWN0LWNhcmQtZmF2b3JpdGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZCAucHJvamVjdC1jYXJkLWFyY2hpdmVkLWNoaXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg4cHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBsZWZ0OiBjYWxjKDhweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIHotaW5kZXg6IDQ7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGMoNHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgcGFkZGluZzogY2FsYyg0cHggKiB2YXIoLS1wYy1zY2FsZSkpIGNhbGMoOXB4ICogdmFyKC0tcGMtc2NhbGUpKSBjYWxjKDRweCAqIHZhcigtLXBjLXNjYWxlKSkgY2FsYyg3cHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDQwLCA0MiwgNTIsIDAuNzIpO1xuICBib3JkZXI6IGNhbGMoMXB4ICogdmFyKC0tcGMtc2NhbGUpKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoOTk5cHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoY2FsYyg4cHggKiB2YXIoLS1wYy1zY2FsZSkpKSBzYXR1cmF0ZSgxLjIpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cihjYWxjKDhweCAqIHZhcigtLXBjLXNjYWxlKSkpIHNhdHVyYXRlKDEuMik7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IGNhbGMoMTFweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDE0cHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBsZXR0ZXItc3BhY2luZzogY2FsYygwLjJweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmQgLnByb2plY3QtY2FyZC1hcmNoaXZlZC1jaGlwIHFkbmFwcm8taWNvbiB7XG4gIGNvbG9yOiAjZmZmO1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkIC5wcm9qZWN0LWNhcmQtd2F0ZXJtYXJrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTE4ZGVnKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogY2FsYygyMnB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IGNhbGMoNHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG4gIHRleHQtc2hhZG93OiAwIGNhbGMoMnB4ICogdmFyKC0tcGMtc2NhbGUpKSBjYWxjKDZweCAqIHZhcigtLXBjLXNjYWxlKSkgcmdiYSgwLCAwLCAwLCAwLjQ1KSwgMCAwIGNhbGMoMXB4ICogdmFyKC0tcGMtc2NhbGUpKSByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qIFNsb3Q9XCJtZW51XCIgcWRuYXByby1tZW51IOKAlCBzaXRzIGFzIGEgZmxvYXRpbmcgcG9wb3ZlciBhbmNob3JlZFxuICAgdG8gdGhlIDMtZG90cyB0cmlnZ2VyLiBIaWRkZW4gYnkgZGVmYXVsdDsgdGhlIG1lbnUncyBgb3BlbmBcbiAgIGF0dHJpYnV0ZSAodG9nZ2xlZCBieSBxZG5hcHJvLXByb2plY3QtY2FyZC5fdG9nZ2xlTWVudSkgcmV2ZWFsc1xuICAgaXQuIChLaW0gMjAyNi0wNS0yOSkgKi9cbi5xZG5hcHJvLXByb2plY3QtY2FyZCAucHJvamVjdC1jYXJkLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg0OHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgcmlnaHQ6IGNhbGMoOHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgei1pbmRleDogNjtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkIC5wcm9qZWN0LWNhcmQtbWVudVtvcGVuXSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmQgLnByb2plY3QtY2FyZC1hY3Rpb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IGNhbGMoNTBweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIHBhZGRpbmc6IGNhbGMoNHB4ICogdmFyKC0tcGMtc2NhbGUpKSBjYWxjKDhweCAqIHZhcigtLXBjLXNjYWxlKSkgY2FsYyg4cHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHotaW5kZXg6IDQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtY2FyZC1iZyk7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZCAucHJvamVjdC1jYXJkLWFjdGlvbnMtbGVmdCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGMoOHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkIC5wcm9qZWN0LWNhcmQtYWN0aW9uLWRhdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBjYWxjKDRweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiBjYWxjKDEycHggKiB2YXIoLS1wYy1zY2FsZSkpO1xuICBsaW5lLWhlaWdodDogY2FsYygyMHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkIC5wcm9qZWN0LWNhcmQtYWN0aW9uLWRhdGUgcWRuYXByby1pY29uIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkIC5wcm9qZWN0LWNhcmQtYWN0aW9uLWJlbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIE5vbi1pbnRlcmFjdGl2ZSBhY3Rpb24gaW5kaWNhdG9ycyAoS2ltIDIwMjYtMDYtMDIpOiB0aGUgbGlnaHRidWxiICh0YXNrXG4gICBjb3VudCkgKyBiZWxsIGhhdmUgbm8gYmVoYXZpb3VyIHlldCwgc28gdGhleSByZWFkIGFzIHN0YXRpYyBpbmZvIOKAlCBub1xuICAgaG92ZXIgaGlnaGxpZ2h0LCBubyBoYW5kLWN1cnNvciDigJQgdW50aWwgaW50ZXJhY3Rpb24gaXMgYnVpbHQuIFBhaXJlZCB3aXRoXG4gICB0YWJpbmRleCAtMSArIGEgY2xpY2sgZ3VhcmQgaW4gSlMgc28gdGhleSBhcmUgbmVpdGhlciBmb2N1c2FibGUgbm9yXG4gICBjbGlja2FibGUuICFpbXBvcnRhbnQgYmVhdHMgdGhlIHFkbmFwcm8tYnV0dG9uIDpob3Zlci9jdXJzb3IgcnVsZXMuICovXG4ucWRuYXByby1wcm9qZWN0LWNhcmQgLnByb2plY3QtY2FyZC1hY3Rpb24tc3RhdGljIHtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZCAucHJvamVjdC1jYXJkLWFjdGlvbi1zdGF0aWM6aG92ZXIsXG4ucWRuYXByby1wcm9qZWN0LWNhcmQgLnByb2plY3QtY2FyZC1hY3Rpb24tc3RhdGljOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZCAucHJvamVjdC1jYXJkLWJhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoOHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgcmlnaHQ6IGNhbGMoNnB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgd2lkdGg6IGNhbGMoOHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgaGVpZ2h0OiBjYWxjKDhweCAqIHZhcigtLXBjLXNjYWxlKSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogI2ZmM2EzMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPWNvbXBhY3RdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1jb21wYWN0XSAucHJvamVjdC1jYXJkLWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPWNvbXBhY3RdIC5wcm9qZWN0LWNhcmQtcGhvdG8ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS4wNSwgMC41LCAxKSAzMDBtcztcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249Y29tcGFjdF0gLnByb2plY3QtY2FyZC1uYW1lIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQyMG1zIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKSwgcmlnaHQgNDIwbXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuMDUsIDAuNSwgMSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEyMG1zO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1jb21wYWN0XSAucHJvamVjdC1jYXJkLW9yZyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MjBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDYwbXM7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPWNvbXBhY3RdIC5wcm9qZWN0LWNhcmQtaW5mbyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MjBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249Y29tcGFjdF06aG92ZXIgLnByb2plY3QtY2FyZC1waG90bywgLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249Y29tcGFjdF06Zm9jdXMtd2l0aGluIC5wcm9qZWN0LWNhcmQtcGhvdG8ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtNzhweCAqIHZhcigtLXBjLXNjYWxlKSkpIHNjYWxlKDEuMTUpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPWNvbXBhY3RdOmhvdmVyIC5wcm9qZWN0LWNhcmQtbmFtZSwgLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249Y29tcGFjdF06Zm9jdXMtd2l0aGluIC5wcm9qZWN0LWNhcmQtbmFtZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC02MnB4ICogdmFyKC0tcGMtc2NhbGUpKSk7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uLWRlbGF5OiA0MDBtcztcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249Y29tcGFjdF06aG92ZXIgLnByb2plY3QtY2FyZC1vcmcsIC5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPWNvbXBhY3RdOmZvY3VzLXdpdGhpbiAucHJvamVjdC1jYXJkLW9yZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC02MnB4ICogdmFyKC0tcGMtc2NhbGUpKSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDQ2MG1zO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1jb21wYWN0XTpob3ZlciAucHJvamVjdC1jYXJkLWluZm8sIC5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPWNvbXBhY3RdOmZvY3VzLXdpdGhpbiAucHJvamVjdC1jYXJkLWluZm8ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtNjJweCAqIHZhcigtLXBjLXNjYWxlKSkpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiA1MjBtcztcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1zdGF0aWMtZnJvbnRdIC5wcm9qZWN0LWNhcmQtbmFtZSB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9c3RhdGljLWJhY2tdIC5wcm9qZWN0LWNhcmQtbmFtZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC04OHB4ICogdmFyKC0tcGMtc2NhbGUpKSk7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHJpZ2h0OiAwO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPXN0YXRpYy1iYWNrXSAucHJvamVjdC1jYXJkLW9yZyxcbi5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9c3RhdGljLWJhY2tdIC5wcm9qZWN0LWNhcmQtaW5mbyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC04OHB4ICogdmFyKC0tcGMtc2NhbGUpKSk7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQU5JTUFUSU9OIFZBUklBTlQ6IG92ZXJsYXkgKGV4cGVyaW1lbnQsIEtpbSAyMDI2LTA1LTI5KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSdXN0IHN0YXRlOiBwaG90byBleHRlbmRzIGRvd24gdG8gdGhlIGRpdmlkZXIgcG9zaXRpb24gKGNhbGMoMTU4cHggKiB2YXIoLS1wYy1zY2FsZSkpXG4gICBpbnN0ZWFkIG9mIDEyNCkuIFRpdGxlIHNpdHMgaW4gaXRzIGlkbGUgcG9zaXRpb24gYnV0IHdoaXRlIG9uXG4gICB0aGUgZ3JhZGllbnQuIEtleWxpbmUgaGlkZGVuLlxuICAgSG92ZXI6IHBob3RvIHN1YnRsZSB6b29tIDEuMDYgKG5vIHRyYW5zbGF0ZSkuIFRpdGxlLCBvcmcgYW5kXG4gICBkYXRlIHN0YWdnZXJlZCB0cmFuc2xhdGUgdXAgb250byB0aGUgcGhvdG8uIEFsbCB0aHJlZSBnZXQgYVxuICAgZ2xhc3MtcGlsbCBiYWNrZ3JvdW5kLiBBdmF0YXJzIHN0YXkgZnJlZSAobm8gZ2xhc3MpLiAqL1xuLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249b3ZlcmxheV0gLnByb2plY3QtY2FyZC1oZWFkZXIsXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1vdmVybGF5XSAucHJvamVjdC1jYXJkLWRpdmlkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBQaG90bzogdGFsbGVyIChkb3duIHRvIGtleWxpbmUpICsgc3VidGxlIHpvb20gb24gaG92ZXIuICovXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1vdmVybGF5XSAucHJvamVjdC1jYXJkLXBob3RvIHtcbiAgaGVpZ2h0OiBjYWxjKDE1OHB4ICogdmFyKC0tcGMtc2NhbGUpKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zIGN1YmljLWJlemllcigwLjM0LCAxLjA1LCAwLjUsIDEpO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1vdmVybGF5XTpob3ZlciAucHJvamVjdC1jYXJkLXBob3RvLFxuLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249b3ZlcmxheV06Zm9jdXMtd2l0aGluIC5wcm9qZWN0LWNhcmQtcGhvdG8ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xufVxuXG4vKiBUaXRsZTogd2hpdGUgaW4gaWRsZSAoYWxyZWFkeSBvbiBwaG90byBncmFkaWVudCkuIE9uIGhvdmVyIGl0XG4gICBhbHNvIGJlY29tZXMgYSBnbGFzcy1waWxsLiAqL1xuLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249b3ZlcmxheV0gLnByb2plY3QtY2FyZC1uYW1lIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiAwIGNhbGMoMXB4ICogdmFyKC0tcGMtc2NhbGUpKSBjYWxjKDNweCAqIHZhcigtLXBjLXNjYWxlKSkgcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB6LWluZGV4OiAzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDIwbXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpLCByaWdodCA0MjBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS4wNSwgMC41LCAxKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMTIwbXM7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPW92ZXJsYXldIC5wcm9qZWN0LWNhcmQtb3JnIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiAwIGNhbGMoMXB4ICogdmFyKC0tcGMtc2NhbGUpKSBjYWxjKDNweCAqIHZhcigtLXBjLXNjYWxlKSkgcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB6LWluZGV4OiAzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDIwbXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiA2MG1zO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1vdmVybGF5XSAucHJvamVjdC1jYXJkLWluZm8ge1xuICB6LWluZGV4OiAzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDIwbXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG59XG5cbi5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPW92ZXJsYXldIC5wcm9qZWN0LWNhcmQtZGF0ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogMCBjYWxjKDFweCAqIHZhcigtLXBjLXNjYWxlKSkgY2FsYygzcHggKiB2YXIoLS1wYy1zY2FsZSkpIHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249b3ZlcmxheV0gLnByb2plY3QtY2FyZC1kYXRlIHFkbmFwcm8taWNvbiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBIT1ZFUjogc3RhZ2dlciB1cCArIGdsYXNzLXBpbGwgYmFja2dyb3VuZHMgYXBwZWFyLiAqL1xuLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249b3ZlcmxheV06aG92ZXIgLnByb2plY3QtY2FyZC1uYW1lLFxuLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249b3ZlcmxheV06Zm9jdXMtd2l0aGluIC5wcm9qZWN0LWNhcmQtbmFtZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC02MnB4ICogdmFyKC0tcGMtc2NhbGUpKSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDQwMG1zO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1vdmVybGF5XTpob3ZlciAucHJvamVjdC1jYXJkLW9yZyxcbi5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPW92ZXJsYXldOmZvY3VzLXdpdGhpbiAucHJvamVjdC1jYXJkLW9yZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC02MnB4ICogdmFyKC0tcGMtc2NhbGUpKSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDQ2MG1zO1xufVxuXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1vdmVybGF5XTpob3ZlciAucHJvamVjdC1jYXJkLWluZm8sXG4ucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1vdmVybGF5XTpmb2N1cy13aXRoaW4gLnByb2plY3QtY2FyZC1pbmZvIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTYycHggKiB2YXIoLS1wYy1zY2FsZSkpKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogNTIwbXM7XG59XG5cbkBrZXlmcmFtZXMgcGMtY29tcGFjdC1waG90by1pbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gIH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMS4xNSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03OHB4KSBzY2FsZSgxLjE1KTtcbiAgfVxufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249Y29tcGFjdF0gLnByb2plY3QtY2FyZC1waG90byxcbiAgLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249Y29tcGFjdF0gLnByb2plY3QtY2FyZC1uYW1lLFxuICAucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1jb21wYWN0XSAucHJvamVjdC1jYXJkLW9yZyxcbiAgLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249Y29tcGFjdF0gLnByb2plY3QtY2FyZC1pbmZvIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxuICAucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1jb21wYWN0XTpob3ZlciAucHJvamVjdC1jYXJkLXBob3RvLCAucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1jb21wYWN0XTpmb2N1cy13aXRoaW4gLnByb2plY3QtY2FyZC1waG90byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTEyNHB4ICogdmFyKC0tcGMtc2NhbGUpKSk7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG4gIC5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPWNvbXBhY3RdOmhvdmVyIC5wcm9qZWN0LWNhcmQtbmFtZSwgLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249Y29tcGFjdF06Zm9jdXMtd2l0aGluIC5wcm9qZWN0LWNhcmQtbmFtZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTg4cHggKiB2YXIoLS1wYy1zY2FsZSkpKTtcbiAgfVxuICAucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1jb21wYWN0XTpob3ZlciAucHJvamVjdC1jYXJkLW9yZywgLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249Y29tcGFjdF06Zm9jdXMtd2l0aGluIC5wcm9qZWN0LWNhcmQtb3JnLCAucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1jb21wYWN0XTpob3ZlciAucHJvamVjdC1jYXJkLWluZm8sIC5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPWNvbXBhY3RdOmZvY3VzLXdpdGhpbiAucHJvamVjdC1jYXJkLWluZm8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC04OHB4ICogdmFyKC0tcGMtc2NhbGUpKSk7XG4gIH1cbiAgLyogT3ZlcmxheSB2YXJpYW50OiBkcm9wIHRoZSBzdGFnZ2VyZWQgZWFzaW5nLCBzbmFwIGludG8gcGxhY2UuICovXG4gIC5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPW92ZXJsYXldIC5wcm9qZWN0LWNhcmQtcGhvdG8sXG4gIC5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPW92ZXJsYXldIC5wcm9qZWN0LWNhcmQtbmFtZSxcbiAgLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249b3ZlcmxheV0gLnByb2plY3QtY2FyZC1vcmcsXG4gIC5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPW92ZXJsYXldIC5wcm9qZWN0LWNhcmQtaW5mbyxcbiAgLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249b3ZlcmxheV0gLnByb2plY3QtY2FyZC1kYXRlIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxuICAucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1vdmVybGF5XTpob3ZlciAucHJvamVjdC1jYXJkLW5hbWUsXG4gIC5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPW92ZXJsYXldOmZvY3VzLXdpdGhpbiAucHJvamVjdC1jYXJkLW5hbWUsXG4gIC5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPW92ZXJsYXldOmhvdmVyIC5wcm9qZWN0LWNhcmQtb3JnLFxuICAucWRuYXByby1wcm9qZWN0LWNhcmRbZGF0YS1tb2RlPWFuaW1hdGVkXVtkYXRhLWFuaW1hdGlvbj1vdmVybGF5XTpmb2N1cy13aXRoaW4gLnByb2plY3QtY2FyZC1vcmcsXG4gIC5xZG5hcHJvLXByb2plY3QtY2FyZFtkYXRhLW1vZGU9YW5pbWF0ZWRdW2RhdGEtYW5pbWF0aW9uPW92ZXJsYXldOmhvdmVyIC5wcm9qZWN0LWNhcmQtaW5mbyxcbiAgLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RhdGEtbW9kZT1hbmltYXRlZF1bZGF0YS1hbmltYXRpb249b3ZlcmxheV06Zm9jdXMtd2l0aGluIC5wcm9qZWN0LWNhcmQtaW5mbyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTYycHggKiB2YXIoLS1wYy1zY2FsZSkpKTtcbiAgfVxufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tcHJvamVjdC1jYXJkIHtcbiAgLS1jLWNhcmQtYmc6ICMyYTJkMzY7XG4gIC0tYy1jYXJkLWJvcmRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgLS1jLWNhcmQtZGl2aWRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgLS1jLXRleHQtYm9keTogI2YwZjFmMjtcbiAgLS1jLXRleHQtc2Vjb25kYXJ5OiAjYTZhYWIzO1xuICAtLWMtcGhvdG8tZmFsbGJhY2s6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMyZTMyM2QgMCUsICMyYTJkMzYgMTAwJSk7XG4gIGJveC1zaGFkb3c6IDAgY2FsYygxcHggKiB2YXIoLS1wYy1zY2FsZSkpIGNhbGMoMnB4ICogdmFyKC0tcGMtc2NhbGUpKSByZ2JhKDAsIDAsIDAsIDAuMyksIDAgY2FsYyg2cHggKiB2YXIoLS1wYy1zY2FsZSkpIGNhbGMoMTZweCAqIHZhcigtLXBjLXNjYWxlKSkgcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVuc2l0eTogY29tcGFjdCDigJQgdW5pZm9ybSAwLjggc2NhbGUgb2YgdGhlIHdob2xlIGNhcmQgc28gaXRcbiAgIG1hdGNoZXMgdGhlIGxlZ2FjeSA4MCUtem9vbSBsb29rIHdoaWxlIHRoZSBwYWdlIHJlbmRlcnMgYXQgMTAwJS5cbiAgIE5vbi1icmVha2luZzogY2FyZHMgd2l0aG91dCBbZGVuc2l0eV0ga2VlcCAtLXBjLXNjYWxlOjEuIFtLaW0gMjAyNi0wNi0wM11cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnFkbmFwcm8tcHJvamVjdC1jYXJkW2RlbnNpdHk9XCJjb21wYWN0XCJdIHtcbiAgLS1wYy1zY2FsZTogMC44O1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1wdXNoLW5vdGlmaWNhdGlvbiDigJQgT1Mtc3R5bGUgbm90aWZpY2F0aW9uIGNhcmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIFJlcHJvZHVjZXMgdGhlIGxvY2stc2NyZWVuIG5vdGlmaWNhdGlvbiBzaGFwZSBpbnNpZGUgb3VyIG93blxuLy8gIHN1cmZhY2VzOiBhcHAgdGlsZSArIHRpdGxlL3RpbWUgaGVhZGxpbmUgKyBib2R5LiBUaHJlZVxuLy8gIHJlbmRlcmluZ3MgZHJpdmVuIGJ5IFNUQVRFIGFuZCBDT05URU5ULCBub3QgYnkgYSBzaXplIHdvcmRcbi8vICAoYHNpemVgIGFscmVhZHkgbWVhbnMgdGhyZWUgZGlmZmVyZW50IHNjYWxlcyBlbHNld2hlcmUpOlxuLy8gICAgLS1jb2xsYXBzZWQgIChkZWZhdWx0KSBib2R5IGNsYW1wZWQgdG8gMiBsaW5lc1xuLy8gICAgLS1leHBhbmRlZCAgICAgICAgICAgICAgZnVsbCBib2R5ICsgaGVhZGVyICsgYWN0aW9ucyAgIFtzdGVwIDJdXG4vLyAgICArIGltYWdlICAgICAgICAgICAgICAgICBtZWRpYSBibG9jayAgICAgICAgICAgICAgICAgICAgW3N0ZXAgM11cbi8vXG4vLyAgVHlwZSBtb2RpZmllcnMgY29sb3VyIHRoZSBhcHAgdGlsZSBvbmx5LCBpbiB0aGUgc2FtZSBzaWduYWxcbi8vICBmYW1pbGllcyBhcyBxZG5hcHJvLWFsZXJ0IC8gcWRuYXByby10b2FzdDpcbi8vICAgIG5ldXRyYWwgIHB1cnBsZSBicmFuZCB0aWxlICh0aGUgUUROQSBkZWZhdWx0KVxuLy8gICAgaW5mbyAgICAgdmFyKC0tYy1zaWduYWwtYmx1ZS10ZXh0KSAgICAgIzZhOGFiNFxuLy8gICAgc3VjY2VzcyAgdmFyKC0tYy1zaWduYWwtZ3JlZW4tdGV4dCkgICAgIzQyOGI2ZVxuLy8gICAgd2FybmluZyAgdmFyKC0tYy13YXJuaW5nLWJyaWdodC10ZXh0KSAgIzlhNmExMFxuLy8gICAgZXJyb3IgICAgdmFyKC0tYy1zaWduYWwtcmVkLXRleHQpICAgICAgI2M2NWE1YVxuLy9cbi8vICBGTEFUIENTUyAobm8gbmVzdGluZykgc28gaXQgY2FuIGJlIHN5bmNlZCB0byB0aGUgUFdBIHZlcmJhdGltLFxuLy8gIGV4YWN0bHkgbGlrZSBxZG5hcHJvLWluZm8tY2FyZCAvIHFkbmFwcm8tZXZlbnQtY2FyZC5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucWRuYXByby1wdXNoLW5vdGlmaWNhdGlvbiB7XG4gIC8vIFN1cmZhY2UgKyB0eXBlIHZhcmlhYmxlcyAobmV1dHJhbCA9IGJyYW5kIHB1cnBsZSB0aWxlKVxuICAtLXBuLXN1cmZhY2U6ICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xuICAtLXBuLXRpdGxlOiAgICAgICB2YXIoLS1jLXRleHQtaGVhZGluZywgIzFhMWQzYSk7XG4gIC0tcG4tYm9keTogICAgICAgIHZhcigtLWMtdGV4dC1oZWFkaW5nLCAjMWExZDNhKTtcbiAgLS1wbi1tZXRhOiAgICAgICAgdmFyKC0tYy10ZXh0LW11dGVkLCAjNmE2ZTlhKTtcbiAgLS1wbi10aWxlLWJnOiAgICAgdmFyKC0tYy1wdXJwbGUtNTAwLCAjNDA0OTlhKTtcbiAgLS1wbi10aWxlLWdseXBoOiAgI2ZmZmZmZjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxMXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTNweCAxNHB4O1xuICAvLyBTaGFycGVyIHRoYW4gdGhlIE9TIHBsYXRlIG9uIHB1cnBvc2UgKEtpbSAwMy4wOC4yMDI2KTogdGhlIGRlc2lnbi10b2tlblxuICAvLyAxMnB4IGluc3RlYWQgb2YgYSBzb2Z0IDE4cHgsIHNvIHRoZSBjYXJkIHNpdHMgaW4gdGhlIHNhbWUgcmFkaXVzIGZhbWlseSBhc1xuICAvLyB0aGUgcmVzdCBvZiB0aGUgcGxhdGZvcm0uIGJhY2tkcm9wLWZpbHRlciBpcyBhZGRpdGl2ZTogb24gYSBzb2xpZCBob3N0XG4gIC8vIGJhY2tncm91bmQgaXQgc2ltcGx5IGRvZXMgbm90aGluZy5cbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0zLCAxMnB4KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcG4tc3VyZmFjZSk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDI0cHgpIHNhdHVyYXRlKDEuNCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyNHB4KSBzYXR1cmF0ZSgxLjQpO1xuICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoNDAsIDQ2LCAxMDAsIDAuMTApO1xuICBmb250LWZhbWlseTogdmFyKC0tZmYsIFwiSW50ZXJcIiwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZik7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8vIC0tLSBUeXBlIG1vZGlmaWVycyAoYXBwIHRpbGUgb25seSkgLS0tXG4ucWRuYXByby1wdXNoLW5vdGlmaWNhdGlvbi0taW5mbyAgICB7IC0tcG4tdGlsZS1iZzogdmFyKC0tYy1zaWduYWwtYmx1ZS10ZXh0LCAjNmE4YWI0KTsgfVxuLnFkbmFwcm8tcHVzaC1ub3RpZmljYXRpb24tLXN1Y2Nlc3MgeyAtLXBuLXRpbGUtYmc6IHZhcigtLWMtc2lnbmFsLWdyZWVuLXRleHQsICM0MjhiNmUpOyB9XG4ucWRuYXByby1wdXNoLW5vdGlmaWNhdGlvbi0td2FybmluZyB7IC0tcG4tdGlsZS1iZzogdmFyKC0tYy13YXJuaW5nLWJyaWdodC10ZXh0LCAjOWE2YTEwKTsgfVxuLnFkbmFwcm8tcHVzaC1ub3RpZmljYXRpb24tLWVycm9yICAgeyAtLXBuLXRpbGUtYmc6IHZhcigtLWMtc2lnbmFsLXJlZC10ZXh0LCAjYzY1YTVhKTsgfVxuXG4vLyAtLS0gQXBwIHRpbGUgLS0tXG4vLyBSb3VuZGVkIFNRVUFSRSwgbm90IGEgY2lyY2xlOiB0aGF0IGlzIHdoYXQgdGhlIHBsYXRmb3JtcyBkcmF3IGZvciB0aGUgYXBwXG4vLyBpY29uLCBhbmQgaXQga2VlcHMgaXQgZGlzdGluY3QgZnJvbSBxZG5hcHJvLWF2YXRhciAoYSBwZXJzb24pIGFuZCBmcm9tIHRoZVxuLy8gYmVsbCBsaXN0J3Mgcm91bmQgaWNvbiBjaXJjbGUgKGEgbWVzc2FnZSB0eXBlKS5cbi5xZG5hcHJvLXB1c2gtbm90aWZpY2F0aW9uX190aWxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgLy8gOHB4ICgtLXItMiksIG9uZSBzdGVwIHVuZGVyIHRoZSBjYXJkJ3MgMTJweCAoLS1yLTMpOiBhdCA5cHggdGhlIHRpbGUgcmVhZCBhc1xuICAvLyBhbG1vc3QgYXMgcm91bmQgYXMgdGhlIHNoYXJwZW5lZCBjYXJkIGl0c2VsZiAoS2ltIDAzLjA4LjIwMjYpLlxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLTIsIDhweCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBuLXRpbGUtYmcpO1xuICBjb2xvcjogdmFyKC0tcG4tdGlsZS1nbHlwaCk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuLnFkbmFwcm8tcHVzaC1ub3RpZmljYXRpb25fX3RpbGUgcWRuYXByby1pY29uLFxuLnFkbmFwcm8tcHVzaC1ub3RpZmljYXRpb25fX3RpbGUgLnFkbmFwcm8taWNvbiB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnFkbmFwcm8tcHVzaC1ub3RpZmljYXRpb25fX3RpbGUtaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItMiwgOHB4KTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8vIC0tLSBNYWluIGNvbHVtbiAtLS1cbi5xZG5hcHJvLXB1c2gtbm90aWZpY2F0aW9uX19tYWluIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLy8gSGVhZGxpbmU6IHRpdGxlIGFuZCB0aW1lIG9uIE9ORSBsaW5lLCB0aW1lIHRyYWlsaW5nIHRoZSB0aXRsZSAoaW5saW5lKSwgdGhlXG4vLyB3YXkgdGhlIE9TIHJlbmRlcnMgaXQuXG4ucWRuYXByby1wdXNoLW5vdGlmaWNhdGlvbl9faGVhZGxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGdhcDogNnB4O1xufVxuXG4ucWRuYXByby1wdXNoLW5vdGlmaWNhdGlvbl9fdGl0bGUge1xuICBtaW4td2lkdGg6IDA7XG4gIGNvbG9yOiB2YXIoLS1wbi10aXRsZSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi8vIENvbGxhcHNlZDogdGhlIHRpdGxlIHRha2VzIG9uZSBsaW5lIGFuZCBlbGxpcHNpc2VzLCBzbyB0aGUgdGltZSBzdGF5cyBiZXNpZGVcbi8vIGl0IGluc3RlYWQgb2YgYmVpbmcgb3JwaGFuZWQgb24gYSBsaW5lIG9mIGl0cyBvd24uIFRoaXMgaXMgd2hhdCB0aGUgT1MgZG9lcyAtXG4vLyBvbiB0aGUgbG9jayBzY3JlZW4gYSBsb25nIHRpdGxlIHRydW5jYXRlcyBhbmQgdGhlIHRpbWVzdGFtcCBob2xkcyBpdHMgcGxhY2UuXG4vLyBFeHBhbmRlZCAoc3RlcCAyKSBsZXRzIHRoZSB0aXRsZSB3cmFwIHRvIGl0cyBmdWxsIGxlbmd0aC5cbi8vIGZsZXg6IDAgMSBhdXRvLCBkZWxpYmVyYXRlbHkgTk9UIDEgMSBhdXRvOiB0aGUgdGl0bGUgbXVzdCBTSFJJTksgd2hlbiB0aGVyZSBpc1xuLy8gbm8gcm9vbSBidXQgbmV2ZXIgR1JPVywgb3RoZXJ3aXNlIGEgc2hvcnQgdGl0bGUgc3RyZXRjaGVzIHRoZSBib3ggYW5kIHB1c2hlcyB0aGVcbi8vIHRpbWUgb3V0IHRvIHRoZSByaWdodCBlZGdlLiBJbiB0aGUgcmVmZXJlbmNlIHRoZSB0aW1lIHNpdHMgZGlyZWN0bHkgYmVoaW5kIHRoZVxuLy8gdGl0bGUsIGFuZCBvbmx5IGEgbG9uZyB0aXRsZSBwdXNoZXMgaXQgYWxvbmcgdG8gdGhlIGVkZ2UuXG4ucWRuYXByby1wdXNoLW5vdGlmaWNhdGlvbi0tY29sbGFwc2VkIC5xZG5hcHJvLXB1c2gtbm90aWZpY2F0aW9uX190aXRsZSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnFkbmFwcm8tcHVzaC1ub3RpZmljYXRpb25fX3RpbWUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgY29sb3I6IHZhcigtLXBuLW1ldGEpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5xZG5hcHJvLXB1c2gtbm90aWZpY2F0aW9uX19ib2R5IHtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBjb2xvcjogdmFyKC0tcG4tYm9keSk7XG4gIGZvbnQtc2l6ZTogMTMuNXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40MjtcbiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi8vIENvbGxhcHNlZCA9IHRoZSBib2R5IGlzIGNsYW1wZWQgdG8gMiBsaW5lcyB3aXRoIGFuIGVsbGlwc2lzLiAtd2Via2l0LWxpbmUtY2xhbXBcbi8vIGlzIHRoZSBvbmx5IGNyb3NzLWJyb3dzZXIgd2F5IHRvIGNsYW1wIGF0IGEgTElORSBjb3VudDsgaXQgaXMgc3VwcG9ydGVkIGluXG4vLyBldmVyeSBlbmdpbmUgd2Ugc2hpcCBvbiAoQ2hyb21lL1NhZmFyaS9XS1dlYlZpZXcvRmlyZWZveCkuXG4ucWRuYXByby1wdXNoLW5vdGlmaWNhdGlvbi0tY29sbGFwc2VkIC5xZG5hcHJvLXB1c2gtbm90aWZpY2F0aW9uX19ib2R5IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gLS0tIENoZXZyb24gKyBkaXNtaXNzIC0tLVxuLy8gVG9wLWFsaWduZWQgYWdhaW5zdCB0aGUgaGVhZGxpbmUsIGFuZCBwdWxsZWQgb3V0IG9mIHRoZSBwYWRkaW5nIGEgdG91Y2ggc29cbi8vIHRoZWlyIDI0cHggaGl0IGFyZWFzIGRvIG5vdCBwdXNoIHRoZSB0ZXh0IGNvbHVtbiBuYXJyb3dlciB0aGFuIGl0IGxvb2tzLlxuLnFkbmFwcm8tcHVzaC1ub3RpZmljYXRpb25fX2NoZXZyb24sXG4ucWRuYXByby1wdXNoLW5vdGlmaWNhdGlvbl9fZGlzbWlzcyB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW46IC0xcHggLTRweCAwIDA7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9yYWRpby9fcmFkaW8tY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnFkbmFwcm8tcmFkaW8ge1xuICAtLXJiLXNpemU6IDE2cHg7XG4gIC0tcmItYm9yZGVyOiAjZTFlM2U2O1xuICAtLXJiLWJnOiAjZjBmMWYyO1xuICAtLXJiLWJnLWhvdmVyOiAjZTFlM2U2O1xuICAtLXJiLXNlbGVjdGVkLWJnOiAjNDY1MmYzO1xuICAtLXJiLXNlbGVjdGVkLWJnLWhvdmVyOiAjMzg0MmMyO1xuICAtLXJiLXNlbGVjdGVkLWRvdDogI2ZmZmZmZjtcbiAgLS1yYi1mb2N1cy1yaW5nOiAjNDA0OTlhO1xuICAtLXJiLWZvY3VzLWdsb3c6IHJnYmEoNzAsIDgyLCAyNDMsIDAuMjUpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiB2YXIoLS1yYi1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1yYi1zaXplKTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJiLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcmItYmcpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE0MG1zIGVhc2Utb3V0LCBib3JkZXItY29sb3IgMTQwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1yYWRpbyAucmFkaW8tZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1yYi1zZWxlY3RlZC1kb3QpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIyMG1zIGN1YmljLWJlemllcigwLjM0LCAxLjM1LCAwLjY0LCAxKSwgb3BhY2l0eSAxNDBtcyBlYXNlLW91dDtcbn1cbi5xZG5hcHJvLXJhZGlvLnJhZGlvLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcmItc2VsZWN0ZWQtYmcpO1xuICBib3JkZXItY29sb3I6IHZhcigtLXJiLXNlbGVjdGVkLWJnKTtcbn1cbi5xZG5hcHJvLXJhZGlvLnJhZGlvLXNlbGVjdGVkIC5yYWRpby1kb3Qge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuLnFkbmFwcm8tcmFkaW86aG92ZXI6bm90KC5yYWRpby1kaXNhYmxlZCk6bm90KC5yYWRpby1zZWxlY3RlZCkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1yYi1iZy1ob3Zlcik7XG59XG4ucWRuYXByby1yYWRpbzpob3Zlcjpub3QoLnJhZGlvLWRpc2FibGVkKS5yYWRpby1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJiLXNlbGVjdGVkLWJnLWhvdmVyKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yYi1zZWxlY3RlZC1iZy1ob3Zlcik7XG59XG4ucWRuYXByby1yYWRpbzphY3RpdmU6bm90KC5yYWRpby1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjE1KSwgcmdiYSgwLCAwLCAwLCAwLjE1KSk7XG59XG4ucWRuYXByby1yYWRpbzpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ucWRuYXByby1yYWRpbzpmb2N1cy12aXNpYmxlLCAucWRuYXByby1yYWRpby5mb3JjZS1mb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1yYi1mb2N1cy1yaW5nKSwgMCAwIDAgNnB4IHZhcigtLXJiLWZvY3VzLWdsb3cpO1xufVxuLnFkbmFwcm8tcmFkaW8uZm9yY2UtaG92ZXI6bm90KC5yYWRpby1kaXNhYmxlZCk6bm90KC5yYWRpby1zZWxlY3RlZCkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1yYi1iZy1ob3Zlcik7XG59XG4ucWRuYXByby1yYWRpby5mb3JjZS1ob3Zlcjpub3QoLnJhZGlvLWRpc2FibGVkKS5yYWRpby1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJiLXNlbGVjdGVkLWJnLWhvdmVyKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1yYi1zZWxlY3RlZC1iZy1ob3Zlcik7XG59XG4ucWRuYXByby1yYWRpby5mb3JjZS1wcmVzc2VkOm5vdCgucmFkaW8tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC4xNSksIHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xufVxuLnFkbmFwcm8tcmFkaW8ucmFkaW8tc3RhdGUtZXJyb3Ige1xuICAtLXJiLWJvcmRlcjogI2M2NWE1YTtcbiAgLS1yYi1iZy1ob3ZlcjogI2ZiZDVkNTtcbiAgLS1yYi1zZWxlY3RlZC1iZzogI2M2NWE1YTtcbiAgLS1yYi1zZWxlY3RlZC1iZy1ob3ZlcjogI2EwNDQ0NDtcbiAgLS1yYi1zZWxlY3RlZC1kb3Q6ICNmZmZmZmY7XG4gIC0tcmItZm9jdXMtcmluZzogI2M2NWE1YTtcbiAgLS1yYi1mb2N1cy1nbG93OiByZ2JhKDE5OCwgOTAsIDkwLCAwLjI1KTtcbn1cbi5xZG5hcHJvLXJhZGlvLnJhZGlvLXN0YXRlLXN1Y2Nlc3Mge1xuICAtLXJiLWJvcmRlcjogIzQyOGI2ZTtcbiAgLS1yYi1iZy1ob3ZlcjogI2M1ZWJkOTtcbiAgLS1yYi1zZWxlY3RlZC1iZzogIzQyOGI2ZTtcbiAgLS1yYi1zZWxlY3RlZC1iZy1ob3ZlcjogIzJmNWQ0YTtcbiAgLS1yYi1zZWxlY3RlZC1kb3Q6ICNmZmZmZmY7XG4gIC0tcmItZm9jdXMtcmluZzogIzQyOGI2ZTtcbiAgLS1yYi1mb2N1cy1nbG93OiByZ2JhKDY2LCAxMzksIDExMCwgMC4yNSk7XG59XG4ucWRuYXByby1yYWRpby5yYWRpby1kaXNhYmxlZCB7XG4gIC0tcmItYm9yZGVyOiAjZTFlM2U2O1xuICAtLXJiLWJnOiAjZjBmMWYyO1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tcmFkaW8ucmFkaW8tZGlzYWJsZWQucmFkaW8tc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiAjZjBmMWYyO1xuICBib3JkZXItY29sb3I6ICNlMWUzZTY7XG59XG4ucWRuYXByby1yYWRpby5yYWRpby1kaXNhYmxlZC5yYWRpby1zZWxlY3RlZCAucmFkaW8tZG90IHtcbiAgYmFja2dyb3VuZDogIzg5OGU5OTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tcmFkaW8ge1xuICAtLXJiLWJvcmRlcjogIzU2NWI2NjtcbiAgLS1yYi1iZzogIzJlMzAzNjtcbiAgLS1yYi1iZy1ob3ZlcjogIzQwNDQ0ZDtcbiAgLS1yYi1zZWxlY3RlZC1iZzogIzQ2NTJmMztcbiAgLS1yYi1zZWxlY3RlZC1iZy1ob3ZlcjogIzVhNjZmZjtcbiAgLS1yYi1zZWxlY3RlZC1kb3Q6ICNmZmZmZmY7XG4gIC0tcmItZm9jdXMtcmluZzogI2E1YWNmZjtcbiAgLS1yYi1mb2N1cy1nbG93OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjQpO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tcmFkaW8ucmFkaW8tc3RhdGUtZXJyb3Ige1xuICAtLXJiLWJvcmRlcjogI2M2NWE1YTtcbiAgLS1yYi1iZy1ob3ZlcjogIzVhMmIyYjtcbiAgLS1yYi1zZWxlY3RlZC1iZzogI2M2NWE1YTtcbiAgLS1yYi1zZWxlY3RlZC1iZy1ob3ZlcjogI2EwNDQ0NDtcbiAgLS1yYi1mb2N1cy1yaW5nOiAjZTg5MDkwO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tcmFkaW8ucmFkaW8tc3RhdGUtc3VjY2VzcyB7XG4gIC0tcmItYm9yZGVyOiAjNDI4YjZlO1xuICAtLXJiLWJnLWhvdmVyOiAjMmE1NTQ0O1xuICAtLXJiLXNlbGVjdGVkLWJnOiAjNDI4YjZlO1xuICAtLXJiLXNlbGVjdGVkLWJnLWhvdmVyOiAjMmY1ZDRhO1xuICAtLXJiLWZvY3VzLXJpbmc6ICM3Y2NmYTg7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1yYWRpby5yYWRpby1kaXNhYmxlZCB7XG4gIC0tcmItYm9yZGVyOiAjNTY1YjY2O1xuICAtLXJiLWJnOiAjNDA0NDRkO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tcmFkaW8ucmFkaW8tZGlzYWJsZWQucmFkaW8tc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiAjNDA0NDRkO1xuICBib3JkZXItY29sb3I6ICM1NjViNjY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1yYWRpby5yYWRpby1kaXNhYmxlZC5yYWRpby1zZWxlY3RlZCAucmFkaW8tZG90IHtcbiAgYmFja2dyb3VuZDogIzZiNzI4MDtcbn1cbiIsIi8vIHFkbmFwcm8tcmFuZ2Utc2xpZGVyIOKAlCBkdWFsLWhhbmRsZSByYW5nZSBzbGlkZXIgb3ZlciBsYWJlbGxlZCBzdG9wcy5cbi8vIEVkaXQgSEVSRSwgdGhlbiBydW4gYGd1bHAgc2Fzcy12MWAgKGNvbXBpbGVzIGludG8gd2ViL2Nzcy92MS9zdHlsZS12MS5jc3MpLlxuLy8gTG9jYWwgLS1ycy0qIGN1c3RvbSBwcm9wcyArIGJyYW5kIHBhbGV0dGUsIHNhbWUgY29udmVudGlvbiBhcyB0aGUgb3RoZXIgdjIgY29tcG9uZW50cy5cblxuLnFkbmFwcm8tcmFuZ2Utc2xpZGVyIHtcbiAgICAtLXJzLXRyYWNrOiAjZTFlM2U2O1xuICAgIC0tcnMtZmlsbDogIzQ2NTJmMztcbiAgICAtLXJzLWRvdDogI2I4YmNkNjtcbiAgICAtLXJzLWhhbmRsZTogI2ZmZmZmZjtcbiAgICAtLXJzLWhhbmRsZS1ib3JkZXI6ICM0NjUyZjM7XG4gICAgLS1ycy1oYW5kbGUtZ2xvdzogcmdiYSg3MCwgODIsIDI0MywgMC4yNSk7XG4gICAgLS1ycy1sYWJlbDogIzZiNzBhNjtcbiAgICAtLXJzLWxhYmVsLWFjdGl2ZTogIzFhMWY0ZDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDZweCAxMnB4IDRweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLnFkbmFwcm8tcmFuZ2Utc2xpZGVyIC5ycy10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogNnB4O1xuICAgIG1hcmdpbjogMTRweCAwIDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ycy10cmFjayk7XG59XG5cbi5xZG5hcHJvLXJhbmdlLXNsaWRlciAucnMtZmlsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcnMtZmlsbCk7XG59XG5cbi5xZG5hcHJvLXJhbmdlLXNsaWRlciAucnMtZG90IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ycy1kb3QpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucWRuYXByby1yYW5nZS1zbGlkZXIgLnJzLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBtYXJnaW4tbGVmdDogLTlweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcnMtaGFuZGxlKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ycy1oYW5kbGUtYm9yZGVyKTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgICBjdXJzb3I6IGdyYWI7XG4gICAgei1pbmRleDogMjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDE0MG1zIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMTIwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1yYW5nZS1zbGlkZXIgLnJzLWhhbmRsZTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNnB4IHZhcigtLXJzLWhhbmRsZS1nbG93KSwgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG59XG4ucWRuYXByby1yYW5nZS1zbGlkZXIgLnJzLWhhbmRsZTphY3RpdmUge1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEuMDgpO1xufVxuLnFkbmFwcm8tcmFuZ2Utc2xpZGVyIC5ycy1oYW5kbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4ucWRuYXByby1yYW5nZS1zbGlkZXIgLnJzLWhhbmRsZTpmb2N1cy12aXNpYmxlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggdmFyKC0tcnMtaGFuZGxlLWdsb3cpLCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbn1cblxuLnFkbmFwcm8tcmFuZ2Utc2xpZGVyIC5ycy1sYWJlbHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuLnFkbmFwcm8tcmFuZ2Utc2xpZGVyIC5ycy1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLXJzLWxhYmVsKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDEyMG1zIGVhc2Utb3V0O1xufVxuLnFkbmFwcm8tcmFuZ2Utc2xpZGVyIC5ycy1sYWJlbC5pcy1hY3RpdmUgeyBjb2xvcjogdmFyKC0tcnMtbGFiZWwtYWN0aXZlKTsgfVxuXG4ucWRuYXByby1yYW5nZS1zbGlkZXIuaXMtZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIHFkbmFwcm8tcmVjaXBpZW50LXBpY2tlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgTGF5b3V0ICsgY29sb3VyIE9OTFkuIEV2ZXJ5IHJlYWwgY29udHJvbCAoc2VhcmNoIGZpZWxkLCBjaGVja2JveCxcbi8vICBhdmF0YXIsIGJ1dHRvbnMpIGlzIGEgY29tcG9zZWQgY29tcG9uZW50IHdpdGggaXRzIG93biBTQ1NTLiBUaGlzXG4vLyAgZmlsZSBuZXZlciByZXBlYXRzIHRoZWlyIGJhY2tncm91bmQvYm9yZGVyL3BhZGRpbmcvdHlwb2dyYXBoeSBydWxlcyxcbi8vICBpdCBvbmx5IGFycmFuZ2VzIHRoZSBzZWN0aW9ucyBhbmQgdGhlIHJvdyBncmlkLiBDb25zdW1lcyBkZXNpZ25cbi8vICB0b2tlbnMgZnJvbSBkZXNpZ24tdG9rZW5zL19kZXNpZ24tdG9rZW5zLnNjc3MuXG4vL1xuLy8gIEZsYXQgLnJwLSogc2VsZWN0b3JzIGZvciB0aGUgaW50ZXJuYWwgbGF5b3V0IHBpZWNlcyAoc2FtZSBpZGlvbSBhc1xuLy8gIHFkbmFwcm8tZmlsdGVyLXNoZWV0J3MgLmZzLSogY2xhc3NlcyksIHRoZSBob3N0IGl0c2VsZiBpcyB0aGUgb25seSByZWFsXG4vLyAgQkVNIGJsb2NrICgucWRuYXByby1yZWNpcGllbnQtcGlja2VyKS4gVXNlcyB0aGUgc2hhcmVkIHFkbmEtc2Nyb2xsYmFyXG4vLyAgbWl4aW4gKG1vZHVsZXMvX21peGlucy5zY3NzKSBmb3IgdGhlIGZpeGVkLWhlaWdodCBsaXN0IGFyZWEuXG4vL1xuLy8gIENVU1RPTSBQUk9QRVJUWSAtLXJwLWxpc3QtaGVpZ2h0IChLaW0ncyBkZWNpc2lvbiwgMzAuMDcuMjAyNik6IHRoZSB3aG9sZVxuLy8gIGFyZWEgYmVsb3cgdGhlIHNlYXJjaCBmaWVsZCAoLnJwLWJvZHkgLSBoaW50IC8gZW1wdHkgLyBidXN5IC8gcmVzdWx0cyxcbi8vICBhbGwgb2YgaXQpIGlzIGEgRklYRUQtaGVpZ2h0IGJveCB3aXRoIGl0cyBvd24gc2Nyb2xsLCBzZXQgYnkgdGhpcyBjdXN0b21cbi8vICBwcm9wZXJ0eSAoZGVmYXVsdCAzMjBweCBiZWxvdykuIEJlZm9yZSB0aGlzLCB0aGUgcGFuZWwgZ3JldyBhbmQgc2hyYW5rXG4vLyAgd2hpbGUgdHlwaW5nIC0gaGludCwgdGhlbiByZXN1bHRzLCB0aGVuIG1heWJlIGVtcHR5IC0gd2hpY2ggbWFkZSBhXG4vLyAgcGhvbmUncyBib3R0b20gc2hlZXQganVtcCBhcm91bmQgYXMgeW91IHR5cGVkLiBOb3cgdGhlIGNvbXBvbmVudCdzIG93blxuLy8gIG91dGVyIHNpemUgbmV2ZXIgY2hhbmdlcyBubyBtYXR0ZXIgd2hpY2ggb2YgdGhvc2Ugc3RhdGVzIC5ycC1ib2R5IGlzXG4vLyAgc2hvd2luZy4gVGhpcyBjb21wb25lbnQgaXMgdXNlZCBpbnNpZGUgVFdPIGRpZmZlcmVudCB3cmFwcGVycyAoYSBib3R0b21cbi8vICBzaGVldCBvbiBwaG9uZSwgYSBjZW50ZXJlZCBkaWFsb2cgb24gdGFibGV0L2Rlc2t0b3ApLCBzbyBpdCBtYWtlcyBub1xuLy8gIGFzc3VtcHRpb24gYWJvdXQgaXRzIG93biBvdXRlciBzaXplIGJleW9uZCB0aGlzIG9uZSBmaXhlZCBpbm5lciBoZWlnaHQgLVxuLy8gIGEgaG9zdCBvbiBhIGJpZ2dlciBzY3JlZW4gY2FuIHNldCBhIHJvb21pZXIgdmFsdWUsIGUuZy46XG4vLyAgICAubXktZGlhbG9nIHFkbmFwcm8tcmVjaXBpZW50LXBpY2tlciB7IC0tcnAtbGlzdC1oZWlnaHQ6IDQyMHB4OyB9XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQHVzZSAnLi4vLi4vLi4vbW9kdWxlcy9taXhpbnMnIGFzICo7XG5cbi8vIGBoaWRkZW5gIE1PRVQgaGV0IHdpbm5lbiB2YW4gb256ZSBlaWdlbiBkaXNwbGF5LXJlZ2VscywgZW4gZGF0IGRvZXQgaGV0IG5pZXQgdmFuemVsZi5cbi8vIEhldCBjb21wb25lbnQgc2NoYWtlbHQgdmlqZiBibG9ra2VuIGFhbiBlbiB1aXQgbWV0IGhldCBgaGlkZGVuYC1hdHRyaWJ1dXQgKGRlXG4vLyByZXN1bHRhdGVuLXNlY3RpZWtvcCwgZGUgaGludCwgZGUgbGVnZSB1aXRzbGFnLCBkZSBiZXppZy1zdGFuZCBlbiBkZSByZXN1bHRhdGVubGlqc3QpLlxuLy8gYGhpZGRlbmAga3Jpamd0IHppam4gYGRpc3BsYXk6IG5vbmVgIGFsbGVlbiB1aXQgZGUgc3R5bGVzaGVldCB2YW4gZGUgQlJPV1NFUiwgZW4gZWxrZVxuLy8gZWlnZW4gYGRpc3BsYXlgLXJlZ2VsIHZlcnNsYWF0IGRpZS4gVHdlZSB2YW4gZGllIHZpamYgYmxva2tlbiB6ZXR0ZW4gYGRpc3BsYXk6IGZsZXhgIGVuXG4vLyBzdG9uZGVuIGRhYXJkb29yIGFsdGlqZCBpbiBiZWVsZDogZGUgbGVnZSByZXN1bHRhdGVubGlqc3QsIGVuIGhldCBkcmFhaWVuZGUgc3Bpbm5lcnRqZVxuLy8gb29rIGFscyBlciBuaWV0cyBhYW4gaGV0IGxhZGVuIHdhcy4gRGF0IGxhYXRzdGUgaXMgaW4gZWVuIGJyb3dzZXIgZ2V6aWVuLCBvcCAzMC4wNy4yMDI2LFxuLy8gbWV0IGBidXN5YCBOSUVUIGdlemV0LlxuLy9cbi8vIEXDqW4gcmVnZWwgb3AgZGUgaG9zdCBpbiBwbGFhdHMgdmFuIGAmW2hpZGRlbl1gIGJpaiBlbGsgYmxvazogZGFuIGthbiBlZW4gdm9sZ2VuZCBibG9rIG1ldFxuLy8gZWVuIGVpZ2VuIGRpc3BsYXktcmVnZWwgZGV6ZSB2YWwgbmlldCBvcG5pZXV3IGludHJvZHVjZXJlbi4gU3BlY2lmaWNpdGVpdCBuYWdlcmVrZW5kOlxuLy8gKDAsMiwwKSB0ZWdlbiBkZSAoMCwxLDApIHZhbiBlZW4gbG9zc2UgYC5ycC0qYC1rbGFzc2UsIGR1cyBkZXplIHdpbnQsIGVuIGVyIGlzIGdlZW5cbi8vIGAhaW1wb3J0YW50YCB2b29yIG5vZGlnLlxuLnFkbmFwcm8tcmVjaXBpZW50LXBpY2tlciBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnFkbmFwcm8tcmVjaXBpZW50LXBpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tcy00KTtcbn1cblxuLy8gRmxhdCAucnAtKiBlbGVtZW50IGNsYXNzZXMgdGhyb3VnaG91dCAobm90IEJFTSAmX18gbmVzdGluZyB1bmRlciB0aGUgaG9zdFxuLy8gY2xhc3MpIC0gbWF0Y2hlcyBxZG5hcHJvLWZpbHRlci1zaGVldCdzIG93biAuZnMtKiBjb252ZW50aW9uIGZvciB0aGUgc2FtZVxuLy8ga2luZCBvZiBpbnRlcm5hbCBsYXlvdXQgcGllY2UuXG4ucnAtc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1tZWRpdW0pO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tcy0xKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zLTIpO1xufVxuXG4vLyAtLS0tLS0tLS0tIHNlYXJjaCAtLS0tLS0tLS0tXG4vL1xuLy8gSG9yaXpvbnRhbCBpbnNldCBvZiB2YXIoLS1zLTEpLCBtYXRjaGluZyB0aGUgcm93cyBiZWxvdyAoLnJwLXJvdyBhbHJlYWR5XG4vLyBpbnNldHMgYnkgdmFyKC0tcy0xKSB2aWEgaXRzIG93biBwYWRkaW5nKSAtIE5PVCBqdXN0IGNvc21ldGljIGFsaWdubWVudC5cbi8vIHFkbmFwcm8taW5wdXQgZHJhd3MgaXRzIGZvY3VzIHJpbmcgYXMgYSBgYm94LXNoYWRvdzogMCAwIDAgM3B4YCBvblxuLy8gLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiAoX2lucHV0LnNjc3MpLCB3aGljaCBzaXRzIE9VVFNJREUgdGhlIGlucHV0J3Ncbi8vIG93biBib3JkZXItYm94IGFuZCBuZWVkcyByb29tIHRoZXJlLiBUaGlzIGNvbXBvbmVudCBjYW4gYmUgZW1iZWRkZWQgaW4gYVxuLy8gcWRuYXByby1ib3R0b20tc2hlZXQsIHdob3NlIC5icy1ib2R5IHNldHMgYG92ZXJmbG93LXk6IGF1dG9gIC0gcGVyIHRoZSBDU1Ncbi8vIHNwZWMgdGhhdCBhbHNvIGZvcmNlcyBvdmVyZmxvdy14IHRvIGJlaGF2ZSBhcyBgYXV0b2AgKGEgbG9uZSBheGlzIGNhbm5vdFxuLy8gc3RheSBgdmlzaWJsZWAgb25jZSB0aGUgb3RoZXIgb25lIGlzbid0KSwgc28gdGhhdCBhbmNlc3RvciBjbGlwc1xuLy8gaG9yaXpvbnRhbGx5IHRvbyBldmVuIHRob3VnaCBpdCBvbmx5IG1lYW50IHRvIHNjcm9sbCB2ZXJ0aWNhbGx5LiBXaXRob3V0XG4vLyB0aGlzIGluc2V0IHRoZSBmb2N1cyByaW5nIGhhZCBub3doZXJlIHRvIGdvIGFuZCBnb3QgY2xpcHBlZCBsZWZ0ICsgcmlnaHRcbi8vIChzZWVuIGJ5IEtpbSBvbiBoZXIgaVBhZCwgMzAuMDcuMjAyNikuIEZpeGVkIGhlcmUsIGluIE9VUiBPV04gY29tcG9uZW50LFxuLy8gcmF0aGVyIHRoYW4gdG91Y2hpbmcgcWRuYXByby1ib3R0b20tc2hlZXQgaXRzZWxmIC0gdGhhdCBjb21wb25lbnQgaXNcbi8vIHNoYXJlZCBieSBtYW55IG90aGVyIHNjcmVlbnMgYW5kIGlzIG5vdCB0aGlzIGNoYW5nZSdzIHRvIGFsdGVyLlxuLnJwLXNlYXJjaCB7XG4gICAgcGFkZGluZzogMCB2YXIoLS1zLTEpO1xuXG4gICAgcWRuYXByby1pbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLSBib2R5IChoaW50IC8gYnVzeSAvIHJlc3VsdHMgLyBlbXB0eSkgLS0tLS0tLS0tLVxuLy9cbi8vIEZpeGVkIGhlaWdodCArIGl0cyBvd24gc2Nyb2xsIChzZWUgLS1ycC1saXN0LWhlaWdodCBpbiB0aGUgZmlsZSBoZWFkZXJcbi8vIGFib3ZlKSAtIGhpbnQsIGVtcHR5LCBidXN5IGFuZCB0aGUgcmVzdWx0cyBsaXN0IGFsbCBsaXZlIGluIGhlcmUsIHNvIHRoZVxuLy8gY29tcG9uZW50J3Mgb3V0ZXIgc2l6ZSBzdGF5cyBjb25zdGFudCBubyBtYXR0ZXIgd2hpY2ggb2YgdGhvc2UgaXNcbi8vIHNob3dpbmcuXG4ucnAtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogdmFyKC0tcnAtbGlzdC1oZWlnaHQsIDMyMHB4KTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIEBpbmNsdWRlIHFkbmEtc2Nyb2xsYmFyO1xufVxuXG4ucnAtaGludCxcbi5ycC1lbXB0eSB7XG4gICAgcGFkZGluZzogdmFyKC0tcy00KSB2YXIoLS1zLTEpO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnJwLWJ1c3kge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zLTYpIDA7XG59XG5cbi5ycC1zcGlubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWMtYm9yZGVyLXNvZnQtMiwgI2U2ZTllZik7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUpO1xuICAgIGFuaW1hdGlvbjogcnAtc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBycC1zcGluIHtcbiAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAucnAtc3Bpbm5lciB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS42cztcbiAgICB9XG59XG5cbi5ycC1yZXN1bHRzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXMtMSk7XG59XG5cbi8vIC0tLS0tLS0tLS0gcm93IChyZXN1bHRzIG9ubHkgLSBubyBtb3JlIHNlcGFyYXRlIGFzc2lnbmVkIHJvd3MpIC0tLS0tLS0tLS1cblxuLnJwLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tcy0zKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zLTIpIHZhcigtLXMtMSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0yKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1zdWJ0bGUtaG92ZXIpO1xuICAgIH1cblxuICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ycC1yb3ctbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4OiAxO1xufVxuXG4ucnAtcm93LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZnctbWVkaXVtKTtcbiAgICBjb2xvcjogdmFyKC0tYy10ZXh0LWJvZHkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnJwLXJvdy1yb2xlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8vIEFjY2Vzcy1sYWJlbCAtIHRoZSByZWFzb24gYW4gYWxyZWFkeV9hc3NpZ25lZCByb3cgaXMgZGlzYWJsZWQuIFNpdHMgdG8gdGhlXG4vLyByaWdodCBvZiB0aGUgcm93IChycC1yb3ctbWV0YSBhYm92ZSB1c2VzIGZsZXg6MSwgc28gdGhpcyB0cmFpbGluZyBlbGVtZW50XG4vLyBuZXZlciBoYXMgdG8gZmlnaHQgaXQgZm9yIHNwYWNlKTsgY2FsbSArIG11dGVkLCBzYW1lIHRva2VuIGFzIHRoZSByb2xlXG4vLyB0ZXh0LCBuYW1lIGFuZCByb2xlIHN0YXkgcHV0IG9uIHRoZSBsZWZ0LlxuLnJwLXJvdy1hY2Nlc3Mge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8vIC0tLS0tLS0tLS0gZm9vdGVyIC0tLS0tLS0tLS1cblxuLnJwLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogdmFyKC0tcy0yKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcy0yKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYy1ib3JkZXItc29mdC0yLCAjZTZlOWVmKTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIFNoYXJlZCBtaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBTY3JvbGxiYXJzXG4vLyAgVXNlIHRoZXNlIGluc3RlYWQgb2YgY29weS1wYXN0aW5nIDo6LXdlYmtpdC1zY3JvbGxiYXIgcnVsZXNcbi8vICBwZXIgcGFnZS4gVHdvIGZsYXZvdXJzOlxuLy9cbi8vICAgIHFkbmEtc2Nyb2xsYmFyICAgICAgICAgbWluaW1hbCwgaG92ZXItcmV2ZWFsIChtYWNPUyBvdmVybGF5XG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKTogaW52aXNpYmxlIGF0IHJlc3QsIGEgdGhpbiBzb2Z0XG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgIHRodW1iIGZhZGVzIGluIG9uIGhvdmVyL3Njcm9sbC4gTm8gdHJhY2suXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBvbiBsb25nIHByaW1hcnkgY29udGVudCAobGlzdHMsXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbCBwYW5lcykgd2hlcmUgc2Nyb2xsIGFmZm9yZGFuY2Vcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0dGVycy5cbi8vXG4vLyAgICBxZG5hLXNjcm9sbGJhci1oaWRkZW4gIGZ1bGx5IGhpZGRlbiBiYXIsIGNvbnRlbnQgc3RheXNcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZSAod2hlZWwvdHJhY2twYWQpLiBVc2Ugb25cbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvcnQgbGlzdHMsIGhvcml6b250YWwgc3RyaXBzIGFuZFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmRhcnkgb3ZlcmZsb3cgYXJlYXMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHFkbmEtc2Nyb2xsYmFyIHtcbiAgICAvLyBXZWJraXQtb25seSAoQ2hyb21lL1NhZmFyaS9FZGdlKS4gV2UgaW50ZW50aW9uYWxseSBkbyBOT1Qgc2V0IHRoZVxuICAgIC8vIHN0YW5kYXJkIGBzY3JvbGxiYXItd2lkdGhgL2BzY3JvbGxiYXItY29sb3JgIGhlcmU6IG1vZGVybiBDaHJvbWUgaG9ub3Vyc1xuICAgIC8vIHRob3NlIGtleXdvcmRzIGFuZCB0aGVuIElHTk9SRVMgdGhlIDo6LXdlYmtpdC1zY3JvbGxiYXIgcHNldWRvLCBmb3JjaW5nXG4gICAgLy8gYSB+MTFweCBcInRoaW5cIiBiYXIuIFdlYmtpdCBwc2V1ZG8gbGV0cyB1cyBwaW4gaXQgdG8gZXhhY3RseSA4cHggKyBkbyB0aGVcbiAgICAvLyBob3Zlci1yZXZlYWwuIEZpcmVmb3ggZmFsbHMgYmFjayB0byBpdHMgZGVmYXVsdCBzY3JvbGxiYXIuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogOHB4OyBoZWlnaHQ6IDhweDsgfVxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAgICAgICAgICAgICAgICAgICAgIC8vIGhpZGRlbiBhdCByZXN0XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlO1xuICAgIH1cbiAgICAmOmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYixcbiAgICAmOmZvY3VzLXdpdGhpbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjIpOyB9XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMzQpOyB9XG59XG5cbkBtaXhpbiBxZG5hLXNjcm9sbGJhci1oaWRkZW4ge1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGaXJlZm94XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9sZCBFZGdlL0lFXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogMDsgaGVpZ2h0OiAwOyBkaXNwbGF5OiBub25lOyB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBxZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lIOKAlCBQbGFubmVyIGJvYXJkIGNvcmUgKEYxLCByZWFkLW9ubHkpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBRRE5BIHRva2VucyB1c2VkOlxuLy8gICAgLS1jLWdyZXktMTAwICAjZTdlOWVjICAgcmFzdGVyIGxpbmVzIC8gY2VsbCArIGxhYmVsIGJvcmRlcnNcbi8vICAgIC0tYy1ncmV5LTIwMCAgI2Q4ZGFkZSAgIHNjcm9sbGJhciB0aHVtYlxuLy8gICAgLS1jLWdyZXktNTAwICAjNmI3MjgwICAgbWV0YSB0ZXh0LCB3ZWVrZGF5IGxhYmVscywgXCIrTlwiIG92ZXJmbG93XG4vLyAgICAtLWMtZ3JleS01MCAgICNmMGYxZjIgICBkaXNhYmxlZCBjZWxsIGZpbGxcbi8vICAgIC0tYy1hY3Rpb24tNTAwICM0NjUyZjMgIHRvZGF5IHBpbGwgZmlsbCAoaGVhZGVyIGRheSBudW1iZXIpICsgdG9kYXlcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlZWtkYXkgdGludCAoS2ltLCAyMC4wNy4yMDI2IOKAlCByZXBsYWNlZCB0aGVcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZCBmdWxsLWNlbGwgLS1jLXB1cnBsZS01MCB0b2RheSBoaWdobGlnaHQpXG4vLyAgICAtLWMtcHVycGxlLTUwMCAjNDA0OTlhICAgZm9jdXMgcmluZ1xuLy8gICAgLS1jLWJnLWNhcmQgICAjZmZmICAgICAgb3BhcXVlIGJhY2tncm91bmRzIGZvciB0aGUgc3RpY2t5IGxheWVyc1xuLy8gIFJvd3MgPSBwZW9wbGUvbG9jYXRpb25zIChTVElDS1kgTEVGVCBsYWJlbCBjb2x1bW4pLCBjb2x1bW5zID0gZGF5c1xuLy8gIChTVElDS1kgVE9QIGhlYWRlcikuIEJvdGggbGl2ZSBpbiBPTkUgc2Nyb2xsaW5nIENTUyBHUklEIOKAlCB0aGUgY29sdW1uXG4vLyAgdHJhY2sgbGlzdCBpcyBbbGFiZWwtY29sLCBkYXkgeCBOXSBhbmQgZXZlcnkgc3Vic2VxdWVudCBET00gY2hpbGRcbi8vICBhdXRvLWZsb3dzIGludG8gdGhlIG5leHQgY2VsbCwgc28gYSBkYXRhIHJvdyBpcyBqdXN0IFwibGFiZWwsIHRoZW4gTlxuLy8gIGRheSBjZWxsc1wiIHdpdGggTk8gcGVyLXJvdyB3cmFwcGVyIGRpdi4gVmlydHVhbGl6YXRpb24gKEpTIHNpZGUpIG9ubHlcbi8vICBldmVyIGluc2VydHMvcmVtb3ZlcyB0aGF0IGZsYXQgcnVuIG9mIGNoaWxkcmVuIGJldHdlZW4gdHdvIHNwYWNlciByb3dzXG4vLyAgdGhhdCBzcGFuIGV2ZXJ5IGNvbHVtbiAoZ3JpZC1jb2x1bW46IDEgLyAtMSkgYW5kIGNhcnJ5IGFuIGlubGluZSBoZWlnaHRcbi8vICBzdGFuZGluZyBpbiBmb3IgdGhlIHJvd3MgdGhhdCBhcmUgbm90IGN1cnJlbnRseSByZW5kZXJlZC5cbi8vICBGTEFUIENTUyAobm8gU0NTUyBuZXN0aW5nKSwgbWF0Y2hpbmcgdGhlIHRpbWUtZ3JpZCAvIG1vbnRoLWdyaWQgc2libGluZ3MuXG5cbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lIHtcbiAgLy8gUHVibGljIENTUyBob29rcyAoZGVuc2l0eS9sYXlvdXQpLiAtLXJlc291cmNlLXRpbWVsaW5lLXJvdyBpcyBub3dcbiAgLy8gT1BUSU9OQUwgKEtpbSwgMTYuMDcuMjAyNiDigJQgcGVyLXJvdyBhdXRvIGhlaWdodCBtb2RlbCwgc2VlIHRoZVxuICAvLyBjb21wb25lbnQgSlMgaGVhZGVyIGNvbW1lbnQpOiB1bnNldCBieSBkZWZhdWx0LCBzbyBlYWNoIHJvdyBhdXRvLXNpemVzXG4gIC8vIGZyb20gaXRzIG93biBjb250ZW50IChjb21wYWN0IHdoZW4gZW1wdHksIGdyb3duIHRvIGZpdCBpdHMgYnVzaWVzdFxuICAvLyBjZWxsJ3MgY2hpcHMpLiBTZXR0aW5nIC0tcmVzb3VyY2UtdGltZWxpbmUtcm93IHJlaW5zdGF0ZXMgdGhlIE9MRFxuICAvLyBmaXhlZC1oZWlnaHQgYmVoYXZpb3VyIGFzIGEgcGVyLXJvdyBNSU5JTVVNIChiYWNrd2FyZCBjb21wYXQgb25seSkuXG4gIC0tcmVzb3VyY2UtdGltZWxpbmUtbGFiZWwtY29sOiAyMjBweDtcbiAgLS1yZXNvdXJjZS10aW1lbGluZS1yb3ctY29tcGFjdDogNDRweDtcbiAgLy8gSGVhZGVyIHJvdyBoZWlnaHQg4oCUIGludGVybmFsLCBidXQgc3R5bGVhYmxlIGxpa2UgdGhlIHR3byBhYm92ZVxuICAtLXJlc291cmNlLXRpbWVsaW5lLWhlYWRlcjogNDRweDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXRoZW1lLWZvbnQtZmFtaWx5LCBcIkludGVyXCIsIHNhbnMtc2VyaWYpO1xufVxuXG4vLyBUaGUgb25lIHNjcm9sbCBzdXJmYWNlOiBhIENTUyBncmlkLCBbbGFiZWwtY29sLCBkYXkgeCBOXSB0cmFja3MuXG4vLyBOT1RFOiByZXBlYXQoKSBjYW5ub3QgdGFrZSBhIHZhcigpIGFzIGl0cyBjb3VudCAoaW52YWxpZCBDU1Mg4oCUIHRoZSB3aG9sZVxuLy8gZGVjbGFyYXRpb24gd291bGQgYmUgZHJvcHBlZCBhbmQgdGhlIGdyaWQgY29sbGFwc2VzIHRvIG9uZSBjb2x1bW4pLCBzb1xuLy8gdGhpcyBpcyBvbmx5IHRoZSA3LWRheSBERUZBVUxUOyByZW5kZXIoKSBzZXRzIHRoZSByZWFsIHRyYWNrIGxpc3QgaW5saW5lXG4vLyBwZXIgdGhlIGFjdHVhbCBgZGF5c2AgYXR0cmlidXRlLlxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX3Njcm9sbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcmVzb3VyY2UtdGltZWxpbmUtbGFiZWwtY29sKSByZXBlYXQoNywgMWZyKTtcbiAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIC8vIE9wYXF1ZSBzdXJmYWNlOiBhbHNvIGNvdmVycyB0aGUgdmlydHVhbGl6YXRpb24gc3BhY2Vycywgc28gZmFzdFxuICAvLyBzY3JvbGxpbmcgbmV2ZXIgZmxhc2hlcyB0aGUgKHRpbnRlZCkgcGFnZSBiYWNrZ3JvdW5kIHRocm91Z2guXG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCwgI2ZmZik7XG59XG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xufVxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX3Njcm9sbDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktMjAwLCAjZDhkYWRlKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX3Njcm9sbDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gLS0tIFN0aWNreSBjb3JuZXIgKyBoZWFkZXIgZGF5IGNlbGxzIChwaW5uZWQgdG8gdGhlIHRvcCkgLS0tXG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fY29ybmVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA0O1xuICBoZWlnaHQ6IHZhcigtLXJlc291cmNlLXRpbWVsaW5lLWhlYWRlcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCwgI2ZmZik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLWdyZXktMTAwLCAjZTdlOWVjKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYy1ncmV5LTEwMCwgI2U3ZTllYyk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vIHNlYXJjaGFibGUgY29ybmVyOiBob3VzZXMgdGhlIGxpYnJhcnkgPHFkbmFwcm8taW5wdXQgdHlwZT1cInNlYXJjaFwiPiAoc2VlXG4vLyBxZG5hLXJlc291cmNlLXRpbWVsaW5lLmpzIF9idWlsZENvcm5lcikg4oCUIHNhbWUgZm9vdHByaW50IGFzIHRoZSBwbGFpblxuLy8gY29ybmVyIGNlbGwgYWJvdmUsIG9ubHkgcHJlc2VudCB3aGVuIHRoZSBgc2VhcmNoYWJsZWAgYXR0cmlidXRlIGlzIHNldC5cbi8vIFRoZSBpbnB1dCBicmluZ3MgaXRzIG93biBpY29uL2NsZWFyLXgvZm9jdXMgc3R5bGluZywgc28gdGhpcyBpcyBsYXlvdXRcbi8vIG9ubHk6IGZpbGwgdGhlIGNvcm5lciBhbmQgbGV0IHFkbmFwcm8taW5wdXQncyBvd24gc2l6ZT1cInNtYWxsXCIgKDQwcHgpXG4vLyBjZW50cmUgaW5zaWRlIHRoZSA0NHB4IC0tcmVzb3VyY2UtdGltZWxpbmUtaGVhZGVyLlxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2Nvcm5lci0tc2VhcmNoIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxMHB4O1xufVxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2Nvcm5lci0tc2VhcmNoIC5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX19zZWFyY2hpbnB1dCB7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbn1cbi8vIFJlYWwgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCI+IG5vdyAoS2ltLCAxNi4wNy4yMDI2IOKAlCBcImFscyBpayBvcCBkZSBkYXR1bVxuLy8ga2xpayB3aWwgaWsgZGUgZGFndmlldyB6aWVuXCIpLCBzbyB0aGlzIHJlc2V0cyB0aGUgYnJvd3NlcidzIGRlZmF1bHQgYnV0dG9uXG4vLyBjaHJvbWUgKGJvcmRlci9iYWNrZ3JvdW5kL2ZvbnQvYXBwZWFyYW5jZSkgdG8ga2VlcCB0aGUgc3RpY2t5IGhlYWRlciBjZWxsXG4vLyBsb29raW5nIGlkZW50aWNhbCB0byB0aGUgb2xkIGRpdiwgdGhlbiBhZGRzIHBvaW50ZXIvaG92ZXIvZm9jdXMgYWZmb3JkYW5jZXMuXG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fZGF5Y2VsbCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDFweDtcbiAgaGVpZ2h0OiB2YXIoLS1yZXNvdXJjZS10aW1lbGluZS1oZWFkZXIpO1xuICBtaW4td2lkdGg6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCwgI2ZmZik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLWdyZXktMTAwLCAjZTdlOWVjKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYy1ncmV5LTEwMCwgI2U3ZTllYyk7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX19kYXljZWxsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTUwLCAjZjBmMWYyKTtcbn1cbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX19kYXljZWxsOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggdmFyKC0tYy1wdXJwbGUtNTAwLCAjNDA0OTlhKTtcbn1cbi8vIFRPREFZIChLaW0sIDIwLjA3LjIwMjYpOiBubyBtb3JlIGZ1bGwtY2VsbCBwdXJwbGUgZmlsbCDigJQgaXQgcmVhZCBhc1xuLy8gY2x1bmt5IChcImxvbXBcIikuIEluc3RlYWQgYSBjb21wYWN0IEdvb2dsZS1zdHlsZSBwaWxsIHNpdHMgYXJvdW5kIEpVU1QgdGhlXG4vLyBkYXkgbnVtYmVyIChzZWUgLmlzLXRvZGF5IC5kYXludW0gYmVsb3cpLCBzbyB0aGUgdG9kYXkgY2VsbCBrZWVwcyB0aGVcbi8vIHNhbWUgbmV1dHJhbCBiYWNrZ3JvdW5kICsgaG92ZXIgYXMgZXZlcnkgb3RoZXIgaGVhZGVyIGNlbGwuXG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fd2Vla2RheSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktNTAwLCAjNmI3MjgwKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbn1cbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX19kYXludW0ge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTgwMCwgIzFjMWIyOSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vLyBXZWVrZGF5IGxhYmVsIHRpbnRzIHRvIHRoZSBhY3Rpb24gY29sb3Igb24gdG9kYXkgKG1hdGNoZXMgdGhlIHBpbGwpLlxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2RheWNlbGwuaXMtdG9kYXkgLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX3dlZWtkYXkge1xuICBjb2xvcjogdmFyKC0tYy1hY3Rpb24tNTAwLCAjNDY1MmYzKTtcbn1cbi8vIFRoZSBwaWxsOiBmaWxsZWQgLS1jLWFjdGlvbi01MDAgY2hpcCBodWdnaW5nIGp1c3QgdGhlIGRheSBudW1iZXIsIGtlcHRcbi8vIGRlbGliZXJhdGVseSBzbWFsbCAodGlnaHQgcGFkZGluZywgbm8gZml4ZWQgc2l6ZSkgc28gaXQgc3RheXMgc3VidGxlclxuLy8gdGhhbiBHb29nbGUncyBvdmVyc2l6ZWQgY2lyY2xlLlxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2RheWNlbGwuaXMtdG9kYXkgLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2RheW51bSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWFjdGlvbi01MDAsICM0NjUyZjMpO1xuICBwYWRkaW5nOiAxcHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbn1cbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX190b2RheXRhZyB7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTFweDtcbiAgY29sb3I6IHZhcigtLWMtYWN0aW9uLTUwMCwgIzQ2NTJmMyk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG59XG4vLyBUaGUgcGlsbCBub3cgY2FycmllcyB0aGUgXCJ0b2RheVwiIHNpZ25hbCwgc28gdGhlIHJlZHVuZGFudCBWQU5EQUFHIHRhZyBpc1xuLy8gaGlkZGVuIChhbHNvIGtlZXBzIHdlZWtkYXkgKyBwaWxsIHdpdGhpbiB0aGUgNDRweCBoZWFkZXIgaGVpZ2h0KS4gVGhlIEpTXG4vLyBzdGlsbCBlbWl0cyBpdDsgZmxpcCB0aGlzIHRvIGBpbmxpbmVgIHRvIGJyaW5nIGl0IGJhY2suXG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fZGF5Y2VsbC5pcy10b2RheSAucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fdG9kYXl0YWcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyAtLS0gVmlydHVhbGl6YXRpb24gc3BhY2Vyczogb25lIGdyaWQgcm93IGVhY2gsIHNwYW5uaW5nIGV2ZXJ5IGNvbHVtbiAtLS1cbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX190b3BzcGFjZSxcbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX19ib3RzcGFjZSB7XG4gIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIGhlaWdodDogMDtcbn1cblxuLy8gLS0tIFN0aWNreSBsYWJlbCBjb2x1bW4gKHBpbm5lZCB0byB0aGUgbGVmdCkgLS0tXG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fbGFiZWwge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIC8vIEZhbGxiYWNrIG9ubHkg4oCUIHRoZSBjb21wb25lbnQgc2V0cyB0aGUgUkVBTCBwZXItcm93IGhlaWdodCBpbmxpbmUgaW5cbiAgLy8gX3JlbmRlcldpbmRvdygpIChlYWNoIHJvdyBhdXRvLXNpemVzIGZyb20gaXRzIG93biBjb250ZW50LCBzZWUgdGhlIEpTXG4gIC8vIGhlYWRlciBjb21tZW50J3MgUEVSLVJPVyBBVVRPIEhFSUdIVCBzZWN0aW9uKS4gVGhpcyBqdXN0IGF2b2lkcyBhXG4gIC8vIGhlaWdodDphdXRvIGZsYXNoIGJlZm9yZSBKUyBmaXJzdCBydW5zLlxuICBoZWlnaHQ6IHZhcigtLXJlc291cmNlLXRpbWVsaW5lLXJvdy1jb21wYWN0LCA0NHB4KTtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwIDEycHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCwgI2ZmZik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLWdyZXktMTAwLCAjZTdlOWVjKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYy1ncmV5LTEwMCwgI2U3ZTllYyk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fbGFiZWx0ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcHg7XG4gIG1pbi13aWR0aDogMDtcbn1cbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX19sYWJlbG5hbWUge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTgwMCwgIzFjMWIyOSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2xhYmVsbWV0YSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktNTAwLCAjNmI3MjgwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8vIC0tLSBEYXkgY2VsbHMgKGdyaWQgYm9keSkgLS0tXG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fY2VsbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG4gIG1pbi13aWR0aDogMDtcbiAgLy8gRmFsbGJhY2sgb25seSDigJQgdGhlIGNvbXBvbmVudCBzZXRzIHRoZSBSRUFMIHBlci1yb3cgaGVpZ2h0IGlubGluZSBpblxuICAvLyBfcmVuZGVyV2luZG93KCkgKGVhY2ggcm93IGF1dG8tc2l6ZXMgZnJvbSBpdHMgb3duIGNvbnRlbnQ6IGNvbXBhY3Qgd2hlblxuICAvLyB0aGUgcm93IGhhcyBubyBpdGVtcyBpbiB0aGUgdmlzaWJsZSByYW5nZSwgZWxzZSBncm93biB0byBmaXQgaXRzXG4gIC8vIGJ1c2llc3QgY2VsbCdzIGNoaXBzIOKAlCBzZWUgdGhlIEpTIGhlYWRlciBjb21tZW50J3MgUEVSLVJPVyBBVVRPIEhFSUdIVFxuICAvLyBzZWN0aW9uKS4gVGhpcyBqdXN0IGF2b2lkcyBhIGhlaWdodDphdXRvIGZsYXNoIGJlZm9yZSBKUyBmaXJzdCBydW5zLlxuICBoZWlnaHQ6IHZhcigtLXJlc291cmNlLXRpbWVsaW5lLXJvdy1jb21wYWN0LCA0NHB4KTtcbiAgcGFkZGluZzogM3B4IDRweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLy8gT3BhcXVlIGNlbGxzOiB0aGUgYm9hcmQgaXMgYSBjYWxlbmRhciBTVVJGQUNFLiBUcmFuc3BhcmVudCBjZWxscyBtYWRlXG4gIC8vIHRoZSByYXN0ZXIgaW52aXNpYmxlIG9uIHRpbnRlZCBwYWdlIGJhY2tncm91bmRzIChLaW0sIDE2LjA3LjIwMjYg4oCUXG4gIC8vIFwiZ2VlbiBjYWxlbmRlciBjZWxsZW4gdGUgemllblwiIG9uIHRoZSBsYXZlbmRlciBiYWNrb2ZmaWNlIGJnKS5cbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkLCAjZmZmKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jLWdyZXktMTAwLCAjZTdlOWVjKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2NlbGwuaXMtdG9kYXkge1xuICAvLyBIYXJkLCB2ZXJ5IGxpZ2h0IHRpbnQg4oCUIE5PVCB0aGUgLS1jLXB1cnBsZS1zb2Z0LTEyIHRva2VuLCB3aGljaFxuICAvLyBhcHBhcmVudGx5IHJlc29sdmVzIGRhcmtlciB0aGFuIGl0cyBkb2N1bWVudGVkIGZhbGxiYWNrIGluIHByYWN0aWNlXG4gIC8vIChLaW0sIDE2LjA3LjIwMjY6IFwidmVlbCB0ZSBkb25rZXI7IGdyaWpzLTUwIG9mIHBhYXJzLTUwIGxpY2h0IGlzXG4gIC8vIHZvbGRvZW5kZVwiIOKAlCB0b2RheS1rb2xvbSBtb2V0IHN1YnRpZWwgemlqbiwgdW5saWtlIHRoZSBoZWFkZXIgZGF5Y2VsbFxuICAvLyBhYm92ZSB3aGljaCBNQVkgcG9wIHdpdGggcHVycGxlLTUwKS5cbiAgYmFja2dyb3VuZDogcmdiYSg2NCwgNzMsIDE1NCwgMC4wNCk7XG59XG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fY2VsbC5pcy1lbXB0eSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8vIERpYWdvbmFsIGhhdGNoIOKAlCBTSEFSRUQgYmV0d2VlbiAuaXMtZGlzYWJsZWQgYW5kIC5pcy11bmF2YWlsYWJsZSAoUUROQVxuLy8gUGxhbm5lciBhdmFpbGFiaWxpdHkgcm91bmQgMiwgMTcuMDcuMjAyNjogbm9uLWJsb2NraW5nIHBsYW5uaW5nXG4vLyBwaGlsb3NvcGh5KS4gQm90aCByZWFkIGFzIFwiYmxvY2tlZCBjYWxlbmRhciB0aW1lXCIgYXQgYSBnbGFuY2UgdmlhIHRoZSBzYW1lXG4vLyBwYXR0ZXJuIChhIGZsYXQgdGludCB3b3VsZCBiZSBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGJvdGggdGhlIHBhcnRpYWwtZGF5XG4vLyBjb2xvciB0aW50IGFuZCB0aGUgdG9kYXktY29sdW1uIHRpbnQpLCBvbmx5IHRoZSBjdXJzb3IgKyBpbnRlcmFjdGl2aXR5XG4vLyBkaWZmZXIg4oCUIHRoZSBncmFkaWVudCBsaXRlcmFsIGxpdmVzIGhlcmUgT05DRSwgbm90IGR1cGxpY2F0ZWQgcGVyIGNsYXNzOlxuLy8gICAuaXMtZGlzYWJsZWQgICAg4oCUIEhBUkQgYmxvY2s6IG5vbi1pbnRlcmFjdGl2ZSAobm8gcHJlc3MgZXZlbnRzOyBkcmFnLVxuLy8gICAgICAgICAgICAgICAgICAgICBvdmVyL2Ryb3AgcmVqZWN0ZWQgaW4gdGhlIEpTIOKAlCBzZWUgX29uQ2VsbERyYWdPdmVyL1xuLy8gICAgICAgICAgICAgICAgICAgICBfb25DZWxsRHJvcCdzIGlzLWRpc2FibGVkIGNoZWNrcykuXG4vLyAgIC5pcy11bmF2YWlsYWJsZSDigJQgU09GVCBibG9jazogc3RheXMgZnVsbHkgaW50ZXJhY3RpdmUgKHByZXNzIGV2ZW50c1xuLy8gICAgICAgICAgICAgICAgICAgICBzdGlsbCBmaXJlLCBkcmFnLW92ZXIvZHJvcCBzdGlsbCBhbGxvd2VkIOKAlCB0aGVcbi8vICAgICAgICAgICAgICAgICAgICAgY29uc3VtZXIgaXMgZXhwZWN0ZWQgdG8gY29uZmlybSBiZWZvcmUgcGxhbm5pbmdcbi8vICAgICAgICAgICAgICAgICAgICAgdGhlcmUpLiBOZXZlciBhZGRlZCB0byB0aGUgSlMncyBpcy1kaXNhYmxlZCByZWplY3Rpb25cbi8vICAgICAgICAgICAgICAgICAgICAgY2hlY2tzLlxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2NlbGwuaXMtZGlzYWJsZWQsXG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fY2VsbC5pcy11bmF2YWlsYWJsZSB7XG4gIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgMTM1ZGVnLFxuICAgIHZhcigtLWMtZ3JleS01MCwgI2YwZjFmMikgMCA2cHgsXG4gICAgcmdiYSgxMDcsIDExNCwgMTI4LCAwLjE0KSA2cHggMTJweFxuICApO1xufVxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2NlbGwuaXMtZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2NlbGwuaXMtdW5hdmFpbGFibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIC0tLSBEcm9wIFRBUkdFVCAoUUROQSBQbGFubmVyIGZhc2UgQSwgYGRyb3BwYWJsZWAgYXR0cmlidXRlKSAtLS1cbi8vIEFkZGVkIGJ5IHFkbmEtcmVzb3VyY2UtdGltZWxpbmUuanMgX29uQ2VsbERyYWdPdmVyIHdoaWxlIGEgdmFsaWRcbi8vIGFwcGxpY2F0aW9uL3gtcWRuYS1waWNrZXIgKG5ldyBpdGVtIGZyb20gYSBwaWNrZXIgcm93KSBvclxuLy8gYXBwbGljYXRpb24veC1xZG5hLWl0ZW0gKGV4aXN0aW5nIGNoaXAgYmVpbmcgbW92ZWQpIGRyYWcgaG92ZXJzIGFcbi8vIG5vbi1kaXNhYmxlZCBjZWxsLiBEaXNhYmxlZCBjZWxscyBuZXZlciBnZXQgdGhpcyBjbGFzcyAoZHJhZ292ZXIgbmV2ZXJcbi8vIHByZXZlbnREZWZhdWx0KClzIHRoZXJlIOKAlCBzZWUgdGhlIEpTKSBzbyB0aGV5IGtlZXAgdGhlIG5hdGl2ZSBuby1kcm9wXG4vLyBjdXJzb3IgaW5zdGVhZC5cbi8vXG4vLyBNYXJjaGluZy1hbnRzIGlkaW9tIGJvcnJvd2VkIDE6MSBmcm9tIHRoZSBob3VzZSBkcm9wem9uZSBjb21wb25lbnRzIOKAlFxuLy8gcWRuYXByby1kcm9wLWdyaWQgKF9kcm9wLWdyaWQuc2NzcywgLmRyb3AtZ3JpZC1jZWxsLWhvdmVyKSBhbmRcbi8vIHFkbmFwcm8tZmlsZS11cGxvYWQgKF9maWxlLXVwbG9hZC5zY3NzLCAucWRuYXByby1maWxlLXVwbG9hZF9fem9uZS5pcy1kcmFnb3Zlcik6XG4vLyBwdXJwbGUgc3Ryb2tlLCA2cHggZGFzaCAvIDZweCBnYXAsIDEuNnMgbGluZWFyIGluZmluaXRlIGNyYXdsLCBzb2Z0IHB1cnBsZVxuLy8gdGludC4gVGhvc2UgY29tcG9uZW50cyBwYWludCB0aGUgYW50cyB3aXRoIGFuIGFic29sdXRlbHkgcG9zaXRpb25lZCBTVkdcbi8vIDxyZWN0IHN0cm9rZS1kYXNoYXJyYXk9XCI2IDZcIj4gY2hpbGQgKHNlZSBxZG5hLWZpbGUtdXBsb2FkLmpzIE1BUkNIX1NWRyxcbi8vIHg9XCIxXCIgeT1cIjFcIiwgc3Ryb2tlLXdpZHRoPVwiMlwiKTsgdGhpcyBjZWxsIGlzIGEgcGxhaW4gZmxhdC1DU1MgZ3JpZCBjZWxsXG4vLyB3aXRoIG5vIHJvb20gdG8gaW5qZWN0IGEgY2hpbGQgZWxlbWVudCB3aXRob3V0IHRvdWNoaW5nIHRoZSBjb21wb25lbnQgSlNcbi8vIChvdXQgb2Ygc2NvcGUgaGVyZSksIHNvIHRoZSBleGFjdCBzYW1lIHZpc3VhbCBpcyByZXByb2R1Y2VkIENTUy1vbmx5OiA0XG4vLyBhbmltYXRlZCByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50IGJhY2tncm91bmQgbGF5ZXJzIChvbmUgcGVyIGVkZ2UpIHdhbGtlZFxuLy8gY2xvY2t3aXNlIHZpYSBgYmFja2dyb3VuZC1wb3NpdGlvbmAsIGluc2V0IDFweCB0byBtYXRjaCB0aGUgU1ZHIHJlY3Qnc1xuLy8geC95PVwiMVwiICsgc3Ryb2tlLXdpZHRoPVwiMlwiIHNvIHRoZSBhbnRzIHNpdCBmbHVzaCB3aXRoIHRoZSBjZWxsJ3Mgb3duXG4vLyBib3JkZXItYm90dG9tL2JvcmRlci1yaWdodCAobm8gbGF5b3V0IHNoaWZ0IOKAlCB0aGlzIGlzIGEgOjpiZWZvcmUgb3ZlcmxheSxcbi8vIG5vdCBhIGJvcmRlci9vdXRsaW5lKS5cbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX19jZWxsLmlzLWRyb3AtdGFyZ2V0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUtc29mdC0xMiwgcmdiYSg2NCwgNzMsIDE1NCwgMC4xMikpO1xufVxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2NlbGwuaXMtZHJvcC10YXJnZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDFweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tYy1wdXJwbGUtNTAwLCAjNDA0OTlhKSAwIDZweCwgdHJhbnNwYXJlbnQgMCAxMnB4KSxcbiAgICByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpIDAgNnB4LCB0cmFuc3BhcmVudCAwIDEycHgpLFxuICAgIHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpIDAgNnB4LCB0cmFuc3BhcmVudCAwIDEycHgpLFxuICAgIHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpIDAgNnB4LCB0cmFuc3BhcmVudCAwIDEycHgpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXgsIHJlcGVhdC14LCByZXBlYXQteSwgcmVwZWF0LXk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTJweCAycHgsIDEycHggMnB4LCAycHggMTJweCwgMnB4IDEycHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwgMCAxMDAlLCAwIDAsIDEwMCUgMDtcbiAgYW5pbWF0aW9uOiBxZG5hLXJlc291cmNlLXRpbWVsaW5lLW1hcmNoIDEuNnMgbGluZWFyIGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBxZG5hLXJlc291cmNlLXRpbWVsaW5lLW1hcmNoIHtcbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEycHggMCwgLTEycHggMTAwJSwgMCAtMTJweCwgMTAwJSAxMnB4O1xuICB9XG59XG4vLyBSZWR1Y2VkIG1vdGlvbjoga2VlcCB0aGUgc3RhdGljIGRhc2hlZCByaW5nIChiYWNrZ3JvdW5kLXBvc2l0aW9uIHNpbXBseVxuLy8gbmV2ZXIgYWR2YW5jZXMpLCBkcm9wIHRoZSBjcmF3bCDigJQgc2FtZSBmYWxsYmFjayBhcyBkcm9wLWdyaWQvZmlsZS11cGxvYWQuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fY2VsbC5pcy1kcm9wLXRhcmdldDo6YmVmb3JlIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLy8gQ2hpcHMg4oCUIGNvbXBhY3QgcWRuYXByby1ldmVudC1jYXJkIChzaXplPVwic21hbGxcIiwgc2VlIHRoZSBKUyBfYnVpbGRDaGlwIOKAlFxuLy8gdGhlIGNhcmQncyBvd24gdmFyaWFudCBub3cgb3ducyB0aGUgdHlwb2dyYXBoeSwgdGhpcyBpcyBMQVlPVVQgb25seSkuXG4vLyBGSUxMIGxlZnRvdmVyIGNlbGwgc3BhY2UgKEtpbSwgMTYuMDcuMjAyNiDigJQgXCJlZW4gaG9nZSBrYWFydCB0b29udCBub2dcbi8vIHN0ZWVkcyAxIHJlZ2VsLCB6b25kZVwiKTogZmxleC1ncm93IHdpdGhpbiB0aGUgY2VsbCdzIGNvbHVtbiBpbnN0ZWFkIG9mIGFcbi8vIGZpeGVkIDIycHgsIHNvIGEgY2VsbCB0aGF0IGdvdCB0aGUgcm93J3MgZnVsbCAodGFsbGVyKSBoZWlnaHQgYmVjYXVzZSBhXG4vLyBTSUJMSU5HIGNlbGwgaW4gdGhlIHNhbWUgcm93IGlzIGJ1c2llciDigJQgYnV0IGl0c2VsZiBob2xkcyBmZXdlci9zaG9ydGVyXG4vLyBpdGVtcyDigJQgbGV0cyBpdHMgY2hpcChzKSBncm93IGludG8gdGhhdCBsZWZ0b3ZlciBzcGFjZSwgd2hlcmUgdGhlIGNhcmQnc1xuLy8gb3duIGhlaWdodC1hd2FyZSB0aXRsZSBjbGFtcCAocWRuYS1ldmVudC1jYXJkLmpzIF9tZWFzdXJlVGl0bGVDbGFtcCkgdGhlblxuLy8gc2hvd3MgbW9yZSB0aGFuIG9uZSBsaW5lLiBtaW4taGVpZ2h0IDIycHggaXMgdGhlIGZsb29yIChhIGZ1bGx5LXBhY2tlZFxuLy8gY2VsbCdzIGNoaXBzIHN0aWxsIGxhbmQgYXQgfjIycHggZWFjaCwgc2FtZSBhcyBiZWZvcmUg4oCUIHRoZSByb3cgaGVpZ2h0XG4vLyBNQVRIIGluIF9jb21wdXRlSGVpZ2h0cy9DSElQX0ggaXMgdW5jaGFuZ2VkLCB0aGlzIG9ubHkgY2hhbmdlcyBob3cgdGhlXG4vLyBBTFJFQURZLWNvbXB1dGVkIGNlbGwgc3BhY2UgaXMgc2hhcmVkIGFtb25nIGl0cyByZW5kZXJlZCBjaGlwcykuXG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fY2hpcCB7XG4gIGZsZXg6IDEgMSAyMnB4O1xuICBtaW4taGVpZ2h0OiAyMnB4O1xuICBwYWRkaW5nOiAycHggNnB4O1xufVxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2NoaXAgLnFkbmFwcm8tZXZlbnQtY2FyZF9fbWV0YSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vLyBjaGlwT3B0aW9ucy5hdmF0YXI6IGV2ZW50LWNhcmQncyBvd24gc21hbGxlc3QgYXZhdGFyIHZhcmlhbnQgKHNpemU9MjApIGlzXG4vLyBzdGlsbCB0b28gdGFsbCBmb3IgdGhpcyAyMnB4IGNoaXAncyB+MThweCBjb250ZW50IGJveCwgc28gaXQncyBkb3duc2l6ZWRcbi8vIGZ1cnRoZXIgaGVyZSB2aWEgdGhlIGF2YXRhcidzIG93biBDU1MgY3VzdG9tIHByb3BlcnRpZXMgKGl0cyBkb2N1bWVudGVkXG4vLyB0aGVtaW5nIGhvb2spIOKAlCBub3QgYSBmb3JrLCBqdXN0IGEgY29udGV4dC1sb2NhbCBzaXplIG92ZXJyaWRlLlxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2NoaXAgLnFkbmFwcm8tZXZlbnQtY2FyZF9fYXZhdGFyIHtcbiAgLS1hdi1zaXplOiAxNnB4O1xuICAtLWF2LXBhZGRpbmc6IDNweDtcbn1cblxuLy8gQ29uZmxpY3QgZG90IChRRE5BIFBsYW5uZXIgYXZhaWxhYmlsaXR5IHJvdW5kIDIsIDE3LjA3LjIwMjYpIOKAlCBSRU1PVkVEXG4vLyAxNy4wNy4yMDI2OiB1bmlmaWVkIHdpdGggcWRuYXByby1ldmVudC1jYXJkJ3Mgb3duIG5hdGl2ZSBgY29uZmxpY3RgXG4vLyBhdHRyaWJ1dGUgKHFkbmEtcmVzb3VyY2UtdGltZWxpbmUuanMgX2J1aWxkQ2hpcCBub3cganVzdCBzZXRzIHRoZVxuLy8gYXR0cmlidXRlIG9uIHRoZSBjaGlwIGVsZW1lbnQ7IHRoZSBjYXJkJ3Mgb3duIHJlbmRlcigpL1NDU1MgZHJhd3MgdGhlXG4vLyBkb3Qg4oCUIHNlZSBfZXZlbnQtY2FyZC5zY3NzJ3MgLnFkbmFwcm8tZXZlbnQtY2FyZF9fY29uZmxpY3QpLiBUaGlzIGJvYXJkXG4vLyBubyBsb25nZXIgcGFpbnRzIGl0cyBvd24gb3ZlcmxheS5cblxuLy8gQ2hpcCBEUkFHIChRRE5BIFBsYW5uZXIgZmFzZSBBLCBgZHJvcHBhYmxlYCBhdHRyaWJ1dGUpIOKAlCBleGlzdGluZyBjaGlwc1xuLy8gYmVjb21lIGRyYWcgc291cmNlcyBhdCBidWlsZCB0aW1lIHdoZW4gZHJvcHBhYmxlIGlzIHNldCAoc2VlIF9idWlsZENoaXApLlxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2NoaXBbZHJhZ2dhYmxlPVwidHJ1ZVwiXSB7XG4gIGN1cnNvcjogZ3JhYjtcbn1cbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX19jaGlwLmlzLWRyYWdnaW5nIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4vLyBEUkFGVCBpdGVtcyAoaXRlbS5kcmFmdCA9PT0gdHJ1ZSwgUUROQSBQbGFubmVyIGZhc2UgQSkg4oCUIGFcbi8vIG5vdC15ZXQtY29uZmlybWVkIHBsYW5uaW5nIGl0ZW0uIERhc2hlZCBib3JkZXIgaW4gdGhlIGNoaXAncyBPV04gc3RhdHVzXG4vLyBjb2xvcjogcWRuYXByby1ldmVudC1jYXJkIHNldHMgYm90aCAtLWV2ZW50LWNhcmQtdGV4dCBhbmQgaXRzIG93blxuLy8gYGNvbG9yOiB2YXIoLS1ldmVudC1jYXJkLXRleHQpYCBvbiBpdHNlbGYgcGVyIHN0YXR1cyAoc2VlXG4vLyBfZXZlbnQtY2FyZC5zY3NzKSwgc28gYGN1cnJlbnRDb2xvcmAgYW5kIHRoZSB2YXIgcmVzb2x2ZSBpZGVudGljYWxseSBoZXJlXG4vLyDigJQgdGhlIGZhbGxiYWNrIGp1c3QgbWFrZXMgdGhhdCBleHBsaWNpdCByYXRoZXIgdGhhbiByZWx5aW5nIG9uIGluaGVyaXRhbmNlXG4vLyBvcmRlci4gQmFja2dyb3VuZCBvcGFjaXR5IGlzIHJlZHVjZWQgdmlhIGNvbG9yLW1peCBvbiB0aGUgY2FyZCdzIG93blxuLy8gLS1ldmVudC1jYXJkLWJnIChzYW1lIHRva2VuLCBub3QgYSBuZXcgY29sb3IpLCBtYXRjaGluZyB0aGVcbi8vIC0tdGhlbWUtYnRuLWNvbG9yIGNvbG9yLW1peCBpZGlvbSBhbHJlYWR5IHVzZWQgZWxzZXdoZXJlIGluIHRoaXMgYnVuZGxlXG4vLyAoX2Fuc3dlci1idXR0b24uc2NzcywgX3VuaXQtaW5wdXQtcm93LnNjc3MpLlxuLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVfX2NoaXAtLWRyYWZ0IHtcbiAgYm9yZGVyOiAxLjVweCBkYXNoZWQgdmFyKC0tZXZlbnQtY2FyZC10ZXh0LCBjdXJyZW50Q29sb3IpO1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tZXZlbnQtY2FyZC1iZywgdHJhbnNwYXJlbnQpIDU1JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fbW9yZSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDFweCA2cHg7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktNTAwLCAjNmI3MjgwKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0xLCA0cHgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vLyBIb3Zlci9mb2N1cyBhZmZvcmRhbmNlcyAoS2ltJ3MgZGF5LWRldGFpbCBkZWNpc2lvbiwgMTYuMDcuMjAyNiDigJQgdGhlIFwiK05cIlxuLy8gbGluZSBiZWNvbWVzIGEgcmVhbCBwcmVzcyB0YXJnZXQsIHNhbWUgaWRpb20gYXMgLnFkbmFwcm8tcmVzb3VyY2UtdGltZWxpbmVcbi8vIF9fZGF5Y2VsbCBhYm92ZSBpdDogdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBhdCByZXN0LCBhIHN1YnRsZSBncmV5IHRpbnQgb25cbi8vIGhvdmVyLCBwdXJwbGUgZm9jdXMgcmluZyBmb3Iga2V5Ym9hcmQgbmF2KS5cbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX19tb3JlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTUwLCAjZjBmMWYyKTtcbn1cbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX19tb3JlOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OlxuICAgIDAgMCAwIDJweCB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpLFxuICAgIDAgMCAwIDZweCB2YXIoLS1jLXB1cnBsZS1zb2Z0LTE4LCByZ2JhKDY0LCA3MywgMTU0LCAwLjE4KSk7XG59XG5cbi8vIFdpZGUgbW9kZSAoZGF5cyA+IDcpOiBkYXkgY29sdW1ucyBnZXQgYSBmbG9vciB3aWR0aCBzbyB0aGV5IHN0YXkgbGVnaWJsZTtcbi8vIHRoZSBzaGFyZWQgZ3JpZCB0aGVuIG92ZXJmbG93cyBhbmQgdGhlIE9ORSBzY3JvbGxlciBnYWlucyBob3Jpem9udGFsIHNjcm9sbC5cbi8vIEF0IGRheXMgPD0gNyB0aGVyZSBpcyBubyBtaW4td2lkdGgsIHNvIGNvbHVtbnMgYWx3YXlzIHNoYXJlIDEwMCUgKG5vIHNjcm9sbCkuXG4ucWRuYXByby1yZXNvdXJjZS10aW1lbGluZS0td2lkZSAucWRuYXByby1yZXNvdXJjZS10aW1lbGluZV9fZGF5Y2VsbCxcbi5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lLS13aWRlIC5xZG5hcHJvLXJlc291cmNlLXRpbWVsaW5lX19jZWxsIHtcbiAgbWluLXdpZHRoOiA4OHB4O1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1yb3ctYnRuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBJY29uLW9ubHkgdG9nZ2xlIGJ1dHRvbiBmb3IgYWN0aXZpdHktcm93IGNvbHVtbnMuXG4vLyAgTk9UIHRoZSB0b29sYmFyIGJ1dHRvbiAodGhhdCBpcyBxZG5hcHJvLWFjdGlvbi1idG4gaW4gdG9vbGJhci1hY3Rpb24tYnRuLykuXG4vLyAgVGhpcyBvbmUgbGl2ZXMgb24gZ2xhc3MgY2FyZHM6IHRyYW5zbHVjZW50IGJhY2tncm91bmRzLCBtdXRlZCBpZGxlIGljb24uXG4vL1xuLy8gIFRva2VucyB1c2VkOlxuLy8gICAgcmdiYSgwLCAwLCAwLCAwLjA0KSAgICAgICAgICBpZGxlIGJnIChnbGFzcyBjYXJkIHN1cmZhY2UgdGludClcbi8vICAgIHJnYmEoMCwgMCwgMCwgMC4wOCkgICAgICAgICAgaG92ZXIgYmdcbi8vICAgIHJnYmEoMCwgMCwgMCwgMC4xMikgICAgICAgICAgcHJlc3NlZCBiZ1xuLy8gICAgIzZiNzI4MCAgICAgICAgICAgICAgICAgICAgICBpZGxlIGljb24gY29sb3IgKG11dGVkIGdyZXkpXG4vLyAgICAjMGIwYjBkICAgIFRleHQvT24tQm9keSAgICAgIGhvdmVyIGljb24gY29sb3Jcbi8vICAgIHJnYmEoNzAsIDgyLCAyNDMsIDAuMTIpICAgICAgYWN0aXZlIGJnICAgKFFETkEgSGlnaGxpZ2h0IEAgMTIlKVxuLy8gICAgcmdiYSg3MCwgODIsIDI0MywgMC4xOCkgICAgICBhY3RpdmUgaG92ZXIgYmdcbi8vICAgICM0MDQ5OWEgICAgSWNvbi9QcmltYXJ5LXB1cnBsZSAgYWN0aXZlIGljb24gY29sb3Jcbi8vICAgICMzMzNhN2IgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlIGhvdmVyIGljb24gY29sb3Jcbi8vICAgIC0tYy1mb2N1cy1yaW5nIC8gLS1jLWZvY3VzLWdsb3cgIGluaGVyaXRlZCBmcm9tIGFjdGl2aXR5LXJvdyBob3N0XG4vL1xuLy8gIFNpemVzOlxuLy8gICAgc2l6ZT1cIjM2XCIgIDM2eDM2cHgsIGljb24gMjBweCAgKGFjdGl2aXR5LXJvdyBkZWZhdWx0KVxuLy8gICAgc2l6ZT1cIjI4XCIgIDI4eDI4cHgsIGljb24gMTZweCAgKGNvbXBhY3QgLyBtb2RhbCB0b29sYmFyKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5xZG5hcHJvLXJvdy1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICBjb2xvcjogIzZiNzI4MDsgICAgICAgICAgICAgICAgICAgICAgIC8vIG11dGVkIGdyZXkg4oCUIGlkbGUgaWNvblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTIwbXMgZWFzZSwgY29sb3IgMTIwbXMgZWFzZTtcblxuICAgICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiAgICAvLyBJY29uIGNoaWxkIChpbmxpbmUgU1ZHIG9yIHFkbmFwcm8taWNvbikg4oCUIGluaGVyaXRzIGNvbG9yIGZyb20gaG9zdFxuICAgIHN2ZyxcbiAgICBxZG5hcHJvLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgc3ZnIHsgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbiAgICAvLyAtLS0tIFNpemU6IDM2eDM2IChkZWZhdWx0KSAtLS0tXG4gICAgJi5yb3ctYnRuLXNpemUtMzYge1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICBzdmcsXG4gICAgICAgIHFkbmFwcm8taWNvbiB7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IH1cbiAgICB9XG5cbiAgICAvLyAtLS0tIFNpemU6IDQweDQwIC0tLS1cbiAgICAvLyBWb29yIGVlbiB3ZXJrYmFsayB3YWFyaW4gb29rIHFkbmFwcm8tYnV0dG9uIHNpemU9XCJzbWFsbFwiIHN0YWF0OiBkaWUgaXMgNDB4NDBcbiAgICAvLyAoYnV0dG9uLXNpemUtc21hbGwuYnV0dG9uLWljb24tb25seSksIGR1cyAzNiBzdG9uZCBlciBuZXQgdGUga2xlaW4gbmFhc3QuIEhldFxuICAgIC8vIGljb29uIGJsaWpmdCAyMHB4LCB6b2FscyBiaWogMzYsIHpvZGF0IGhldCBkZXplbGZkZSBrbm9wIGJsaWpmdCBhbHMgb3AgZGVcbiAgICAvLyB0YWtlbmxpanN0cmlqLiBbS2ltIDAzLjA4LjIwMjYsIGJyaWVmaW5nLWtub3AgaW4gaGV0IHZyYWFnLW1vZGFsXVxuICAgICYucm93LWJ0bi1zaXplLTQwIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgc3ZnLFxuICAgICAgICBxZG5hcHJvLWljb24geyB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4OyB9XG4gICAgfVxuXG4gICAgLy8gLS0tLSBTaXplOiAyOHgyOCAtLS0tXG4gICAgJi5yb3ctYnRuLXNpemUtMjgge1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHN2ZyxcbiAgICAgICAgcWRuYXByby1pY29uIHsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgfVxuICAgIH1cblxuICAgIC8vIC0tLS0gSG92ZXIgLS0tLVxuICAgICY6aG92ZXI6bm90KC5yb3ctYnRuLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICAgIGNvbG9yOiAjMGIwYjBkO1xuICAgIH1cblxuICAgIC8vIC0tLS0gUHJlc3NlZCAtLS0tXG4gICAgJjphY3RpdmU6bm90KC5yb3ctYnRuLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgfVxuXG4gICAgLy8gLS0tLSBGb2N1cyAtLS0tXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWMtZm9jdXMtcmluZywgIzQwNDk5YSksXG4gICAgICAgICAgICAgICAgICAgIDAgMCAwIDVweCB2YXIoLS1jLWZvY3VzLWdsb3csIHJnYmEoNzAsIDgyLCAyNDMsIDAuMjApKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tIEFjdGl2ZSAob24tc3RhdGUsIGUuZy4gdW5pdCBsaXN0IGxpbmtlZCkgLS0tLVxuICAgICYucm93LWJ0bi1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDcwLCA4MiwgMjQzLCAwLjEyKTtcbiAgICAgICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgfVxuICAgICYucm93LWJ0bi1hY3RpdmU6aG92ZXI6bm90KC5yb3ctYnRuLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNzAsIDgyLCAyNDMsIDAuMTgpO1xuICAgICAgICBjb2xvcjogIzMzM2E3YjtcbiAgICB9XG5cbiAgICAvLyAtLS0tIEFjdGl2ZSB2YXJpYW50OiBjb25jZXB0ICh1bnB1Ymxpc2hlZCBkcmFmdCkg4oCUIGFtYmVyL29yYW5nZSAtLS0tXG4gICAgJi5yb3ctYnRuLWFjdGl2ZS5yb3ctYnRuLXZhcmlhbnQtY29uY2VwdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ1LCAxNTgsIDExLCAwLjE2KTtcbiAgICAgICAgY29sb3I6ICNiNDUzMDk7XG4gICAgfVxuICAgICYucm93LWJ0bi1hY3RpdmUucm93LWJ0bi12YXJpYW50LWNvbmNlcHQ6aG92ZXI6bm90KC5yb3ctYnRuLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ1LCAxNTgsIDExLCAwLjI0KTtcbiAgICAgICAgY29sb3I6ICM5MjQwMGU7XG4gICAgfVxuXG4gICAgLy8gLS0tLSBEaXNhYmxlZCAtLS0tXG4gICAgJi5yb3ctYnRuLWRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC40MDtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBEYXJrIG1vZGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXJvdy1idG4ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgY29sb3I6ICM5Y2EzYWY7XG5cbiAgICAmOmhvdmVyOm5vdCgucm93LWJ0bi1kaXNhYmxlZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTApO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZTpub3QoLnJvdy1idG4tZGlzYWJsZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTtcbiAgICB9XG5cbiAgICAmLnJvdy1idG4tYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg3MCwgODIsIDI0MywgMC4yMCk7XG4gICAgICAgIGNvbG9yOiAjYTVhY2ZmO1xuICAgIH1cbiAgICAmLnJvdy1idG4tYWN0aXZlOmhvdmVyOm5vdCgucm93LWJ0bi1kaXNhYmxlZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDcwLCA4MiwgMjQzLCAwLjMwKTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgfVxuXG4gICAgJi5yb3ctYnRuLWFjdGl2ZS5yb3ctYnRuLXZhcmlhbnQtY29uY2VwdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ1LCAxNTgsIDExLCAwLjIyKTtcbiAgICAgICAgY29sb3I6ICNmYmJmMjQ7XG4gICAgfVxuICAgICYucm93LWJ0bi1hY3RpdmUucm93LWJ0bi12YXJpYW50LWNvbmNlcHQ6aG92ZXI6bm90KC5yb3ctYnRuLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ1LCAxNTgsIDExLCAwLjMyKTtcbiAgICAgICAgY29sb3I6ICNmY2QzNGQ7XG4gICAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1zZWdtZW50ICArICBxZG5hcHJvLXNlZ21lbnQtaXRlbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgUUROQSB0b2tlbnMgdXNlZDpcbi8vICAgIFN1cmZhY2UvRGVmYXVsdCAgICAgICAgICAgICAgI2ZmZmZmZiAgIHNsaWRpbmcgcGlsbCBiYWNrZ3JvdW5kXG4vLyAgICBTdXJmYWNlL1NlY29uZGFyeSAgICAgICAgICAgICNmMGYxZjIgICB0cmFjayBiYWNrZ3JvdW5kXG4vLyAgICBUZXh0L09uLUJvZHkgICAgICAgICAgICAgICAgICMwYjBiMGQgICBhY3RpdmUgaXRlbSBsYWJlbFxuLy8gICAgVGV4dC9TZWNvbmRhcnkgICAgICAgICAgICAgICByZ2JhKDExLDExLDEzLDAuNTUpICBpbmFjdGl2ZSBsYWJlbFxuLy8gICAgVGV4dC9EaXNhYmxlZCAgICAgICAgICAgICAgICAjODk4ZTk5ICAgZGlzYWJsZWQgbGFiZWxcbi8vICAgIEJvcmRlci9BY3Rpb24tUHVycGxlLU91dGxpbmVkICM0MDQ5OWEgIGZvY3VzIHJpbmcgaW5uZXJcbi8vICAgIFB1cnBsZS1IaWdobGlnaHQgQCAyNSUgICAgICAgcmdiYSg3MCw4MiwyNDMsMC4yNSkgIGZvY3VzIGdsb3dcbi8vICAgIFNoYWRvdy9FbGV2YXRpb24tMSAgICAgICAgICAgMCAxcHggM3B4IHJnYmEoMCwwLDAsMC4xMiksIDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMDgpXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaWxsIHNoYWRvd1xuLy9cbi8vICBEYXJrIG1vZGU6XG4vLyAgICBTdXJmYWNlL0RhcmsvU2Vjb25kYXJ5ICAgICAgICMyYTJkMzUgICB0cmFjayBiYWNrZ3JvdW5kXG4vLyAgICBTdXJmYWNlL0RhcmsvUGlsbCAgICAgICAgICAgICMxZTIwMjggICBhY3RpdmUgcGlsbFxuLy8gICAgVGV4dC9EYXJrL1ByaW1hcnkgICAgICAgICAgICAjZjBmMWYyICAgYWN0aXZlIGxhYmVsXG4vLyAgICBUZXh0L0RhcmsvU2Vjb25kYXJ5ICAgICAgICAgIHJnYmEoMjQwLDI0MSwyNDIsMC41MCkgIGluYWN0aXZlIGxhYmVsXG4vLyAgICBUZXh0L0RhcmsvRGlzYWJsZWQgICAgICAgICAgICM1NTU4NWYgICBkaXNhYmxlZCBsYWJlbFxuLy9cbi8vICBBbmltYXRpb246XG4vLyAgICBBIHNpbmdsZSBhYnNvbHV0ZWx5LXBvc2l0aW9uZWQgLnNlZ21lbnQtdHJhY2stcGlsbCBzbGlkZXMgYmV0d2VlblxuLy8gICAgaXRlbXMgdXNpbmcgQ1NTIHRyYW5zZm9ybSArIHdpZHRoIHRyYW5zaXRpb25zIG9uIHRoZSBHUFUgY29tcG9zaXRvclxuLy8gICAgbGF5ZXIuIEl0ZW1zIHRoZW1zZWx2ZXMgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyDigJQgdGhlIHBpbGxcbi8vICAgIHByb3ZpZGVzIHRoZSBhY3RpdmUgdmlzdWFsIHN0YXRlLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIC0tLS0gc2l6aW5nIHRva2VucyAtLS0tXG4kc2VnbWVudC10cmFjay1yYWRpdXMtZGVmYXVsdCA6IDEwcHg7XG4kc2VnbWVudC10cmFjay1yYWRpdXMtc21hbGwgICA6IDhweDtcbiRzZWdtZW50LXBpbGwtcmFkaXVzLWRlZmF1bHQgIDogOHB4O1xuJHNlZ21lbnQtcGlsbC1yYWRpdXMtc21hbGwgICAgOiA2cHg7XG4kc2VnbWVudC10cmFjay1wYWRkaW5nICAgICAgICA6IDNweDtcbiRzZWdtZW50LWl0ZW0taGVpZ2h0LWRlZmF1bHQgIDogMzZweDtcbiRzZWdtZW50LWl0ZW0taGVpZ2h0LXNtYWxsICAgIDogMjhweDtcbiRzZWdtZW50LWl0ZW0tbWluLXdpZHRoICAgICAgIDogNjRweDtcbiRzZWdtZW50LWl0ZW0tcHgtZGVmYXVsdCAgICAgIDogMTRweDtcbiRzZWdtZW50LWl0ZW0tcHgtc21hbGwgICAgICAgIDogMTBweDtcbiRzZWdtZW50LWdhcCAgICAgICAgICAgICAgICAgIDogOHB4O1xuXG4vLyAtLS0tIGFuaW1hdGlvbiB0b2tlbnMgLS0tLVxuJHNlZ21lbnQtZWFzZSAgICAgICAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuJHNlZ21lbnQtZHVyYXRpb24gICAgICAgICAgICAgOiAyODBtcztcblxuLy8gLS0tLSBjb2xvciB0b2tlbnMgLS0tLVxuJHNlZ21lbnQtdHJhY2stYmcgICAgICAgICAgICAgOiAjZjBmMWYyO1xuJHNlZ21lbnQtdHJhY2stYmctZGFyayAgICAgICAgOiAjMmEyZDM1O1xuJHNlZ21lbnQtcGlsbC1iZyAgICAgICAgICAgICAgOiAjZmZmZmZmO1xuJHNlZ21lbnQtcGlsbC1iZy1kYXJrICAgICAgICAgOiAjMWUyMDI4O1xuJHNlZ21lbnQtcGlsbC1zaGFkb3cgICAgICAgICAgOiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4kc2VnbWVudC1sYWJlbC1hY3RpdmUgICAgICAgICA6ICMwYjBiMGQ7XG4kc2VnbWVudC1sYWJlbC1hY3RpdmUtZGFyayAgICA6ICNmMGYxZjI7XG4kc2VnbWVudC1sYWJlbC1pbmFjdGl2ZSAgICAgICA6IHJnYmEoMTEsIDExLCAxMywgMC41NSk7XG4kc2VnbWVudC1sYWJlbC1pbmFjdGl2ZS1kYXJrICA6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC41MCk7XG4kc2VnbWVudC1sYWJlbC1kaXNhYmxlZCAgICAgICA6ICM4OThlOTk7XG4kc2VnbWVudC1sYWJlbC1kaXNhYmxlZC1kYXJrICA6ICM1NTU4NWY7XG4kc2VnbWVudC1ob3Zlci1iZyAgICAgICAgICAgICA6IHJnYmEoMTEsIDExLCAxMywgMC4wNik7XG4kc2VnbWVudC1ob3Zlci1iZy1kYXJrICAgICAgICA6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC4wOCk7XG4kc2VnbWVudC1wcmVzc2VkLWJnICAgICAgICAgICA6IHJnYmEoMTEsIDExLCAxMywgMC4xMCk7XG4kc2VnbWVudC1wcmVzc2VkLWJnLWRhcmsgICAgICA6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC4xMik7XG4kc2VnbWVudC1mb2N1cy1yaW5nICAgICAgICAgICA6ICM0MDQ5OWE7XG4kc2VnbWVudC1mb2N1cy1nbG93ICAgICAgICAgICA6IHJnYmEoNzAsIDgyLCAyNDMsIDAuMjUpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBUcmFjayAgKHFkbmFwcm8tc2VnbWVudCBob3N0KVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5xZG5hcHJvLXNlZ21lbnQge1xuICAgIGRpc3BsYXkgICAgICAgOiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtcyAgIDogY2VudGVyO1xuICAgIGdhcCAgICAgICAgICAgOiAkc2VnbWVudC1nYXA7XG4gICAgcGFkZGluZyAgICAgICA6ICRzZWdtZW50LXRyYWNrLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZCAgICA6ICRzZWdtZW50LXRyYWNrLWJnO1xuICAgIGJvcmRlci1yYWRpdXMgOiAkc2VnbWVudC10cmFjay1yYWRpdXMtZGVmYXVsdDtcbiAgICBib3gtc2l6aW5nICAgIDogYm9yZGVyLWJveDtcbiAgICAvLyBSZXF1aXJlZCBmb3IgdGhlIGFic29sdXRlbHktcG9zaXRpb25lZCBzbGlkaW5nIHBpbGwuXG4gICAgcG9zaXRpb24gICAgICA6IHJlbGF0aXZlO1xuXG4gICAgJi5zZWdtZW50LXNpemUtc21hbGwge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2VnbWVudC10cmFjay1yYWRpdXMtc21hbGw7XG4gICAgfVxuXG4gICAgJi5zZWdtZW50LWRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZCAgICA6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC43MCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIFtkYXRhLXRoZW1lPVwiZGFya1wiXSAmLFxuICAgIC50aGVtZS1kYXJrICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2VnbWVudC10cmFjay1iZy1kYXJrO1xuXG4gICAgICAgICYuc2VnbWVudC1kaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQyLCA0NSwgNTMsIDAuNjApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBTbGlkaW5nIHBpbGwgICguc2VnbWVudC10cmFjay1waWxsKVxuLy8gIENyZWF0ZWQgYnkgSlMsIHBvc2l0aW9uZWQgdmlhIHRyYW5zZm9ybSArIHdpZHRoLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zZWdtZW50LXRyYWNrLXBpbGwge1xuICAgIHBvc2l0aW9uICAgICAgOiBhYnNvbHV0ZTtcbiAgICB0b3AgICAgICAgICAgIDogJHNlZ21lbnQtdHJhY2stcGFkZGluZztcbiAgICBsZWZ0ICAgICAgICAgIDogMDtcbiAgICBoZWlnaHQgICAgICAgIDogY2FsYygxMDAlIC0gI3skc2VnbWVudC10cmFjay1wYWRkaW5nICogMn0pO1xuICAgIHdpZHRoICAgICAgICAgOiAwOyAgICAgICAgICAgLy8gc2V0IGJ5IEpTIG9uIGluaXRcbiAgICB0cmFuc2Zvcm0gICAgIDogdHJhbnNsYXRlWCgwKTsgLy8gc2V0IGJ5IEpTXG4gICAgYm9yZGVyLXJhZGl1cyA6ICRzZWdtZW50LXBpbGwtcmFkaXVzLWRlZmF1bHQ7XG4gICAgYmFja2dyb3VuZCAgICA6ICRzZWdtZW50LXBpbGwtYmc7XG4gICAgYm94LXNoYWRvdyAgICA6ICRzZWdtZW50LXBpbGwtc2hhZG93O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXggICAgICAgOiAwO1xuICAgIC8vIFNtb290aCBzbGlkZSBiZXR3ZWVuIHRhYnNcbiAgICB0cmFuc2l0aW9uICAgIDpcbiAgICAgICAgdHJhbnNmb3JtICAkc2VnbWVudC1kdXJhdGlvbiAkc2VnbWVudC1lYXNlLFxuICAgICAgICB3aWR0aCAgICAgICRzZWdtZW50LWR1cmF0aW9uICRzZWdtZW50LWVhc2U7XG5cbiAgICAuc2VnbWVudC1zaXplLXNtYWxsICYge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2VnbWVudC1waWxsLXJhZGl1cy1zbWFsbDtcbiAgICB9XG5cbiAgICBbZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tc2VnbWVudCAmLFxuICAgIC50aGVtZS1kYXJrIC5xZG5hcHJvLXNlZ21lbnQgJiB7XG4gICAgICAgIGJhY2tncm91bmQgOiAkc2VnbWVudC1waWxsLWJnLWRhcms7XG4gICAgICAgIGJveC1zaGFkb3cgOlxuICAgICAgICAgICAgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zMCksXG4gICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIwKTtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIEl0ZW0gIChxZG5hcHJvLXNlZ21lbnQtaXRlbSlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucWRuYXByby1zZWdtZW50LWl0ZW0ge1xuICAgIC8vIExheW91dFxuICAgIGRpc3BsYXkgICAgICAgIDogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXMgICAgOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwICAgICAgICAgICAgOiA2cHg7XG4gICAgbWluLXdpZHRoICAgICAgOiAkc2VnbWVudC1pdGVtLW1pbi13aWR0aDtcbiAgICBoZWlnaHQgICAgICAgICA6ICRzZWdtZW50LWl0ZW0taGVpZ2h0LWRlZmF1bHQ7XG4gICAgcGFkZGluZyAgICAgICAgOiAwICRzZWdtZW50LWl0ZW0tcHgtZGVmYXVsdDtcbiAgICBib3gtc2l6aW5nICAgICA6IGJvcmRlci1ib3g7XG5cbiAgICAvLyBTdGFjayBhYm92ZSB0aGUgc2xpZGluZyBwaWxsXG4gICAgcG9zaXRpb24gICAgICAgOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4ICAgICAgICA6IDE7XG5cbiAgICAvLyBTaGFwZSDigJQgZGVmYXVsdCBzaXplXG4gICAgYm9yZGVyLXJhZGl1cyAgOiAkc2VnbWVudC1waWxsLXJhZGl1cy1kZWZhdWx0O1xuXG4gICAgLy8gVHlwb2dyYXBoeVxuICAgIGZvbnQtZmFtaWx5ICAgIDogaW5oZXJpdDtcbiAgICBmb250LXNpemUgICAgICA6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQgICAgOiA1MDA7XG4gICAgbGluZS1oZWlnaHQgICAgOiAxO1xuICAgIHdoaXRlLXNwYWNlICAgIDogbm93cmFwO1xuICAgIGNvbG9yICAgICAgICAgIDogJHNlZ21lbnQtbGFiZWwtaW5hY3RpdmU7XG5cbiAgICAvLyBJbnRlcmFjdGlvblxuICAgIGN1cnNvciAgICAgICAgIDogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdCAgICA6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvdXRsaW5lICAgICAgICA6IG5vbmU7XG4gICAgYm9yZGVyICAgICAgICAgOiBub25lO1xuICAgIGJhY2tncm91bmQgICAgIDogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbiAgICAgOlxuICAgICAgICBjb2xvciAgICAgIDIwMG1zIGVhc2UsXG4gICAgICAgIGJhY2tncm91bmQgMTUwbXMgZWFzZSxcbiAgICAgICAgYm94LXNoYWRvdyAxNTBtcyBlYXNlO1xuXG4gICAgLy8gSWNvbiBpbnNpZGUgaXRlbVxuICAgIC5zZWdtZW50LWl0ZW0taWNvbiB7XG4gICAgICAgIGRpc3BsYXkgICAgOiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgd2lkdGggICAgICA6IDE2cHg7XG4gICAgICAgIGhlaWdodCAgICAgOiAxNnB4O1xuICAgICAgICBjb2xvciAgICAgIDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvLyBCb2xkLXJlc2VydmU6IGludmlzaWJsZSA6OmFmdGVyIHdpdGggdGhlIHNhbWUgdGV4dCBhdCBib2xkIHdlaWdodFxuICAgIC8vIHByZXZlbnRzIHRoZSBwaWxsIGZyb20gcmVzaXppbmcgd2hlbiB0aGUgYWN0aXZlIHRhYidzIGZvbnQtd2VpZ2h0XG4gICAgLy8ganVtcHMgZnJvbSA1MDAgdG8gNjAwLlxuICAgIC5zZWdtZW50LWl0ZW0tbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudCAgICAgICA6IGF0dHIoZGF0YS10ZXh0KTtcbiAgICAgICAgICAgIGRpc3BsYXkgICAgICAgOiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodCAgICAgICAgOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3cgICAgICA6IGhpZGRlbjtcbiAgICAgICAgICAgIHZpc2liaWxpdHkgICAgOiBoaWRkZW47XG4gICAgICAgICAgICBmb250LXdlaWdodCAgIDogNjAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tIEhvdmVyIChpbmFjdGl2ZSBvbmx5KSAtLS0tXG4gICAgJjpub3QoLnNlZ21lbnQtaXRlbS1hY3RpdmUpOm5vdCguc2VnbWVudC1pdGVtLWRpc2FibGVkKTpob3ZlciB7XG4gICAgICAgIGNvbG9yICAgICA6IHJnYmEoMTEsIDExLCAxMywgMC43NSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWdtZW50LWhvdmVyLWJnO1xuICAgIH1cblxuICAgIC8vIC0tLS0gUHJlc3NlZCAtLS0tXG4gICAgJjpub3QoLnNlZ21lbnQtaXRlbS1hY3RpdmUpOm5vdCguc2VnbWVudC1pdGVtLWRpc2FibGVkKTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2VnbWVudC1wcmVzc2VkLWJnO1xuICAgICAgICBjb2xvciAgICAgOiByZ2JhKDExLCAxMSwgMTMsIDAuODUpO1xuICAgIH1cblxuICAgIC8vIC0tLS0gRm9jdXMtdmlzaWJsZSAtLS0tXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgIDAgMCAwIDJweCAkc2VnbWVudC1mb2N1cy1yaW5nLFxuICAgICAgICAgICAgMCAwIDAgNHB4ICRzZWdtZW50LWZvY3VzLWdsb3c7XG4gICAgfVxuXG4gICAgLy8gLS0tLSBBY3RpdmUgKHNlbGVjdGVkKSAtLS0tXG4gICAgLy8gQmFja2dyb3VuZCBhbmQgc2hhZG93IGNvbWUgZnJvbSAuc2VnbWVudC10cmFjay1waWxsIOKAlCBub3QgaGVyZS5cbiAgICAvLyBPbmx5IHRleHQgY29sb3IgYW5kIHdlaWdodCBjaGFuZ2Ugb24gdGhlIGl0ZW0gaXRzZWxmLlxuICAgICYuc2VnbWVudC1pdGVtLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yICAgICAgOiAkc2VnbWVudC1sYWJlbC1hY3RpdmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGN1cnNvciAgICAgOiBkZWZhdWx0O1xuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgICAgIDAgMCAwIDJweCAkc2VnbWVudC1mb2N1cy1yaW5nLFxuICAgICAgICAgICAgICAgIDAgMCAwIDRweCAkc2VnbWVudC1mb2N1cy1nbG93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLSBEaXNhYmxlZCAtLS0tXG4gICAgJi5zZWdtZW50LWl0ZW0tZGlzYWJsZWQge1xuICAgICAgICBjb2xvciAgICAgICAgIDogJHNlZ21lbnQtbGFiZWwtZGlzYWJsZWQ7XG4gICAgICAgIGN1cnNvciAgICAgICAgOiBub3QtYWxsb3dlZDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIG9wYWNpdHkgICAgICAgOiAwLjc7XG4gICAgfVxuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gIFNpemU6IHNtYWxsXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICAuc2VnbWVudC1zaXplLXNtYWxsICYge1xuICAgICAgICBoZWlnaHQgICAgICAgOiAkc2VnbWVudC1pdGVtLWhlaWdodC1zbWFsbDtcbiAgICAgICAgcGFkZGluZyAgICAgIDogMCAkc2VnbWVudC1pdGVtLXB4LXNtYWxsO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2VnbWVudC1waWxsLXJhZGl1cy1zbWFsbDtcbiAgICAgICAgZm9udC1zaXplICAgIDogMTJweDtcbiAgICAgICAgZ2FwICAgICAgICAgIDogNHB4O1xuXG4gICAgICAgIC5zZWdtZW50LWl0ZW0taWNvbiB7XG4gICAgICAgICAgICB3aWR0aCA6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyAgRGFyayBtb2RlXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICBbZGF0YS10aGVtZT1cImRhcmtcIl0gJixcbiAgICAudGhlbWUtZGFyayAmIHtcbiAgICAgICAgY29sb3I6ICRzZWdtZW50LWxhYmVsLWluYWN0aXZlLWRhcms7XG5cbiAgICAgICAgJjpub3QoLnNlZ21lbnQtaXRlbS1hY3RpdmUpOm5vdCguc2VnbWVudC1pdGVtLWRpc2FibGVkKTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvciAgICAgOiByZ2JhKDI0MCwgMjQxLCAyNDIsIDAuNzUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlZ21lbnQtaG92ZXItYmctZGFyaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5zZWdtZW50LWl0ZW0tYWN0aXZlKTpub3QoLnNlZ21lbnQtaXRlbS1kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWdtZW50LXByZXNzZWQtYmctZGFyaztcbiAgICAgICAgICAgIGNvbG9yICAgICA6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC45MCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlZ21lbnQtaXRlbS1hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICRzZWdtZW50LWxhYmVsLWFjdGl2ZS1kYXJrO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWdtZW50LWl0ZW0tZGlzYWJsZWQge1xuICAgICAgICAgICAgY29sb3IgIDogJHNlZ21lbnQtbGFiZWwtZGlzYWJsZWQtZGFyaztcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgVmFyaWFudDogc2xpZGluZy1waWxscyAgKHZhcmlhbnQ9XCJzbGlkaW5nLXBpbGxzXCIpXG4vLyAgTGlnaHRlciBsb29rIOKAlCB0cmFuc3BhcmVudCB0cmFjaywgYSB0aW50ZWQgKGxhdmVuZGVyKSBzbGlkaW5nIHBpbGwgd2l0aFxuLy8gIGZ1bGx5LXJvdW5kZWQgaXRlbXMgYW5kIGEgcHVycGxlIGFjdGl2ZSBsYWJlbC4gVGhlIGRlZmF1bHQgc2VnbWVudCBpcyBhXG4vLyAgd2hpdGUgcGlsbCBvbiBhIGdyZXkgdHJhY2s7IHRoaXMgaXMgdGhlIHNvZnRlciBcInBpbGxcIiBsb29rIHVzZWQgZS5nLiBieSB0aGVcbi8vICB0cmFuc2xhdGlvbiBwYW5lbCBsYW5ndWFnZSBwaWNrZXIuIFtLaW0gMjAyNi0wNi0xNl1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnFkbmFwcm8tc2VnbWVudC5zZWdtZW50LXZhcmlhbnQtc2xpZGluZy1waWxscyB7XG4gICAgYmFja2dyb3VuZCAgICA6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmcgICAgICAgOiAwO1xuICAgIGdhcCAgICAgICAgICAgOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1cyA6IDA7XG5cbiAgICAvLyBQaWxsIGNvdmVycyB0aGUgZnVsbCBpdGVtIGhlaWdodCAobm8gM3B4IGluc2V0KSwgbGlnaHQgbGF2ZW5kZXIgZmlsbC5cbiAgICAuc2VnbWVudC10cmFjay1waWxsIHtcbiAgICAgICAgdG9wICAgICAgICAgIDogMDtcbiAgICAgICAgaGVpZ2h0ICAgICAgIDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZCAgIDogI2U4ZWFmZDtcbiAgICAgICAgYm94LXNoYWRvdyAgIDogbm9uZTtcbiAgICB9XG5cbiAgICAucWRuYXByby1zZWdtZW50LWl0ZW0ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBjb2xvciAgICAgICAgOiAjODg5MGI4O1xuXG4gICAgICAgICY6bm90KC5zZWdtZW50LWl0ZW0tYWN0aXZlKTpub3QoLnNlZ21lbnQtaXRlbS1kaXNhYmxlZCk6aG92ZXIge1xuICAgICAgICAgICAgY29sb3IgICAgIDogIzQwNDk5YTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjUsIDczLCAxNTQsIDAuMDYpO1xuICAgICAgICB9XG4gICAgICAgICY6bm90KC5zZWdtZW50LWl0ZW0tYWN0aXZlKTpub3QoLnNlZ21lbnQtaXRlbS1kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yICAgICA6ICM0MDQ5OWE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCA3MywgMTU0LCAwLjEwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIF9zZWdtZW50LXRpbGVzLnNjc3Ncbi8vIENhbm9uaWNhbCBzdHlsZXMgZm9yIHFkbmFwcm8tc2VnbWVudC10aWxlcyBhbmQgcWRuYXByby1zZWdtZW50LXRpbGUuXG4vLyBDb21wYWN0IHBpbGwgdHJhY2sgb2YgaWNvbiArIGxhYmVsIHRpbGVzOyB0aGUgZGVzY3JpcHRpb24gc2hvd3MgYXMgYSBmbG9hdGluZ1xuLy8gb3ZlcmxheSBhYm92ZSB0aGUgdHJhY2sgKGZsaXBzIGJlbG93KSBvbiBzZWxlY3Rpb24sIHNvIGl0IHJlc2VydmVzIG5vIHNwYWNlLlxuLy8gU2VwYXJhdGUgZnJvbSB0aGUgdGFiLWJhciBxZG5hcHJvLXNlZ21lbnQsIGJ1dCBzaGFyZXMgaXRzIG5ldXRyYWwgcGFsZXR0ZVxuLy8gKGdyZXkgdHJhY2ssIHdoaXRlIHBpbGwgd2l0aCBlbGV2YXRpb24gc2hhZG93KS4gQWN0aXZlIGFjY2VudCA9IGRhcmsgcHVycGxlLlxuLy8gPT09IFNUQVJUIFFETkFQUk8tU0VHTUVOVC1USUxFUyBDU1MgPT09XG5cbi8vIC0tLS0gc2hhcmVkIG5ldXRyYWwgdG9rZW5zIChtYXRjaGVkIHRvIF9zZWdtZW50LnNjc3MpIC0tLS1cbi8vIHRyYWNrIGJnICAgICAgICAgICNmMGYxZjJcbi8vIHBpbGwgYmcgICAgICAgICAgICNmZmZmZmYgICBzaGFkb3cgMCAxcHggM3B4IHJnYmEoMCwwLDAsLjEyKSwgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA4KVxuLy8gYWN0aXZlIGFjY2VudCAgICAgIzNjMzQ4OSAgIChkYXJrIFFETkEgcHVycGxlLCBpY29uICsgbGFiZWwpXG4vLyBsYWJlbCBpbmFjdGl2ZSAgICByZ2JhKDExLDExLDEzLDAuNTUpXG4vLyBob3ZlciBsYWJlbCAgICAgICByZ2JhKDExLDExLDEzLDAuNzUpXG4vLyBmb2N1cyByaW5nICAgICAgICAjNDA0OTlhXG5cbi5xZG5hcHJvLXNlZ21lbnQtdGlsZXMge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxufVxuXG4vLyBPcHRpb25hbCBsYWJlbCBhYm92ZSB0aGUgdHJhY2tcbi5xZG5hcHJvLXNlZ21lbnQtdGlsZXMgLnNlZ21lbnQtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiByZ2JhKDExLCAxMSwgMTMsIDAuNTUpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gUG9zaXRpb25pbmcgY29udGV4dCBmb3IgdGhlIGZsb2F0aW5nIG92ZXJsYXkgKHdyYXBzIHRoZSB0cmFjayBvbmx5KVxuLnFkbmFwcm8tc2VnbWVudC10aWxlcyAuc2VnbWVudC1zaGVsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBUaGUgcGlsbCB0cmFjayBjb250YWluZXJcbi5xZG5hcHJvLXNlZ21lbnQtdGlsZXMgLnNlZ21lbnQtdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJhY2tncm91bmQ6ICNmMGYxZjI7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiAzcHg7XG4gICAgZ2FwOiAwO1xufVxuXG4vLyBTbGlkaW5nIHBpbGwgKHBvc2l0aW9uZWQgYWJzb2x1dGVseSBieSBKUylcbi5xZG5hcHJvLXNlZ21lbnQtdGlsZXMgLnNlZ21lbnQtcGlsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogM3B4O1xuICAgIGJvdHRvbTogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQpO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zaXRpb246XG4gICAgICAgIGxlZnQgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgd2lkdGggMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLy8gSW5kaXZpZHVhbCB0aWxlIGJ1dHRvblxuLnFkbmFwcm8tc2VnbWVudC10aWxlcyAuc2VnbWVudC10aWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDEwcHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAxODBtcyBlYXNlO1xuXG4gICAgLy8gTWF0ZXJpYWwgRGVzaWduIGljb24gKHFkbmFwcm8taWNvbiwgc2l6ZWQgdmlhIGZvbnQtc2l6ZSBzaW5jZSBpdCBpcyAxZW0pXG4gICAgPiBxZG5hcHJvLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGNvbG9yOiByZ2JhKDExLCAxMSwgMTMsIDAuNTUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAxODBtcyBlYXNlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYWJlbCB0ZXh0XG4gICAgPiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogcmdiYSgxMSwgMTEsIDEzLCAwLjU1KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAxODBtcyBlYXNlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBLZXlib2FyZCBmb2N1cyByaW5nXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLXJpbmcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIChzZWxlY3RlZCkgc3RhdGU6IGRhcmsgUUROQSBwdXJwbGUgYWNjZW50IG9uIHRoZSB3aGl0ZSBwaWxsLlxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgPiBxZG5hcHJvLWljb24geyBjb2xvcjogIzNjMzQ4OTsgfVxuICAgICAgICA+IHNwYW4gICAgICAgICB7IGNvbG9yOiAjM2MzNDg5OyBmb250LXdlaWdodDogNjAwOyB9XG4gICAgfVxuXG4gICAgLy8gSG92ZXI6IG9ubHkgb24gbm9uLWFjdGl2ZSwgbm9uLWRpc2FibGVkIHRpbGVzIHRvIGF2b2lkIGZpZ2h0aW5nIHdpdGggdGhlIHBpbGxcbiAgICAmOm5vdCguYWN0aXZlKTpub3QoLnNlZ21lbnQtdGlsZS0tZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgICAgPiBxZG5hcHJvLWljb24geyBjb2xvcjogcmdiYSgxMSwgMTEsIDEzLCAwLjc1KTsgfVxuICAgICAgICA+IHNwYW4gICAgICAgICB7IGNvbG9yOiByZ2JhKDExLCAxMSwgMTMsIDAuNzUpOyB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQ6IGdyZXllZCBvdXQgYW5kIG5vdCBzZWxlY3RhYmxlLiBDbGlja2luZyBzdGlsbCBvcGVucyBhIHdhcm5pbmdcbiAgICAvLyBvdmVybGF5ICh0aGUgSlMgaGFuZGxlcyB0aGF0KSwgc28ga2VlcCBpdCBpbnRlcmFjdGl2ZSBidXQgdmlzdWFsbHkgbXV0ZWQuXG4gICAgJi0tZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICBvcGFjaXR5OiAwLjQ1O1xuXG4gICAgICAgID4gcWRuYXByby1pY29uIHsgY29sb3I6IHJnYmEoMTEsIDExLCAxMywgMC40NSk7IH1cbiAgICAgICAgPiBzcGFuICAgICAgICAgeyBjb2xvcjogcmdiYSgxMSwgMTEsIDEzLCAwLjQ1KTsgfVxuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgU21pbGV5IHZhcmlhbnQgKHZhcmlhbnQ9XCJzbWlsZXlcIilcbi8vICBFYWNoIHRpbGUgcHJldmlld3MgYSByb3cgb2YgcWRuYXByby1zbWlsZXkgZW1vdGljb25zIGluc3RlYWQgb2Ygb25lIE1ESSBpY29uLFxuLy8gIHNvIHRoZSBlbW9qaSBmZWVkYmFjayBub2RlJ3Mgc2NhbGUgLyBjb2xvdXIgLyBvcmRlciBzZXR0aW5ncyBzaG93IHRoZSBhY3R1YWxcbi8vICBlbW90aWNvbnMuIFRpbGUgd2lkdGggc3RpbGwgY29tZXMgZnJvbSBmbGV4OjE7IHRoZSBzbWlsZXkgcm93IGNlbnRlcnMgaW5zaWRlLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4ucWRuYXByby1zZWdtZW50LXRpbGVzLS1zbWlsZXkge1xuICAgIC5zZWdtZW50LXRpbGUge1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxMHB4O1xuICAgIH1cblxuICAgIC5zZWdtZW50LXRpbGUtc21pbGV5cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgIHFkbmFwcm8tc21pbGV5IHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIEZsb2F0aW5nIGRlc2NyaXB0aW9uIG92ZXJsYXkgKG9wZW5lZCBvbiBzZWxlY3Rpb24gYnkgSlMpXG4vLyAgQWJzb2x1dGVseSBwb3NpdGlvbmVkIHdpdGhpbiAuc2VnbWVudC1zaGVsbCBzbyBpdCByZXNlcnZlcyBubyBzcGFjZS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnFkbmFwcm8tc2VnbWVudC10aWxlcyAuc2VnbWVudC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IGNhbGMoMTAwJSArIDhweCk7ICAgICAvLyBkZWZhdWx0OiBhYm92ZSB0aGUgdHJhY2tcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAxMnB4IDM4cHggMTJweCAxNHB4OyAvLyBleHRyYSByaWdodCBwYWRkaW5nIGNsZWFycyB0aGUgY2xvc2UgYnV0dG9uXG4gICAgbWluLWhlaWdodDogNTJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiAwLjVweCBzb2xpZCB2YXIoLS1jLWJvcmRlci1zb2Z0KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIHotaW5kZXg6IDIwO1xuXG4gICAgLy8gSGlkZGVuIC8gY2xvc2VkIHN0YXRlIChrZXB0IGluIHRoZSBET00gZm9yIHRoZSB0cmFuc2l0aW9uKVxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOyAgIC8vIGVtZXJnZXMgdXB3YXJkIGZyb20gdGhlIHRyYWNrXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgICAgb3BhY2l0eSAxODBtcyBlYXNlLFxuICAgICAgICB0cmFuc2Zvcm0gMTgwbXMgZWFzZSxcbiAgICAgICAgdmlzaWJpbGl0eSAwcyBsaW5lYXIgMTgwbXM7XG5cbiAgICAvLyBGbGlwcGVkIGJlbG93IHRoZSB0cmFjayB3aGVuIHRoZXJlIGlzIG5vIHJvb20gYWJvdmVcbiAgICAmLmlzLWJlbG93IHtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDhweCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsgLy8gZW1lcmdlcyBkb3dud2FyZFxuICAgIH1cblxuICAgIC8vIE9wZW4gc3RhdGVcbiAgICAmLmlzLW9wZW4ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgb3BhY2l0eSAxODBtcyBlYXNlLFxuICAgICAgICAgICAgdHJhbnNmb3JtIDE4MG1zIGVhc2U7XG4gICAgfVxuXG4gICAgLy8gQ2xvc2UgYnV0dG9uICh0b3AtcmlnaHQgWClcbiAgICAuc2VnbWVudC1vdmVybGF5LWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiByZ2JhKDExLCAxMSwgMTMsIDAuNDUpO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNDBtcyBlYXNlLCBjb2xvciAxNDBtcyBlYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1ibGFjay0wNik7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgxMSwgMTEsIDEzLCAwLjc1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLXJpbmcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBib3ggaW5zaWRlIHRoZSBvdmVybGF5XG4gICAgLnNlZ21lbnQtZGVzYy1pY29uIHtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQtaG92ZXIpO1xuICAgICAgICBib3JkZXI6IDAuNXB4IHNvbGlkIHZhcigtLWMtYm9yZGVyLXNvZnQpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgcWRuYXByby1pY29uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGNvbG9yOiAjM2MzNDg5O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV2FybmluZyB2YXJpYW50OiBzaG93biBmb3IgYSBkaXNhYmxlZCB0aWxlJ3MgaGludCBvdmVybGF5LlxuICAgICAgICAmLS13YXJuaW5nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY1ZWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjE0LCAxMjIsIDQ3LCAwLjI1KTtcblxuICAgICAgICAgICAgcWRuYXByby1pY29uIHsgY29sb3I6ICNkNjdhMmY7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRleHQgY29udGVudCBpbnNpZGUgdGhlIG92ZXJsYXlcbiAgICAuc2VnbWVudC1kZXNjLXRleHQge1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBjb2xvcjogIzNjMzQ4OTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDExLCAxMSwgMTMsIDAuNjUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gSGlkZSB0aGUgZGF0YS1zb3VyY2UgdGlsZSBub2RlcyAocmVuZGVyZWQgYXMgZGlzcGxheTpub25lIGJ5IEpTKVxucWRuYXByby1zZWdtZW50LXRpbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgRGFyayBtb2RlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdLFxuLnRoZW1lLWRhcmsge1xuICAgIC5xZG5hcHJvLXNlZ21lbnQtdGlsZXMgLnNlZ21lbnQtdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMmEyZDM1O1xuICAgIH1cblxuICAgIC5xZG5hcHJvLXNlZ21lbnQtdGlsZXMgLnNlZ21lbnQtdGlsZSB7XG4gICAgICAgID4gcWRuYXByby1pY29uIHsgY29sb3I6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC41MCk7IH1cbiAgICAgICAgPiBzcGFuICAgICAgICAgeyBjb2xvcjogcmdiYSgyNDAsIDI0MSwgMjQyLCAwLjUwKTsgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgID4gcWRuYXByby1pY29uIHsgY29sb3I6IHZhcigtLWMtYnJhbmQtcHVycGxlKTsgfVxuICAgICAgICAgICAgPiBzcGFuICAgICAgICAgeyBjb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUpOyBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguYWN0aXZlKTpub3QoLnNlZ21lbnQtdGlsZS0tZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgICAgICAgID4gcWRuYXByby1pY29uIHsgY29sb3I6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC43NSk7IH1cbiAgICAgICAgICAgID4gc3BhbiAgICAgICAgIHsgY29sb3I6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC43NSk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgICAgID4gcWRuYXByby1pY29uIHsgY29sb3I6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC4zMCk7IH1cbiAgICAgICAgICAgID4gc3BhbiAgICAgICAgIHsgY29sb3I6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC4zMCk7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5xZG5hcHJvLXNlZ21lbnQtdGlsZXMgLnNlZ21lbnQtb3ZlcmxheSB7XG4gICAgICAgIC5zZWdtZW50LW92ZXJsYXktY2xvc2Uge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC40NSk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC4wOCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjQwLCAyNDEsIDI0MiwgMC43NSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VnbWVudC1kZXNjLWljb24ge1xuICAgICAgICAgICAgcWRuYXByby1pY29uIHsgY29sb3I6IHZhcigtLWMtYnJhbmQtcHVycGxlKTsgfVxuXG4gICAgICAgICAgICAmLS13YXJuaW5nIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIxNCwgMTIyLCA0NywgMC4xNSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxNCwgMTIyLCA0NywgMC4zMCk7XG5cbiAgICAgICAgICAgICAgICBxZG5hcHJvLWljb24geyBjb2xvcjogI2U4OTk0YTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlZ21lbnQtZGVzYy10ZXh0IHtcbiAgICAgICAgICAgIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSk7IH1cbiAgICAgICAgICAgIHAgICAgICB7IGNvbG9yOiByZ2JhKDI0MCwgMjQxLCAyNDIsIDAuNjUpOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vID09PSBFTkQgUUROQVBSTy1TRUdNRU5ULVRJTEVTIENTUyAoZG8gbm90IHJlbW92ZSB0aGlzIG1hcmtlcikgPT09XG4iLCIvLyBxZG5hcHJvLXNjb3JlLXNjYWxlIC0gc2hhcmVkIGFuc3dlciBjb250cm9sIGZvciB0aGUgU2NvcmUgYW5kIE5QUyBxdWVzdGlvblxuLy8gbm9kZXMuIEEgc2VnbWVudGVkIGJhciB0aGF0IHJlYWRzIGFzIE9ORSBvYmplY3Q6IHNlZ21lbnRzIGZsdXNoIGFnYWluc3Rcbi8vIGVhY2ggb3RoZXIgKG5vIGdhcHMpLiBPdXRlci1jb3JuZXIgcm91bmRpbmcgaXMgYXBwbGllZCBkaXJlY3RseSB0byB0aGVcbi8vIGZpcnN0L2xhc3Qgc2VnbWVudCAoTk9UIHZpYSBvdmVyZmxvdzpoaWRkZW4gb24gdGhlIGJhcikgc28gdGhlIHNlbGVjdGVkXG4vLyBzZWdtZW50IGNhbiBncm93IHRhbGxlciB0aGFuIHRoZSBiYXIgd2l0aG91dCBiZWluZyBjbGlwcGVkIC0gc2VlIHRoZVxuLy8gXCJTZWxlY3RlZCBzdGF0ZVwiIGJsb2NrIGJlbG93LiBGTEFUIENTUzsgY29sb3VycyBjb21lIGZyb20gdGhlIGRlc2lnbi10b2tlblxuLy8gOnJvb3QgKHZhcigtLWMtKikpLiBFZGl0IEhFUkUsIHRoZW4gYGd1bHAgc2Fzc2AgKyBgZ3VscCBzYXNzLXYxYC5cblxuLnFkbmFwcm8tc2NvcmUtc2NhbGUge1xuICAvLyBOZXV0cmFsIChkZWZhdWx0LCBubyBncmFkaWVudCkgY29sb3VyIGZhbWlseSAtIHNhbWUgdGhlbWUtY29sb3VyIHRva2VuXG4gIC8vIGZhbWlseSBhcyBxZG5hcHJvLWFuc3dlci1idXR0b24uXG4gIC0tcXNzLW5ldXRyYWwtaWRsZS1iZzogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSkgMTAlLCAjZmZmKTtcbiAgLS1xc3MtbmV1dHJhbC1pZGxlLXRleHQ6IHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSk7XG4gIC8vIFNlbGVjdGVkIGZpbGw6IHNhbWUgLS10aGVtZS1idG4tc2VsZWN0ZWQtY29sb3IgaG9vayBxZG5hcHJvLWFuc3dlci1idXR0b25cbiAgLy8gdXNlcyAoZmFsbHMgYmFjayB0byB0aGUgYmFzZSB0aGVtZSBjb2xvdXIgd2hlbiBhIHRoZW1lIGhhcyBubyBleHBsaWNpdFxuICAvLyBzZWxlY3RlZCB2YXJpYW50IGNvbmZpZ3VyZWQpLiBbcmVkZXNpZ24gMTEuMDcuMjAyNl1cbiAgLS1xc3MtbmV1dHJhbC1zZWxlY3RlZC1iZzogdmFyKC0tdGhlbWUtYnRuLXNlbGVjdGVkLWNvbG9yLCB2YXIoLS10aGVtZS1idG4tY29sb3IsICM0MDQ5OWEpKTtcbiAgLS1xc3MtbmV1dHJhbC1zZWxlY3RlZC10ZXh0OiB2YXIoLS10aGVtZS1idG4tc2VsZWN0ZWQtdGV4dC1jb2xvciwgI2ZmZik7XG4gIC0tcXNzLXNlcGFyYXRvcjogcmdiYSgwLCAwLCAwLCAwLjA4KTtcblxuICAvLyBFbGV2YXRpb24gc2hhZG93IGZvciB0aGUgc2VsZWN0ZWQgc2VnbWVudCBwb3BwaW5nIG91dCBvZiB0aGUgYmFyLlxuICAtLXFzcy1zZWxlY3RlZC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSgyMCwgMjUsIDgwLCAwLjE2KSwgMCAycHggNnB4IHJnYmEoMjAsIDI1LCA4MCwgMC4xMCk7XG4gIC8vIEhvdyBmYXIgdGhlIHNlbGVjdGVkIHNlZ21lbnQgZ3Jvd3MgYWJvdmUvYmVsb3cgdGhlIHJlc3RpbmcgYmFyIGhlaWdodC5cbiAgLS1xc3MtZ3JvdzogN3B4O1xuXG4gIC8vIEdyYWRpZW50IHN0b3BzIC0gc2FtZSBjb2xvdXJzL29yZGVyIGFzIHFkbmFwcm8tc2xpZGVyJ3MgXCJzZW50aW1lbnRcIlxuICAvLyB2YXJpYW50LCBmb3IgdmlzdWFsIGNvbnNpc3RlbmN5IGFjcm9zcyB0aGUgdHdvIHJhdGluZyBjb250cm9scy5cbiAgLS1xc3MtZ3JhZC0xOiB2YXIoLS1jLXdhcm4tcmVkLTUwMCwgI2RjMjYyNik7XG4gIC0tcXNzLWdyYWQtMjogdmFyKC0tYy13YXJuLXllbGxvdy01MDAsICNmYmJmMjQpO1xuICAtLXFzcy1ncmFkLTM6IHZhcigtLWMtc3VjY2Vzcy1icmlnaHQsICMxZDllNzUpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1mb250LWZhbWlseSwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbn1cblxuLy8gLS0tLSBCYXIgKHRoZSBcIm9uZSBvYmplY3RcIikgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucWRuYXByby1zY29yZS1zY2FsZSAucXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIE5PVCBzdHJldGNoOiBsZXRzIHRoZSBzZWxlY3RlZCBzZWdtZW50IGJlIGEgZGlmZmVyZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAodGFsbGVyKSBoZWlnaHQgdGhhbiBpdHMgc2libGluZ3Mgd2l0aG91dCB0aGUgcm93J3NcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG93biBoZWlnaHQgZ3Jvd2luZyB0byBtYXRjaCBpdCAoZWFjaCBjaGlsZCdzIGhlaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXMgZXhwbGljaXQsIHNlZSAucXNzLXNlZ21lbnQgYmVsb3cpLlxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1NnB4OyAvLyBmaXhlZCBiYXNlbGluZSByb3cgaGVpZ2h0IC0gdGhlIHNlbGVjdGVkIHNlZ21lbnQgb3ZlcmZsb3dzXG4gICAgICAgICAgICAgICAgLy8gdGhpcyBib3ggb24gcHVycG9zZSAoc2VlIGlzLXNlbGVjdGVkIGJlbG93KTsgdGhlIHJvdyBpdHNlbGZcbiAgICAgICAgICAgICAgICAvLyBuZXZlciBncm93cywgc28gc3Vycm91bmRpbmcgbGF5b3V0IG5ldmVyIHNoaWZ0cyBvbiBzZWxlY3QuXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyB3YXMgaGlkZGVuIC0gYSBncm93aW5nIHNlZ21lbnQgbXVzdCBOT1QgYmUgY2xpcHBlZC5cbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQsIDAgMXB4IDJweCByZ2JhKDIwLCAyNSwgODAsIDAuMDQpKTtcbiAgLy8gRHJhZy1zZWxlY3QgKDExLjA3LjIwMjYpOiBhbGxvdyB0aGUgYnJvd3NlcidzIG5hdGl2ZSB2ZXJ0aWNhbCBwYW4vc2Nyb2xsXG4gIC8vIHRvIGtlZXAgd29ya2luZyB1bnRvdWNoZWQ7IGhvcml6b250YWwgZHJhZyBpcyBvd25lZCBieSBKUyAocG9pbnRlclxuICAvLyBoYW5kbGVycyBwcmV2ZW50RGVmYXVsdCBvbmx5IG9uY2UgdGhlIGF4aXMtbG9jayBjb25maXJtcyBob3Jpem9udGFsXG4gIC8vIGludGVudCkgLSBzYW1lIGNvbnRyYWN0IGFzIHFkbmFwcm8tZGF0ZS1jYXJvdXNlbCdzIHN0cmlwLXdyYXAuXG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi8vIFdoaWxlIGEgZHJhZyBpcyBhY3RpdmVseSBtb3ZpbmcgdGhlIHNlbGVjdGlvbiwgZHJvcCB0aGUgc2VnbWVudCdzIG93blxuLy8gdHJhbnNpdGlvbiBzbyB0aGUgZ3Jvdy1vdXQgY3VlIGZvbGxvd3MgdGhlIHBvaW50ZXIgSU5TVEFOVExZIChubyAxNTBtcyBsYWdcbi8vIHBlciBzZWdtZW50IGNyb3NzZWQpIC0gcmUtZW5hYmxlZCBhZ2FpbiB0aGUgbW9tZW50IHRoZSBkcmFnIGVuZHMvY29tbWl0cy5cbi5xZG5hcHJvLXNjb3JlLXNjYWxlLmlzLWRyYWdnaW5nIC5xc3Mtc2VnbWVudCB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi8vIC0tLS0gU2VnbWVudCAoYSByZWFsIDxidXR0b24+KSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5xZG5hcHJvLXNjb3JlLXNjYWxlIC5xc3Mtc2VnbWVudCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZsZXg6IDEgMSAwO1xuICBtaW4td2lkdGg6IDA7XG4gIGhlaWdodDogNTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tcXNzLXNlcGFyYXRvcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFzcy1uZXV0cmFsLWlkbGUtYmcpO1xuICBjb2xvcjogdmFyKC0tcXNzLW5ldXRyYWwtaWRsZS10ZXh0KTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zaXRpb246XG4gICAgaGVpZ2h0IDE1MG1zIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKSxcbiAgICBib3JkZXItcmFkaXVzIDE1MG1zIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKSxcbiAgICBib3gtc2hhZG93IDE1MG1zIGVhc2Utb3V0LFxuICAgIGJhY2tncm91bmQtY29sb3IgMTUwbXMgZWFzZS1vdXQsXG4gICAgY29sb3IgMTUwbXMgZWFzZS1vdXQsXG4gICAgZmlsdGVyIDE1MG1zIGVhc2Utb3V0LFxuICAgIG9wYWNpdHkgMTUwbXMgZWFzZS1vdXQ7XG59XG4vLyBPdXRlci1jb3JuZXIgcm91bmRpbmcgbGl2ZXMgb24gdGhlIGVuZCBzZWdtZW50cyB0aGVtc2VsdmVzIG5vdyAodGhlIGJhciBub1xuLy8gbG9uZ2VyIGNsaXBzIHZpYSBvdmVyZmxvdzpoaWRkZW4pLCBzbyB0aGUgcmVzdGluZyBiYXIgc3RpbGwgcmVhZHMgYXMgT05FXG4vLyByb3VuZGVkIG9iamVjdCBldmVuIHRob3VnaCBhIHNlbGVjdGVkIHNlZ21lbnQgY2FuIGdyb3cgcGFzdCBpdHMgYm91bmRzLlxuLnFkbmFwcm8tc2NvcmUtc2NhbGUgLnFzcy1zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tci0zLCAxMnB4KTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tci0zLCAxMnB4KTtcbn1cbi5xZG5hcHJvLXNjb3JlLXNjYWxlIC5xc3Mtc2VnbWVudDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tci0zLCAxMnB4KTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLXItMywgMTJweCk7XG59XG4vLyBIaWRlIHRoZSBoYWlybGluZSBzZXBhcmF0b3IgdGhhdCB3b3VsZCBvdGhlcndpc2Ugc2l0IGZsdXNoIGFnYWluc3QgdGhlXG4vLyByYWlzZWQgbGVmdCBlZGdlIG9mIGEgcG9wcGVkLW91dCBzZWxlY3RlZCBzZWdtZW50LlxuLnFkbmFwcm8tc2NvcmUtc2NhbGUgLnFzcy1zZWdtZW50OmhhcygrIC5xc3Mtc2VnbWVudC5pcy1zZWxlY3RlZCkge1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnFkbmFwcm8tc2NvcmUtc2NhbGUgLnFzcy1zZWdtZW50OmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdCguaXMtc2VsZWN0ZWQpIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDAuOTcpO1xufVxuLnFkbmFwcm8tc2NvcmUtc2NhbGUgLnFzcy1zZWdtZW50OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5xZG5hcHJvLXNjb3JlLXNjYWxlIC5xc3Mtc2VnbWVudDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHZhcigtLWMtYWN0aW9uLTUwMCwgIzQ2NTJmMyk7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5xZG5hcHJvLXNjb3JlLXNjYWxlIC5xc3MtbnVtIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vLyAtLS0tIFNlbGVjdGVkIHN0YXRlOiBzaGFwZSBjdWUsIG5ldmVyIGNvbG91ci1vbmx5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGUgc2VsZWN0ZWQgc2VnbWVudCBwaHlzaWNhbGx5IEdST1dTIE9VVCBvZiB0aGUgYmFyIC0gdGFsbGVyIHRoYW4gaXRzXG4vLyBuZWlnaGJvdXJzIGJ5IC0tcXNzLWdyb3cgb24gdG9wIGFuZCBib3R0b20sIHdpdGggaXRzIG93biBmdWxseSByb3VuZGVkXG4vLyBjb3JuZXJzIChpdCdzIGEgc21hbGwgcmFpc2VkIHRpbGUgbm93LCBub3QgYSBmbHVzaCBwaWVjZSBvZiB0aGUgYmFyKSBhbmQgYVxuLy8gc29mdCBlbGV2YXRpb24gc2hhZG93LCBwbHVzIGEgYm9sZGVyL2xhcmdlciBudW1iZXIuIFRoaXMgaXMgYSBwdXJlIFNIQVBFXG4vLyBjdWU6IGl0IHJlYWRzIGlkZW50aWNhbGx5IGluIGdyYWRpZW50IG1vZGUgKHdoZXJlIGNvbG91ciBhbG9uZSBpcyBub3QgYVxuLy8gdXNhYmxlIHNpZ25hbCkgYW5kIGZvciBjb2xvdXJibGluZCB1c2Vycy4gTm8gd2hpdGUgcmluZyAtIHNlZSAxMS4wNy4yMDI2XG4vLyByZWRlc2lnbiAoS2ltOiB0aGUgb2xkIGluc2V0IHdoaXRlIHJpbmcgcmVhZCBhcyBcInVnbHlcIikuXG4ucWRuYXByby1zY29yZS1zY2FsZSAucXNzLXNlZ21lbnQuaXMtc2VsZWN0ZWQge1xuICBoZWlnaHQ6IGNhbGMoNTZweCArICh2YXIoLS1xc3MtZ3JvdykgKiAyKSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItMiwgOHB4KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcXNzLW5ldXRyYWwtc2VsZWN0ZWQtYmcpO1xuICBjb2xvcjogdmFyKC0tcXNzLW5ldXRyYWwtc2VsZWN0ZWQtdGV4dCk7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IHZhcigtLXFzcy1zZWxlY3RlZC1zaGFkb3cpO1xuICB6LWluZGV4OiAyO1xufVxuLnFkbmFwcm8tc2NvcmUtc2NhbGUgLnFzcy1zZWdtZW50LmlzLXNlbGVjdGVkIC5xc3MtbnVtIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxN3B4O1xufVxuXG4vLyAtLS0tIEdyYWRpZW50IG1vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEVhY2ggc2VnbWVudCdzIGJhY2tncm91bmQtaW1hZ2UvLXNpemUvLXBvc2l0aW9uIGlzIHNldCBpbmxpbmUgKEpTKSBzbyB0aGVcbi8vIGZ1bGwgcmVkIC0+IHllbGxvdyAtPiBncmVlbiBncmFkaWVudCBydW5zIGNvbnRpbnVvdXNseSBhY3Jvc3MgdGhlIHdob2xlIGJhcixcbi8vIGVhY2ggc2VnbWVudCBzaG93aW5nIG9ubHkgaXRzIG93biBzbGljZS5cbi5xZG5hcHJvLXNjb3JlLXNjYWxlLmlzLWdyYWRpZW50IC5xc3Mtc2VnbWVudCB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7IC8vIGtlZXBzIHRoZSBudW1iZXIgbGVnaWJsZSBvdmVyIHllbGxvdyB0b29cbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xufVxuLy8gVW5zZWxlY3RlZCBzZWdtZW50cyByZW5kZXIgdGhlaXIgZ3JhZGllbnQgc2xpY2UgZGVzYXR1cmF0ZWQvZGltbWVkIHNvIHRoZVxuLy8gc2VsZWN0ZWQgb25lIHZpc2libHkgcG9wcyAtIGEgU0hBUEUgY3VlIGRvZXMgdGhlIGFjdHVhbCBzZWxlY3Rpb24gc2lnbmFsbGluZ1xuLy8gKGFib3ZlKSwgdGhpcyBpcyBqdXN0IGV4dHJhIHZpc3VhbCBlbXBoYXNpcywgbm90IHRoZSBtZWNoYW5pc20gaXRzZWxmLlxuLnFkbmFwcm8tc2NvcmUtc2NhbGUuaXMtZ3JhZGllbnQgLnFzcy1zZWdtZW50Om5vdCguaXMtc2VsZWN0ZWQpIHtcbiAgZmlsdGVyOiBzYXR1cmF0ZSgwLjQ1KSBicmlnaHRuZXNzKDEuMDUpO1xuICBvcGFjaXR5OiAwLjgyO1xufVxuLnFkbmFwcm8tc2NvcmUtc2NhbGUuaXMtZ3JhZGllbnQgLnFzcy1zZWdtZW50LmlzLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIGxldCB0aGUgaW5saW5lIGdyYWRpZW50IHNsaWNlIHNob3cgdGhyb3VnaFxuICBmaWx0ZXI6IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG4gIC8vIE5vIHJpbmcgaGVyZSBlaXRoZXIgLSB0aGUgZ3Jvdy1vdXQgc2hhcGUgY3VlIChoZWlnaHQvcmFkaXVzL3NoYWRvdyBhYm92ZSlcbiAgLy8gaXMgc2hhcmVkIHdpdGggbmV1dHJhbCBtb2RlIGFuZCBkb2VzIHRoZSBzaWduYWxsaW5nIG9uIGl0cyBvd24uXG59XG5cbi8vIC0tLS0gRm9vdGVyOiBlbmRwb2ludCBsYWJlbHMgKyBiYW5kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucWRuYXByby1zY29yZS1zY2FsZSAucXNzLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXMtMiwgOHB4KTtcbn1cbi5xZG5hcHJvLXNjb3JlLXNjYWxlIC5xc3MtZW5kcG9pbnRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IHZhcigtLXMtMiwgOHB4KTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbn1cbi5xZG5hcHJvLXNjb3JlLXNjYWxlIC5xc3MtbGFiZWwtbWluLFxuLnFkbmFwcm8tc2NvcmUtc2NhbGUgLnFzcy1sYWJlbC1tYXgge1xuICBtYXgtd2lkdGg6IDQ4JTtcbn1cbi5xZG5hcHJvLXNjb3JlLXNjYWxlIC5xc3MtbGFiZWwtbWF4IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5xZG5hcHJvLXNjb3JlLXNjYWxlIC5xc3MtYmFuZHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tcy0xLCA0cHgpO1xufVxuLnFkbmFwcm8tc2NvcmUtc2NhbGUgLnFzcy1iYW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLXMtMSwgNHB4KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWMtYm9yZGVyLXNvZnQtMiwgI2U2ZTllZik7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyAtLS0tIERpc2FibGVkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5xZG5hcHJvLXNjb3JlLXNjYWxlLmlzLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41NTtcbn1cbi5xZG5hcHJvLXNjb3JlLXNjYWxlLmlzLWRpc2FibGVkIC5xc3Mtc2VnbWVudCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vIC0tLS0gRGFyayBtb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJhdyBwYWxldHRlIHRva2VucyAoLS1jLXdhcm4tKiwgLS1jLXN1Y2Nlc3MtYnJpZ2h0KSBkbyBOT1QgYXV0by1mbGlwIHVuZGVyXG4vLyBbZGF0YS10aGVtZT1cImRhcmtcIl0gLSBvbmx5IHNlbWFudGljIHRva2VucyBkbyAoc2VlIF9kZXNpZ24tdG9rZW5zLnNjc3Mnc1xuLy8gZGFyayBvdmVycmlkZSBibG9jaykuIFRoaXMgY29tcG9uZW50J3MgbG9jYWwgLS1xc3MtKiBjdXN0b20gcHJvcHMgYXJlXG4vLyByZWRlZmluZWQgaGVyZSwgc2FtZSBwYXR0ZXJuIGFzIHFkbmFwcm8tc2xpZGVyL3FkbmFwcm8tdG9nZ2xlLlxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXNjb3JlLXNjYWxlIHtcbiAgLS1xc3MtbmV1dHJhbC1pZGxlLWJnOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tdGhlbWUtYnRuLWNvbG9yLCAjNDA0OTlhKSAyMiUsIHZhcigtLWMtZ3JleS05MDAsICMxODE4MWMpKTtcbiAgLS1xc3MtbmV1dHJhbC1pZGxlLXRleHQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS10aGVtZS1idG4tY29sb3IsICM0MDQ5OWEpIDcwJSwgI2ZmZik7XG4gIC0tcXNzLW5ldXRyYWwtc2VsZWN0ZWQtYmc6IHZhcigtLXRoZW1lLWJ0bi1zZWxlY3RlZC1jb2xvciwgdmFyKC0tdGhlbWUtYnRuLWNvbG9yLCAjNDA0OTlhKSk7XG4gIC0tcXNzLW5ldXRyYWwtc2VsZWN0ZWQtdGV4dDogdmFyKC0tdGhlbWUtYnRuLXNlbGVjdGVkLXRleHQtY29sb3IsICNmZmYpO1xuICAtLXFzcy1zZXBhcmF0b3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgLS1xc3Mtc2VsZWN0ZWQtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC40NSksIDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMzApO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXNjb3JlLXNjYWxlIC5xc3MtYmFuZCB7XG4gIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWMtYm9yZGVyLXNvZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkpO1xufVxuXG4vLyAtLS0tIE5hcnJvdyB2aWV3cG9ydHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAxMSBzZWdtZW50cyAoMC0xMCkgZ2V0IH4zNHB4IHdpZGUgb24gYSBuYXJyb3cgcGhvbmUgc2NyZWVuIC0gYWNjZXB0YWJsZVxuLy8gYmVjYXVzZSBvZiB0aGUgNTZweCBoZWlnaHQuIERvIE5PVCB3cmFwIHRvIHR3byByb3dzOyBzaHJpbmsgdGhlIG51bWJlclxuLy8gaW5zdGVhZCBzbyB0d28tZGlnaXQgdmFsdWVzIChcIjEwXCIpIHN0aWxsIGZpdCBjb21mb3J0YWJseS5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAucWRuYXByby1zY29yZS1zY2FsZSAucXNzLXNlZ21lbnQge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxufVxuXG4vLyAtLS0tIFJlZHVjZWQgbW90aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhlIGdyb3ctb3V0IHBvcCBvbiBzZWxlY3Rpb24gaXMgcHVyZWx5IGRlY29yYXRpdmUgbW90aW9uIC0gdGhlIHNoYXBlL3NpemVcbi8vIGNoYW5nZSBpdHNlbGYgc3RpbGwgaGFwcGVucyBpbnN0YW50bHksIG9ubHkgdGhlIGFuaW1hdGVkIHRyYW5zaXRpb24gaXNcbi8vIHJlbW92ZWQsIHNhbWUgcGF0dGVybiBhcyBxZG5hcHJvLXByb2dyZXNzLiBbcmVkZXNpZ24gMTEuMDcuMjAyNl1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5xZG5hcHJvLXNjb3JlLXNjYWxlIC5xc3Mtc2VnbWVudCB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuIiwiLy8gcWRuYXByby1saWtlcnQtc2NhbGUgLSBob3Jpem9udGFsIHJvdyBvZiBOICg1IG9yIDcpIGV2ZW5seSBzcGFjZWQgY2lyY2xlcyxcbi8vIGVhY2ggd2l0aCBpdHMgb3duIGJvbGQgYW5jaG9yIGxhYmVsIEFCT1ZFIGl0ICh3cmFwcyB0byAyIGxpbmVzLCBjZW50ZXJlZCkuXG4vLyBUaGUgY2lyY2xlIGlzIGEgcmluZyBieSBkZWZhdWx0OyB0aGUgU0VMRUNURUQgY2lyY2xlIGZpbGxzIHdpdGggdGhlIGFjY2VudFxuLy8gY29sb3VyLiBGTEFUIENTUzsgY29sb3VycyBjb21lIGZyb20gdGhlIGRlc2lnbi10b2tlbiA6cm9vdCAodmFyKC0tYy0qKSkuXG4vLyBFZGl0IEhFUkUsIHRoZW4gYGd1bHAgc2Fzcy12MWAuXG4vL1xuLy8gU2hhcmVkIGFuc3dlciBjb250cm9sIGluIHRoZSBzYW1lIGZhbWlseSBhcyBxZG5hcHJvLXNjb3JlLXNjYWxlIGFuZFxuLy8gcWRuYXByby1hbnN3ZXItYnV0dG9uIC0gc2FtZSB0aGVtZS1jb2xvdXIgaG9vayBmYW1pbHksIHNhbWUgdGFwLXRvLWRlc2VsZWN0XG4vLyBjb252ZW50aW9uLlxuXG4ucWRuYXByby1saWtlcnQtc2NhbGUge1xuICAvLyBUaGVtZWFibGUgYWNjZW50IChmaWxsL3JpbmcpIGNvbG91ciAtIGEgY29uc3VtZXIgY2FuIGZvbGxvdyBhIG5vZGUnc1xuICAvLyBjb25maWd1cmVkIGNvbG91ciB2aWEgc3R5bGU9XCItLWxpa2VydC1hY2NlbnQ6ICN4eHh4eHhcIi4gRGVmYXVsdCBpcyB0aGVcbiAgLy8gUUROQSBicmFuZCBwdXJwbGUgc2VtYW50aWMgdG9rZW4gKGxpZ2h0L2RhcmsgYXdhcmUpLCBOT1QgYSBiYXJlIGhleCwgcGVyXG4gIC8vIHRoZSBcInJldXNlIGV4aXN0aW5nIHRva2Vuc1wiIHJ1bGUgLSBmYWxscyBiYWNrIHRvIHRoZSByYXcgaGV4IG9ubHkgaWYgdGhlXG4gIC8vIHRva2VuIGl0c2VsZiBpcyB1bmF2YWlsYWJsZSAoZS5nLiBhIHBhZ2UgdGhhdCBuZXZlciBsb2FkZWQgZGVzaWduLXRva2VucykuXG4gIC0tbGlrZXJ0LWFjY2VudDogdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpO1xuICAtLXFscy1udnQtY29sb3I6IHZhcigtLWMtZ3JleS01MDAsICM2YjcyODApO1xuICAtLXFscy1udnQtcmluZzogdmFyKC0tYy1ncmV5LTQwMCwgI2E2YWFiMyk7XG4gIC0tcWxzLWNpcmNsZS1zaXplOiAyOHB4O1xuICAtLXFscy1nYXA6IHZhcigtLXMtMiwgOHB4KTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1mb250LWZhbWlseSwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbiAgLy8gTGV0cyB0aGUgcm93IHJlc3BvbmQgdG8gdGhlIHNwYWNlIElUIGFjdHVhbGx5IGhhcyAoYSBmbG93LWVkaXRvciBub2RlXG4gIC8vIHByZXZpZXcgY29sdW1uIGNhbiBiZSBtdWNoIG5hcnJvd2VyIHRoYW4gdGhlIHZpZXdwb3J0KSwgbm90IGp1c3QgdGhlXG4gIC8vIHZpZXdwb3J0IHdpZHRoLlxuICBjb250YWluZXI6IHFkbmFwcm8tbGlrZXJ0LXNjYWxlIC8gaW5saW5lLXNpemU7XG5cbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuXG4vLyAtLS0tIFJvdyAocmFkaW9ncm91cDogc2NhbGUgKyBvcHRpb25hbCBkaXZpZGVyICsgbi52LnQuKSAtLS0tLS0tLS0tLS0tLS0tLS1cbi5xZG5hcHJvLWxpa2VydC1zY2FsZV9fcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBnYXA6IHZhcigtLXMtNCwgMTZweCk7XG4gIC8vIFZlcnRpY2FsIGJyZWF0aGluZyByb29tIHNvIHRoZSBTRUxFQ1RFRCBjaXJjbGUgKHNjYWxlIDEuMDggKyBmb2N1cyByaW5nKVxuICAvLyBpcyBuZXZlciBjbGlwcGVkIGJ5IG92ZXJmbG93LXkgYmVsb3cuIFNtYWxsIGlubGluZSBwYWRkaW5nIGtlZXBzIHRoZSBmaXJzdFxuICAvLyBhbmQgbGFzdCBjaXJjbGUncyBmb2N1cyByaW5nIG9mZiB0aGUgc2Nyb2xsIGVkZ2UgdG9vLlxuICBwYWRkaW5nOiA2cHggNHB4IDlweDtcbiAgLy8gU2FmZXR5IG5ldCBPTkxZOiBhdCBleHRyZW1lIHdpZHRocyAobWFueSBwb2ludHMgaW4gYSB2ZXJ5IG5hcnJvd1xuICAvLyBjb250YWluZXIpIHRoZSByb3cgc2Nyb2xscyBob3Jpem9udGFsbHkgaW5zdGVhZCBvZiB3cmFwcGluZyB0byBhIHNlY29uZFxuICAvLyByb3cgb3IgY2xpcHBpbmcgY29udGVudC4gVGh1bWItb25seSBzY3JvbGxiYXIgcGVyIGhvdXNlIGNvbnZlbnRpb24uXG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cbi5xZG5hcHJvLWxpa2VydC1zY2FsZV9fcm93Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gIGhlaWdodDogNnB4O1xufVxuLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19yb3c6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4ucWRuYXByby1saWtlcnQtc2NhbGVfX3Jvdzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19yb3c6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19yb3c6Zm9jdXMtd2l0aGluOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yMik7XG59XG4ucWRuYXByby1saWtlcnQtc2NhbGVfX3Jvdzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMzQpO1xufVxuXG4vLyAtLS0tIFNjYWxlICh0aGUgTiBldmVubHktc3BhY2VkIHBvaW50cykgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucWRuYXByby1saWtlcnQtc2NhbGVfX3NjYWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIGF1dG87XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zLTEsIDRweCk7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLy8gLS0tLSBJdGVtICh3cmFwcyBPTkUgb3B0aW9uIGJ1dHRvbiwga2VlcHMgaXRzIHNoYXJlIG9mIHRoZSByb3cncyB3aWR0aCkgLS0tLVxuLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIDA7XG4gIG1pbi13aWR0aDogMDtcbn1cbi8vIFRoZSBuLnYudC4gaXRlbSBzaXRzIE9VVFNJREUgdGhlIHNwYWNlLWJldHdlZW4gc2NhbGUsIHNvIGl0IG5ldmVyIHN0cmV0Y2hlc1xuLy8gLSBpdCBrZWVwcyBpdHMgbmF0dXJhbCAobGFiZWwtZHJpdmVuKSB3aWR0aC5cbi5xZG5hcHJvLWxpa2VydC1zY2FsZV9faXRlbS0tbnZ0IHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi8vIC0tLS0gT3B0aW9uICh0aGUgdGFwIHRhcmdldDogZG90ICsgbGFiZWwsIG9uZSA8YnV0dG9uIHJvbGU9XCJyYWRpb1wiPikgLS0tLS0tXG4vLyBUaGUgV0hPTEUgb3B0aW9uIC0gZG90ICsgbGFiZWwgLSBpcyBhIHNpbmdsZSBidXR0b24gc28gdGhlIGVudGlyZSByb3cgaXNcbi8vIGNsaWNrYWJsZS90YXBwYWJsZSwgbm90IGp1c3QgdGhlIDI4cHggZG90IChLaW0sIDIwLjA3LjIwMjY6IHVzZXJzIHdlcmVcbi8vIG1pc2NsaWNraW5nIGJlY2F1c2Ugb25seSB0aGUgZG90IHVzZWQgdG8gYmUgYSBoaXQgdGFyZ2V0KS4gTGF5b3V0LW9ubHlcbi8vIGhlcmU7IHRoZSBkb3QncyByaW5nL2ZpbGwvY2hlY2stbWFyayB2aXN1YWxzIGxpdmUgb24gdGhlIHNlcGFyYXRlIC5kb3Rcbi8vIGNoaWxkIGJlbG93IHNvIHRoZSBhY2NlbnQgZmlsbCBuZXZlciBibGVlZHMgYWNyb3NzIHRoZSBsYWJlbCB0ZXh0LlxuLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19vcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXFscy1nYXApO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogNHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1saWtlcnQtc2NhbGVfX29wdGlvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5xZG5hcHJvLWxpa2VydC1zY2FsZV9fbGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA5NnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LWhlYWRpbmcsICMxYTFmNGQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8vIEFsd2F5cyB3cmFwcyB0byAodXAgdG8pIDIgbGluZXMgYW5kIHJlc2VydmVzIHRoYXQgaGVpZ2h0LCBzbyBldmVyeVxuICAvLyBkb3QgaW4gdGhlIHJvdyBzdGF5cyBhbGlnbmVkIHJlZ2FyZGxlc3Mgb2YgaW5kaXZpZHVhbCBsYWJlbCBsZW5ndGguXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMS4yNWVtICogMik7XG59XG4ucWRuYXByby1saWtlcnQtc2NhbGVfX2l0ZW0tLW52dCAucWRuYXByby1saWtlcnQtc2NhbGVfX2xhYmVsIHtcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzZlNzI4MCk7XG59XG5cbi8vIC0tLS0gRGl2aWRlciAodmlzdWFsIFwib2ZmIHRoZSBzY2FsZVwiIHNlcGFyYXRvciBiZWZvcmUgbi52LnQuKSAtLS0tLS0tLS0tLS0tXG4ucWRuYXByby1saWtlcnQtc2NhbGVfX2RpdmlkZXIge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogMXB4O1xuICBtaW4td2lkdGg6IDFweDtcbiAgbWFyZ2luLXRvcDogY2FsYygoMS4yNWVtICogMikgKyB2YXIoLS1xbHMtZ2FwKSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYm9yZGVyLXNvZnQtMiwgI2U2ZTllZik7XG59XG5cbi8vIC0tLS0gRG90IChkZWNvcmF0aXZlIHZpc3VhbCByaW5nIC0gYSBjaGlsZCBvZiAub3B0aW9uLCBub3QgdGhlIGJ1dHRvblxuLy8gaXRzZWxmLCBzbyB0aGUgYWNjZW50IGZpbGwvc2NhbGUgb24gc2VsZWN0aW9uIG5ldmVyIGJsZWVkcyBhY3Jvc3MgdGhlXG4vLyBsYWJlbCB0ZXh0KSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5xZG5hcHJvLWxpa2VydC1zY2FsZV9fZG90IHtcbiAgd2lkdGg6IHZhcigtLXFscy1jaXJjbGUtc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tcWxzLWNpcmNsZS1zaXplKTtcbiAgbWluLXdpZHRoOiB2YXIoLS1xbHMtY2lyY2xlLXNpemUpO1xuICBmbGV4LXNocmluazogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1saWtlcnQtYWNjZW50KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC8vIENlbnRyZSB0aGUgY2hlY2stbWFyayBzdmcgaW5zaWRlIHRoZSBkb3QuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zIGVhc2Utb3V0LFxuICAgIGJvcmRlci1jb2xvciAxNTBtcyBlYXNlLW91dCxcbiAgICBib3gtc2hhZG93IDE1MG1zIGVhc2Utb3V0LFxuICAgIHRyYW5zZm9ybSAxMDBtcyBlYXNlLW91dDtcbn1cblxuLy8gQW5pbWF0ZWQgY2hlY2stbWFyazogaGlkZGVuIHJpbmcgYnkgZGVmYXVsdCwgZHJhd3MgaW4gKyBwb3BzIHdoZW4gc2VsZWN0ZWQuXG4vLyBTYW1lIG1vdGlvbiBhcyBxZG5hcHJvLWFuc3dlci1idXR0b24gKHFhYi1kcmF3IC8gcWFiLXRpY2stcG9wKSwgcmV1c2VkIGhlcmUgc29cbi8vIHRoZSBmaWVsZCBhcHAgKFBXQSkgYW5kIHRoZSBlZGl0b3IgcHJldmlldyBzaGFyZSBvbmUgYW5pbWF0aW9uLiBUaGUgc3Ryb2tlXG4vLyBjb2xvdXIgY29udHJhc3RzIGFnYWluc3QgdGhlIGZpbGxlZCBkb3QgKGFjY2VudCBvciBuLnYudC4gZ3JleSkuXG4ucWRuYXByby1saWtlcnQtc2NhbGVfX2NoZWNrIHtcbiAgd2lkdGg6IDU4JTtcbiAgaGVpZ2h0OiA1OCU7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZTogdmFyKC0tcWxzLWNoZWNrLWNvbG9yLCAjZmZmKTtcbiAgc3Ryb2tlLXdpZHRoOiAyLjU7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbiAgc3Ryb2tlLWRhc2hhcnJheTogMjQ7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAyNDsgLy8gZnVsbHkgaGlkZGVuIHVudGlsIHNlbGVjdGVkXG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5xZG5hcHJvLWxpa2VydC1zY2FsZV9fb3B0aW9uLmlzLXNlbGVjdGVkIC5xZG5hcHJvLWxpa2VydC1zY2FsZV9fY2hlY2sge1xuICBvcGFjaXR5OiAxO1xuICBhbmltYXRpb246XG4gICAgcWxzLWNoZWNrLXBvcCAwLjUycyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC41LCAxKSxcbiAgICBxbHMtY2hlY2stZHJhdyAwLjM4cyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSkgMC4wNHMgZm9yd2FyZHM7XG59XG5Aa2V5ZnJhbWVzIHFscy1jaGVjay1wb3Age1xuICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpICByb3RhdGUoMGRlZyk7ICB9XG4gIDIwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMjIpIHJvdGF0ZSgtNWRlZyk7IH1cbiAgNDQlICB7IHRyYW5zZm9ybTogc2NhbGUoMC45MCkgcm90YXRlKDNkZWcpOyAgfVxuICA2NCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KSByb3RhdGUoLTFkZWcpOyB9XG4gIDgwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpIHJvdGF0ZSgwZGVnKTsgIH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSkgICAgcm90YXRlKDBkZWcpOyAgfVxufVxuQGtleWZyYW1lcyBxbHMtY2hlY2stZHJhdyB7XG4gIDAlICAgeyBzdHJva2UtZGFzaG9mZnNldDogMjQ7ICB9XG4gIDYyJSAgeyBzdHJva2UtZGFzaG9mZnNldDogLTE7ICB9XG4gIDgwJSAgeyBzdHJva2UtZGFzaG9mZnNldDogMC43OyB9XG4gIDEwMCUgeyBzdHJva2UtZGFzaG9mZnNldDogMDsgICB9XG59XG4vLyBSZXNwZWN0IHJlZHVjZWQtbW90aW9uOiBzaG93IHRoZSBjaGVjayBpbnN0YW50bHksIG5vIGRyYXcvcG9wLlxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19vcHRpb24uaXMtc2VsZWN0ZWQgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19jaGVjayB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB9XG59XG4ucWRuYXByby1saWtlcnQtc2NhbGVfX29wdGlvbjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoLmlzLXNlbGVjdGVkKSAucWRuYXByby1saWtlcnQtc2NhbGVfX2RvdCB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1saWtlcnQtYWNjZW50KSAxMiUsIHRyYW5zcGFyZW50KTtcbn1cbi5xZG5hcHJvLWxpa2VydC1zY2FsZV9fb3B0aW9uOmZvY3VzLXZpc2libGUgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19kb3Qge1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWxpa2VydC1hY2NlbnQpIDMwJSwgdHJhbnNwYXJlbnQpO1xufVxuLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19vcHRpb24uaXMtc2VsZWN0ZWQgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19kb3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1saWtlcnQtYWNjZW50KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1saWtlcnQtYWNjZW50KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcbn1cbi5xZG5hcHJvLWxpa2VydC1zY2FsZV9fb3B0aW9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSAucWRuYXByby1saWtlcnQtc2NhbGVfX2RvdCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NCk7XG59XG5cbi8vIG4udi50LiBkb3Q6IGFsd2F5cyBuZXV0cmFsIGdyZXksIE5FVkVSIHRoZSBhY2NlbnQgY29sb3VyIC0gaXQgaXNcbi8vIHZpc3VhbGx5IFwib2ZmIHRoZSBzY2FsZVwiLlxuLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19kb3QtLW52dCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcWxzLW52dC1yaW5nKTtcbn1cbi5xZG5hcHJvLWxpa2VydC1zY2FsZV9fb3B0aW9uLS1udnQ6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KC5pcy1zZWxlY3RlZCkgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19kb3Qge1xuICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcWxzLW52dC1jb2xvcikgMTIlLCB0cmFuc3BhcmVudCk7XG59XG4ucWRuYXByby1saWtlcnQtc2NhbGVfX29wdGlvbi0tbnZ0OmZvY3VzLXZpc2libGUgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19kb3Qge1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXFscy1udnQtY29sb3IpIDMwJSwgdHJhbnNwYXJlbnQpO1xufVxuLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19vcHRpb24tLW52dC5pcy1zZWxlY3RlZCAucWRuYXByby1saWtlcnQtc2NhbGVfX2RvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFscy1udnQtY29sb3IpO1xuICBib3JkZXItY29sb3I6IHZhcigtLXFscy1udnQtY29sb3IpO1xufVxuXG4vLyAtLS0tIFJlYWRvbmx5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNob3dzIHRoZSBjdXJyZW50IHNlbGVjdGlvbiBidXQgaWdub3JlcyBpbnRlcmFjdGlvbiAtIG5vcm1hbCAobm90IGRpbW1lZClcbi8vIGxvb2ssIGRpc3RpbmN0IGZyb20gZGlzYWJsZWQuXG4ucWRuYXByby1saWtlcnQtc2NhbGUuaXMtcmVhZG9ubHkgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19vcHRpb24ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4ucWRuYXByby1saWtlcnQtc2NhbGUuaXMtcmVhZG9ubHkgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19vcHRpb246aG92ZXIgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19kb3Qge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5xZG5hcHJvLWxpa2VydC1zY2FsZS5pcy1yZWFkb25seSAucWRuYXByby1saWtlcnQtc2NhbGVfX29wdGlvbi0tbnZ0OmhvdmVyIC5xZG5hcHJvLWxpa2VydC1zY2FsZV9fZG90IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4ucWRuYXByby1saWtlcnQtc2NhbGUuaXMtcmVhZG9ubHkgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19vcHRpb24uaXMtc2VsZWN0ZWQgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19kb3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1saWtlcnQtYWNjZW50KTtcbn1cbi5xZG5hcHJvLWxpa2VydC1zY2FsZS5pcy1yZWFkb25seSAucWRuYXByby1saWtlcnQtc2NhbGVfX29wdGlvbi0tbnZ0LmlzLXNlbGVjdGVkIC5xZG5hcHJvLWxpa2VydC1zY2FsZV9fZG90IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcWxzLW52dC1jb2xvcik7XG59XG5cbi8vIC0tLS0gRGlzYWJsZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnFkbmFwcm8tbGlrZXJ0LXNjYWxlLmlzLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41NTtcbn1cbi5xZG5hcHJvLWxpa2VydC1zY2FsZS5pcy1kaXNhYmxlZCAucWRuYXByby1saWtlcnQtc2NhbGVfX29wdGlvbiB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vIC0tLS0gRGFyayBtb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJhdyBwYWxldHRlIHRva2VucyBkbyBOT1QgYXV0by1mbGlwIHVuZGVyIFtkYXRhLXRoZW1lPVwiZGFya1wiXSAtIG9ubHlcbi8vIHNlbWFudGljIHRva2VucyBkbyAoc2VlIF9kZXNpZ24tdG9rZW5zLnNjc3MncyBkYXJrIG92ZXJyaWRlIGJsb2NrKS5cbi8vIC0tbGlrZXJ0LWFjY2VudCBhbHJlYWR5IHJlc29sdmVzIHRocm91Z2ggLS1jLWJyYW5kLXB1cnBsZSAoYSBzZW1hbnRpY1xuLy8gdG9rZW4pLCBzbyBpdCBmbGlwcyBhdXRvbWF0aWNhbGx5OyBvbmx5IHRoZSBsb2NhbCAtLXFscy0qIGdyZXlzIGFuZCB0aGVcbi8vIGRpdmlkZXIgY29sb3VyIG5lZWQgYSByZWRlY2xhcmUgaGVyZSwgc2FtZSBwYXR0ZXJuIGFzIHFkbmFwcm8tc2NvcmUtc2NhbGUuXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tbGlrZXJ0LXNjYWxlIHtcbiAgLS1xbHMtbnZ0LWNvbG9yOiB2YXIoLS1jLWdyZXktNDAwLCAjYTZhYWIzKTtcbiAgLS1xbHMtbnZ0LXJpbmc6IHZhcigtLWMtZ3JleS02MDAsICM1NjViNjYpO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLWxpa2VydC1zY2FsZV9fZGl2aWRlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYm9yZGVyLXNvZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkpO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLWxpa2VydC1zY2FsZV9fbGFiZWwge1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LWhlYWRpbmcsICNlMWUzZTYpO1xufVxuXG4vLyAtLS0tIE5hcnJvdyBjb250YWluZXJzOiBTVEFDSyB2ZXJ0aWNhbGx5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCZWxvdyB0aGlzIHdpZHRoIHRoZSBsYWJlbHMgY2FuJ3Qgc2l0IHNpZGUgYnkgc2lkZSAoTiBwb2ludHMsIHNvbWUgbGFiZWxzIGFyZVxuLy8gbG9uZywgZS5nLiBcIk5pZXQgb250ZXZyZWRlbiwgbmlldCB0ZXZyZWRlblwiKSwgc28gdGhlIHNjYWxlIGZsb3dzIHRvcC10by1ib3R0b206XG4vLyBlYWNoIG9wdGlvbiBiZWNvbWVzIGEgW2RvdF0gW2xhYmVsXSByb3cuIFRoaXMgaXMgdGhlIHBob25lIC8gUFdBIGxheW91dCBBTkRcbi8vIHRoZSBmbG93LWVkaXRvciBub2RlLXByZXZpZXcgY29sdW1uIGxheW91dCAoYm90aCBuYXJyb3dlciB0aGFuIHRoZSBicmVha3BvaW50KS5cbi8vIEFib3ZlIGl0LCB0aGUgaG9yaXpvbnRhbCBsYWJlbC1hYm92ZS1kb3QgbGF5b3V0IGlzIGtlcHQg4oCUIHVzZWQgb25seSB3aGVuXG4vLyB0aGVyZSBpcyBnZW51aW5lbHkgcm9vbSBmb3IgZXZlcnkgbGFiZWwuIENvbnRhaW5lciBxdWVyeSA9IHJlc3BvbmRzIHRvIHRoZVxuLy8gY29tcG9uZW50J3MgT1dOIHdpZHRoLCBzbyBwcmV2aWV3IGFuZCBhcHAgYmVoYXZlIGlkZW50aWNhbGx5LiBUaGUgLm9wdGlvblxuLy8gYnV0dG9uIGl0c2VsZiBjYXJyaWVzIHRoZSBbZG90XVtsYWJlbF0gcm93IGxheW91dCBoZXJlIChub3QgLml0ZW0sIHdoaWNoXG4vLyBub3cgb25seSB3cmFwcyB0aGF0IG9uZSBidXR0b24pIC0gc2VlIHRoZSBcIk9wdGlvblwiIGJsb2NrIGFib3ZlLlxuQGNvbnRhaW5lciBxZG5hcHJvLWxpa2VydC1zY2FsZSAobWF4LXdpZHRoOiA2ODBweCkge1xuICAucWRuYXByby1saWtlcnQtc2NhbGVfX3JvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IHZhcigtLXMtMiwgOHB4KTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gbm8gaG9yaXpvbnRhbCBzY3JvbGwgd2hlbiBzdGFja2VkXG4gIH1cbiAgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19zY2FsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IHZhcigtLXMtMiwgOHB4KTtcbiAgfVxuICAucWRuYXByby1saWtlcnQtc2NhbGVfX2l0ZW0ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5xZG5hcHJvLWxpa2VydC1zY2FsZV9fb3B0aW9uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogdmFyKC0tcy0zLCAxMnB4KTtcbiAgICAvLyBDb21mb3J0YWJsZSBmdWxsLXJvdyB0YXAgdGFyZ2V0ICh0aGlzIGlzIGFsc28gdGhlIFBXQS9waG9uZSBsYXlvdXQpOlxuICAgIC8vIHRoZSBXSE9MRSByb3cgLSBkb3QgKyBsYWJlbCAtIGlzIHRoZSBoaXQgYXJlYSBub3csIG5vdCBqdXN0IHRoZSAyOHB4XG4gICAgLy8gZG90LCBwZXIgdGhlIH40NHB4IHRvdWNoLXRhcmdldCBjb252ZW50aW9uLlxuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgcGFkZGluZzogNnB4IDRweDtcbiAgfVxuICAucWRuYXByby1saWtlcnQtc2NhbGVfX2RvdCB7IG9yZGVyOiAwOyB9IC8vIGRvdCBmaXJzdCAobGVmdClcbiAgLnFkbmFwcm8tbGlrZXJ0LXNjYWxlX19sYWJlbCB7XG4gICAgb3JkZXI6IDE7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IGluaXRpYWw7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLy8gVGhlIHZlcnRpY2FsIFwib2ZmIHRoZSBzY2FsZVwiIGRpdmlkZXIgaXMgbWVhbmluZ2xlc3Mgd2hlbiBzdGFja2VkOyB1c2UgYVxuICAvLyB0b3AgYm9yZGVyICsgc3BhY2luZyBvbiB0aGUgbi52LnQuIHJvdyBpbnN0ZWFkLlxuICAucWRuYXByby1saWtlcnQtc2NhbGVfX2RpdmlkZXIgeyBkaXNwbGF5OiBub25lOyB9XG4gIC5xZG5hcHJvLWxpa2VydC1zY2FsZV9faXRlbS0tbnZ0IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zLTIsIDhweCk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXMtMywgMTJweCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWMtYm9yZGVyLXNvZnQtMiwgI2U2ZTllZik7XG4gIH1cbn1cblxuLy8gLS0tLSBSZWR1Y2VkIG1vdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5xZG5hcHJvLWxpa2VydC1zY2FsZV9fZG90IHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4iLCIvLyBxZG5hcHJvLXNtaWxleSDigJQgb25lIGZlZWRiYWNrIGVtb3RpY29uIHJlbmRlcmVkIGZyb20gdGhlIHNtaWxlX2ljb25zIFNWRyBzZXQuXG4vLyBXcmFwcyBhIHNpbmdsZSA8aW1nPjsgc2l6ZSBpcyBkcml2ZW4gYnkgdGhlIC0tc21pbGV5LXNpemUgY3VzdG9tIHByb3BlcnR5XG4vLyAoc2V0IHZpYSB0aGUgYHNpemVgIGF0dHJpYnV0ZSBvciBvdmVycmlkZGVuIGJ5IGEgcGFyZW50LCBlLmcuIHRoZSBzbWlsZXlcbi8vIHNlZ21lbnQtdGlsZSB2YXJpYW50KS5cblxuLnFkbmFwcm8tc21pbGV5IHtcbiAgICAtLXNtaWxleS1zaXplOiA1NnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi8vIC5xZG5hcHJvLXNtaWxleV9fdmlzdWFsIHdyYXBzIHRoZSA8aW1nPiBzbyBpZGxlL3JlYWN0aW9uIHRyYW5zZm9ybXMgYmVsb3dcbi8vIG5ldmVyIGZpZ2h0IHRoZSBob3N0J3Mgb3duIGxheW91dCBib3guIFByZXNlbnQgcmVnYXJkbGVzcyBvZiBgaW50ZXJhY3RpdmVgXG4vLyAobm8gc2l6ZSBvZiBpdHMgb3duIOKAlCBoYXJtbGVzcyB3aGVuIHN0YXRpYykuXG4ucWRuYXByby1zbWlsZXlfX3Zpc3VhbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDc4JTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4ucWRuYXByby1zbWlsZXlfX2ltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZhcigtLXNtaWxleS1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNtaWxleS1zaXplKTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vLyAtLS0tIGludGVyYWN0aXZlOiBpZGxlIHdvYmJsZSArIHRhcC1yZWFjdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE9wdC1pbiB2aWEgdGhlIGBpbnRlcmFjdGl2ZWAgYXR0cmlidXRlLiBTY29wZWQgYnkgYFtkYXRhLWZhY2VdYCAodGhlXG4vLyBSRVNPTFZFRCBmYWNlLCBzZXQgaW4gSlMpLCBuZXZlciBieSBjb2xvdXIvZW1vLXN0eWxlIOKAlCBzbyB0aGUgc2FtZVxuLy8gY2hvcmVvZ3JhcGh5IGFwcGxpZXMgaWRlbnRpY2FsbHkgd2hldGhlciB0aGUgdW5kZXJseWluZyBhc3NldCBpc1xuLy8gbmV1dHJhbC9jb2xvdXJlZCwgZGVmYXVsdC9leHByZXNzaXZlLCBhbnkgc2l6ZS5cbi5xZG5hcHJvLXNtaWxleS0taW50ZXJhY3RpdmUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnFkbmFwcm8tc21pbGV5LS1pbnRlcmFjdGl2ZTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYy1hY3Rpb24tNTAwLCAjNDY1MmYzKTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnFkbmFwcm8tc21pbGV5LS1pbnRlcmFjdGl2ZVtkYXRhLWZhY2U9XCJzYWRcIl0gLnFkbmFwcm8tc21pbGV5X192aXN1YWwgeyBhbmltYXRpb246IHFzbS1pZGxlLXNhZCA0LjRzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9XG4ucWRuYXByby1zbWlsZXktLWludGVyYWN0aXZlW2RhdGEtZmFjZT1cIm1laFwiXSAucWRuYXByby1zbWlsZXlfX3Zpc3VhbCB7IGFuaW1hdGlvbjogcXNtLWlkbGUtbWVoIDUuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cbi5xZG5hcHJvLXNtaWxleS0taW50ZXJhY3RpdmVbZGF0YS1mYWNlPVwib2tcIl0gLnFkbmFwcm8tc21pbGV5X192aXN1YWwgeyBhbmltYXRpb246IHFzbS1pZGxlLW9rIDMuNnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cbi5xZG5hcHJvLXNtaWxleS0taW50ZXJhY3RpdmVbZGF0YS1mYWNlPVwic21pbGVcIl0gLnFkbmFwcm8tc21pbGV5X192aXN1YWwgeyBhbmltYXRpb246IHFzbS1pZGxlLXNtaWxlIDIuOHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cbi5xZG5hcHJvLXNtaWxleS0taW50ZXJhY3RpdmVbZGF0YS1mYWNlPVwieWF5XCJdIC5xZG5hcHJvLXNtaWxleV9fdmlzdWFsIHsgYW5pbWF0aW9uOiBxc20taWRsZS15YXkgMi4xcyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHFzbS1pZGxlLXNhZCB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDBkZWcpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCkgcm90YXRlKC0yLjVkZWcpOyB9XG59XG5Aa2V5ZnJhbWVzIHFzbS1pZGxlLW1laCB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDBkZWcpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCkgcm90YXRlKDFkZWcpOyB9XG59XG5Aa2V5ZnJhbWVzIHFzbS1pZGxlLW9rIHtcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTsgfVxufVxuQGtleWZyYW1lcyBxc20taWRsZS1zbWlsZSB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDBkZWcpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpIHJvdGF0ZSgyLjVkZWcpOyB9XG59XG5Aa2V5ZnJhbWVzIHFzbS1pZGxlLXlheSB7XG4gICAgMCUsIDIwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoMGRlZyk7IH1cbiAgICAxMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCkgcm90YXRlKC00ZGVnKTsgfVxuICAgIDMwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KSByb3RhdGUoNGRlZyk7IH1cbn1cblxuLy8gT25lLXNob3QgcmVhY3Rpb24gb24gdGFwIOKAlCB0b2dnbGVkIGJ5IEpTICguaXMtcmVhY3RpbmcpLCByZW1vdmVkIG9uIGFuaW1hdGlvbmVuZC5cbi8vIFN1c3BlbmRzIHRoZSBpZGxlIGxvb3AgZm9yIGl0cyBkdXJhdGlvbiAoYW5pbWF0aW9uIHNob3J0aGFuZCBvdmVycmlkZXMgaXQpLlxuLnFkbmFwcm8tc21pbGV5LS1pbnRlcmFjdGl2ZVtkYXRhLWZhY2U9XCJzYWRcIl0gLnFkbmFwcm8tc21pbGV5X192aXN1YWwuaXMtcmVhY3RpbmcgeyBhbmltYXRpb246IHFzbS1yZWFjdC1zYWQgMC43MnMgY3ViaWMtYmV6aWVyKDAuMzYsIDAsIDAuNjYsIC0wLjA2KSAxOyB9XG4ucWRuYXByby1zbWlsZXktLWludGVyYWN0aXZlW2RhdGEtZmFjZT1cIm1laFwiXSAucWRuYXByby1zbWlsZXlfX3Zpc3VhbC5pcy1yZWFjdGluZyB7IGFuaW1hdGlvbjogcXNtLXJlYWN0LW1laCAwLjVzIGVhc2UtaW4tb3V0IDE7IH1cbi5xZG5hcHJvLXNtaWxleS0taW50ZXJhY3RpdmVbZGF0YS1mYWNlPVwib2tcIl0gLnFkbmFwcm8tc21pbGV5X192aXN1YWwuaXMtcmVhY3RpbmcgeyBhbmltYXRpb246IHFzbS1yZWFjdC1vayAwLjVzIGN1YmljLWJlemllcigwLjM0LCAxLjIsIDAuNjQsIDEpIDE7IH1cbi5xZG5hcHJvLXNtaWxleS0taW50ZXJhY3RpdmVbZGF0YS1mYWNlPVwic21pbGVcIl0gLnFkbmFwcm8tc21pbGV5X192aXN1YWwuaXMtcmVhY3RpbmcgeyBhbmltYXRpb246IHFzbS1yZWFjdC1zbWlsZSAwLjZzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKSAxOyB9XG4ucWRuYXByby1zbWlsZXktLWludGVyYWN0aXZlW2RhdGEtZmFjZT1cInlheVwiXSAucWRuYXByby1zbWlsZXlfX3Zpc3VhbC5pcy1yZWFjdGluZyB7IGFuaW1hdGlvbjogcXNtLXJlYWN0LXlheSAwLjg1cyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSkgMTsgfVxuXG5Aa2V5ZnJhbWVzIHFzbS1yZWFjdC1zYWQge1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTsgfVxuICAgIDIyJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpIHJvdGF0ZSgtOWRlZykgc2NhbGUoMC45Nik7IH1cbiAgICA0NCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KSByb3RhdGUoN2RlZykgc2NhbGUoMC45Nik7IH1cbiAgICA2NiUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KSByb3RhdGUoLTVkZWcpIHNjYWxlKDAuOTcpOyB9XG4gICAgODUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCkgcm90YXRlKDFkZWcpIHNjYWxlKDAuOTkpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpIHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTsgfVxufVxuQGtleWZyYW1lcyBxc20tcmVhY3QtbWVoIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEpOyB9XG4gICAgMzAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTZkZWcpIHNjYWxlKDEuMDIpOyB9XG4gICAgNjAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNGRlZykgc2NhbGUoMS4wMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgc2NhbGUoMSk7IH1cbn1cbkBrZXlmcmFtZXMgcXNtLXJlYWN0LW9rIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTsgfVxuICAgIDM1JSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpIHNjYWxlKDAuOTUpOyB9XG4gICAgNjUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpIHNjYWxlKDEuMDMpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTsgfVxufVxuQGtleWZyYW1lcyBxc20tcmVhY3Qtc21pbGUge1xuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApOyB9XG4gICAgMzIlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZVkoLThweCk7IH1cbiAgICA1OCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpIHRyYW5zbGF0ZVkoMnB4KTsgfVxuICAgIDc4JSB7IHRyYW5zZm9ybTogc2NhbGUoMS4wNikgdHJhbnNsYXRlWSgtMnB4KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7IH1cbn1cbkBrZXlmcmFtZXMgcXNtLXJlYWN0LXlheSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCkgcm90YXRlKDBkZWcpOyB9XG4gICAgMTQlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjI0KSB0cmFuc2xhdGVZKC0xM3B4KSByb3RhdGUoLTdkZWcpOyB9XG4gICAgMzAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjkzKSB0cmFuc2xhdGVZKDApIHJvdGF0ZSg1ZGVnKTsgfVxuICAgIDQ2JSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xNykgdHJhbnNsYXRlWSgtMTBweCkgcm90YXRlKC00ZGVnKTsgfVxuICAgIDYyJSB7IHRyYW5zZm9ybTogc2NhbGUoMC45NikgdHJhbnNsYXRlWSgwKSByb3RhdGUoMmRlZyk7IH1cbiAgICA4MiUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDQpIHRyYW5zbGF0ZVkoLTJweCkgcm90YXRlKDBkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKSByb3RhdGUoMGRlZyk7IH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAucWRuYXByby1zbWlsZXlfX3Zpc3VhbCB7IGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG59XG4iLCIvLyBxZG5hcHJvLXNtaWxleS1waWNrZXIg4oCUIHRoZSBcIkZlZWRiYWNrIChlbW9qaSlcIiBhbnN3ZXIgcm93OiBOIHFkbmFwcm8tc21pbGV5XG4vLyBhdG9tcyAoaW50ZXJhY3RpdmUpIHdpdGggZXhjbHVzaXZlIHJhZGlvZ3JvdXAgc2VsZWN0aW9uLiBUaGlzIGNvbXBvbmVudCBvd25zXG4vLyBPTkxZIHRoZSByb3cgbGF5b3V0LCBzcGFjaW5nIGFuZCBzZWxlY3Rpb24gY2hyb21lIOKAlCBldmVyeSBlbW90aWNvbiBhc3NldFxuLy8gKGNvbG91ciwgYXJ0IHN0eWxlLCBzaXplKSBjb21lcyBzdHJhaWdodCBmcm9tIHFkbmFwcm8tc21pbGV5LCBzbyBpdHMgb3duXG4vLyBjb2xvdXIgdG9rZW5zL2RhcmstbW9kZSBydWxlcyBhbHJlYWR5IGFwcGx5IHVuY2hhbmdlZCBoZXJlLlxuXG4ucWRuYXByby1zbWlsZXktcGlja2VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnFkbmFwcm8tc21pbGV5LXBpY2tlciAucXNwLXRyYWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLnFkbmFwcm8tc21pbGV5LXBpY2tlciAucXNwLW9wdGlvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDRweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE2cyBlYXNlLCBib3JkZXItY29sb3IgMC4xNnMgZWFzZTtcbn1cbi8vIEhvdmVyIGZvbGxvd3MgdGhlIGZsb3cgdGhlbWUgdG9vIChLaW0sIDEyLjA3LjIwMjYpOiBhIGxpZ2h0ZXIgdGludCBvZiB0aGVcbi8vIHNlbGVjdGVkLXN0YXRlIGNvbG91ciBpbnN0ZWFkIG9mIGEgZml4ZWQgbGF2ZW5kZXIgc3VyZmFjZSB0aGF0IGNsYXNoZXMgd2l0aFxuLy8gdGhlbWVkIGZsb3dzLiBJbiB0aGUgYm8yIGxpYnJhcnkgLS10aGVtZS1idG4tY29sb3IgaXMgYWJzZW50IGFuZCB0aGUgYnJhbmRcbi8vIHB1cnBsZSBmYWxsYmFjayBhcHBsaWVzLlxuLnFkbmFwcm8tc21pbGV5LXBpY2tlciAucXNwLW9wdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSkgOCUsIHRyYW5zcGFyZW50KTtcbn1cbi8vIFNlbGVjdGVkIHN0YXRlIGZvbGxvd3MgdGhlIGZsb3cncyBydW50aW1lIHRoZW1lIGNvbG91ciAoMTIuMDcuMjAyNiBmaXgsXG4vLyBLaW06IHRoaXMgdXNlZCB0byBiZSBhIGZpeGVkIGxpZ2h0LXB1cnBsZSBib3ggdGhhdCBjbGFzaGVkIHdpdGggdGhlbWVkXG4vLyBmbG93cywgZS5nLiBhIHBpbmsgdGhlbWUgc2hvd2luZyBhIHN0YXJrLCBvZmYtYnJhbmQgYm94KS4gYC0tdGhlbWUtYnRuLWNvbG9yYFxuLy8gaXMgc2V0IGJ5IHRoZSBmbG93IHJ1bnRpbWU7IGZhbGxzIGJhY2sgdG8gdGhlIGJyYW5kIHB1cnBsZSBldmVyeXdoZXJlIGl0XG4vLyBpc24ndCBkZWZpbmVkIChlLmcuIHRoZSBibzIgY29tcG9uZW50IGxpYnJhcnksIHdoaWNoIGhhcyBubyB0aGVtZSBjb250ZXh0KVxuLy8g4oCUIHNhbWUgZmFsbGJhY2sgY2hhaW4gYWxyZWFkeSB1c2VkIGJ5IHFkbmFwcm8tYW5zd2VyLWJ1dHRvbi8tc2NvcmUtc2NhbGUuXG4ucWRuYXByby1zbWlsZXktcGlja2VyIC5xc3Atb3B0aW9uLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSkgMTUlLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10aGVtZS1idG4tY29sb3IsICM0MDQ5OWEpO1xufVxuLnFkbmFwcm8tc21pbGV5LXBpY2tlciAucXNwLW9wdGlvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYy1hY3Rpb24tNTAwLCAjNDY1MmYzKTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4ucWRuYXByby1zbWlsZXktcGlja2VyIC5xc3AtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2YjcyODApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuLnFkbmFwcm8tc21pbGV5LXBpY2tlciAucXNwLW9wdGlvbi5pcy1hY3RpdmUgLnFzcC1sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSk7XG59XG5cbi5xZG5hcHJvLXNtaWxleS1waWNrZXIuaXMtZGlzYWJsZWQgLnFzcC1vcHRpb24ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgIC5xZG5hcHJvLXNtaWxleS1waWNrZXIgLnFzcC10cmFjayB7IGdhcDogMDsgfVxuICAgIC5xZG5hcHJvLXNtaWxleS1waWNrZXIgLnFzcC1sYWJlbCB7IGZvbnQtc2l6ZTogOS41cHg7IH1cbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL3NlbGVjdC9fc2VsZWN0LWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIHFkbmFwcm8tc2VsZWN0IOKAlCBjb21waWxlZCBmcm9tIF9zZWxlY3Quc2Nzc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5xZG5hcHJvLXNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnFkbmFwcm8tc2VsZWN0ID4gcWRuYXByby1tZW51LWl0ZW0sXG4ucWRuYXByby1zZWxlY3QgPiBxZG5hcHJvLW1lbnUtc2VjdGlvbi1oZWFkaW5nLFxuLnFkbmFwcm8tc2VsZWN0ID4gcWRuYXByby1tZW51LWRpdmlkZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnFkbmFwcm8tc2VsZWN0LXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnFkbmFwcm8tc2VsZWN0LXBvcG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M0YzdjYztcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIG1heC1oZWlnaHQ6IDMyMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMXB4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KSxcbiAgICAgICAgMCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG4gICAgLyogSGlkZSB0aGUgc2Nyb2xsYmFyIOKAlCBjb250ZW50IHN0aWxsIHNjcm9sbHMuIEZsYXQgc2Nyb2xsYmFyLWhpZGUgKHRoZVxuICAgICAgIHFkbmEtc2Nyb2xsYmFyLWhpZGRlbiBtaXhpbiBpc24ndCBpbiBzY29wZSBpbiB0aGUgY29tcG9uZW50cy12MiBidW5kbGUsXG4gICAgICAgc2FtZSByZWFzb24gYXMgX2JvdHRvbS1zaGVldC5zY3NzKS4gW0tpbSAyMDI2LTA3LTIwXSAqL1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogb2xkIEVkZ2UvSUUgKi9cbn1cbi5xZG5hcHJvLXNlbGVjdC1wb3BvdmVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IC8qIENocm9tZSAvIFNhZmFyaSAqL1xufVxuLyogYGRlbnNlYCBwb3BvdmVyIOKAlCB0aWdodGVuIHRoZSByb3cgc3BhY2luZyAocmFkaW8gLyBhdmF0YXIgLyBsYWJlbCBjbG9zZXIpIGZvclxuICAgc2VsZWN0cyB0aGF0IG9wdCBpbiB2aWEgdGhlIGBkZW5zZWAgYXR0cmlidXRlIChlLmcuIHRoZSBBdWRpdHJpdG1lIHVzZXJcbiAgIHBpY2tlcnMpLiBTY29wZWQgdG8gdGhpcyBwb3BvdmVyIG1vZGlmaWVyIHNvIG5vIG1lbnUtaXRlbSBlbHNld2hlcmUgaXNcbiAgIGFmZmVjdGVkLiBbS2ltIDIwMjYtMDctMjBdICovXG4ucWRuYXByby1zZWxlY3QtcG9wb3Zlci0tZGVuc2UgLnFkbmFwcm8tbWVudS1pdGVtIHtcbiAgICBnYXA6IDZweDtcbn1cbi5xZG5hcHJvLXNlbGVjdC1wb3BvdmVyLS1kZW5zZSAucWRuYXByby1tZW51LWl0ZW0ubWVudS1pdGVtLXdpdGgtYXZhdGFyIC5tZW51LWl0ZW0tYXZhdGFyLXdyYXAge1xuICAgIHBhZGRpbmc6IDAgMXB4O1xufVxuLnFkbmFwcm8tc2VsZWN0LXBvcG92ZXIgLnFkbmFwcm8tc2VsZWN0LXNlYXJjaCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBtYXJnaW46IC00cHggLTRweCAwIC00cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUzZTY7XG59XG4ucWRuYXByby1zZWxlY3QtcG9wb3ZlciAucWRuYXByby1zZWxlY3QtbWVudSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5xZG5hcHJvLXNlbGVjdC1wb3BvdmVyIC5xZG5hcHJvLXNlbGVjdC1lbXB0eSB7XG4gICAgcGFkZGluZzogMTZweCAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBjb2xvcjogIzg5OGU5OTtcbn1cblxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXNlbGVjdC1wb3BvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWYyMDI4O1xuICAgIGJvcmRlci1jb2xvcjogIzU2NWI2NjtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDFweCAzcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4zMCksXG4gICAgICAgIDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC40MCk7XG59XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tc2VsZWN0LXBvcG92ZXIgLnFkbmFwcm8tc2VsZWN0LXNlYXJjaCB7XG4gICAgYmFja2dyb3VuZDogIzFmMjAyODtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjNDA0NDRkO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXNlbGVjdC1wb3BvdmVyIC5xZG5hcHJvLXNlbGVjdC1lbXB0eSB7XG4gICAgY29sb3I6ICM4OThlOTk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIHRvdWNoIG1vZGUg4oCUIG9wdC1pbiB2aWEgYSBgdG91Y2hgIGF0dHJpYnV0ZSBvbiA8cWRuYXByby1zZWxlY3Q+XG4gKiAgKFBXQSBmbG93IG9ubHk7IG5ldmVyIHNldCBpbiB0aGUgYmFja29mZmljZSwgc28gZGVza3RvcCBzZWxlY3RzIGFyZVxuICogIGJ5dGUtZm9yLWJ5dGUgdW5hZmZlY3RlZCkuIHFkbmEtc2VsZWN0LmpzIGFkZHMgdGhlIG1vZGlmaWVyIGNsYXNzXG4gKiAgQkVMT1cgdG8gdGhlIHBvcG92ZXIgUk9PVCBpdHNlbGYgKG5vdCB0aGUgaG9zdCkgYmVjYXVzZSB0aGUgcG9wb3ZlclxuICogIGlzIHBvcnRhbGVkIHRvIGRvY3VtZW50LmJvZHkg4oCUIGEgYC5mbG93IOKApmAgYW5jZXN0b3Igc2VsZWN0b3Igd291bGRcbiAqICBuZXZlciByZWFjaCBpdCB0aGVyZS4gVmVyaWZpZWQgY3VycmVudCB2YWx1ZXMgYmVmb3JlIG92ZXJyaWRpbmc6XG4gKiAgb3B0aW9uIHJvdyB3YXMgbWluLWhlaWdodCA0MHB4IC8gcGFkZGluZyA4cHggMTZweCAvIDE0cHggbGFiZWxcbiAqICAoX21lbnUtaXRlbS5zY3NzIG1lbnUtaXRlbS1zaXplLWRlZmF1bHQpOyBjaGVja2JveC9yYWRpbyBpbmRpY2F0b3JcbiAqICB3YXMgMTZweCAoX2NoZWNrYm94LnNjc3MgLyBfcmFkaW8uc2NzcyBkZWZhdWx0IC0tY2Itc2l6ZS8tLXJiLXNpemUpO1xuICogIHNlYXJjaCBpbnB1dCB0ZXh0IHdhcyAxNHB4IChpbmhlcml0ZWQgLnFkbmFwcm8taW5wdXQgZGVmYXVsdCksIE5PVFxuICogIDEzcHggYXMgZmlyc3QgYXNzdW1lZCDigJQgc3RpbGwgYnVtcGVkIHRvIDE2cHggc2luY2UgYW55dGhpbmcgdW5kZXJcbiAqICAxNnB4IHRyaWdnZXJzIGlPUyBTYWZhcmkncyBhdXRvLXpvb20tb24tZm9jdXMuIFsyMDI2LTA3LTEzXVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIE9wdGlvbiByb3dzIOKAlCBNYXRlcmlhbC9BcHBsZSB0b3VjaCBndWlkYW5jZTogPj00OHB4IHRhcCB0YXJnZXQsIDE2cHhcbiAgIGxhYmVsIChuZXZlciBzbWFsbGVyIOKAlCByZWFkYWJpbGl0eSBhdCBhcm0ncyBsZW5ndGgpLiAqL1xuLnFkbmFwcm8tc2VsZWN0LXBvcG92ZXItLXRvdWNoIC5xZG5hcHJvLW1lbnUtaXRlbS5tZW51LWl0ZW0tc2l6ZS1kZWZhdWx0IHtcbiAgICAvKiBtaW4taGVpZ2h0IChub3QgZml4ZWQgaGVpZ2h0KSBpcyBhIGZsb29yIOKAlCB0aGUgcm93IGdyb3dzIHdoZW4gYSBsb25nXG4gICAgICAgbGFiZWwgd3JhcHMgdG8gdHdvIGxpbmVzLiBhbGlnbi1pdGVtczogY2VudGVyIChmcm9tIF9tZW51LWl0ZW0uc2NzcylcbiAgICAgICBrZWVwcyB0aGUgdG9nZ2xlIGNlbnRyZWQgYWdhaW5zdCB0aGUgdGFsbGVyIHJvdy4gKi9cbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG4ucWRuYXByby1zZWxlY3QtcG9wb3Zlci0tdG91Y2ggLnFkbmFwcm8tbWVudS1pdGVtIC5tZW51LWl0ZW0tbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAvKiBMZXQgbG9uZyBvcHRpb24gbGFiZWxzIFdSQVAgaW5zdGVhZCBvZiB0cnVuY2F0aW5nIHdpdGggYW4gZWxsaXBzaXMg4oCUXG4gICAgICAgdGhlIHdpZGVyIGJyZWFrLW91dCBwb3BvdmVyIHBsdXMgd3JhcHBpbmcgbWVhbnMgYSBmdWxsIFwiQW50d29vcmRvcHRpZVwiXG4gICAgICAgbGFiZWwgc2hvd3MuIE92ZXJyaWRlcyB0aGUgYmFzZSAubWVudS1pdGVtLWxhYmVsIG5vd3JhcC9lbGxpcHNpcy4gKi9cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XG59XG5cbi8qIENoZWNrYm94L3JhZGlvIGluZGljYXRvciDigJQgYnVtcCBmcm9tIHRoZSAxNnB4IGRlZmF1bHQgdG93YXJkIHRoZSAyOHB4XG4gICBhbHJlYWR5IGVzdGFibGlzaGVkIGJ5IHFkbmFwcm8tY2hlY2tib3gncyBvd24gc2l6ZT1cInRvdWNoLXNtXCIgKGRlbnNlLXJvd1xuICAgdG91Y2ggY29udmVudGlvbiwgc2VlIF9jaGVja2JveC5zY3NzKS4gTWFyay9kb3Qgc2NhbGUgd2l0aCBpdC4gKi9cbi5xZG5hcHJvLXNlbGVjdC1wb3BvdmVyLS10b3VjaCAucWRuYXByby1tZW51LWl0ZW0gcWRuYXByby1jaGVja2JveCB7XG4gICAgLS1jYi1zaXplOiAyOHB4O1xufVxuLnFkbmFwcm8tc2VsZWN0LXBvcG92ZXItLXRvdWNoIC5xZG5hcHJvLW1lbnUtaXRlbSBxZG5hcHJvLWNoZWNrYm94IC5jaGVja2JveC1tYXJrIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG4ucWRuYXByby1zZWxlY3QtcG9wb3Zlci0tdG91Y2ggLnFkbmFwcm8tbWVudS1pdGVtIHFkbmFwcm8tY2hlY2tib3ggLmNoZWNrYm94LW1hcmstZGFzaCB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAzcHg7XG59XG4ucWRuYXByby1zZWxlY3QtcG9wb3Zlci0tdG91Y2ggLnFkbmFwcm8tbWVudS1pdGVtIHFkbmFwcm8tcmFkaW8ge1xuICAgIC0tcmItc2l6ZTogMjhweDtcbn1cbi5xZG5hcHJvLXNlbGVjdC1wb3BvdmVyLS10b3VjaCAucWRuYXByby1tZW51LWl0ZW0gcWRuYXByby1yYWRpbyAucmFkaW8tZG90IHtcbiAgICB3aWR0aDogN3B4O1xuICAgIGhlaWdodDogN3B4O1xufVxuXG4vKiBBIGxpdHRsZSBleHRyYSByb29tIGJldHdlZW4gcm93cyBvbmNlIHRoZXkncmUgdGFsbGVyLiAqL1xuLnFkbmFwcm8tc2VsZWN0LXBvcG92ZXItLXRvdWNoIC5xZG5hcHJvLXNlbGVjdC1tZW51IHtcbiAgICBnYXA6IDZweDtcbn1cblxuLyogU2VhcmNoIGlucHV0IOKAlCA+PTE2cHggaXMgQ1JJVElDQUwgKGFueXRoaW5nIHNtYWxsZXIgbWFrZXMgaU9TIFNhZmFyaVxuICAgYXV0by16b29tIG9uIGZvY3VzKS4gRXh0cmEgaGVpZ2h0L3BhZGRpbmcgKyBleHBsaWNpdCBzcGVjaWZpY2l0eSAodHdvXG4gICBjbGFzc2VzIG9uIHRoZSBzZWFyY2ggZWxlbWVudCBpdHNlbGYpIHNvIHRoaXMgcmVsaWFibHkgYmVhdHNcbiAgIF9pbnB1dC5zY3NzJ3Mgb3duIGAucWRuYXByby1pbnB1dC5pbnB1dC1zaXplLXNtYWxsIC5pbnB1dC1maWVsZGAgcnVsZVxuICAgcmVnYXJkbGVzcyBvZiBwYXJ0aWFsIGltcG9ydCBvcmRlci4gKi9cbi5xZG5hcHJvLXNlbGVjdC1wb3BvdmVyLS10b3VjaCAucWRuYXByby1zZWxlY3Qtc2VhcmNoLmlucHV0LXNpemUtc21hbGwgLmlucHV0LWZpZWxkIHtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIHBhZGRpbmc6IDAgMTRweDtcbn1cbi5xZG5hcHJvLXNlbGVjdC1wb3BvdmVyLS10b3VjaCAucWRuYXByby1zZWxlY3Qtc2VhcmNoIC5pbnB1dC1uYXRpdmUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cbiIsIi8vIHNjc3MvY29tcG9uZW50cy92Mi9zaGFyZS9fc2hhcmUuc2Nzc1xuLy8gU3R5bGVzIGZvciB0aGUgdW5pdmVyc2FsIHNoYXJlIGZlYXR1cmU6IHRoZSBRZG5hU2hhcmUgZGlhbG9nIGJvZHlcbi8vICh3ZWIvanMvcWRuYS1zaGFyZS5qcykgKyB0aGUgcWRuYXByby1zaGFyZS1idG4gY29tcG9uZW50XG4vLyAod2ViL2pzL2NvbXBvbmVudHMvdjIvc2hhcmUvcWRuYS1zaGFyZS1idG4uanMpLlxuLy9cbi8vIFVzZXMgZGVzaWduLXRva2VucyAod2l0aCBidWlsdC1pbiBkYXJrLW1vZGUgb3ZlcnJpZGVzKSBmb3IgdGhlbWluZy5cbi8vIENvbXBpbGVkIGludG8gd2ViL2Nzcy92MS9zdHlsZS12MS5jc3MgYnkgYGd1bHAgc2Fzcy12MWAuXG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIFNoYXJlIGRpYWxvZyBib2R5IChpbnNpZGUgPHFkbmFwcm8tbW9kYWwgY2xhc3M9XCJxZG5hcHJvLXNoYXJlLW1vZGFsXCI+KVxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4ucWRuYXByby1zaGFyZS1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBzYW5zLXNlcmlmO1xufVxuXG4vLyBDb21wbGlhbmNlIHdhcm5pbmcgc2hvd24gZm9yIGBzZW5zaXRpdmVgIGNvbnRlbnQuXG4ucWRuYXByby1zaGFyZS13YXJuIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy10YWctd2FybmluZy1iZyk7XG4gICAgY29sb3I6IHZhcigtLWMtdGFnLXdhcm5pbmctdGV4dCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YwZDA2MDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG5cbi8vIE5vdGUgZXhwbGFpbmluZyBmaWxlcyBvbmx5IHJpZGUgbmF0aXZlL2Rvd25sb2FkLlxuLnFkbmFwcm8tc2hhcmUtbm90ZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbn1cblxuLnFkbmFwcm8tc2hhcmUtY2hhbm5lbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDZweDtcbn1cblxuLnFkbmFwcm8tc2hhcmUtY2hhbm5lbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMXB4IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1ib3JkZXItY2FyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtYm9keSk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcyBlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2Utb3V0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmctc3VidGxlLXB1cnBsZSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1wdXJwbGUtMTAwKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZm9jdXMtcmluZyk7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXB1cnBsZS01MCk7XG4gICAgfVxufVxuXG4ucWRuYXByby1zaGFyZS1jaGFubmVsLWljb24ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS01MDApO1xufVxuXG4ucWRuYXByby1zaGFyZS1jaGFubmVsLWxhYmVsIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyAgcWRuYXByby1zaGFyZS1idG4gICh0aGUgcmV1c2FibGUgc2hhcmUgYnV0dG9uKVxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4ucWRuYXByby1zaGFyZS1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDE0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcyBlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2Utb3V0LCBjb2xvciAxMjBtcyBlYXNlLW91dDtcblxuICAgIC5zaGFyZS1idG4taWNvbiB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBmbGV4LXNocmluazogMDsgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWZvY3VzLXJpbmcpO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIH1cblxuICAgIC8vIEljb24tb25seTogc3F1YXJlLCBjZW50ZXJlZC5cbiAgICAmLnNoYXJlLWJ0bi1pY29uLW9ubHkge1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuICAgICYuc2hhcmUtYnRuLWRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cbi8vIFByaW1hcnkg4oCUIGZpbGxlZCBwdXJwbGUuXG4ucWRuYXByby1zaGFyZS1idG4uc2hhcmUtYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYnJhbmQtcHVycGxlKTtcbiAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW9uLWFjdGlvbik7XG4gICAgJjpob3ZlciAgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJyYW5kLXB1cnBsZS1ob3Zlcik7IH1cbiAgICAmOmFjdGl2ZSB7IGJhY2tncm91bmQ6IHZhcigtLWMtYnJhbmQtcHVycGxlLXByZXNzKTsgfVxufVxuXG4vLyBTdWJ0bGUgKGRlZmF1bHQpIOKAlCB0cmFuc3BhcmVudCwgcHVycGxlIGljb24sIGxpZ2h0IGhvdmVyLlxuLnFkbmFwcm8tc2hhcmUtYnRuLnNoYXJlLWJ0bi1zdWJ0bGUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS01MDApO1xuICAgIC5zaGFyZS1idG4taWNvbiB7IGNvbG9yOiB2YXIoLS1jLXB1cnBsZS01MDApOyB9XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWMtYmctc3VidGxlLXB1cnBsZSk7IH1cbn1cblxuLy8gU2Vjb25kYXJ5IOKAlCBib3JkZXJlZC5cbi5xZG5hcHJvLXNoYXJlLWJ0bi5zaGFyZS1idG4tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtYm9keSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLWJvcmRlci1jYXJkKTtcbiAgICAuc2hhcmUtYnRuLWljb24geyBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNTAwKTsgfVxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQtaG92ZXIpOyB9XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gIFNoYXJlIOKGkiBpbmJveCByZWNpcGllbnQgcGlja2VyICh3ZWIvanMvcWRuYS1zaGFyZS1pbmJveC5qcylcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnFkbmFwcm8tc2hhcmUtaW5ib3gtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgc2Fucy1zZXJpZjtcbn1cblxuLnFkbmFwcm8tc2hhcmUtaW5ib3gtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDQ2dmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXJnaW46IDAgLTRweDtcbiAgICBwYWRkaW5nOiAwIDRweDtcbn1cblxuLyogUGljay1tb2RlIGhlYWRlciBzbG90OiBjdXN0b20gZmllbGRzIChmcmVxdWVudGllICsgc2V0KSBib3ZlbiBkZSBUZWFtcy9QZXJzb25lbi1cbiAgIHNlY3RpZXMuIE9uZGVycmFuZCBzY2hlaWR0IHplIHZhbiBkZSB6b2VrL2xpanN0LiBbSmFuIDIwMjYtMDctMTFdICovXG4ucWRuYXByby1zaGFyZS1pbmJveC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLWJvcmRlciwgI2U2ZTRmMik7XG59XG4ucWRuYXByby1zaGFyZS1pbmJveC1oZWFkZXIgLm1kYXNoLWZsZCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogM3B4OyB9XG4ucWRuYXByby1zaGFyZS1pbmJveC1oZWFkZXIgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTAuNXB4OyBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmI2ODg0KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogLjA0ZW07IHBhZGRpbmctbGVmdDogMnB4O1xufVxuLnFkbmFwcm8tc2hhcmUtaW5ib3gtaGVhZGVyIHNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogIzIyMjAzYTsgYm9yZGVyOiAxcHggc29saWQgI2Q5ZDdlODsgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyBwYWRkaW5nOiA4cHggMTJweDsgd2lkdGg6IDEwMCU7IGN1cnNvcjogcG9pbnRlcjtcbn1cbi5xZG5hcHJvLXNoYXJlLWluYm94LWhlYWRlciBzZWxlY3Q6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyBib3JkZXItY29sb3I6ICMzOTQyOTA7IH1cblxuLnFkbmFwcm8tc2hhcmUtaW5ib3gtc2VjdGlvbiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xuICAgIHBhZGRpbmc6IDEwcHggNHB4IDRweDtcbn1cblxuLnFkbmFwcm8tc2hhcmUtaW5ib3gtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWMtdGV4dC1ib2R5KTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDExMG1zIGVhc2Utb3V0LCBib3JkZXItY29sb3IgMTEwbXMgZWFzZS1vdXQ7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1zdWJ0bGUtcHVycGxlKTsgfVxuICAgICYuaXMtc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLXN1YnRsZS1wdXJwbGUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtcHVycGxlLTEwMCk7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1mb2N1cy1yaW5nKTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG59XG5cbi5xZG5hcHJvLXNoYXJlLWluYm94LWNoZWNrIHsgZmxleC1zaHJpbms6IDA7IH1cbi5xZG5hcHJvLXNoYXJlLWluYm94LWF2YXRhciB7IGZsZXgtc2hyaW5rOiAwOyB9XG5cbi5xZG5hcHJvLXNoYXJlLWluYm94LXRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG4ucWRuYXByby1zaGFyZS1pbmJveC1uYW1lIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4ucWRuYXByby1zaGFyZS1pbmJveC1zdWIge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8vIE9wdGlvbmFsIGNvbW1lbnQgZmllbGQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcmVjaXBpZW50IHBpY2tlciAodGV4dCBzaGFyZXMpLlxuLnFkbmFwcm8tc2hhcmUtaW5ib3gtY29tbWVudC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA2cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYy1ib3JkZXItY2FyZCk7XG59XG4ucWRuYXByby1zaGFyZS1pbmJveC1jb21tZW50LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkKTtcbn1cbiIsIi8vIHFkbmFwcm8tc2hhcmUtbGluayDigJQgcmV1c2FibGUgcHVibGljIHNoYXJlLWxpbmsgc3VyZmFjZSAoVVJMIGZyYW1lLCBvcHRpb25hbFxuLy8gUVIgY2FyZCwgc3RhdHVzIHBpbGwsIG1ldGEsIGNvcHkvZGVhY3RpdmF0ZSBhY3Rpb25zKS5cbi8vIFFETkEgdG9rZW5zOiBncmV5LTUwIFVSTCBmcmFtZSwgZ3JleS0xMDAgYm9yZGVycywgcHVycGxlLTUwMCBhY2NlbnRzLFxuLy8gc2lnbmFsLWdyZWVuIHBpbGwuIEZMQVQgc2VsZWN0b3JzLCBubyBuZXN0aW5nIOKAlCB0aGUgUFdBIHYyLWNvbXBvbmVudCBydW50aW1lXG4vLyBleHBlY3RzIGZsYXQgY29tcGlsZWQgQ1NTIChzYW1lIHJ1bGUgYXMgcWRuYXByby1hbGVydCAvIGJvdHRvbS1zaGVldCkuXG5cbi8vIFRoZSB3aG9sZSBjb21wb25lbnQgaXMgYSBib3JkZXJlZCBjYXJkIChib3RoIHZhcmlhbnRzKS4gVGhlIG5vLVFSIHZhcmlhbnQgaXNcbi8vIGxlZnQtYWxpZ25lZCAoaGVhZGluZyArIGhlbHBlciB0ZXh0IHJlYWQgYXMgYSBwYXJhZ3JhcGgpOyB0aGUgUVIgdmFyaWFudFxuLy8gY2VudGVycyBpdHMgY29sdW1uIChiYWRnZS9RUi9tZXRhL2J1dHRvbnMpLCBzZWUgLS1jYXJkIGJlbG93LlxuLnFkbmFwcm8tc2hhcmUtbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLTMsIDEycHgpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAxNnB4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbn1cblxuLy8gLS0tIENhcmQgdmFyaWFudCAocXIpOiBLaW0ncyBkZXNpZ24g4oCUIGNlbnRlcmVkIHBpbGwsIFFSLCBtZXRhLCBmcmFtZSwgYnV0dG9ucyAtLS1cbi5xZG5hcHJvLXNoYXJlLWxpbmstLWNhcmQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBMZWFkaW5nIHRpdGxlICsgaGVscGVyIHRleHQgKHBsYW5uZXIgXCJKZSBkZWVsLWxpbmtcIiBibG9jaykuXG4ucWRuYXByby1zaGFyZS1saW5rX19oZWFkaW5nIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzIyMjAzYTtcbn1cbi5xZG5hcHJvLXNoYXJlLWxpbmtfX2Rlc2Mge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tdG9wOiAtNHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktNTAwLCAjNmI3MjgwKTtcbn1cblxuLnFkbmFwcm8tc2hhcmUtbGlua19faGVhZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtaW4taGVpZ2h0OiA0cHg7XG59XG5cbi8vIFN0YXR1cyBwaWxsIChhY3RpdmUgPSBncmVlbiwgaW5hY3RpdmUgPSBncmV5KS5cbi5xZG5hcHJvLXNoYXJlLWxpbmtfX2JhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4ucWRuYXByby1zaGFyZS1saW5rX19iYWRnZS0tYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1zaWduYWwtZ3JlZW4tYmcsICNjNWY1ZTIpO1xuICBjb2xvcjogdmFyKC0tYy1zaWduYWwtZ3JlZW4tdGV4dCwgIzQyOGI2ZSk7XG59XG4ucWRuYXByby1zaGFyZS1saW5rX19iYWRnZS0taW5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktMTAwLCAjZTdlOWVjKTtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS02MDAsICM1NjViNjYpO1xufVxuXG4vLyBRUiBob3N0IOKAlCB0aGUgdmVuZG9yZWQgbGliIGluamVjdHMgYSA8Y2FudmFzPi88aW1nPi88dGFibGU+LlxuLnFkbmFwcm8tc2hhcmUtbGlua19fcXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogNHB4O1xufVxuLnFkbmFwcm8tc2hhcmUtbGlua19fcXIgY2FudmFzLFxuLnFkbmFwcm8tc2hhcmUtbGlua19fcXIgaW1nLFxuLnFkbmFwcm8tc2hhcmUtbGlua19fcXIgdGFibGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnFkbmFwcm8tc2hhcmUtbGlua19fbWV0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogNHB4IDIwcHg7XG4gIGZvbnQtc2l6ZTogLjhyZW07XG4gIGNvbG9yOiB2YXIoLS1jLWdyZXktNTAwLCAjNmI3MjgwKTtcbn1cblxuLy8gLS0tIEdyZXkgVVJMIGZyYW1lIChib3RoIHZhcmlhbnRzKSDigJQgbW9ub3NwYWNlLCBvbmUgc2Nyb2xsbGVzcyBsaW5lIC0tLVxuLnFkbmFwcm8tc2hhcmUtbGlua19fdXJsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0yLCA4cHgpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktNTAsICNmMGYxZjIpO1xufVxuLnFkbmFwcm8tc2hhcmUtbGlua19fdXJsLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLy8gTWF0Y2ggdGhlIHBsYW5uZXIgZmVlZC1saW5rIGJveDogTWVubG8vbW9ub3NwYWNlLCBub3QgSW50ZXIgKEtpbSAyMi4wNy4yMDI2KS5cbiAgZm9udC1mYW1pbHk6IE1lbmxvLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTIuNXB4O1xuICBjb2xvcjogIzIyMjAzYTtcbn1cblxuLy8gLS0tIEFjdGlvbiBidXR0b25zIOKAlCBmdWxsIGJ1dHRvbnMgYmVsb3cgdGhlIGZyYW1lLCBob3Jpem9udGFsbHkgY2VudGVyZWQgLS0tXG4ucWRuYXByby1zaGFyZS1saW5rX19hY3Rpb25zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDhweDtcbn1cbi8vIEljb24gc2l0cyBsZWZ0IG9mIHRoZSBsYWJlbCBpbnNpZGUgdGhlIGFjdGlvbiBidXR0b25zLlxuLnFkbmFwcm8tc2hhcmUtbGlua19fY29weSBxZG5hcHJvLWljb24sXG4ucWRuYXByby1zaGFyZS1saW5rX19kZWFjdGl2YXRlIHFkbmFwcm8taWNvbiB7XG4gIG1hcmdpbi1yaWdodDogNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1zaWRlYmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBGb2xkZXIgLyBuYXZpZ2F0aW9uIHNpZGViYXIuIFdyYXBzIHFkbmFwcm8taW5wdXQgKHNlYXJjaCksXG4vLyAgcWRuYXByby1pY29uLWJ0biAoaGVhZGVyIGFjdGlvbnMpIGFuZCBxZG5hcHJvLXRyZWUtaXRlbSAobWVudSBpdGVtcykuXG4vLyAgRmlnbWE6IFFETkEtUFJPIOKAlCBub2RlIDg3Njc6MTg3ODk0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBUb2tlbnMgKEZpZ21hIHZhcmlhYmxlcykgW0ZJR01BIHZlcmlmaWVkXTpcbi8vICAgICRzaWRlYmFyLWJnICAgICAgICAgICAgI2ZmZmZmZiAgIFN1cmZhY2UvTW9kYWwgYW5kIHBvcC1vdmVyL3BvcHBvdmVyLUJHXG4vLyAgICAkc2lkZWJhci1kaXZpZGVyICAgICAgICNkOWRiZWIgICBCb3JkZXIvZXhjZXB0aW9ucy9JbnB1dC1TdHJva2UtdHJhbnNwYXJlbnQtYmdcbi8vICAgICRzaWRlYmFyLXRpdGxlLWNvbG9yICAgIzQwNDk5YSAgIFRleHQvSGVhZGVyXG4vLyAgICAkc2lkZWJhci1yYWRpdXMgICAgICAgIDhweCAgICAgICB2YXIoLS1zZHMtc2l6ZS1yYWRpdXMtMjAwKVxuLy8gICAgJHNpZGViYXItcGFkZGluZyAgICAgICA4cHggICAgICAgdmFyKC0tc2RzLXNpemUtc3BhY2UtMjAwKVxuLy8gICAgJHNpZGViYXItaXRlbXMtZ2FwICAgICA4cHggICAgICAgU3BhY2luZy1YU1xuLy8gIFR5cG9ncmFwaHk6XG4vLyAgICBUaXRsZSAoSDYpICAgICAgICAgICAgIEludGVyIFNlbWlCb2xkIDIwIC8gMjQsICM0MDQ5OWFcbi8vICAgIEl0ZW1zICAgICAgICAgICAgICAgICAgaW5oZXJpdGVkIGZyb20gcWRuYXByby10cmVlLWl0ZW1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucWRuYXByby1zaWRlYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDI5N3B4OyAgICAgICAgICAgICAgICAgICAgICAgLy8gbWF0Y2hlcyBGaWdtYSBpbnN0YW5jZSB3aWR0aFxuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgLy8gTm8gYm9yZGVyIOKAlCBzaWRlYmFyIHNpdHMgb24gYSBsaWdodC1wdXJwbGUgYXBwIGJhY2tncm91bmQgd2hlcmUgdGhlXG4gICAgLy8gd2hpdGUgc3VyZmFjZSBwcm92aWRlcyBlbm91Z2ggY29udHJhc3Qgb24gaXRzIG93bi5cbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBpbnRlciwgc2Fucy1zZXJpZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMTgwbXMgZWFzZS1vdXQ7XG5cbiAgICAvLyBDb2xsYXBzZWQ6IGhlYWRlci1vbmx5IHN0cmlwLiBTZWFyY2ggKyBpdGVtcyBzdGF5IGluIHRoZSBET00gc28gd2VcbiAgICAvLyBjYW4gYW5pbWF0ZSB0aGVpciBoZWlnaHQgKyBvcGFjaXR5LiBUcmFuc2l0aW9uIHRpbWluZyBpcyBzaG9ydFxuICAgIC8vICgxODBtcyBlYXNlLW91dCkgc28gaXQgZmVlbHMgcmVzcG9uc2l2ZSBidXQgbm90IHNuYXBweS5cbiAgICAvLyBOT1RFOiBkb24ndCBvdmVycmlkZSB0aGUgaG9zdCdzIGhlaWdodCBoZXJlIOKAlCB0aGUgY2hpbGQgbWF4LWhlaWdodFxuICAgIC8vIHRyYW5zaXRpb25zIG5hdHVyYWxseSBwdWxsIHRoZSBzaWRlYmFyIGRvd24gYXMgdGhleSBzaHJpbmsuXG4gICAgJi5zaWRlYmFyLWNvbGxhcHNlZCAuc2lkZWJhci1zZWFyY2gsXG4gICAgJi5zaWRlYmFyLWNvbGxhcHNlZCAuc2lkZWJhci1pdGVtcyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLy8gLS0tIFRvcCBzZWN0aW9uIChoZWFkZXIgKyBzZWFyY2gpIC0tLVxuICAgIC8vIFBhZGRpbmcgMTJweCAobm90IEZpZ21hJ3MgOHB4KSBiZWNhdXNlIHdpdGggYW4gOHB4IHNpZGViYXIgcmFkaXVzLFxuICAgIC8vIDhweCBwYWRkaW5nIGNhdXNlcyB0aGUgc2VhcmNoJ3MgY29ybmVyIHRvIHZpc3VhbGx5IGFsaWduIHdpdGggdGhlXG4gICAgLy8gc2lkZWJhcidzIHJvdW5kZWQgY29ybmVyIOKAlCBpdCByZWFkcyBhcyBpZiB0aGUgc2VhcmNoIGlzIHBva2luZ1xuICAgIC8vIG91dHNpZGUuIDEycHggZ2l2ZXMgYSBjbGVhbiB3aGl0ZSB3ZWRnZSBhcm91bmQgaXQuIFtJTkZFUlJFRCB0d2Vha11cbiAgICAuc2lkZWJhci10b3Age1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIC8vIEJlbHQtYW5kLWJyYWNlczoga2VlcCBldmVyeXRoaW5nIGluc2lkZSBubyBtYXR0ZXIgd2hhdCBhblxuICAgICAgICAvLyBvdmVyLWVhZ2VyIGNoaWxkIChzZWFyY2gtaW5wdXQgZmllbGQtcm93LCBmbGV4LXdlaXJkbmVzcykgdHJpZXMuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuc2lkZWJhci1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgNHB4IDhweDsgICAgICAgICAgICAvLyBtYXRjaGVzIEZpZ21hOiBwYi14eHMsIHBsLXhzXG4gICAgfVxuXG4gICAgLnNpZGViYXItdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIGludGVyLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBjb2xvcjogIzQwNDk5YTsgICAgICAgICAgICAgICAgICAvLyBUZXh0L0hlYWRlclxuICAgIH1cblxuICAgIC5zaWRlYmFyLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLy8gU2VhcmNoIGlucHV0IOKAlCBmdWxsLXdpZHRoLCBzaXplPXNtYWxsLiBtYXgtaGVpZ2h0IGxhcmdlIGVub3VnaCBmb3JcbiAgICAvLyBhbnkgcmVhbGlzdGljIHNlYXJjaC1pbnB1dCBoZWlnaHQ7IGFuaW1hdGlvbiBjb2xsYXBzZXMgaXQgc21vb3RobHkuXG4gICAgLy9cbiAgICAvLyBUaGUgb2xkIFwiQmVsdC1hbmQtYnJhY2VzXCIgbmVzdGVkIG92ZXJyaWRlIG9uIC5pbnB1dC1maWVsZC1yb3cgL1xuICAgIC8vIC5pbnB1dC1maWVsZCAod2lkdGg6MTAwJTsgbWluLXdpZHRoOjA7IGJveC1zaXppbmcpIGxpdmVkIGhlcmUgdG9cbiAgICAvLyBmb3JjZSB0aGUgc2VhcmNoIHRvIHN0YXkgaW5zaWRlIHRoZSAyOTdweCBzaWRlYmFyLiBUaGF0IGZpeCBpc1xuICAgIC8vIG5vIGxvbmdlciBuZWVkZWQg4oCUIHRoZSByb290IGNhdXNlIChtaXNzaW5nIG1pbi13aWR0aDowIG9uIHRoZVxuICAgIC8vIGJhc2UgLmlucHV0LWZpZWxkIC8gLmlucHV0LWZpZWxkLXJvdykgaXMgbm93IGZpeGVkIGluXG4gICAgLy8gX2lucHV0LnNjc3MgaXRzZWxmLCBzbyBldmVyeSBxZG5hcHJvLWlucHV0IGluc3RhbmNlIHNocmlua3NcbiAgICAvLyBwcm9wZXJseSByZWdhcmRsZXNzIG9mIGl0cyBwYXJlbnQuXG4gICAgLnNpZGViYXItc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWF4LWhlaWdodDogODBweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIG1heC1oZWlnaHQgMTgwbXMgZWFzZS1vdXQsXG4gICAgICAgICAgICBvcGFjaXR5IDEyMG1zIGVhc2Utb3V0LFxuICAgICAgICAgICAgcGFkZGluZyAxODBtcyBlYXNlLW91dCxcbiAgICAgICAgICAgIG1hcmdpbiAxODBtcyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAvLyAtLS0gSXRlbXMgY29udGFpbmVyIChzY3JvbGxhYmxlLCByb3VuZGVkIGJvdHRvbSkgLS0tXG4gICAgLy8gbWF4LWhlaWdodCBpcyBcImxhcmdlIGVub3VnaFwiICgxMjAwcHgpIOKAlCB3aGVuIHJlYWwgY29udGVudCBpcyBzaG9ydGVyXG4gICAgLy8gdGhlIHRyYW5zaXRpb24gZW5kcyBlYXJseSBzbyB0aGUgYW5pbWF0aW9uIGZlZWxzIHF1aWNrIHJlZ2FyZGxlc3MuXG4gICAgLnNpZGViYXItaXRlbXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgcGFkZGluZzogMTJweDsgICAgICAgICAgICAgIC8vIG1hdGNoZXMgc2lkZWJhci10b3Ag4oCUIGF2b2lkcyBjb3JuZXIgY2xhc2hcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAvLyBmbGV4IDEgMSBhdXRvIHNvIG5hdHVyYWwgY29udGVudC1oZWlnaHQgZHJpdmVzIHRoZSBjb250YWluZXIsXG4gICAgICAgIC8vIGJ1dCBpdCBzdGlsbCBzaHJpbmtzIGluc2lkZSBhIG1heC1oZWlnaHQnZCBob3N0IHdoZW4gY29udGVudCBvdmVyZmxvd3MuXG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMjAwcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBtYXgtaGVpZ2h0IDIyMG1zIGVhc2Utb3V0LFxuICAgICAgICAgICAgb3BhY2l0eSAxNDBtcyBlYXNlLW91dCxcbiAgICAgICAgICAgIHBhZGRpbmcgMjIwbXMgZWFzZS1vdXQsXG4gICAgICAgICAgICBtYXJnaW4gMjIwbXMgZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgLy8gRGl2aWRlciBiZXR3ZWVuIGdyb3VwcyAocGxhaW4gPGhyPilcbiAgICAuc2lkZWJhci1pdGVtcyA+IGhyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkYmViO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBUcmVlLWl0ZW1zIGluc2lkZTogdGhlIGNvbXBvbmVudCBoYW5kbGVzIGl0cyBvd24gc3R5bGluZy4gV2UganVzdFxuICAgIC8vIHJlc2V0IGFueSBkZWZhdWx0IG1hcmdpbnMgc28gdGhleSBzaXQgZmx1c2ggaW4gdGhlIGZsZXggY29sdW1uLlxuICAgIC5zaWRlYmFyLWl0ZW1zID4gcWRuYXByby10cmVlLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgRGFyay1tb2RlIG92ZXJyaWRlc1xuLy8gIFtGSUdNQSB2ZXJpZmllZCDigJQgZGFyayB0b2tlbnMgbWlncmF0ZWQgaGVyZSBmcm9tIHRoZSBzaWRlYmFyXG4vLyAgcHJldmlldyBzbyB0aGV5IGFwcGx5IGV2ZXJ5d2hlcmUgdGhlIHNpZGViYXIgaXMgdXNlZCwgbm90IG9ubHlcbi8vICBpbnNpZGUgdGhlIHByZXZpZXcgaGFybmVzcy5dXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWYyMDI4OyAgICAgICAgICAgICAgICAgICAgLy8gU3VyZmFjZS9Nb2RhbCAoZGFyaywgaW5mZXJyZWQpXG5cbiAgICAuc2lkZWJhci10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjZjBmMWYyOyAgICAgICAgICAgICAgICAgICAgIC8vIFRleHQvSGVhZGVyIChkYXJrKVxuICAgIH1cblxuICAgIC5zaWRlYmFyLWl0ZW1zID4gaHIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjM2EzYjQyOyAgICAgICAgICAvLyBEaXZpZGVyIChkYXJrKVxuICAgIH1cblxuICAgIC8vIFNlYXJjaCBpbnB1dCBpbiBkYXJrIOKAlCBpbnB1dCB0b2tlbnMgaW5zaWRlIHRoZSBzaWRlYmFyIHN1cmZhY2VcbiAgICBxZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyYTJiMzQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNhM2I0MjtcbiAgICB9XG4gICAgcWRuYXByby1pbnB1dCAuaW5wdXQtbmF0aXZlIHtcbiAgICAgICAgY29sb3I6ICNlMWUzZTY7XG4gICAgfVxuICAgIHFkbmFwcm8taW5wdXQgLmlucHV0LW5hdGl2ZTo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogI2E2YWFiMzsgICAgICAgICAgICAgICAgICAgICAvLyBUZXh0L0lucHV0LXBsYWNlaG9sZGVyLWxpa2VcbiAgICB9XG59XG4iLCIvLyBxZG5hcHJvLXNsaWRlciDigJQgZ2VuZXJhbC1wdXJwb3NlIHZhbHVlIHNsaWRlciAoY29udGludW91cyBvciBOLXN0ZXAgc25hcCxcbi8vIHNpbmdsZSBvciBkdWFsLWhhbmRsZSByYW5nZSwgaWNvbnMvaW5wdXQvdG9vbHRpcCwgMyBjb2xvdXIgdmFyaWFudHMpLlxuLy8gRkxBVCBDU1M7IGNvbG91cnMgY29tZSBmcm9tIHRoZSBkZXNpZ24tdG9rZW4gOnJvb3QgKHZhcigtLWMtKikpLlxuLy8gRWRpdCBIRVJFLCB0aGVuIGBndWxwIHNhc3MtdjFgICsgdGhlIHN5bmMuXG5cbi5xZG5hcHJvLXNsaWRlciB7XG4gIC0tcXMtdHJhY2s6IHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpO1xuICAtLXFzLWZpbGw6IHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSk7XG4gIC0tcXMtZG90OiB2YXIoLS1jLWdyZXktMzAwLCAjYzRjN2NjKTtcbiAgLS1xcy1kb3QtYWN0aXZlOiB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpO1xuICAtLXFzLWRlZmF1bHQtbWFya2VyOiB2YXIoLS1jLWdyZXktNDAwLCAjYTZhYWIzKTtcbiAgLS1xcy1oYW5kbGU6ICNmZmY7XG4gIC0tcXMtaGFuZGxlLWJvcmRlcjogdmFyKC0tYy1wdXJwbGUtNTAwLCAjNDA0OTlhKTtcbiAgLS1xcy1oYW5kbGUtZ2xvdzogdmFyKC0tYy1hY3Rpb24tNTAwLCAjNDY1MmYzKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDZweCA0cHg7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1mb250LWZhbWlseSwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbn1cblxuLy8gLS0tLSBDb2xvdXIgdmFyaWFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnFkbmFwcm8tc2xpZGVyLnFkbmFwcm8tc2xpZGVyLS1uZXV0cmFsIHtcbiAgLS1xcy10cmFjazogdmFyKC0tYy1ncmV5LTUwLCAjZjBmMWYyKTtcbiAgLS1xcy1maWxsOiB2YXIoLS1jLWdyZXktNDAwLCAjYTZhYWIzKTtcbiAgLS1xcy1kb3QtYWN0aXZlOiB2YXIoLS1jLWdyZXktNDAwLCAjYTZhYWIzKTtcbiAgLS1xcy1oYW5kbGUtYm9yZGVyOiB2YXIoLS1jLWdyZXktNDAwLCAjYTZhYWIzKTtcbiAgLS1xcy1oYW5kbGUtZ2xvdzogdmFyKC0tYy1ncmV5LTMwMCwgI2M0YzdjYyk7XG59XG4vLyBTZW50aW1lbnQ6IHRoZSBUUkFDSyBpdHNlbGYgaXMgYWx3YXlzIHRoZSBmdWxsIHJlZOKGknllbGxvd+KGkmdyZWVuIHNjYWxlIChhXG4vLyBzZW1hbnRpYyBncmFkaWVudCwgbm90IGEgcHJvZ3Jlc3MgZmlsbCkg4oCUIHRoZSBoYW5kbGUgbWFya3Mgd2hlcmUgeW91IGFyZVxuLy8gb24gaXQsIHNvIC5xcy1maWxsIGlzIG5vdCB1c2VkIHRvIHBhaW50IHByb2dyZXNzIGhlcmUgKGl0IHN0YXlzIHRyYW5zcGFyZW50KS5cbi5xZG5hcHJvLXNsaWRlci5xZG5hcHJvLXNsaWRlci0tc2VudGltZW50IC5xcy10cmFjayB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICA5MGRlZyxcbiAgICB2YXIoLS1jLXdhcm4tcmVkLTUwMCwgI2RjMjYyNiksXG4gICAgdmFyKC0tYy13YXJuLXllbGxvdy01MDAsICNmYmJmMjQpLFxuICAgIHZhcigtLWMtc3VjY2Vzcy1icmlnaHQsICMxZDllNzUpXG4gICk7XG59XG4ucWRuYXByby1zbGlkZXIucWRuYXByby1zbGlkZXItLXNlbnRpbWVudCAucXMtZmlsbCB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4ucWRuYXByby1zbGlkZXIucWRuYXByby1zbGlkZXItLXNlbnRpbWVudCB7XG4gIC0tcXMtaGFuZGxlLWJvcmRlcjogdmFyKC0tYy1ncmV5LTcwMCwgIzQwNDQ0ZCk7XG4gIC0tcXMtaGFuZGxlLWdsb3c6IHZhcigtLWMtZ3JleS00MDAsICNhNmFhYjMpO1xuICAtLXFzLWRvdDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICAtLXFzLWRvdC1hY3RpdmU6ICNmZmY7XG59XG4vLyBIaWdobGlnaHQ6IHNpbmdsZSBicmlnaHQgYWNjZW50IGNvbG91ciAoLS1jLXB1cnBsZS1oaWdobGlnaHQpLCBkaXN0aW5jdCBmcm9tXG4vLyB0aGUgYnJhbmQtcHVycGxlIHNjYWxlIHVzZWQgYnkgdGhlIGRlZmF1bHQgXCJwdXJwbGVcIiB2YXJpYW50LiBUaGlzIGlzIGFcbi8vIFNFTUFOVElDIHRva2VuIChzZWUgX2Rlc2lnbi10b2tlbnMuc2NzcykgYWxyZWFkeSByZWRlZmluZWQgdW5kZXJcbi8vIFtkYXRhLXRoZW1lPVwiZGFya1wiXSBpdHNlbGYsIHNvIOKAlCB1bmxpa2UgZXZlcnkgb3RoZXIgdmFyaWFudCBvbiB0aGlzXG4vLyBjb21wb25lbnQg4oCUIGl0IG5lZWRzIG5vIGxvY2FsIGRhcmstbW9kZSBvdmVycmlkZSBibG9jayBiZWxvdy5cbi5xZG5hcHJvLXNsaWRlci5xZG5hcHJvLXNsaWRlci0taGlnaGxpZ2h0IHtcbiAgLS1xcy10cmFjazogdmFyKC0tYy1iZy1zdWJ0bGUtcHVycGxlLCAjZjNmNWZmKTtcbiAgLS1xcy1maWxsOiB2YXIoLS1jLXB1cnBsZS1oaWdobGlnaHQsICM0NjUyZjMpO1xuICAtLXFzLWRvdC1hY3RpdmU6IHZhcigtLWMtcHVycGxlLWhpZ2hsaWdodCwgIzQ2NTJmMyk7XG4gIC0tcXMtaGFuZGxlLWJvcmRlcjogdmFyKC0tYy1wdXJwbGUtaGlnaGxpZ2h0LCAjNDY1MmYzKTtcbiAgLS1xcy1oYW5kbGUtZ2xvdzogdmFyKC0tYy1wdXJwbGUtaGlnaGxpZ2h0LCAjNDY1MmYzKTtcbn1cblxuLy8gLS0tLSBJY29ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5xZG5hcHJvLXNsaWRlciAucXMtaWNvbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzZiNzI4MCk7XG59XG4ucWRuYXByby1zbGlkZXIgLnFzLWljb24gc3ZnIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi8vIC0tLS0gVHJhY2sgKyBmaWxsIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucWRuYXByby1zbGlkZXIgLnFzLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGhlaWdodDogNnB4O1xuICBtYXJnaW46IDE0cHggMDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFzLXRyYWNrKTtcbn1cbi5xZG5hcHJvLXNsaWRlciAucXMtZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xcy1maWxsKTtcbn1cblxuLy8gLS0tLSBTdGVwIGRvdCBtYXJrZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5xZG5hcHJvLXNsaWRlciAucXMtZG90IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMi41cHg7XG4gIG1hcmdpbi10b3A6IC0yLjVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xcy1kb3QpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcyBlYXNlLW91dCwgdHJhbnNmb3JtIDEyMG1zIGVhc2Utb3V0O1xufVxuLnFkbmFwcm8tc2xpZGVyIC5xcy1kb3QuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcXMtZG90LWFjdGl2ZSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG59XG5cbi8vIC0tLS0gRGVmYXVsdC12YWx1ZSBtYXJrZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBPcHRpb25hbCBkZWNvcmF0aXZlIHRpY2sgKGRlZmF1bHQtdmFsdWUgYXR0cmlidXRlKSBzaG93aW5nIGUuZy4gYSBzZXR0aW5nJ3Ncbi8vIGZhY3RvcnkgZGVmYXVsdCBhbG9uZ3NpZGUgdGhlIGN1cnJlbnQgdmFsdWUuIEEgdGhpbiB2ZXJ0aWNhbCB0aWNrIHN0cmFkZGxpbmdcbi8vIHRoZSB0cmFjaywgZGVsaWJlcmF0ZWx5IE5PVCByb3VuZCBsaWtlIHRoZSBoYW5kbGUgb3IgdGhlIHN0ZXAgZG90cywgc28gaXRcbi8vIHJlYWRzIGFzIGFuIHVub2J0cnVzaXZlIHJlZmVyZW5jZSBtYXJrIHJhdGhlciB0aGFuIGFub3RoZXIgaW50ZXJhY3RpdmUgcG9pbnQuXG4ucWRuYXByby1zbGlkZXIgLnFzLWRlZmF1bHQtbWFya2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgbWFyZ2luLXRvcDogLTZweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xcy1kZWZhdWx0LW1hcmtlcik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxO1xufVxuXG4vLyAtLS0tIEhhbmRsZShzKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnFkbmFwcm8tc2xpZGVyIC5xcy1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogLTlweDtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFzLWhhbmRsZSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXFzLWhhbmRsZS1ib3JkZXIpO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgY3Vyc29yOiBncmFiO1xuICB6LWluZGV4OiAyO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDE0MG1zIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMTIwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby1zbGlkZXIgLnFzLWhhbmRsZTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDZweCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcXMtaGFuZGxlLWdsb3cpIDI1JSwgdHJhbnNwYXJlbnQpLCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbn1cbi5xZG5hcHJvLXNsaWRlciAucXMtaGFuZGxlOmFjdGl2ZSxcbi5xZG5hcHJvLXNsaWRlci5pcy1kcmFnZ2luZyAucXMtaGFuZGxlIHtcbiAgY3Vyc29yOiBncmFiYmluZztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEuMDgpO1xufVxuLnFkbmFwcm8tc2xpZGVyIC5xcy1oYW5kbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4ucWRuYXByby1zbGlkZXIgLnFzLWhhbmRsZTpmb2N1cy12aXNpYmxlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgNHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1xcy1oYW5kbGUtZ2xvdykgMjUlLCB0cmFuc3BhcmVudCksIDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xufVxuXG4vLyAtLS0tIFRvb2x0aXAgKHJlYWwgcWRuYXByby10b29sdGlwLCB2YWx1ZSBidWJibGUgd2hpbGUgZHJhZ2dpbmcvZm9jdXNlZCkgLS0tXG4vLyBUYXJnZXRzIHRoZSBxZG5hcHJvLXRvb2x0aXAgVEFHLCBub3QgYSBjdXN0b20gY2xhc3Mg4oCUIHRoZSBjb21wb25lbnQncyBvd25cbi8vIHJlbmRlcigpIHJlYnVpbGRzIGl0cyBjbGFzc05hbWUgZnJvbSBzY3JhdGNoIG9uIGV2ZXJ5IGF0dHJpYnV0ZSBjaGFuZ2UgYW5kXG4vLyBvbmx5IHByZXNlcnZlcyBcInRvb2x0aXAtbWFuYWdlZFwiL1widG9vbHRpcC12aXNpYmxlXCIsIHNvIGFueSBvdGhlciBjbGFzcyB3ZVxuLy8gYWRkIHRvIGl0IGdldHMgc2lsZW50bHkgd2lwZWQgdGhlIG1vbWVudCBpdCAocmUpcmVuZGVycy5cbi8vIGB0b29sdGlwLW1hbmFnZWRgIChzZXQgaW4gSlMpIG9wdHMgdGhlIHRvb2x0aXAgaW50byBpdHMgb3duIG9wYWNpdHk6MFxuLy8gZGVmYXVsdCBzdGF0ZTsgd2UgdGhlbiB0b2dnbGUgYHRvb2x0aXAtdmlzaWJsZWAgb3Vyc2VsdmVzIChpdHMgb3duIENTU1xuLy8gYWxyZWFkeSBoYW5kbGVzIHRoZSBvcGFjaXR5IGZhZGUg4oCUIHNlZSBfdG9vbHRpcC5zY3NzKS4gV2UgZnVsbHkgb3duIHRoZVxuLy8gYHRyYW5zZm9ybWAgaGVyZSAocG9zaXRpb24gb2Zmc2V0ICsgc2NhbGUpIHNvIHRoZSB0d28gZG9uJ3QgZmlnaHQgb3ZlciBvbmVcbi8vIENTUyBwcm9wZXJ0eTsgdGhlIHNjYWxlIHZhbHVlcyBtaXJyb3IgdGhlIHRvb2x0aXAncyBvd24gaG92ZXItbWFuYWdlZCBzdGF0ZXMuXG4ucWRuYXByby1zbGlkZXIgLnFzLWhhbmRsZSBxZG5hcHJvLXRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogY2FsYygxMDAlICsgOHB4KTtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuOTIpO1xufVxuLnFkbmFwcm8tc2xpZGVyIC5xcy1oYW5kbGUgcWRuYXByby10b29sdGlwLnRvb2x0aXAtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgxKTtcbn1cblxuLy8gLS0tLSBQYWlyZWQgbnVtZXJpYyBpbnB1dCAocmVhbCBxZG5hcHJvLWlucHV0LCB0eXBlPW51bWJlciwgc2l6ZT1zbWFsbCkgLS0tXG4ucWRuYXByby1zbGlkZXIgLnFzLWlucHV0IHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiA2OHB4O1xufVxuXG4vLyAtLS0tIHNpemU9XCJ0b3VjaFwiIChQV0Etb25seSkg4oCUIGJpZ2dlciBoYW5kbGUgKyB0aGlja2VyIHRyYWNrICsgaGl0IGFyZWEgLS0tXG4vLyBNYXRjaGVzIHFkbmFwcm8tYnV0dG9uL2ljb24tYnRuJ3Mgc2l6ZT1cInRvdWNoXCIgNDRweCB0YXAtdGFyZ2V0IGNvbnZlbnRpb24uXG4vLyBEbyBub3QgdXNlIGluIHRoZSBiYWNrb2ZmaWNlLlxuLnFkbmFwcm8tc2xpZGVyLnFkbmFwcm8tc2xpZGVyLS10b3VjaCAucXMtdHJhY2sge1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMjJweCAwO1xufVxuLnFkbmFwcm8tc2xpZGVyLnFkbmFwcm8tc2xpZGVyLS10b3VjaCAucXMtaGFuZGxlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbWFyZ2luLWxlZnQ6IC0yMnB4O1xuICBib3JkZXItd2lkdGg6IDNweDtcbn1cbi5xZG5hcHJvLXNsaWRlci5xZG5hcHJvLXNsaWRlci0tdG91Y2ggLnFzLWRvdCB7XG4gIHdpZHRoOiA3cHg7XG4gIGhlaWdodDogN3B4O1xuICBtYXJnaW4tbGVmdDogLTMuNXB4O1xuICBtYXJnaW4tdG9wOiAtMy41cHg7XG59XG4ucWRuYXByby1zbGlkZXIucWRuYXByby1zbGlkZXItLXRvdWNoIC5xcy1pY29uIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbn1cbi5xZG5hcHJvLXNsaWRlci5xZG5hcHJvLXNsaWRlci0tdG91Y2ggLnFzLWRlZmF1bHQtbWFya2VyIHtcbiAgd2lkdGg6IDNweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tbGVmdDogLTEuNXB4O1xuICBtYXJnaW4tdG9wOiAtOXB4O1xufVxuXG4ucWRuYXByby1zbGlkZXIuaXMtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vLyAtLS0tIERhcmsgbW9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhlIHJhdyBwYWxldHRlIHRva2VucyB1c2VkIGFib3ZlICgtLWMtcHVycGxlLTUwMCwgLS1jLWdyZXktNTAsIC0tYy13YXJuLSosXG4vLyAtLWMtc3VjY2Vzcy1icmlnaHQpIGRvIE5PVCBmbGlwIGF1dG9tYXRpY2FsbHkgdW5kZXIgW2RhdGEtdGhlbWU9XCJkYXJrXCJdIOKAlFxuLy8gb25seSBzZW1hbnRpYyB0b2tlbnMgZG8gKHNlZSBfZGVzaWduLXRva2Vucy5zY3NzJ3MgZGFyayBvdmVycmlkZSBibG9jayxcbi8vIHdoaWNoIG9ubHkgcmUtcG9pbnRzIHRoaW5ncyBsaWtlIC0tYy10ZXh0LW11dGVkLCBub3QgdGhlIG51bWJlcmVkIHNjYWxlXG4vLyBpdHNlbGYpLiBTbyB0aGlzIGNvbXBvbmVudCBkZWZpbmVzIGl0cyBvd24gZGFyayBvdmVycmlkZSBmb3IgdGhlIGxvY2FsXG4vLyAtLXFzLSogY3VzdG9tIHByb3BzLCBzYW1lIHBhdHRlcm4gYXMgcWRuYXByby10b2dnbGUuIFswNy4wNy4yMDI2XVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXNsaWRlciB7XG4gIC0tcXMtdHJhY2s6IHZhcigtLWMtZ3JleS03MDAsICM0MDQ0NGQpO1xuICAtLXFzLWRvdDogdmFyKC0tYy1ncmV5LTUwMCwgIzZiNzI4MCk7XG4gIC0tcXMtZGVmYXVsdC1tYXJrZXI6IHZhcigtLWMtZ3JleS0zMDAsICNjNGM3Y2MpO1xuICAtLXFzLWhhbmRsZTogdmFyKC0tYy1ncmV5LTEwMCwgI2U3ZTllYyk7XG4gIC0tcXMtaGFuZGxlLWJvcmRlcjogdmFyKC0tYy1wdXJwbGUtMzAwLCAjOGE5MmQwKTtcbiAgLS1xcy1oYW5kbGUtZ2xvdzogdmFyKC0tYy1wdXJwbGUtMjAwLCAjYTVhY2ZmKTtcbn1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1zbGlkZXIucWRuYXByby1zbGlkZXItLW5ldXRyYWwge1xuICAtLXFzLXRyYWNrOiB2YXIoLS1jLWdyZXktNzAwLCAjNDA0NDRkKTtcbiAgLS1xcy1maWxsOiB2YXIoLS1jLWdyZXktNDAwLCAjYTZhYWIzKTtcbiAgLS1xcy1kb3QtYWN0aXZlOiB2YXIoLS1jLWdyZXktMzAwLCAjYzRjN2NjKTtcbiAgLS1xcy1oYW5kbGUtYm9yZGVyOiB2YXIoLS1jLWdyZXktMzAwLCAjYzRjN2NjKTtcbiAgLS1xcy1oYW5kbGUtZ2xvdzogdmFyKC0tYy1ncmV5LTUwMCwgIzZiNzI4MCk7XG59XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tc2xpZGVyLnFkbmFwcm8tc2xpZGVyLS1zZW50aW1lbnQge1xuICAtLXFzLWhhbmRsZS1ib3JkZXI6IHZhcigtLWMtZ3JleS0zMDAsICNjNGM3Y2MpO1xuICAtLXFzLWhhbmRsZS1nbG93OiB2YXIoLS1jLWdyZXktNTAwLCAjNmI3MjgwKTtcbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL3NrZWxldG9uL19za2VsZXRvbi1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG5AY2hhcnNldCBcIlVURi04XCI7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNrZWxldG9uIGxvYWRlciDigJQgY2VudHJhbCBDU1MgZm9yIGFsbCB2MSBwYWdlcyB0aGF0IHNob3cgYVxuICAgc2tlbGV0b24gd2hpbGUgZGF0YSBsb2Fkcy4gU2FtZSBzaGltbWVyIC8gLnNrLWJvbmUgdm9jYWJ1bGFyeVxuICAgYXMgdGhlIGhvbWVwYWdlLW1vY2t1cCBwcm90byBzbyBldmVyeSBwYWdlIGxvb2t0IGNvbnNpc3RlbnQuXG4gICAoS2ltIDIwMjYtMDUtMjkuKVxuXG4gICBVc2FnZTpcbiAgICAgPGJvZHkgY2xhc3M9XCJpcy1za2VsZXRvbi1sb2FkaW5nXCI+XG4gICAgICAgLi4uXG4gICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWdyaWRcIj5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJzay1jYXJkXCI+XG4gICAgICAgICAgIDxkaXYgY2xhc3M9XCJzay1ib25lXCIgc3R5bGU9XCJoZWlnaHQ6NjBweDtcIj48L2Rpdj5cbiAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrLWJvbmVcIiBzdHlsZT1cImhlaWdodDoxMnB4O3dpZHRoOjYwJTtcIj48L2Rpdj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgIDwvZGl2PlxuICAgICA8L2JvZHk+XG5cbiAgIFRvZ2dsZSB2aXNpYmlsaXR5IGJ5IGFkZGluZyAvIHJlbW92aW5nIGBpcy1za2VsZXRvbi1sb2FkaW5nYFxuICAgb24gdGhlIGJvZHkuIFRoZSBwYWdlLXNwZWNpZmljIGxheW91dCAoLnNrLWNhcmQgc2hhcGUsIGdyaWRcbiAgIGNvbHVtbnMsIGV0Yy4pIGxpdmVzIGluIHRoZSBwYWdlJ3Mgb3duIHN0eWxlc2hlZXQg4oCUIG9ubHlcbiAgIHRoZSBib25lIC8gc2hpbW1lciBwcmltaXRpdmVzIGxpdmUgaGVyZS5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQGtleWZyYW1lcyBzay1zaGltbWVyIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC04MDBweCAwO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDgwMHB4IDA7XG4gIH1cbn1cbi8qIFBhZ2UtZGVmYXVsdCDigJQgbGlnaHQgdGhlbWUuIERhcmsgbW9kZSBvdmVycmlkZXMgYmVsb3cuICovXG5ib2R5IHtcbiAgLS1zay1iYXNlOiAjY2RkMGVmO1xuICAtLXNrLXNoaW5lOiAjZGNkZmY2O1xuICAtLXNrLWNhcmQtYmc6ICNlMmU1Zjg7XG59XG5cbmJvZHlbZGF0YS10aGVtZT1kYXJrXSB7XG4gIC0tc2stYmFzZTogIzFlMWYyZTtcbiAgLS1zay1zaGluZTogIzI2Mjg0MDtcbiAgLS1zay1jYXJkLWJnOiAjMTQxNTFmO1xufVxuXG4vKiBUaGUgYm9uZSDigJQgc2luZ2xlIHNoaW1tZXItcGFpbnRlZCByZWN0YW5nbGUuIENvbXBvc2UgaW50b1xuICAgcGFnZS1zcGVjaWZpYyBza2VsZXRvbiBzaGFwZXMgYnkgc3RhY2tpbmcgdGhlc2UgaW5zaWRlIC5zay1jYXJkXG4gICB3cmFwcGVycyAocGFnZS1zaWRlKS4gKi9cbi5zay1ib25lIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1zay1iYXNlKSAyNSUsIHZhcigtLXNrLXNoaW5lKSA1MCUsIHZhcigtLXNrLWJhc2UpIDc1JSk7XG4gIGJhY2tncm91bmQtc2l6ZTogODAwcHggMTAwJTtcbiAgYW5pbWF0aW9uOiBzay1zaGltbWVyIDEuNXMgaW5maW5pdGUgbGluZWFyO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi8qIEdlbmVyaWMgc2tlbGV0b24gY2FyZCBjaHJvbWUg4oCUIHBhZ2UgY2FuIG92ZXJyaWRlIGdyaWQgbGF5b3V0XG4gICBhbmQgaW5kaXZpZHVhbCBjYXJkIGRpbWVuc2lvbnMuIFBhZ2VzIHRoYXQgd2FudCBhIGRpZmZlcmVudFxuICAgbG9vayBjYW4gc2tpcCB0aGlzIGNsYXNzIGFuZCBzdHlsZSB0aGVpciBvd24gd3JhcHBlci4gKi9cbi5zay1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2stY2FyZC1iZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjQsIDczLCAxNTQsIDAuMTIpO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuc2stYm9uZSB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59IiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvc2tlbGV0b24tYm9uZS9fc2tlbGV0b24tYm9uZS1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG5AY2hhcnNldCBcIlVURi04XCI7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIHFkbmFwcm8tc2tlbGV0b24tYm9uZSDigJQgYXRvbWljIHNoaW1tZXIgcGxhY2Vob2xkZXIuXG5cbiAgIFRoZSBzaGltbWVyIHBhaW50ICguc2stYm9uZSwgQGtleWZyYW1lcyBzay1zaGltbWVyKSBhbmQgdGhlXG4gICAtLXNrLSogY29sb3IgdmFycyBsaXZlIGluIHNrZWxldG9uL19za2VsZXRvbi1jb21waWxlZC5jc3MgYW5kXG4gICBhcmUgTk9UIGR1cGxpY2F0ZWQgaGVyZS4gVGhpcyBmaWxlIG9ubHkgbWFrZXMgdGhlIGN1c3RvbSBlbGVtZW50XG4gICBhIGJsb2NrIGJveCBhbmQgYWRkcyB0aGUgY2lyY2xlL3BpbGwgcmFkaXVzIG1vZGlmaWVycy4gVGhlIHNoYXBlXG4gICBvdmVycmlkZXMgYmVhdCAuc2stYm9uZSdzIDRweCBvbiBzcGVjaWZpY2l0eSAodHlwZSArIGNsYXNzKSwgc29cbiAgIGJ1bmRsZSBzb3VyY2Utb3JkZXIgZG9lcyBub3QgbWF0dGVyLiAoS2ltIDIwMjYtMDUtMzApXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnFkbmFwcm8tc2tlbGV0b24tYm9uZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4LXNocmluazogMDtcbn1cblxucWRuYXByby1za2VsZXRvbi1ib25lLnNrZWxldG9uLWJvbmUtY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG5xZG5hcHJvLXNrZWxldG9uLWJvbmUuc2tlbGV0b24tYm9uZS1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1za2VsZXRvbi1pbmJveC1yb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIE1vbGVjdWxlOiBjb21wb3NlcyBxZG5hcHJvLXNrZWxldG9uLWJvbmUgYXRvbXMgaW50byB0aGUgc2hhcGUgb2YgYVxuLy8gIHFkbmFwcm8taW5ib3gtbWVzc2FnZSByb3cuIExvYWRpbmcgc3RhdGUgZm9yIHRoZSBQV0EgaW5ib3ggbGlzdCBvblxuLy8gIGZpcnN0IG9wZW4gKFNDT1BFLXB3YS1pbmJveC5tZCBkZWNpc2lvbiAyNywgcGhhc2UgM2QpIOKAlCBidWlsdCBoZXJlXG4vLyAgaW4gdGhlIGJhY2tvZmZpY2UyIGxpYnJhcnkgYXMgdGhlIHNoYXJlZCBjb21wb25lbnQgc291cmNlOyB0aGUgYXBwXG4vLyAgc2lkZSB3aXJlcyBpdCBpbnRvIHRoZSBhY3R1YWwgc2NyZWVuIHNlcGFyYXRlbHkuXG4vL1xuLy8gIEdlb21ldHJ5IGlzIGEgZGVsaWJlcmF0ZSAxOjEgbWlycm9yIG9mIF9pbmJveC1tZXNzYWdlLnNjc3Mnc1xuLy8gIHBhZGRpbmcgLyBnYXAgLyBtYXJnaW4gdmFsdWVzIChOT1QgcmUtdXNlZCBjbGFzcyBuYW1lcyDigJQgc2VlIHRoZVxuLy8gIG5vdGUgaW4gdGhlIEpTIGZpbGUpIHNvIHRoZSBza2VsZXRvbiAtPiByZWFsLXJvdyBzd2FwIGhhcyB6ZXJvXG4vLyAgbGF5b3V0IHNoaWZ0OlxuLy8gICAgaG9zdCAgICAgICAgICBwYWRkaW5nIDRweCA4cHgsIGdhcCA4cHggICAgICAgICAgICAoc2FtZSBhcyAucWRuYXByby1pbmJveC1tZXNzYWdlKVxuLy8gICAgbGVhZCBjb2x1bW4gICB3aWR0aCA1MHB4LCBwYWRkaW5nLXRvcCA0cHgsIGZsZXgtZW5kIGp1c3RpZnkgICAoc2FtZSBhcyAuaW5ib3gtbWVzc2FnZS1sZWFkKVxuLy8gICAgbWFpbiBjb2x1bW4gICBwYWRkaW5nIDRweCAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2FtZSBhcyAuaW5ib3gtbWVzc2FnZS1tYWluKVxuLy8gICAgcm93IDEgICAgICAgICBoZWlnaHQgMjRweCAgIChtaXJyb3JzIHRoZSBzZW5kZXIgbGluZS1oZWlnaHQsIHRleHQtc3R5bGUtYm9keS0qLW1kKVxuLy8gICAgcm93IDIgICAgICAgICBoZWlnaHQgMjBweCwgbWFyZ2luLXRvcCAtMnB4ICAobWlycm9ycyBzdWJqZWN0L3RpbWVzdGFtcCwgKi1zbSArIGNvbXBhY3QgcmVjaXBlKVxuLy8gICAgcm93IDMgICAgICAgICBoZWlnaHQgMjBweCwgbWFyZ2luLXRvcCAtMnB4ICAobWlycm9ycyBwcmV2aWV3L2R1ZS10aW1lLCAqLXNtICsgY29tcGFjdCByZWNpcGUpXG4vL1xuLy8gIFNoaW1tZXIgcGFpbnQgKC5zay1ib25lKSArIHByZWZlcnMtcmVkdWNlZC1tb3Rpb24gaGFuZGxpbmcgbGl2ZVxuLy8gIGNlbnRyYWxseSBpbiBza2VsZXRvbi9fc2tlbGV0b24tY29tcGlsZWQuY3NzIOKAlCBub3QgZHVwbGljYXRlZCBoZXJlLlxuLy8gIFRoaXMgZmlsZSBvbmx5IGFkZHMgdGhlIHJvdyBjaHJvbWUgKyB0aGUgc3RhZ2dlci1pbiBlbnRyYW5jZS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5xZG5hcHJvLXNrZWxldG9uLWluYm94LXJvdyB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgLy8gU3RhZ2dlci1pbiBvbiBtb3VudCDigJQgc2FtZSByZWNpcGUgYXMgdGhlIHJlYWwtY29udGVudCBjYXJkLWVudGVyXG4gICAgLy8gYW5pbWF0aW9uIGRvY3VtZW50ZWQgaW4gdGhlIHNrZWxldG9uLWxvYWRlcnMgc2tpbGwgKDI0MG1zLFxuICAgIC8vIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKSwgMjVtcyBzdGFnZ2VyIHN0ZXAsIGNhcHBlZCBhdFxuICAgIC8vIDEyIHJvd3Mgc28gYSBsb25nIGxpc3QgZG9lc24ndCB0YWtlIGZvcmV2ZXIgdG8gZmluaXNoIHJldmVhbGluZykuXG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb246IHNraS1yb3ctZW50ZXIgMjQwbXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpIGJvdGg7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSkge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAjeygkaSAtIDEpICogMjV9bXM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gMTN0aCByb3cgYW5kIGJleW9uZDogbm8gZGVsYXksIGFwcGVhciBpbW1lZGlhdGVseSAobWF0Y2hlcyB0aGVcbiAgICAvLyBcInN0YWdnZXIgY2FwXCIgcnVsZSDigJQgYSB2ZXJ5IGxvbmcgbGlzdCBzaG91bGQgbm90IHRha2UgZm9yZXZlcikuXG4gICAgJjpudGgtb2YtdHlwZShuICsgMTMpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwbXM7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNraS1yb3ctZW50ZXIge1xuICAgIDAlICAgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICBxZG5hcHJvLXNrZWxldG9uLWluYm94LXJvdyB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbnFkbmFwcm8tc2tlbGV0b24taW5ib3gtcm93IC5za2ktbGVhZCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG59XG5cbnFkbmFwcm8tc2tlbGV0b24taW5ib3gtcm93IC5za2ktbWFpbiB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDA7XG4gICAgcGFkZGluZzogNHB4IDA7XG59XG5cbnFkbmFwcm8tc2tlbGV0b24taW5ib3gtcm93IC5za2ktcm93LTEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDI0cHg7XG59XG5cbi8vIFJvdyAyIGlzIHRoZSBzdWJqZWN0ICsgdGltZXN0YW1wIGxpbmUgYW5kIHJvdyAzIHRoZSBwcmV2aWV3ICsgZHVlLXRpbWUgbGluZS5cbi8vIFRoZXkgYXJlIE5PVCB0aGUgc2FtZSBoZWlnaHQgaW4gdGhlIHJlYWwgcm93OiBtZWFzdXJlZCBpbiB0aGUgYnJvd3NlciBvblxuLy8gMjkuMDcuMjAyNiwgLmluYm94LW1lc3NhZ2Utcm93LTIgaXMgMjRweCAobGFyZ2VyIHN1YmplY3QgdHlwZSkgYW5kXG4vLyAuaW5ib3gtbWVzc2FnZS1yb3ctMyBpcyAyMHB4LiBTaGFyaW5nIG9uZSBoZWlnaHQgaGVyZSBtYWRlIHRoZSB3aG9sZSBza2VsZXRvblxuLy8gNzZweCBhZ2FpbnN0IHRoZSByZWFsIHJvdydzIDgwcHgg4oCUIGEgNHB4IGp1bXAgcGVyIHJvdywgc28gfjI0cHggb2Ygc2hpZnQgb24gYVxuLy8gc2NyZWVuZnVsLCB3aGljaCBpcyBleGFjdGx5IHdoYXQgYSBza2VsZXRvbiBleGlzdHMgdG8gcHJldmVudC4gS2VlcCB0aGVzZSB0d29cbi8vIHNlcGFyYXRlLCBhbmQgcmUtbWVhc3VyZSBpZiB0aGUgcmVhbCByb3cncyB0eXBlIHNpemVzIGV2ZXIgY2hhbmdlLlxucWRuYXByby1za2VsZXRvbi1pbmJveC1yb3cgLnNraS1yb3ctMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDhweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxucWRuYXByby1za2VsZXRvbi1pbmJveC1yb3cgLnNraS1yb3ctMyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDhweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL3NrZWxldG9uLXByb2plY3QtY2FyZC9fc2tlbGV0b24tcHJvamVjdC1jYXJkLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgcWRuYXByby1za2VsZXRvbi1wcm9qZWN0LWNhcmQg4oCUIGNvbXBvc2VzIHNrZWxldG9uLWJvbmUgYXRvbXMgaW50b1xuICAgYSBwcm9qZWN0LWNhcmQtc2hhcGVkIGxvYWRpbmcgcGxhY2Vob2xkZXIuIE1pcnJvcnMgdGhlIG9yaWdpbmFsXG4gICAucHYyLXNrZWxldG9uLWNhcmQgY2hyb21lIHNvIHRoZSBza2VsZXRvbiAtPiByZWFsIGNhcmQgc3dhcCBoYXNcbiAgIHplcm8gbGF5b3V0IHNoaWZ0IChzYW1lIDEycHggcmFkaXVzLCAxcHggYm9yZGVyLCAyMDhweCBtaW4taGVpZ2h0LFxuICAgMTU4cHggcGhvdG8gYmxvY2spLiBDYXJkIHN1cmZhY2UgY29sb3IgY29tZXMgZnJvbSAtLXNrLWNhcmQtYmcgaW5cbiAgIHNrZWxldG9uL19za2VsZXRvbi1jb21waWxlZC5jc3MuIChLaW0gMjAyNi0wNS0zMClcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xucWRuYXByby1za2VsZXRvbi1wcm9qZWN0LWNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAyMDhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2stY2FyZC1iZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjQsIDczLCAxNTQsIDAuMTIpO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xufVxuXG4vKiBQaG90byBibG9jayBmaWxscyB0aGUgdG9wIGVkZ2UtdG8tZWRnZTsgdGhlIGNhcmQncyBvd24gcmFkaXVzICtcbiAgIG92ZXJmbG93OmhpZGRlbiBjbGlwcyB0aGUgY29ybmVycywgc28gdGhlIGJvbmUgaXRzZWxmIGhhcyBubyByYWRpdXMuXG4gICBCZWF0cyAuc2stYm9uZSdzIDRweCBvbiBzcGVjaWZpY2l0eSAodHlwZSArIGNsYXNzICsgOmZpcnN0LWNoaWxkKS4gKi9cbnFkbmFwcm8tc2tlbGV0b24tcHJvamVjdC1jYXJkID4gLnNrLWJvbmU6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5xZG5hcHJvLXNrZWxldG9uLXByb2plY3QtY2FyZCAuc3NwLWJvZHkge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6IDEycHg7XG59XG5cbnFkbmFwcm8tc2tlbGV0b24tcHJvamVjdC1jYXJkIC5zc3Atc3BhY2VyIHtcbiAgZmxleDogMTtcbn0iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9zb3VyY2UtcGlsbC9fc291cmNlLXBpbGwtY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnRleHQtaDEge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiA2MHB4O1xuICBsaW5lLWhlaWdodDogNzJweDtcbn1cblxuLnRleHQtaDIge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBsaW5lLWhlaWdodDogNTZweDtcbn1cblxuLnRleHQtaDMge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBsaW5lLWhlaWdodDogNDhweDtcbn1cblxuLnRleHQtaDQge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbn1cblxuLnRleHQtaDUge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzZweDtcbn1cblxuLnRleHQtaDYge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLnRleHQtYm9keS14cyB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG4udGV4dC1ib2R5LXNtIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbi50ZXh0LWJvZHktbWQge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLnRleHQtYm9keS1sZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4udGV4dC1ib2R5LXhsIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG59XG5cbi5xZG5hcHJvLXNvdXJjZS1waWxsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjNmI3MjgwO1xuICBiYWNrZ3JvdW5kOiAjZjBmMWYyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5xZG5hcHJvLXNvdXJjZS1waWxsW3JvbGU9YnV0dG9uXTpob3ZlciwgLnFkbmFwcm8tc291cmNlLXBpbGwuZm9yY2UtaG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTRlNmU4O1xufVxuLnFkbmFwcm8tc291cmNlLXBpbGxbcm9sZT1idXR0b25dOmFjdGl2ZSwgLnFkbmFwcm8tc291cmNlLXBpbGwuZm9yY2UtcHJlc3NlZCB7XG4gIGJhY2tncm91bmQ6ICNjNGM3Y2M7XG59XG4ucWRuYXByby1zb3VyY2UtcGlsbC5zb3VyY2UtcGlsbC10eXBlLXRleHQge1xuICBnYXA6IDA7XG59XG4ucWRuYXByby1zb3VyY2UtcGlsbCAuc291cmNlLXBpbGwtbGVhZGluZyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLXNvdXJjZS1waWxsIHFkbmFwcm8tZmlsZS1pY29uLnNvdXJjZS1waWxsLWxlYWRpbmcge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuLnFkbmFwcm8tc291cmNlLXBpbGwgcWRuYXByby1maWxlLWljb24uc291cmNlLXBpbGwtbGVhZGluZyAucWRuYXByby1maWxlLWljb24tYmFkZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnFkbmFwcm8tc291cmNlLXBpbGwgLnNvdXJjZS1waWxsLWZhdmljb24ge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M0YzdjYztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2Y1ZjZmODtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnFkbmFwcm8tc291cmNlLXBpbGwgLnNvdXJjZS1waWxsLWZhdmljb24gaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGVhc2U7XG59XG4ucWRuYXByby1zb3VyY2UtcGlsbCAuc291cmNlLXBpbGwtZmF2aWNvbi1sZXR0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNmI3MjgwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgei1pbmRleDogMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ucWRuYXByby1zb3VyY2UtcGlsbCAuc291cmNlLXBpbGwtZmF2aWNvbi1mYWxsYmFjayB7XG4gIGJhY2tncm91bmQ6ICNkNmQ4ZGU7XG59XG4ucWRuYXByby1zb3VyY2UtcGlsbCAuc291cmNlLXBpbGwtZmF2aWNvbi1mYWxsYmFjayBpbWcge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnFkbmFwcm8tc291cmNlLXBpbGwgLnNvdXJjZS1waWxsLXN0YWNrIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcbn1cbi5xZG5hcHJvLXNvdXJjZS1waWxsIC5zb3VyY2UtcGlsbC1zdGFjay1pdGVtIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTdweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjNGM3Y2M7XG4gIGJhY2tncm91bmQ6ICNmNWY2Zjg7XG4gIG1hcmdpbi1yaWdodDogLTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8tc291cmNlLXBpbGwgLnNvdXJjZS1waWxsLXN0YWNrLWl0ZW0gaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGVhc2U7XG59XG4ucWRuYXByby1zb3VyY2UtcGlsbCAuc291cmNlLXBpbGwtc3RhY2staXRlbSAuc291cmNlLXBpbGwtZmF2aWNvbi1sZXR0ZXIge1xuICBmb250LXNpemU6IDhweDtcbn1cbi5xZG5hcHJvLXNvdXJjZS1waWxsIC5zb3VyY2UtcGlsbC1zdGFjay1mYWxsYmFjayB7XG4gIGJhY2tncm91bmQ6ICNkNmQ4ZGU7XG59XG4ucWRuYXByby1zb3VyY2UtcGlsbCAuc291cmNlLXBpbGwtc3RhY2stZmFsbGJhY2sgaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5xZG5hcHJvLXNvdXJjZS1waWxsIC5zb3VyY2UtcGlsbC1sYWJlbCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXgtd2lkdGg6IDI0MHB4O1xufVxuLnFkbmFwcm8tc291cmNlLXBpbGxbcm9sZT1idXR0b25dIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnFkbmFwcm8tc291cmNlLXBpbGw6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnFkbmFwcm8tc291cmNlLXBpbGxbcm9sZT1idXR0b25dOmZvY3VzLXZpc2libGUsIC5xZG5hcHJvLXNvdXJjZS1waWxsLmZvcmNlLWZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICM0MDQ5OWE7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXNvdXJjZS1waWxsIHtcbiAgY29sb3I6ICNhNmFhYjM7XG4gIGJhY2tncm91bmQ6ICMyZTMwMzY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1zb3VyY2UtcGlsbFtyb2xlPWJ1dHRvbl06aG92ZXIsIFtkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXNvdXJjZS1waWxsLmZvcmNlLWhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzQwNDQ0ZDtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXNvdXJjZS1waWxsW3JvbGU9YnV0dG9uXTphY3RpdmUsIFtkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXNvdXJjZS1waWxsLmZvcmNlLXByZXNzZWQge1xuICBiYWNrZ3JvdW5kOiAjNTY1YjY2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tc291cmNlLXBpbGwgLnNvdXJjZS1waWxsLWZhdmljb24sXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1zb3VyY2UtcGlsbCAuc291cmNlLXBpbGwtc3RhY2staXRlbSB7XG4gIGJhY2tncm91bmQ6ICMxZjIwMjg7XG4gIGJvcmRlci1jb2xvcjogIzU2NWI2Njtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXNvdXJjZS1waWxsIC5zb3VyY2UtcGlsbC1mYXZpY29uLWZhbGxiYWNrLFxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tc291cmNlLXBpbGwgLnNvdXJjZS1waWxsLXN0YWNrLWZhbGxiYWNrIHtcbiAgYmFja2dyb3VuZDogIzU2NWI2Njtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIHFkbmFwcm8tc3Rhci1yYXRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEZhc2UgMmEg4oCUIHBlcnNvbmFsIDUtc3RhciByYXRpbmcgY29udHJvbC4gVmlzdWFsL2ludGVyYWN0aW9uXG4vLyAgbW9kZWwgYm9ycm93ZWQgZnJvbSBxZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbiAoc2luZ2xlIGZvY3VzYWJsZVxuLy8gIGhvc3QsIGhvdmVyLXByZXZpZXcsIGNsaWNrLXRvLXRvZ2dsZS1vZmYpLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbnFkbmFwcm8tc3Rhci1yYXRpbmcge1xuICAgIC0tYy1mb2N1cy1yaW5nOiAjNDA0OTlhO1xuICAgIC0tYy1mb2N1cy1nbG93OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgLnN0YXItcmF0aW5nLXN0YXIge1xuICAgICAgICBjb2xvcjogI2M3YzlkMTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMTIwbXMgZWFzZSwgdHJhbnNmb3JtIDEyMG1zIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcbiAgICB9XG4gICAgLnN0YXItcmF0aW5nLXN0YXItZmlsbGVkIHtcbiAgICAgICAgY29sb3I6ICNmZmQ1NGE7XG4gICAgfVxuXG4gICAgJjpub3QoLnN0YXItcmF0aW5nLXJlYWRvbmx5KSAuc3Rhci1yYXRpbmctc3Rhcjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWMtZm9jdXMtcmluZyksIDAgMCAwIDZweCB2YXIoLS1jLWZvY3VzLWdsb3cpO1xuICAgIH1cblxuICAgIC8vIFwiYmlnXCIgKDIwcHggdnMgMTZweCBpY29ucykgaXMgYXBwbGllZCB2aWEgYSByZWFsIGBzaXplYCBhdHRyaWJ1dGUgb25cbiAgICAvLyBlYWNoIHFkbmFwcm8taWNvbiAocmVidWlsdCBpbiBKUyBvbiBhdHRyaWJ1dGUgY2hhbmdlKSDigJQgbm8gQ1NTXG4gICAgLy8gdHJhbnNmb3JtOnNjYWxlIG5lZWRlZCwgc28gbm8gc3RhbGUgbGF5b3V0IGdhcHMuXG5cbiAgICAmLnN0YXItcmF0aW5nLXJlYWRvbmx5IHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gcWRuYXByby1zdGFyLXJhdGluZyB7XG4gICAgLS1jLWZvY3VzLXJpbmc6ICNhNWFjZmY7XG4gICAgLS1jLWZvY3VzLWdsb3c6IHJnYmEoMTY1LCAxNzIsIDI1NSwgMC40MCk7XG5cbiAgICAuc3Rhci1yYXRpbmctc3RhciB7XG4gICAgICAgIGNvbG9yOiAjNGE0ZTVjO1xuICAgIH1cbiAgICAuc3Rhci1yYXRpbmctc3Rhci1maWxsZWQge1xuICAgICAgICBjb2xvcjogI2ZmZDU0YTtcbiAgICB9XG59XG4iLCIvLyBxZG5hcHJvLXN0YXQtY2FyZCDigJQgY29tcGFjdCBzdGF0IHRpbGUgZm9yIGEgcGFnZSBoZWFkZXIgcm93LlxuLy8gU291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBzdHlsZXM7IGVkaXQgSEVSRSwgdGhlbiBydW4gYGd1bHAgc2Fzcy12MWBcbi8vIChjb21waWxlcyBpbnRvIHdlYi9jc3MvdjEvc3R5bGUtdjEuY3NzKS4gUGxhaW4gQ1NTIG9uIHB1cnBvc2UgdG8gbWF0Y2ggdGhlXG4vLyBvdGhlciB2MiBjb21wb25lbnQgc291cmNlcy5cbi8vXG4vLyBUd28gbG9va3MgdmlhIHRoZSB2YXJpYW50IGNsYXNzOlxuLy8gICAuc3RhdC1jYXJkLXZhcmlhbnQtZGVmYXVsdCDigJQgbWluaW1hbCB3aGl0ZSBjYXJkICh0aGUgb3JpZ2luYWwgbG9vaylcbi8vICAgLnN0YXQtY2FyZC12YXJpYW50LWFjY2VudCAg4oCUIHRvbmUtdGludGVkIGNhcmQgd2l0aCBhIHdoaXRlIGljb24gY2hpcFxuLy8gVG9uZSAoLnN0YXQtY2FyZC10b25lLSopIHNldHMgdGhlIGFjY2VudCArIHNvZnQtdGludCB2aWEgQ1NTIHZhcnMsIHNvIHRoZVxuLy8gdmFyaWFudHMgc3RheSB0b25lLWFnbm9zdGljLiBTdGF0ZXM6IGhvdmVyIC8gcHJlc3NlZCAvIGZvY3VzIC8gZGlzYWJsZWQuXG5cbi5xZG5hcHJvLXN0YXQtY2FyZCB7XG4gIC0tc2MtYWNjZW50OiAjNDA0OTlhO1xuICAtLXNjLXNvZnQ6ICAgI2YzZjVmZjtcbiAgLS1zYy1ib3JkZXI6ICNkN2RhZjA7XG5cbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiA4MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDEycHggMTRweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1ib3JkZXItc29mdC0yKTtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTYwbXMgZWFzZSwgdHJhbnNmb3JtIDE2MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIGJvcmRlci1jb2xvciAxNDBtcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDE0MG1zIGVhc2U7XG59XG5cbi8vIC0tLSB0b25lcyAoYWNjZW50ICsgc29mdCB0aW50ICsgYm9yZGVyIHRpbnQpIC0tLVxuLnFkbmFwcm8tc3RhdC1jYXJkLnN0YXQtY2FyZC10b25lLXB1cnBsZSB7IC0tc2MtYWNjZW50OiAjNDA0OTlhOyAtLXNjLXNvZnQ6ICNmM2Y1ZmY7IC0tc2MtYm9yZGVyOiAjZDdkYWYwOyB9XG4ucWRuYXByby1zdGF0LWNhcmQuc3RhdC1jYXJkLXRvbmUtcmVkICAgIHsgLS1zYy1hY2NlbnQ6ICNlNTQ4NGQ7IC0tc2Mtc29mdDogI2ZkZjFmMTsgLS1zYy1ib3JkZXI6ICNmNmQyZDM7IH1cbi5xZG5hcHJvLXN0YXQtY2FyZC5zdGF0LWNhcmQtdG9uZS1ncmVlbiAgeyAtLXNjLWFjY2VudDogIzFmOWQ2YjsgLS1zYy1zb2Z0OiAjZWFmYWYyOyAtLXNjLWJvcmRlcjogI2M4ZWNkYjsgfVxuLnFkbmFwcm8tc3RhdC1jYXJkLnN0YXQtY2FyZC10b25lLWJsdWUgICB7IC0tc2MtYWNjZW50OiAjM2I4MmY2OyAtLXNjLXNvZnQ6ICNlZWY0ZmY7IC0tc2MtYm9yZGVyOiAjY2ZlMGZkOyB9XG4ucWRuYXByby1zdGF0LWNhcmQuc3RhdC1jYXJkLXRvbmUtb3JhbmdlIHsgLS1zYy1hY2NlbnQ6ICNlZjhlMDI7IC0tc2Mtc29mdDogI2ZmZjZlODsgLS1zYy1ib3JkZXI6ICNmYmUxYjg7IH1cbi5xZG5hcHJvLXN0YXQtY2FyZC5zdGF0LWNhcmQtdG9uZS1ncmF5ICAgeyAtLXNjLWFjY2VudDogIzZiNzI4MDsgLS1zYy1zb2Z0OiAjZjNmNGY2OyAtLXNjLWJvcmRlcjogI2RhZGNlMDsgfVxuXG4vLyAtLS0gaW5uZXIgcGFydHMgLS0tXG4ucWRuYXByby1zdGF0LWNhcmQgLnN0YXQtY2FyZC1pY29uIHtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA5cHg7XG59XG4ucWRuYXByby1zdGF0LWNhcmQgLnN0YXQtY2FyZC1ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcHg7XG4gIG1pbi13aWR0aDogMDtcbn1cbi5xZG5hcHJvLXN0YXQtY2FyZCAuc3RhdC1jYXJkLXZhbHVlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LWhlYWRpbmcpO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnFkbmFwcm8tc3RhdC1jYXJkIC5zdGF0LWNhcmQtbGFiZWwge1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLy8gLS0tIHZhcmlhbnQ6IGFjY2VudCAodG9uZS10aW50ZWQsIHdoaXRlIGljb24gY2hpcCwgYm9sZGVyIHZhbHVlKSAtLS1cbi5xZG5hcHJvLXN0YXQtY2FyZC5zdGF0LWNhcmQtdmFyaWFudC1hY2NlbnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zYy1zb2Z0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zYy1ib3JkZXIpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnFkbmFwcm8tc3RhdC1jYXJkLnN0YXQtY2FyZC12YXJpYW50LWFjY2VudCAuc3RhdC1jYXJkLWljb24ge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgyMCwgMjUsIDgwLCAwLjEwKTtcbn1cbi5xZG5hcHJvLXN0YXQtY2FyZC5zdGF0LWNhcmQtdmFyaWFudC1hY2NlbnQgLnN0YXQtY2FyZC12YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cbi5xZG5hcHJvLXN0YXQtY2FyZC5zdGF0LWNhcmQtdmFyaWFudC1hY2NlbnQgLnN0YXQtY2FyZC1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1zYy1hY2NlbnQpO1xufVxuXG4vLyAtLS0gdmFyaWFudDogZW1wdHkgKGRhc2hlZCwgbXV0ZWQg4oCUIHZhbHVlIGlzIDAgLyBub3RoaW5nIGxpbmtlZCB5ZXQpIC0tLVxuLy8gRGlzdGluZ3Vpc2hlcyBhbiBFTVBUWSBzdGF0IChcIkdlZW4gYmVyaWNodGVuXCIpIGZyb20gYW4gYWN0aXZlIG9uZTogZGFzaGVkXG4vLyBib3JkZXIsIG11dGVkIHRvbmUtdGludGVkIGljb24gY2hpcCwgTk8gbnVtYmVyIOKAlCB0aGUgbGFiZWwgKyAuc3RhdC1jYXJkLXN1YlxuLy8gaGludCBjYXJyeSB0aGUgbWVzc2FnZSwgYW5kIGhvdmVyIHR1cm5zIGludml0aW5nIChwdXJwbGUpLiBbS2ltIDIwMjYtMDYtMTRdXG4ucWRuYXByby1zdGF0LWNhcmQuc3RhdC1jYXJkLXZhcmlhbnQtZW1wdHkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQpO1xuICBib3JkZXI6IDEuNXB4IGRhc2hlZCAjYzVjYWVhO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnFkbmFwcm8tc3RhdC1jYXJkLnN0YXQtY2FyZC12YXJpYW50LWVtcHR5IC5zdGF0LWNhcmQtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNjLXNvZnQpO1xuICBvcGFjaXR5OiAwLjU1O1xufVxuLnFkbmFwcm8tc3RhdC1jYXJkLnN0YXQtY2FyZC12YXJpYW50LWVtcHR5IC5zdGF0LWNhcmQtdmFsdWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnFkbmFwcm8tc3RhdC1jYXJkLnN0YXQtY2FyZC12YXJpYW50LWVtcHR5IC5zdGF0LWNhcmQtbGFiZWwge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjODQ5MmI0O1xuICB0cmFuc2l0aW9uOiBjb2xvciAxNDBtcyBlYXNlO1xufVxuLnFkbmFwcm8tc3RhdC1jYXJkIC5zdGF0LWNhcmQtc3ViIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogI2IwYmFkODtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHRyYW5zaXRpb246IGNvbG9yIDE0MG1zIGVhc2U7XG59XG4ucWRuYXByby1zdGF0LWNhcmQuc3RhdC1jYXJkLXZhcmlhbnQtZW1wdHk6bm90KC5zdGF0LWNhcmQtZGlzYWJsZWQpOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjN2Q4OGQwO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59XG4ucWRuYXByby1zdGF0LWNhcmQuc3RhdC1jYXJkLXZhcmlhbnQtZW1wdHk6bm90KC5zdGF0LWNhcmQtZGlzYWJsZWQpOmhvdmVyIC5zdGF0LWNhcmQtbGFiZWwge1xuICBjb2xvcjogIzQwNDk5YTtcbn1cbi5xZG5hcHJvLXN0YXQtY2FyZC5zdGF0LWNhcmQtdmFyaWFudC1lbXB0eTpub3QoLnN0YXQtY2FyZC1kaXNhYmxlZCk6aG92ZXIgLnN0YXQtY2FyZC1zdWIge1xuICBjb2xvcjogIzdkODhkMDtcbn1cblxuLy8gLS0tIHdhcm5pbmcgc3RhdGU6IGEgcmVxdWlyZWQgc2V0dGluZyBpcyBvbiBidXQgbm90aGluZyBpcyBsaW5rZWQgeWV0IC0tLVxuLy8gQW1iZXIgYWNjZW50OyBvbiB0aGUgZW1wdHkgdmFyaWFudCB0aGUgZGFzaGVkIGJvcmRlciArIGxhYmVsICsgc3ViIHR1cm4gYW1iZXJcbi8vIHNvIHRoZSBjYXJkIHJlYWRzIGFzIFwiYWN0aWUgbm9kaWdcIiwgbWF0Y2hpbmcgdGhlIGFtYmVyIHJvdyB3YXJuaW5ncy4gW0tpbSAyMDI2LTA2LTE1XVxuLnFkbmFwcm8tc3RhdC1jYXJkLnN0YXQtY2FyZC13YXJuaW5nIHtcbiAgLS1zYy1hY2NlbnQ6ICNlZjhlMDI7XG4gIC0tc2Mtc29mdDogI2ZmZjZlODtcbiAgLS1zYy1ib3JkZXI6ICNmYmUxYjg7XG59XG4ucWRuYXByby1zdGF0LWNhcmQuc3RhdC1jYXJkLXdhcm5pbmcuc3RhdC1jYXJkLXZhcmlhbnQtZW1wdHkge1xuICBib3JkZXItY29sb3I6ICNmMmE5M2E7XG59XG4ucWRuYXByby1zdGF0LWNhcmQuc3RhdC1jYXJkLXdhcm5pbmcuc3RhdC1jYXJkLXZhcmlhbnQtZW1wdHkgLnN0YXQtY2FyZC1pY29uIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5xZG5hcHJvLXN0YXQtY2FyZC5zdGF0LWNhcmQtd2FybmluZyAuc3RhdC1jYXJkLXN1YiB7XG4gIGNvbG9yOiAjYzI3ODBhO1xufVxuLnFkbmFwcm8tc3RhdC1jYXJkLnN0YXQtY2FyZC13YXJuaW5nLnN0YXQtY2FyZC12YXJpYW50LWVtcHR5IC5zdGF0LWNhcmQtbGFiZWwge1xuICBjb2xvcjogI2E4NjcwYTtcbn1cbi5xZG5hcHJvLXN0YXQtY2FyZC5zdGF0LWNhcmQtd2FybmluZy5zdGF0LWNhcmQtdmFyaWFudC1lbXB0eTpub3QoLnN0YXQtY2FyZC1kaXNhYmxlZCk6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNlZjhlMDI7XG59XG4ucWRuYXByby1zdGF0LWNhcmQuc3RhdC1jYXJkLXdhcm5pbmcuc3RhdC1jYXJkLXZhcmlhbnQtZW1wdHk6bm90KC5zdGF0LWNhcmQtZGlzYWJsZWQpOmhvdmVyIC5zdGF0LWNhcmQtbGFiZWwge1xuICBjb2xvcjogIzhhNTUwMDtcbn1cbi5xZG5hcHJvLXN0YXQtY2FyZC5zdGF0LWNhcmQtd2FybmluZy5zdGF0LWNhcmQtdmFyaWFudC1lbXB0eTpub3QoLnN0YXQtY2FyZC1kaXNhYmxlZCk6aG92ZXIgLnN0YXQtY2FyZC1zdWIge1xuICBjb2xvcjogI2E4NjcwYTtcbn1cblxuLy8gLS0tIHN0YXRlOiBob3ZlciAtLS1cbi5xZG5hcHJvLXN0YXQtY2FyZDpub3QoLnN0YXQtY2FyZC1kaXNhYmxlZCk6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLXNjLWFjY2VudCk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDE0cHggcmdiYSgyMCwgMjUsIDgwLCAwLjEwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuLnFkbmFwcm8tc3RhdC1jYXJkLnN0YXQtY2FyZC12YXJpYW50LWFjY2VudDpub3QoLnN0YXQtY2FyZC1kaXNhYmxlZCk6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMjAsIDI1LCA4MCwgMC4xMik7XG59XG5cbi8vIC0tLSBzdGF0ZTogcHJlc3NlZCAtLS1cbi5xZG5hcHJvLXN0YXQtY2FyZDpub3QoLnN0YXQtY2FyZC1kaXNhYmxlZCk6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDAuOTg1KTtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMjAsIDI1LCA4MCwgMC4xMik7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDYwbXM7XG59XG5cbi8vIC0tLSBzdGF0ZTogZm9jdXMgKGtleWJvYXJkKSAtLS1cbi5xZG5hcHJvLXN0YXQtY2FyZDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbi5xZG5hcHJvLXN0YXQtY2FyZDpub3QoLnN0YXQtY2FyZC1kaXNhYmxlZCk6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tc2MtYWNjZW50KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHZhcigtLWZvY3VzLWdsb3cpO1xufVxuXG4vLyAtLS0gc3RhdGU6IGRpc2FibGVkIC0tLVxuLnFkbmFwcm8tc3RhdC1jYXJkLnN0YXQtY2FyZC1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vIENvbnZlbmllbmNlIHJvdyB3cmFwcGVyIChjb25zdW1lcnMgbWF5IHVzZSB0aGVpciBvd24gbGF5b3V0IGluc3RlYWQpLlxuLnFkbmFwcm8tc3RhdC1jYXJkLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4vLyAtLS0gZGFyayB0aGVtZSAtLS1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1zdGF0LWNhcmQsXG5bZGF0YS10aGVtZS1kYXJrXSAucWRuYXByby1zdGF0LWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjMmEyZDM2O1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtd2hpdGUtMDgpO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXN0YXQtY2FyZCAuc3RhdC1jYXJkLXZhbHVlLFxuW2RhdGEtdGhlbWUtZGFya10gLnFkbmFwcm8tc3RhdC1jYXJkIC5zdGF0LWNhcmQtdmFsdWUge1xuICBjb2xvcjogI2YwZjFmYTtcbn1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1zdGF0LWNhcmQgLnN0YXQtY2FyZC1sYWJlbCxcbltkYXRhLXRoZW1lLWRhcmtdIC5xZG5hcHJvLXN0YXQtY2FyZCAuc3RhdC1jYXJkLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NSk7XG59XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tc3RhdC1jYXJkLnN0YXQtY2FyZC12YXJpYW50LWFjY2VudCxcbltkYXRhLXRoZW1lLWRhcmtdIC5xZG5hcHJvLXN0YXQtY2FyZC5zdGF0LWNhcmQtdmFyaWFudC1hY2NlbnQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7XG59XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tc3RhdC1jYXJkLnN0YXQtY2FyZC12YXJpYW50LWFjY2VudCAuc3RhdC1jYXJkLWljb24sXG5bZGF0YS10aGVtZS1kYXJrXSAucWRuYXByby1zdGF0LWNhcmQuc3RhdC1jYXJkLXZhcmlhbnQtYWNjZW50IC5zdGF0LWNhcmQtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi9zdWdnZXN0aW9uLWNoaXAvX3N1Z2dlc3Rpb24tY2hpcC1jb21waWxlZC5jc3MuXG4vLyBLZXB0IGVxdWFsIHRvIHRoZSBsaXZlIGNvbXBpbGVkIENTUzsgZWRpdCBIRVJFLCB0aGVuIHJ1biB0aGUgZ3VscCB0YXNrLlxuXG4ucWRuYXByby1zdWdnZXN0aW9uLWNoaXAge1xuICAtLWMtZm9jdXMtcmluZzogIzQwNDk5YTtcbiAgLS1jLWZvY3VzLWdsb3c6IHJnYmEoNzAsIDgyLCAyNDMsIDAuMjUpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M0YzdjYztcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwYjBiMGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLW91dCwgY29sb3IgMTIwbXMgZWFzZS1vdXQsIGJveC1zaGFkb3cgMTIwbXMgZWFzZS1vdXQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ucWRuYXByby1zdWdnZXN0aW9uLWNoaXAgLnN1Z2dlc3Rpb24tY2hpcC1pY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby1zdWdnZXN0aW9uLWNoaXAgLnN1Z2dlc3Rpb24tY2hpcC1sYWJlbCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXgtd2lkdGg6IDI0MHB4O1xufVxuLnFkbmFwcm8tc3VnZ2VzdGlvbi1jaGlwOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5xZG5hcHJvLXN1Z2dlc3Rpb24tY2hpcDpmb2N1cy12aXNpYmxlLCAucWRuYXByby1zdWdnZXN0aW9uLWNoaXAuZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tYy1mb2N1cy1yaW5nKSwgMCAwIDAgNnB4IHZhcigtLWMtZm9jdXMtZ2xvdyk7XG59XG4ucWRuYXByby1zdWdnZXN0aW9uLWNoaXAuc3VnZ2VzdGlvbi1jaGlwLXRoZW1lLXB1cnBsZTpob3Zlcjpub3QoLnN1Z2dlc3Rpb24tY2hpcC1kaXNhYmxlZCksIC5xZG5hcHJvLXN1Z2dlc3Rpb24tY2hpcC5zdWdnZXN0aW9uLWNoaXAtdGhlbWUtcHVycGxlLmZvcmNlLWhvdmVyOm5vdCguc3VnZ2VzdGlvbi1jaGlwLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNlNmU5ZmY7XG4gIGJvcmRlci1jb2xvcjogI2FhYjBkODtcbiAgY29sb3I6ICM0MDQ5OWE7XG59XG4ucWRuYXByby1zdWdnZXN0aW9uLWNoaXAuc3VnZ2VzdGlvbi1jaGlwLXRoZW1lLXB1cnBsZTphY3RpdmU6bm90KC5zdWdnZXN0aW9uLWNoaXAtZGlzYWJsZWQpLCAucWRuYXByby1zdWdnZXN0aW9uLWNoaXAuc3VnZ2VzdGlvbi1jaGlwLXRoZW1lLXB1cnBsZS5mb3JjZS1wcmVzc2VkOm5vdCguc3VnZ2VzdGlvbi1jaGlwLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNjN2NjZTg7XG4gIGJvcmRlci1jb2xvcjogIzQwNDk5YTtcbiAgY29sb3I6ICM0MDQ5OWE7XG59XG4ucWRuYXByby1zdWdnZXN0aW9uLWNoaXAuc3VnZ2VzdGlvbi1jaGlwLXRoZW1lLW9yYW5nZTpob3Zlcjpub3QoLnN1Z2dlc3Rpb24tY2hpcC1kaXNhYmxlZCksIC5xZG5hcHJvLXN1Z2dlc3Rpb24tY2hpcC5zdWdnZXN0aW9uLWNoaXAtdGhlbWUtb3JhbmdlLmZvcmNlLWhvdmVyOm5vdCguc3VnZ2VzdGlvbi1jaGlwLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNmZmYzZTA7XG4gIGJvcmRlci1jb2xvcjogI2Y1Yjc3MDtcbiAgY29sb3I6ICM5NDU4MDA7XG59XG4ucWRuYXByby1zdWdnZXN0aW9uLWNoaXAuc3VnZ2VzdGlvbi1jaGlwLXRoZW1lLW9yYW5nZTphY3RpdmU6bm90KC5zdWdnZXN0aW9uLWNoaXAtZGlzYWJsZWQpLCAucWRuYXByby1zdWdnZXN0aW9uLWNoaXAuc3VnZ2VzdGlvbi1jaGlwLXRoZW1lLW9yYW5nZS5mb3JjZS1wcmVzc2VkOm5vdCguc3VnZ2VzdGlvbi1jaGlwLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNmZmU0YmE7XG4gIGJvcmRlci1jb2xvcjogI0Y1OEYwNjtcbiAgY29sb3I6ICM5NDU4MDA7XG59XG4ucWRuYXByby1zdWdnZXN0aW9uLWNoaXAuc3VnZ2VzdGlvbi1jaGlwLWRpc2FibGVkLCAucWRuYXByby1zdWdnZXN0aW9uLWNoaXAuc3VnZ2VzdGlvbi1jaGlwLWRpc2FibGVkOmhvdmVyLCAucWRuYXByby1zdWdnZXN0aW9uLWNoaXAuc3VnZ2VzdGlvbi1jaGlwLWRpc2FibGVkOmFjdGl2ZSB7XG4gIGNvbG9yOiAjODk4ZTk5O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjZTFlM2U2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tc3VnZ2VzdGlvbi1jaGlwIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTY1YjY2O1xuICBjb2xvcjogI2YwZjFmMjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXN1Z2dlc3Rpb24tY2hpcC5zdWdnZXN0aW9uLWNoaXAtdGhlbWUtcHVycGxlOmhvdmVyOm5vdCguc3VnZ2VzdGlvbi1jaGlwLWRpc2FibGVkKSwgW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tc3VnZ2VzdGlvbi1jaGlwLnN1Z2dlc3Rpb24tY2hpcC10aGVtZS1wdXJwbGUuZm9yY2UtaG92ZXI6bm90KC5zdWdnZXN0aW9uLWNoaXAtZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogcmdiYSg3MCwgODIsIDI0MywgMC4zKTtcbiAgYm9yZGVyLWNvbG9yOiAjN2M4NGM1O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXN1Z2dlc3Rpb24tY2hpcC5zdWdnZXN0aW9uLWNoaXAtdGhlbWUtcHVycGxlOmFjdGl2ZTpub3QoLnN1Z2dlc3Rpb24tY2hpcC1kaXNhYmxlZCksIFtkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXN1Z2dlc3Rpb24tY2hpcC5zdWdnZXN0aW9uLWNoaXAtdGhlbWUtcHVycGxlLmZvcmNlLXByZXNzZWQ6bm90KC5zdWdnZXN0aW9uLWNoaXAtZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogcmdiYSg3MCwgODIsIDI0MywgMC40NSk7XG4gIGJvcmRlci1jb2xvcjogI2E1YWNmZjtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1zdWdnZXN0aW9uLWNoaXAuc3VnZ2VzdGlvbi1jaGlwLXRoZW1lLW9yYW5nZTpob3Zlcjpub3QoLnN1Z2dlc3Rpb24tY2hpcC1kaXNhYmxlZCksIFtkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXN1Z2dlc3Rpb24tY2hpcC5zdWdnZXN0aW9uLWNoaXAtdGhlbWUtb3JhbmdlLmZvcmNlLWhvdmVyOm5vdCguc3VnZ2VzdGlvbi1jaGlwLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ1LCAxNDMsIDYsIDAuMjUpO1xuICBib3JkZXItY29sb3I6ICNjOTdlMjI7XG4gIGNvbG9yOiAjZmZlNGJhO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tc3VnZ2VzdGlvbi1jaGlwLnN1Z2dlc3Rpb24tY2hpcC10aGVtZS1vcmFuZ2U6YWN0aXZlOm5vdCguc3VnZ2VzdGlvbi1jaGlwLWRpc2FibGVkKSwgW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tc3VnZ2VzdGlvbi1jaGlwLnN1Z2dlc3Rpb24tY2hpcC10aGVtZS1vcmFuZ2UuZm9yY2UtcHJlc3NlZDpub3QoLnN1Z2dlc3Rpb24tY2hpcC1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTQzLCA2LCAwLjQpO1xuICBib3JkZXItY29sb3I6ICNmNWI3NzA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tc3VnZ2VzdGlvbi1jaGlwLnN1Z2dlc3Rpb24tY2hpcC1kaXNhYmxlZCwgW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tc3VnZ2VzdGlvbi1jaGlwLnN1Z2dlc3Rpb24tY2hpcC1kaXNhYmxlZDpob3ZlciwgW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tc3VnZ2VzdGlvbi1jaGlwLnN1Z2dlc3Rpb24tY2hpcC1kaXNhYmxlZDphY3RpdmUge1xuICBjb2xvcjogIzZiNzI4MDtcbiAgYm9yZGVyLWNvbG9yOiAjM2EzYjQyO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby10YWJsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgTGlzdCB2aWV3IChuYXRpdmUgPHRhYmxlPikgKyBHcmlkIHZpZXcgKGNhcmQgZ3JpZClcbi8vICBMYXp5LWxvYWQsIHNvcnQsIHNpbXBsZSArIGFkdmFuY2VkIHNlYXJjaCwgYnVsayBzZWxlY3Rcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5xZG5hcHJvLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLWhlaWdodDogMDtcbn1cblxuLy8g4pSA4pSAIFdyYXBwZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucWRuYXByby10YWJsZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC8vIEhvcml6b250YWwgc2Nyb2xsOiB3aGVuIGEgc2lkZSBwYW5lbCBuYXJyb3dzIHRoZSBjZW50ZXIgYXJlYSwgdGhlIHRhYmxlXG4gICAgLy8ga2VlcHMgaXRzIG5hdHVyYWwgKG1pbi1jb250ZW50KSB3aWR0aCBhbmQgd291bGQgb3RoZXJ3aXNlIGJlIGNsaXBwZWQg4oCUXG4gICAgLy8gYGF1dG9gIGxldHMgaXQgc2Nyb2xsIGluc3RlYWQgb2YgaGlkaW5nIGNvbHVtbnMuIGBhdXRvYCBzdGlsbCBjbGlwcyB0b1xuICAgIC8vIGJvcmRlci1yYWRpdXMsIGFuZCB0aGlzIHN0YXlzIHRoZSBzY3JvbGwgY29udGFpbmVyIHNvIHRoZSBzdGlja3kgPHRoZWFkPlxuICAgIC8vICh3aGljaCByZXNvbHZlcyBhZ2FpbnN0IFRISVMgZWxlbWVudCkga2VlcHMgd29ya2luZy5cbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cblxuLy8g4pSA4pSAIFNwaW5uZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucWRuYXByby10YWJsZS1zcGlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjpub3QoW2hpZGRlbl0pIHsgZGlzcGxheTogZmxleDsgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZTVlN2ViO1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMWE1NmRiO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGFuaW1hdGlvbjogcWRuYXByby10YWJsZS1zcGluIDAuNjVzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcWRuYXByby10YWJsZS1zcGluIHtcbiAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLy8g4pSA4pSAIFNlbnRpbmVsIChsYXp5LWxvYWQgdHJpZ2dlciwgemVybyBoZWlnaHQpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucWRuYXByby10YWJsZS1zZW50aW5lbCB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8vIOKUgOKUgCBMaXN0IHZpZXcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnFkbmFwcm8tdGFibGUtbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAvLyBOT1RFOiBubyBgb3ZlcmZsb3c6IGhpZGRlbmAgaGVyZS4gQW4gaW50ZXJtZWRpYXRlIGFuY2VzdG9yIHdpdGggYVxuICAgIC8vIG5vbi12aXNpYmxlIG92ZXJmbG93IGJlY29tZXMgdGhlIHN0aWNreSBjb250YWluaW5nIGJsb2NrLCB3aGljaCB3b3VsZFxuICAgIC8vIHBpbiA8dGhlYWQ+IHRvIHRoZSB0YWJsZSBib3ggKGl0IHNjcm9sbHMgYXdheSkgaW5zdGVhZCBvZiB0aGUgd3JhcHBlci5cbiAgICAvLyBUaGUgcm91bmRlZC1jb3JuZXIgY2xpcHBpbmcgKyBjYXJkIHNoYWRvdyBub3cgbGl2ZSBvblxuICAgIC8vIC5xZG5hcHJvLXRhYmxlLXdyYXBwZXIgKHRoZSBzY3JvbGwgY29udGFpbmVyKSBzbyB0aGUgc3RpY2t5IGhlYWRlciB3b3Jrcy5cblxuICAgIHRoZWFkIHtcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjhmOWZiO1xuICAgICAgICAgICAgY29sb3I6ICM2YjcyODA7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgICAgICYuY29sLWNoZWNrYm94IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtc29ydGFibGUge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjFmM2Y1O1xuXG4gICAgICAgICAgICAgICAgICAgIC5jb2wtc29ydC1pY29uIHsgb3BhY2l0eTogMTsgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuaXMtc29ydGVkIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMxYTU2ZGI7XG5cbiAgICAgICAgICAgICAgICAgICAgLmNvbC1zb3J0LWljb24geyBvcGFjaXR5OiAxOyBjb2xvcjogIzFhNTZkYjsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8g4pSA4pSAIERyYWctdG8tcmVvcmRlciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgICAgICAgICAgIC8vIEdyYWIgYWZmb3JkYW5jZSBvbiBvcmRlcmFibGUgaGVhZGVycywgYSBkaW0gb24gdGhlIG9uZSBiZWluZyBkcmFnZ2VkLFxuICAgICAgICAgICAgLy8gYW5kIGEgdmVydGljYWwgaW5zZXJ0aW9uIGxpbmUgb24gdGhlIGVkZ2UgdGhlIGNvbHVtbiB3aWxsIGRyb3AgYWdhaW5zdC5cbiAgICAgICAgICAgICYuaXMtb3JkZXJhYmxlIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGdyYWI7XG5cbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7IGN1cnNvcjogZ3JhYmJpbmc7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1kcmFnZ2luZyB7IG9wYWNpdHk6IDAuNDsgfVxuXG4gICAgICAgICAgICAmLmRyb3AtYmVmb3JlIHsgYm94LXNoYWRvdzogaW5zZXQgMnB4IDAgMCAwICMxYTU2ZGI7IH1cbiAgICAgICAgICAgICYuZHJvcC1hZnRlciAgeyBib3gtc2hhZG93OiBpbnNldCAtMnB4IDAgMCAwICMxYTU2ZGI7IH1cblxuICAgICAgICAgICAgLy8gRmxleCB3cmFwcGVyIGtlZXBzIGxhYmVsICsgc29ydCBpY29uIG9uIG9uZSBiYXNlbGluZVxuICAgICAgICAgICAgLmNvbC1oZWFkZXItY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbC1zb3J0LWljb24ge1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlIGdsb2JhbCBxZG5hcHJvLWljb24gc3ZnIGZpbGxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyDilIDilIAgU3RpY2t5IChwaW5uZWQtbGVmdCkgY29sdW1ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgICAvLyBBIGNvbHVtbiBtYXJrZWQgc3RpY2t5IHN0YXlzIHZpc2libGUgZHVyaW5nIGhvcml6b250YWwgc2Nyb2xsOiBpdCBwaW5zIHRvXG4gICAgLy8gdGhlIGxlZnQgZWRnZSBvZiB0aGUgc2Nyb2xsIGNvbnRhaW5lciAoLnFkbmFwcm8tdGFibGUtd3JhcHBlcikuIFRoZSBjZWxsXG4gICAgLy8gbmVlZHMgYW4gT1BBUVVFIGJhY2tncm91bmQgc28gc2Nyb2xsaW5nIGNvbHVtbnMgcGFzcyAqYmVoaW5kKiBpdCwgcGx1cyBhXG4gICAgLy8gei1pbmRleCBhYm92ZSBub3JtYWwgY2VsbHMuIEEgcmlnaHQgaW5zZXQgZGl2aWRlciBtYXJrcyB0aGUgZnJvemVuIGVkZ2UuXG4gICAgdGguY29sLXN0aWNreSxcbiAgICB0ZC5jb2wtc3RpY2t5IHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwIDAgI2U1ZTdlYjtcbiAgICB9XG5cbiAgICB0ZC5jb2wtc3RpY2t5IHsgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4gICAgLy8gSGVhZGVyIG9mIGEgc3RpY2t5IGNvbHVtbiBpcyBzdGlja3kgb24gQk9USCBheGVzICh0b3AgZnJvbSB0aGUgdGhlYWQgcnVsZSArXG4gICAgLy8gbGVmdCBoZXJlKTsgbGlmdCBpdCBhYm92ZSB0aGUgb3RoZXIgc3RpY2t5LXRvcCBoZWFkZXJzIGFuZCB0aGUgYm9keSBjZWxsLlxuICAgIHRoZWFkIHRoLmNvbC1zdGlja3kgeyB6LWluZGV4OiAzOyB9XG5cbiAgICAvLyBLZWVwIHRoZSBmcm96ZW4gY2VsbCdzIGJhY2tncm91bmQgaW4gc3RlcCB3aXRoIHJvdyBob3ZlciAvIHNlbGVjdGlvbiBzbyB0aGVcbiAgICAvLyBjb2x1bW5zIHNjcm9sbGluZyBiZWhpbmQgaXQgbmV2ZXIgc2hvdyB0aHJvdWdoLlxuICAgIHRib2R5IHRyOmhvdmVyIHRkLmNvbC1zdGlja3kgICAgICAgeyBiYWNrZ3JvdW5kOiAjZjlmYWZiOyB9XG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQgdGQuY29sLXN0aWNreSB7IGJhY2tncm91bmQ6ICNlZmY2ZmY7IH1cblxuICAgIC8vIHN0eWxlLXYxIGhhcyBhbiB1bnNjb3BlZCBkYXJrLW1vZGUgcWRuYXByby1jaGVja2JveCB2YXIgYmxvY2sgdGhhdCBibGVlZHNcbiAgICAvLyBpbnRvIGFsbCBwYWdlcyDigJQgcmVzZXQgdG8gbGlnaHQtbW9kZSB2YWx1ZXMgaW5zaWRlIHRoZSB0YWJsZSBzbyBjaGVja2JveGVzXG4gICAgLy8gbG9vayBjb3JyZWN0IHJlZ2FyZGxlc3Mgb2YgdGhhdCBnbG9iYWwgb3ZlcnJpZGUuXG4gICAgcWRuYXByby1jaGVja2JveCB7XG4gICAgICAgIC0tY2ItYmc6ICAgICAgICAgICNmZmZmZmY7XG4gICAgICAgIC0tY2ItYmctaG92ZXI6ICAgICNmMGYxZjI7XG4gICAgICAgIC0tY2ItYm9yZGVyOiAgICAgICNjNGM3Y2M7XG4gICAgICAgIC0tY2ItZmlsbGVkLWJnOiAgICM0NjUyZjM7XG4gICAgICAgIC0tY2ItZmlsbGVkLWJvcmRlcjogIzQ2NTJmMztcbiAgICAgICAgLS1jYi1tYXJrOiAgICAgICAgI2ZmZmZmZjtcbiAgICB9XG5cbiAgICB0Ym9keSB7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjNmNGY2O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZjlmYWZiOyB9XG5cbiAgICAgICAgICAgICYuaXMtc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kOiAjZWZmNmZmOyB9XG5cbiAgICAgICAgICAgICYuaXMtY2xpY2thYmxlIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbiAgICAgICAgICAgICYucWRuYXByby10YWJsZS1lbXB0eS1yb3cge1xuICAgICAgICAgICAgICAgIHRkLmNvbC1lbXB0eSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNTJweCAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzljYTNhZjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDExcHggMTZweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBjb2xvcjogIzExMTgyNztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICAgICAgJi5jb2wtY2hlY2tib3gge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDExcHggMTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbC1udW1iZXIgeyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyB9XG5cbiAgICAgICAgICAgIC8vIOKUgOKUgCBDZWxsIHR5cGUgd3JhcHBlcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgICAgICAgICAgIC5jb2wtdGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sLXRodW1ibmFpbC10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogMTBweDtcblxuICAgICAgICAgICAgICAgIGltZywgcWRuYXByby1hdmF0YXIge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sLWljb24tdGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IDdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbC1hdmF0YXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2U1ZTdlYjtcblxuICAgICAgICAgICAgICAgICAgICAmLmlzLWVtcHR5IHsgYmFja2dyb3VuZDogI2YzZjRmNjsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyDilIDilIAgR3JpZCB2aWV3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5xZG5hcHJvLXRhYmxlLWdyaWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZ2FwOiAxNnB4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG5cbiAgICAmOm5vdChbaGlkZGVuXSkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMjBweCwgMWZyKSk7XG4gICAgfVxufVxuXG4ucWRuYXByby10YWJsZS1ncmlkLWVtcHR5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNTJweCAxNnB4O1xuICAgIGNvbG9yOiAjOWNhM2FmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnFkbmFwcm8tdGFibGUtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTVzLCBib3JkZXItY29sb3IgMC4xNXM7XG5cbiAgICAmLmlzLWNsaWNrYWJsZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjExKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2QxZDVkYjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxYTU2ZGI7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZmY2ZmY7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMzZweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIC8vIENlbnRlciB0aGUgYXZhdGFyIGNpcmNsZSBpbiB0aGUgYmFubmVyLiBBIGRpcmVjdCA8aW1nPiAodGh1bWJuYWlsXG4gICAgICAgIC8vIGNvbHVtbnMpIHN0aWxsIGZpbGxzIHRoZSBiYW5uZXIgdmlhIHdpZHRoL2hlaWdodDoxMDAlIGJlbG93LlxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVjdGFuZ3VsYXIgcHJldmlldyBiYW5uZXIgKHRodW1ibmFpbC10eXBlIGltYWdlIGNvbHVtbiwgZS5nLiBhIGRhc2hib2FyZFxuICAgICAgICAvLyBzY3JlZW5zaG90KTogYW5jaG9yIHRoZSBjb3ZlciBjcm9wIHRvIHRoZSBUT1AtTEVGVCBzbyB0aGUgbW9zdCByZWNvZ25pc2FibGVcbiAgICAgICAgLy8gcGFydCBvZiB0aGUgY2FwdHVyZSAodGl0bGUgKyBmaXJzdCBjaGFydHMpIHNob3dzIHJhdGhlciB0aGFuIHRoZSBjZW50cmUuXG4gICAgICAgIGltZy5xZG5hcHJvLXRhYmxlLWNhcmRfX3RodW1iIHtcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBxZG5hcHJvLWF2YXRhciB7XG4gICAgICAgICAgICAvLyBTcXVhcmUgKGVxdWFsIHcvaCkgc28gYm9yZGVyLXJhZGl1czo1MCUgaXMgYSBUUlVFIGNpcmNsZSwgbm90IHRoZVxuICAgICAgICAgICAgLy8gZWxsaXBzZSBhIGZ1bGwtd2lkdGggMTAwJcOXMTM2IGJhbm5lciBwcm9kdWNlZC4gVGhlIGF2YXRhcidzIGlubmVyXG4gICAgICAgICAgICAvLyBwaG90by9hbmltYWwvaW5pdGlhbHMgc2NhbGUgdG8gdGhlIGhvc3QsIHNvIGEgZml4ZWQgc3F1YXJlIGtlZXBzXG4gICAgICAgICAgICAvLyBpdCBwZXJmZWN0bHkgcm91bmQgYW5kIGNlbnRlcmVkLlxuICAgICAgICAgICAgd2lkdGg6IDExMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMTJweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAzcHg7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMTVweDtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICMxMTE4Mjc7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAmX19zdGF0cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiA2cHggMTRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogOXB4O1xuICAgIH1cblxuICAgICZfX3N0YXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDFweDtcbiAgICB9XG5cbiAgICAmX19zdGF0LWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMC41cHg7XG4gICAgICAgIGNvbG9yOiAjOWNhM2FmO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIH1cblxuICAgICZfX3N0YXQtdmFsdWUge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGNvbG9yOiAjMzc0MTUxO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL3RhZy9fdGFnLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi50ZXh0LWgxIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgbGluZS1oZWlnaHQ6IDcycHg7XG59XG5cbi50ZXh0LWgyIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDU2cHg7XG59XG5cbi50ZXh0LWgzIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XG59XG5cbi50ZXh0LWg0IHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG59XG5cbi50ZXh0LWg1IHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG59XG5cbi50ZXh0LWg2IHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5cbi50ZXh0LWJvZHkteHMge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbn1cblxuLnRleHQtYm9keS1zbSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuXG4udGV4dC1ib2R5LW1kIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG5cbi50ZXh0LWJvZHktbGcge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLnRleHQtYm9keS14bCB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xufVxuXG4ucWRuYXByby10YWcge1xuICAtLXRhZy1iZzogI2YwZjFmMjtcbiAgLS10YWctYmctaG92ZXI6ICNlMWUzZTY7XG4gIC0tdGFnLXRleHQ6ICMxZTFmMjA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiAwIDhweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGFnLWJnKTtcbiAgY29sb3I6IHZhcigtLXRhZy10ZXh0KTtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZTtcbn1cbi5xZG5hcHJvLXRhZyAudGFnLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLXRhZyAudGFnLWljb24gc3ZnIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnFkbmFwcm8tdGFnIC50YWctbGFiZWwge1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5xZG5hcHJvLXRhZy50YWctc2l6ZS1iaWcge1xuICBoZWlnaHQ6IDI4cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4ucWRuYXByby10YWcudGFnLXNpemUtYmlnIC50YWctaWNvbiB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG59XG4ucWRuYXByby10YWcudGFnLXNpemUtc21hbGwge1xuICBoZWlnaHQ6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDAgOHB4O1xufVxuLnFkbmFwcm8tdGFnLnRhZy1zaXplLXNtYWxsIC50YWctaWNvbiB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG59XG4vKiBSZW1vdmFibGUg4pyVIChzZWxlY3Rpb24gdG9rZW5zIC8gcmVtb3ZhYmxlIHBpbGxzKS4gKi9cbi5xZG5hcHJvLXRhZy50YWctcmVtb3ZhYmxlIHtcbiAgcGFkZGluZy1yaWdodDogNHB4O1xufVxuLnFkbmFwcm8tdGFnIC50YWctcmVtb3ZlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDAuNjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLCBvcGFjaXR5IDEyMG1zIGVhc2U7XG59XG4ucWRuYXByby10YWcgLnRhZy1yZW1vdmU6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4ucWRuYXByby10YWcgLnRhZy1yZW1vdmU6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG59XG4ucWRuYXByby10YWcgLnRhZy1yZW1vdmUgcWRuYXByby1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tdGFnIC50YWctcmVtb3ZlIHFkbmFwcm8taWNvbiBzdmcge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucWRuYXByby10YWcudGFnLXNpemUtYmlnIC50YWctcmVtb3ZlIHtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbn1cbi5xZG5hcHJvLXRhZy50YWctc2l6ZS1iaWcgLnRhZy1yZW1vdmUgcWRuYXByby1pY29uIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbn1cbi5xZG5hcHJvLXRhZy50YWctc2l6ZS1zbWFsbCAudGFnLXJlbW92ZSB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG4ucWRuYXByby10YWcudGFnLXNpemUtc21hbGwgLnRhZy1yZW1vdmUgcWRuYXByby1pY29uIHtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbn1cbi5xZG5hcHJvLXRhZy50YWctZGlzYWJsZWQgLnRhZy1yZW1vdmUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLXRhZy50YWctY29sb3ItZ3JleSB7XG4gIC0tdGFnLWJnOiAjZjBmMWYyO1xuICAtLXRhZy1iZy1ob3ZlcjogI2UxZTNlNjtcbiAgLS10YWctdGV4dDogIzFlMWYyMDtcbn1cbi5xZG5hcHJvLXRhZy50YWctY29sb3ItZ3JleS0yIHtcbiAgLS10YWctYmc6ICNjNGM3Y2M7XG4gIC0tdGFnLWJnLWhvdmVyOiAjYTZhYWIzO1xuICAtLXRhZy10ZXh0OiAjMWUxZjIwO1xufVxuLnFkbmFwcm8tdGFnLnRhZy1jb2xvci1yZWQge1xuICAtLXRhZy1iZzogI2ZlZTNlMztcbiAgLS10YWctYmctaG92ZXI6ICNmY2M2YzY7XG4gIC0tdGFnLXRleHQ6ICM2MzMwMzA7XG59XG4ucWRuYXByby10YWcudGFnLWNvbG9yLXJlZC0yIHtcbiAgLS10YWctYmc6ICNmYmFhYWE7XG4gIC0tdGFnLWJnLWhvdmVyOiAjZjk4ZDhkO1xuICAtLXRhZy10ZXh0OiAjNjMzMDMwO1xufVxuLnFkbmFwcm8tdGFnLnRhZy1jb2xvci15ZWxsb3cge1xuICAtLXRhZy1iZzogI2ZlZjZkYjtcbiAgLS10YWctYmctaG92ZXI6ICNmZWVkYjg7XG4gIC0tdGFnLXRleHQ6ICM2NTU1MjI7XG59XG4ucWRuYXByby10YWcudGFnLWNvbG9yLXllbGxvdy0yIHtcbiAgLS10YWctYmc6ICNmZGU1OTQ7XG4gIC0tdGFnLWJnLWhvdmVyOiAjZmRkYzcxO1xuICAtLXRhZy10ZXh0OiAjNjU1NTIyO1xufVxuLnFkbmFwcm8tdGFnLnRhZy1jb2xvci1ncmVlbiB7XG4gIC0tdGFnLWJnOiAjZTJmYWYxO1xuICAtLXRhZy1iZy1ob3ZlcjogI2E4ZjFkNDtcbiAgLS10YWctdGV4dDogIzJmNWQ0YTtcbn1cbi5xZG5hcHJvLXRhZy50YWctY29sb3ItZ3JlZW4tMiB7XG4gIC0tdGFnLWJnOiAjOGJlY2M1O1xuICAtLXRhZy1iZy1ob3ZlcjogIzZlZTdiNztcbiAgLS10YWctdGV4dDogIzJmNWQ0YTtcbn1cbi5xZG5hcHJvLXRhZy50YWctY29sb3ItYmx1ZSB7XG4gIC0tdGFnLWJnOiAjZTZlZmY5O1xuICAtLXRhZy1iZy1ob3ZlcjogI2NlZGVmMztcbiAgLS10YWctdGV4dDogIzM3NDc1YTtcbn1cbi5xZG5hcHJvLXRhZy50YWctY29sb3ItYmx1ZS0yIHtcbiAgLS10YWctYmc6ICNiNWNlZWQ7XG4gIC0tdGFnLWJnLWhvdmVyOiAjOWRiZGU3O1xuICAtLXRhZy10ZXh0OiAjMzc0NzVhO1xufVxuLnFkbmFwcm8tdGFnLnRhZy1jb2xvci1icmlnaHQtYmx1ZSB7XG4gIC0tdGFnLWJnOiAjODVhMWVjO1xuICAtLXRhZy1iZy1ob3ZlcjogIzVkODJlNTtcbiAgLS10YWctdGV4dDogIzE5MmE1YTtcbn1cbi5xZG5hcHJvLXRhZy50YWctY29sb3ItYnJpZ2h0LWJsdWUtMiB7XG4gIC0tdGFnLWJnOiAjZDZlMGY5O1xuICAtLXRhZy1iZy1ob3ZlcjogI2FlYzFmMjtcbiAgLS10YWctdGV4dDogIzE5MmE1YTtcbn1cbi5xZG5hcHJvLXRhZy50YWctY29sb3ItcGluayB7XG4gIC0tdGFnLWJnOiAjZjZlMWU4O1xuICAtLXRhZy1iZy1ob3ZlcjogI2VlYzNkMDtcbiAgLS10YWctdGV4dDogIzU2MmQzYTtcbn1cbi5xZG5hcHJvLXRhZy50YWctY29sb3ItZGFyay1waW5rIHtcbiAgLS10YWctYmc6ICNlNWE2Yjk7XG4gIC0tdGFnLWJnLWhvdmVyOiAjZGQ4OGExO1xuICAtLXRhZy10ZXh0OiAjNTYyZDNhO1xufVxuLnFkbmFwcm8tdGFnLnRhZy1jb2xvci1wdXJwbGUge1xuICAtLXRhZy1iZzogI2ViZTlmYjtcbiAgLS10YWctYmctaG92ZXI6ICNkOGQyZjc7XG4gIC0tdGFnLXRleHQ6ICM0MTNiNWU7XG59XG4ucWRuYXByby10YWcudGFnLWNvbG9yLWRhcmstcHVycGxlIHtcbiAgLS10YWctYmc6ICNjNGJjZjM7XG4gIC0tdGFnLWJnLWhvdmVyOiAjYjFhNWVmO1xuICAtLXRhZy10ZXh0OiAjNDEzYjVlO1xufVxuLnFkbmFwcm8tdGFnLnRhZy1pbnRlcmFjdGl2ZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5xZG5hcHJvLXRhZy50YWctaW50ZXJhY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10YWctYmctaG92ZXIpO1xufVxuLnFkbmFwcm8tdGFnLnRhZy1pbnRlcmFjdGl2ZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ucWRuYXByby10YWcudGFnLWludGVyYWN0aXZlOmZvY3VzLXZpc2libGUsIC5xZG5hcHJvLXRhZy50YWctaW50ZXJhY3RpdmUuZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgIzQwNDk5YTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbn1cbi5xZG5hcHJvLXRhZy50YWctZGlzYWJsZWQsIC5xZG5hcHJvLXRhZy50YWctZGlzYWJsZWQudGFnLWludGVyYWN0aXZlIHtcbiAgLS10YWctYmc6ICNmMGYxZjI7XG4gIC0tdGFnLWJnLWhvdmVyOiAjZjBmMWYyO1xuICAtLXRhZy10ZXh0OiAjODk4ZTk5O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnFkbmFwcm8tdGFnLnRhZy1kaXNhYmxlZDpmb2N1cy12aXNpYmxlLCAucWRuYXByby10YWcudGFnLWRpc2FibGVkLmZvcmNlLWZvY3VzLCAucWRuYXByby10YWcudGFnLWRpc2FibGVkLnRhZy1pbnRlcmFjdGl2ZTpmb2N1cy12aXNpYmxlLCAucWRuYXByby10YWcudGFnLWRpc2FibGVkLnRhZy1pbnRlcmFjdGl2ZS5mb3JjZS1mb2N1cyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFnLnRhZy1jb2xvci1ncmV5IHtcbiAgLS10YWctYmc6ICM1NjViNjY7XG4gIC0tdGFnLWJnLWhvdmVyOiAjNmI3MTgwO1xuICAtLXRhZy10ZXh0OiAjZTFlM2U2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFnLnRhZy1jb2xvci1ncmV5LTIge1xuICAtLXRhZy1iZzogIzQwNDQ0ZDtcbiAgLS10YWctYmctaG92ZXI6ICM1NDU5NmI7XG4gIC0tdGFnLXRleHQ6ICNlMWUzZTY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YWcudGFnLWNvbG9yLXJlZCB7XG4gIC0tdGFnLWJnOiAjNWEyYjJiO1xuICAtLXRhZy1iZy1ob3ZlcjogIzdhMzgzODtcbiAgLS10YWctdGV4dDogI2ZiYWFhYTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRhZy50YWctY29sb3ItcmVkLTIge1xuICAtLXRhZy1iZzogIzdhMzgzODtcbiAgLS10YWctYmctaG92ZXI6ICM5YTQ3NDc7XG4gIC0tdGFnLXRleHQ6ICNmZWUzZTM7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YWcudGFnLWNvbG9yLXllbGxvdyB7XG4gIC0tdGFnLWJnOiAjNWE0ZDFmO1xuICAtLXRhZy1iZy1ob3ZlcjogIzdhNmIyZDtcbiAgLS10YWctdGV4dDogI2ZkZTU5NDtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRhZy50YWctY29sb3IteWVsbG93LTIge1xuICAtLXRhZy1iZzogIzdhNmIyZDtcbiAgLS10YWctYmctaG92ZXI6ICM5YThhM2I7XG4gIC0tdGFnLXRleHQ6ICNmZWY2ZGI7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YWcudGFnLWNvbG9yLWdyZWVuIHtcbiAgLS10YWctYmc6ICMyYTU1NDQ7XG4gIC0tdGFnLWJnLWhvdmVyOiAjM2Q3YTYyO1xuICAtLXRhZy10ZXh0OiAjOGJlY2M1O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFnLnRhZy1jb2xvci1ncmVlbi0yIHtcbiAgLS10YWctYmc6ICMzZDdhNjI7XG4gIC0tdGFnLWJnLWhvdmVyOiAjNGQ5YzdjO1xuICAtLXRhZy10ZXh0OiAjZTJmYWYxO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFnLnRhZy1jb2xvci1ibHVlIHtcbiAgLS10YWctYmc6ICMyZTNlNTQ7XG4gIC0tdGFnLWJnLWhvdmVyOiAjNDQ1YTc4O1xuICAtLXRhZy10ZXh0OiAjYjVjZWVkO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFnLnRhZy1jb2xvci1ibHVlLTIge1xuICAtLXRhZy1iZzogIzQ0NWE3ODtcbiAgLS10YWctYmctaG92ZXI6ICM1YTc1OTY7XG4gIC0tdGFnLXRleHQ6ICNlNmVmZjk7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YWcudGFnLWNvbG9yLWJyaWdodC1ibHVlIHtcbiAgLS10YWctYmc6ICMzYTRhOGE7XG4gIC0tdGFnLWJnLWhvdmVyOiAjNGQ1ZmFlO1xuICAtLXRhZy10ZXh0OiAjZDZlMGY5O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFnLnRhZy1jb2xvci1icmlnaHQtYmx1ZS0yIHtcbiAgLS10YWctYmc6ICMyYTM1NjA7XG4gIC0tdGFnLWJnLWhvdmVyOiAjM2E0YThhO1xuICAtLXRhZy10ZXh0OiAjODVhMWVjO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFnLnRhZy1jb2xvci1waW5rIHtcbiAgLS10YWctYmc6ICM0ZTJhMzY7XG4gIC0tdGFnLWJnLWhvdmVyOiAjNmUzZDUwO1xuICAtLXRhZy10ZXh0OiAjZTVhNmI5O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFnLnRhZy1jb2xvci1kYXJrLXBpbmsge1xuICAtLXRhZy1iZzogIzZlM2Q1MDtcbiAgLS10YWctYmctaG92ZXI6ICM4YTUxNmE7XG4gIC0tdGFnLXRleHQ6ICNmNmUxZTg7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YWcudGFnLWNvbG9yLXB1cnBsZSB7XG4gIC0tdGFnLWJnOiAjM2EzNTU1O1xuICAtLXRhZy1iZy1ob3ZlcjogIzUyNGE3YTtcbiAgLS10YWctdGV4dDogI2M0YmNmMztcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRhZy50YWctY29sb3ItZGFyay1wdXJwbGUge1xuICAtLXRhZy1iZzogIzUyNGE3YTtcbiAgLS10YWctYmctaG92ZXI6ICM2YzYyOWE7XG4gIC0tdGFnLXRleHQ6ICNlYmU5ZmI7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YWcudGFnLWRpc2FibGVkLCBbZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YWcudGFnLWRpc2FibGVkLnRhZy1pbnRlcmFjdGl2ZSB7XG4gIC0tdGFnLWJnOiAjMmUzMDM0O1xuICAtLXRhZy1iZy1ob3ZlcjogIzJlMzAzNDtcbiAgLS10YWctdGV4dDogIzZiNzE4MDtcbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL3Rhc2tsaXN0LWNhcmQvX3Rhc2tsaXN0LWNhcmQtY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnFkbmFwcm8tdGFza2xpc3QtY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCwgI2ZmZmZmZik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtYm9yZGVyLWNhcmQsICNlMWUzZTYpO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDg0cHg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTYwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDE2MG1zIGVhc2UsIHRyYW5zZm9ybSAxMjBtcyBlYXNlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLyogTmV2ZXIgaW5oZXJpdCB0aGUgYW5jaG9yIHVuZGVybGluZSB3aGVuIHRoZSBjYXJkIGlzIHdyYXBwZWQgaW4gYVxuICAgICBsaW5rIChlLmcuIHRoZSBwcm9qZWN0cy12MiB0YXNrbGlzdCBncmlkKS4gKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkICosXG4ucWRuYXByby10YXNrbGlzdC1jYXJkICo6OmJlZm9yZSxcbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQgKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtY2FyZDphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTg1KTtcbiAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyA4MG1zIGVhc2UsIHRyYW5zZm9ybSA4MG1zIGVhc2U7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQ6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjNDA0OTlhO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vKiA9PT0gRGFyayBtb2RlIC0gYmFzZSBjYXJkIGNocm9tZSA9PT1cbiAgIEluIHRoZSBidW5kbGUgdGhlc2UgcmVhZCBmcm9tIHRoZSBnbG9iYWwgLS1jLSogdG9rZW5zLCBidXQgaW4gdGhlXG4gICBzdGFuZGFsb25lIGxpYnJhcnkgcHJldmlldyB0aG9zZSB0b2tlbnMgYXJlIGFic2VudCwgc28gdGhlIGxpZ2h0XG4gICBmYWxsYmFja3Mgd291bGQgd2luIGFuZCB0aGUgY2FyZCB3b3VsZCBzdGF5IGxpZ2h0LiBUaGVzZSBleHBsaWNpdFxuICAgZGFyayBvdmVycmlkZXMgbWFrZSB0aGUgYmFzZSBjaHJvbWUgY29ycmVjdCBpbiBkYXJrIG1vZGUgZXZlcnl3aGVyZS5cbiAgIFZhbHVlcyBtYXRjaCB0aGUgZGFyayBwYWxldHRlIGFscmVhZHkgdXNlZCBpbiB0aGlzIGZpbGUgKHN1cmZhY2VcbiAgICMyZTMwMzYsIG5ldXRyYWwgdGlsZSAjNDA0NDRkLCBwcmltYXJ5IHRleHQgI2YwZjFmMiwgbXV0ZWQgI2EwYTRiOCxcbiAgIHN1YnRsZSBib3JkZXIgcmdiYSgyNTUsMjU1LDI1NSwwLjEwKSkuICovXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1jYXJkIHtcbiAgYmFja2dyb3VuZDogIzJlMzAzNjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRhc2tsaXN0LWNhcmQgLnRsYy10aWxlIHtcbiAgYmFja2dyb3VuZDogIzQwNDQ0ZDtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtY2FyZCAudGxjLW5hbWUge1xuICBjb2xvcjogI2YwZjFmMjtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtY2FyZCAudGxjLXN1YiB7XG4gIGNvbG9yOiAjYTBhNGI4O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkIC50bGMtaWNvbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMTJweCAwIDEycHggMTJweDtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtY2FyZCAudGxjLXRpbGUge1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBmbGV4OiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTNweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTEwMCwgI2YwZjFmMik7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQuaGFzLWNvbG9yIC50bGMtdGlsZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRsYy1iZywgdmFyKC0tYy1ncmV5LTEwMCwgI2YwZjFmMikpO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkIC50bGMtYm9keSB7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMTZweCAyMHB4IDE2cHggMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQgLnRsYy1uYW1lIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTkwMCwgIzBiMGIwZCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLyogV3JhcCB0byBhIHNlY29uZCBsaW5lLCB0aGVuIHRydW5jYXRlIHdpdGggYW4gZWxsaXBzaXMgLSBuZXZlciBhXG4gICAgIHRoaXJkIGxpbmUuIGB3aGl0ZS1zcGFjZTogbm9ybWFsYCBpcyBleHBsaWNpdCBzbyBpdCBhbHdheXMgYmVhdHNcbiAgICAgdGhlIGxlZ2FjeSBwYWdlLWxldmVsIGAudGxjLW5hbWUgeyB3aGl0ZS1zcGFjZTogbm93cmFwIH1gLiBUaGUgNjBweFxuICAgICBpY29uIHRpbGUga2VlcHMgdGhlIGNhcmQgPj0gODRweCB0YWxsLCB3aGljaCBmaXRzIHR3byAxNnB4LzEuM1xuICAgICBsaW5lcywgc28gdGhlIGNhcmQgaGVpZ2h0IGRvZXMgbm90IGdyb3cuICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gIGxpbmUtY2xhbXA6IDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQgLnRsYy1zdWIge1xuICBmb250LXNpemU6IDEyLjVweDtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS01MDAsICM4OThlOTkpO1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi8qIENvbXBhY3QgdmFyaWFudDogc21hbGxlciB0aWxlICsgYm9keSwgZm9yIGRlbnNlIGxpc3QgY29udGV4dHMuICovXG4ucWRuYXByby10YXNrbGlzdC1jYXJkLnRsYy1jb21wYWN0IHtcbiAgbWluLWhlaWdodDogNzJweDtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtY2FyZC50bGMtY29tcGFjdCAudGxjLWljb24ge1xuICBwYWRkaW5nOiA5cHggMCA5cHggOXB4O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkLnRsYy1jb21wYWN0IC50bGMtdGlsZSB7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDExcHg7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQudGxjLWNvbXBhY3QgLnRsYy1ib2R5IHtcbiAgcGFkZGluZzogMTJweCAxNHB4IDEycHggMTBweDtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtY2FyZC50bGMtY29tcGFjdCAudGxjLW5hbWUge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQudGxjLWNvbXBhY3QgLnRsYy1zdWIge1xuICBmb250LXNpemU6IDExLjVweDtcbn1cblxuLyogPT09IExpc3QgdmFyaWFudDogb25lLWxpbmUgcGlja2VyL3BhbmVsIHJvdyA9PT1cbiAgIGBsaXN0YCB3aW5zIG92ZXIgYGNvbXBhY3RgIChlbmZvcmNlZCBpbiBKUyByZW5kZXIoKTogY29tcGFjdCBpcyBuZXZlclxuICAgYXBwbGllZCB0b2dldGhlciB3aXRoIHRsYy1saXN0KS4gT25lIHJvdywgfjQwcHggdG90YWwgKDZweCBpY29uLWJsb2NrXG4gICBwYWRkaW5nIHRvcC9ib3R0b20gKyAyOHB4IHRpbGUgPSA0MHB4KSwgYSBzbWFsbCAyOHB4IGljb24gdGlsZSAoc2FtZVxuICAgY29sb3IvaWNvbiB2b2NhYnVsYXJ5IGFzIGV2ZXJ5IG90aGVyIG1vZGUpLCBzaW5nbGUtbGluZSBlbGxpcHNpemVkXG4gICBuYW1lLCB+OHB4IHJhZGl1cy4gTm8gY291bnQvbWV0YS9hcmNoaXZlZC1jaGlwL2FjdGlvbnMvZmF2b3JpdGUgZXZlclxuICAgcmVuZGVyIGluIHRoaXMgbW9kZSAoZ3VhcmRlZCBpbiBKUyksIHNvIHRoZXJlIGlzIG5vdGhpbmcgdG8gc3R5bGUgZm9yXG4gICB0aGVtIGhlcmUuXG4gICBIb3ZlciB1c2VzIGEgRkxBVCBiYWNrZ3JvdW5kIHRpbnQgLSB0aGUgaG91c2UgbGlzdC1yb3cgY29udmVudGlvblxuICAgKG1hdGNoZXMgcWRuYXByby1tZW51LWl0ZW0ncyAtLW1pLWJnLWhvdmVyIGFuZCB0aGUgZXZlbnQtc2hlZXQgcm93XG4gICBob3ZlciksIG5vdCB0aGUgZnJlZS1mbG9hdGluZyBjYXJkJ3Mgc2hhZG93LWxpZnQgLSBiZWNhdXNlIHRoaXNcbiAgIHZhcmlhbnQgc2l0cyBpbmxpbmUgaW4gYSBsaXN0LCBub3QgYXMgaXRzIG93biBjYXJkLiAqL1xuLnFkbmFwcm8tdGFza2xpc3QtY2FyZC50bGMtbGlzdCB7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtY2FyZC50bGMtbGlzdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS01MCwgI2YwZjFmMik7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1ib3JkZXItY2FyZCwgI2UxZTNlNik7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQudGxjLWxpc3Q6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkLnRsYy1saXN0IC50bGMtaWNvbiB7XG4gIHBhZGRpbmc6IDZweCAwIDZweCA2cHg7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQudGxjLWxpc3QgLnRsYy10aWxlIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkLnRsYy1saXN0IC50bGMtYm9keSB7XG4gIHBhZGRpbmc6IDZweCAxMnB4IDZweCA4cHg7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQudGxjLWxpc3QgLnRsYy1uYW1lIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgLyogT3ZlcnJpZGUgdGhlIGJhc2UgcnVsZSdzIDItbGluZSBjbGFtcCBib3ggLSBzaW5nbGUgbGluZSBvbmx5LiAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiB1bnNldDtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtY2FyZC50bGMtbGlzdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG59XG5cbi8qID09PSBIb3ZlciBhY3Rpb24gYnV0dG9ucyAoZmF2b3JpdGUgKyAzLWRvdHMpID09PVxuICAgQmVoYXZpb3VyIG1pcnJvcnMgdGhlIHByb2plY3QtY2FyZCB0b3AtYWN0aW9ucyBFWEFDVExZIChLaW0gMjAyNi0wNi0wMSk6XG4gICAtIFJpZ2h0LWFuY2hvcmVkIGlubGluZS1mbGV4IGluIHRoZSB0b3AtcmlnaHQgY29ybmVyLlxuICAgLSBUaGUgZmF2b3JpdGUgKHN0YXIpIGlzIGhpZGRlbiBhdCByZXN0IGFuZCBmYWRlcyBpbiBvbiBob3Zlcjsgb25jZSBpdFxuICAgICBpcyBmYXZvcml0ZWQgKC5mYXZvcml0ZS1idXR0b24tZmF2b3JpdGVkKSBpdCBTVEFZUyB2aXNpYmxlIGluIHRoZVxuICAgICBjb3JuZXIsIHNvIHlvdSBzZWUgYXQgYSBnbGFuY2Ugd2hpY2ggbGlzdHMgYXJlIG1hcmtlZC5cbiAgIC0gVGhlIDMtZG90cyBTTElERVMgSU46IGNvbGxhcHNlZCB0byB3aWR0aCAwIGF0IHJlc3QgKHNvIHRoZXJlIGlzIG5vXG4gICAgIGVtcHR5IGJveCksIGV4cGFuZHMgdG8gMzJweCArIGFuIDhweCBsZWZ0IG1hcmdpbiBvbiBob3ZlciAtIHRoZSBzYW1lXG4gICAgIHdpZHRoL29wYWNpdHkgdHJhbnNpdGlvbiAucHJvamVjdC1jYXJkLW1lbnUtdHJpZ2dlciB1c2VzLlxuICAgVGhlIHByb2plY3QgY2FyZCB1c2VzIGEgZ2xhc3Mgc3VyZmFjZSAoaXQgc2l0cyBvbiBhIHBob3RvKTsgdGhlIHRhc2tsaXN0XG4gICBjYXJkIGlzIHdoaXRlLCBzbyB0aGUgYnV0dG9ucyBnZXQgYSBzb2xpZC13aGl0ZSBzdXJmYWNlICsgcmluZyBpbnN0ZWFkXG4gICAoZ2xhc3MgaXMgaW52aXNpYmxlIG9uIHdoaXRlKS4gKi9cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQgLnRsYy1hY3Rpb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIEZhdm9yaXRlIChzdGFyKTogaGlkZGVuIGF0IHJlc3QsIGZhZGVzIGluIG9uIGhvdmVyLCBwZXJzaXN0cyB3aGVuIG1hcmtlZC4gKi9cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQgLnRsYy1hY3Rpb25zIC5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgyMCwgMjUsIDgwLCAwLjIyKSwgMCAwIDAgMXB4IHJnYmEoMjAsIDI1LCA4MCwgMC4xNCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAxNjBtcyBlYXNlO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkIC50bGMtYWN0aW9ucyAucWRuYXByby1mYXZvcml0ZS1idXR0b246bm90KC5mYXZvcml0ZS1idXR0b24tZmF2b3JpdGVkKSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkOmhvdmVyIC50bGMtYWN0aW9ucyAucWRuYXByby1mYXZvcml0ZS1idXR0b246bm90KC5mYXZvcml0ZS1idXR0b24tZmF2b3JpdGVkKSxcbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQ6Zm9jdXMtd2l0aGluIC50bGMtYWN0aW9ucyAucWRuYXByby1mYXZvcml0ZS1idXR0b246bm90KC5mYXZvcml0ZS1idXR0b24tZmF2b3JpdGVkKSB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkIC50bGMtYWN0aW9ucyAucWRuYXByby1mYXZvcml0ZS1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGZiO1xufVxuXG4vKiAzLWRvdHM6IHNsaWRlcyBpbiBmcm9tIHdpZHRoIDAgb24gaG92ZXIgKG1pcnJvcnMgLnByb2plY3QtY2FyZC1tZW51LXRyaWdnZXIpLiAqL1xuLnFkbmFwcm8tdGFza2xpc3QtY2FyZCAudGxjLWFjdGlvbnMgLnFkbmFwcm8tYnV0dG9uIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDA7XG4gIGhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgd2lkdGggMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgbWluLXdpZHRoIDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG1hcmdpbi1sZWZ0IDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMTUwbXMgZWFzZSwgYmFja2dyb3VuZCAxMjBtcyBlYXNlO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkOmhvdmVyIC50bGMtYWN0aW9ucyAucWRuYXByby1idXR0b24sXG4ucWRuYXByby10YXNrbGlzdC1jYXJkOmZvY3VzLXdpdGhpbiAudGxjLWFjdGlvbnMgLnFkbmFwcm8tYnV0dG9uIHtcbiAgd2lkdGg6IDMycHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAzMnB4ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMzJweDtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMjAsIDI1LCA4MCwgMC4yMiksIDAgMCAwIDFweCByZ2JhKDIwLCAyNSwgODAsIDAuMTQpICFpbXBvcnRhbnQ7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQ6aG92ZXIgLnRsYy1hY3Rpb25zIC5xZG5hcHJvLWJ1dHRvbjpob3Zlcixcbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQ6Zm9jdXMtd2l0aGluIC50bGMtYWN0aW9ucyAucWRuYXByby1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGZiICFpbXBvcnRhbnQ7XG59XG5cbi8qIERhcmstbW9kZSBzdXJmYWNlcy4gKi9cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRhc2tsaXN0LWNhcmQgLnRsYy1hY3Rpb25zIC5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMyZTMwMzY7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNCksIDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1jYXJkIC50bGMtYWN0aW9ucyAucWRuYXByby1mYXZvcml0ZS1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzgzYjQyO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1jYXJkOmhvdmVyIC50bGMtYWN0aW9ucyAucWRuYXByby1idXR0b24sXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1jYXJkOmZvY3VzLXdpdGhpbiAudGxjLWFjdGlvbnMgLnFkbmFwcm8tYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzJlMzAzNiAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjQpLCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KSAhaW1wb3J0YW50O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1jYXJkOmhvdmVyIC50bGMtYWN0aW9ucyAucWRuYXByby1idXR0b246aG92ZXIsXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1jYXJkOmZvY3VzLXdpdGhpbiAudGxjLWFjdGlvbnMgLnFkbmFwcm8tYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzM4M2I0MiAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT0gQXJjaGl2ZWQgc3RhdGUgKG1pcnJvcnMgdGhlIHByb2plY3QtY2FyZCBhcmNoaXZlZCB2YXJpYW50KSA9PT1cbiAgIFRoZSB0YXNrbGlzdCBjYXJkIGhhcyBubyBwaG90byB0byBkZXNhdHVyYXRlLCBzbyB0aGUgY29sb3VyIHRpbGUgSVNcbiAgIHRoZSBpbWFnZXJ5OiBpdCBpcyBmdWxseSBncmV5ZWQgb3V0IChncmF5c2NhbGUgMSkgc28gdGhlIHBhc3RlbFxuICAgaWRlbnRpdHkgZHJvcHMgYXdheSwgZXhhY3RseSBsaWtlIHRoZSBwcm9qZWN0IGNhcmQncyBkZXNhdHVyYXRlZFxuICAgcGhvdG8uIENhcmQgZGltcyB0byAwLjg1IChzYW1lIGFzIHRoZSBwcm9qZWN0IGNhcmQpIGFuZCB0aGUgbmFtZSBpc1xuICAgbXV0ZWQuICovXG4ucWRuYXByby10YXNrbGlzdC1jYXJkW2FyY2hpdmVkXSB7XG4gIG9wYWNpdHk6IDAuODU7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmRbYXJjaGl2ZWRdIC50bGMtdGlsZSB7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDEpIGJyaWdodG5lc3MoMC45OCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS0xMDAsICNlZWYwZjIpO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkW2FyY2hpdmVkXSAudGxjLW5hbWUge1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTYwMCwgIzZiNzI4MCk7XG59XG5cbi8qIFRoZSBmYXZvcml0ZS9waW4gbWFrZXMgbm8gc2Vuc2Ugb24gYW4gYXJjaGl2ZWQgdGFza2xpc3Q7IGtlZXAgb25seSB0aGVcbiAgIDMtZG90cyAod2hpY2ggb2ZmZXJzIFwiQWN0aXZlcmVuXCIpLiAqL1xuLnFkbmFwcm8tdGFza2xpc3QtY2FyZFthcmNoaXZlZF0gLnRsYy1hY3Rpb25zIC5xZG5hcHJvLWZhdm9yaXRlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQgLnRsYy1hcmNoaXZlZC1jaGlwIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIHBhZGRpbmc6IDJweCA5cHggMnB4IDdweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS0xMDAsICNlZWYwZjIpO1xuICBjb2xvcjogdmFyKC0tYy1ncmV5LTYwMCwgIzZiNzI4MCk7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtY2FyZCAudGxjLWFyY2hpdmVkLWNoaXAgcWRuYXByby1pY29uIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRhc2tsaXN0LWNhcmQgLnRsYy1hcmNoaXZlZC1jaGlwIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICNhMGE0Yjg7XG59XG5cbi8qIEFyY2hpdmVkIHZhcmlhbnQgaW4gZGFyayBtb2RlOiBhIGRhcmsgbmV1dHJhbCB0aWxlICh0aGUgYXJjaGl2ZWRcbiAgIGxpZ2h0IHJ1bGUgc2V0cyBpdHMgb3duIGJhY2tncm91bmQsIHNvIGl0IG11c3QgYmUgcmUtb3ZlcnJpZGRlbiBoZXJlKVxuICAgYW5kIGEgbGlnaHRlciBtdXRlZCBncmV5IG5hbWUsIHNvIHRoZSBkaW1tZWQvZGVzYXR1cmF0ZWQgdHJlYXRtZW50XG4gICByZWFkcyBjb3JyZWN0bHkgb24gdGhlIGRhcmsgY2FyZCBzdXJmYWNlLiAqL1xuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtY2FyZFthcmNoaXZlZF0gLnRsYy10aWxlIHtcbiAgYmFja2dyb3VuZDogIzQwNDQ0ZDtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtY2FyZFthcmNoaXZlZF0gLnRsYy1uYW1lIHtcbiAgY29sb3I6ICNhMGE0Yjg7XG59XG5cbi8qID09PSBDb2xvdXIgcGFsZXR0ZSAocWRuYXByby10YWcgbGlnaHQgcGFzdGVscykgPT09ICovXG4ucWRuYXByby10YXNrbGlzdC1jYXJkLnRsYy1jb2xvci1ncmV5IHtcbiAgLS10bGMtYmc6ICNlZWYwZjI7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQudGxjLWNvbG9yLXJlZCB7XG4gIC0tdGxjLWJnOiAjZmRlN2U3O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkLnRsYy1jb2xvci15ZWxsb3cge1xuICAtLXRsYy1iZzogI2ZkZjNkNjtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtY2FyZC50bGMtY29sb3ItZ3JlZW4ge1xuICAtLXRsYy1iZzogI2UyZmFmMTtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtY2FyZC50bGMtY29sb3ItYmx1ZSB7XG4gIC0tdGxjLWJnOiAjZTZlZmY5O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkLnRsYy1jb2xvci1icmlnaHQtYmx1ZSB7XG4gIC0tdGxjLWJnOiAjZDZlMGY5O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1jYXJkLnRsYy1jb2xvci1waW5rIHtcbiAgLS10bGMtYmc6ICNmNmUxZTg7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LWNhcmQudGxjLWNvbG9yLXB1cnBsZSB7XG4gIC0tdGxjLWJnOiAjZWJlOWZiO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1jYXJkLnRsYy1jb2xvci1ncmV5IHtcbiAgLS10bGMtYmc6ICM0MDQ0NGQ7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRhc2tsaXN0LWNhcmQudGxjLWNvbG9yLXJlZCB7XG4gIC0tdGxjLWJnOiAjNWEyYjJiO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1jYXJkLnRsYy1jb2xvci15ZWxsb3cge1xuICAtLXRsYy1iZzogIzVhNGQxZjtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtY2FyZC50bGMtY29sb3ItZ3JlZW4ge1xuICAtLXRsYy1iZzogIzJhNTU0NDtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtY2FyZC50bGMtY29sb3ItYmx1ZSB7XG4gIC0tdGxjLWJnOiAjMmUzZTU0O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1jYXJkLnRsYy1jb2xvci1icmlnaHQtYmx1ZSB7XG4gIC0tdGxjLWJnOiAjM2E0YThhO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1jYXJkLnRsYy1jb2xvci1waW5rIHtcbiAgLS10bGMtYmc6ICM0ZTJhMzY7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRhc2tsaXN0LWNhcmQudGxjLWNvbG9yLXB1cnBsZSB7XG4gIC0tdGxjLWJnOiAjM2EzNTU1O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcbn0iLCIvLyBfdGV4dC1saW5rLnNjc3Ncbi8vXG4vLyBEZXNpZ24gc291cmNlIDogRmlnbWEgUUROQS1QUk8sIGNvbXBvbmVudCBzZXQgbm9kZSAzMTk0Ojc5MDk1XG4vLyBWZXJpZmllZCB2aWEgIDogaW5zdGFuY2VzXG4vLyAgIDg3NTk6MTg2NzM5ICAoSGlnaGxpZ2h0IC8gRGVmYXVsdCAgLyAxNCAvIEJvbGQgLyBMaW5rKVxuLy8gICA4NzYwOjE4Njc0MSAgKEVycm9yICAgICAvIEhvdmVyICAgIC8gMTQgLyBCb2xkIC8gQkcpXG4vLyAgIDg3NjA6MTg2NzQzICAoU3VjY2VzcyAgIC8gSG92ZXIgICAgLyAxNCAvIEJvbGQgLyBCRylcbi8vICAgODc2MDoxODY3NDUgIChIaWdobGlnaHQgLyBIb3ZlciAgICAvIDE0IC8gQm9sZCAvIEJHKVxuLy8gVmFyaWFudHMgICAgICA6IDQgY29sb3Igw5cgNSBzaXplIMOXIDQgd2VpZ2h0IMOXIDIgaG92ZXIgw5cgNSBzdGF0ZSA9IDcwMFxuLy9cbi8vIFRhcmdldCAgICAgICAgOiBiYWNrb2ZmaWNlMi9zY3NzL3YxL2NvbXBvbmVudHMvX3RleHQtbGluay5zY3NzXG4vLyBBZnRlciBhZGRpbmcgIDogYXBwZW5kICBAdXNlIFwiY29tcG9uZW50cy90ZXh0LWxpbmtcIjsgIHRvIHNjc3MvdjEvc3R5bGUuc2Nzc1xuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRPS0VOIE1BUFBJTkcgKEZpZ21hIHBhdGgg4oaSIFNDU1MgdmFyaWFibGUpXG4vLyBBbGwgdmFsdWVzIGJlbG93IGFyZSBbRklHTUEgdmVyaWZpZWRdIHVubGVzcyBtYXJrZWQgW0lORkVSUkVEXS5cbi8vXG4vLyAgIFRla3N0XG4vLyAgICAgJHRleHQtb24tYm9keSAgICAgICAgICAgICAgICAgIOKGkiB0b2tlbnMvdGV4dC9vbi1ib2R5ICAgICAgICAgICAgICAgICAgICBbSU5GRVJSRUQgaW4gbGlnaHRdXG4vLyAgICAgJHRleHQtZXJyb3IgICAgICAgICAgICAgICAgICAgIOKGkiB0b2tlbnMvdGV4dC9lcnJvciAgICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdCBzdGF0ZSlcbi8vICAgICAkdGV4dC1vbi1lcnJvciAgICAgICAgICAgICAgICAg4oaSIHRva2Vucy90ZXh0L29uLWVycm9yICAgKCNjNjVhNWEpICAgICAgIChob3Zlci1iZyBlcnJvcilcbi8vICAgICAkdGV4dC1zdWNjZXNzLWRhcmsgICAgICAgICAgICAg4oaSIHRva2Vucy90ZXh0L3N1Y2Nlc3MtZGFyayAoIzQyOGI2ZSlcbi8vICAgICAkcHVycGxlLWhpZ2hsaWdodCAgICAgICAgICAgICAg4oaSIHRva2Vucy9wdXJwbGUtaGlnaGxpZ2h0ICgjNDY1MmYzKVxuLy9cbi8vICAgU3VyZmFjZVxuLy8gICAgICRzdXJmYWNlLWJ1dHRvbnMtc3VidGxlLWhvdmVyICDihpIgdG9rZW5zL3N1cmZhY2UvYnV0dG9ucy9zdWJ0bGUtaG92ZXIgKCNmMGYxZjIpXG4vLyAgICAgJHN1cmZhY2UtYnV0dG9ucy1zdWJ0bGUtcHJlc3NlZCDihpIgdG9rZW5zL3N1cmZhY2UvYnV0dG9ucy9zdWJ0bGUtcHJlc3NlZCAoI2U0ZTZlOCkgW3N5c3RlbWljXVxuLy8gICAgICRzdXJmYWNlLXNpZ25hbC1yZWQtNTAgICAgICAgICDihpIgdG9rZW5zL3N1cmZhY2Uvc2lnbmFsL3NpZ25hbC1yZWQtNTAgKCNmZWYxZjEpXG4vLyAgICAgJHN1cmZhY2Utc2lnbmFsLWdyZWVuLTUwICAgICAgIOKGkiB0b2tlbnMvc3VyZmFjZS9zaWduYWwvc2lnbmFsLWdyZWVuLTUwICgjZjBmZGY4KVxuLy9cbi8vICAgQm9yZGVyXG4vLyAgICAgJGJvcmRlci1lcnJvci1kYXJrICAgICAgICAgICAgIOKGkiB0b2tlbnMvYm9yZGVyL2Vycm9yLWRhcmsgICAoI2M2NWE1YSlcbi8vICAgICAkYm9yZGVyLXN1Y2Nlc3MtZGFyayAgICAgICAgICAg4oaSIHRva2Vucy9ib3JkZXIvc3VjY2Vzcy1kYXJrICgjNDI4YjZlKVxuLy9cbi8vICAgVHlwb2dyYXBoeSAvIHNwYWNpbmcgLyByYWRpdXNcbi8vICAgICAkZm9udC1mYW1pbHktcHJpbWFyeSwgJGZvbnQtd2VpZ2h0LXtyZWd1bGFyfG1lZGl1bXxzZW1pLWJvbGR8Ym9sZH1cbi8vICAgICAkc3BhY2luZy14eHMgKDRweCksICRyYWRpdXMtc21hbGwgKDhweClcbi8vXG4vLyBBIHRyYW5zcGFyZW50IDAuNXB4IGJvcmRlciBpcyBhcHBsaWVkIG9uIHRoZSBiYXNlIHNvIEVycm9yL1N1Y2Nlc3MgaG92ZXJcbi8vIHN0YXRlcyBjYW4gcmV2ZWFsIHRoZWlyIHJlYWwgYm9yZGVyIHdpdGhvdXQgY2F1c2luZyBhbnkgbGF5b3V0IHNoaWZ0LlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUFJFU1NFRCBTVEFURSBbS2ltIDIwMjYtMDQtMjhdXG4vLyBBbGlnbmVkIHdpdGggdGhlIHN5c3RlbWljIHByZXNzZWQgcGF0dGVybiB1c2VkIGFjcm9zcyBhbGwgaW50ZXJhY3RpdmVcbi8vIFFETkEgUHJvIGNvbXBvbmVudHMuIFR3byBzdHJhdGVnaWVzLCBvbmUgcGVyIGhvdmVyLXR5cGU6XG4vL1xuLy8gICBob3Zlci1saW5rICDigJQgdGV4dCBnZXRzIG9uZSB0aWVyIGRhcmtlciArIGJnIHBpY2tzIHVwIHN1YnRsZS1wcmVzc2VkLFxuLy8gICAgICAgICAgICAgICAgIHVuZGVybGluZSBwZXJzaXN0cyBmcm9tIGhvdmVyLiBHaXZlcyBoYXB0aWMgZmVlZGJhY2sgb24gYVxuLy8gICAgICAgICAgICAgICAgIGNvbXBvbmVudCB0aGF0IG90aGVyd2lzZSBoYXMgbm8gYmcgc3RhdGUuXG4vLyAgIGhvdmVyLWJnICAgIOKAlCBiZyBzdGVwcyBmcm9tIHN1YnRsZS1ob3ZlciAoI2YwZjFmMikgdG8gc3VidGxlLXByZXNzZWRcbi8vICAgICAgICAgICAgICAgICAoI2U0ZTZlOCk7IGVycm9yL3N1Y2Nlc3MgdXNlIHNpZ25hbC17cmVkLGdyZWVufS0xMDAgdGludHMuXG4vL1xuLy8gRHJpdmVuIGJ5IFRIUkVFIHNlbGVjdG9yIGZvcm1zIHNvIGl0IHdvcmtzIGluIGFsbCBjb250ZXh0czpcbi8vICAgOmFjdGl2ZSAgICAgICAgICAgICAgICAgICDigJQgcmVhbCBwb2ludGVyIGludGVyYWN0aW9uXG4vLyAgIC50ZXh0LWxpbmstcHJlc3NlZCAgICAgICAg4oCUIHBpbm5lZCB2aWEgYXR0cmlidXRlIChlLmcuIHN1Ym1pdHRpbmcgc3RhdGUpXG4vLyAgIC5mb3JjZS1wcmVzc2VkICAgICAgICAgICAg4oCUIHByZXZpZXcvZG9jcyBoZWxwZXIgY2xhc3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZPQ1VTIFNUQVRFXG4vLyBDYW5vbmljYWwgUUROQSBQcm8gZm9jdXMtcmVjaXBlIOKAlCAycHggb3V0bGluZSArIDRweCBvdXRlciBnbG93IEAgMjUlXG4vLyBhbHBoYS4gSW5zZXQgb2Zmc2V0ICgtMnB4KSBzbyB0aGUgcmluZyBzdGF5cyBpbnNpZGUgdGhlIHJvdW5kZWQgYm9yZGVyLlxuLy8gYC5mb3JjZS1mb2N1c2AgaXMgYSBwcmV2aWV3L3NjcmVlbnNob3QgaGVscGVyLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGSVggKDIxLjA3LjIwMjYsIFBXQSBEb2N1bWVudGVuLXByb2plY3QgLSBLaW0ncyB0b2VzdGVsLXRlc3QpOiB0aGlzIGZpbGVcbi8vIHVzZWQgdG8gQHVzZSBcIi4uL21vZHVsZXMve2NvbG9ycyx0eXBvZ3JhcGh5LHNwYWNpbmd9XCIgLSBwYXRocyB0aGF0IHJlc29sdmVcbi8vIHRvIGJhY2tvZmZpY2UyL3Njc3MvY29tcG9uZW50cy92Mi9tb2R1bGVzLyosIHdoaWNoIGRvZXMgTk9UIGV4aXN0ICh0aGUgcmVhbFxuLy8gbW9kdWxlcyBsaXZlIGF0IGJhY2tvZmZpY2UyL3Njc3MvbW9kdWxlcy8qLCAzIGxldmVscyB1cCwgbm90IDEpLiBTaW5jZSBhXG4vLyByZWxhdGl2ZSBAdXNlIGlzIEFMV0FZUyByZXNvbHZlZCBmcm9tIHRoZSBpbXBvcnRpbmcgZmlsZSdzIG93biBsb2NhdGlvblxuLy8gKG5ldmVyIGxvYWQtcGF0aC1zZWFyY2hlZCksIHRoaXMgbWFkZSB0aGUgZmlsZSBmYWlsIHRvIGNvbXBpbGUgLSBpdCB3YXNcbi8vIHRoZXJlZm9yZSBuZXZlciBAdXNlJ2QgZnJvbSBjb21wb25lbnRzLnNjc3MgKGdyZXBwZWQ6IHplcm8gXCIucWRuYXByby10ZXh0LWxpbmtcIlxuLy8gbWF0Y2hlcyBhbnl3aGVyZSBpbiB0aGUgY29tcGlsZWQgc3R5bGUtdjEuY3NzKSwgc28gcWRuYXByby10ZXh0LWxpbmsgaGFzXG4vLyBiZWVuIHJ1bm5pbmcgd2l0aCBOTyBDU1MgQVQgQUxMLCBhbnl3aGVyZSwgc2luY2UgaXQgd2FzIGZpcnN0IGJ1aWx0IC0gdGhlXG4vLyBjb21wb25lbnQncyBvbmx5IG90aGVyIGNvbnN1bWVyIChxZG5hcHJvLWF2YXRhci1zdGFjaydzIFwiK05cIiBvdmVyZmxvdyBjaGlwKVxuLy8gbmV2ZXIgaGl0IHRoaXMgYmVjYXVzZSBpdCBzdHlsZXMgdGhhdCBjaGlwIGVudGlyZWx5IHZpYSBJVFMgT1dOXG4vLyBbZGF0YS1yb2xlPW92ZXJmbG93XSBhdHRyaWJ1dGUgaG9vayAoX2F2YXRhci1zdGFjay5zY3NzKSwgYnlwYXNzaW5nXG4vLyAucWRuYXByby10ZXh0LWxpbmsncyBjbGFzcy1iYXNlZCBydWxlcyBjb21wbGV0ZWx5LiBUaGUgc2VhcmNoLW92ZXJsYXknc1xuLy8gY2FuY2VsL1wiV2lzc2VuXCIgbGlua3MgKHFkbmEtc2VhcmNoLW92ZXJsYXkuanMpIGFyZSB0aGUgZmlyc3QgR0VORVJJQyB1c2Ugb2Zcbi8vIHRoaXMgY29tcG9uZW50IGFueXdoZXJlIGluIHRoZSBhcHAsIHdoaWNoIGlzIHdoYXQgc3VyZmFjZWQgdGhlIGdhcC5cbi8vIFJld2lyZWQgYmVsb3cgb250byB0aGUgc2hhcmVkIGRlc2lnbi10b2tlbnMgOnJvb3QgY3VzdG9tIHByb3BlcnRpZXNcbi8vIChkZXNpZ24tdG9rZW5zL19kZXNpZ24tdG9rZW5zLnNjc3MsIGFscmVhZHkgbG9hZGVkIGZpcnN0IGJ5IGV2ZXJ5IHYyXG4vLyBjb21wb25lbnQpIGluc3RlYWQgb2YgdGhlIGJyb2tlbiAkdmFyaWFibGUgQHVzZSBpbXBvcnRzIC0gc2FtZSBjb252ZW50aW9uXG4vLyBldmVyeSBzaWJsaW5nIEZMQVQgdjIgY29tcG9uZW50IChwb3BvdmVyLCBzZWFyY2gtb3ZlcmxheSwgLi4uKSBhbHJlYWR5XG4vLyBmb2xsb3dzLiBIZXggdmFsdWVzIHRoYXQgaGF2ZSBubyBkaXJlY3QgZGVzaWduLXRva2VuIGVxdWl2YWxlbnQgYXJlIGlubGluZWRcbi8vIGxpdGVyYWxseSBmcm9tIHRoaXMgZmlsZSdzIG93biBcIlRPS0VOIE1BUFBJTkdcIiBjb21tZW50IGFib3ZlIChGaWdtYS12ZXJpZmllZFxuLy8gdmFsdWVzKSwgc2FtZSBhcyB0aGUgdG9rZW4tbWFwcGluZyBkb2MgYWxyZWFkeSBkb2N1bWVudGVkLiBUaGlzIGZpbGUgaXMgbm93XG4vLyByZWFsIChgJmAtbmVzdGVkKSBTQ1NTIC0gc3luY2VkIGludG8gdGhlIFBXQSB2aWEgc3luYy12Mi1jb21wb25lbnRzLmpzJ3Ncbi8vIGNvbXBpbGVTY3NzIHBhdGggKGxpa2UgbGlzdC1yb3cvc2VnbWVudC9ib3R0b20tbmF2L2FwcC1oZWFkZXIpLCBub3QgdGhlXG4vLyBmbGF0IFwiLy9cIi1zdHJpcCBjb3B5LlxuLnFkbmFwcm8tdGV4dC1saW5rIHtcbiAgICAtLXRsLWMtZm9jdXMtcmluZzogIzQwNDk5YTsgICAgICAgICAgICAgICAgICAvLyBCb3JkZXIvQWN0aW9uLVB1cnBsZS1PdXRsaW5lZFxuICAgIC0tdGwtYy1mb2N1cy1nbG93OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTsgIC8vIFB1cnBsZS1IaWdobGlnaHQgQCAyNSVcbiAgICAtLXRsLWMtYmctaG92ZXI6ICAgIHZhcigtLWMtZ3JleS01MCk7ICAgICAgICAvLyAjZjBmMWYyLCA9ICRzdXJmYWNlLWJ1dHRvbnMtc3VidGxlLWhvdmVyXG4gICAgLS10bC1jLWJnLXByZXNzZWQ6ICAjZTRlNmU4OyAgICAgICAgICAgICAgICAgLy8gW3N5c3RlbWljIOKAlCAxIHN0ZXAgZGFya2VyIHRoYW4gc3VidGxlLWhvdmVyXVxuICAgIC0tdGwtYy10ZXh0OiAgICAgICAgdmFyKC0tYy10ZXh0LWJvZHkpOyAgICAgIC8vID0gJHRleHQtb24tYm9keVxuICAgIC0tdGwtYy10ZXh0LWhvdmVyOiAgdmFyKC0tYy10ZXh0LWJvZHkpO1xuICAgIC0tdGwtYy10ZXh0LXByZXNzZWQ6ICMyZTMxMzg7ICAgICAgICAgICAgICAgIC8vIFtzeXN0ZW1pYyDigJQgMSBzdGVwIGRhcmtlciB0aGFuIHRleHQtb24tYm9keV1cblxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMnB4IHZhcigtLXMtMSk7ICAgICAgICAgICAgICAgICAgLy8gPSAkc3BhY2luZy14eHMgKDRweClcbiAgICBib3JkZXI6IDAuNXB4IHNvbGlkIHRyYW5zcGFyZW50OyAgICAgICAgICAvLyByZXNlcnZlcyBzcGFjZSBmb3IgaG92ZXIgYm9yZGVyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0yKTsgICAgICAgICAgICAgICAgLy8gPSAkcmFkaXVzLXNtYWxsICg4cHgpXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRsLWMtdGV4dCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZmKTsgICAgICAgICAgICAgICAgICAgLy8gPSAkZm9udC1mYW1pbHktcHJpbWFyeVxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vID0gJGZvbnQtd2VpZ2h0LWJvbGQgKG5vIC0tZnctYm9sZCB0b2tlbiBleGlzdHMgeWV0KVxuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zIGVhc2UsXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2UsXG4gICAgICAgICAgICAgICAgY29sb3IgMTIwbXMgZWFzZSxcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24gMTIwbXMgZWFzZSxcbiAgICAgICAgICAgICAgICBvcGFjaXR5IDEyMG1zIGVhc2U7XG5cbiAgICAvLyAtLS0tIEZvY3VzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgJjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbiAgICAmOmZvY3VzLXZpc2libGUsXG4gICAgJi5mb3JjZS1mb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS10bC1jLWZvY3VzLXJpbmcpO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHZhcigtLXRsLWMtZm9jdXMtZ2xvdyk7XG4gICAgfVxuXG4gICAgLy8gLS0tLSBEaXNhYmxlZCAod2lucyBvdmVyIGV2ZXJ5dGhpbmcpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgJltkaXNhYmxlZF0sXG4gICAgJi50ZXh0LWxpbmstZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSxcbiAgICAgICAgJi5mb3JjZS1mb2N1cyB7IG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIH1cblxuICAgIC8vIC0tLSBDb2xvdXIgdmFyaWFudHMgKGRlZmF1bHQgc3RhdGUpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAmLnRleHQtbGluay1uZXV0cmFsICAge1xuICAgICAgICAtLXRsLWMtdGV4dDogdmFyKC0tYy10ZXh0LWJvZHkpO1xuICAgICAgICAtLXRsLWMtdGV4dC1wcmVzc2VkOiAjMmUzMTM4O1xuICAgIH1cbiAgICAmLnRleHQtbGluay1lcnJvciAgICAge1xuICAgICAgICAtLXRsLWMtdGV4dDogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQpOyAgICAvLyAjYzY1YTVhLCA9ICR0ZXh0LWVycm9yIC8gJHRleHQtb24tZXJyb3JcbiAgICAgICAgLS10bC1jLXRleHQtcHJlc3NlZDogIzZhMzAzMDsgICAgICAgICAgICAgIC8vIDEgdGllciBkYXJrZXIgdGhhbiAkdGV4dC1lcnJvclxuICAgIH1cbiAgICAmLnRleHQtbGluay1zdWNjZXNzICAge1xuICAgICAgICAtLXRsLWMtdGV4dDogdmFyKC0tYy1zaWduYWwtZ3JlZW4tdGV4dCk7ICAvLyAjNDI4YjZlLCA9ICR0ZXh0LXN1Y2Nlc3MtZGFya1xuICAgICAgICAtLXRsLWMtdGV4dC1wcmVzc2VkOiAjMmY2YTUyOyAgICAgICAgICAgICAgIC8vIDEgdGllciBkYXJrZXIgdGhhbiAkdGV4dC1zdWNjZXNzLWRhcmtcbiAgICB9XG4gICAgJi50ZXh0LWxpbmstaGlnaGxpZ2h0IHtcbiAgICAgICAgLS10bC1jLXRleHQ6IHZhcigtLWMtcHVycGxlLWhpZ2hsaWdodCk7ICAgLy8gIzQ2NTJmMywgPSAkcHVycGxlLWhpZ2hsaWdodFxuICAgICAgICAtLXRsLWMtdGV4dC1wcmVzc2VkOiAjMjUyYjVlOyAgICAgICAgICAgICAgLy8gcHJlc3NlZC1wdXJwbGUgPSBkYXJrZXN0IGJyYW5kXG4gICAgfVxuXG4gICAgLy8gLS0tIFNpemUgdmFyaWFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICYudGV4dC1saW5rLTEwIHsgZm9udC1zaXplOiAxMHB4OyBsaW5lLWhlaWdodDogMjBweDsgfVxuICAgICYudGV4dC1saW5rLTEyIHsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMjBweDsgfVxuICAgICYudGV4dC1saW5rLTE0IHsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogMjRweDsgfVxuICAgICYudGV4dC1saW5rLTE2IHsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMjRweDsgfVxuICAgICYudGV4dC1saW5rLTIwIHsgZm9udC1zaXplOiAyMHB4OyBsaW5lLWhlaWdodDogMzJweDsgfVxuXG4gICAgLy8gLS0tIFdlaWdodCB2YXJpYW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICYudGV4dC1saW5rLXdlaWdodC1yZWd1bGFyICB7IGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1yZWd1bGFyKTsgfVxuICAgICYudGV4dC1saW5rLXdlaWdodC1tZWRpdW0gICB7IGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1tZWRpdW0pOyB9XG4gICAgJi50ZXh0LWxpbmstd2VpZ2h0LXNlbWlib2xkIHsgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LXNlbWkpOyB9XG4gICAgJi50ZXh0LWxpbmstd2VpZ2h0LWJvbGQgICAgIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4gICAgLy8gLS0tIEhvdmVyIHR5cGU6IGxpbmsgKHVuZGVybGluZSBvbmx5KSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgJi50ZXh0LWxpbmstaG92ZXItbGluazpub3QoW2Rpc2FibGVkXSk6bm90KC50ZXh0LWxpbmstZGlzYWJsZWQpOmhvdmVyLFxuICAgICYudGV4dC1saW5rLWhvdmVyLWxpbmsudGV4dC1saW5rLWFjdGl2ZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC8vIC0tLSBIb3ZlciB0eXBlOiBiZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBOZXV0cmFsICsgSGlnaGxpZ2h0OiBiYWNrZ3JvdW5kIHRpbnQgdG8gc3VidGxlLWhvdmVyIChnZWVuIGJvcmRlcilcbiAgICAvLyBFcnJvciArIFN1Y2Nlc3MgICAgOiBzaWduYWwtdGludCArIDAuNXB4IHNpZ25hbCBib3JkZXIgKyB0ZXh0IHNoaWZ0XG4gICAgJi50ZXh0LWxpbmstaG92ZXItYmc6bm90KFtkaXNhYmxlZF0pOm5vdCgudGV4dC1saW5rLWRpc2FibGVkKTpob3ZlcixcbiAgICAmLnRleHQtbGluay1ob3Zlci1iZy50ZXh0LWxpbmstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGwtYy1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgJi50ZXh0LWxpbmstaG92ZXItYmcudGV4dC1saW5rLWVycm9yOm5vdChbZGlzYWJsZWRdKTpub3QoLnRleHQtbGluay1kaXNhYmxlZCk6aG92ZXIsXG4gICAgJi50ZXh0LWxpbmstaG92ZXItYmcudGV4dC1saW5rLWVycm9yLnRleHQtbGluay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmVmMWYxOyAgICAgICAgICAgICAgICAgICAgICAvLyA9ICRzdXJmYWNlLXNpZ25hbC1yZWQtNTAgKG5vIGRpcmVjdCB0b2tlbjsgRmlnbWEtdmVyaWZpZWQgaGV4LCBzZWUgaGVhZGVyKVxuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtc2lnbmFsLXJlZC10ZXh0KTsgICAvLyA9ICRib3JkZXItZXJyb3ItZGFya1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQpOyAgICAgICAgICAvLyA9ICR0ZXh0LW9uLWVycm9yXG4gICAgfVxuXG4gICAgJi50ZXh0LWxpbmstaG92ZXItYmcudGV4dC1saW5rLXN1Y2Nlc3M6bm90KFtkaXNhYmxlZF0pOm5vdCgudGV4dC1saW5rLWRpc2FibGVkKTpob3ZlcixcbiAgICAmLnRleHQtbGluay1ob3Zlci1iZy50ZXh0LWxpbmstc3VjY2Vzcy50ZXh0LWxpbmstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YwZmRmODsgICAgICAgICAgICAgICAgICAgICAgLy8gPSAkc3VyZmFjZS1zaWduYWwtZ3JlZW4tNTAgKG5vIGRpcmVjdCB0b2tlbjsgRmlnbWEtdmVyaWZpZWQgaGV4LCBzZWUgaGVhZGVyKVxuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtc2lnbmFsLWdyZWVuLXRleHQpOyAvLyA9ICRib3JkZXItc3VjY2Vzcy1kYXJrXG4gICAgICAgIC8vIHRleHQgc3RheXMgJHRleHQtc3VjY2Vzcy1kYXJrIChzYW1lIGh1ZSBhcyBib3JkZXItc3VjY2Vzcy1kYXJrKVxuICAgIH1cblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gIFBSRVNTRUQg4oCUIDphY3RpdmUgKyAudGV4dC1saW5rLXByZXNzZWQgKyAuZm9yY2UtcHJlc3NlZFxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICAvLyAtLS0gaG92ZXItbGluayBwcmVzc2VkOiBzdWJ0bGUtcHJlc3NlZCBiZyArIGRhcmtlciB0ZXh0ICsgdW5kZXJsaW5lLlxuICAgICYudGV4dC1saW5rLWhvdmVyLWxpbms6bm90KFtkaXNhYmxlZF0pOm5vdCgudGV4dC1saW5rLWRpc2FibGVkKTphY3RpdmUsXG4gICAgJi50ZXh0LWxpbmstaG92ZXItbGluay50ZXh0LWxpbmstcHJlc3NlZCxcbiAgICAmLnRleHQtbGluay1ob3Zlci1saW5rLmZvcmNlLXByZXNzZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10bC1jLWJnLXByZXNzZWQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGwtYy10ZXh0LXByZXNzZWQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAvLyAtLS0gaG92ZXItYmcgcHJlc3NlZDogYmcgb25lIHRpZXIgZGVlcGVyIHRoYW4gaG92ZXItYmcuXG4gICAgLy8gTmV1dHJhbCArIEhpZ2hsaWdodDogc3VidGxlLXByZXNzZWRcbiAgICAmLnRleHQtbGluay1ob3Zlci1iZzpub3QoW2Rpc2FibGVkXSk6bm90KC50ZXh0LWxpbmstZGlzYWJsZWQpOmFjdGl2ZSxcbiAgICAmLnRleHQtbGluay1ob3Zlci1iZy50ZXh0LWxpbmstcHJlc3NlZCxcbiAgICAmLnRleHQtbGluay1ob3Zlci1iZy5mb3JjZS1wcmVzc2VkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGwtYy1iZy1wcmVzc2VkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXRsLWMtdGV4dC1wcmVzc2VkKTtcbiAgICB9XG4gICAgLy8gRXJyb3IgcHJlc3NlZFxuICAgICYudGV4dC1saW5rLWhvdmVyLWJnLnRleHQtbGluay1lcnJvcjpub3QoW2Rpc2FibGVkXSk6bm90KC50ZXh0LWxpbmstZGlzYWJsZWQpOmFjdGl2ZSxcbiAgICAmLnRleHQtbGluay1ob3Zlci1iZy50ZXh0LWxpbmstZXJyb3IudGV4dC1saW5rLXByZXNzZWQsXG4gICAgJi50ZXh0LWxpbmstaG92ZXItYmcudGV4dC1saW5rLWVycm9yLmZvcmNlLXByZXNzZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmNlMGUwOyAgICAgICAgICAgICAgICAgICAgIC8vIHNpZ25hbC1yZWQtMTAwICgxIHN0ZXAgZGVlcGVyIHRoYW4gLTUwKVxuICAgICAgICBib3JkZXItY29sb3I6ICNhNDQ4NDg7ICAgICAgICAgICAgICAgICAgIC8vIDEgdGllciBkYXJrZXIgdGhhbiAkYm9yZGVyLWVycm9yLWRhcmtcbiAgICAgICAgY29sb3I6ICM2YTMwMzA7XG4gICAgfVxuICAgIC8vIFN1Y2Nlc3MgcHJlc3NlZFxuICAgICYudGV4dC1saW5rLWhvdmVyLWJnLnRleHQtbGluay1zdWNjZXNzOm5vdChbZGlzYWJsZWRdKTpub3QoLnRleHQtbGluay1kaXNhYmxlZCk6YWN0aXZlLFxuICAgICYudGV4dC1saW5rLWhvdmVyLWJnLnRleHQtbGluay1zdWNjZXNzLnRleHQtbGluay1wcmVzc2VkLFxuICAgICYudGV4dC1saW5rLWhvdmVyLWJnLnRleHQtbGluay1zdWNjZXNzLmZvcmNlLXByZXNzZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZGRmN2VjOyAgICAgICAgICAgICAgICAgICAgIC8vIHNpZ25hbC1ncmVlbi0xMDAgKDEgc3RlcCBkZWVwZXIgdGhhbiAtNTApXG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM1NzA1OTsgICAgICAgICAgICAgICAgICAgLy8gMSB0aWVyIGRhcmtlciB0aGFuICRib3JkZXItc3VjY2Vzcy1kYXJrXG4gICAgICAgIGNvbG9yOiAjMmY2YTUyO1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgRGFyay1tb2RlIG92ZXJyaWRlc1xuLy8gIFtJTkZFUlJFRF0g4oCUIEZpZ21hIHNob3dlZCBvbmx5IGxpZ2h0IHRva2Vucy4gUGF0dGVybiBhbGlnbmVkXG4vLyAgd2l0aCBxZG5hcHJvLWJ1dHRvbiArIHFkbmFwcm8taWNvbi1idG4gZGFyay1tb2RlIHRyZWF0bWVudDogaW52ZXJ0XG4vLyAgdGhlIHN1cmZhY2UgdGludHMgKGxpZ2h0IOKGkiBkYXJrIGdyZXkpIGFuZCBsaWZ0IHRleHQgdG8gdGhlXG4vLyAgbGlnaHRlciByYW1wIHZhbHVlIHNvIGNvbnRyYXN0IHN0YXlzIEFBLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tdGV4dC1saW5rIHtcbiAgICAtLXRsLWMtYmctaG92ZXI6ICAgICM0MDQ0NGQ7ICAgICAgICAgICAgICAgICAvLyBTdXJmYWNlL0J1dHRvbnMvU3VidGxlLWhvdmVyLWRhcmtcbiAgICAtLXRsLWMtYmctcHJlc3NlZDogICM1NjViNjY7ICAgICAgICAgICAgICAgICAvLyAxIHRpZXIgZGFya2VyIHRoYW4gYmctaG92ZXJcbiAgICAtLXRsLWMtdGV4dDogICAgICAgICNlMWUzZTY7XG4gICAgLS10bC1jLXRleHQtaG92ZXI6ICAjZTFlM2U2O1xuICAgIC0tdGwtYy10ZXh0LXByZXNzZWQ6ICNmMGYxZjI7XG5cbiAgICAmLnRleHQtbGluay1uZXV0cmFsICAge1xuICAgICAgICAtLXRsLWMtdGV4dDogI2UxZTNlNjtcbiAgICAgICAgLS10bC1jLXRleHQtcHJlc3NlZDogI2YwZjFmMjtcbiAgICB9XG4gICAgJi50ZXh0LWxpbmstZXJyb3IgICAgIHtcbiAgICAgICAgLS10bC1jLXRleHQ6ICNmYmFhYWE7XG4gICAgICAgIC0tdGwtYy10ZXh0LXByZXNzZWQ6ICNmZWUzZTM7XG4gICAgfVxuICAgICYudGV4dC1saW5rLXN1Y2Nlc3MgICB7XG4gICAgICAgIC0tdGwtYy10ZXh0OiAjOGJlY2M1O1xuICAgICAgICAtLXRsLWMtdGV4dC1wcmVzc2VkOiAjZTJmYWYxO1xuICAgIH1cbiAgICAmLnRleHQtbGluay1oaWdobGlnaHQge1xuICAgICAgICAtLXRsLWMtdGV4dDogI2FhYjJmZjsgICAgICAgICAgICAgICAgICAgIC8vIGxpZnRlZCBwdXJwbGUtaGlnaGxpZ2h0IGZvciBkYXJrIGNvbnRyYXN0XG4gICAgICAgIC0tdGwtYy10ZXh0LXByZXNzZWQ6ICNkNmRhZmY7XG4gICAgfVxuXG4gICAgLy8gSG92ZXItYmcgY29sb3Itc3BlY2lmaWMgZGFyayBlcXVpdmFsZW50c1xuICAgICYudGV4dC1saW5rLWhvdmVyLWJnLnRleHQtbGluay1lcnJvcjpub3QoW2Rpc2FibGVkXSk6bm90KC50ZXh0LWxpbmstZGlzYWJsZWQpOmhvdmVyLFxuICAgICYudGV4dC1saW5rLWhvdmVyLWJnLnRleHQtbGluay1lcnJvci50ZXh0LWxpbmstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzVhMmIyYjsgICAgICAgICAgICAgICAgICAgICAvLyBkYXJrIHNpZ25hbC1yZWQgYmdcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmJhYWFhOyAgICAgICAgICAgICAgICAgICAvLyBsaWdodCByZWQgYm9yZGVyXG4gICAgICAgIGNvbG9yOiAjZmVlM2UzO1xuICAgIH1cbiAgICAmLnRleHQtbGluay1ob3Zlci1iZy50ZXh0LWxpbmstc3VjY2Vzczpub3QoW2Rpc2FibGVkXSk6bm90KC50ZXh0LWxpbmstZGlzYWJsZWQpOmhvdmVyLFxuICAgICYudGV4dC1saW5rLWhvdmVyLWJnLnRleHQtbGluay1zdWNjZXNzLnRleHQtbGluay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMmE1NTQ0OyAgICAgICAgICAgICAgICAgICAgIC8vIGRhcmsgc2lnbmFsLWdyZWVuIGJnXG4gICAgICAgIGJvcmRlci1jb2xvcjogIzhiZWNjNTtcbiAgICAgICAgY29sb3I6ICNlMmZhZjE7XG4gICAgfVxuXG4gICAgLy8gUHJlc3NlZCBkYXJrXG4gICAgJi50ZXh0LWxpbmstaG92ZXItYmcudGV4dC1saW5rLWVycm9yOm5vdChbZGlzYWJsZWRdKTpub3QoLnRleHQtbGluay1kaXNhYmxlZCk6YWN0aXZlLFxuICAgICYudGV4dC1saW5rLWhvdmVyLWJnLnRleHQtbGluay1lcnJvci50ZXh0LWxpbmstcHJlc3NlZCxcbiAgICAmLnRleHQtbGluay1ob3Zlci1iZy50ZXh0LWxpbmstZXJyb3IuZm9yY2UtcHJlc3NlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM3YTM4Mzg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZlZTNlMztcbiAgICAgICAgY29sb3I6ICNmZWUzZTM7XG4gICAgfVxuICAgICYudGV4dC1saW5rLWhvdmVyLWJnLnRleHQtbGluay1zdWNjZXNzOm5vdChbZGlzYWJsZWRdKTpub3QoLnRleHQtbGluay1kaXNhYmxlZCk6YWN0aXZlLFxuICAgICYudGV4dC1saW5rLWhvdmVyLWJnLnRleHQtbGluay1zdWNjZXNzLnRleHQtbGluay1wcmVzc2VkLFxuICAgICYudGV4dC1saW5rLWhvdmVyLWJnLnRleHQtbGluay1zdWNjZXNzLmZvcmNlLXByZXNzZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjM2Q3YTYyO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlMmZhZjE7XG4gICAgICAgIGNvbG9yOiAjZTJmYWYxO1xuICAgIH1cbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL3RpbWVzdGFtcC9fdGltZXN0YW1wLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi5xZG5hcHJvLXRpbWVzdGFtcCB7XG4gIC0tdHMtY29sb3I6ICM4OThlOTk7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiB2YXIoLS10cy1jb2xvcik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ucWRuYXByby10aW1lc3RhbXAudGltZXN0YW1wLWNvbG9yLXB1cnBsZSB7XG4gIC0tdHMtY29sb3I6ICM0MDQ5OWE7XG59XG4ucWRuYXByby10aW1lc3RhbXAudGltZXN0YW1wLWNvbG9yLWhpZ2hsaWdodCB7XG4gIC0tdHMtY29sb3I6ICM0NjUyZjM7XG59XG4ucWRuYXByby10aW1lc3RhbXAudGltZXN0YW1wLXdlaWdodC1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5xZG5hcHJvLXRpbWVzdGFtcC50aW1lc3RhbXAtd2VpZ2h0LWJvbGQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnFkbmFwcm8tdGltZXN0YW1wLnRpbWVzdGFtcC1zaXplLTEwIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbn1cbi5xZG5hcHJvLXRpbWVzdGFtcC50aW1lc3RhbXAtc2l6ZS0xMSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG59XG4ucWRuYXByby10aW1lc3RhbXAudGltZXN0YW1wLXNpemUtMTIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuLnFkbmFwcm8tdGltZXN0YW1wLnRpbWVzdGFtcC1zaXplLTEzIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMThweDtcbn1cbi5xZG5hcHJvLXRpbWVzdGFtcC50aW1lc3RhbXAtc2l6ZS0xNCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG4ucWRuYXByby10aW1lc3RhbXAudGltZXN0YW1wLXNpemUtMTUge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xufVxuLnFkbmFwcm8tdGltZXN0YW1wLnRpbWVzdGFtcC1zaXplLTE2IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cbi5xZG5hcHJvLXRpbWVzdGFtcC50aW1lc3RhbXAtaW5saW5lIHtcbiAgYWxpZ24tc2VsZjogYmFzZWxpbmU7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRpbWVzdGFtcCB7XG4gIC0tdHMtY29sb3I6ICNiOGJjYzQ7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10aW1lc3RhbXAudGltZXN0YW1wLWNvbG9yLXB1cnBsZSB7XG4gIC0tdHMtY29sb3I6ICNiOGJjYzQ7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10aW1lc3RhbXAudGltZXN0YW1wLWNvbG9yLWhpZ2hsaWdodCB7XG4gIC0tdHMtY29sb3I6ICNhNWFjZmY7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi90b2FzdC9fdG9hc3QtY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnFkbmFwcm8tdG9hc3Qge1xuICAtLXRvYXN0LWJnOiAjMGIwYjBkO1xuICAtLXRvYXN0LXRleHQ6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDRweCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdG9hc3QtYmcpO1xuICBjb2xvcjogdmFyKC0tdG9hc3QtdGV4dCk7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xOCksIDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE2MG1zIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMjIwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC44LCAwLjIsIDEpO1xufVxuLnFkbmFwcm8tdG9hc3QudG9hc3QtcG9zaXRpb24tdG9wIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgY2FsYygtMTAwJSArIDRweCkpO1xufVxuLnFkbmFwcm8tdG9hc3QudG9hc3QtcG9zaXRpb24tYm90dG9tIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNHB4KTtcbn1cbi5xZG5hcHJvLXRvYXN0IC50b2FzdC1pY29uIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5xZG5hcHJvLXRvYXN0IC50b2FzdC1sYWJlbCB7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuLy8gU25hY2tiYXIgYWN0aW9uIGJ1dHRvbiAoZS5nLiBcIlVuZG9cIikg4oCUIGluaGVyaXRzIHRoZSB0b2FzdCdzIHRleHQgY29sb3VyLFxuLy8gcGlsbCB0YXAgdGFyZ2V0LCBzaXRzIGFmdGVyIHRoZSBsYWJlbCB3aXRoIGEgbGl0dGxlIGJyZWF0aGluZyByb29tLlxuLnFkbmFwcm8tdG9hc3QgLnRvYXN0LWFjdGlvbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IC00cHggLTZweCAtNHB4IDRweDtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIG9wYWNpdHk6IDAuOTU7XG59XG4ucWRuYXByby10b2FzdCAudG9hc3QtYWN0aW9uOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTsgfVxuLnFkbmFwcm8tdG9hc3QgLnRvYXN0LWFjdGlvbjphY3RpdmUgeyBvcGFjaXR5OiAwLjc1OyB9XG4vLyBPbiB0aGUgbGlnaHQgKHllbGxvdy9yZWQpIHZhcmlhbnRzIHRoZSB3aGl0ZS1hbHBoYSBob3ZlciBpcyBpbnZpc2libGUg4oCUIHRpbnQgZGFya1xuLnFkbmFwcm8tdG9hc3QudG9hc3QtdmFyaWFudC15ZWxsb3cgLnRvYXN0LWFjdGlvbjpob3Zlcixcbi5xZG5hcHJvLXRvYXN0LnRvYXN0LXZhcmlhbnQtcmVkIC50b2FzdC1hY3Rpb246aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDgpOyB9XG4ucWRuYXByby10b2FzdC50b2FzdC12YXJpYW50LWRhcmsge1xuICAtLXRvYXN0LWJnOiAjMGIwYjBkO1xuICAtLXRvYXN0LXRleHQ6ICNmZmZmZmY7XG59XG4ucWRuYXByby10b2FzdC50b2FzdC12YXJpYW50LXB1cnBsZSB7XG4gIC0tdG9hc3QtYmc6ICM0MDQ5OWE7XG4gIC0tdG9hc3QtdGV4dDogI2ZmZmZmZjtcbn1cbi8vIFdhcm5pbmcgKGFtYmVyKSArIGVycm9yIChyZWQpIOKAlCByZXVzZSB0aGUgZGVzaWduLXN5c3RlbSB3YXJuaW5nIHBhbGV0dGVcbi8vIChzYW1lIHZhbHVlcyBhcyB0aGUgYW5zd2VyLW9wdGlvbiB3YXJuaW5nIHBpbGwgKyBxZG5hcHJvLWJ1dHRvbiB3YXJuaW5nIHRpbnRzKS5cbi8vIEEgMXB4IGJvcmRlciBkZWZpbmVzIHRoZSBlZGdlIHNpbmNlIHRoZXNlIHNpdCBsaWdodC1vbi1saWdodC5cbi5xZG5hcHJvLXRvYXN0LnRvYXN0LXZhcmlhbnQteWVsbG93IHtcbiAgLS10b2FzdC1iZzogdmFyKC0tYy13YXJuaW5nLWJyaWdodC1iZyk7XG4gIC0tdG9hc3QtdGV4dDogdmFyKC0tYy13YXJuaW5nLWJyaWdodC10ZXh0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy13YXJuaW5nLWJyaWdodC1ib3JkZXIpO1xufVxuLnFkbmFwcm8tdG9hc3QudG9hc3QtdmFyaWFudC1yZWQge1xuICAtLXRvYXN0LWJnOiAjZmRlOGU4O1xuICAtLXRvYXN0LXRleHQ6ICNjOTQwNDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlOGIwYjA7XG59XG4ucWRuYXByby10b2FzdC50b2FzdC12aXNpYmxlLCAucWRuYXByby10b2FzdFt2aXNpYmxlXSB7XG4gIG9wYWNpdHk6IDE7XG59XG4ucWRuYXByby10b2FzdC50b2FzdC12aXNpYmxlLnRvYXN0LXBvc2l0aW9uLXRvcCwgLnFkbmFwcm8tdG9hc3RbdmlzaWJsZV0udG9hc3QtcG9zaXRpb24tdG9wIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xufVxuLnFkbmFwcm8tdG9hc3QudG9hc3QtdmlzaWJsZS50b2FzdC1wb3NpdGlvbi1ib3R0b20sIC5xZG5hcHJvLXRvYXN0W3Zpc2libGVdLnRvYXN0LXBvc2l0aW9uLWJvdHRvbSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10b2FzdCB7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjQpLCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRvYXN0LnRvYXN0LXZhcmlhbnQtZGFyayB7XG4gIC0tdG9hc3QtYmc6ICNmMGYxZjI7XG4gIC0tdG9hc3QtdGV4dDogIzBiMGIwZDtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRvYXN0LnRvYXN0LXZhcmlhbnQtcHVycGxlIHtcbiAgLS10b2FzdC1iZzogI2E1YWNmZjtcbiAgLS10b2FzdC10ZXh0OiAjMGIwYjBkO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucWRuYXByby10b2FzdCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcyBsaW5lYXI7XG4gIH1cbiAgLnFkbmFwcm8tdG9hc3QudG9hc3QtcG9zaXRpb24tdG9wIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSkgIWltcG9ydGFudDtcbiAgfVxuICAucWRuYXByby10b2FzdC50b2FzdC1wb3NpdGlvbi1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL3RvZ2dsZS9fdG9nZ2xlLWNvbXBpbGVkLmNzcy5cbi8vIEtlcHQgZXF1YWwgdG8gdGhlIGxpdmUgY29tcGlsZWQgQ1NTOyBlZGl0IEhFUkUsIHRoZW4gcnVuIHRoZSBndWxwIHRhc2suXG5cbi5xZG5hcHJvLXRvZ2dsZSB7XG4gIC0tdGctYmc6ICNjNGM3Y2M7XG4gIC0tdGctYmctYWN0aXZlOiAjNDY1MmYzO1xuICAtLXRnLWJnLWhvdmVyOiAjYjBiNGJhO1xuICAtLXRnLWJnLWFjdGl2ZS1ob3ZlcjogIzM4NDJjMjtcbiAgLS10Zy10aHVtYjogI2ZmZmZmZjtcbiAgLS10Zy1mb2N1cy1yaW5nOiAjNDA0OTlhO1xuICAtLXRnLWZvY3VzLWdsb3c6IHJnYmEoNzAsIDgyLCAyNDMsIDAuMjUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGctYmcpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTgwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby10b2dnbGUgLnRvZ2dsZS10aHVtYiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRnLXRodW1iKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuMDQpLCAwIDNweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAzcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogbGVmdCAzMjBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS4zNSwgMC42NCwgMSksIHRyYW5zZm9ybSAyMDBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS4zNSwgMC42NCwgMSksIGJhY2tncm91bmQtY29sb3IgMTgwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby10b2dnbGUudG9nZ2xlLWFjdGl2ZSAudG9nZ2xlLXRodW1iIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xufVxuLnFkbmFwcm8tdG9nZ2xlLnRvZ2dsZS1zaXplLWF2ZXJhZ2Uge1xuICB3aWR0aDogNTFweDtcbiAgaGVpZ2h0OiAzMXB4O1xufVxuLnFkbmFwcm8tdG9nZ2xlLnRvZ2dsZS1zaXplLWF2ZXJhZ2UgLnRvZ2dsZS10aHVtYiB7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDI3cHg7XG4gIGxlZnQ6IDJweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLnFkbmFwcm8tdG9nZ2xlLnRvZ2dsZS1zaXplLWF2ZXJhZ2UudG9nZ2xlLWFjdGl2ZSAudG9nZ2xlLXRodW1iIHtcbiAgbGVmdDogMjJweDtcbn1cbi5xZG5hcHJvLXRvZ2dsZS50b2dnbGUtc2l6ZS1zbWFsbCB7XG4gIHdpZHRoOiAzN3B4O1xuICBoZWlnaHQ6IDIycHg7XG59XG4ucWRuYXByby10b2dnbGUudG9nZ2xlLXNpemUtc21hbGwgLnRvZ2dsZS10aHVtYiB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGxlZnQ6IDJweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLnFkbmFwcm8tdG9nZ2xlLnRvZ2dsZS1zaXplLXNtYWxsLnRvZ2dsZS1hY3RpdmUgLnRvZ2dsZS10aHVtYiB7XG4gIGxlZnQ6IDE3cHg7XG59XG4ucWRuYXByby10b2dnbGUudG9nZ2xlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRnLWJnLWFjdGl2ZSk7XG59XG4ucWRuYXByby10b2dnbGU6aG92ZXI6bm90KC50b2dnbGUtZGlzYWJsZWQpOm5vdCgudG9nZ2xlLWFjdGl2ZSksIC5xZG5hcHJvLXRvZ2dsZS5mb3JjZS1ob3Zlcjpub3QoLnRvZ2dsZS1kaXNhYmxlZCk6bm90KC50b2dnbGUtYWN0aXZlKSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRnLWJnLWhvdmVyKTtcbn1cbi5xZG5hcHJvLXRvZ2dsZTpob3Zlcjpub3QoLnRvZ2dsZS1kaXNhYmxlZCkudG9nZ2xlLWFjdGl2ZSwgLnFkbmFwcm8tdG9nZ2xlLmZvcmNlLWhvdmVyOm5vdCgudG9nZ2xlLWRpc2FibGVkKS50b2dnbGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGctYmctYWN0aXZlLWhvdmVyKTtcbn1cbi5xZG5hcHJvLXRvZ2dsZTphY3RpdmU6bm90KC50b2dnbGUtZGlzYWJsZWQpIC50b2dnbGUtdGh1bWIsIC5xZG5hcHJvLXRvZ2dsZS5mb3JjZS1wcmVzc2VkOm5vdCgudG9nZ2xlLWRpc2FibGVkKSAudG9nZ2xlLXRodW1iIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlWCgxLjE1KTtcbn1cbi5xZG5hcHJvLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ucWRuYXByby10b2dnbGU6Zm9jdXMtdmlzaWJsZSwgLnFkbmFwcm8tdG9nZ2xlLmZvcmNlLWZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLXRnLWZvY3VzLXJpbmcpLCAwIDAgMCA2cHggdmFyKC0tdGctZm9jdXMtZ2xvdyk7XG59XG4ucWRuYXByby10b2dnbGUudG9nZ2xlLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLXRvZ2dsZS50b2dnbGUtZGlzYWJsZWQ6bm90KC50b2dnbGUtYWN0aXZlKSB7XG4gIGJhY2tncm91bmQ6ICNmMGYxZjI7XG59XG4ucWRuYXByby10b2dnbGUudG9nZ2xlLWRpc2FibGVkLnRvZ2dsZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZjBmMWYyO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10b2dnbGUge1xuICAtLXRnLWJnOiAjNTY1YjY2O1xuICAtLXRnLWJnLWFjdGl2ZTogIzQ2NTJmMztcbiAgLS10Zy1iZy1ob3ZlcjogIzZiNzI4MDtcbiAgLS10Zy1iZy1hY3RpdmUtaG92ZXI6ICM1YTY2ZmY7XG4gIC0tdGctdGh1bWI6ICNlMWUzZTY7XG4gIC0tdGctZm9jdXMtcmluZzogI2E1YWNmZjtcbiAgLS10Zy1mb2N1cy1nbG93OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjQpO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdG9nZ2xlLnRvZ2dsZS1kaXNhYmxlZDpub3QoLnRvZ2dsZS1hY3RpdmUpIHtcbiAgYmFja2dyb3VuZDogIzQwNDQ0ZDtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRvZ2dsZS50b2dnbGUtZGlzYWJsZWQudG9nZ2xlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICM0MDQ0NGQ7XG59XG4iLCIvLyBTQ1NTIHNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlIChLamVsZCAyMDI2LTA2LTAyKS5cbi8vIENvbXBpbGVkIGJ5IGd1bHAgXCJzYXNzLXYyLWNvbXBvbmVudHNcIiB0byB3ZWIvY29tcG9uZW50cy12Mi90b29sYmFyLWFjdGlvbi1idG4vX2FjdGlvbi1idG4tY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnFkbmFwcm8tYWN0aW9uLWJ0biB7XG4gIC0tYWItYmc6IHRyYW5zcGFyZW50O1xuICAtLWFiLWJnLWhvdmVyOiAjZjBmMWYyO1xuICAtLWFiLWJnLWFjdGl2ZTogI2U2ZTlmZjtcbiAgLS1hYi1iZy1hY3RpdmUtaG92ZXI6ICNkYWRkZjI7XG4gIC0tYWItaWNvbjogIzBiMGIwZDtcbiAgLS1hYi1pY29uLWFjdGl2ZTogIzQwNDk5YTtcbiAgLS1hYi11bmRlcmxpbmU6ICM0MDQ5OWE7XG4gIC0tYWItZm9jdXMtcmluZzogIzBiMGIwZDtcbiAgLS1hYi1mb2N1cy1nbG93OiByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbiAgLS1hYi1kaXNhYmxlZC1iZzogI2YwZjFmMjtcbiAgLS1hYi1kaXNhYmxlZC1pY29uOiAjODk4ZTk5O1xuICAtLWFiLWFjdGl2ZS1saW5lLXdpZHRoOiAxNnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFiLWJnKTtcbiAgY29sb3I6IHZhcigtLWFiLWljb24pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBmbGV4LXNocmluazogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLW91dCwgY29sb3IgMTIwbXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuLnFkbmFwcm8tYWN0aW9uLWJ0biBxZG5hcHJvLWljb24sXG4ucWRuYXByby1hY3Rpb24tYnRuIC5hY3Rpb24tYnRuLWljb24sXG4ucWRuYXByby1hY3Rpb24tYnRuIC5hY3Rpb24tYnRuLWNoZXZyb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5xZG5hcHJvLWFjdGlvbi1idG4gc3ZnIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnFkbmFwcm8tYWN0aW9uLWJ0biAuYWN0aW9uLWJ0bi1pY29uLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuIC5hY3Rpb24tYnRuLWRvdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMnB4O1xuICByaWdodDogLTJweDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogI2ZmM2EzMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEuNXB4IHZhcigtLWFiLWRvdC1yaW5nLCAjZmZmZmZmKTtcbn1cbi5xZG5hcHJvLWFjdGlvbi1idG46OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IHZhcigtLWFiLWFjdGl2ZS1saW5lLXdpZHRoKTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFiLXVuZGVybGluZSk7XG4gIGJvcmRlci1yYWRpdXM6IDFweCAxcHggMCAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGVYKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNjBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS4zNSwgMC42NCwgMSksIG9wYWNpdHkgMTgwbXMgZWFzZS1vdXQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tYWN0aW9uLWJ0bi5hY3Rpb24tYnRuLWFjdGl2ZTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGVYKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuLnFkbmFwcm8tYWN0aW9uLWJ0bltkaXNhYmxlZF0uYWN0aW9uLWJ0bi1hY3RpdmU6OmFmdGVyLCAucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4tZGlzYWJsZWQuYWN0aW9uLWJ0bi1hY3RpdmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWItZGlzYWJsZWQtaWNvbik7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi5xZG5hcHJvLWFjdGlvbi1idG4uYWN0aW9uLWJ0bi1zaGFwZS1zcXVhcmUuYWN0aW9uLWJ0bi1zaXplLWRlZmF1bHQge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtaW4td2lkdGg6IDQwcHg7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4tc2hhcGUtc3F1YXJlLmFjdGlvbi1idG4tc2l6ZS1kZWZhdWx0IHFkbmFwcm8taWNvbixcbi5xZG5hcHJvLWFjdGlvbi1idG4uYWN0aW9uLWJ0bi1zaGFwZS1zcXVhcmUuYWN0aW9uLWJ0bi1zaXplLWRlZmF1bHQgLmFjdGlvbi1idG4taWNvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4tc2hhcGUtc3F1YXJlLmFjdGlvbi1idG4tc2l6ZS1zbWFsbCB7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIG1pbi13aWR0aDogMjhweDtcbiAgLS1hYi1hY3RpdmUtbGluZS13aWR0aDogMTJweDtcbn1cbi5xZG5hcHJvLWFjdGlvbi1idG4uYWN0aW9uLWJ0bi1zaGFwZS1zcXVhcmUuYWN0aW9uLWJ0bi1zaXplLXNtYWxsIHFkbmFwcm8taWNvbixcbi5xZG5hcHJvLWFjdGlvbi1idG4uYWN0aW9uLWJ0bi1zaGFwZS1zcXVhcmUuYWN0aW9uLWJ0bi1zaXplLXNtYWxsIC5hY3Rpb24tYnRuLWljb24ge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuLnFkbmFwcm8tYWN0aW9uLWJ0bi5hY3Rpb24tYnRuLXNoYXBlLXNxdWFyZS5hY3Rpb24tYnRuLXNpemUtc21hbGw6OmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDEuNXB4O1xufVxuLnFkbmFwcm8tYWN0aW9uLWJ0bi5hY3Rpb24tYnRuLXNoYXBlLXRoaW4uYWN0aW9uLWJ0bi1zaXplLWRlZmF1bHQge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtaW4td2lkdGg6IDIwcHg7XG4gIC0tYWItYWN0aXZlLWxpbmUtd2lkdGg6IDEycHg7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4tc2hhcGUtdGhpbi5hY3Rpb24tYnRuLXNpemUtZGVmYXVsdCBxZG5hcHJvLWljb24sXG4ucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4tc2hhcGUtdGhpbi5hY3Rpb24tYnRuLXNpemUtZGVmYXVsdCAuYWN0aW9uLWJ0bi1pY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cbi5xZG5hcHJvLWFjdGlvbi1idG4uYWN0aW9uLWJ0bi1zaGFwZS10aGluLmFjdGlvbi1idG4tc2l6ZS1zbWFsbCB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIG1pbi13aWR0aDogMjBweDtcbiAgLS1hYi1hY3RpdmUtbGluZS13aWR0aDogMTBweDtcbn1cbi5xZG5hcHJvLWFjdGlvbi1idG4uYWN0aW9uLWJ0bi1zaGFwZS10aGluLmFjdGlvbi1idG4tc2l6ZS1zbWFsbCBxZG5hcHJvLWljb24sXG4ucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4tc2hhcGUtdGhpbi5hY3Rpb24tYnRuLXNpemUtc21hbGwgLmFjdGlvbi1idG4taWNvbiB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4tc2hhcGUtdGhpbi5hY3Rpb24tYnRuLXNpemUtc21hbGw6OmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDEuNXB4O1xufVxuLnFkbmFwcm8tYWN0aW9uLWJ0bi5hY3Rpb24tYnRuLWhhcy1jaGV2cm9uLmFjdGlvbi1idG4tc2hhcGUtc3F1YXJlLmFjdGlvbi1idG4tc2l6ZS1kZWZhdWx0IHtcbiAgd2lkdGg6IDYwcHg7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4taGFzLWNoZXZyb24uYWN0aW9uLWJ0bi1zaGFwZS1zcXVhcmUuYWN0aW9uLWJ0bi1zaXplLXNtYWxsIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogNDRweDtcbiAgcGFkZGluZzogMCA0cHg7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuIC5hY3Rpb24tYnRuLWNoZXZyb24ge1xuICBvcGFjaXR5OiAwLjc7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4taGFzLWNoZXZyb24gLmFjdGlvbi1idG4tY2hldnJvbiB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4tdHlwZS10YWJsZSB7XG4gIC0tYWItYmctaG92ZXI6ICNlMWUzZTY7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4tY29sb3ItaGlnaGxpZ2h0IHtcbiAgLS1hYi1pY29uOiAjNDY1MmYzO1xuICAtLWFiLWJnLWFjdGl2ZTogI2U2ZTlmZjtcbiAgLS1hYi1iZy1hY3RpdmUtaG92ZXI6ICNkYWRkZjI7XG4gIC0tYWItaWNvbi1hY3RpdmU6ICM0NjUyZjM7XG4gIC0tYWItdW5kZXJsaW5lOiAjNDY1MmYzO1xuICAtLWFiLWZvY3VzLXJpbmc6ICM0MDQ5OWE7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4tYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWItYmctYWN0aXZlKTtcbiAgY29sb3I6IHZhcigtLWFiLWljb24tYWN0aXZlKTtcbn1cbi5xZG5hcHJvLWFjdGlvbi1idG46aG92ZXI6bm90KFtkaXNhYmxlZF0pOm5vdCguYWN0aW9uLWJ0bi1hY3RpdmUpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWItYmctaG92ZXIpO1xufVxuLnFkbmFwcm8tYWN0aW9uLWJ0bjpob3Zlcjpub3QoW2Rpc2FibGVkXSkuYWN0aW9uLWJ0bi1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hYi1iZy1hY3RpdmUtaG92ZXIpO1xufVxuLnFkbmFwcm8tYWN0aW9uLWJ0bjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC4xNSksIHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xufVxuLnFkbmFwcm8tYWN0aW9uLWJ0bjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuOmZvY3VzLXZpc2libGUsIC5xZG5hcHJvLWFjdGlvbi1idG4uZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYWItZm9jdXMtcmluZyk7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggdmFyKC0tYWItZm9jdXMtZ2xvdyk7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuLmZvcmNlLWhvdmVyOm5vdChbZGlzYWJsZWRdKTpub3QoLmFjdGlvbi1idG4tYWN0aXZlKSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFiLWJnLWhvdmVyKTtcbn1cbi5xZG5hcHJvLWFjdGlvbi1idG4uZm9yY2UtaG92ZXI6bm90KFtkaXNhYmxlZF0pLmFjdGlvbi1idG4tYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWItYmctYWN0aXZlLWhvdmVyKTtcbn1cbi5xZG5hcHJvLWFjdGlvbi1idG4uZm9yY2UtcHJlc3NlZDpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjE1KSwgcmdiYSgwLCAwLCAwLCAwLjE1KSk7XG59XG4ucWRuYXByby1hY3Rpb24tYnRuW2Rpc2FibGVkXSwgLnFkbmFwcm8tYWN0aW9uLWJ0bi5hY3Rpb24tYnRuLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWItZGlzYWJsZWQtYmcpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1hYi1kaXNhYmxlZC1pY29uKSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLWFjdGlvbi1idG5bZGlzYWJsZWRdLmFjdGlvbi1idG4tYWN0aXZlLCAucWRuYXByby1hY3Rpb24tYnRuLmFjdGlvbi1idG4tZGlzYWJsZWQuYWN0aW9uLWJ0bi1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hYi1iZy1hY3RpdmUpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1hYi1kaXNhYmxlZC1pY29uKSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLWFjdGlvbi1idG4ge1xuICAtLWFiLWJnOiB0cmFuc3BhcmVudDtcbiAgLS1hYi1iZy1ob3ZlcjogIzU2NWI2NjtcbiAgLS1hYi1iZy1hY3RpdmU6ICMyYTJkNTI7XG4gIC0tYWItYmctYWN0aXZlLWhvdmVyOiAjM2EzZjZiO1xuICAtLWFiLWljb246ICNlMWUzZTY7XG4gIC0tYWItaWNvbi1hY3RpdmU6ICNhNWFjZmY7XG4gIC0tYWItdW5kZXJsaW5lOiAjYTVhY2ZmO1xuICAtLWFiLWZvY3VzLXJpbmc6ICNlMWUzZTY7XG4gIC0tYWItZm9jdXMtZ2xvdzogcmdiYSg3MCwgODIsIDI0MywgMC40KTtcbiAgLS1hYi1kaXNhYmxlZC1iZzogIzQwNDQ0ZDtcbiAgLS1hYi1kaXNhYmxlZC1pY29uOiAjNmI3MjgwO1xuICAtLWFiLWRvdC1yaW5nOiAjMmUzMDM2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aW9uLWJ0bi5hY3Rpb24tYnRuLXR5cGUtdGFibGUge1xuICAtLWFiLWJnLWhvdmVyOiAjNDA0NDRkO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tYWN0aW9uLWJ0bi5hY3Rpb24tYnRuLWNvbG9yLWhpZ2hsaWdodCB7XG4gIC0tYWItaWNvbjogI2E1YWNmZjtcbiAgLS1hYi1iZy1ob3ZlcjogcmdiYSg3MCwgODIsIDI0MywgMC4xOCk7XG4gIC0tYWItYmctYWN0aXZlOiAjNDY1MmYzO1xuICAtLWFiLWJnLWFjdGl2ZS1ob3ZlcjogIzVhNjZmZjtcbiAgLS1hYi1pY29uLWFjdGl2ZTogI2ZmZmZmZjtcbiAgLS1hYi11bmRlcmxpbmU6ICNmZmZmZmY7XG4gIC0tYWItZm9jdXMtcmluZzogI2E1YWNmZjtcbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUgKEtqZWxkIDIwMjYtMDYtMDIpLlxuLy8gQ29tcGlsZWQgYnkgZ3VscCBcInNhc3MtdjItY29tcG9uZW50c1wiIHRvIHdlYi9jb21wb25lbnRzLXYyL3Rvb2x0aXAvX3Rvb2x0aXAtY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnFkbmFwcm8tdG9vbHRpcCB7XG4gIC0tdHQtYmc6ICNjNGM3Y2M7XG4gIC0tdHQtYm9yZGVyOiAjYzRjN2NjO1xuICAtLXR0LXRleHQ6ICMwYjBiMGQ7XG4gIC0tdHQtdGl0bGU6ICMwYjBiMGQ7XG4gIC0tdHQtcG9pbnRlci1zaXplOiA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAwO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdHQtYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10dC1iZyk7XG4gIGNvbG9yOiB2YXIoLS10dC10ZXh0KTtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMDUpO1xuICBtYXgtd2lkdGg6IDMyMHB4O1xufVxuLnFkbmFwcm8tdG9vbHRpcFtoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5xZG5hcHJvLXRvb2x0aXAudG9vbHRpcC1iaWcge1xuICBwYWRkaW5nOiA0cHggOHB4O1xufVxuLnFkbmFwcm8tdG9vbHRpcC50b29sdGlwLXNtYWxsIHtcbiAgcGFkZGluZzogMCA4cHg7XG59XG4ucWRuYXByby10b29sdGlwIC50b29sdGlwLXRpdGxlIHtcbiAgY29sb3I6IHZhcigtLXR0LXRpdGxlKTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnFkbmFwcm8tdG9vbHRpcCAudG9vbHRpcC1ib2R5IHtcbiAgY29sb3I6IHZhcigtLXR0LXRleHQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucWRuYXByby10b29sdGlwLnRvb2x0aXAtYmlnIC50b29sdGlwLWJvZHkge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuLnFkbmFwcm8tdG9vbHRpcC50b29sdGlwLXNtYWxsIC50b29sdGlwLWJvZHkge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuLnFkbmFwcm8tdG9vbHRpcC50b29sdGlwLWZsb2F0aW5nLnRvb2x0aXAtYmlnIC50b29sdGlwLWJvZHkge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuLnFkbmFwcm8tdG9vbHRpcC50b29sdGlwLXB1cnBsZSB7XG4gIC0tdHQtYmc6ICM0MDQ5OWE7XG4gIC0tdHQtYm9yZGVyOiAjNDA0OTlhO1xuICAtLXR0LXRleHQ6ICNmZmZmZmY7XG4gIC0tdHQtdGl0bGU6ICNmZmZmZmY7XG59XG4ucWRuYXByby10b29sdGlwLnRvb2x0aXAtcHVycGxlLWRhcmsge1xuICAvLyBQdXJwbGUtNjAwIOKAlCB1c2VkIGZvciB0aGUgY29sbGFwc2VkLXJhaWwgZmx5b3V0IGxhYmVscy4gUmVhZHMgc3Ryb25nZXJcbiAgLy8gdGhhbiB0b29sdGlwLXB1cnBsZSAoUHVycGxlLTUwMCksIHNvIHRoZSBmbG9hdGluZyBsYWJlbCBrZWVwcyBjb250cmFzdFxuICAvLyBhZ2FpbnN0IGJvdGggbGlnaHQgYW5kIGRhcmsgc3VyZmFjZXMuXG4gIC0tdHQtYmc6ICMyYTMyNjg7XG4gIC0tdHQtYm9yZGVyOiAjMmEzMjY4O1xuICAtLXR0LXRleHQ6ICNmZmZmZmY7XG4gIC0tdHQtdGl0bGU6ICNmZmZmZmY7XG59XG4ucWRuYXByby10b29sdGlwLnRvb2x0aXAtbGlnaHQtcHVycGxlIHtcbiAgLS10dC1iZzogI2U2ZTlmZjtcbiAgLS10dC1ib3JkZXI6ICNkYWRkZjI7XG4gIC0tdHQtdGV4dDogIzQwNDk5YTtcbiAgLS10dC10aXRsZTogIzQwNDk5YTtcbn1cbi5xZG5hcHJvLXRvb2x0aXAudG9vbHRpcC1uZXV0cmFsLWRhcmsge1xuICAtLXR0LWJnOiAjYzRjN2NjO1xuICAtLXR0LWJvcmRlcjogI2M0YzdjYztcbiAgLS10dC10ZXh0OiAjMGIwYjBkO1xuICAtLXR0LXRpdGxlOiAjMGIwYjBkO1xufVxuLnFkbmFwcm8tdG9vbHRpcC50b29sdGlwLW5ldXRyYWwtbGlnaHQge1xuICAtLXR0LWJnOiAjZTFlM2U2O1xuICAtLXR0LWJvcmRlcjogI2UxZTNlNjtcbiAgLS10dC10ZXh0OiAjNmI3MjgwO1xuICAtLXR0LXRpdGxlOiAjNmI3MjgwO1xufVxuLnFkbmFwcm8tdG9vbHRpcC50b29sdGlwLXBvaW50ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLXR0LXBvaW50ZXItc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tdHQtcG9pbnRlci1zaXplKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdHQtYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10dC1ib3JkZXIpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLXRvb2x0aXAudG9vbHRpcC1wb2ludGVyLnRvb2x0aXAtcG9zaXRpb24tdG9wOjpiZWZvcmUge1xuICBib3R0b206IGNhbGModmFyKC0tdHQtcG9pbnRlci1zaXplKSAqIC0wLjUgLSAxcHgpO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnFkbmFwcm8tdG9vbHRpcC50b29sdGlwLXBvaW50ZXIudG9vbHRpcC1wb3NpdGlvbi1ib3R0b206OmJlZm9yZSB7XG4gIHRvcDogY2FsYyh2YXIoLS10dC1wb2ludGVyLXNpemUpICogLTAuNSAtIDFweCk7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnFkbmFwcm8tdG9vbHRpcC50b29sdGlwLXBvaW50ZXIudG9vbHRpcC1wb3NpdGlvbi1sZWZ0OjpiZWZvcmUge1xuICByaWdodDogY2FsYyh2YXIoLS10dC1wb2ludGVyLXNpemUpICogLTAuNSAtIDFweCk7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5xZG5hcHJvLXRvb2x0aXAudG9vbHRpcC1wb2ludGVyLnRvb2x0aXAtcG9zaXRpb24tcmlnaHQ6OmJlZm9yZSB7XG4gIGxlZnQ6IGNhbGModmFyKC0tdHQtcG9pbnRlci1zaXplKSAqIC0wLjUgLSAxcHgpO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnFkbmFwcm8tdG9vbHRpcCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45Mik7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTIwbXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAxMjBtcyBlYXNlLW91dDtcbn1cbi5xZG5hcHJvLXRvb2x0aXAudG9vbHRpcC12aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5xZG5hcHJvLXRvb2x0aXA6bm90KC50b29sdGlwLW1hbmFnZWQpIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10b29sdGlwIHtcbiAgLS10dC1iZzogIzQwNDQ0ZDtcbiAgLS10dC1ib3JkZXI6ICM0MDQ0NGQ7XG4gIC0tdHQtdGV4dDogI2UxZTNlNjtcbiAgLS10dC10aXRsZTogI2UxZTNlNjtcbiAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRvb2x0aXAudG9vbHRpcC1wdXJwbGUge1xuICAtLXR0LWJnOiAjMzg0MmMyO1xuICAtLXR0LWJvcmRlcjogIzM4NDJjMjtcbiAgLS10dC10ZXh0OiAjZmZmZmZmO1xuICAtLXR0LXRpdGxlOiAjZmZmZmZmO1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdG9vbHRpcC50b29sdGlwLWxpZ2h0LXB1cnBsZSB7XG4gIC0tdHQtYmc6ICMyYTJkNTI7XG4gIC0tdHQtYm9yZGVyOiAjM2EzZjZiO1xuICAtLXR0LXRleHQ6ICM4YjkzZmY7XG4gIC0tdHQtdGl0bGU6ICM4YjkzZmY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10b29sdGlwLnRvb2x0aXAtbmV1dHJhbC1kYXJrIHtcbiAgLS10dC1iZzogIzQwNDQ0ZDtcbiAgLS10dC1ib3JkZXI6ICM0MDQ0NGQ7XG4gIC0tdHQtdGV4dDogI2UxZTNlNjtcbiAgLS10dC10aXRsZTogI2UxZTNlNjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRvb2x0aXAudG9vbHRpcC1uZXV0cmFsLWxpZ2h0IHtcbiAgLS10dC1iZzogIzJlMzAzNjtcbiAgLS10dC1ib3JkZXI6ICMyZTMwMzY7XG4gIC0tdHQtdGV4dDogI2E2YWFiMztcbiAgLS10dC10aXRsZTogI2E2YWFiMztcbn1cbiIsIi8vIF90b3VjaC1idXR0b24uc2Nzc1xuLy9cbi8vIHFkbmFwcm8tdG91Y2gtYnV0dG9uIC0gYmlnLCBmaW5nZXItZnJpZW5kbHkgYWN0aW9uIGJ1dHRvbiBmb3IgdGhlIFBXQS5cbi8vIFR3byB2YXJpYW50cyBvZiB0aGUgc2FtZSBhbmF0b215IChpY29uICsgbGFiZWwgKyBvcHRpb25hbCBjb3VudCBiYWRnZSk6XG4vL1xuLy8gICB2YXJpYW50PVwiZ3JpZFwiIChkZWZhdWx0KSAgc3F1YXJlLWlzaCB0aWxlLCAyIHBlciByb3cgb24gYSBwaG9uZVxuLy8gICB2YXJpYW50PVwicm93XCIgICAgICAgICAgICAgaG9yaXpvbnRhbCBzdHJpcCwgZnVsbCB3aWR0aCAodGhlIFwiSW5zdGVsbGluZ2VuXCIgcm93KVxuLy9cbi8vIE5hbWVkIHRvdWNoLWJ1dHRvbiByYXRoZXIgdGhhbiBob21lLWJ1dHRvbiBvbiBwdXJwb3NlIChLaW0gMjcuMDcuMjAyNik6XG4vLyB0aGUgUFdBIGhvbWUgc2NyZWVuIGlzIHRoZSBmaXJzdCBjb25zdW1lciwgYnV0IG5vdGhpbmcgaW4gaGVyZSBpc1xuLy8gaG9tZS1zcGVjaWZpYyAtIGFueSBQV0Egc2NyZWVuIHRoYXQgbmVlZHMgYSBsYXJnZSB0YXAgdGFyZ2V0IHdpdGggYW5cbi8vIGFjdGl2aXR5IGljb24gY2FuIHVzZSBpdC5cbi8vXG4vLyBHRU9NRVRSWSAoS2ltJ3MgYnJpZWYgMjcuMDcuMjAyNiwgbWVhc3VyZWQgaW4gRmlnbWEgV0lUSE9VVCB0aGUgYm9yZGVyKTpcbi8vICAgZ3JpZCAgIGljb24gNDh4NDggICBtaW4taGVpZ2h0IDEwNHB4ICAgcGFkZGluZyAxMnB4ICAgZ2FwIDhweCAgICBsYWJlbCAxNnB4LzUwMFxuLy8gICByb3cgICAgaWNvbiA0Mng0MiAgIG1pbi1oZWlnaHQgIDU4cHggICBwYWRkaW5nICA4cHggICBnYXAgMjRweCAgIGxhYmVsIDE2cHgvNTAwXG4vL1xuLy8gVGhlIGJyaWVmZWQgaGVpZ2h0cyBhcmUgY29udGVudC1ib3ggbnVtYmVyczsgdGhpcyBjb21wb25lbnQgaXMgYm9yZGVyLWJveFxuLy8gKGhvdXNlIGJhc2VsaW5lKSBhbmQgY2FycmllcyBhIDFweCBib3JkZXIsIHNvIHRoZSByZWFsIHJlbmRlcmVkIGhlaWdodHMgbGFuZFxuLy8gb24gMTA2cHggYW5kIDYwcHguIEtpbTogXCIycHggaG9vZ3RlIHZlcnNjaGlsIG1hYWt0IG1lIG5pZXQgem8gdmVlbCB1aXRcIlxuLy8gKDI3LjA3LjIwMjYpLCBzbyBwYWRkaW5nLCBpY29uIHNpemUgYW5kIGdhcCBhcmUga2VwdCBFWEFDVExZIGFzIGJyaWVmZWQgYW5kXG4vLyB0aGUgaGVpZ2h0IGlzIHRoZSB2YWx1ZSB0aGF0IGdpdmVzLiBtaW4taGVpZ2h0IChub3QgaGVpZ2h0KSBzbyBhIGxhYmVsIHRoYXRcbi8vIHdyYXBzIGluIGEgbG9uZyB0cmFuc2xhdGlvbiBncm93cyB0aGUgYnV0dG9uIGluc3RlYWQgb2Ygb3ZlcmZsb3dpbmcgaXQuXG4vL1xuLy8gTGFiZWwgbGluZS1oZWlnaHQgaXMgMjRweCAtIHRoZSBzYW1lIDE2cHgvMjRweCBwYWlyIHRoZSBidXR0b24gY29tcG9uZW50XG4vLyB1c2VzIGZvciBpdHMgMTZweCB0eXBlLCByYXRoZXIgdGhhbiBzcXVlZXppbmcgdG8gMjBweCBqdXN0IHRvIGtlZXAgdGhlXG4vLyBoZWlnaHQgYXQgMTA0LlxuLy9cbi8vIFNUQVRFIENPTE9VUlMgZm9sbG93IHRoZSBidXR0b24gY29tcG9uZW50J3MgcnVsZTogZWFjaCBzdGF0ZSBpcyBvbmUgc3RlcFxuLy8gZGFya2VyIG9uIHRoZSBncmV5IHJhbXAgdGhhbiB0aGUgcHJldmlvdXMgb25lIChzZWUgX2J1dHRvbi5zY3NzXG4vLyAuYnV0dG9uLXN1YnRsZTogI2YwZjFmMiBob3ZlciAtPiAjZTRlNmU4IGFjdGl2ZSkuIEhlcmUsIHBlciBLaW0sIHRoZSBCT1JERVJcbi8vIGRhcmtlbnMgYWxvbmcgd2l0aCB0aGUgc3VyZmFjZSBzbyB0aGUgb3V0bGluZSBuZXZlciBkaXNhcHBlYXJzIGludG8gdGhlXG4vLyBob3ZlciBmaWxsOlxuLy8gICBpZGxlICAgICBiZyB3aGl0ZSAgICAgICAgIGJvcmRlciBncmV5LTEwMCAoI2U3ZTllYylcbi8vICAgaG92ZXIgICAgYmcgZ3JleS0xMDAgICAgICBib3JkZXIgZ3JleS0yMDAgKCNkMWQ1ZGIpXG4vLyAgIHByZXNzZWQgIGJnIGdyZXktMjAwICAgICAgYm9yZGVyIGdyZXktMzAwICgjYzRjN2NjKVxuLy8gTm8gc2NhbGUvdHJhbnNmb3JtIG9uIHByZXNzIC0gdGhlIGJ1dHRvbiBjb21wb25lbnQgcHJlc3NlcyBieSBjb2xvdXIgb25seS5cbi8vXG4vLyBGT0NVUyBpcyB0aGUgYnV0dG9uIGNvbXBvbmVudCdzIHJpbmcgdmVyYmF0aW06IDJweCAtLWJ0bi1mb2N1cy1yaW5nIGF0XG4vLyAtMnB4IG9mZnNldCBwbHVzIGEgNHB4IC0tYnRuLWZvY3VzLWdsb3cgaGFsby5cbi8vXG4vLyBESVNBQkxFRCBpcyB0aGUgYnV0dG9uIGNvbXBvbmVudCdzIGRpc2FibGVkIHBhbGV0dGUgdmVyYmF0aW0gKGJhY2tncm91bmRcbi8vICNmMGYxZjIsIGNvbG91ciAjODk4ZTk5LCB0cmFuc3BhcmVudCBib3JkZXIsIG5vdC1hbGxvd2VkLCBwb2ludGVyLWV2ZW50c1xuLy8gbm9uZSksIHBsdXMgS2ltJ3MgYWRkaXRpb246IHRoZSBpY29uIGRyb3BzIHRvIDMwJSBvcGFjaXR5LlxuLy9cbi8vIFNpdHMgb24gYSBsaWdodCBncmV5IHBhZ2UgKC0tYy1iZy1wYWdlKSwgd2hpY2ggaXMgd2h5IGlkbGUgaXMgcHVyZSB3aGl0ZVxuLy8gd2l0aCBhIGhhaXJsaW5lIGJvcmRlciByYXRoZXIgdGhhbiBhIHNoYWRvdy5cblxuLnFkbmFwcm8tdG91Y2gtYnV0dG9uIHtcbiAgICAtLXF0Yi1iZzogdmFyKC0tYy1iZy1jYXJkLCAjZmZmZmZmKTtcbiAgICAtLXF0Yi1iZy1ob3ZlcjogdmFyKC0tYy1ncmV5LTEwMCwgI2U3ZTllYyk7XG4gICAgLS1xdGItYmctcHJlc3NlZDogdmFyKC0tYy1ncmV5LTIwMCwgI2QxZDVkYik7XG4gICAgLS1xdGItYm9yZGVyOiB2YXIoLS1jLWdyZXktMTAwLCAjZTdlOWVjKTtcbiAgICAtLXF0Yi1ib3JkZXItaG92ZXI6IHZhcigtLWMtZ3JleS0yMDAsICNkMWQ1ZGIpO1xuICAgIC0tcXRiLWJvcmRlci1wcmVzc2VkOiB2YXIoLS1jLWdyZXktMzAwLCAjYzRjN2NjKTtcbiAgICAtLXF0Yi1sYWJlbC1jb2xvcjogdmFyKC0tYy10ZXh0LWJvZHksICMwYjBiMGQpO1xuICAgIC0tcXRiLWRpc2FibGVkLWJnOiAjZjBmMWYyO1xuICAgIC0tcXRiLWRpc2FibGVkLWNvbG9yOiAjODk4ZTk5O1xuICAgIC0tYnRuLWZvY3VzLXJpbmc6ICM0MDQ5OWE7XG4gICAgLS1idG4tZm9jdXMtZ2xvdzogcmdiYSg3MCwgODIsIDI0MywgMC4yNSk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXF0Yi1iZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcXRiLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0zLCAxMnB4KTtcbiAgICBjb2xvcjogdmFyKC0tcXRiLWxhYmVsLWNvbG9yKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZmYsIFwiSW50ZXJcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0LCBib3JkZXItY29sb3IgMTIwbXMgZWFzZS1vdXQsIGNvbG9yIDEyMG1zIGVhc2Utb3V0O1xufVxuXG4vLyAtLS0gTGFiZWwgKyBpY29uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5xZG5hcHJvLXRvdWNoLWJ1dHRvbiAucXRiLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAvLyBBIGxhYmVsIGxvbmdlciB0aGFuIHRoZSBidXR0b24gY2xhbXBzIGluc3RlYWQgb2YgcHVzaGluZyB0aGUgYmFkZ2Ugb3V0LlxuICAgIC8vIEdyaWQgY2xhbXBzIHRvIDIgbGluZXMgKHRoZSB0aWxlIGdyb3dzKSwgcm93IGNsYW1wcyB0byAxIC0gYSByb3cgaXMgYVxuICAgIC8vIGZpeGVkLWhlaWdodCBzdHJpcCBuZXh0IHRvIGEgdHJhaWxpbmcgYmFkZ2UuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLy8gRmxleCwgbm90IGJsb2NrOiB0aGUgaWNvbiBjaGlsZCBpcyBpbmxpbmUtYmxvY2ssIHNvIGEgYmxvY2sgd3JhcHBlciB3b3VsZFxuLy8gYWRkIHRoZSBsaW5lLWJveCBzdHJ1dCBvbiB0b3Agb2YgdGhlIDQ4LzQycHggaWNvbiBhbmQgcXVpZXRseSBtYWtlIHRoZVxuLy8gYnV0dG9uIGEgZmV3IHBpeGVscyB0YWxsZXIgdGhhbiB0aGUgZ2VvbWV0cnkgdGFibGUgc2F5cy5cbi5xZG5hcHJvLXRvdWNoLWJ1dHRvbiAucXRiLWljb24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGVhc2Utb3V0O1xufVxuXG4vLyBTYW1lIHN0cnV0IHJlYXNvbmluZyBhcyAucXRiLWljb24gLSB0aGUgYmFkZ2UgaXMgaW5saW5lLWJsb2NrLlxuLnFkbmFwcm8tdG91Y2gtYnV0dG9uIC5xdGItYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLy8gLS0tIFZhcmlhbnQ6IGdyaWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucWRuYXByby10b3VjaC1idXR0b24ucXRiLXZhcmlhbnQtZ3JpZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIG1pbi1oZWlnaHQ6IDEwNHB4O1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucWRuYXByby10b3VjaC1idXR0b24ucXRiLXZhcmlhbnQtZ3JpZCAucXRiLWxhYmVsIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICBsaW5lLWNsYW1wOiAyO1xufVxuXG4vLyBUb3AtcmlnaHQgY29ybmVyIG9mIHRoZSB0aWxlLCBpbnNpZGUgdGhlIHBhZGRpbmcgYm94IChLaW0gMjcuMDcuMjAyNjpcbi8vIFwicmVjaHRlcmJvdmVuaG9la1wiKS4gTm90IG92ZXJoYW5naW5nIC0gdGhlIGJhZGdlIGJlbG9uZ3MgdG8gdGhlIHRpbGUgaGVyZSxcbi8vIHVubGlrZSBxZG5hcHJvLWdyaWQtdGlsZSB3aGVyZSBpdCBzdHJhZGRsZXMgdGhlIG91dGVyIGNvcm5lci5cbi5xZG5hcHJvLXRvdWNoLWJ1dHRvbi5xdGItdmFyaWFudC1ncmlkIC5xdGItYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDhweDtcbiAgICByaWdodDogOHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vLyAtLS0gVmFyaWFudDogcm93IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5xZG5hcHJvLXRvdWNoLWJ1dHRvbi5xdGItdmFyaWFudC1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDI0cHg7XG4gICAgbWluLWhlaWdodDogNThweDtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnFkbmFwcm8tdG91Y2gtYnV0dG9uLnF0Yi12YXJpYW50LXJvdyAucXRiLWxhYmVsIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLy8gRW5kIG9mIHRoZSByb3csIHZlcnRpY2FsbHkgY2VudHJlZCAoS2ltIDI3LjA3LjIwMjY6IFwibGlnZ2VuZGUgdmFyaWFudCBhYW5cbi8vIGhldCBlaW5kZVwiKS4gSW4gZmxvdyByYXRoZXIgdGhhbiBhYnNvbHV0ZSwgc28gYSBsb25nIGxhYmVsIGVsbGlwc2l6ZXNcbi8vIGFnYWluc3QgaXQgaW5zdGVhZCBvZiBydW5uaW5nIHVuZGVybmVhdGggaXQuXG4ucWRuYXByby10b3VjaC1idXR0b24ucXRiLXZhcmlhbnQtcm93IC5xdGItYmFkZ2Uge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIC8vIFRoZSAyNHB4IGljb24tdG8tbGFiZWwgZ2FwIHdvdWxkIHJlYWQgYXMgYSBodWdlIGhvbGUgaW4gZnJvbnQgb2YgdGhlXG4gICAgLy8gYmFkZ2U7IHRoZSBiYWRnZSBrZWVwcyB0aGUgcm93J3Mgb3duIDhweCBwYWRkaW5nIHJoeXRobSBpbnN0ZWFkLlxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vLyAtLS0gU3RhdGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5xZG5hcHJvLXRvdWNoLWJ1dHRvbjpob3Zlcjpub3QoLnF0Yi1kaXNhYmxlZCksXG4ucWRuYXByby10b3VjaC1idXR0b24uZm9yY2UtaG92ZXI6bm90KC5xdGItZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1xdGItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXRiLWJvcmRlci1ob3Zlcik7XG59XG5cbi5xZG5hcHJvLXRvdWNoLWJ1dHRvbi5pcy1wcmVzc2VkOm5vdCgucXRiLWRpc2FibGVkKSxcbi5xZG5hcHJvLXRvdWNoLWJ1dHRvbi5mb3JjZS1wcmVzc2VkOm5vdCgucXRiLWRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcXRiLWJnLXByZXNzZWQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXRiLWJvcmRlci1wcmVzc2VkKTtcbn1cblxuLnFkbmFwcm8tdG91Y2gtYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4ucWRuYXByby10b3VjaC1idXR0b246Zm9jdXMtdmlzaWJsZSxcbi5xZG5hcHJvLXRvdWNoLWJ1dHRvbi5mb3JjZS1mb2N1cyB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWJ0bi1mb2N1cy1yaW5nKTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggdmFyKC0tYnRuLWZvY3VzLWdsb3cpO1xufVxuXG4ucWRuYXByby10b3VjaC1idXR0b24ucXRiLWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1xdGItZGlzYWJsZWQtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1xdGItZGlzYWJsZWQtY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnFkbmFwcm8tdG91Y2gtYnV0dG9uLnF0Yi1kaXNhYmxlZDpmb2N1cy12aXNpYmxlLFxuLnFkbmFwcm8tdG91Y2gtYnV0dG9uLnF0Yi1kaXNhYmxlZC5mb3JjZS1mb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vLyBLaW0ncyBvbmUgYWRkaXRpb24gb24gdG9wIG9mIHRoZSBidXR0b24gY29tcG9uZW50J3MgZGlzYWJsZWQgcGFsZXR0ZS5cbi5xZG5hcHJvLXRvdWNoLWJ1dHRvbi5xdGItZGlzYWJsZWQgLnF0Yi1pY29uIHtcbiAgICBvcGFjaXR5OiAwLjM7XG59XG5cbi8vIC0tLSBEYXJrIHRoZW1lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTYW1lIHJhbXAsIG9uZSBzdGVwIHBlciBzdGF0ZSwgb24gdGhlIGRhcmsgZ3JleXMgdGhlIG90aGVyIHYyIGNvbXBvbmVudHMgdXNlLlxuXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tdG91Y2gtYnV0dG9uIHtcbiAgICAtLXF0Yi1iZzogdmFyKC0tYy1iZy1jYXJkLCAjMmEyZDM0KTtcbiAgICAtLXF0Yi1iZy1ob3ZlcjogIzM0Mzg0MTtcbiAgICAtLXF0Yi1iZy1wcmVzc2VkOiAjM2U0MzRkO1xuICAgIC0tcXRiLWJvcmRlcjogIzQwNDQ0ZDtcbiAgICAtLXF0Yi1ib3JkZXItaG92ZXI6ICM0YjUwNWE7XG4gICAgLS1xdGItYm9yZGVyLXByZXNzZWQ6ICM1NzVkNjg7XG4gICAgLS1xdGItbGFiZWwtY29sb3I6IHZhcigtLWMtdGV4dC1ib2R5LCAjZjBmMWYyKTtcbiAgICAtLXF0Yi1kaXNhYmxlZC1iZzogIzQwNDQ0ZDtcbiAgICAtLXF0Yi1kaXNhYmxlZC1jb2xvcjogIzZiNzI4MDtcbn1cblxuLy8gLS0tIFJlZHVjZWQgbW90aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAucWRuYXByby10b3VjaC1idXR0b24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIHFkbmFwcm8tdHJhbnNsYXRpb24tcGFuZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEEgcmV1c2FibGUsIGRhdGEtc291cmNlLWFnbm9zdGljIHNsaWRlLWluIHRyYW5zbGF0aW9uIGVkaXRvci5cbi8vICBWaXN1YWxseSBtaXJyb3JzIHRoZSBmbG93IGVkaXRvcidzIHRyYW5zbGF0aW9uIHBhbmVsIGJ1dCBpc1xuLy8gIGZ1bGx5IGluZGVwZW5kZW50IG9mIGl0OiBpdHMgb3duIGBxdHAtYCBjbGFzcyBuYW1lc3BhY2UsIG5vXG4vLyAgY291cGxpbmcgdG8gX2Zsb3dlZGl0b3Iuc2Nzcy4gQm90aCB0aGUgdGFza2xpc3QgcGFnZSBhbmQgKGxhdGVyKVxuLy8gIHRoZSBmbG93IGVkaXRvciBjYW4gcnVuIG9uIHRoaXMgc2FtZSBjb21wb25lbnQuIFtLaW0gMjAyNi0wNi0xNl1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5xZG5hcHJvLXRyYW5zbGF0aW9uLXBhbmVsIHtcbiAgICBkaXNwbGF5OiBjb250ZW50czsgLy8gaG9zdCBhZGRzIG5vIGxheW91dCBib3g7IHRoZSAucXRwIHBhbmVsIGlzIGZpeGVkLXBvc2l0aW9uZWRcbn1cblxuLy8gV2hpbGUgdGhlIHBhbmVsIGlzIG9wZW4gdGhlIHBhZ2UgaXMgaW4gXCJ0cmFuc2xhdGUgbW9kZVwiOiB0aGUgdGFza2xpc3QgY2hyb21lXG4vLyBiZWhpbmQgaXQgaXMgbm9uLWludGVyYWN0aXZlIChubyBzdGF0LWNhcmQgcGlja2Vycywgbm8gaW5zZXJ0IFwiK1wiIG1lbnUsIG5vXG4vLyBtYW5hZ2VycyBwaWNrZXIpLiBBY3Rpdml0eSByb3dzLCB0aGUgY2hlY2staW4gYW5kIHRpdGxlcyBzdGF5IGNsaWNrYWJsZSDigJRcbi8vIHRoZXkgZm9jdXMgdGhlIG1hdGNoaW5nIHRyYW5zbGF0aW9uIGNhcmQgaW5zdGVhZC4gW0tpbSAyMDI2LTA2LTE2XVxuYm9keS5xdHAtb3BlbiB7XG4gICAgLnN0YXRzLWJhcixcbiAgICAubWdyLXN0YWNrLXRyaWdnZXIsXG4gICAgLmluc2VydC16b25lIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuXG4ucXRwIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNDIwcHg7XG4gICAgbWF4LXdpZHRoOiA5MnZ3O1xuICAgIC8vIEZyb3N0ZWQgd2hpdGUgc3VyZmFjZSAod2FzIGEgbGF2ZW5kZXIgdGludCkuIFRoZSBwdXJwbGUgaGVhZGVyIGJhciBrZWVwc1xuICAgIC8vIGl0cyBicmFuZCBjb2xvdXIgb24gdG9wIG9mIHRoaXMuIFtLaW0gMjAyNi0wNi0xNl1cbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyNHB4KSBzYXR1cmF0ZSgxNjAlKTtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigyNHB4KSBzYXR1cmF0ZSgxNjAlKTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHotaW5kZXg6IDEwNTA7XG4gICAgYm94LXNoYWRvdzogLThweCAwIDMycHggcmdiYSg0MCwgNDYsIDEwMCwgMC4xOCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgc2Fucy1zZXJpZjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLy8gU2xpZGUtaW46IHN0YXJ0cyBvZmYtc2NyZWVuLCBKUyBhZGRzIC5xdHAtLXZpc2libGUgb24gdGhlIG5leHQgZnJhbWUuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXG4gICAgJi0tdmlzaWJsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG5cbiAgICAqIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxufVxuXG4vLyDilIDilIAgSGVhZGVyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnF0cC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMXB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSg2NSwgNzMsIDE1NCwgMC41NSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE0cHgpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE0cHgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGdhcDogOXB4O1xufVxuLy8gUHVzaGVzIHRoZSBhdXRvLXRyYW5zbGF0ZSBidXR0b24gKyBjbG9zZSB0byB0aGUgcmlnaHQgKHRoZSBcIlZlcnRhbGluZ2VuXCJcbi8vIHRpdGxlIHdhcyByZW1vdmVkKS5cbi5xdHAtaGVhZGVyLXNwYWNlciB7XG4gICAgZmxleDogMTtcbn1cbi8vIENsb3NlID0gcWRuYXByby1idXR0b24gKGdsYXNzLCBpY29uLW9ubHkpOyBubyBjdXN0b20gc3R5bGluZyBuZWVkZWQuXG5cbi8vIOKUgOKUgCBBdXRvLXRyYW5zbGF0ZSBidXR0b24gc2hpbW1lciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEEgc3VidGxlIGxpZ2h0IHN0cmVhayBzd2VlcHMgYWNyb3NzIHRoZSBidXR0b24gcGVyaW9kaWNhbGx5IHRvIGRyYXcgdGhlIGV5ZVxuLy8gdG8gdGhlIFwibWFnaWNcIiBhY3Rpb24sIHRoZW4gcmVzdHMuIFtLaW0gMjAyNi0wNi0xNl1cbi5xdHAtYXQtYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiA1NSU7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsXG4gICAgICAgICAgICB0cmFuc3BhcmVudCAwJSxcbiAgICAgICAgICAgIHJnYmEoNjUsIDczLCAxNTQsIDAuMTMpIDUwJSxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMCUpO1xuICAgICAgICBhbmltYXRpb246IHF0cC1zaGltbWVyIDMuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgcXRwLXNoaW1tZXIge1xuICAgIDAlICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMCUpOyB9XG4gICAgMzAlICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMjAlKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjIwJSk7IH1cbn1cblxuLy8g4pSA4pSAIEF1dG8tdHJhbnNsYXRlIGJ1dHRvbiAoaW4gaGVhZGVyKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEl0IGlzIGEgPHFkbmFwcm8tYnV0dG9uIHR5cGU9XCJzZWNvbmRhcnktd2hpdGVcIj47IHRoZSBjb21wb25lbnQgb3ducyBpdHMgbG9vay5cbi8vIFdlIG9ubHkga2VlcCB0aGUgaWNvbiArIGxhYmVsIGdhcCBhbmQgdGhlIHNwaW4gY3VlIG9uIHRoZSBpbm5lciBpY29uLlxuLnF0cC1hdC1pY29uIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IC8vIHNwYWNpbmcgY29tZXMgZnJvbSBxZG5hcHJvLWJ1dHRvbidzIG93biBnYXBcbi5xdHAtYXQtaWNvbi0tc3BpbiB7IGFuaW1hdGlvbjogcXRwLXJvdGF0ZSAwLjhzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHF0cC1yb3RhdGUge1xuICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIHRvICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi8vIOKUgOKUgCBBdXRvLXRyYW5zbGF0ZSBiYXIgKGNvbmZpcm0gLyByZXN1bHQgc3RyaXApIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnF0cC1hdC1iYXIge1xuICAgIHBhZGRpbmc6IDlweCAxNHB4O1xuICAgIC8vIFNhbWUgZnJvc3RlZCBzdXJmYWNlIGFzIHRoZSBwYW5lbCAobm8gcHVycGxlIHRpbnQpOyBqdXN0IGEgZGl2aWRlciBsaW5lLlxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIxNiwgMjE5LCAyMzcsIDAuNjApO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzNmNDk5YTtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgICYtLWRvbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxNDAsIDkwLCAwLjEwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgzNCwgMTQwLCA5MCwgMC4xOCk7XG4gICAgICAgIGNvbG9yOiAjMWE3YTUwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDZweDtcbiAgICB9XG4gICAgJi0tZXJyb3Ige1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE5NiwgNTQsIDQyLCAwLjEwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgxOTYsIDU0LCA0MiwgMC4xOCk7XG4gICAgICAgIGNvbG9yOiAjYzQzNjJhO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDZweDtcbiAgICB9XG59XG4ucXRwLWF0LWJhci1xdWVzdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4vLyBEaXJlY3Rpb24gcm93OiBcIk5MIOKGkiBFTlwiIHBsdXMgdGhlIHN3YXAgYnV0dG9uLiBSZWFkcyBsZWZ0IHRvIHJpZ2h0IGFzIHdoYXRcbi8vIHRoZSBydW4gd2lsbCBkbyDigJQgbGVmdCBpcyByZWFkLCByaWdodCBpcyB3cml0dGVuLlxuLnF0cC1hdC1kaXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG59XG4ucXRwLWF0LWRpci1sYW5nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNjUsIDczLCAxNTQsIDAuMTApO1xuICAgIGNvbG9yOiAjM2Y0OTlhO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuLnF0cC1hdC1kaXItYXJyb3cge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiByZ2JhKDYzLCA3MywgMTU0LCAwLjU1KTtcbn1cbi5xdHAtYXQtYmFyLWJ0bnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA2cHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4vLyBUaGUgY29uZmlybSBidXR0b25zIGFyZSBxZG5hcHJvLWJ1dHRvbiBjb21wb25lbnRzIChwcmltYXJ5LXB1cnBsZSAvXG4vLyBzZWNvbmRhcnktcHVycGxlIC8gc3VidGxlKSDigJQgdGhleSBicmluZyB0aGVpciBvd24gc3R5bGluZy5cblxuLy8g4pSA4pSAIExhbmd1YWdlIHBpY2tlciAocWRuYXByby1zZWdtZW50LCBzbGlkaW5nIHBpbGwpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnF0cC1sYW5nLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiA4cHggMTRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTApO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIxNiwgMjE5LCAyMzcsIDAuNzApO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLy8gQW1iZXIgXCJoYXMgbWlzc2luZyB0cmFuc2xhdGlvbnNcIiBkb3Qgb24gYSBsYW5ndWFnZSBwaWxsIChsaWtlIGEgZG90IGJhZGdlKS5cbi8vIExldHMgeW91IHNwb3Qgd2hpY2ggb2YgbWFueSBsYW5ndWFnZXMgc3RpbGwgbmVlZCB3b3JrIHdpdGhvdXQgc3dpdGNoaW5nLlxuLnF0cC1sYW5nLXNlZyAucWRuYXByby1zZWdtZW50LWl0ZW1bZGF0YS1taXNzaW5nXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgcmlnaHQ6IDZweDtcbiAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4YTMyMDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmY7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cblxuLy8g4pSA4pSAIENvbHVtbiBoZWFkZXJzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnF0cC1jb2wtaGVhZGVycyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiYSgyMTYsIDIxOSwgMjM3LCAwLjcwKTtcbn1cbi5xdHAtY29sLWgge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNDE0OTlhO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkOGRiZWQ7XG4gICAgfVxufVxuLnF0cC1taXNzaW5nLXBpbGwge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmRmMGRjO1xuICAgIGNvbG9yOiAjYjQ3YTE0O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAycHggNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOGEzMjA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLy8g4pSA4pSAIENhcmQgbGlzdCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5xdHAtYm9keSB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDdweDtcbiAgICAvLyBTY3JvbGwsIGJ1dCBoaWRlIHRoZSBiYXIgKGNvbnRlbnQgc3RheXMgc2Nyb2xsYWJsZSB2aWEgd2hlZWwvdHJhY2twYWQpLlxuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgICAgICAgICAgICAvLyBGaXJlZm94XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogMDsgaGVpZ2h0OiAwOyB9XG59XG4ucXRwLWVtcHR5IHtcbiAgICBwYWRkaW5nOiAyOHB4IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjODg5MGI4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnF0cC1jYXJkIHtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDNlYTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgLy8gVGhlIGNhcmQncyBjb2xvdXIgc2lnbmFsIGxpdmVzIGluIHRoZSBiYWRnZSBub3csIG5vdCBhIGxlZnQgYWNjZW50IHN0cmlwZS5cbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDEyMG1zO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSg2NSwgNzMsIDE1NCwgMC4xNCk7XG4gICAgfVxuICAgIC8vIFNlbGVjdGVkID0gdGhlIFNBTUUgZm9jdXMgcmluZyBhcyB0aGUgYWN0aXZpdHkgcm93IChxdHAtcm93LWZvY3VzZWQpLlxuICAgIC8vIExpc3RlZCB3aXRoIDpob3ZlciB0b28gc28gaG92ZXJpbmcgYSBzZWxlY3RlZCBjYXJkIG5ldmVyIGRyb3BzIHRoZSByaW5nLlxuICAgICYtLXNlbGVjdGVkLFxuICAgICYtLXNlbGVjdGVkOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM2Yjc0ZDYsIDAgNHB4IDE0cHggcmdiYSg2NSwgNzMsIDE1NCwgMC4xOCk7XG4gICAgfVxuICAgIC8vIE9uZS1zaG90IGhpZ2hsaWdodCB3aGVuIGEgY2FyZCBpcyBzcG90bGlnaHRlZCAoZmxvdyBlZGl0b3IgY2FudmFzIHN5bmMpLlxuICAgICYtLXNwb3RsaWdodCB7XG4gICAgICAgIGFuaW1hdGlvbjogcXRwLXNwb3RsaWdodCA5MDBtcyBlYXNlLW91dCBmb3J3YXJkcztcbiAgICB9XG4gICAgLy8gQXJjaGl2ZWQgYWN0aXZpdHk6IG11dGVkIGdyZXkgY2FyZCBzbyBpdCByZWFkcyBhcyBcInBhcmtlZFwiLlxuICAgICYtLWFyY2hpdmVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDJkNWU0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjZmN2ZhO1xuICAgICAgICAucXRwLW1ldGEgeyBiYWNrZ3JvdW5kOiByZ2JhKDEyMCwgMTI0LCAxNTAsIDAuMDgpOyBib3JkZXItYm90dG9tLWNvbG9yOiAjZTJlNGVlOyB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHF0cC1zcG90bGlnaHQge1xuICAgIDAlICAgeyBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg2NSwgNzMsIDE1NCwgMC41NSk7IH1cbiAgICA2MCUgIHsgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNjUsIDczLCAxNTQsIDAuMjUpOyB9XG4gICAgMTAwJSB7IGJveC1zaGFkb3c6IG5vbmU7IH1cbn1cblxuLy8g4pSA4pSAIEJhZGdlIChmbG93IGVkaXRvcikgdmFyaWFudCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFRoZSBub2RlLXR5cGUgYmFkZ2UgKHZyYWFnc29vcnQpIGNhcnJpZXMgdGhlIG5vZGUgY29sb3VyOyB0aGUgYmFkZ2UgaXMgYVxuLy8gcm91bmRlZCBwaWxsIHdpdGggYSBsaXR0bGUgYnJlYXRoaW5nIHJvb20gZnJvbSB0aGUgY2FyZCBlZGdlLiAoTm8gbGVmdCBjb2xvdXJcbi8vIHN0cmlwIOKAlCByZW1vdmVkIGF0IEtpbSdzIHJlcXVlc3QgMTguMDYuMjAyNi4pIFRoZSBpY29uICh0YXNrbGlzdCkgdmFyaWFudCBpc1xuLy8gdW5hZmZlY3RlZC5cbi5xdHAtY2FyZC0tYmFkZ2Uge1xuICAgIC5xdHAtbWV0YSAgeyBwYWRkaW5nLWxlZnQ6IDEycHg7IH1cbiAgICAucXRwLWJhZGdlIHsgYm9yZGVyLXJhZGl1czogNnB4OyB9XG59XG5cbi8vIOKUgOKUgCBBcmNoaXZlZCBzZWN0aW9uIGRpdmlkZXIgKGtleWxpbmUgKyBsYWJlbCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4ucXRwLXNlY3Rpb24tZGl2aWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbjogMTZweCAycHggOHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDA0OTlhO1xuICAgIH1cbn1cbi5xdHAtc2VjdGlvbi1sYWJlbCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiAjNDA0OTlhO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cbi5xdHAtc2VjdGlvbi1pY29uIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8vIENhcmQgaGVhZGVyOiB0eXBlIGJhZGdlICsgaWQgKyBzYXZlIGRvdFxuLnF0cC1tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA3cHg7XG4gICAgLy8gTm8gbGVmdCBwYWRkaW5nOiB0aGUgYmFkZ2Ugc2l0cyBmbHVzaCBhZ2FpbnN0IHRoZSBjYXJkJ3MgbGVmdCBlZGdlIHNvIGl0c1xuICAgIC8vIHJvdW5kZWQtbGVmdCAvIHN0cmFpZ2h0LXJpZ2h0IHJlYWRzIGFzIGEgY29ybmVyIHRhYi5cbiAgICBwYWRkaW5nOiA2cHggMTBweCA2cHggMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCA3MywgMTU0LCAwLjA2KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZTZmNDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucXRwLWJhZGdlIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZzogM3B4IDhweDtcbiAgICAvLyBMZWZ0IHJvdW5kZWQsIHJpZ2h0IHN0cmFpZ2h0LlxuICAgIGJvcmRlci1yYWRpdXM6IDZweCAwIDAgNnB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5xdHAtbm9kZS1pZCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjOTA5OWMwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8vIOKUgOKUgCBJY29uIHZhcmlhbnQgaGVhZGVyICh0YXNrbGlzdCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBBY3Rpdml0eSBpY29uICsgbmFtZSB0aXRsZSBpbnN0ZWFkIG9mIHRoZSBjb2xvdXJlZCBiYWRnZS5cbi5xdHAtbWV0YS0taWNvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyAvLyB0aGUgYmFkZ2UtZmx1c2ggMCBwYWRkaW5nIGRvZXNuJ3QgYXBwbHkgaGVyZVxuICAgIGdhcDogOHB4O1xufVxuLnF0cC1hY3Rpdml0eS1pY29uIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cbi5xdHAtaWNvbi1wbGFjZWhvbGRlciB7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZTRlNmY0O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuLnF0cC10aXRsZSB7XG4gICAgZmxleDogMCAxIGF1dG87ICAgLy8gdGFrZSBjb250ZW50IHdpZHRoLCBzaHJpbmsrZWxsaXBzaXplIGlmIGxvbmcgKGJhZGdlIHNpdHMgcmlnaHQgYWZ0ZXIpXG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMmEzMTcwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi8vIFNtYWxsIHN0YXR1cyB0YWdzIGFmdGVyIHRoZSBuYW1lOiBzdWJmbG93IC8gdGl0bGUgLyBhcmNoaXZlZC5cbi5xdHAtdGFnIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAycHggN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8vIHN1YmZsb3cgKyB0aXRsZSB1c2UgYSBzb2Z0IHB1cnBsZTsgYXJjaGl2ZWQgaXMgZ3JleS5cbiAgICBjb2xvcjogIzQwNDk5YTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCA3MywgMTU0LCAwLjEyKTtcblxuICAgICYtLWFyY2hpdmVkIHtcbiAgICAgICAgY29sb3I6ICM2YjcyODA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlN2U4ZjA7XG4gICAgfVxufVxuLnF0cC1zYXZlIHtcbiAgICB3aWR0aDogN3B4O1xuICAgIGhlaWdodDogN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAmLS1zYXZpbmcgeyBiYWNrZ3JvdW5kOiAjZThhMzIwOyB9XG4gICAgJi0tc2F2ZWQgIHsgYmFja2dyb3VuZDogIzNlOWU2ZTsgfVxuICAgICYtLWVycm9yICB7IGJhY2tncm91bmQ6ICNjNDM2MmE7IH1cbn1cblxuLy8g4pSA4pSAIFR3by1jb2x1bW4gbGF5b3V0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnF0cC1jb2xzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbn1cbi5xdHAtY29sIHtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA2cHg7XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICAvLyBUaWdodGVuIHRoZSBpbm5lciBlZGdlICh0b3dhcmQgdGhlIGNlbnRyZSBkaXZpZGVyKSB0byA0cHggb24gZWFjaCBzaWRlO1xuICAgIC8vIHRoZSBvdXRlciBlZGdlcyBrZWVwIDEwcHguXG4gICAgJi0tcHJpbWFyeSB7IHBhZGRpbmctcmlnaHQ6IDRweDsgfVxuICAgICYtLXRhcmdldCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNWZiO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNGU2ZjQ7XG4gICAgfVxufVxuXG4vLyDilIDilIAgSW5wdXRzIChzaGFyZWQgcWRuYXByby1pbnB1dCwgdHlwZT1cImV4cGFuZGluZ1wiKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEZpZWxkcyBhcmUgdGhlIHJlYWwgaW5wdXQgY29tcG9uZW50IHNvIHRoZXkgbWF0Y2ggdGhlIHJlc3Qgb2YgdGhlIGFwcC5cbi8vIFdlIG9ubHkgZG8gbGF5b3V0ICsgdGhlIG1pc3NpbmctdHJhbnNsYXRpb24gYWNjZW50IGhlcmU7IHRoZSBmaWVsZCdzIG93blxuLy8gbG9vayAoYm9yZGVyLCBmb2N1cyByaW5nLCBwYWRkaW5nLCBhdXRvLWdyb3cpIGNvbWVzIGZyb20gX2lucHV0LnNjc3MuXG4ucXRwLWZpZWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLy8g4pSA4pSAIFBlci1yb3cgZmllbGQgY2FwdGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFNtYWxsLCBtdXRlZCwgdW5vYnRydXNpdmUgbGFiZWwgYWJvdmUgYSBmaWVsZCAob3IgYSBmaWVsZCBwYWlyKSBzbyBiYXJlXG4vLyB0ZXh0IGxpa2UgXCJWZXJ5IHBvb3JcIiAvIFwiV2h5IGRpZCB5b3UgZ2l2ZSB0aGlzIHNjb3JlP1wiIGlzIGlkZW50aWZpYWJsZSBhdFxuLy8gYSBnbGFuY2UuIE9wdGlvbmFsIGFuZCBnZW5lcmljOiBhbnkgZmllbGQga2luZCBjYW4gY2Fycnkgb25lLiBbS2ltIDIwMjYtMDctMTFdXG4ucXRwLWZpZWxkLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ucXRwLWZpZWxkLWNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjOTA5OGJiO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDQ1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG5cbiAgICAvLyBBYm92ZSB0aGUgd2hvbGUgYW5zd2VyLW9wdGlvbnMgYmxvY2sgKG9uY2UsIG5vdCBwZXIgb3B0aW9uKSwgYSBiaXRcbiAgICAvLyBzdHJvbmdlciBzbyBpdCByZWFkcyBhcyBhIHNlY3Rpb24gbGFiZWwsIG1hdGNoaW5nIHRoZSBkaXZpZGVyIGFib3ZlIGl0LlxuICAgICYtLXNlY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDJweCAwIDRweDtcbiAgICAgICAgY29sb3I6ICM3YTgyYWM7XG4gICAgfVxufVxuLnF0cC1hbnMtcm93IC5xdHAtZmllbGQge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuLy8gTWlzc2luZyB0cmFuc2xhdGlvbiAoZW1wdHkgdGFyZ2V0IGZpZWxkLCBub24tc3ViKTogYW1iZXIgYWNjZW50LCBtaXJyb3JzIHRoZVxuLy8gZmxvdyBlZGl0b3IuIFRhcmdldHMgdGhlIGlucHV0IGNvbXBvbmVudCdzIGlubmVyIGZpZWxkIHdyYXBwZXIuXG4ucXRwLWZpZWxkLS1taXNzaW5nIC5pbnB1dC1maWVsZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZThhMzIwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZmNmMyAhaW1wb3J0YW50O1xufVxuXG4vLyDilIDilIAgQWN0aXZpdHkgcm93IGZvY3VzIHN0YXRlICh3aGlsZSB0aGUgcGFuZWwgaXMgb3Blbikg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBXaGVuIHRoZSB0cmFuc2xhdGlvbiBwYW5lbCBpcyBvcGVuLCBjbGlja2luZyBhbiBhY3Rpdml0eSByb3cgZm9jdXNlcyBpdFxuLy8gKGhlcmUgKyBpbiB0aGUgcGFuZWwpIGluc3RlYWQgb2Ygb3BlbmluZyB0aGUgZmxvdyBlZGl0b3IuIFRoZSByaW5nIGZvbGxvd3Ncbi8vIHRoZSByb3cncyBvd24gYm9yZGVyLXJhZGl1cyB2aWEgYm94LXNoYWRvdy4gW0tpbSAyMDI2LTA2LTE2XVxucWRuYXByby1hY3Rpdml0eS1yb3cucXRwLXJvdy1mb2N1c2VkIC5hY3Rpdml0eS1yb3ctaW5uZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNmI3NGQ2LCAwIDRweCAxNHB4IHJnYmEoNjUsIDczLCAxNTQsIDAuMTgpO1xufVxuLy8gU2FtZSBmb2N1cyByaW5nIGZvciBhIHNlY3Rpb24taGVhZGVyIHRpdGxlIChpdCBoYXMgbm8gZm9jdXMgc3RhdGUgb2YgaXRzIG93bikuXG5xZG5hcHJvLXNlY3Rpb24taGVhZGVyLnF0cC1yb3ctZm9jdXNlZCAuc2gtcGlsbCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM2Yjc0ZDYsIDAgNHB4IDE0cHggcmdiYSg2NSwgNzMsIDE1NCwgMC4xOCk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4vLyDilIDilIAgQW5zd2VyIG9wdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4ucXRwLWFucy1kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjZTRlNmY0O1xuICAgIG1hcmdpbjogMnB4IDA7XG59XG4ucXRwLWFucy1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA2cHg7XG59XG4ucXRwLWFucy1kb3Qge1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi10b3A6IDExcHg7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBxZG5hcHJvLXRyYW5zbGF0aW9uLW1vZGFsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBBIHJldXNhYmxlLCBkYXRhLXNvdXJjZS1hZ25vc3RpYyBtb2RhbCBmb3IgdHJhbnNsYXRpbmcgT05FXG4vLyAgZmllbGQgaW50byBhbGwgZW5hYmxlZCBiYWNrZW5kIGxhbmd1YWdlcy4gVGhlIGxpZ2h0d2VpZ2h0XG4vLyAgY291bnRlcnBhcnQgdG8gcWRuYXByby10cmFuc2xhdGlvbi1wYW5lbDogaXQgY29tcG9zZXMgdGhlXG4vLyAgc2hhcmVkIHFkbmFwcm8tbW9kYWwgYW5kIG9ubHkgc3R5bGVzIGl0cyBib2R5ICh0aGUgYHF0bS1gXG4vLyAgbmFtZXNwYWNlKS4gU2hhcmVzIHRoZSBwYW5lbCdzIHZpc3VhbCBsYW5ndWFnZSAoZnJvc3RlZCBhdXRvXG4vLyAgYnV0dG9uIHNoaW1tZXIsIGFtYmVyIFwibWlzc2luZ1wiIGFjY2VudCwgcmVzdWx0IGJhcikuIFtLaW0gMjAyNi0wNi0xN11cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5xZG5hcHJvLXRyYW5zbGF0aW9uLW1vZGFsIHtcbiAgICBkaXNwbGF5OiBjb250ZW50czsgLy8gaG9zdCBhZGRzIG5vIGxheW91dCBib3g7IHRoZSBxZG5hcHJvLW1vZGFsIGl0IGJ1aWxkcyBvd25zIGxheW91dFxufVxuXG4ucXRtIHtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgc2Fucy1zZXJpZjtcbiAgICAqIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxufVxuXG4vLyDilIDilIAgVG9wIHJvdzogc291cmNlIHJlZmVyZW5jZSArIGF1dG8tdHJhbnNsYXRlIGJ1dHRvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5xdG0tdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbn1cbi5xdG0tc291cmNlIHtcbiAgICBtaW4td2lkdGg6IDA7IC8vIGFsbG93IHRoZSBzb3VyY2UgdGV4dCB0byBlbGxpcHNpemUgaW5zdGVhZCBvZiBwdXNoaW5nIHRoZSBidXR0b24gb2ZmXG4gICAgZmxleDogMTtcbn1cbi5xdG0tZmllbGQtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNDE0OTlhO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG4ucXRtLXNvdXJjZS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG4ucXRtLXNvdXJjZS10ZXh0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMyYTMxNzA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLnF0bS1zb3VyY2UtZW1wdHkgeyBjb2xvcjogIzlhYTBjMjsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4vLyDilIDilIAgTGFuZ3VhZ2UgcGlsbCAoc2hhcmVkIGJ5IHNvdXJjZSArIGVhY2ggZmllbGQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnF0bS1waWxsIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBjb2xvcjogIzQwNDk5YTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCA3MywgMTU0LCAwLjEyKTtcbiAgICAvLyBUaGUgc291cmNlIHBpbGwgaXMgZmlsbGVkIChpdCBpcyB0aGUgXCJmcm9tXCIgbGFuZ3VhZ2UpLlxuICAgICYtLXNvdXJjZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDA0OTlhO1xuICAgIH1cbn1cblxuLy8g4pSA4pSAIEF1dG8tdHJhbnNsYXRlIGJ1dHRvbiBzaGltbWVyIChtaXJyb3JzIHRoZSBwYW5lbCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4ucXRtLWF0LWJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogNTUlO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgMCUsXG4gICAgICAgICAgICByZ2JhKDY1LCA3MywgMTU0LCAwLjEzKSA1MCUsXG4gICAgICAgICAgICB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAlKTtcbiAgICAgICAgYW5pbWF0aW9uOiBxdG0tc2hpbW1lciAzLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgLy8gTm8gc2hpbW1lciB3aGlsZSBkaXNhYmxlZCAobm8gc291cmNlIHZhbHVlIHlldCkuXG4gICAgJltkaXNhYmxlZF06OmFmdGVyIHsgYW5pbWF0aW9uOiBub25lOyB9XG59XG5Aa2V5ZnJhbWVzIHF0bS1zaGltbWVyIHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAlKTsgfVxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjIwJSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIyMCUpOyB9XG59XG4ucXRtLWF0LWljb24geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbi5xdG0tYXQtaWNvbi0tc3BpbiB7IGFuaW1hdGlvbjogcXRtLXJvdGF0ZSAwLjhzIGxpbmVhciBpbmZpbml0ZTsgfVxuQGtleWZyYW1lcyBxdG0tcm90YXRlIHtcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICB0byAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4vLyDilIDilIAgQXV0by10cmFuc2xhdGUgYmFyIChjb25maXJtIC8gcmVzdWx0IHN0cmlwKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5xdG0tYXQtYmFyLWhvc3Q6bm90KDplbXB0eSkgeyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4ucXRtLWF0LWJhciB7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjE2LCAyMTksIDIzNywgMC44MCk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzNmNDk5YTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY1LCA3MywgMTU0LCAwLjA0KTtcblxuICAgICYtLWRvbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxNDAsIDkwLCAwLjEwKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAxNDAsIDkwLCAwLjIwKTtcbiAgICAgICAgY29sb3I6ICMxYTdhNTA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogNnB4O1xuICAgIH1cbiAgICAmLS1lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTk2LCA1NCwgNDIsIDAuMTApO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTk2LCA1NCwgNDIsIDAuMjApO1xuICAgICAgICBjb2xvcjogI2M0MzYyYTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgfVxufVxuLnF0bS1hdC1iYXItcXVlc3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuLnF0bS1hdC1iYXItYnRucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDZweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLy8g4pSA4pSAIEZpZWxkczogb25lIHBlciBzZWNvbmRhcnkgbGFuZ3VhZ2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4ucXRtLWZpZWxkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cbi5xdG0tZW1wdHkge1xuICAgIHBhZGRpbmc6IDIycHggMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM4ODkwYjg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xufVxuLy8gTGFuZ3VhZ2UgcGlsbCBzaXRzIEJFRk9SRSB0aGUgaW5wdXQgKGlubGluZSwgbm90IHN0YWNrZWQgYWJvdmUpIOKAlCBjYWxtZXIgYW5kXG4vLyBzYXZlcyB2ZXJ0aWNhbCBzcGFjZS4gQWxsIHBpbGxzIHNoYXJlIGEgbWluLXdpZHRoIHNvIHRoZSBpbnB1dHMgbGluZSB1cC4gW0tpbSAyMDI2LTA2LTE3XVxuLnF0bS1maWVsZC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICAucXRtLXBpbGwge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWluLXdpZHRoOiAzOHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG4ucXRtLWZpZWxkIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cbi8vIE1pc3NpbmcgdHJhbnNsYXRpb24gKGVtcHR5IGZpZWxkKTogYW1iZXIgYWNjZW50LCBtaXJyb3JzIHRoZSBwYW5lbC4gVGFyZ2V0c1xuLy8gdGhlIGlucHV0IGNvbXBvbmVudCdzIGlubmVyIGZpZWxkIHdyYXBwZXIuXG4ucXRtLWZpZWxkLS1taXNzaW5nIC5pbnB1dC1maWVsZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZThhMzIwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZmNmMyAhaW1wb3J0YW50O1xufVxuIiwiLy8gU0NTUyBzb3VyY2UgZm9yIHRoZSBjb21wb25lbnRzLXYyIGJ1bmRsZSAoS2plbGQgMjAyNi0wNi0wMikuXG4vLyBDb21waWxlZCBieSBndWxwIFwic2Fzcy12Mi1jb21wb25lbnRzXCIgdG8gd2ViL2NvbXBvbmVudHMtdjIvdHJlZS1pdGVtL190cmVlLWl0ZW0tY29tcGlsZWQuY3NzLlxuLy8gS2VwdCBlcXVhbCB0byB0aGUgbGl2ZSBjb21waWxlZCBDU1M7IGVkaXQgSEVSRSwgdGhlbiBydW4gdGhlIGd1bHAgdGFzay5cblxuLnFkbmFwcm8tdHJlZS1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMwYjBiMGQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDAuNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zLCBjb2xvciAxMjBtcztcbn1cbi5xZG5hcHJvLXRyZWUtaXRlbTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ucWRuYXByby10cmVlLWl0ZW06Zm9jdXMtdmlzaWJsZSwgLnFkbmFwcm8tdHJlZS1pdGVtLmZvcmNlLWZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICM0MDQ5OWE7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg3MCwgODIsIDI0MywgMC4yNSk7XG59XG4ucWRuYXByby10cmVlLWl0ZW0gPiAudHJlZS1pdGVtLWNoZXZyb24tYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4ucWRuYXByby10cmVlLWl0ZW0gPiAudHJlZS1pdGVtLWNoZXZyb24tYnRuID4gLnRyZWUtaXRlbS1jaGV2cm9uLWljb24ge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgZWFzZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cbi5xZG5hcHJvLXRyZWUtaXRlbSA+IC50cmVlLWl0ZW0tY2hldnJvbi1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xufVxuLnFkbmFwcm8tdHJlZS1pdGVtID4gLnRyZWUtaXRlbS1jaGV2cm9uLWJ0bjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuLnFkbmFwcm8tdHJlZS1pdGVtID4gLnRyZWUtaXRlbS1jaGV2cm9uLWJ0bjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ucWRuYXByby10cmVlLWl0ZW0gPiAudHJlZS1pdGVtLWNoZXZyb24tYnRuOmZvY3VzLXZpc2libGUsIC5xZG5hcHJvLXRyZWUtaXRlbSA+IC50cmVlLWl0ZW0tY2hldnJvbi1idG4uZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgIzQwNDk5YTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbn1cbi5xZG5hcHJvLXRyZWUtaXRlbSA+IC50cmVlLWl0ZW0taWNvbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8tdHJlZS1pdGVtID4gLnRyZWUtaXRlbS1sYWJlbCB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnFkbmFwcm8tdHJlZS1pdGVtID4gLnRyZWUtaXRlbS1iYWRnZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8tdHJlZS1pdGVtLnRyZWUtaXRlbS1leHBhbmRlZCA+IC50cmVlLWl0ZW0tY2hldnJvbi1idG4gPiAudHJlZS1pdGVtLWNoZXZyb24taWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuLnFkbmFwcm8tdHJlZS1pdGVtLnRyZWUtaXRlbS1sYXJnZSB7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLnFkbmFwcm8tdHJlZS1pdGVtLnRyZWUtaXRlbS1sYXJnZSA+IC50cmVlLWl0ZW0tY2hldnJvbi1idG4ge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuLnFkbmFwcm8tdHJlZS1pdGVtLnRyZWUtaXRlbS1sYXJnZS50cmVlLWl0ZW0tdHlwZS1zdWJmb2xkZXIge1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cbi5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tbGFyZ2UudHJlZS1pdGVtLXR5cGUtc3ViZm9sZGVyLnRyZWUtaXRlbS1hY3RpdmUge1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG59XG4ucWRuYXByby10cmVlLWl0ZW0udHJlZS1pdGVtLXNtYWxsIHtcbiAgbWluLWhlaWdodDogMzJweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZ2FwOiA4cHg7XG59XG4ucWRuYXByby10cmVlLWl0ZW0udHJlZS1pdGVtLXNtYWxsID4gLnRyZWUtaXRlbS1jaGV2cm9uLWJ0biB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG4ucWRuYXByby10cmVlLWl0ZW0udHJlZS1pdGVtLXNtYWxsLnRyZWUtaXRlbS10eXBlLXN1YmZvbGRlciB7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xufVxuLnFkbmFwcm8tdHJlZS1pdGVtLnRyZWUtaXRlbS1zbWFsbC50cmVlLWl0ZW0tdHlwZS1zdWJmb2xkZXIudHJlZS1pdGVtLWFjdGl2ZSB7XG4gIHBhZGRpbmctbGVmdDogNDhweDtcbn1cbi5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tdHlwZS1zdWJmb2xkZXI6bm90KC50cmVlLWl0ZW0tYWN0aXZlKTpub3QoLnRyZWUtaXRlbS1kaXNhYmxlZCkge1xuICBjb2xvcjogIzZiNzI4MDtcbn1cbi5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tdHlwZS1jaGV2cm9uOm5vdCgudHJlZS1pdGVtLWFjdGl2ZSk6bm90KC50cmVlLWl0ZW0tZGlzYWJsZWQpID4gLnRyZWUtaXRlbS1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ucWRuYXByby10cmVlLWl0ZW06bm90KC50cmVlLWl0ZW0tYWN0aXZlKTpub3QoLnRyZWUtaXRlbS1kaXNhYmxlZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjBmMWYyO1xufVxuLnFkbmFwcm8tdHJlZS1pdGVtOm5vdCgudHJlZS1pdGVtLWFjdGl2ZSk6bm90KC50cmVlLWl0ZW0tZGlzYWJsZWQpOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNlNGU2ZTg7XG59XG4ucWRuYXByby10cmVlLWl0ZW0udHJlZS1pdGVtLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNlNmU5ZmY7XG4gIGNvbG9yOiAjNDA0OTlhO1xufVxuLnFkbmFwcm8tdHJlZS1pdGVtLnRyZWUtaXRlbS1hY3RpdmUgPiAudHJlZS1pdGVtLWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tYWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2RhZGRmMjtcbn1cbi5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tYWN0aXZlOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNjN2NjZTg7XG59XG4ucWRuYXByby10cmVlLWl0ZW0udHJlZS1pdGVtLWRpc2FibGVkLCAucWRuYXByby10cmVlLWl0ZW0udHJlZS1pdGVtLWRpc2FibGVkOmhvdmVyIHtcbiAgY29sb3I6ICM4OThlOTk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdHJlZS1pdGVtIHtcbiAgY29sb3I6ICNlMWUzZTY7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10cmVlLWl0ZW0gPiAudHJlZS1pdGVtLWljb24sXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10cmVlLWl0ZW0gPiAudHJlZS1pdGVtLWNoZXZyb24tYnRuID4gLnRyZWUtaXRlbS1jaGV2cm9uLWljb24ge1xuICBjb2xvcjogI2UxZTNlNjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRyZWUtaXRlbSA+IC50cmVlLWl0ZW0tYmFkZ2Uge1xuICBjb2xvcjogI2E2YWFiMztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10cmVlLWl0ZW06bm90KC50cmVlLWl0ZW0tYWN0aXZlKTpub3QoLnRyZWUtaXRlbS1kaXNhYmxlZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNTY1YjY2O1xufVxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdHJlZS1pdGVtLnRyZWUtaXRlbS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjNDY1MmYzO1xuICBjb2xvcjogI2YwZjFmMjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tYWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzM4NDJjMjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tYWN0aXZlID4gLnRyZWUtaXRlbS1pY29uLFxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdHJlZS1pdGVtLnRyZWUtaXRlbS1hY3RpdmUgPiAudHJlZS1pdGVtLWJhZGdlLFxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdHJlZS1pdGVtLnRyZWUtaXRlbS1hY3RpdmUgPiAudHJlZS1pdGVtLWNoZXZyb24tYnRuID4gLnRyZWUtaXRlbS1jaGV2cm9uLWljb24ge1xuICBjb2xvcjogI2YwZjFmMjtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tZGlzYWJsZWQsIFtkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tZGlzYWJsZWQ6aG92ZXIge1xuICBjb2xvcjogIzZiNzI4MDtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tZGlzYWJsZWQgPiAudHJlZS1pdGVtLWljb24sXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10cmVlLWl0ZW0udHJlZS1pdGVtLWRpc2FibGVkID4gLnRyZWUtaXRlbS1iYWRnZSxcbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tZGlzYWJsZWQgPiAudHJlZS1pdGVtLWNoZXZyb24tYnRuID4gLnRyZWUtaXRlbS1jaGV2cm9uLWljb24sIFtkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tZGlzYWJsZWQ6aG92ZXIgPiAudHJlZS1pdGVtLWljb24sXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10cmVlLWl0ZW0udHJlZS1pdGVtLWRpc2FibGVkOmhvdmVyID4gLnRyZWUtaXRlbS1iYWRnZSxcbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRyZWUtaXRlbS50cmVlLWl0ZW0tZGlzYWJsZWQ6aG92ZXIgPiAudHJlZS1pdGVtLWNoZXZyb24tYnRuID4gLnRyZWUtaXRlbS1jaGV2cm9uLWljb24ge1xuICBjb2xvcjogIzZiNzI4MDtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRyZWUtaXRlbTpmb2N1cy12aXNpYmxlLCBbZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10cmVlLWl0ZW0uZm9yY2UtZm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjYTVhY2ZmO1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg3MCwgODIsIDI0MywgMC40KTtcbn1cbiIsIi8vIHFkbmFwcm8tdW5pdC1pbnB1dC1yb3cg4oCUIG9uZSByb3cgb2YgdGhlIFBXQSBwZXItdW5pdCBvcGVuLWludm9lciBzY3JlZW4uXG4vLyBGTEFUIENTUyAoY29waWVkIHZlcmJhdGltIGludG8gdGhlIFBXQSBieSBzeW5jLXYyLWNvbXBvbmVudHMuanMpLiBDb2xvdXJzL3JhZGlpIGNvbWVcbi8vIGZyb20gdGhlIGRlc2lnbi10b2tlbiA6cm9vdCAodmFyKC0tYy0qKSAvIC0tci0qKTsgLS10aGVtZS0qIHN0YXlzIGZvciBmbG93IHRoZW1pbmcuXG4vLyBFZGl0IEhFUkUsIHRoZW4gYGd1bHAgc2Fzcy12MWAgKGxpYnJhcnkpICsgdGhlIHN5bmMgKFBXQSkuIEBtZWRpYSBpcyBmaW5lLlxuXG4ucWRuYXByby11bml0LWlucHV0LXJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWMtYm9yZGVyLXNvZnQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXJvdyk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS10aGVtZS1mb250LWZhbWlseSwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMsIGJhY2tncm91bmQgMC4ycztcbn1cblxuLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3cudWlyLWJvcmRlcmxlc3Mge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vKiBFcnJvciA9IHNvZnQgcmVkIGJhY2tncm91bmQ7IG5vIGNvbG91cmVkIGJvcmRlci4gKi9cbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93LnVpci1lcnJvciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtc2lnbmFsLXJlZC1zb2Z0KTtcbn1cblxuLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3cgLnVpci1lcnJvci1tc2cge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiB2YXIoLS1jLXRhZy1jcml0aWNhbC10ZXh0KTtcbiAgbWFyZ2luLXRvcDogM3B4O1xufVxuXG4vLyBUaGUgd2hvbGUgbGVmdCB6b25lIChpbWFnZSArIG5hbWUgKyBFQU4pIGlzIHRoZSB0YXAgLyBsb25nLXByZXNzIHRhcmdldCBhbmQgY2Fycmllc1xuLy8gdGhlIHByZXNzZWQgc3RhdGUg4oCUIG5vdCBqdXN0IHRoZSBuYW1lLiBwYWRkaW5nICsgbWF0Y2hpbmcgbmVnYXRpdmUgbWFyZ2luIGdpdmUgdGhlXG4vLyBwcmVzc2VkIGhpZ2hsaWdodCBicmVhdGhpbmcgcm9vbSB3aXRob3V0IHNoaWZ0aW5nIHRoZSBsYXlvdXQuICgxMnB4IOKGkiAtLXItY2FyZCAxNHB4Lilcbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93IC51aXItbWFpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItMyk7IC8qIDEycHgg4oCUIHRoZSBwcmVzc2VkLXpvbmUgcmFkaXVzIEtpbSBwaWNrZWQgKi9cbiAgcGFkZGluZzogNHB4O1xuICBtYXJnaW46IC00cHg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTJzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGVhc2U7XG59XG4vKiBQcmVzc2VkIHN0YXRlIChhZGRlZCB2aWEgSlMgcG9pbnRlcmRvd24g4oCUIHJlbGlhYmxlIG9uIHRvdWNoKTogcHVycGxlLXRpbnRlZFxuICAgaGlnaGxpZ2h0IG92ZXIgaW1hZ2UgKyBuYW1lICsgRUFOLCBwbHVzIGEgc21hbGwgc3F1YXNoLiAqL1xuLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3cgLnVpci1tYWluLmlzLXByZXNzZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXB1cnBsZS1zb2Z0LTEyKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcbn1cblxuLy8gSW1hZ2Ugd3JhcHBlciBpcyBhbHdheXMgcmVuZGVyZWQg4oCUIGV2ZW4gd2l0aG91dCBzaG93LWltYWdlIOKAlCBzbyB0aGUgc3RhdHVzIGNpcmNsZVxuLy8gaGFzIGEgcmVsaWFibGUgYW5jaG9yLiBXaXRob3V0IGFuIGltYWdlIHRoZSB3cmFwcGVyIGNvbGxhcHNlcyB0byAwIHdpZHRoIChvdmVyZmxvd1xuLy8gdmlzaWJsZSkgYW5kIHRoZSBjaXJjbGUgc3RpbGwgc2hvd3MgYXQgdGhlIGxlZnQgZWRnZS5cbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93IC51aXItaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3cudWlyLW5vLWltYWdlIC51aXItaW1hZ2Uge1xuICB3aWR0aDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4ucWRuYXByby11bml0LWlucHV0LXJvdyAudWlyLWltYWdlIGltZyB7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWJ0bik7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3cgLnVpci1pbWFnZS1lbXB0eSB7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItYnRuKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ibGFjay0wNik7XG59XG5cbi8vIFN0YXR1cyBjaXJjbGUg4oCUIGFuY2hvcmVkIHRvIHRoZSBib3R0b20tbGVmdCBvZiB0aGUgaW1hZ2UsIG1hdGNoaW5nIHRoZSB1bml0LWNhcmRcbi8vIGNoZWNrLWJhZGdlIHBhdHRlcm4uIEhpZGRlbiBieSBkZWZhdWx0OyBhbmltYXRlZCBpbiB3aGVuIGZpbGxlZCBvciBlcnJvci5cbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93IC51aXItc3RhdHVzLWNpcmNsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtNnB4O1xuICBsZWZ0OiAtNnB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNCk7XG4gIHotaW5kZXg6IDI7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWMtYmctY2FyZCwgI2ZmZik7XG59XG4ucWRuYXByby11bml0LWlucHV0LXJvdy51aXItZmlsbGVkIC51aXItc3RhdHVzLWNpcmNsZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtc3VjY2Vzcy1icmlnaHQsICMxZGI4N2EpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBhbmltYXRpb246IHVpci1iYWRnZS1wb3AgMC41MnMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNSwgMSk7XG59XG4ucWRuYXByby11bml0LWlucHV0LXJvdy51aXItZXJyb3IgLnVpci1zdGF0dXMtY2lyY2xlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy10YWctY3JpdGljYWwtdGV4dCwgI2MwMzkyYik7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIGFuaW1hdGlvbjogdWlyLWJhZGdlLXBvcCAwLjUycyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC41LCAxKTtcbn1cblxuLy8gRHJhdy1pbiBjaGVja21hcmsgKGZpbGxlZCBzdGF0ZSBvbmx5KS5cbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93IC51aXItY2hlY2stcGF0aCB7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDIzO1xuICBzdHJva2UtZGFzaG9mZnNldDogMjM7XG59XG4ucWRuYXByby11bml0LWlucHV0LXJvdy51aXItZmlsbGVkIC51aXItY2hlY2stcGF0aCB7XG4gIGFuaW1hdGlvbjogdWlyLWRyYXcgMC4zOHMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpIDAuMDRzIGZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIHVpci1iYWRnZS1wb3Age1xuICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpICByb3RhdGUoMGRlZyk7ICB9XG4gIDIwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMjIpIHJvdGF0ZSgtNWRlZyk7IH1cbiAgNDQlICB7IHRyYW5zZm9ybTogc2NhbGUoMC45MCkgcm90YXRlKDNkZWcpOyAgfVxuICA2NCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KSByb3RhdGUoLTFkZWcpOyB9XG4gIDgwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpIHJvdGF0ZSgwZGVnKTsgIH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSkgICAgcm90YXRlKDBkZWcpOyAgfVxufVxuQGtleWZyYW1lcyB1aXItZHJhdyB7XG4gIDAlICAgeyBzdHJva2UtZGFzaG9mZnNldDogMjM7ICB9XG4gIDYyJSAgeyBzdHJva2UtZGFzaG9mZnNldDogLTE7ICB9XG4gIDgwJSAgeyBzdHJva2UtZGFzaG9mZnNldDogMC43OyB9XG4gIDEwMCUgeyBzdHJva2UtZGFzaG9mZnNldDogMDsgICB9XG59XG5cbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93IC51aXItdGV4dCB7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbn1cbi8vIFRoZSBuYW1lIHdyYXBzIGJ5IGRlZmF1bHQgKHNvIG1heC1oZWlnaHQgYW5pbWF0ZXMgYWdhaW5zdCB0aGUgcmVhbCBjb250ZW50IGhlaWdodFxuLy8gaW4gQk9USCBkaXJlY3Rpb25zIOKAlCBzZWUgX2V4cGFuZE5hbWUvX2NvbGxhcHNlTmFtZSBpbiB0aGUgSlMpLiBgLmlzLWNsYW1wZWRgIGlzIHRoZVxuLy8gcmVzdGluZyBvbmUtbGluZSBlbGxpcHNpcyBzdGF0ZSwgcmUtYXBwbGllZCBvbmx5IGFmdGVyIGEgY29sbGFwc2UgZmluaXNoZXMuXG4vLyBlYXNlT3V0UXVpbnQgQCAwLjI2cyA9IGZhc3QgYnV0IHNtb290aC4gKFByZXNzL3RhcCBsaXZlIG9uIC51aXItbWFpbiBub3cuKVxuLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3cgLnVpci1uYW1lIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogdmFyKC0tdGhlbWUtZmllbGQtdGV4dC1jb2xvciwgIzFkMWQxYik7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgbWF4LWhlaWdodDogMS41ZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4yNnMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xufVxuLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3cgLnVpci1uYW1lLmlzLWNsYW1wZWQge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLy8gTm8gbWV0YTogc2hvdyAyIGxpbmVzIG9mIHRoZSBuYW1lIGluc3RlYWQgb2YgMS4gVGhlIGlzLWNsYW1wZWQgc3RhdGUgc3dpdGNoZXNcbi8vIHRvIG5vcm1hbCB3cmFwcGluZyAobm8gdHJ1bmNhdGlvbiBhdCBsaW5lIDEpLiBUYXAtdG8tZXhwYW5kIHN0aWxsIHdvcmtzIGZvclxuLy8gbmFtZXMgbG9uZ2VyIHRoYW4gMiBsaW5lcyB2aWEgdGhlIEpTIF9jb2xsYXBzZWRIZWlnaHQoKSBoZWxwZXIuXG4ucWRuYXByby11bml0LWlucHV0LXJvdy51aXItbm8tbWV0YSAudWlyLW5hbWUge1xuICBtYXgtaGVpZ2h0OiAzZW07XG59XG4vLyBUcnVlIG11bHRpLWxpbmUgZWxsaXBzaXM6IGNsYW1wIHRoZSByZXN0aW5nIDItbGluZSBzdGF0ZSB3aXRoIC13ZWJraXQtbGluZS1jbGFtcCBzbyBhbiBcIuKAplwiXG4vLyBhcHBlYXJzIGF0IHRoZSBlbmQgd2hlbiB0aGUgbmFtZSBpcyBjdXQgb2ZmIChlLmcuIFwiT21lcHJhem9sIFZpYXRyaXMgMjBtZyBDYXBzIDEwMFwiIOKGkiBcIuKApjIwbWfigKZcIikuXG4vLyBQbGFpbiBvdmVyZmxvdzpoaWRkZW4gd291bGQgc2lsZW50bHkgZHJvcCB0aGUgdGhpcmQgbGluZSB3aXRoIG5vIGN1ZS4gVGhlIGNsYW1wIGxpdmVzIG9ubHkgb25cbi8vIC5pcy1jbGFtcGVkICh0aGUgcmVzdGluZyBzdGF0ZSk7IHRhcC10by1leHBhbmQgcmVtb3ZlcyB0aGUgY2xhc3MsIHNvIHRoZSBmdWxsIG5hbWUgc3RpbGwgdW5mb2xkcy5cbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93LnVpci1uby1tZXRhIC51aXItbmFtZS5pcy1jbGFtcGVkIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIC8vIFRoZSBiYXNlIC5pcy1jbGFtcGVkIHJ1bGUgKGFib3ZlKSBzZXRzIHdoaXRlLXNwYWNlOm5vd3JhcCBmb3IgaXRzIG93biAxLWxpbmVcbiAgLy8gZWxsaXBzaXMuIC13ZWJraXQtbGluZS1jbGFtcCBuZWVkcyB0aGUgdGV4dCB0byBhY3R1YWxseSBXUkFQIGJlZm9yZSBpdCBjYW5cbiAgLy8gY2xhbXAgYXQgMiBsaW5lcywgc28gbm93cmFwIG11c3QgYmUgb3ZlcnJpZGRlbiBoZXJlIOKAlCB3aXRob3V0IHRoaXMsIHRoZSBuYW1lXG4gIC8vIG5ldmVyIHJlYWNoZXMgYSAybmQgbGluZSByZWdhcmRsZXNzIG9mIG1heC1oZWlnaHQvLXdlYmtpdC1saW5lLWNsYW1wLCBhbmQgeW91XG4gIC8vIGp1c3QgZ2V0IDEtbGluZSB0cnVuY2F0aW9uIGFnYWluLiBbS2ltIGNhdWdodCB0aGlzIDIwMjYtMDctMDFdXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG4ucWRuYXByby11bml0LWlucHV0LXJvdy51aXItZmlsbGVkIC51aXItbmFtZSB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kZXNjcmlwdGlvbi1jb2xvciwgIzZiNmI2Yik7XG59XG4ucWRuYXByby11bml0LWlucHV0LXJvdyAudWlyLW1ldGEge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1kZXNjcmlwdGlvbi1jb2xvciwgIzhhOGE4YSk7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4ucWRuYXByby11bml0LWlucHV0LXJvdyAudWlyLW1ldGFbaGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIGZsZXgtZ3JvdzogMSAod2FzIDAsIHRoZSBmbGV4L2ZsZXgtYmFzaXMgZGVmYXVsdCkgbGV0cyB0aGlzIHpvbmUgY2xhaW0gaXRzIHNoYXJlIG9mIHRoZVxuLy8gcm93J3MgZnJlZSBzcGFjZSBpbnN0ZWFkIG9mIGhhbmRpbmcgQUxMIG9mIGl0IHRvIC51aXItbWFpbi4gV2l0aG91dCBpdCwgLnVpci1pbnB1dCdzIG93blxuLy8gYm94IGlzIHNpemVkIHB1cmVseSBmcm9tIGl0cyBjb250ZW50IChhIGZpeGVkLXdpZHRoIHFkbmFwcm8taW5wdXQsIG9yIGEgMTAwJS13aWR0aCBjaGlsZFxuLy8gbGlrZSAueW4tdW5pdC1idXR0b25zIHRoYXQgaGFzIG5vdGhpbmcgZGVmaW5pdGUgdG8gZmlsbCBhZ2FpbnN0KSwgc28gdGhlIHJvdydzIHJpZ2h0LWhhbmRcbi8vIHNwYWNlIHNpbGVudGx5IHdlbnQgdG8gdGhlIG5hbWUgY29sdW1uIGFuZCB0aGUgaG9zdGVkIGZpZWxkL2J1dHRvbnMgc3RvcHBlZCBzaG9ydCBvZiB0aGVcbi8vIHJvdydzIHRydWUgcmlnaHQgZWRnZSAtLSB2aXNpYmxlIGFzIGEgcmlnaHQtc2lkZSBnYXAgdnMuIHRoZSBleWUtdG9nZ2xlIGJ1dHRvbiBhYm92ZSB0aGVcbi8vIGxpc3QsIHdoaWNoIERPRVMgcmVhY2ggdGhhdCBlZGdlLiBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kIHRoZW4gaHVncyBhIHN0aWxsLW5hcnJvd2VyXG4vLyBjaGlsZCAoZS5nLiBhIGNvbXBhY3QgbnVtYmVyL2RhdGUgcWRuYXByby1pbnB1dCkgYWdhaW5zdCB0aGF0IGVkZ2UgaW5zdGVhZCBvZiBsZWF2aW5nIGl0XG4vLyBzdHJhbmRlZCBvbiB0aGUgbGVmdCBvZiBhIG5vdy13aWRlciBib3guIGlucHV0LXR5cGU9XCJ0ZXh0XCIvXCJleHBhbmRpbmdcIiBrZWVwIHRoZWlyIG93biBtb3JlXG4vLyBzcGVjaWZpYyBmbGV4OiA2IDEgMCBvdmVycmlkZSBiZWxvdyAoaGlnaGVyIHNwZWNpZmljaXR5LCB1bmFmZmVjdGVkKTsgdGhlaXIgcWRuYXByby1pbnB1dFxuLy8gYWxyZWFkeSBmbGV4OjEtZmlsbHMgdGhpcyB6b25lLCBzbyBqdXN0aWZ5LWNvbnRlbnQgaXMgYSBuby1vcCB0aGVyZS4gU3RhY2tlZCBsYXlvdXQgZm9yY2VzXG4vLyB3aWR0aDogMTAwJSBvbiB0aGlzIHpvbmUgcmVnYXJkbGVzcywgc28gdGhpcyBpcyBhIG5vLW9wIHRoZXJlIHRvby4gWzIwMjYtMDctMTJdXG4ucWRuYXByby11bml0LWlucHV0LXJvdyAudWlyLWlucHV0IHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZ2FwOiA4cHg7XG59XG4ucWRuYXByby11bml0LWlucHV0LXJvdyAudWlyLWlucHV0IHFkbmFwcm8taW5wdXQge1xuICB3aWR0aDogOTZweDtcbn1cbi8qIFdpdGggwrEgY291bnRlciBidXR0b25zIChzcGlubmVyKSB0aGUgZmllbGQgbmVlZHMgcm9vbSBmb3Ig4oiSIGZpZWxkICsgLiBUaGUgwrEgdG91Y2hcbiAgIGJ1dHRvbnMgKH40NHB4IGVhY2gpICsgYSBkZWNpbWFsIHZhbHVlIGNsaXBwZWQgYXQgMTM4cHg7IHdpZGVuZWQgc28gXCIwLDAwXCIgLyBjb3VudHNcbiAgIHN0YXkgdmlzaWJsZS4gTm90IHZpZXdwb3J0LWdhdGVkOiB0aGUgY2xpcCBpcyBmaWVsZC12cy1jb250ZW50LCBwcmVzZW50IGV2ZXJ5d2hlcmUuICovXG4ucWRuYXByby11bml0LWlucHV0LXJvdyAudWlyLWlucHV0IHFkbmFwcm8taW5wdXRbc3Bpbm5lcl0ge1xuICB3aWR0aDogMTgwcHg7XG59XG5cbi8qIERyb3AgdGhlIGluLWZpZWxkIHN0YXRlIGljb24gKHRoZSByZWQgXCIhXCIgYWxlcnQtY2lyY2xlKSBpbnNpZGUgdGhlIHBlci11bml0IHJvdy4gVGhlIGVycm9yIGlzXG4gICBhbHJlYWR5IHNpZ25hbGxlZCBieSB0aGUgcmVkIHJvdyBib3JkZXIsIHRoZSByZWQg4pyXIG9uIHRoZSBpbWFnZSwgYW5kIHRoZSBcIlN0aWxsIHRvIGZpbGxcIiBsaW5lIOKAlFxuICAgdGhlIGV4dHJhIFwiIVwiIG9ubHkgZWF0cyB3aWR0aCwgd2hpY2ggaHVydHMgbW9zdCBvbiB0aGUgbmFycm93IG51bWJlci9kYXRlL2RlY2ltYWwgZmllbGRzLlxuICAgU2NvcGVkIHRvIHRoaXMgcm93IG9ubHkgKG5vdCBxZG5hcHJvLWlucHV0IGVsc2V3aGVyZSkuIDUgY2xhc3NlcyArIGVsZW1lbnQgKDUxKSBiZWF0cyB0aGVcbiAgIGNvbXBvbmVudCdzIG93biAuaW5wdXQtc3RhdGUtaWNvbiBkaXNwbGF5IHJ1bGUgKDQwKSB3aXRob3V0ICFpbXBvcnRhbnQuICovXG4ucWRuYXByby11bml0LWlucHV0LXJvdyAudWlyLWlucHV0IHFkbmFwcm8taW5wdXQgLmlucHV0LWZpZWxkIC5pbnB1dC10cmFpbGluZyAuaW5wdXQtc3RhdGUtaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIE5hcnJvdyBzY3JlZW5zIChwaG9uZSkgKyBwZXItdW5pdCBPTkxZOiBkcm9wIHRoZSBpbi1maWVsZCBjbGVhciAow5cpIGJ1dHRvbi4gSW4gdGhlXG4gICBjb21wYWN0IFwiaW5wdXQgZm9yIGV2ZXJ5IHVuaXRcIiByb3dzIHRoZSDDlyBlYXRzIHRoZSB3aWR0aCB0aGUgdmFsdWUgbmVlZHMg4oCUIGl0IGNsaXBzXG4gICBcIuKCrCAyLDAwXCIgLyBcIjAsMDAwXCIgb24gZGVjaW1hbCArIGN1cnJlbmN5LiBPbiBwaG9uZSB0aGF0IHNwYWNlIGlzIHRvbyBwcmVjaW91czsgb25cbiAgIHRhYmxldC9kZXNrdG9wIHRoZXJlJ3Mgcm9vbSwgc28gdGhlIMOXIHN0YXlzIHRoZXJlLiBTZWxlY3QtYWxsICsgcmV0eXBlIHN0aWxsIGNsZWFycy5cbiAgIFNjb3BlZCB0byAucWRuYXByby11bml0LWlucHV0LXJvdyBzbyBzaW5nbGUgZnVsbC13aWR0aCBmaWVsZHMga2VlcCB0aGVpciDDly4gW0tpbSAyMDI2LTA3LTAxXSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5xZG5hcHJvLXVuaXQtaW5wdXQtcm93IC51aXItaW5wdXQgcWRuYXByby1pbnB1dCAuaW5wdXQtZmllbGQgLmlucHV0LXRyYWlsaW5nIHFkbmFwcm8taWNvbi1idG5baWNvbj1cImNsb3NlXCJdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIEN1cnJlbmN5IHN0aWxsIG5lZWRzIGEgYml0IG1vcmUgcm9vbSBmb3IgdGhlIOKCrCBwcmVmaXggKyB2YWx1ZSAoZXZlbiB3aXRob3V0IHRoZSDDlykuICovXG4gIC5xZG5hcHJvLXVuaXQtaW5wdXQtcm93W2lucHV0LXR5cGU9XCJjdXJyZW5jeVwiXSAudWlyLWlucHV0IHFkbmFwcm8taW5wdXQge1xuICAgIHdpZHRoOiAxMzBweDtcbiAgfVxuICAvKiBEYXRlOiB0aGUgbmF0aXZlIHBpY2tlciAoZGQvbW0veXl5eSArIGNhbGVuZGFyIGljb24pIGhhcyBhIHdpZGUgaW50cmluc2ljIG1pblxuICAgICAofjIwMHB4KS4gQXQgdGhlIDk2cHggZGVmYXVsdCBpdCBvdmVyZmxvd2VkIG9mZi1zY3JlZW4uIFdpZGVuIHNvIGl0IGZpdHM7IHRoZSBuYW1lXG4gICAgIGNvbHVtbiB5aWVsZHMgKEtpbSdzIHBpY2sg4oCUIG9wdGlvbiAxKS4gVGltZSBpcyBuYXJyb3dlciBidXQgYWxzbyBjbGlwcGVkIGF0IDk2cHguICovXG4gIC5xZG5hcHJvLXVuaXQtaW5wdXQtcm93W2lucHV0LXR5cGU9XCJkYXRlXCJdIC51aXItaW5wdXQgcWRuYXByby1pbnB1dCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICB9XG4gIC5xZG5hcHJvLXVuaXQtaW5wdXQtcm93W2lucHV0LXR5cGU9XCJ0aW1lXCJdIC51aXItaW5wdXQgcWRuYXByby1pbnB1dCB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICB9XG59XG5cbi8qIFBlci11bml0IG1lc3NhZ2UgY2hhbm5lbDogdGhlIGZpZWxkJ3MgT1dOIHZhbGlkYXRpb24gbWVzc2FnZSBzdGF5cyBoaWRkZW4g4oCUIHRoZSBwZXItdW5pdCBlcnJvclxuICAgaXMgY2FycmllZCBieSB0aGUgcm93IGluc3RlYWQgKFwiU3RpbGwgdG8gZmlsbFwiIHVuZGVyIHRoZSBuYW1lLCBzZXQgYnkgYWR2YW5jZWRfaW5wdXQuanMpLiBUaGVcbiAgIGxvbmcgcmVxdWlyZWQgbWVzc2FnZSAoXCJZb3UgaGF2ZSB0byBmaWxsIG91dCBhbGwgcmVxdWlyZWQgZm9ybSBmaWVsZHMuXCIpIHdvdWxkIG90aGVyd2lzZSBydW4gb2ZmXG4gICBhIG5hcnJvdyBwaG9uZSBmaWVsZC4gQXV0by1zY29wZWQgdG8gcGVyLXVuaXQgYmVjYXVzZSBvbmx5IHRoZSBwZXItdW5pdCBzY3JlZW4gd3JhcHMgdGhlIGlucHV0IGluXG4gICAucWRuYXByby11bml0LWlucHV0LXJvdzsgdGhlIHNpbmdsZSBmdWxsLXdpZHRoIGZpZWxkIChub3QtcGVyLXVuaXQpIGlzIHVud3JhcHBlZCBhbmQga2VlcHMgdGhlXG4gICBmdWxsZXIgbWVzc2FnZS4gQ292ZXJzIGJvdGggYmx1ciBhbmQgc3VibWl0IHBhdGhzIGluIG9uZSBydWxlLiBUaGUgY29uc3RyYWludHMgaGludCAoYSBzZXBhcmF0ZVxuICAgbGluZSBiZWxvdyB0aGUgZmllbGQpIGlzIE5PVCAuaW5wdXQtbWVzc2FnZSwgc28gbWluL21heC9yYW5nZSBoaW50cyBzdGlsbCBzaG93LiAqL1xuLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3cgLnVpci1pbnB1dCBxZG5hcHJvLWlucHV0IC5pbnB1dC1tZXNzYWdlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gU2l6aW5nL3NoYXBlICg0NHg0NCkgbm93IGNvbWVzIGZyb20gcWRuYXByby1idXR0b24ncyBvd24gc2l6ZT1cInRvdWNoXCIgK1xuLy8gaWNvbi1vbmx5IENTUyDigJQgb25seSB0aGUgb3JnLXRoZW1lYWJsZSBjb2xvdXIgc3RheXMgYSBsb2NhbCBvdmVycmlkZSwgc2luY2Vcbi8vIHFkbmFwcm8tYnV0dG9uJ3Mgb3duIHNlY29uZGFyeS1wdXJwbGUgdHlwZSBpcyBhIGZpeGVkIGNvbG91ciB3aXRoIG5vXG4vLyB2YXIoLS10aGVtZS1idG4tY29sb3IpIGhvb2suIGNvbG9yLW1peCBtaXJyb3JzIHNlY29uZGFyeS1wdXJwbGUncyBvd24gbGlnaHQtXG4vLyB0aW50LWJnL3NvbGlkLXRleHQgbG9vayAoI2U2ZTlmZiAvICM0MDQ5OWEpIGJ1dCBkZXJpdmVzIGJvdGggZnJvbSB0aGUgb3JnJ3Ncbi8vIHRoZW1lIGNvbG91ciBpbnN0ZWFkIG9mIHRoZSBoYXJkY29kZWQgZGVmYXVsdC4gWzIwMjYtMDctMDFdXG4ucWRuYXByby11bml0LWlucHV0LXJvdyAudWlyLXNjYW4ge1xuICBmbGV4LXNocmluazogMDtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSkgMTIlLCAjZmZmKTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSk7XG59XG4ucWRuYXByby11bml0LWlucHV0LXJvdyAudWlyLXNjYW4gcWRuYXByby1pY29uIHtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSk7XG59XG5cbi8vIFN0YWNrZWQ6IGlucHV0IGRyb3BzIGZ1bGwtd2lkdGggYmVsb3cgdGhlIGltYWdlICsgbmFtZS5cbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93LnVpci1sYXlvdXQtc3RhY2tlZCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93LnVpci1sYXlvdXQtc3RhY2tlZCAudWlyLW1haW4ge1xuICB3aWR0aDogMTAwJTtcbn1cbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93LnVpci1sYXlvdXQtc3RhY2tlZCAudWlyLWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDZweDtcbn1cbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93LnVpci1sYXlvdXQtc3RhY2tlZCAudWlyLWlucHV0IHFkbmFwcm8taW5wdXQge1xuICBmbGV4OiAxO1xuICB3aWR0aDogYXV0bztcbn1cblxuLy8g4pSA4pSAIFRleHQgLyBleHBhbmRpbmc6IGZsdWlkIGZpZWxkLCB3aWR0aC1pbmRlcGVuZGVudCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFRleHQgKGFuZCBpdHMgZXhwYW5kYWJsZSB2YXJpYW50KSBleHBlY3RzIGEgbG9uZ2VyIGFuc3dlciB0aGFuIGEgbnVtYmVyL2RhdGUvdGltZS4gVGhlIGZpZWxkXG4vLyBpcyBGTFVJRCBhdCBldmVyeSB2aWV3cG9ydDogaXQgc2hhcmVzIHRoZSByb3cgd2l0aCB0aGUgdW5pdCBuYW1lIHZpYSBmbGV4IGFuZCBncm93cyBzbW9vdGhseVxuLy8gYXMgdGhlIHZpZXdwb3J0IHdpZGVucyDigJQgbm8gYnJlYWtwb2ludCBzdGVwLiBUaGUgbmFtZSB3cmFwcyB0byAyIGxpbmVzICh2aWEgbm8tbWV0YSkgYW5kIGdpdmVzXG4vLyB1cCBzcGFjZTsgb24gcGhvbmUgdGhlIHNwbGl0IGxhbmRzIH40MC82MCAoZmllbGQgZG9taW5hbnQg4oCUIEtpbSdzIHBpY2sgZm9yIGxvbmcgaW5wdXQvYmFyY29kZXMpLlxuLy8gVGhlIGlucHV0IHpvbmUgaXMgY2FwcGVkIGF0IDU2NHB4ICjiiYg1MjBweCBmaWVsZCArIDM2cHggc2NhbiBidXR0b24gKyA4cHggZ2FwKSBzbyB0aGUgZmllbGRcbi8vIHN0b3BzIGdyb3dpbmcgYXQgfjUyMHB4IG9uIHdpZGUgdGFibGV0L2Rlc2t0b3AgYW5kIHRoZSBzdXJwbHVzIGdvZXMgYmFjayB0byB0aGUgbmFtZS5cbi8vIG51bWJlciAvIGN1cnJlbmN5IC8gZGF0ZSAvIHRpbWUgYXJlIE5PVCBmbHVpZCDigJQgdGhleSBrZWVwIGZpeGVkIGNvbXBhY3Qgd2lkdGhzIChzZWUgdGFibGV0IGJsb2NrKS5cbi8vXG4vLyBTcGxpdCBpcyBzZXQgYnkgZXhwbGljaXQgZmxleC1ncm93IG9uIGEgMCBiYXNpcyAoNCA6IDYg4omIIDQwLzYwKSwgTk9UIGJ5IGNvbnRlbnQuIEEgY29udGVudFxuLy8gYmFzaXMgKGZsZXgtYmFzaXM6YXV0bykgd291bGQgbWFrZSBhIEZJTExFRCByb3cgd2lkZXIgdGhhbiBlbXB0eSBvbmVzIOKAlCB0aGUgY2xlYXIgKMOXKSBidXR0b25cbi8vIGFkZHMgd2lkdGgg4oCUIHNvIHJvd3Mgd291bGQgbWlzYWxpZ24uIEJhc2lzIDAga2VlcHMgZXZlcnkgcm93J3MgZmllbGQgZXhhY3RseSB0aGUgc2FtZSB3aWR0aC5cbi8vIDpub3QoLnVpci1sYXlvdXQtc3RhY2tlZCkg4oCUIHRoZSBmbHVpZCBpbmxpbmUgc3BsaXQgbXVzdCBOT1QgYXBwbHkgd2hlbiB0aGUgcm93IGlzIHN0YWNrZWRcbi8vIChcIklucHV0IGJlbG93IG5hbWVcIiksIG9yIGl0IG92ZXJyaWRlcyB0aGUgc3RhY2tlZCB3aWR0aDoxMDAlIChlcXVhbCBzcGVjaWZpY2l0eSwgZGVmaW5lZCBsYXRlcilcbi8vIGFuZCB0aGUgZmllbGQgbmV2ZXIgZHJvcHMgYmVsb3cgdGhlIG5hbWUuIFN0YWNrZWQga2VlcHMgaXRzIG93biBmdWxsLXdpZHRoIHJ1bGVzIGJlbG93LlxuLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3dbaW5wdXQtdHlwZT1cInRleHRcIl06bm90KC51aXItbGF5b3V0LXN0YWNrZWQpIC51aXItbWFpbixcbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93W2lucHV0LXR5cGU9XCJleHBhbmRpbmdcIl06bm90KC51aXItbGF5b3V0LXN0YWNrZWQpIC51aXItbWFpbiB7IGZsZXg6IDQgMSAwOyB9XG5cbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93W2lucHV0LXR5cGU9XCJ0ZXh0XCJdOm5vdCgudWlyLWxheW91dC1zdGFja2VkKSAudWlyLWlucHV0LFxuLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3dbaW5wdXQtdHlwZT1cImV4cGFuZGluZ1wiXTpub3QoLnVpci1sYXlvdXQtc3RhY2tlZCkgLnVpci1pbnB1dCB7IGZsZXg6IDYgMSAwOyBtaW4td2lkdGg6IDA7IG1heC13aWR0aDogNTY0cHg7IH1cblxuLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3dbaW5wdXQtdHlwZT1cInRleHRcIl06bm90KC51aXItbGF5b3V0LXN0YWNrZWQpIC51aXItaW5wdXQgcWRuYXByby1pbnB1dCxcbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93W2lucHV0LXR5cGU9XCJleHBhbmRpbmdcIl06bm90KC51aXItbGF5b3V0LXN0YWNrZWQpIC51aXItaW5wdXQgcWRuYXByby1pbnB1dCB7IGZsZXg6IDE7IHdpZHRoOiBhdXRvOyBtaW4td2lkdGg6IDA7IH1cblxuLy8g4pSA4pSAIFRhYmxldCBpbnB1dC10eXBlIHJlc3BvbnNpdmVuZXNzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gVGhlIGhvc3QgZ2V0cyBpbnB1dC10eXBlPVwibnVtYmVyfGN1cnJlbmN5fGRhdGV8dGltZVwiIGZyb20gdGhlIGNhbGxlci4gdGV4dC9leHBhbmRpbmcgYXJlIGZsdWlkXG4vLyAoc2VlIGFib3ZlKSBhbmQgbm90IGhhbmRsZWQgaGVyZS4gVGhlc2UgZm91ciBzdGF5IGNvbXBhY3QgYW5kIG9ubHkgZ2V0IGEgZml4ZWQgd2lkdGggb24gdGFibGV0LlxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC8vIE51bWVyaWMg4oCUIGFsbG93IHNsaWdodCBncm93dGggYnV0IGNhcCBzbyBhIHNpbmdsZSBkaWdpdCBkb2Vzbid0IGZsb2F0IGluIGEgZ2lhbnQgYm94LlxuICAucWRuYXByby11bml0LWlucHV0LXJvd1tpbnB1dC10eXBlPVwibnVtYmVyXCJdLFxuICAucWRuYXByby11bml0LWlucHV0LXJvd1tpbnB1dC10eXBlPVwiY3VycmVuY3lcIl0ge1xuICAgIC51aXItaW5wdXQgcWRuYXByby1pbnB1dCB7IHdpZHRoOiAxNjBweDsgfVxuICB9XG5cbiAgLy8gRGF0ZSAvIHRpbWUg4oCUIGp1c3QgZW5vdWdoIHJvb20gZm9yIHRoZSBuYXRpdmUgcGlja2VyIGFmZm9yZGFuY2UuXG4gIC5xZG5hcHJvLXVuaXQtaW5wdXQtcm93W2lucHV0LXR5cGU9XCJkYXRlXCJdIC51aXItaW5wdXQgcWRuYXByby1pbnB1dCAgeyB3aWR0aDogMTcwcHg7IH1cbiAgLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3dbaW5wdXQtdHlwZT1cInRpbWVcIl0gLnVpci1pbnB1dCBxZG5hcHJvLWlucHV0ICB7IHdpZHRoOiAxMzBweDsgfVxufVxuXG4vLyBDb21wYWN0IGlucHV0LXR5cGVzOiBsZXQgdGhlIHVuaXQgTkFNRSBhYnNvcmIgdGhlIHJvdydzIGZyZWUgc3BhY2UgKGxhYmVsLWxlZnQgLyB2YWx1ZS1yaWdodClcbi8vIGluc3RlYWQgb2YgdGhlIGlucHV0IHpvbmUgY2xhaW1pbmcgZmxleC1ncm93OjEgYW5kIHN0cmFuZGluZyBhIGRlYWQgZ2FwIGJldHdlZW4gdGhlIG5hbWUgYW5kIGFcbi8vIHJpZ2h0LWh1Z2dlZCwgZml4ZWQtd2lkdGggZmllbGQuIFRoZXNlIHR5cGVzIGhhdmUgYSBjb250ZW50LXNpemVkIGNvbnRyb2wgKG51bWJlci9jdXJyZW5jeS9kYXRlL1xuLy8gdGltZSA9IGEgZml4ZWQtd2lkdGggcWRuYXByby1pbnB1dDsgcGhvdG8gPSBhIGNvbXBhY3QgY2FwdHVyZSBidXR0b24pLCBzbyBmbGV4LWdyb3c6MCBzaHJpbmtzIHRoZVxuLy8gem9uZSB0byB0aGF0IGNvbnRyb2wgYW5kIC51aXItbWFpbiAoZmxleDoxKSBncm93cyB0byBwdXNoIGl0IHRvIHRoZSByb3cncyByaWdodCBlZGdlIOKAlCBubyBnYXAuXG4vLyBOT1QgYXBwbGllZCB0byB0ZXh0L2V4cGFuZGluZyAoZmx1aWQsIGZpZWxkIGZpbGxzIGl0cyBmbGV4OjYgem9uZSkgb3IgeWVzL25vIChpbnB1dC10eXBlPVwidGV4dFwiLFxuLy8gZnVsbC13aWR0aCBidXR0b25zKSDigJQgdGhvc2Ugc3RheSBleGFjdGx5IGFzIHRoZXkgd2VyZS4gQWxsIHZpZXdwb3J0czogdGhlIGdhcCBpcyBub3QgdGFibGV0LW9ubHkuXG4vLyBbS2ltIDEzLjA3LjIwMjYg4oCUIHJlZ3Jlc3Npb24gZnJvbSB0aGUgMTIuMDcgcmlnaHQtZWRnZS1hbGlnbm1lbnQgY2hhbmdlIG9uIGNvbXBhY3QgcGVyLXVuaXQgcm93c11cbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93W2lucHV0LXR5cGU9XCJudW1iZXJcIl06bm90KC51aXItbGF5b3V0LXN0YWNrZWQpIC51aXItaW5wdXQsXG4ucWRuYXByby11bml0LWlucHV0LXJvd1tpbnB1dC10eXBlPVwiY3VycmVuY3lcIl06bm90KC51aXItbGF5b3V0LXN0YWNrZWQpIC51aXItaW5wdXQsXG4ucWRuYXByby11bml0LWlucHV0LXJvd1tpbnB1dC10eXBlPVwiZGF0ZVwiXTpub3QoLnVpci1sYXlvdXQtc3RhY2tlZCkgLnVpci1pbnB1dCxcbi5xZG5hcHJvLXVuaXQtaW5wdXQtcm93W2lucHV0LXR5cGU9XCJ0aW1lXCJdOm5vdCgudWlyLWxheW91dC1zdGFja2VkKSAudWlyLWlucHV0LFxuLnFkbmFwcm8tdW5pdC1pbnB1dC1yb3dbaW5wdXQtdHlwZT1cInBob3RvXCJdOm5vdCgudWlyLWxheW91dC1zdGFja2VkKSAudWlyLWlucHV0IHtcbiAgZmxleC1ncm93OiAwO1xufVxuXG4vLyBDYXJkIGJvcmRlcnM6IHRhYmxldCB5ZXMsIG1vYmlsZSBubyAoZGVuc2VyIG9uIHBob25lKSDigJQgUUROQSByZXNwb25zaXZlIHByaW5jaXBsZS5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucWRuYXByby11bml0LWlucHV0LXJvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1ib3JkZXItY2FyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1yb3cpO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxuXG4gIC8vIEJvcmRlcmxlc3MgdmFyaWFudCDigJQgc3VwcHJlc3NlcyB0aGUgdGFibGV0IGNhcmQgYm9yZGVyLiBObyBvdXRsaW5lLCBubyBtYXJnaW4gYmV0d2VlbiByb3dzLlxuICAvLyBVc2FnZTogPHFkbmFwcm8tdW5pdC1pbnB1dC1yb3cgYm9yZGVybGVzcyAuLi4+XG4gIC5xZG5hcHJvLXVuaXQtaW5wdXQtcm93LnVpci1ib3JkZXJsZXNzIHtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1yb3cpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8vIHFkbmFwcm8td2l6YXJkLW1vZGFsIOKAlCBtdWx0aS1zdGVwIG1vZGFsIHdpdGggcGVyLXN0ZXAgd2lkdGggKyBzbGlkZS5cbi8vIFNvdXJjZSBmb3IgdGhlIGNvbXBvbmVudHMtdjIgYnVuZGxlOyBlZGl0IGhlcmUsIHRoZW4gcnVuIGBndWxwIHNhc3MtdjFgXG4vLyAoY29tcGlsZXMgaW50byB3ZWIvY3NzL3YxL3N0eWxlLXYxLmNzcykuIFBsYWluIENTUyB0byBtYXRjaCB0aGUgb3RoZXIgdjJcbi8vIHNvdXJjZXMuXG4vL1xuLy8gVGhlIGZyYW1lIGlzIENPUElFRCBmcm9tIHFkbmFwcm8tbW9kYWwgc28gd2l6YXJkcyBsb29rIGlkZW50aWNhbCB0byByZWd1bGFyXG4vLyBtb2RhbHM6IGEgZ3JleSBkaWFsb2cgKCNmMGYxZjIsIC41cHggd2hpdGUgYm9yZGVyKSB3aXRoIGEgd2hpdGUgd2luZG93IGluc2lkZVxuLy8gKC41cHggI2M0YzdjYyBib3JkZXIpLiBFYWNoIHN0ZXAgSVMgaXRzIG93biB3aGl0ZSB3aW5kb3cuIEEgd2l0aC1pbmZvIHN0ZXAgaXNcbi8vIHRyYW5zcGFyZW50IChncmV5IGZyYW1lIHNob3dzIG9uIHRoZSBsZWZ0KSBhbmQgbGF5cyBvdXQgYSBncmV5IGluZm8gcGFuZWwgK1xuLy8gOHB4IGdhcCArIHRoZSB3aGl0ZSBib3JkZXJlZCBtYWluIOKAlCBleGFjdGx5IGxpa2UgcWRuYXByby1tb2RhbCBsYXlvdXQ9XCJ3aXRoLWluZm9cIi5cbi8vIFtLaW0gMjAyNi0wNi0xNV1cblxuLnFkbmFwcm8td2l6YXJkLW1vZGFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogOTAwMDtcbiAgLyogR2VlbiBpbmdlYmFra2VuIHpvb20sIGVuIGRhdCBpcyBzaW5kcyAyMDI2LTA4LTAzIGRlIHJlZ2VsIHZvb3IgRUxLIHZlbnN0ZXI6IGBxZG5hcHJvLW1vZGFsYCBoYWRcbiAgICAgZXIgZWVuIHZhbiAxLjI1IHZvb3IgZGUgbGVnYWN5IGBib2R5IHsgem9vbTogMC44IH1gLCBlbiBkaWUgaXMgd2VnZ2VoYWFsZCBvbWRhdCBkaWUgYm9keS16b29tIGVlblxuICAgICB2MS1wYWdpbmEgbmlldCBtZWVyIGJlcmVpa3QgKHppZSBkZSB1aXRsZWcgaW4gYGNvbXBvbmVudHMvdjIvbW9kYWwvX21vZGFsLnNjc3NgKS4gWmV0IGhpZXIgZHVzIG9va1xuICAgICBnZWVuIGNvdW50ZXItem9vbSB0ZXJ1Zzsga29tdCB6byduIHBhZ2luYSBlciBvb2l0IHdlZXIsIGRhbiBob29ydCBkZSBjb3JyZWN0aWUgYmlqIGRpZSBQQUdJTkEuICovXG59XG4ucWRuYXByby13aXphcmQtbW9kYWwud20tb3BlbiB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLndtLXNjcmltIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTEsIDExLCAxMywgMC40NSk7XG4gIGFuaW1hdGlvbjogcWRuYXByby13bS1zY3JpbS1pbiAxNjBtcyBlYXNlLW91dDtcbn1cblxuLyogT1VURVIgR1JFWSBGUkFNRSDigJQgaWRlbnRpY2FsIHRvIHFkbmFwcm8tbW9kYWwgLm1vZGFsLWRpYWxvZy4gKi9cbi53bS1kaWFsb2cge1xuICBiYWNrZ3JvdW5kOiAjZjBmMWYyO1xuICBib3JkZXI6IDAuNXB4IHNvbGlkICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjMwKSxcbiAgICAwIDhweCAxMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB3aWR0aDogNDgwcHg7XG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDQ4cHgpO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjM4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBhbmltYXRpb246IHFkbmFwcm8td20tZGlhbG9nLWluIDIwMG1zIGN1YmljLWJlemllcigwLjIsIDAuOCwgMC4yLCAxKTtcbn1cblxuLyogU3RlcCB2aWV3cG9ydCAoaW5zaWRlIHRoZSA4cHggZ3JleSBwYWRkaW5nKS4gU3RlcHMgc3RhY2sgKyBzbGlkZSBoZXJlLiAqL1xuLndtLXN0ZXBzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IHZhcigtLXdtLWhlaWdodCwgNTQwcHgpO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjRweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEFVVE8tSEVJR0hUIGhvc3RzIChvcHQtaW4gYXR0cmlidXRlLCAyMC4wNy4yMDI2KTogdGhlIGNvbXBvbmVudCB3cml0ZXMgdGhlXG4gICBhY3RpdmUgc3RlcCdzIG1lYXN1cmVkIG5hdHVyYWwgaGVpZ2h0IGFzIGFuIGlubGluZSBzdHlsZTsgdGhpcyB0cmFuc2l0aW9uXG4gICBtYWtlcyBzdGVwIGNoYW5nZXMgZ2xpZGUgb24gdGhlIFNBTUUgY3VydmUgYXMgdGhlIHdpZHRoLiBHYXRlZCBvbiB0aGVcbiAgIGF0dHJpYnV0ZSBzbyBmaXhlZC1oZWlnaHQgaG9zdHMgKE1hc3RlciBQaWNrZXIpIG5ldmVyIGFuaW1hdGUgaGVpZ2h0LiAqL1xuLnFkbmFwcm8td2l6YXJkLW1vZGFsW2F1dG8taGVpZ2h0XSAud20tc3RlcHMge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zOHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLyogRWFjaCBzdGVwIElTIHRoZSB3aGl0ZSB3aW5kb3cg4oCUIHNhbWUgYm9yZGVyIGFzIHFkbmFwcm8tbW9kYWwgLm1vZGFsLXdpbmRvdy4gKi9cbi5xZG5hcHJvLXdpemFyZC1zdGVwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAwLjVweCBzb2xpZCAjYzRjN2NjO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgb3BhY2l0eSAwLjI4cyBlYXNlO1xufVxuLnFkbmFwcm8td2l6YXJkLXN0ZXAud20tYWN0aXZlICAgIHsgdHJhbnNmb3JtOiBub25lOyBvcGFjaXR5OiAxOyB9XG4ucWRuYXByby13aXphcmQtc3RlcC53bS1vZmYtbGVmdCAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTcwcHgpOyBvcGFjaXR5OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuLnFkbmFwcm8td2l6YXJkLXN0ZXAud20tb2ZmLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDcwcHgpOyAgb3BhY2l0eTogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogT3B0aW9uYWwgY2VudGVyZWQgc2VnbWVudCAvIHRhYiBiYXIgdW5kZXIgdGhlIGhlYWRlciAobGlrZSBxZG5hcHJvLW1vZGFsJ3NcbiAgIHRhYnMgcm93LCBlLmcuIFwiVnJhZ2VuIHwgVGlqZHNpbnN0ZWxsaW5nZW5cIikuIERyb3AgYSBxZG5hcHJvLXNlZ21lbnQgaW4gYVxuICAgLndtLXRhYmJhcjsgb21pdCB0aGUgZWxlbWVudCB3aGVuIGl0J3Mgbm90IG5lZWRlZCAoPSBoaWRkZW4pLiBbS2ltIDIwMjYtMDYtMTVdICovXG4ud20tdGFiYmFyIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHBhZGRpbmc6IDZweCAxNnB4IDhweDsgZmxleC1zaHJpbms6IDA7IH1cblxuLyogd2l0aC1pbmZvIHN0ZXA6IHRyYW5zcGFyZW50IHNvIHRoZSBncmV5IGRpYWxvZyBmcmFtZSBzaG93cyBvbiB0aGUgbGVmdDsgYVxuICAgZ3JleSBpbmZvIHBhbmVsICsgOHB4IGdhcCArIHRoZSB3aGl0ZSBib3JkZXJlZCBtYWluLiBNaXJyb3JzIHFkbmFwcm8tbW9kYWwuICovXG4ucWRuYXByby13aXphcmQtc3RlcC53bS13aXRoLWluZm8ge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDhweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4ud20taW5mbyB7XG4gIGZsZXg6IDAgMCAyNjBweDtcbiAgbWluLXdpZHRoOiAwO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBwYWRkaW5nOiAxNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ud20taW5mby1oZWFkIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IH1cbi53bS1pbmZvLWhlYWQgcWRuYXByby1pY29uIHsgY29sb3I6ICM0MDQ5OWE7IH1cbi53bS1pbmZvLXRpdGxlIHsgZm9udC1zaXplOiAxNnB4OyBsaW5lLWhlaWdodDogMjRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6ICM0MDQ5OWE7IH1cbi53bS1pbmZvLXRleHQgeyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAyMnB4OyBjb2xvcjogIzFhMWY0ZDsgfVxuLndtLWluZm8taWxsdXN0cmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNnB4O1xuICBtYXJnaW4tYm90dG9tOiAtMTZweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAvKiBEZWNvcmF0aXZlIGlsbHVzdHJhdGlvbiBhbHdheXMgYXQgNjAlIG9wYWNpdHkgc28gaXQgc3RheXMgc3VidGxlIGJlaGluZFxuICAgICB0aGUgY29udGVudCwgY29uc2lzdGVudCBhY3Jvc3MgZXZlcnkgbW9kYWwuIFtLaW0gMjAyNi0wNi0xNV0gKi9cbiAgb3BhY2l0eTogMC42O1xufVxuLndtLWluZm8taWxsdXN0cmF0aW9uIHFkbmFwcm8taWxsdXN0cmF0aW9uLFxuLndtLWluZm8taWxsdXN0cmF0aW9uIGltZyxcbi53bS1pbmZvLWlsbHVzdHJhdGlvbiBzdmcgeyBkaXNwbGF5OiBibG9jazsgbWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH1cbi8qIFRoZSBETVMgZm9sZGVyLWFjY2VzcyByb2xlIGFydCBpcyB0YWxsIHBvcnRyYWl0OyB3aXRob3V0IGEgaGVpZ2h0IGNhcCBpdFxuICAgZmlsbHMgdGhlIHdob2xlIGluZm8gY29sdW1uLiBDYXAgaXQgc28gaXQgc2l0cyBhcyBhIHN1YnRsZSBib3R0b21cbiAgIGlsbHVzdHJhdGlvbiBsaWtlIHRoZSBsYW5kc2NhcGUgb25lcy4gU2NvcGVkIHRvIHRoZSByb2xlLSogYXNzZXRzIHNvIHRoZVxuICAgb3RoZXIgcGlja2VyIGNvbnN1bWVycyAodGVhbXMvbG9jYXRpb25zL0tQSXMpIGFyZSB1bnRvdWNoZWQuIFtLaW0gMjAyNi0wNy0yMV0gKi9cbi53bS1pbmZvLWlsbHVzdHJhdGlvbiBpbWdbc3JjKj1cInJvbGUtXCJdIHsgd2lkdGg6IGF1dG87IG1heC1oZWlnaHQ6IDMwMHB4OyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4ud20tbWFpbiB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMC41cHggc29saWQgI2M0YzdjYztcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gVGh1bWItb25seSBzY3JvbGxiYXJzIGZvciB0aGUgV0hPTEUgbW9kYWwgc3VidHJlZSAobmV2ZXIgYSBncmV5IHRyYWNrKSDigJQgc2FtZVxuLy8gcmF0aW9uYWxlIGFzIHFkbmFwcm8tbW9kYWw6IHN0ZXBzIGdldCBwb3B1bGF0ZWQgYWZ0ZXIgcmVuZGVyIGFuZCBicmluZyB0aGVpclxuLy8gb3duIHNjcm9sbCBjb250YWluZXJzLCBzbyB0aGUgZGVzY2VuZGFudCBjb21iaW5hdG9yIHN0b3BzIHRoZSBncmV5LXRyYWNrXG4vLyBkZWZhdWx0IGZyb20gc25lYWtpbmcgYmFjayBpbi4gV2Via2l0LW9ubHkgb24gcHVycG9zZS4gW0tpbSAyMDI2LTA2LTE1XVxuLnFkbmFwcm8td2l6YXJkLW1vZGFsIDo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogOHB4OyBoZWlnaHQ6IDhweDsgfVxuLnFkbmFwcm8td2l6YXJkLW1vZGFsIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuLnFkbmFwcm8td2l6YXJkLW1vZGFsIDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbi5xZG5hcHJvLXdpemFyZC1tb2RhbCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlO1xufVxuLnFkbmFwcm8td2l6YXJkLW1vZGFsICo6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLnFkbmFwcm8td2l6YXJkLW1vZGFsICo6Zm9jdXMtd2l0aGluOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7IGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yMik7IH1cbi5xZG5hcHJvLXdpemFyZC1tb2RhbCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjM0KTsgfVxuXG5Aa2V5ZnJhbWVzIHFkbmFwcm8td20tc2NyaW0taW4geyBmcm9tIHsgb3BhY2l0eTogMDsgfSB0byB7IG9wYWNpdHk6IDE7IH0gfVxuQGtleWZyYW1lcyBxZG5hcHJvLXdtLWRpYWxvZy1pbiB7IGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KSBzY2FsZSgwLjk4KTsgfSB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi8qIGRhcmsgdGhlbWUgKi9cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAud20tZGlhbG9nLFxuW2RhdGEtdGhlbWUtZGFya10gLndtLWRpYWxvZyB7IGJhY2tncm91bmQ6ICMxZjIyMjk7IGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTsgfVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXdpemFyZC1zdGVwLFxuW2RhdGEtdGhlbWUtZGFya10gLnFkbmFwcm8td2l6YXJkLXN0ZXAsXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLndtLW1haW4sXG5bZGF0YS10aGVtZS1kYXJrXSAud20tbWFpbiB7IGJhY2tncm91bmQ6ICMyYTJkMzY7IGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEwKTsgfVxuIiwiLy8gc2Nzcy9jb21wb25lbnRzL3YyL3VuaXQtdHlwZS9fdW5pdC10eXBlLnNjc3Ncbi8vIERpcmVjdCB2MiBwb3J0IG9mIHFkbmEtY2FyZC11bml0LXR5cGUg4oaSIHFkbmFwcm8tdW5pdC10eXBlLlxuLy8gVmlzdWFsbHkgaWRlbnRpY2FsIHRvIHYxICh1bml0VHlwZS5zY3NzKS4gT25seSB0aGUgY2xhc3MgbmFtZXMgY2hhbmdlZC5cblxucWRuYXByby11bml0LXR5cGUge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4ucWRuYXByby11bml0LXR5cGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtaW4taGVpZ2h0OiAxMjBweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNmY4O1xuICAgIH1cbn1cblxuLnFkbmFwcm8tdW5pdC10eXBlICosXG4ucWRuYXByby11bml0LXR5cGUgKjo6YmVmb3JlLFxuLnFkbmFwcm8tdW5pdC10eXBlICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4udXRjLXRvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMTZweDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAwLjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnV0Yy1pY29uIHtcbiAgICBmbGV4OiAwIDAgNDhweDtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLnV0Yy1jb250ZW50IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi51dGMtaGVhZGluZyB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLVR5cGUtRm9udC1GYW1pbHktcHJpbWFyeSwgSW50ZXIpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tRm9udC1zaXplLUJvZHktSW50ZXItbWVkaXVtLTE0LCAxNHB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1MaW5lLUhlaWdodC1Cb2R5LUJvZHktTWVkaXVtLUNhcHRpb24sIDI0cHgpO1xuICAgIGNvbG9yOiB2YXIoLS1UZXh0LUJvZHksICMwYjBiMGQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi51dGMtc3ViaGVhZGluZyB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLVR5cGUtRm9udC1GYW1pbHktcHJpbWFyeSwgSW50ZXIpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tRm9udC1zaXplLUJvZHktc21hbGwtMTIsIDEycHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLUxpbmUtSGVpZ2h0LUJvZHktQm9keS1TbWFsbCwgMjBweCk7XG4gICAgY29sb3I6IHZhcigtLVRleHQtQm9keS1TZWNvbmRhcnksICM2YjcyODApO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi51dGMtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW0gMC43NXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgJltoaWRkZW5dIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi51dGMtcGFpciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDRweDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgcGFkZGluZy1yaWdodDogMjRweDtcbn1cblxuLnV0Yy1sYWJlbCxcbi51dGMtdmFsdWUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1UeXBlLUZvbnQtRmFtaWx5LXByaW1hcnksIEludGVyKTtcbiAgICBmb250LXNpemU6IHZhcigtLUZvbnQtc2l6ZS1Cb2R5LXNtYWxsLTEyLCAxMnB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1MaW5lLUhlaWdodC1Cb2R5LUJvZHktU21hbGwsIDIwcHgpO1xuICAgIGNvbG9yOiB2YXIoLS1TdXJmYWNlLVNpZ25hbC1TaWduYWwtZ3JleS1EZXRhaWwsICM2YjcyODApO1xufVxuIiwiLy8gcWRuYXByby1kYXRlLWNhcm91c2VsIOKAlCBmbGF0IENTUyAoZ2VuZXJhdGVkIGZyb20gY29tcGlsZWQgb3V0cHV0LCAyOC4wNi4yMDI2KVxuLy8gRkxBVCBDU1MgUkVRVUlSRUQ6IHYyIGNvbXBvbmVudCBTQ1NTIG11c3QgYmUgZmxhdCBmb3IgUFdBIHN5bmMgKG5vICYgbmVzdGluZykuXG4vLyBUbyB1cGRhdGU6IGVkaXQgdGhlIFNDU1Mgd2l0aCBmbGF0IHNlbGVjdG9ycywgcnVuIGd1bHAgc2Fzcy12MSwgdGhlbiBub2RlIGFwcF9hcGlfcWRuYXYyL3N5bmMtdjItY29tcG9uZW50cy5qc1xuXG4ucWRuYXByby1kYXRlLWNhcm91c2VsIHtcbiAgLS1kYy1hY3RpdmU6ICMzYTQyOTA7XG4gIC0tZGMtY2FyZC1iZzogI2ZmZmZmZjtcbiAgLS1kYy1ib3JkZXI6IHJnYmEoNTgsIDY2LCAxNDQsIDAuMTMpO1xuICAtLWRjLWJvcmRlci1wYXN0OiByZ2JhKDU4LCA2NiwgMTQ0LCAwLjA3KTtcbiAgLS1kYy1uYW1lLWlkbGU6ICM5MDk2YzQ7XG4gIC0tZGMtZGF5LWlkbGU6ICM1MjVhYWE7XG4gIC0tZGMtbmFtZS1wYXN0OiAjYThhY2NjO1xuICAtLWRjLWRheS1wYXN0OiAjNzM3OGIwO1xuICAtLWRjLWRvdC1pZGxlOiByZ2JhKDU4LCA2NiwgMTQ0LCAwLjIyKTtcbiAgLS1kYy10aXRsZS1jb2xvcjogIzFhMTczMztcbiAgLS1kYy1tb250aC1jb2xvcjogIzUyNWFhYTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogZ3JhYjtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDAuNXB4IHNvbGlkIHZhcigtLWRjLWJvcmRlcik7XG4gIC8vIERlIGJyZWRlIHN0cmlwIHdvcmR0IHZpc3VlZWwgZ2VjbGlwdCB2aWEgY2xpcC1wYXRoIG9wIF9fc3RyaXAtd3JhcCwgbWFhclxuICAvLyBjbGlwLXBhdGggY29udGFpbnQgZGUgTEFZT1VULW92ZXJmbG93IG5pZXQg4oaSIGRlIHN0cmlwYnJlZWR0ZSBsZWt0ZSBuYWFyXG4gIC8vIC5xZG5hLWNvbnRlbnQtLXBhZ2UgKG92ZXJmbG93LXg6YXV0byBkb29yIG92ZXJmbG93LXk6b3ZlcmxheSkg4oaSIGhvcml6b250YWxlXG4gIC8vIHBhZ2Utc2Nyb2xsIG9wIGhvbWUuIG92ZXJmbG93LXg6Y2xpcCBjb250YWludCAndCB3w6lsOyBkZSB2ZXJ0aWNhbGUgYXMgYmxpamZ0XG4gIC8vIHZyaWogKGNsaXAgZm9yY2VlcnQgZGllIG5pZXQsIGFuZGVycyBkYW4gaGlkZGVuKSB6b2RhdCBkZSBncm93LWthYXJ0IGthblxuICAvLyB1aXRrbGFwcGVuLiBbMjkuMDYuMjAyNl1cbiAgb3ZlcmZsb3cteDogY2xpcDtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWwuaXMtZHJhZ2dpbmcge1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCA4cHg7XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG4gIG1heC1oZWlnaHQ6IDUycHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4yOHMgY3ViaWMtYmV6aWVyKDAuMiwgMCwgMCwgMSksIG1pbi1oZWlnaHQgMC4yOHMgY3ViaWMtYmV6aWVyKDAuMiwgMCwgMCwgMSksIG9wYWNpdHkgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMjhzIGN1YmljLWJlemllcigwLjIsIDAsIDAsIDEpO1xufVxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9faGVhZGVyLWluZm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDJweDtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX2hlYWRlci10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLWRjLXRpdGxlLWNvbG9yKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX2hlYWRlci1tb250aCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLWRjLW1vbnRoLWNvbG9yKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX3ZhbmRhYWctYnRuIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX3ZhbmRhYWctYnRuLmlzLXBvcHBpbmctaW4ge1xuICBhbmltYXRpb246IHFkbmFwcm8tZGMtYnRuLWluIDAuMzhzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKSBmb3J3YXJkcztcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX3ZhbmRhYWctYnRuLmlzLXBvcHBpbmctb3V0IHtcbiAgYW5pbWF0aW9uOiBxZG5hcHJvLWRjLWJ0bi1vdXQgMC4ycyBlYXNlLWluIGZvcndhcmRzO1xufVxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fc3RyaXAtd3JhcCB7XG4gIC8vIGNsaXAtcGF0aCBjbGlwcyBob3Jpem9udGFsbHkgb25seSAoY2FyZHMgc2Nyb2xsIG9mZiB0aGUgc2lkZXMpIGFuZCBsZWF2ZXNcbiAgLy8gdG9wL2JvdHRvbSBmcmVlIHNvIHRoZSBhY3RpdmUgY2FyZCBjYW4gc2NhbGUgdXAuIG92ZXJmbG93OmhpZGRlbiBjYW4ndCBkb1xuICAvLyBzaW5nbGUtYXhpcy4gVGhlIGVkZ2UtZmFkZSBtYXNrLCBob3dldmVyLCBvbmx5IGNvdmVycyBpdHMgb3duIGJvcmRlci1ib3gsXG4gIC8vIHNvIGEgY2FyZCBncm93aW5nIGFib3ZlIHRoZSBib3ggd291bGQgYmUgbWFza2VkIGF3YXkg4oCUIHRoZSB0b3AgcGFkZGluZyBnaXZlc1xuICAvLyB0aGUgbWFzayB2ZXJ0aWNhbCByb29tLCBhbmQgdGhlIG1hdGNoaW5nIG5lZ2F0aXZlIG1hcmdpbiBrZWVwcyB0aGUgY2FyZCByb3dcbiAgLy8gaW4gdGhlIHNhbWUgdmlzdWFsIHBvc2l0aW9uIChubyBsYXlvdXQgc2hpZnQpLlxuICBjbGlwLXBhdGg6IGluc2V0KC0yMDBweCAwcHggLTIwMHB4IDBweCk7XG4gIHBhZGRpbmc6IDEwcHggMCA4cHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICAtd2Via2l0LW1hc2s6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMCUsIGJsYWNrIDExJSwgYmxhY2sgODklLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgbWFzazogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAwJSwgYmxhY2sgMTElLCBibGFjayA4OSUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fc3RyaXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX2NhcmQge1xuICB3aWR0aDogNTZweDtcbiAgaGVpZ2h0OiA3MnB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjEycyBlYXNlLCBvcGFjaXR5IDAuMTJzIGVhc2UsIHdpZHRoIDAuMjhzIGN1YmljLWJlemllcigwLjIsIDAsIDAsIDEpLCBoZWlnaHQgMC4yOHMgY3ViaWMtYmV6aWVyKDAuMiwgMCwgMCwgMSksIGJvcmRlci1yYWRpdXMgMC4yOHMgY3ViaWMtYmV6aWVyKDAuMiwgMCwgMCwgMSk7XG59XG4ucWRuYXByby1kYXRlLWNhcm91c2VsX19jYXJkLS1pZGxlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tZGMtY2FyZC1iZyk7XG4gIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tZGMtYm9yZGVyKTtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX2NhcmQtLWlkbGUgLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC1uYW1lIHtcbiAgY29sb3I6IHZhcigtLWRjLW5hbWUtaWRsZSk7XG59XG4ucWRuYXByby1kYXRlLWNhcm91c2VsX19jYXJkLS1pZGxlIC5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX2NhcmQtZGF5IHtcbiAgY29sb3I6IHZhcigtLWRjLWRheS1pZGxlKTtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX2NhcmQtLWlkbGUgLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC1kb3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1kYy1kb3QtaWRsZSk7XG59XG4ucWRuYXByby1kYXRlLWNhcm91c2VsX19jYXJkLS1wYXN0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tZGMtY2FyZC1iZyk7XG4gIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tZGMtYm9yZGVyLXBhc3QpO1xuICBvcGFjaXR5OiAwLjQ4O1xufVxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC0tcGFzdCAucWRuYXByby1kYXRlLWNhcm91c2VsX19jYXJkLW5hbWUge1xuICBjb2xvcjogdmFyKC0tZGMtbmFtZS1wYXN0KTtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX2NhcmQtLXBhc3QgLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC1kYXkge1xuICBjb2xvcjogdmFyKC0tZGMtZGF5LXBhc3QpO1xufVxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC0tcGFzdCAucWRuYXByby1kYXRlLWNhcm91c2VsX19jYXJkLWRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWRjLWRvdC1pZGxlKTtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX2NhcmQtLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWRjLWFjdGl2ZSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX2NhcmQtLWFjdGl2ZSAucWRuYXByby1kYXRlLWNhcm91c2VsX19jYXJkLW5hbWUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xufVxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC0tYWN0aXZlIC5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX2NhcmQtZGF5IHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ucWRuYXByby1kYXRlLWNhcm91c2VsX19jYXJkLS1hY3RpdmUgLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC1kb3Qge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4ucWRuYXByby1kYXRlLWNhcm91c2VsX19jYXJkLW5hbWUge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTJzIGVhc2UsIGZvbnQtc2l6ZSAwLjI4cyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKSwgbWFyZ2luLWJvdHRvbSAwLjI4cyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKTtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX2NhcmQtZGF5IHtcbiAgZm9udC1zaXplOiAyM3B4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xMnMgZWFzZSwgZm9udC1zaXplIDAuMjhzIGN1YmljLWJlemllcigwLjIsIDAsIDAsIDEpO1xufVxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC1kb3Qge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG4ucWRuYXByby1kYXRlLWNhcm91c2VsIC5kcmFnLW1vZGUgLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC0tYWN0aXZlOm5vdCguaXMtZ3Jvd2luZykge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE4cyBlYXNlO1xufVxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC5pcy1wcmVzc2luZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44Nik7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA5cyBlYXNlLWluO1xufVxuXG4vLyAtLS0tIENvbXBhY3QgKGNvbGxhcHNlZCkgc3RhdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVG9nZ2xlZCB2aWEgdGhlIGBjb21wYWN0YCBhdHRyaWJ1dGUgKHRoZSBob3N0IHBhZ2Ugc2V0cyBpdCBvbiBzY3JvbGwpLlxuLy8gSGVhZGVyIGNvbGxhcHNlcyBhd2F5LCBjYXJkcyBzaHJpbms7IHRoZSBzdHJpcCBzdGF5cyBzY3JvbGxhYmxlIGFuZCB0aGVcbi8vIGFjdGl2ZSBkYXkgcmUtY2VudHJlcyAodGhlIEpTIGNlbnRyaW5nIG1hdGggcmVhZHMgQ0FSRF9XX0NPTVBBQ1QgdG8gbWF0Y2gpLlxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbFtjb21wYWN0XSAucWRuYXByby1kYXRlLWNhcm91c2VsX19oZWFkZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbFtjb21wYWN0XSAucWRuYXByby1kYXRlLWNhcm91c2VsX19jYXJkIHtcbiAgd2lkdGg6IDM4cHg7XG4gIGhlaWdodDogNDRweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxbY29tcGFjdF0gLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC1uYW1lIHtcbiAgZm9udC1zaXplOiA5cHg7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxbY29tcGFjdF0gLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC1kYXkge1xuICBmb250LXNpemU6IDE1cHg7XG59XG4ucWRuYXByby1kYXRlLWNhcm91c2VsW2NvbXBhY3RdIC5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxfX2NhcmQtZG90IHtcbiAgd2lkdGg6IDNweDtcbiAgaGVpZ2h0OiAzcHg7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cbi5xZG5hcHJvLWRhdGUtY2Fyb3VzZWxbY29tcGFjdF0gLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fc3RyaXAtd3JhcCB7XG4gIHBhZGRpbmc6IDZweCAwO1xuICBtYXJnaW4tdG9wOiAtNnB4O1xufVxuXG5Aa2V5ZnJhbWVzIHFkbmFwcm8tZGMtZ3JvdyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDU1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcWRuYXByby1kYy1wb3Age1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjg2KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xMik7XG4gIH1cbiAgNzIlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTYpO1xuICB9XG4gIDg3JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHFkbmFwcm8tZGMtY29uZmlybSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xuICB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHFkbmFwcm8tZGMtd2lnZ2xlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpO1xuICB9XG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkzKSByb3RhdGUoLTNkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KSByb3RhdGUoMi41ZGVnKTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCkgcm90YXRlKC0xZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC5pcy1ncm93aW5nIHtcbiAgYW5pbWF0aW9uOiBxZG5hcHJvLWRjLWdyb3cgMC4zMnMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpIGZvcndhcmRzO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuLnFkbmFwcm8tZGF0ZS1jYXJvdXNlbF9fY2FyZC5pcy1wb3BwaW5nIHtcbiAgYW5pbWF0aW9uOiBxZG5hcHJvLWRjLXBvcCAwLjQ4cyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSkgZm9yd2FyZHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4ucWRuYXByby1kYXRlLWNhcm91c2VsX19jYXJkLmlzLWNvbmZpcm1pbmcge1xuICBhbmltYXRpb246IHFkbmFwcm8tZGMtY29uZmlybSAwLjQycyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSkgZm9yd2FyZHM7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4ucWRuYXByby1kYXRlLWNhcm91c2VsX19jYXJkLmlzLXdpZ2dsZSB7XG4gIGFuaW1hdGlvbjogcWRuYXByby1kYy13aWdnbGUgMC4zNnMgZWFzZSBmb3J3YXJkcztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuQGtleWZyYW1lcyBxZG5hcHJvLWRjLWJ0bi1pbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA2NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBxZG5hcHJvLWRjLWJ0bi1vdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDM1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC40KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCIvLyBxZG5hcHJvLXVuaXQtY2FyZCDigJQgUFdBIHVuaXQtc2VsZWN0IHRpbGUuIEZvdXIgdmlldyBtb2Rlcy5cbi8vIEZMQVQgQ1NTOyBjb2xvdXJzL3JhZGlpIGZyb20gdGhlIGRlc2lnbi10b2tlbiA6cm9vdCAodmFyKC0tYy0qKSAvIC0tci0qKS5cbi8vIEVkaXQgSEVSRSwgdGhlbiBydW4gYGd1bHAgc2Fzcy12MWAgKGxpYnJhcnkpICsgdGhlIHN5bmMgKFBXQSkuXG4vL1xuLy8gVmlldyBtb2RlcyAoSlMgYWRkcyB0aGUgY2xhc3MgZnJvbSB0aGUgYHZpZXdgIGF0dHJpYnV0ZSk6XG4vLyAgIC52aWV3LWdyaWQtY29tcGFjdCAgIG5hcnJvdyAzLWNvbCBjYXJkIChkZWZhdWx0KVxuLy8gICAudmlldy1ncmlkLXN0YW5kYXJkICB3aWRlciAyLWNvbCBjYXJkXG4vLyAgIC52aWV3LWxpc3QtY29tcGFjdCAgIGRlbnNlIDEtY29sIGhvcml6b250YWwgcm93XG4vLyAgIC52aWV3LWxpc3QtbGFyZ2UgICAgIHJvb215IDEtY29sIGhvcml6b250YWwgcm93XG4vLyBTdGF0ZXM6XG4vLyAgIC5pcy1zZWxlY3RlZCAgIHB1cnBsZSBnbG93ICsgY2hlY2ttYXJrIGJhZGdlIHZpc2libGVcbi8vICAgLnN0YXR1cy1wcm9ibGVtICByZWQgbGVmdC1ib3JkZXIgYWNjZW50IChsaXN0IG1vZGVzIG9ubHkpXG4vLyBEeW5hbWljIENTUyB2YXJzIChzZXQgaW5saW5lIGJ5IEpTIHZpYSBzdHlsZS5zZXRQcm9wZXJ0eSk6XG4vLyAgIC0tdWMtZmItYmcgICBmYWxsYmFjayBiYWNrZ3JvdW5kIGNvbG91ciAgKGhhc2gtZGVyaXZlZClcbi8vICAgLS11Yy1mYi1mZyAgIGZhbGxiYWNrIHRleHQgY29sb3VyICAgICAgICAgKGhhc2gtZGVyaXZlZClcblxuLy8gSG9zdDogTk8gY2xpcHBpbmcsIE5PIGNocm9tZS4gSnVzdCB0aGUgZmxleCBib3ggKyBwb3NpdGlvbiBjb250ZXh0ICsgcHJlc3MvZ2xvd1xuLy8gdHJhbnNpdGlvbnMuIFRoZSBtYW5kYXRvcnkgYmFkZ2UgaXMgYSBkaXJlY3QgaG9zdCBjaGlsZCAoc2libGluZyBvZiBfX2ZyYW1lKSBhbmRcbi8vIG5lZWRzIHRoZSBob3N0J3Mgb3ZlcmZsb3c6dmlzaWJsZSB0byBvdmVyaGFuZyB0aGUgY2FyZCdzIGNvcm5lci4gQm9yZGVyL3JhZGl1cy9cbi8vIGJhY2tncm91bmQvb3ZlcmZsb3c6aGlkZGVuIG5vdyBsaXZlIG9uIC5xZG5hcHJvLXVuaXQtY2FyZF9fZnJhbWUgYmVsb3csIHdoaWNoIGlzXG4vLyB0aGUgaG9zdCdzIHNpbmdsZSBmbGV4IGNoaWxkIGFuZCBmaWxscyBpdCBpbiBib3RoIGRpbWVuc2lvbnMuIFtLaW0gMjAyNi0wNy0xNV1cbi5xZG5hcHJvLXVuaXQtY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8vIERlY2xhcmUgdGhlIGZvbnQgc28gdGhlIHRpbGUgcmVuZGVycyBpbiBJbnRlciBldmVyeXdoZXJlLCBpbnN0ZWFkIG9mIGluaGVyaXRpbmcgdGhlXG4gIC8vIGhvc3QgcGFnZSBmb250IChlLmcuIHRoZSBQV0EncyBNb250c2VycmF0IHRoZW1lIGZvbnQpLiB2MiBjb21wb25lbnRzIGFyZSBkZXNpZ25lZCBpbiBJbnRlci5cbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmO1xuICAvLyBSZWxlYXNlID0gYSBzcHJpbmd5IFwicG9wXCIgYmFjayAob3ZlcnNob290IGVhc2luZykg4oCUIHRoZSBzYXRpc2Z5aW5nIHBhcnQuIFByZXNzLWRvd25cbiAgLy8gb3ZlcnJpZGVzIHRoaXMgd2l0aCBhIGZhc3RlciBzbmFwIChzZWUgLmlzLXByZXNzaW5nKS4gT25seSB0aGUgcHJvcHMgdGhhdCBzdGlsbCBsaXZlXG4gIC8vIG9uIHRoZSBob3N0OiBwcmVzcy1zY2FsZSArIHRoZSBzZWxlY3RlZCBnbG93IChib3gtc2hhZG93KS4gYm9yZGVyLWNvbG9yL2JhY2tncm91bmRcbiAgLy8gdHJhbnNpdGlvbnMgbW92ZWQgdG8gdGhlIGZyYW1lIHdpdGggdGhlaXIgcnVsZXMuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNzBtcyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSksIGJveC1zaGFkb3cgMTIwbXMgZWFzZTtcbn1cbi8vIEZyYW1lOiB0aGUgYWN0dWFsIGNhcmQgY2hyb21lICsgY2xpcC4gU2luZ2xlIGZsZXggY2hpbGQgb2YgdGhlIGhvc3QsIHN0cmV0Y2hlcyB0b1xuLy8gZmlsbCBpdCAoZmxleCBkZWZhdWx0IGFsaWduLWl0ZW1zOiBzdHJldGNoKSwgaG9sZHMgZXZlcnl0aGluZyBleGNlcHQgdGhlXG4vLyBtYW5kYXRvcnkgYmFkZ2Ugc28gdGhlIGJhZGdlIGNhbiBvdmVyaGFuZyB0aGlzIGZyYW1lJ3Mgcm91bmRlZCBjb3JuZXIuXG4ucWRuYXByby11bml0LWNhcmRfX2ZyYW1lIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWMtYm9yZGVyLXNvZnQtMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxMjBtcyBlYXNlLCBiYWNrZ3JvdW5kIDEyMG1zIGVhc2U7XG59XG4vLyBUYWN0aWxlIHByZXNzOiBxdWljayBkaXAgaW4sIHNpemVkIHNvIGl0J3MgZmVsdCBidXQgbmV2ZXIgc2x1Z2dpc2guXG4ucWRuYXByby11bml0LWNhcmQuaXMtcHJlc3Npbmcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNzBtcyBlYXNlLW91dDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5xZG5hcHJvLXVuaXQtY2FyZCxcbiAgLnFkbmFwcm8tdW5pdC1jYXJkLmlzLXByZXNzaW5nIHsgdHJhbnNpdGlvbjogbm9uZTsgdHJhbnNmb3JtOiBub25lOyB9XG59XG5cbi8vIEdSSUQgTU9ERVMg4oCUIGNvbHVtbiBsYXlvdXQsIG5hbWUgYWJvdmUgaW1hZ2Vcbi5xZG5hcHJvLXVuaXQtY2FyZC52aWV3LWdyaWQtY29tcGFjdCAucWRuYXByby11bml0LWNhcmRfX2ZyYW1lLFxuLnFkbmFwcm8tdW5pdC1jYXJkLnZpZXctZ3JpZC1zdGFuZGFyZCAucWRuYXByby11bml0LWNhcmRfX2ZyYW1lIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5xZG5hcHJvLXVuaXQtY2FyZC52aWV3LWdyaWQtY29tcGFjdCAucWRuYXByby11bml0LWNhcmRfX25hbWUsXG4ucWRuYXByby11bml0LWNhcmQudmlldy1ncmlkLXN0YW5kYXJkIC5xZG5hcHJvLXVuaXQtY2FyZF9fbmFtZSB7XG4gIC8vIGZsZXgtZ3JvdzogbmFtZSBhcmVhIGFic29yYnMgdGhlIGNhcmQncyBleHRyYSBoZWlnaHQgc28gaXQgZXF1YWxpc2VzIHRvIHRoZSB0YWxsZXN0XG4gIC8vIG5hbWUgaW4gdGhlIHJvdyAoaW1hZ2UgKyBzdGF0dXMgYmFubmVyIHRoZW4gYWxpZ24gYWNyb3NzIGNhcmRzKTsgaW1hZ2Ugc3RheXMgc3F1YXJlLlxuICBmbGV4OiAxIDAgYXV0bztcbiAgcGFkZGluZzogOHB4IDZweCA2cHg7XG4gIGZvbnQtc2l6ZTogMTRweDsgLy8gbWluIDE0cHgsIGFsc28gaW4gdGhlIGNvbXBhY3QgdmlldyAoS2ltIDI0LjA2LjIwMjYpXG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtaGVhZGluZyk7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7IC8vIHdyYXAgdXAgdG8gMyBsaW5lcywgdGhlbiBlbGxpcHNpcyAo4oCmKVxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAgIC8vIGRlZmVuc2l2ZTogbmV2ZXIgbGV0IGEgZ2xvYmFsIG5vd3JhcCBjb2xsYXBzZSB0aGUgbmFtZVxuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnFkbmFwcm8tdW5pdC1jYXJkLnZpZXctZ3JpZC1jb21wYWN0IC5xZG5hcHJvLXVuaXQtY2FyZF9faW1hZ2Utd3JhcCxcbi5xZG5hcHJvLXVuaXQtY2FyZC52aWV3LWdyaWQtc3RhbmRhcmQgLnFkbmFwcm8tdW5pdC1jYXJkX19pbWFnZS13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7IC8vIHVuaXQgcGhvdG9zIGFyZSBzdG9yZWQgYXMgYSBzcXVhcmUgY3JvcCAoMzAweDMwMCkg4oaSIHVuaWZvcm0gY2FyZHNcbiAgZmxleC1zaHJpbms6IDA7ICAgICAgLy8gaW1hZ2Uga2VlcHMgaXRzIHNpemU7IGV4dHJhIHJvdyBoZWlnaHQgZ29lcyB0byB0aGUgbmFtZSBhcmVhLCBub3QgdGhlIHBob3RvXG59XG4ucWRuYXByby11bml0LWNhcmQudmlldy1ncmlkLWNvbXBhY3QgLnFkbmFwcm8tdW5pdC1jYXJkX19jaGVjay1iYWRnZSxcbi5xZG5hcHJvLXVuaXQtY2FyZC52aWV3LWdyaWQtc3RhbmRhcmQgLnFkbmFwcm8tdW5pdC1jYXJkX19jaGVjay1iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA2cHg7XG4gIHJpZ2h0OiA2cHg7XG59XG4ucWRuYXByby11bml0LWNhcmQudmlldy1ncmlkLXN0YW5kYXJkIC5xZG5hcHJvLXVuaXQtY2FyZF9fbmFtZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgcGFkZGluZzogOXB4IDExcHggN3B4O1xufVxuLnFkbmFwcm8tdW5pdC1jYXJkLnZpZXctZ3JpZC1zdGFuZGFyZCAucWRuYXByby11bml0LWNhcmRfX2ZhbGxiYWNrLWFiYnIge1xuICBmb250LXNpemU6IDI0cHg7XG59XG4ucWRuYXByby11bml0LWNhcmQudmlldy1ncmlkLXN0YW5kYXJkIC5xZG5hcHJvLXVuaXQtY2FyZF9fY2hlY2stYmFkZ2Uge1xuICBib3R0b206IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbn1cblxuLy8gTElTVCBNT0RFUyDigJQgcm93IGxheW91dCwgaW1hZ2UgbGVmdFxuLnFkbmFwcm8tdW5pdC1jYXJkLnZpZXctbGlzdC1jb21wYWN0IC5xZG5hcHJvLXVuaXQtY2FyZF9fZnJhbWUsXG4ucWRuYXByby11bml0LWNhcmQudmlldy1saXN0LWxhcmdlIC5xZG5hcHJvLXVuaXQtY2FyZF9fZnJhbWUge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnFkbmFwcm8tdW5pdC1jYXJkLnZpZXctbGlzdC1jb21wYWN0IC5xZG5hcHJvLXVuaXQtY2FyZF9faW1hZ2Utd3JhcCxcbi5xZG5hcHJvLXVuaXQtY2FyZC52aWV3LWxpc3QtbGFyZ2UgLnFkbmFwcm8tdW5pdC1jYXJkX19pbWFnZS13cmFwIHtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG9yZGVyOiAtMTsgLy8gRE9NIG9yZGVyIGlzIG5hbWUtZmlyc3QgKGZvciBncmlkKTsgcHVsbCB0aGUgaW1hZ2UgYmFjayB0byB0aGUgbGVmdCBpbiBhIHJvd1xufVxuLy8gVGhlIGF1ZGl0LW91dGNvbWUgYmFubmVyIGlzIGEgZ3JpZCBmZWF0dXJlOyBhIGxpc3Qgcm93IHN0YXlzIHNpbmdsZS1saW5lLlxuLnFkbmFwcm8tdW5pdC1jYXJkLnZpZXctbGlzdC1jb21wYWN0IC5xZG5hcHJvLXVuaXQtY2FyZF9fc3RhdHVzLWJhcixcbi5xZG5hcHJvLXVuaXQtY2FyZC52aWV3LWxpc3QtbGFyZ2UgLnFkbmFwcm8tdW5pdC1jYXJkX19zdGF0dXMtYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5xZG5hcHJvLXVuaXQtY2FyZC52aWV3LWxpc3QtY29tcGFjdCAucWRuYXByby11bml0LWNhcmRfX25hbWUsXG4ucWRuYXByby11bml0LWNhcmQudmlldy1saXN0LWxhcmdlIC5xZG5hcHJvLXVuaXQtY2FyZF9fbmFtZSB7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgZm9udC1zaXplOiAxNHB4OyAvLyBtaW4gMTRweFxuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tYy10ZXh0LWhlYWRpbmcpO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnFkbmFwcm8tdW5pdC1jYXJkLnZpZXctbGlzdC1jb21wYWN0IC5xZG5hcHJvLXVuaXQtY2FyZF9fY2hlY2stYmFkZ2UsXG4ucWRuYXByby11bml0LWNhcmQudmlldy1saXN0LWxhcmdlIC5xZG5hcHJvLXVuaXQtY2FyZF9fY2hlY2stYmFkZ2Uge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnFkbmFwcm8tdW5pdC1jYXJkLnZpZXctbGlzdC1sYXJnZSAucWRuYXByby11bml0LWNhcmRfX2ltYWdlLXdyYXAge1xuICB3aWR0aDogNjRweDtcbiAgaGVpZ2h0OiA2NHB4O1xufVxuLnFkbmFwcm8tdW5pdC1jYXJkLnZpZXctbGlzdC1sYXJnZSAucWRuYXByby11bml0LWNhcmRfX25hbWUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ucWRuYXByby11bml0LWNhcmQudmlldy1saXN0LWxhcmdlIC5xZG5hcHJvLXVuaXQtY2FyZF9fY2hlY2stYmFkZ2Uge1xuICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG59XG5cbi8vIGZsYXQg4oCUIGxpc3QgbW9kZXMgb25seS4gTm8gY2FyZCBib3JkZXIvcmFkaXVzLCBqdXN0IGEgYm90dG9tIGtleWxpbmUsIHNvIGEgc3RhY2tcbi8vIG9mIGNhcmRzIHJlYWRzIGFzIHRhYmxlIHJvd3MgaW5zdGVhZCBvZiBzZXBhcmF0ZSB0aWxlcy4gTWlycm9ycyB0aGUgXCJib3JkZXI6XG4vLyB0cmFuc3BhcmVudCArIGJvcmRlci1ib3R0b206IHJlYWxcIiBpZGlvbSBhbHJlYWR5IHVzZWQgYnkgcWRuYXByby11bml0LWlucHV0LXJvdydzXG4vLyBkZWZhdWx0IChub24tYm9yZGVybGVzcykgbG9vayDigJQgc2FtZSBpZGVhLCBwb3J0ZWQgaGVyZS4gWzIwMjYtMDctMDFdXG4ucWRuYXByby11bml0LWNhcmQuZmxhdC52aWV3LWxpc3QtY29tcGFjdCAucWRuYXByby11bml0LWNhcmRfX2ZyYW1lLFxuLnFkbmFwcm8tdW5pdC1jYXJkLmZsYXQudmlldy1saXN0LWxhcmdlIC5xZG5hcHJvLXVuaXQtY2FyZF9fZnJhbWUge1xuICBib3JkZXI6IDEuNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy1ib3JkZXItc29mdCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIGNsZWFyYWJsZSBjaGVja2JveCDigJQgbGlzdCBtb2RlcyBvbmx5IChzYW1lIHNjb3BpbmcgYXMgdGhlIHN0YXR1cy1iYXIgYmVpbmdcbi8vIGdyaWQtb25seSBhYm92ZSkuIFRyYWlsaW5nIGZsZXggY2hpbGQsIHNpdHMgYWZ0ZXIgdGhlIGNoZWNrLWJhZGdlLiBTaGFwZS9zaXplL1xuLy8gY29sb3VyL2hvdmVyL2ZvY3VzIGFsbCBjb21lIGZyb20gcWRuYXByby1jaGVja2JveCdzIG93biBjb21wb25lbnQgQ1NTIChpdCdzXG4vLyByZW5kZXJlZCBzaXplPVwidG91Y2hcIikg4oCUIHRoaXMgb25seSBoYW5kbGVzIGl0cyBwb3NpdGlvbiBpbiB0aGUgcm93LiBbMjAyNi0wNy0wMV1cbi5xZG5hcHJvLXVuaXQtY2FyZF9fY2xlYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnFkbmFwcm8tdW5pdC1jYXJkLnZpZXctbGlzdC1jb21wYWN0IC5xZG5hcHJvLXVuaXQtY2FyZF9fY2xlYXIsXG4ucWRuYXByby11bml0LWNhcmQudmlldy1saXN0LWxhcmdlIC5xZG5hcHJvLXVuaXQtY2FyZF9fY2xlYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbn1cblxuLy8gSU5URVJOQUxTXG4ucWRuYXByby11bml0LWNhcmRfX2ltYWdlLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2Y2ZjdmYjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5xZG5hcHJvLXVuaXQtY2FyZF9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluOyAvLyBwaG90b3MgYXJlIHNxdWFyZSBjcm9wczsgY29udGFpbiBzaG93cyB0aGUgd2hvbGUgcGFjaywgbm8gY3JvcHBpbmdcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucWRuYXByby11bml0LWNhcmRfX2ZhbGxiYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogNjhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHZhcigtLXVjLWZiLWJnLCAjZWVmMGZiKTtcbn1cbi5xZG5hcHJvLXVuaXQtY2FyZF9fZmFsbGJhY2stYWJiciB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tdWMtZmItZmcsICM0YTUyYTApO1xufVxuLnFkbmFwcm8tdW5pdC1jYXJkX19jaGVjay1iYWRnZSB7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1icmFuZC1wdXJwbGUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1vbi1hY3Rpb24pO1xuICBmbGV4LXNocmluazogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC40KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBlYXNlLCB0cmFuc2Zvcm0gMjIwbXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xufVxuLnFkbmFwcm8tdW5pdC1jYXJkX19jaGVjay1iYWRnZSBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5xZG5hcHJvLXVuaXQtY2FyZF9fbHAtcmluZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlcjogMi41cHggc29saWQgdmFyKC0tYy1icmFuZC1wdXJwbGUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8gQXVkaXQtb3V0Y29tZSBiYW5uZXIgKGdyaWQgYm90dG9tKS4gQ29sb3VyIHBlciByZXN1bHQtKiBjbGFzczsgbGFiZWwgdGV4dCBpcyBwYXNzZWQgaW4uXG4vLyB6LWluZGV4IDIga2VlcHMgaXQgYWJvdmUgdGhlIHNlbGVjdGVkIHNjcmltICg6OmFmdGVyLCB6LWluZGV4IDEpLCBsaWtlIHRoZSBjaGVjayBiYWRnZS5cbi5xZG5hcHJvLXVuaXQtY2FyZF9fc3RhdHVzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBwYWRkaW5nOiA3cHggMTBweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBmbGV4LXNocmluazogMDsgLy8gZml4ZWQtaGVpZ2h0IGJhbm5lcjsgbmV2ZXIgY29tcHJlc3NlcyB3aGVuIHRoZSBuYW1lIGFyZWEgZ3Jvd3Ncbn1cbi5xZG5hcHJvLXVuaXQtY2FyZF9fc3RhdHVzLWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbn1cbi5xZG5hcHJvLXVuaXQtY2FyZF9fc3RhdHVzLWljb24gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vLyBMYWJlbCBzdGF5cyBvbiBPTkUgbGluZTsgaWYgaXQgZG9lc24ndCBmaXQgaXQgdHJ1bmNhdGVzIHdpdGgg4oCmIGluc3RlYWQgb2Ygd3JhcHBpbmdcbi8vICh3aGljaCB3b3VsZCBncm93IHRoZSBiYW5uZXIgYW5kIGJyZWFrIHRoZSBjYXJkIGxheW91dCkuIG1pbi13aWR0aDowIGxldHMgdGhlIGZsZXhcbi8vIGl0ZW0gc2hyaW5rIHNvIHRleHQtb3ZlcmZsb3cgY2FuIGtpY2sgaW4uXG4ucWRuYXByby11bml0LWNhcmRfX3N0YXR1cy1sYWJlbCB7XG4gIG1pbi13aWR0aDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4ucWRuYXByby11bml0LWNhcmQucmVzdWx0LW9rICAgICAgICAgLnFkbmFwcm8tdW5pdC1jYXJkX19zdGF0dXMtYmFyIHsgYmFja2dyb3VuZDogIzZiYjZhYjsgfVxuLnFkbmFwcm8tdW5pdC1jYXJkLnJlc3VsdC1ub3Qtb2sgICAgIC5xZG5hcHJvLXVuaXQtY2FyZF9fc3RhdHVzLWJhciB7IGJhY2tncm91bmQ6ICNkZTUwNjY7IH1cbi5xZG5hcHJvLXVuaXQtY2FyZC5yZXN1bHQtZnV0dXJlLWZpeCAucWRuYXByby11bml0LWNhcmRfX3N0YXR1cy1iYXIgeyBiYWNrZ3JvdW5kOiAjZWY4ZTAxOyB9XG4ucWRuYXByby11bml0LWNhcmQucmVzdWx0LWlzc3VlICAgICAgLnFkbmFwcm8tdW5pdC1jYXJkX19zdGF0dXMtYmFyIHsgYmFja2dyb3VuZDogIzhhNGVhMDsgfSAvLyBwbGFjZWhvbGRlciDigJQgY29uZmlybSB3aXRoIEtpbVxuXG4vLyBXaGVuIGEgYmFubmVyIGlzIHByZXNlbnQgKGdyaWQpLCBsaWZ0IHRoZSBjaGVjayBiYWRnZSBhYm92ZSBpdCBzbyBpdCBzdGF5cyBvbiB0aGUgcGhvdG8uXG4ucWRuYXByby11bml0LWNhcmQuaGFzLXJlc3VsdC52aWV3LWdyaWQtY29tcGFjdCAucWRuYXByby11bml0LWNhcmRfX2NoZWNrLWJhZGdlLFxuLnFkbmFwcm8tdW5pdC1jYXJkLmhhcy1yZXN1bHQudmlldy1ncmlkLXN0YW5kYXJkIC5xZG5hcHJvLXVuaXQtY2FyZF9fY2hlY2stYmFkZ2Uge1xuICBib3R0b206IDM2cHg7XG59XG5cbi8vIFNUQVRFU1xuLy8gYm94LXNoYWRvdyAoZ2xvdykgc3RheXMgb24gdGhlIGhvc3Q6IGl0IHJlbmRlcnMgT1VUU0lERSB0aGUgYm94LCBzbyBpdCBuZWVkcyB0aGVcbi8vIGhvc3QncyBvdmVyZmxvdzp2aXNpYmxlLiBCYWNrZ3JvdW5kIG1vdmVzIHRvIHRoZSBmcmFtZSAodGhlIGZyYW1lIGlzIHdoYXQgaGFzIHRoZVxuLy8gdmlzaWJsZSBjYXJkIHN1cmZhY2Ugbm93KS5cbi5xZG5hcHJvLXVuaXQtY2FyZC5pcy1zZWxlY3RlZCB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1mb2N1cy1nbG93KTtcbn1cbi5xZG5hcHJvLXVuaXQtY2FyZC5pcy1zZWxlY3RlZCAucWRuYXByby11bml0LWNhcmRfX2ZyYW1lIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1zdWJ0bGUtcHVycGxlKTtcbn1cbi8vIFNlbWktdHJhbnNwYXJlbnQgZGFyayBzY3JpbSBvdmVyIHRoZSB3aG9sZSB0aWxlIHdoZW4gc2VsZWN0ZWQgKGltYWdlICsgbmFtZSkuIExpdmVzXG4vLyBvbiB0aGUgZnJhbWUgKHBvc2l0aW9uOnJlbGF0aXZlLCBvdmVyZmxvdzpoaWRkZW4pIHNvIGl0IGNsaXBzIHRvIHRoZSBmcmFtZSdzIHJvdW5kZWRcbi8vIGNvcm5lcnMgYW5kIOKAlCBjcml0aWNhbGx5IOKAlCBkb2VzIE5PVCBjb3ZlciB0aGUgb3ZlcmhhbmdpbmcgbWFuZGF0b3J5IGJhZGdlLCB3aGljaCBpc1xuLy8gb3V0c2lkZSB0aGUgZnJhbWUuIFRoZSBjaGVjayBiYWRnZSBzaXRzIGFib3ZlIGl0ICh6LWluZGV4KS4gQ29sb3VyL29wYWNpdHkgaXMgYVxuLy8gcGxhY2Vob2xkZXIgcGVuZGluZyB0aGUgZXhhY3QgRmlnbWEgdmFsdWUgKDYuMSBVbml0IEF1ZGl0IFN0YXJ0Ll91bml0IHNlbGVjdCkuXG4ucWRuYXByby11bml0LWNhcmQuaXMtc2VsZWN0ZWQgLnFkbmFwcm8tdW5pdC1jYXJkX19mcmFtZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI2LCAzMSwgNzcsIDAuMzIpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTtcbn1cbi5xZG5hcHJvLXVuaXQtY2FyZC5pcy1zZWxlY3RlZCAucWRuYXByby11bml0LWNhcmRfX2NoZWNrLWJhZGdlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgei1pbmRleDogMjtcbiAgYW5pbWF0aW9uOiB1Yy1iYWRnZS1wb3AgMC41MnMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNSwgMSk7XG59XG5cbi8vIERyYXctaW4gY2hlY2ttYXJrIHBhdGhcbi5xZG5hcHJvLXVuaXQtY2FyZF9fY2hlY2stcGF0aCB7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDIzO1xuICBzdHJva2UtZGFzaG9mZnNldDogMjM7XG4gIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IDAuMTVzIGVhc2U7XG59XG4ucWRuYXByby11bml0LWNhcmQuaXMtc2VsZWN0ZWQgLnFkbmFwcm8tdW5pdC1jYXJkX19jaGVjay1wYXRoIHtcbiAgYW5pbWF0aW9uOiB1Yy1kcmF3IDAuMzhzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSAwLjA0cyBmb3J3YXJkcztcbn1cblxuQGtleWZyYW1lcyB1Yy1iYWRnZS1wb3Age1xuICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpICAgIHJvdGF0ZSgwZGVnKTsgIH1cbiAgMjAlICB7IHRyYW5zZm9ybTogc2NhbGUoMS4yMikgICByb3RhdGUoLTVkZWcpOyB9XG4gIDQ0JSAgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTApICAgcm90YXRlKDNkZWcpOyAgfVxuICA2NCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KSAgIHJvdGF0ZSgtMWRlZyk7IH1cbiAgODAlICB7IHRyYW5zZm9ybTogc2NhbGUoMC45NykgICByb3RhdGUoMGRlZyk7ICB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpICAgICAgcm90YXRlKDBkZWcpOyAgfVxufVxuXG5Aa2V5ZnJhbWVzIHVjLWRyYXcge1xuICAwJSAgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDIzOyAgfVxuICA2MiUgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0xOyAgfVxuICA4MCUgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDAuNzsgfVxuICAxMDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7ICAgfVxufVxuLnFkbmFwcm8tdW5pdC1jYXJkLnN0YXR1cy1wcm9ibGVtLnZpZXctbGlzdC1jb21wYWN0IC5xZG5hcHJvLXVuaXQtY2FyZF9fZnJhbWUsXG4ucWRuYXByby11bml0LWNhcmQuc3RhdHVzLXByb2JsZW0udmlldy1saXN0LWxhcmdlIC5xZG5hcHJvLXVuaXQtY2FyZF9fZnJhbWUge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2UwNDA2MDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDNweDtcbn1cblxuLy8gTWFuZGF0b3J5IG1hcmtlciAoYm9vbGVhbiBgbWFuZGF0b3J5YCBhdHRyKSDigJQgcmVkIHJvdW5kIGFzdGVyaXNrIGJhZGdlIHRoYXRcbi8vIE9WRVJIQU5HUyB0aGUgY2FyZCdzIHRvcC1yaWdodCBjb3JuZXIsIGhhbGYgb3V0c2lkZSB0aGUgdGlsZSwgbGlrZSBhIG5vdGlmaWNhdGlvblxuLy8gYmFkZ2UuIFBvc3NpYmxlIG5vdyBiZWNhdXNlIHRoZSBiYWRnZSBpcyBhIGRpcmVjdCBIT1NUIGNoaWxkIChzaWJsaW5nIG9mXG4vLyBfX2ZyYW1lLCBhcHBlbmRlZCBhZnRlciBpdCkgYW5kIHRoZSBob3N0IGhhcyBvdmVyZmxvdzp2aXNpYmxlIOKAlCBvbmx5IHRoZSBmcmFtZVxuLy8gY2xpcHMuIE5lZ2F0aXZlIHRvcC9yaWdodCBwdWxsIGl0IG91dHNpZGUgdGhlIGZyYW1lJ3Mgcm91bmRlZCBjb3JuZXI7IHRoZSB3aGl0ZVxuLy8gcmluZyAoYm9yZGVyLCBjb2xvdXItbWF0Y2hlZCB0byB0aGUgY2FyZCBiYWNrZ3JvdW5kKSBtYWtlcyBpdCByZWFkIGFzIGEgYmFkZ2Vcbi8vIHBvcHBpbmcgb2ZmIHRoZSBzdXJmYWNlIHJhdGhlciB0aGFuIGEgc2hhcGUgZmxvYXRpbmcgaW4gc3BhY2UuIFtLaW0gMjAyNi0wNy0xNV1cbi5xZG5hcHJvLXVuaXQtY2FyZCAucWRuYXByby11bml0LWNhcmRfX2ltYWdlLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucWRuYXByby11bml0LWNhcmQgLnFkbmFwcm8tdW5pdC1jYXJkX19tYW5kYXRvcnktYmFkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTdweDtcbiAgcmlnaHQ6IC03cHg7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogI0RFNTA2NjtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYy1iZy1jYXJkKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDQ7XG59XG4ucWRuYXByby11bml0LWNhcmQgLnFkbmFwcm8tdW5pdC1jYXJkX19tYW5kYXRvcnktYmFkZ2Ugc3ZnIHtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vLyBUaGUgYmFkZ2Ugbm93IHNpdHMgb3V0c2lkZSB0aGUgZnJhbWUsIHNvIGEgbG9uZyB0aXRsZSBubyBsb25nZXIgcnVucyB1bmRlciBpdCDigJRcbi8vIG9ubHkgYSBzbWFsbCBudWRnZSBpcyBrZXB0IGZvciB0aGUgfjdweCBpbndhcmQgb3ZlcmxhcCBhdCB0aGUgdmVyeSB0b3AtcmlnaHQuXG4ucWRuYXByby11bml0LWNhcmQuaXMtbWFuZGF0b3J5LnZpZXctZ3JpZC1jb21wYWN0IC5xZG5hcHJvLXVuaXQtY2FyZF9fbmFtZSxcbi5xZG5hcHJvLXVuaXQtY2FyZC5pcy1tYW5kYXRvcnkudmlldy1ncmlkLXN0YW5kYXJkIC5xZG5hcHJvLXVuaXQtY2FyZF9fbmFtZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDE0cHg7XG59XG4ucWRuYXByby11bml0LWNhcmQudmlldy1saXN0LWNvbXBhY3QgLnFkbmFwcm8tdW5pdC1jYXJkX19tYW5kYXRvcnktYmFkZ2Uge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB0b3A6IC02cHg7XG4gIHJpZ2h0OiAtNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jLWJnLWNhcmQpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLnFkbmFwcm8tdW5pdC1jYXJkLnZpZXctbGlzdC1jb21wYWN0IC5xZG5hcHJvLXVuaXQtY2FyZF9fbWFuZGF0b3J5LWJhZGdlIHN2ZyB7XG4gIHdpZHRoOiA5cHg7XG4gIGhlaWdodDogOXB4O1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby11bml0LWNvbnRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIFNsaW0gXCJ3aGljaCB1bml0cyBhbSBJIGFuc3dlcmluZyBmb3JcIiBjb250ZXh0IGJhciArIGFcbi8vICBmdWxsc2NyZWVuIGZsb2F0LWluIG92ZXJsYXkgbGlzdGluZyB0aGUgc2VsZWN0ZWQgdW5pdHMuXG4vL1xuLy8gIENvbnN1bWVzIGRlc2lnbiB0b2tlbnMgZnJvbSBkZXNpZ24tdG9rZW5zL19kZXNpZ24tdG9rZW5zLnNjc3MuXG4vLyAgQ29tcG9zZXMgcWRuYS11bml0LWNhcmQgKHJvd3MpLCBxZG5hLWlucHV0IChzZWFyY2gpLFxuLy8gIHFkbmEtYnV0dG9uIChjbG9zZSkuIExpZ2h0IERPTSwgUGF0dGVybiBCLlxuLy9cbi8vICBOT1RFOiB0aGlzIGZpbGUgaXMgYWxzbyBzeW5jZWQgdG8gdGhlIFBXQSB2aWEgc3luYy12Mi1jb21wb25lbnRzLmpzXG4vLyAgKHdoaWNoIG9ubHkgc3RyaXBzIC8vIGNvbW1lbnRzIOKAlCBpdCBkb2VzIE5PVCBjb21waWxlIFNDU1MgbmVzdGluZykuXG4vLyAgS2VlcCBBTEwgc2VsZWN0b3JzIEZMQVQgKG5vICYgbmVzdGluZykgc28gdGhlIGZpbGUgd29ya3MgYXMgcGxhaW4gQ1NTXG4vLyAgaW4gdGhlIFBXQSB3aXRob3V0IGNvbXBpbGF0aW9uLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIC0tLS0tLS0tLS0gaG9zdCAtLS0tLS0tLS0tXG4ucWRuYXByby11bml0LWNvbnRleHQgeyBkaXNwbGF5OiBibG9jazsgfVxuLnFkbmFwcm8tdW5pdC1jb250ZXh0LmlzLWVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxuXG4vLyAtLS0tLS0tLS0tIHRyaWdnZXIgYnV0dG9uIC0tLS0tLS0tLS1cbi5xZG5hcHJvLXVuaXQtY29udGV4dF9fYmFyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTIwbXMgZWFzZS1vdXQ7XG59XG4ucWRuYXByby11bml0LWNvbnRleHRfX2Jhcjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS0xMDApOyB9XG4ucWRuYXByby11bml0LWNvbnRleHRfX2Jhcjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1mb2N1cy1nbG93KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvY3VzLXJpbmcpO1xufVxuXG4ucWRuYXByby11bml0LWNvbnRleHRfX25hbWUge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LW1lZGl1bSk7XG4gICAgY29sb3I6IHZhcigtLWMtdGV4dC1oZWFkaW5nKTtcbn1cblxuLnFkbmFwcm8tdW5pdC1jb250ZXh0X19jaGV2cm9uIHtcbiAgICBmbGV4OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCk7XG59XG4ucWRuYXByby11bml0LWNvbnRleHRfX2NoZXZyb24gc3ZnIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLy8gLS0tLS0tLS0tLSBmdWxsc2NyZWVuIG92ZXJsYXkgLS0tLS0tLS0tLVxuLnFkbmFwcm8tdW5pdC1jb250ZXh0X19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogMjE0NzQ4MzAwMDsgLy8gcG9ydGFsbGVkIHRvIDxib2R5Pjogc2l0IGFib3ZlIGV2ZXJ5dGhpbmdcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuLnFkbmFwcm8tdW5pdC1jb250ZXh0X19vdmVybGF5W2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cbi5xZG5hcHJvLXVuaXQtY29udGV4dF9fYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJsYWNrLTMwKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjQwbXMgZWFzZTtcbn1cblxuLnFkbmFwcm8tdW5pdC1jb250ZXh0X19wYW5lbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCk7XG4gICAgLy8gUXVpY2sgZmxvb2RmaWxsOiBhIGNpcmNsZSB3aXBlcyBvcGVuIGZyb20gdGhlIHRvcC1yaWdodCAod2hlcmUgdGhlIGJhcidzXG4gICAgLy8gXCJ2aWV3IGFsbFwiIGFmZm9yZGFuY2Ugc2l0cykgYW5kIGZpbGxzIHRoZSBzY3JlZW4uXG4gICAgY2xpcC1wYXRoOiBjaXJjbGUoMCUgYXQgMTAwJSAwJSk7XG4gICAgdHJhbnNpdGlvbjogY2xpcC1wYXRoIDM0MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgd2lsbC1jaGFuZ2U6IGNsaXAtcGF0aDtcbn1cblxuLy8gT3ZlcmxheSBvcGVuIHN0YXRlcyDigJQgdGhlc2UgbXVzdCB3b3JrIGV2ZW4gd2hlbiB0aGUgb3ZlcmxheSBpcyBwb3J0YWxsZWQgdG8gPGJvZHk+XG4vLyAoaS5lLiBubyBsb25nZXIgYSBjaGlsZCBvZiAucWRuYXByby11bml0LWNvbnRleHQpLCBzbyB1c2UgZGlyZWN0IGRlc2NlbmRhbnQgc2VsZWN0b3JzXG4vLyByb290ZWQgb24gdGhlIG92ZXJsYXkgZWxlbWVudCBpdHNlbGYuXG4ucWRuYXByby11bml0LWNvbnRleHRfX292ZXJsYXkuaXMtb3BlbiAucWRuYXByby11bml0LWNvbnRleHRfX2JhY2tkcm9wIHsgb3BhY2l0eTogMTsgfVxuLnFkbmFwcm8tdW5pdC1jb250ZXh0X19vdmVybGF5LmlzLW9wZW4gLnFkbmFwcm8tdW5pdC1jb250ZXh0X19wYW5lbCB7XG4gICAgY2xpcC1wYXRoOiBjaXJjbGUoMTUwJSBhdCAxMDAlIDAlKTtcbn1cblxuLy8gLS0tLS0tLS0tLSBwYW5lbCBoZWFkZXIgLS0tLS0tLS0tLVxuLnFkbmFwcm8tdW5pdC1jb250ZXh0X19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogdmFyKC0tcy0zKTtcbiAgICBwYWRkaW5nOiAxOHB4IHZhcigtLXMtNCkgdmFyKC0tcy0zKTtcbn1cblxuLy8gVGl0bGUgKyBjb3VudC1waWxsIHNpdCBzaWRlIGJ5IHNpZGUgb24gb25lIHJvdyBub3csIG5vdCBzdGFja2VkLiBbMjAyNi0wNy0wMl1cbi5xZG5hcHJvLXVuaXQtY29udGV4dF9faGVhZGluZy13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zLTIpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLy8gU2l6ZXMgYnVtcGVkIGZvciBQV0EgbGVnaWJpbGl0eSAoS2ltLCAyMDI2LTA3LTAxKTogMTfihpIyOOKGkjI0cHgsIG1lZGl1beKGknNlbWkg4oCUIEtpbSdzXG4vLyBmaW5hbCBjYWxsIGFmdGVyIHNlZWluZyAyOHB4L21lZGl1bSBpbiBjb250ZXh0ICh0b28gYmlnLCB3YW50ZWQgbW9yZSB3ZWlnaHQgaW5zdGVhZCkuXG4ucWRuYXByby11bml0LWNvbnRleHRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LXNlbWkpO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtaGVhZGluZyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi8vIEludGVyYWN0aXZlIHBpbGwgKG5vdCBwbGFpbiB0ZXh0KSBzbyB0aGUgY291bnQgcmVhZHMgYXMgYSBsaXZlIGNvdW50ZXIg4oCUIHB1bHNlcyB2aWFcbi8vIC5pcy1wdWxzaW5nIChhZGRlZC9yZW1vdmVkIGJ5IHFkbmEtdW5pdC1jb250ZXh0LmpzKSB3aGVuZXZlciBhIHVuaXQgaXMgdW5jaGVja2VkLCBmb3Jcbi8vIHZpc3VhbCBmZWVkYmFjayB0aGF0IHRoZSBjb3VudCBhY3R1YWxseSBjaGFuZ2VkLiBbS2ltLCAyMDI2LTA3LTAxXSBTaXRzIG5leHQgdG8gdGhlXG4vLyB0aXRsZSAoc2VlIF9faGVhZGluZy13cmFwKSBhbmQgcmV1c2VzIHRoZSBoaW50IHBpbGwncyBsaWdodC1wdXJwbGUvcHVycGxlLXRleHRcbi8vIHRva2Vucywgbm90IHRoZSBuZXV0cmFsIGdyZXkgaXQgc3RhcnRlZCB3aXRoLiBbS2ltLCAyMDI2LTA3LTAyXVxuLnFkbmFwcm8tdW5pdC1jb250ZXh0X19zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXBpbGwpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmctc2Vjb25kYXJ5LXB1cnBsZSk7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1tZWRpdW0pO1xuICAgIGNvbG9yOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSk7XG59XG4ucWRuYXByby11bml0LWNvbnRleHRfX3N1YnRpdGxlLmlzLXB1bHNpbmcge1xuICAgIGFuaW1hdGlvbjogcWRuYXByby11bml0LWNvbnRleHQtY291bnQtcG9wIDQyMG1zIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcbn1cbkBrZXlmcmFtZXMgcWRuYXByby11bml0LWNvbnRleHQtY291bnQtcG9wIHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDMwJSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMTgpOyB9XG4gICAgNTUlICB7IHRyYW5zZm9ybTogc2NhbGUoMC45NCk7IH1cbiAgICA3NSUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbi8vIENsb3NlIGJ1dHRvbiBpcyBhIHFkbmFwcm8taWNvbi1idG4gKHR5cGU9XCJzdWJ0bGVcIiByb3VuZCBzaXplPVwidG91Y2hcIikuIHR5cGU9XCJzdWJ0bGVcIlxuLy8gb24gaXRzIG93biByZW5kZXJzIGEgbmVhci1ibGFjayBpY29uICgjMGIwYjBkLCBzZWUgX2ljb24tYnRuLnNjc3MpIOKAlCBLaW0gd2FudHMgYW5cbi8vIGFjdHVhbCBncmV5IGhlcmUsIHNvIHRoaXMgc2NvcGVkIG92ZXJyaWRlICgyIGNsYXNzZXMsIHRpZXMgaWNvbi1idG4ncyBvd25cbi8vIHNwZWNpZmljaXR5OyB3aW5zIGJ5IHNvdXJjZSBvcmRlciBzaW5jZSB1bml0LWNvbnRleHQgY29tcGlsZXMgYWZ0ZXIgaWNvbi1idG4pXG4vLyByZWNvbG91cnMganVzdCB0aGlzIGluc3RhbmNlIGluc3RlYWQgb2YgY2hhbmdpbmcgdGhlIHNoYXJlZCBzdWJ0bGUgdHlwZSBldmVyeXdoZXJlXG4vLyBpdCdzIHVzZWQuIFsyMDI2LTA3LTAxXVxuLnFkbmFwcm8taWNvbi1idG4ucWRuYXByby11bml0LWNvbnRleHRfX2Nsb3NlIHtcbiAgICBmbGV4OiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xufVxuXG4vLyBTaG9ydCBleHBsYWluZXIgYWJvdmUgdGhlIHNlYXJjaCBmaWVsZDogd2hhdCB1bmNoZWNraW5nIGEgcm93IGRvZXMuIEtpbSB3YW50cyB0aGlzXG4vLyBhdHRlbnRpb24tZ3JhYmJpbmcgcmF0aGVyIHRoYW4gcGxhaW4gdGV4dCDigJQgc2FtZSBsaWdodC1wdXJwbGUgcGlsbCArIGluZm8taWNvbiBzaGFwZVxuLy8gYXMgdGhlIGV4aXN0aW5nIFwiTWluL21heCBjaGFyc1wiIGhpbnQgaW4gYWR2YW5jZWRfaW5wdXQgKF9wd2EtY3VycmVudC5zY3NzXG4vLyAuZmxvdy1xdWVzdGlvbi1oaW50LS1ibG9jayksIHJlY29sb3VyZWQgdmlhIHRva2VucyBpbnN0ZWFkIG9mIHRoYXQgcGlsbCdzIGdyZXk6XG4vLyAtLWMtYmctc2Vjb25kYXJ5LXB1cnBsZSAoI2U2ZTlmZikgLyAtLWMtYnJhbmQtcHVycGxlICgjNDA0OTlhKS4gWzIwMjYtMDctMDFdXG4ucWRuYXByby11bml0LWNvbnRleHRfX2hpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIC8vIFRoZSBwYW5lbCAodGhpcyBkaXYncyBmbGV4IHBhcmVudCkgaXMgYGZsZXgtZGlyZWN0aW9uOiBjb2x1bW5gIHdpdGggdGhlIGRlZmF1bHRcbiAgICAvLyBgYWxpZ24taXRlbXM6IHN0cmV0Y2hgLCB3aGljaCBibG9ja2lmaWVzIHRoaXMgY2hpbGQncyBvdXRlciBkaXNwbGF5IHRvIGBmbGV4YFxuICAgIC8vIGFuZCBzdHJldGNoZXMgaXQgdG8gdGhlIHBhbmVsJ3MgZnVsbCB3aWR0aCDigJQgd2l0aG91dCB0aGlzIGl0IHJlbmRlcnMgYXMgYVxuICAgIC8vIGZ1bGwtd2lkdGggYmFyLCBub3QgYSBzaHJpbmstd3JhcHBlZCBwaWxsLiBgY2VudGVyYCAocmF0aGVyIHRoYW4gYGZsZXgtc3RhcnRgKVxuICAgIC8vIGNlbnRlcnMgdGhlIHNocmluay13cmFwcGVkIHBpbGwgaG9yaXpvbnRhbGx5LCBwZXIgS2ltLiBbMjAyNi0wNy0wMV1cbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBtYXJnaW46IDAgdmFyKC0tcy00KSB2YXIoLS1zLTIpO1xuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLXNlY29uZGFyeS1wdXJwbGUpO1xuICAgIGNvbG9yOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1tZWRpdW0pO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4ucWRuYXByby11bml0LWNvbnRleHRfX2hpbnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUpO1xuICAgIC13ZWJraXQtbWFzazogbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW4gdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCclM0UlM0NwYXRoIGZpbGw9JyUyMzAwMCcgZD0nTTExIDloMlY3aC0ybTEgMTNjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4bTAtMThBMTAgMTAgMCAwIDAgMiAxMmExMCAxMCAwIDAgMCAxMCAxMCAxMCAxMCAwIDAgMCAxMC0xMEExMCAxMCAwIDAgMCAxMiAybS0xIDE1aDJ2LTZoLTJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIG1hc2s6IG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnJTNFJTNDcGF0aCBmaWxsPSclMjMwMDAnIGQ9J00xMSA5aDJWN2gtMm0xIDEzYy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOG0wLTE4QTEwIDEwIDAgMCAwIDIgMTJhMTAgMTAgMCAwIDAgMTAgMTAgMTAgMTAgMCAwIDAgMTAtMTBBMTAgMTAgMCAwIDAgMTIgMm0tMSAxNWgydi02aC0yeicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLy8gLS0tLS0tLS0tLSBzZWFyY2ggLS0tLS0tLS0tLVxuLnFkbmFwcm8tdW5pdC1jb250ZXh0X19zZWFyY2ggeyBwYWRkaW5nOiAwIHZhcigtLXMtNCkgdmFyKC0tcy0zKTsgfVxuXG4vLyAtLS0tLS0tLS0tIGxpc3QgLS0tLS0tLS0tLVxuLnFkbmFwcm8tdW5pdC1jb250ZXh0X19saXN0IHtcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHBhZGRpbmc6IDJweCB2YXIoLS1zLTMpIHZhcigtLXMtNCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xufVxuLnFkbmFwcm8tdW5pdC1jb250ZXh0X19saXN0W2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cbi5xZG5hcHJvLXVuaXQtY29udGV4dF9fZW1wdHkge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA0MHB4IHZhcigtLXMtNCk7XG4gICAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAxM3B4O1xufVxuLnFkbmFwcm8tdW5pdC1jb250ZXh0X19lbXB0eVtoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vLyBXaWRlciBjYW52YXNlcyAodGFibGV0L2Rlc2t0b3ApOiBjZW50cmUgdGhlIHBhbmVsIGFzIGEgZmxvYXRpbmcgc2hlZXRcbi8vIGluc3RlYWQgb2YgZWRnZS10by1lZGdlIGZ1bGxzY3JlZW4uXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAucWRuYXByby11bml0LWNvbnRleHRfX292ZXJsYXkge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tcy02KTtcbiAgICB9XG4gICAgLnFkbmFwcm8tdW5pdC1jb250ZXh0X19wYW5lbCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiA0ODBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWNhcmQpO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuIiwiLnFkbmFwcm8tc3VtbWFyeS1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXMtMSk7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSkgMTAlLCB3aGl0ZSk7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLWJ0bi1jb2xvciwgIzQwNDk5YSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1idG4pO1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHFkbmFwcm8tcHdhLW1haW4tbWVudS1pdGVtXG4vLyBQV0EgaG9tZS1tZW51IHRpbGU6IDYweDYwIHRyYW5zbHVjZW50IGNpcmNsZSArIGFjdGl2aXR5IGljb24gMzZweCArIEludGVyIDUwMCBsYWJlbC5cblxucWRuYXByby1wd2EtbWFpbi1tZW51LWl0ZW0sXG4ucWRuYXByby1wd2EtbWFpbi1tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgLnBtaS1jaXJjbGUge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zIGVhc2Utb3V0O1xuXG4gICAgICAgIHFkbmFwcm8tYWN0aXZpdHktaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciAucG1pLWNpcmNsZSxcbiAgICAucG1pLWNpcmNsZS5mb3JjZS1ob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgfVxuXG4gICAgLnBtaS1jaXJjbGUuaXMtcHJlc3NlZCxcbiAgICAucG1pLWNpcmNsZS5mb3JjZS1wcmVzc2VkIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTtcbiAgICB9XG5cbiAgICAucG1pLWxhYmVsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1heC13aWR0aDogNzJweDtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBxZG5hcHJvLWJvdHRvbS1uYXYgKyBxZG5hcHJvLWJvdHRvbS1uYXYtYnRuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBJbmR1c3RyeS1zdGFuZGFyZCBib3R0b20gbmF2aWdhdGlvbiBiYXIgZm9yIFFETkEgUHJvIFBXQS5cbi8vXG4vLyAgU3RhbmRhcmQgaGVpZ2h0ICA6IDYwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgZm9yIG5vdGNoZWQgcGhvbmVzLlxuLy8gIEljb24gc2l6ZSAgICAgICAgOiAyNHB4IEx1Y2lkZSwgc3Ryb2tlLXdpZHRoIDEuNzUsIGZpbGwgbm9uZS5cbi8vICBUYXAgdGFyZ2V0ICAgICAgIDogNDRweCBtaW5pbXVtIHBlciBBcHBsZSBISUcgKGJhciBpcyA2MHB4LCBzbyBhbHdheXMgbWV0KS5cbi8vXG4vLyAgVG9rZW5zIGNvbnN1bWVkIChmcm9tIGRlc2lnbi10b2tlbnMvX2Rlc2lnbi10b2tlbnMuc2Nzcyk6XG4vLyAgICAtLWMtYmctY2FyZCAgICAgICAgICAgICAgbmF2IGJhY2tncm91bmQgKGF1dG8tZmxpcHMgaW4gZGFyayBtb2RlKVxuLy8gICAgLS1jLWJvcmRlci1zb2Z0ICAgICAgICAgIHRvcCBkaXZpZGVyIGxpbmVcbi8vICAgIC0tYy10ZXh0LW11dGVkICAgICAgICAgICBpZGxlIGljb24gY29sb3VyXG4vLyAgICAtLWMtYnJhbmQtcHVycGxlICAgICAgICAgYWN0aXZlIGljb24gKyBhY3RpdmUgZG90ICsgRkFCIGJhY2tncm91bmRcbi8vICAgIC0tYy1icmFuZC1wdXJwbGUtaG92ZXIgICBGQUIgaG92ZXIgYmFja2dyb3VuZFxuLy8gICAgLS1jLWJyYW5kLXB1cnBsZS1wcmVzcyAgIEZBQiBwcmVzc2VkIGJhY2tncm91bmRcbi8vICAgIC0tYy1iZy1zdWJ0bGUtaG92ZXIgICAgICBob3ZlciBiYWNrZ3JvdW5kIG9uIGRlZmF1bHQgaXRlbXNcbi8vICAgIC0tYy1iZy1zZWNvbmRhcnktcHVycGxlICBwcmVzc2VkICsgYWN0aXZlLWl0ZW0gYmFja2dyb3VuZCBwaWxsXG4vLyAgICAtLWMtdGV4dC1kaXNhYmxlZCAgICAgICAgZGlzYWJsZWQgaWNvbiBjb2xvdXJcbi8vICAgIC0tZm9jdXMtcmluZyAgICAgICAgICAgICBrZXlib2FyZCBmb2N1cyBvdXRsaW5lXG4vL1xuLy8gIFBhZ2UgdHJhbnNpdGlvbiBjb21wYW5pb24gY2xhc3NlcyAoYm90dG9tIG9mIGZpbGUpOlxuLy8gICAgLnFkbmFwcm8tcGFnZS1zdGFjayAgICAgICAgIG92ZXJmbG93OmhpZGRlbiB3cmFwcGVyIGZvciB5b3VyIHBhZ2Ugdmlld3Ncbi8vICAgIC5xZG5hcHJvLXBhZ2UgICAgICAgICAgICAgICBiYXNlIGZvciBhbiBpbmRpdmlkdWFsIHBhZ2UgcGFuZWxcbi8vICAgIC5xZG5hcHJvLXBhZ2UtLWVudGVyLWZ3ZCAgICBlbnRlcmluZyBmcm9tIHJpZ2h0ICAoZGlyZWN0aW9uPWZvcndhcmQpXG4vLyAgICAucWRuYXByby1wYWdlLS1sZWF2ZS1md2QgICAgbGVhdmluZyB0byBsZWZ0XG4vLyAgICAucWRuYXByby1wYWdlLS1lbnRlci1id2QgICAgZW50ZXJpbmcgZnJvbSBsZWZ0ICAgKGRpcmVjdGlvbj1iYWNrd2FyZClcbi8vICAgIC5xZG5hcHJvLXBhZ2UtLWxlYXZlLWJ3ZCAgICBsZWF2aW5nIHRvIHJpZ2h0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4ucWRuYXByby1ib3R0b20tbmF2IHtcbiAgICAtLWJuLWhlaWdodDogNjBweDtcblxuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1ibi1oZWlnaHQpICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpO1xuICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KTtcblxuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYnJhbmQtcHVycGxlKTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgLTJweCAxNnB4IHJnYmEoMjAsIDI1LCA4MCwgMC4xOCk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC4yLCAwLCAwLCAxKSwgb3BhY2l0eSAwLjIycyBlYXNlO1xufVxuXG4vLyBIaWRkZW4gc3RhdGUg4oCUIHNsaWRlcyB0aGUgYmFyIG9mZi1zY3JlZW4gKHVzZWQgb24gdGhlICsgbWVudSBhbmQgdGhlXG4vLyB0YXNrbGlzdC9xdWVzdGlvbm5haXJlIGZsb3csIHRvZ2dsZWQgZnJvbSBzd2l0Y2hWaWV3IGluIDAtY29yZS5qcykuXG4ucWRuYXByby1ib3R0b20tbmF2Lm5hdi1oaWRkZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDEwMCUgKyAyNHB4KSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4ucWRuYXByby1ib3R0b20tbmF2LWJ0biB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWluLXdpZHRoOiAwO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgcGFkZGluZzogOHB4IDRweDtcblxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICAgY29sb3I6IHZhcigtLWMtd2hpdGUtNjUpO1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgdHJhbnNpdGlvbjogY29sb3IgMTIwbXMgZWFzZS1vdXQ7XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0LFxuICAgICAgICAgICAgdHJhbnNmb3JtIDEwMG1zIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICBzdHJva2U6IG5vbmU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N2Zy1maWxsZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgc3Ryb2tlOiBub25lO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY2xpcC1wYXRoOiBpbnNldCgwIDEwMCUgMCAwKTtcbiAgICB9XG5cbiAgICAmX19kb3Qge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy10ZXh0LW9uLWFjdGlvbik7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZS1vdXQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gc2hvd24gb25seSBpbiBmbG9hdGluZy1nbGFzcyB2YXJpYW50IHZpYSBpdHMgb3duIGJsb2NrXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBUaGUgYmFkZ2UgaXRzZWxmIGlzIGEgcmVhbCA8cWRuYXByby1udW1iZXItaW5kaWNhdG9yLWJhZGdlIGNvbG9yPVwiYWxlcnRcIlxuICAgIC8vIHNpemU9XCJ4c1wiPiDigJQgc2l6ZSwgY29sb3VyIGFuZCB0eXBlIGNvbWUgZnJvbSB0aGF0IGNvbXBvbmVudC4gT25seSBpdHNcbiAgICAvLyBQTEFDRU1FTlQgb24gdGhlIGljb24gbGl2ZXMgaGVyZS4gTm8gc2VwYXJhdGlvbiByaW5nOiB0aGUgcmVkIHJlYWRzIGNsZWFybHlcbiAgICAvLyBlbm91Z2ggYWdhaW5zdCBib3RoIGJhciBjb2xvdXJzIG9uIGl0cyBvd24gKEtpbSwgMDMuMDguMjAyNikuXG4gICAgLy9cbiAgICAvLyBIT09LIE9OIFRIRSBEQVRBLUFUVFJJQlVURSwgTk9UIEEgQ0xBU1M6IHFkbmEtbnVtYmVyLWluZGljYXRvci1iYWRnZS5qcyBkb2VzXG4gICAgLy8gYHRoaXMuY2xhc3NOYW1lID0gXCJcImAgaW4gaW5pdGlhbGl6ZUNsYXNzZXMoKSwgYW5kIG9uIHVwZ3JhZGUgdGhhdCBydW5zIGZyb21cbiAgICAvLyBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgQkVGT1JFIGNvbm5lY3RlZENhbGxiYWNrIHNuYXBzaG90cyBfb3JpZ2luYWxDbGFzc2VzLFxuICAgIC8vIHNvIGEgY2xhc3Mgd2Ugc2V0IGhlcmUgaXMgd2lwZWQgYmVmb3JlIGl0IGlzIGV2ZXIgcmVtZW1iZXJlZC4gV2l0aCB0aGUgY2xhc3NcbiAgICAvLyBnb25lIHRoZSBiYWRnZSBsb3N0IGBwb3NpdGlvbjogYWJzb2x1dGVgIGFuZCBmZWxsIGJhY2sgaW50byB0aGUgYnV0dG9uJ3NcbiAgICAvLyBmbGV4IGNvbHVtbiwgaS5lLiBjZW50cmVkIFVOREVSIHRoZSBpY29uIChLaW0ncyBzY3JlZW5zaG90IDAzLjA4LjIwMjYpLiBBXG4gICAgLy8gZGF0YS1hdHRyaWJ1dGUgaXMgbmV2ZXIgdG91Y2hlZCBieSB0aGF0IHJlc2V0LlxuICAgIC8vIFZlcnRpY2FsOiAyMHB4IHRhbGwgZnJvbSA0cHgga2VlcHMgdGhlIGJhZGdlIGNsZWFyIG9mIHRoZSBiYXIncyB0b3AgZWRnZVxuICAgIC8vIHdoaWxlIHN0aWxsIHNpdHRpbmcgb24gdGhlIGljb24ncyB1cHBlciBjb3JuZXIuIEhvcml6b250YWw6XG4gICAgLy8gYGNhbGMoNTAlIC0gMjZweClgIHB1dHMgdGhlIHJpZ2h0IGVkZ2UgMjZweCByaWdodCBvZiB0aGUgYnV0dG9uIGNlbnRyZSBub1xuICAgIC8vIG1hdHRlciBob3cgd2lkZSB0aGUgYnV0dG9uIGlzLCBzbyBpdCBzdGF5cyA0cHggcGFzdCB0aGUgNDRweCBpY29uIG9uIGJvdGhcbiAgICAvLyBwaG9uZSBhbmQgdGFibGV0IHdpZHRocy4gWzAzLjA4LjIwMjZdXG4gICAgW2RhdGEtcm9sZT1cIm5hdi1iYWRnZVwiXSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDI2cHgpO1xuICAgICAgICB6LWluZGV4OiAyOyAvLyBhYm92ZSB0aGUgc2xpZGluZyBwaWxsICh6LWluZGV4IDEpOyBzZWUgLmhhcy1iYWRnZSBiZWxvd1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBBIGJhZGdlIG11c3QgbmV2ZXIgZGlzYXBwZWFyIHVuZGVyIHRoZSBzbGlkaW5nIHBpbGwsIG5vdCBldmVuIG9uIHRoZVxuICAgIC8vIHNlbGVjdGVkIHRhYi4gVGhlIGJ1dHRvbiBpcyBpdHMgb3duIHN0YWNraW5nIGNvbnRleHQgaW4gdGhlIHBpbGwgdmFyaWFudHNcbiAgICAvLyAoei1pbmRleCAwKSwgc28gdGhlIGJhZGdlJ3Mgb3duIHotaW5kZXggY2Fubm90IHJlYWNoIHBhc3QgdGhlIHBpbGwg4oCUIHRoZVxuICAgIC8vIHdob2xlIGJ1dHRvbiBoYXMgdG8gY29tZSB1cC4gT25seSBidXR0b25zIHRoYXQgYWN0dWFsbHkgY2FycnkgYSBiYWRnZSBtb3ZlLFxuICAgIC8vIHNvIHRoZSBwaWxsIGtlZXBzIHNpdHRpbmcgb3ZlciBldmVyeSBvdGhlciBpY29uIGV4YWN0bHkgYXMgYmVmb3JlLlxuICAgIC8vIENsYXNzIHNldCBieSBxZG5hLWJvdHRvbS1uYXYuanMuIFRoZSBwaWxsIHZhcmlhbnRzIHJlcGVhdCB0aGlzIHJ1bGUgYXQgdGhlaXJcbiAgICAvLyBvd24gc3BlY2lmaWNpdHksIGJlY2F1c2UgdGhlaXIgYHotaW5kZXg6IDBgIG9uIHRoZSBidXR0b24gd291bGQgd2luIGhlcmUuXG4gICAgLy8gWzAzLjA4LjIwMjYsIEtpbV1cbiAgICAmLmhhcy1iYWRnZSB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLy8gSG92ZXIgKHBvaW50ZXIgZGV2aWNlcyBvbmx5KVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6aG92ZXI6bm90KC5pcy1kaXNhYmxlZCk6bm90KC5pcy1mYWIpIHtcbiAgICAgICAgICAgIC5xZG5hcHJvLWJvdHRvbS1uYXYtYnRuX19pY29uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlLTEyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByZXNzZWRcbiAgICAmOmFjdGl2ZTpub3QoLmlzLWRpc2FibGVkKTpub3QoLmlzLWZhYiksXG4gICAgJi5pcy1wcmVzc2luZzpub3QoLmlzLWRpc2FibGVkKTpub3QoLmlzLWZhYikge1xuICAgICAgICAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9faWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlLTIyKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44OCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgKHNlbGVjdGVkIHRhYilcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtb24tYWN0aW9uKTtcblxuICAgICAgICAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9faWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlLTIyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xZG5hcHJvLWJvdHRvbS1uYXYtYnRuX19kb3Qge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSArIGhvdmVyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgJi5pcy1hY3RpdmU6aG92ZXI6bm90KC5pcy1kaXNhYmxlZCkge1xuICAgICAgICAgICAgLnFkbmFwcm8tYm90dG9tLW5hdi1idG5fX2ljb24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUtMjgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlICsgcHJlc3NlZFxuICAgICYuaXMtYWN0aXZlOmFjdGl2ZTpub3QoLmlzLWRpc2FibGVkKSxcbiAgICAmLmlzLWFjdGl2ZS5pcy1wcmVzc2luZzpub3QoLmlzLWRpc2FibGVkKSB7XG4gICAgICAgIC5xZG5hcHJvLWJvdHRvbS1uYXYtYnRuX19pY29uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUtMjIpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjg4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkXG4gICAgJi5pcy1kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlLTI4KTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDAuNDU7XG4gICAgfVxuXG4gICAgLy8gRm9jdXNcbiAgICAmOmZvY3VzICAgICAgICAgIHsgb3V0bGluZTogbm9uZTsgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSAge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZm9jdXMtcmluZyk7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgfVxuXG4gICAgLy8gRkFCIHZhcmlhbnRcbiAgICAmLmlzLWZhYiB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgIC5xZG5hcHJvLWJvdHRvbS1uYXYtYnRuX19pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gICAgICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgICAgIDAgMnB4IDhweCAgcmdiYSgyMCwgMjUsIDgwLCAwLjIwKSxcbiAgICAgICAgICAgICAgICAwIDZweCAyMHB4IHJnYmEoMjAsIDI1LCA4MCwgMC4xNCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMTIwbXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdyAgICAgICAxMjBtcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gICAgICAgIDE1MG1zIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcblxuICAgICAgICAgICAgc3ZnIHsgc3Ryb2tlLXdpZHRoOiAyOyB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICAgJjpob3Zlcjpub3QoLmlzLWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgLnFkbmFwcm8tYm90dG9tLW5hdi1idG5fX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdoaXRlLTkwKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMnB4KTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgICAgICAgICAgICAgIDAgNHB4IDE0cHggcmdiYSgyMCwgMjUsIDgwLCAwLjI4KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIDAgOHB4IDI4cHggcmdiYSgyMCwgMjUsIDgwLCAwLjE4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZTpub3QoLmlzLWRpc2FibGVkKSxcbiAgICAgICAgJi5pcy1wcmVzc2luZzpub3QoLmlzLWRpc2FibGVkKSB7XG4gICAgICAgICAgICAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9faWNvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy13aGl0ZS04NSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHNjYWxlKDAuOTMpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgICAgICAgICAgIDAgMXB4IDRweCByZ2JhKDIwLCAyNSwgODAsIDAuMTQpLFxuICAgICAgICAgICAgICAgICAgICAwIDJweCA4cHggcmdiYSgyMCwgMjUsIDgwLCAwLjEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlLTY1KTtcblxuICAgICAgICAgICAgLnFkbmFwcm8tYm90dG9tLW5hdi1idG5fX2ljb24geyBiYWNrZ3JvdW5kOiAjZmZmZmZmOyBjb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUpOyB9XG4gICAgICAgICAgICAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9fZG90ICB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogNHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIFNsaWRpbmcgcGlsbCB2YXJpYW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnFkbmFwcm8tYm90dG9tLW5hdlt2YXJpYW50PVwic2xpZGluZy1waWxsXCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBncmFiO1xuICAgICY6YWN0aXZlIHsgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4gICAgLy8gU3VwcHJlc3MgcGVyLWJ1dHRvbiBzdGF0ZXMg4oCUIGdsYXNzIHBpbGwgaGFuZGxlcyBhbGwgdmlzdWFsIGZlZWRiYWNrXG4gICAgLnFkbmFwcm8tYm90dG9tLW5hdi1idG4gLnFkbmFwcm8tYm90dG9tLW5hdi1idG5fX2ljb24geyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gICAgLnFkbmFwcm8tYm90dG9tLW5hdi1idG5fX2RvdCAgICAgICAgICAgICAgICAgICAgICAgICAgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAvLyAuLi5leGNlcHQgYSBiYWRnZTogdGhhdCBvbmUgc3RheXMgb24gdG9wIG9mIHRoZSBwaWxsIChzZWUgYmFzZSAuaGFzLWJhZGdlKS5cbiAgICAucWRuYXByby1ib3R0b20tbmF2LWJ0bi5oYXMtYmFkZ2UgeyB6LWluZGV4OiAyOyB9XG5cbiAgICAvLyBCdXR0b25zIGJlaGluZCB0aGUgZ2xhc3MgcGlsbCBzbyBiYWNrZHJvcC1maWx0ZXIgY2F0Y2hlcyB0aGVpciBwaXhlbHNcbiAgICBxZG5hcHJvLWJvdHRvbS1uYXYtYnRuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBjdXJzb3I6IGluaGVyaXQ7XG4gICAgICAgIC8vIFVuaWZvcm0gZGltIGNvbG91ciDigJQgcGlsbCBicmlnaHRlbnMgaWNvbnMgdGhyb3VnaCBiYWNrZHJvcC1maWx0ZXIsIG5vdCB2aWEgY29sb3IgZmxpcFxuICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZS01NSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBHbGFzcyBwaWxsIOKAlCBicmlnaHRlbnMgd2hhdGV2ZXIgaXQgY292ZXJzIChiZyArIGljb24gc3Ryb2tlcykgdmlhIGJhY2tkcm9wLWZpbHRlclxuICAgIC5xZG5hcHJvLWJvdHRvbS1uYXZfX3BpbGwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogY2FsYygodmFyKC0tYm4taGVpZ2h0KSAtIDQwcHgpIC8gMik7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICAvLyBHbGFzcyBzdXJmYWNlXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYnJpZ2h0bmVzcygxLjUpO1xuICAgICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYnJpZ2h0bmVzcygxLjUpO1xuICAgICAgICBib3JkZXI6IDAuNXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40MCksXG4gICAgICAgICAgICAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDIwbXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgRmxvYXRpbmcgdmFyaWFudHMgKGdsYXNzICsgc29saWQgc2hhcmUgc2hhcGUvc2l6ZS9kcmFnL3BpbGwpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnFkbmFwcm8tYm90dG9tLW5hdlt2YXJpYW50PVwiZmxvYXRpbmctZ2xhc3NcIl0sXG4ucWRuYXByby1ib3R0b20tbmF2W3ZhcmlhbnQ9XCJmbG9hdGluZy1zb2xpZFwiXSB7XG4gICAgbGVmdDogMTZweDtcbiAgICByaWdodDogMTZweDtcbiAgICBib3R0b206IDIwcHg7IC8vIGluc2V0IHRvdCB2aWV3cG9ydCAoS2ltIDI5LjA2LjIwMjYpOyBzYWZlLWFyZWEtaW5zZXQgYmV3dXN0IHdlZ1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG5cbiAgICAvLyBGcm9zdGVkIGdsYXNzIOKAlCBsaWdodCBjb250ZW50IHNob3dzIHRocm91Z2hcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyNHB4KSBzYXR1cmF0ZSgxLjUpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDI0cHgpIHNhdHVyYXRlKDEuNSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDhweCAzMnB4IHJnYmEoMjAsIDI1LCA4MCwgMC4xNiksXG4gICAgICAgIDAgMnB4IDhweCAgcmdiYSgyMCwgMjUsIDgwLCAwLjA4KSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuXG4gICAgLy8gRHJhZyBhZmZvcmRhbmNlXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBncmFiO1xuICAgIC8vIHRvdWNoLWFjdGlvbjpub25lIOKGkiBkZSBicm93c2VyIGthYXB0IGhldCBob3Jpem9udGFsZSBzbGVlcGdlYmFhciBuaWV0IHZvb3JcbiAgICAvLyBzY3JvbGw7IHBvaW50ZXJtb3ZlL3VwIGJsaWp2ZW4gYmV0cm91d2JhYXIga29tZW4gKGNydWNpYWFsIHZvb3IgZGUgc25hcCBvcCB0b3VjaCkuXG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgICY6YWN0aXZlIHsgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4gICAgLy8gR3JvdGVyZSBncmlqcHpvbmU6IG9uemljaHRiYXJlIHN0cmlwIGluIGRlIGxlZ2UgcnVpbXRlIE9OREVSIGRlIGJhbGtcbiAgICAvLyAodHVzc2VuIGJhbGsgZW4gc2NoZXJtcmFuZCkgem9kYXQgZGUgcGlsbCBtYWtrZWxpamtlciB0ZSBwYWtrZW4vc2xlcGVuIGlzLlxuICAgIC8vIFBzZXVkbydzIHppam4gZ2VlbiBlaWdlbiBldmVudC10YXJnZXQg4oaSIGVlbiBwb2ludGVyZG93biBoaWVyIHRlbHQgYWxzIGRlIGhvc3QuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICB9XG5cbiAgICAucWRuYXByby1ib3R0b20tbmF2LWJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggNHB4O1xuICAgICAgICBjb2xvcjogcmdiYSg1MCwgNTUsIDEwMCwgMC40NSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgY3Vyc29yOiBpbmhlcml0O1xuXG4gICAgICAgIC8vIEJhZGdlIHN0YXlzIG9uIHRvcCBvZiB0aGUgc2xpZGluZyBwaWxsIChzZWUgYmFzZSAuaGFzLWJhZGdlKS5cbiAgICAgICAgJi5oYXMtYmFkZ2UgeyB6LWluZGV4OiAyOyB9XG5cbiAgICAgICAgLy8gRm9yc2VyZSBtYWF0IHZvb3IgdGVsZWZvb246IGJhbGsgNjRweCA9IGljb24td3JhcHBlciA0MCArIDJ4MTEgcGFkZGluZyAoNjIpXG4gICAgICAgIC8vICsgMXB4IHJhbmQgYm92ZW4vb25kZXIuIEdseXBoIDI4cHgsIHBpbGwgNjB4NDguIFsyOS4wNi4yMDI2XVxuICAgICAgICAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9faWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIHN2ZyB7IHdpZHRoOiAyOHB4OyBoZWlnaHQ6IDI4cHg7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNob3cgYm9sZCBcImZpbGxlZFwiIGljb24gbGF5ZXIg4oCUIEpTIGNsaXBzIGl0IHRvIHBpbGwgb3ZlcmxhcCBhcmVhXG4gICAgICAgIC5xZG5hcHJvLWJvdHRvbS1uYXYtYnRuX19zdmctZmlsbGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtYnJhbmQtcHVycGxlKTtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTm8gbGFiZWxzIOKAlCBwaWxsIGlzIHRoZSBvbmx5IHNlbGVjdGlvbiBpbmRpY2F0b3JcbiAgICAgICAgLnFkbmFwcm8tYm90dG9tLW5hdi1idG5fX2xhYmVsIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9fZG90ICAgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgLy8gU3VwcHJlc3MgYWxsIGljb24gYmFja2dyb3VuZHMg4oCUIHBpbGwgaGFuZGxlcyBmZWVkYmFja1xuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICAgJjpob3Zlcjpub3QoLmlzLWRpc2FibGVkKSAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9faWNvbiB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgfVxuICAgICAgICAmOmFjdGl2ZTpub3QoLmlzLWRpc2FibGVkKSAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9faWNvbixcbiAgICAgICAgJi5pcy1wcmVzc2luZzpub3QoLmlzLWRpc2FibGVkKSAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9faWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSk7XG4gICAgICAgICAgICAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9faWNvbiB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFwiTmV3XCIgYWN0aW9uIHdoZW4gU0VMRUNURUQ6IHRoZSBmaWxsZWQgKHNvbGlkKSBwbHVzLWNpcmNsZSBzaG93cywgYnV0IGl0c1xuICAgICAgICAvLyBwbHVzIGlzIGEgY3V0LW91dCBnYXAuIFNpdCBhIHdoaXRlIGNpcmNsZSBCRUhJTkQgaXQgc28gdGhlIGdhcCByZWFkcyB3aGl0ZVxuICAgICAgICAvLyDihpIgc29saWQgcHVycGxlIGRpc2Mgd2l0aCBhIHdoaXRlICsuIElkbGUgKG91dGxpbmUg4oqVKSBpcyB1bnRvdWNoZWQsIHNvIHRoZVxuICAgICAgICAvLyB3aGl0ZSBjaXJjbGUgY2FuJ3Qgc2hpbmUgdGhyb3VnaCB0aGUgaG9sbG93IG91dGxpbmUuXG4gICAgICAgICZbaWNvbj1cInBsdXMtY2lyY2xlXCJdLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9faWNvbiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICAgLnFkbmFwcm8tYm90dG9tLW5hdi1idG5fX2ljb246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnFkbmFwcm8tYm90dG9tLW5hdi1idG5fX3N2Zy1maWxsZWQgeyB6LWluZGV4OiAxOyB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTbGlkaW5nIHBpbGwg4oCUIHNvZnQgYnJhbmQgdGludCB0aGF0IGdsaWRlcyB1bmRlciB0aGUgYWN0aXZlIHRhYlxuICAgIC5xZG5hcHJvLWJvdHRvbS1uYXZfX3BpbGwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSAyNnB4KTsgLy8gdmVydGljYWFsIGNlbnRyZXJlbiAoMjYgPSBoYWx2ZSBwaWxsLWhvb2d0ZSA1MilcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDY4cHg7XG4gICAgICAgIGhlaWdodDogNTJweDsgLy8gS2ltIDI5LjA2LjIwMjY6IHBpbGwgNjh4NTJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjQsIDczLCAxNTQsIDAuMTApO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQyMG1zIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4vLyDilIDilIAgU29saWQgcHVycGxlIHNraW4gKHZhcmlhbnQ9XCJmbG9hdGluZy1zb2xpZFwiKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFNhbWUgZmxvYXRpbmcgc2hhcGUgKyBwaWxsIE1FQ0hBTklFSyBhbHMgZ2xhc3MsIG1hYXIgZWVuIG9wYXF1ZSBicmFuZC1wdXJwbGVcbi8vIGJhbGsuIERlIHBpbGwgaXMgTklFVCBzb2xpZCB3aXQgKGRhdCBkZWt0IGhldCBpY29vbiBhZikgbWFhciBET09SU0NISUpORU5ELCBuZXRcbi8vIGFscyBnbGFzczogaGV0IGljb29uIGVyb25kZXIgYmxpamZ0IHppY2h0YmFhciBlbiB2ZXJhbmRlcnQgdmFuIGtsZXVyIGRvb3JkYXQgZGVcbi8vIGZpbGxlZC1zdmcgb3AgZGUgcGlsbCB3b3JkdCBnZWNsaXB0IChfdXBkYXRlSWNvbkNsaXBzKS4gT3AgZGUgcGFhcnNlIGJhbGsgemlqblxuLy8gZGUgaWNvbmVuIHdpdCAoaWRsZSA2NSUpIGVuIGxpY2h0IGhldCBhY3RpZXZlIGljb29uIG9uZGVyIGRlIHBpbGwgb3AgbmFhciB2b2xcbi8vIHdpdC4gWzI5LjA2LjIwMjZdICM0MDQ5OWEgYmFsaywga2xldXJlbiB1aXQgZGUgZGVmYXVsdC9zb2xpZC1kZW1vLlxuLnFkbmFwcm8tYm90dG9tLW5hdlt2YXJpYW50PVwiZmxvYXRpbmctc29saWRcIl0ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYnJhbmQtcHVycGxlKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgOHB4IDI4cHggcmdiYSgyMCwgMjUsIDgwLCAwLjI4KSxcbiAgICAgICAgMCAycHggOHB4ICByZ2JhKDIwLCAyNSwgODAsIDAuMTYpO1xuXG4gICAgLnFkbmFwcm8tYm90dG9tLW5hdi1idG4gICAgICAgIHsgY29sb3I6IHZhcigtLWMtd2hpdGUtNjUpOyB9XG4gICAgLnFkbmFwcm8tYm90dG9tLW5hdi1idG4uaXMtYWN0aXZlIHsgY29sb3I6ICNmZmZmZmY7IH1cblxuICAgIC8vIGRvb3JzY2hpam5lbmRlIFwic3BvdGxpZ2h0XCItcGlsbCAoZ2VlbiBzb2xpZCBibG9rKSDigJQgaWNvb24gYmxpamZ0IHppY2h0YmFhclxuICAgIC5xZG5hcHJvLWJvdHRvbS1uYXZfX3BpbGwgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpOyB9XG5cbiAgICAvLyBHRUVOIGZpbGxlZC1jbGlwIG9wIHNvbGlkOiBkZSB3aXBlIChwYWFycy1vcC1saWNodCBiaWogZ2xhc3MpIGdhZiBvcCBkZVxuICAgIC8vIHBhYXJzZSBiYWxrIHdpdHRlIGZyYWdtZW50ZW4vZ2xpdGNoIHRpamRlbnMgaGV0IHNjaHVpdmVuLiBIZXQgYWN0aWV2ZSBpY29vblxuICAgIC8vIHZlcmFuZGVydCBoaWVyIGdld29vbiB2YW4ga2xldXIgdmlhIC5pcy1hY3RpdmUgKHdpdC02NSDihpIgdm9sIHdpdCkuIFsyOS4wNi4yMDI2XVxuICAgIC8vIE5COiBzZWxlY3RvciB2aWEgLnFkbmFwcm8tYm90dG9tLW5hdi1idG4gb20gZGUgZ2VkZWVsZGUgYGRpc3BsYXk6YmxvY2tgXG4gICAgLy8gKHplbGZkZSBzcGVjaWZpY2l0ZWl0LCBlZXJkZXIgaW4gZGUgYnJvbikgdGUgb3ZlcnNjaHJpanZlbi5cbiAgICAucWRuYXByby1ib3R0b20tbmF2LWJ0biAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9fc3ZnLWZpbGxlZCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAvLyBwbHVzLWNpcmNsZSB3aXR0ZS1jaXJrZWwtdHJ1YyAodm9vciBnbGFzcykgaGllciBuaWV0IG5vZGlnIOKGkiB1aXQsIGFuZGVyc1xuICAgIC8vIHdpdC1vcC13aXQgYmxvYiBhbHMgZGUgKyBhY3RpZWYgaXMuXG4gICAgLnFkbmFwcm8tYm90dG9tLW5hdi1idG5baWNvbj1cInBsdXMtY2lyY2xlXCJdLmlzLWFjdGl2ZSAucWRuYXByby1ib3R0b20tbmF2LWJ0bl9faWNvbjo6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIFBhZ2UgdHJhbnNpdGlvbiBrZXlmcmFtZXMgKyBjbGFzc2VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGtleWZyYW1lcyBxZG5hcHJvLXNsaWRlLWluLXJpZ2h0IHtcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyBvcGFjaXR5OiAwOyB9XG4gICAgdG8gICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgICAgb3BhY2l0eTogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHFkbmFwcm8tc2xpZGUtaW4tbGVmdCB7XG4gICAgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IG9wYWNpdHk6IDA7IH1cbiAgICB0byAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyAgICAgb3BhY2l0eTogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHFkbmFwcm8tc2xpZGUtb3V0LWxlZnQge1xuICAgIGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7ICAgIG9wYWNpdHk6IDE7IH1cbiAgICB0byAgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMCUpOyBvcGFjaXR5OiAwOyB9XG59XG5cbkBrZXlmcmFtZXMgcWRuYXByby1zbGlkZS1vdXQtcmlnaHQge1xuICAgIGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7ICAgb3BhY2l0eTogMTsgfVxuICAgIHRvICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzAlKTsgb3BhY2l0eTogMDsgfVxufVxuXG4ucWRuYXByby1wYWdlLXN0YWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnFkbmFwcm8tcGFnZSB7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLnFkbmFwcm8tcGFnZS0tZW50ZXItZndkIHtcbiAgICBhbmltYXRpb246IHFkbmFwcm8tc2xpZGUtaW4tcmlnaHQgMjgwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpIGJvdGg7XG59XG5cbi5xZG5hcHJvLXBhZ2UtLWxlYXZlLWZ3ZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgYW5pbWF0aW9uOiBxZG5hcHJvLXNsaWRlLW91dC1sZWZ0IDI0MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuOCwgMC42KSBib3RoO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucWRuYXByby1wYWdlLS1lbnRlci1id2Qge1xuICAgIGFuaW1hdGlvbjogcWRuYXByby1zbGlkZS1pbi1sZWZ0IDI4MG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSBib3RoO1xufVxuXG4ucWRuYXByby1wYWdlLS1sZWF2ZS1id2Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIGluc2V0OiAwO1xuICAgIGFuaW1hdGlvbjogcWRuYXByby1zbGlkZS1vdXQtcmlnaHQgMjQwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC44LCAwLjYpIGJvdGg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvLyBxZG5hcHJvLXRhYi1iYXIgKCsgcWRuYXByby10YWItYmFyLWl0ZW0pIOKAlCBmdWxsLXdpZHRoIHRvcCB0YWIgYmFyLFxuLy8gc2xpZGluZyBwaWxsIC8gc2VnbWVudGVkIGNvbnRyb2wuIEZMQVQgQ1NTOyBjb2xvdXJzL3JhZGlpL3NwYWNpbmcgYWxsIGZyb21cbi8vIHRoZSBkZXNpZ24tdG9rZW4gOnJvb3QgKHZhcigtLWMtKikgLyAtLXItKiAvIC0tcy0qKSBzbyBsaWdodC9kYXJrIHRoZW1pbmdcbi8vIChzZWUgZGVzaWduLXRva2Vucy5zY3NzIFtkYXRhLXRoZW1lPVwiZGFya1wiXSBibG9jaykgYXBwbGllcyBhdXRvbWF0aWNhbGx5LlxuLy8gVGhlIHR3byBTVVJGQUNFIGZpbGxzIGFyZSB0aGUgb25lIGV4Y2VwdGlvbiDigJQgc2VlIC0tdGItdHJhY2stYmcgL1xuLy8gLS10Yi1waWxsLWJnIGJlbG93IGFuZCB0aGUgZGFyayBibG9jayBhdCB0aGUgYm90dG9tIG9mIHRoaXMgZmlsZS5cbi8vXG4vLyBMYXlvdXQ6IGVxdWFsLXdpZHRoIGZsZXggc2VnbWVudHMgKC5xZG5hcHJvLXRhYi1iYXItaXRlbSB7IGZsZXg6IDEgfSkg4oCUXG4vLyB0aGUgc2xpZGluZyBwaWxsJ3Mgd2lkdGggb25seSBldmVyIGRlcGVuZHMgb24gdGhlIEJBUidzIG93biB3aWR0aCwgbmV2ZXIgb25cbi8vIGEgdGFiJ3MgbGFiZWwvY291bnQgY29udGVudCwgc28gYSBsaXZlIGNvdW50IGNoYW5nZSBjYW4gbmV2ZXIgZGVzeW5jIGl0LlxuLy9cbi8vIFBpbGwgYW5pbWF0aW9uOiBKUyBzZXRzIHRyYW5zZm9ybS93aWR0aCBpbmxpbmU7IHRoZSB0cmFuc2l0aW9uIGl0c2VsZiBsaXZlc1xuLy8gaGVyZSB2aWEgLS10Yi1waWxsLWR1cmF0aW9uIHNvIHByZWZlcnMtcmVkdWNlZC1tb3Rpb24gY2FuIGNvbGxhcHNlIGl0IHRvIDBcbi8vIHdpdGhvdXQgYW55IEpTIGJyYW5jaGluZy5cblxuLnFkbmFwcm8tdGFiLWJhciB7XG4gIC0tdGItcGlsbC1kdXJhdGlvbjogMjIwbXM7XG5cbiAgLy8gU3VyZmFjZSBmaWxscywgYWxpZ25lZCAxOjEgd2l0aCBxZG5hcHJvLXNlZ21lbnQgW0tpbSAzMC4wNy4yMDI2XS4gVGhlIHRyYWNrXG4gIC8vIGlzIHRoZSBuZXV0cmFsIGdyZXkgU3VyZmFjZS9TZWNvbmRhcnkgKCNmMGYxZjIpIOKAlCBpdCB1c2VkIHRvIGJlIHRoZSBsYXZlbmRlclxuICAvLyAtLWMtYmctc3VidGxlLXB1cnBsZSwgd2hpY2ggbWFkZSB0aGUgc2FtZSBjb250cm9sIHJlYWQgZGlmZmVyZW50bHkgcGVyIHBhZ2UuXG4gIC8vIEJvdGggZ28gdGhyb3VnaCBhIGxvY2FsIGN1c3RvbSBwcm9wZXJ0eSBzbyB0aGUgZGFyayBibG9jayBhdCB0aGUgYm90dG9tIG9ubHlcbiAgLy8gaGFzIHRvIHJlLXBvaW50IHR3byB2YWx1ZXMgaW5zdGVhZCBvZiByZXBlYXRpbmcgdGhlIHJ1bGVzLlxuICAtLXRiLXRyYWNrLWJnOiB2YXIoLS1jLWdyZXktNTApO1xuICAtLXRiLXBpbGwtYmc6IHZhcigtLWMtYmctY2FyZCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBhbmNob3JzIHRoZSBhYnNvbHV0ZWx5LXBvc2l0aW9uZWQgcGlsbFxuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogdmFyKC0tcy0xKTsgLy8gfjRweCBpbm5lciBwYWRkaW5nXG4gIGdhcDogMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10Yi10cmFjay1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItNCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mZik7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5xZG5hcHJvLXRhYi1iYXIgeyAtLXRiLXBpbGwtZHVyYXRpb246IDBtczsgfVxufVxuXG4vLyBTbGlkaW5nIHBpbGwg4oCUIGNyZWF0ZWQgKyBwb3NpdGlvbmVkIGJ5IEpTICh0cmFuc2Zvcm0gKyB3aWR0aCkuIFNpdHMgYmVoaW5kXG4vLyB0aGUgaXRlbXMgKHotaW5kZXggMCk7IGl0ZW1zIHRoZW1zZWx2ZXMgYXJlIHRyYW5zcGFyZW50IHNvIHRoZSBwaWxsIHNob3dzXG4vLyB0aHJvdWdoIGFzIHRoZSBhY3RpdmUtdGFiIGJhY2tncm91bmQuXG4ucWRuYXByby10YWItYmFyX19waWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IHZhcigtLXMtMSk7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogdmFyKC0tcy0xKTtcbiAgd2lkdGg6IDA7ICAgICAgICAgIC8vIHNldCBieSBKU1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IC8vIHNldCBieSBKU1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10Yi1waWxsLWJnKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0zKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMDtcbiAgb3BhY2l0eTogMDsgLy8gSlMgZmxpcHMgdG8gMSBvbmNlIGFuIGFjdGl2ZSB0YWIgaXMgbWVhc3VyZWQgKG5vIGZsYXNoIGF0IDAsMClcbiAgdHJhbnNpdGlvbjpcbiAgICB0cmFuc2Zvcm0gdmFyKC0tdGItcGlsbC1kdXJhdGlvbikgY3ViaWMtYmV6aWVyKDAuMDUsIDAuNywgMC4xLCAxLjApLFxuICAgIHdpZHRoICAgICB2YXIoLS10Yi1waWxsLWR1cmF0aW9uKSBjdWJpYy1iZXppZXIoMC4wNSwgMC43LCAwLjEsIDEuMCksXG4gICAgb3BhY2l0eSAxMjBtcyBlYXNlO1xufVxuXG4ucWRuYXByby10YWItYmFyLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIHN0YWNrcyBhYm92ZSB0aGUgcGlsbFxuICB6LWluZGV4OiAxO1xuICBmbGV4OiAxIDEgMDsgLy8gZXF1YWwtd2lkdGggc2VnbWVudHNcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBtaW4taGVpZ2h0OiA0NHB4OyAvLyB0b3VjaCB0YXJnZXRcbiAgcGFkZGluZzogMCB2YXIoLS1zLTIpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLTMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMTUwbXMgZWFzZTtcbn1cblxuLnFkbmFwcm8tdGFiLWJhci1pdGVtX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LW1lZGl1bSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgdHJhbnNpdGlvbjogY29sb3IgMTUwbXMgZWFzZSwgZm9udC13ZWlnaHQgMTUwbXMgZWFzZTtcbn1cblxuLy8gQWN0aXZlIHRhYiDigJQgZGVlcCBwdXJwbGUsIHNlbWlib2xkIGxhYmVsLiBUaGUgcGlsbCBiZWhpbmQgaXQgc3VwcGxpZXMgdGhlXG4vLyB3aGl0ZSBmaWxsICsgc2hhZG93OyB0aGlzIG9ubHkgdG91Y2hlcyB0aGUgbGFiZWwgY29sb3VyL3dlaWdodC5cbi5xZG5hcHJvLXRhYi1iYXItaXRlbS5pcy1hY3RpdmUgLnFkbmFwcm8tdGFiLWJhci1pdGVtX19sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1jLWJyYW5kLXB1cnBsZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1zZW1pKTtcbn1cblxuLy8gSW5hY3RpdmUgaG92ZXIg4oCUIGEgZmFpbnQgbGlmdCBzbyB0aGUgYmFyIHJlYWRzIGFzIGludGVyYWN0aXZlLlxuLnFkbmFwcm8tdGFiLWJhci1pdGVtOm5vdCguaXMtYWN0aXZlKTpob3ZlciAucWRuYXByby10YWItYmFyLWl0ZW1fX2xhYmVsIHtcbiAgY29sb3I6IHZhcigtLWMtdGV4dC1ib2R5KTtcbn1cblxuLnFkbmFwcm8tdGFiLWJhci1pdGVtOmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtcmluZyksIDAgMCAwIDRweCB2YXIoLS1mb2N1cy1nbG93KTtcbn1cblxuLnFkbmFwcm8tdGFiLWJhci1pdGVtX19iYWRnZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vLyBEYXJrIG1vZGUg4oCUIHRoZSBPTkxZIGV4cGxpY2l0IG92ZXJyaWRlIHRoaXMgY29tcG9uZW50IG5lZWRzLiBFdmVyeSBvdGhlclxuLy8gdmFsdWUgaXMgYSBzZW1hbnRpYyB0b2tlbiB0aGF0IGZsaXBzIGl0c2VsZiwgYnV0IHRoZSB0d28gc3VyZmFjZXMgY2Fubm90IGJlOlxuLy8gcWRuYXByby1zZWdtZW50IHB1dHMgYSBEQVJLRVIgcGlsbCBvbiBhIExJR0hURVIgdHJhY2sgaW4gZGFyayBtb2RlICgjMWUyMDI4XG4vLyBvbiAjMmEyZDM1KSwgdGhlIHJldmVyc2Ugb2YgdGhlIGxpZ2h0IHRoZW1lLiBMZWF2aW5nIHRoZSBwaWxsIG9uXG4vLyAtLWMtYmctY2FyZCB3b3VsZCByZXNvbHZlIGl0IHRvIHRoZSBzYW1lIGdyZXkgYXMgdGhlIHRyYWNrIGFuZCB0aGUgcGlsbFxuLy8gd291bGQgZGlzYXBwZWFyLiBOZWFyZXN0IHRva2VucyB0byBzZWdtZW50J3MgaGFyZGNvZGVkIGhleGVzOiBncmV5LTgwMFxuLy8gKCMyZTMwMzYpIGZvciB0aGUgdHJhY2ssIGdyZXktOTAwICgjMTgxODFjKSBmb3IgdGhlIHBpbGwuXG4vLyBTYW1lIHRocmVlIHNlbGVjdG9ycyBhcyB0aGUgZGVzaWduLXRva2VucyBkYXJrIGJsb2NrLCBzbyBpdCB0cmlnZ2VycyBvblxuLy8gW2RhdGEtdGhlbWUtZGFya10gKHRhc2tsaXN0KSwgW2RhdGEtdGhlbWU9XCJkYXJrXCJdIGFuZCBib2R5W2RhdGEtdGhlbWU9XCJkYXJrXCJdLlxuW2RhdGEtdGhlbWUtZGFya10gLnFkbmFwcm8tdGFiLWJhcixcbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby10YWItYmFyLFxuYm9keVtkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby10YWItYmFyIHtcbiAgLS10Yi10cmFjay1iZzogdmFyKC0tYy1ncmV5LTgwMCk7XG4gIC0tdGItcGlsbC1iZzogdmFyKC0tYy1ncmV5LTkwMCk7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBxZG5hcHJvLWFwcC1oZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEdlbmVyaWMgYXBwIGhlYWRlciBzaGVsbCBmb3IgdGhlIFFETkEgUFdBIChyZXBsYWNlcyBwZXItc2NyZWVuIGFkLWhvY1xuLy8gIGhlYWRlcnMsIGUuZy4gdGhlIGFnZW5kYSBoZWFkZXIgaW4gRC1hZ2VuZGEuaHRtbCDigJQgdGhhdCB2aWV3IGlzIHRoZVxuLy8gIGRlc2lnbiByZWZlcmVuY2UsIG5vdCBhIGRlcGVuZGVuY3kpLlxuLy9cbi8vICBUYXAgdGFyZ2V0IDogNDRweCBtaW5pbXVtIChxZG5hcHJvLWljb24tYnRuIHNpemU9XCJ0b3VjaFwiKSwgQXBwbGUgSElHLlxuLy8gIFNhZmUgYXJlYSAgOiBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApIOKAlCBhbHdheXMgb24sIHNvIGFcbi8vICAgICAgICAgICAgICAgc3RpY2t5IGhlYWRlciBhdCB0b3A6MCByZXNwZWN0cyB0aGUgbm90Y2ggYXV0b21hdGljYWxseS5cbi8vXG4vLyAgVG9rZW5zIGNvbnN1bWVkIChmcm9tIGRlc2lnbi10b2tlbnMvX2Rlc2lnbi10b2tlbnMuc2NzcyksIHZpYSB0aGVcbi8vICBjb21wb25lbnQncyBvd24gLS1xYWgtKiBjdXN0b20gcHJvcGVydGllcyBzbyBhIHF1ZXN0aW9ubmFpcmUgdGhlbWUgY2FuXG4vLyAgcmVjb2xvdXIgdGhlIGhlYWRlciB3aXRob3V0IGZvcmtpbmcgaXQ6XG4vLyAgICAtLWMtYmctY2FyZCAgICAgICAtLXFhaC1iZyBkZWZhdWx0XG4vLyAgICAtLWMtdGV4dC1oZWFkaW5nICAtLXFhaC1mZyBkZWZhdWx0ICh0aXRsZSArIGJhY2sgaWNvbilcbi8vICAgIC0tYy10ZXh0LW11dGVkICAgIC0tcWFoLXN1YnRpdGxlLWNvbG9yIGRlZmF1bHRcbi8vICAgIC0tYy1ib3JkZXItc29mdCAgIC0tcWFoLWJvcmRlci1jb2xvciBkZWZhdWx0XG4vL1xuLy8gIG1vZGU9XCJzZWxlY3Rpb25cIiBrZWVwcyBhIFdISVRFIHN1cmZhY2UgYW5kIGNhcnJpZXMgdGhlIHB1cnBsZSBvbmx5IGluIHRoZVxuLy8gIGJvcmRlciwgdGhlIGNvdW50IGFuZCB0aGUgYWN0aW9ucy4gSXQgdXNlZCB0byBmaWxsIHRoZSB3aG9sZSBiYXIgd2l0aCB0aGVcbi8vICBsaWJyYXJ5J3MgXCJzZWxlY3RlZFwiIHB1cnBsZSAoI2U2ZTlmZiwgdGhlIHNhbWUgcGFpciBhc1xuLy8gIHFkbmFwcm8taW5ib3gtbWVzc2FnZSdzIC5pbmJveC1tZXNzYWdlLXNlbGVjdGVkKSwgYnV0IHRoYXQgbWFkZSB0aGUgaGVhZGVyXG4vLyAgZmlnaHQgdGhlIHNlbGVjdGVkIFJPV1MgcmlnaHQgdW5kZXIgaXQ6IHlvdSBjb3VsZCBubyBsb25nZXIgc2VlIHdoZXJlIHRoZVxuLy8gIGhlYWRlciBlbmRlZCBhbmQgdGhlIHNlbGVjdGlvbiBiZWdhbi4gW0tpbSAyOS4wNy4yMDI2LCBuYSBlZW4gdG9lc3RlbHRlc3RdXG4vLyAgICAtLWMtYmctY2FyZCAgICAgICAtLXFhaC1iZyBpbiBzZWxlY3Rpb24gbW9kZSAod2FzIC0tYy1wdXJwbGUtNTApXG4vLyAgICAtLWMtYnJhbmQtcHVycGxlICAtLXFhaC1zZWxlY3Rpb24tZmcgb3ZlcnJpZGUgKGNvdW50ICsgYWN0aW9ucyBvbmx5O1xuLy8gICAgICAgICAgICAgICAgICAgICAgdGhlIGJvcmRlciB1c2VzIHRoZSBzdGFuZGFyZCAtLWMtYm9yZGVyLXNvZnQgYWdhaW5cbi8vICAgICAgICAgICAgICAgICAgICAgIHNpbmNlIDMxLjA3LjIwMjYsIEtpbTogZ3JpanMgaW4gcGxhYXRzIHZhbiBwYWFycylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucWRuYXByby1hcHAtaGVhZGVyIHtcbiAgICAtLXFhaC1iZzogdmFyKC0tYy1iZy1jYXJkLCAjZmZmZmZmKTtcbiAgICAtLXFhaC1mZzogdmFyKC0tYy10ZXh0LWhlYWRpbmcsICMxYTFmNGQpO1xuICAgIC0tcWFoLXN1YnRpdGxlLWNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2ZTcyODApO1xuICAgIC0tcWFoLWJvcmRlci1jb2xvcjogdmFyKC0tYy1ib3JkZXItc29mdCwgcmdiYSgwLCAwLCAwLCAwLjA3KSk7XG4gICAgLS1xYWgtaGVpZ2h0OiA1NnB4O1xuICAgIC0tcWFoLXNlbGVjdGlvbi1mZzogdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1xYWgtYmcpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1xYWgtYm9yZGVyLWNvbG9yKTtcbiAgICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDBweCk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG59XG5cbi8vIFRyYW5zcGFyZW50IHZhcmlhbnQg4oCUIHNlYW1sZXNzLCBmb3IgYSBzY3JlZW4gdGhhdCBwYWludHMgaXRzIG93blxuLy8gYmFja2dyb3VuZCBiZWhpbmQgdGhlIGhlYWRlciAoZS5nLiBhIGNvbG91cmVkIHF1ZXN0aW9ubmFpcmUgY2FudmFzKS5cbi5xZG5hcHJvLWFwcC1oZWFkZXIucWFoLXZhcmlhbnQtdHJhbnNwYXJlbnQge1xuICAgIC0tcWFoLWJnOiB0cmFuc3BhcmVudDtcbiAgICAtLXFhaC1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucWFoLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLXFhaC1oZWlnaHQpO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDRweCAxMnB4O1xufVxuXG4ucWFoLWJhY2sge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgJltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4vLyBXcmFwcyAucWFoLXRpdGxlcyArIHRoZSBvcHRpb25hbCBhdmF0YXIgc2xvdCBhcyBPTkUgYmxvY2ssIHNvIHRoZSB0d28gY2FuXG4vLyBiZSBjZW50ZXJlZCB0b2dldGhlciB1bmRlciBhbGlnbj1cImNlbnRlclwiLiBJbiBhbGlnbj1cInN0YXJ0XCIgKGRlZmF1bHQpXG4vLyB0aGlzIHdyYXBwZXIgaXMgaW5lcnQ6IGl0IGp1c3QgZm9yd2FyZHMgdGhlIHJvdydzIGZsZXhpYmxlIHNwYWNlIHRvXG4vLyAucWFoLXRpdGxlcyBleGFjdGx5IGxpa2UgLnFhaC10aXRsZXMgdXNlZCB0byBjbGFpbSBkaXJlY3RseSwgc28gd3JhcHBpbmdcbi8vIGl0IGhlcmUgZG9lcyBub3QgY2hhbmdlIHRoZSBkZWZhdWx0IGxheW91dCBhdCBhbGwuXG4ucWFoLXRpdGxlLWNsdXN0ZXIge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbn1cblxuLnFhaC10aXRsZXMge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLy8gQXZhdGFyIHNsb3Qg4oCUIHNhbWUgZW1wdHktY29sbGFwc2UgY29udHJhY3QgYXMgLnFhaC1hY3Rpb25zIC8gLnFhaC1ub3ZhLlxuLnFhaC1hdmF0YXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH1cbn1cblxuLy8gRm9udC13ZWlnaHQgNTAwIChtZWRpdW0pLCBub3QgNjAwIOKAlCBLaW06IHRoZSB0aXRsZSBmZWx0IHRvbyBoZWF2eSBuZXh0IHRvXG4vLyB0aGUgcmVzdCBvZiB0aGUgbGlicmFyeS4gQ3Jvc3MtY2hlY2tlZCBhZ2FpbnN0IGV2ZXJ5IHBsYWluLXJvdy9sYWJlbFxuLy8gY29tcG9uZW50IChxZG5hcHJvLXVuaXQtY2FyZCBsaXN0LWNvbXBhY3QgMTQvNTAwLCBxZG5hcHJvLWJvdHRvbS1uYXYgbGFiZWxcbi8vIDEwLzUwMCwgcWRuYXByby1ldmVudC1jYXJkIHNpemU9XCJzbWFsbFwiIHRpdGxlIDEyLzUwMCDigJQgZGlhbGxlZCBiYWNrIGZyb21cbi8vIDYwMCBvbiAxNi4wNy4yMDI2IGZvciB0aGUgZXhhY3Qgc2FtZSBcInRvbyBoZWF2eVwiIGNvbXBsYWludCkg4oCUIDYwMC83MDAgb25seVxuLy8gc2hvd3MgdXAgb24gY2FyZC1lbXBoYXNpcyBjb250ZXh0cyAoZXZlbnQtY2FyZCBkZWZhdWx0LCB1bml0LWNhcmRcbi8vIGxpc3QtbGFyZ2UpIG9yIHRoZSB0eXBvZ3JhcGh5IG1vZHVsZSdzIEhlYWRpbmcgbWl4aW5zLCBub3Qgb24gYSBwYWdlXG4vLyBoZWFkZXIgdGl0bGUgc2l0dGluZyBkaXJlY3RseSBhYm92ZSBsaXN0IHJvd3MuIFNlZSBfbGlzdC1yb3cuc2NzcyBoZWFkZXJcbi8vIGNvbW1lbnQgZm9yIHRoZSBmdWxsIGNyb3NzLWNvbXBvbmVudCBldmlkZW5jZS4gW0tpbSAyMDI2LTA3LTIxXVxuLnFhaC10aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLXFhaC1mZyk7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICY6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi5xYWgtc3VidGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1xYWgtc3VidGl0bGUtY29sb3IpO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAmOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4vLyBMZWFkaW5nLXNsb3Q6IGtub3BwZW4gaGVsZW1hYWwgbGlua3MsIG5hIGRlIHRlcnVnL2FubnVsZWVyLWtub3AgZW4gdm9vciBkZSB0aXRlbC5cbi8vIEVyYmlqIG9wIDMxLjA3LjIwMjYgdm9vciBoZXQgUFdBLXBvc3R2YWs6IHZhbHQgZGUgbWFwcGVuLXppamJhbGsgd2VnIG9tZGF0IGhldCBzY2hlcm0gdGVcbi8vIHNtYWwgaXMsIGRhbiBob29ydCBkYWFyIGVlbiBrbm9wIGRpZSBkaWUgbWFwcGVuIGFscyBwYW5lZWwgb3BlbnQsIGVuIGRhdCBpcyBvb2sgZGUgcGxla1xuLy8gd2FhciBkZSBiYWNrb2ZmaWNlLWluYm94IGhlbSBoZWVmdC5cbi8vIExlZWcgPSBnZWVuIHJ1aW10ZSwgbmV0IGFscyBlbGtlIGFuZGVyZSBzbG90LCBkdXMgZ2VlbiBlbmtlbCBiZXN0YWFuZCBzY2hlcm0gbWVya3QgaGllclxuLy8gaWV0cyB2YW4uXG4vLyBgaGlkZGVuYCBNT0VUIGhldCB3aW5uZW4gdmFuIGRlIGVpZ2VuIGRpc3BsYXktcmVnZWwgdmFuIGVlbiBnZXNsb3R0ZSBrbm9wLCBlbiBkYXQgZG9ldFxuLy8gaGV0IG5pZXQgdmFuemVsZjogYGhpZGRlbmAga3Jpamd0IHppam4gYGRpc3BsYXk6IG5vbmVgIGFsbGVlbiB1aXQgZGUgc3R5bGVzaGVldCB2YW4gZGVcbi8vIEJST1dTRVIsIGVuIGVsa2UgZWlnZW4gZGlzcGxheS1yZWdlbCB2ZXJzbGFhdCBkaWUuIEVlbiBxZG5hcHJvLWljb24tYnRuIHN0YWF0IG9wXG4vLyBgZGlzcGxheTogaW5saW5lLWZsZXhgIGVuIGVlbiBxZG5hcHJvLWlucHV0IG9wIGBkaXNwbGF5OiBibG9ja2AsIGR1cyB6b25kZXIgZGV6ZSByZWdlbFxuLy8gYmxpamZ0IGVlbiB2ZXJib3JnZW4ga25vcCBnZXdvb24gc3RhYW4uXG4vL1xuLy8gRGl0IGlzIG5pZXV3IHNpbmRzIDMxLjA3LjIwMjYgZW4gaGV0IGlzIG5vZGlnIGdld29yZGVuIGRvb3IgZWVuIGVjaHRlIGZvdXQ6IGhldCBQV0EtcG9zdHZha1xuLy8gaGFhbGRlIHppam4ga25vcHBlbiBtZXQgZWVuIHt7I2lmfX0tYmxvayBpbiBlbiB1aXQgZGUgRE9NLCBlbiBvbWRhdCBkZXplIGtvcCBzbG90LWtpbmRlcmVuXG4vLyBWRVJQTEFBVFNUIGxpZXAgUmFjdGl2ZSBkYWFyb3Agc3R1ayBtZXQgXCJpbnNlcnRCZWZvcmUgb3AgbnVsbFwiIChmb3V0Y29kZSA1MzMxLCBnZXZvbmRlbiBkb29yXG4vLyBLaW0pLiBEZSByZXBhcmF0aWUgaXMgZGF0IGVlbiBnZWJydWlrZXIgemlqbiBrbm9wcGVuIGxhYXQgc3RhYW4gZW4gYWxsZWVuIGBoaWRkZW5gIHpldCwgZW5cbi8vIGRhbiBtb2V0IGRhdCBhdHRyaWJ1dXQgaGllciBvb2sgZWNodCB3ZXJrZW4uXG4vL1xuLy8gU3BlY2lmaWNpdGVpdDogKDAsMiwwKSB0ZWdlbiBkZSAoMCwxLDApIHZhbiAucWRuYXByby1pY29uLWJ0biwgZHVzIGRlemUgd2ludCB6b25kZXJcbi8vICFpbXBvcnRhbnQuIE5hZ2VyZWtlbmQsIG5pZXQgYWFuZ2Vub21lbi5cbi5xYWgtbGVhZGluZyBbaGlkZGVuXSxcbi5xYWgtc2VhcmNoIFtoaWRkZW5dLFxuLnFhaC1hY3Rpb25zIFtoaWRkZW5dLFxuLnFhaC1ub3ZhIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucWFoLWxlYWRpbmcge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcblxuICAgICY6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi8vIFNlYXJjaCBzbG90OiBzaXRzIGJldHdlZW4gdGhlIHRpdGxlIGNsdXN0ZXIgYW5kIC5xYWgtYWN0aW9ucywgaG9yaXpvbnRhbGx5XG4vLyBjZW50ZXJlZCBsaWtlIGEgR21haWwvTWFnbmlmaWMgc2VhcmNoIGJhci4gR3Jvd3Mgd2l0aCB0aGUgcm93J3MgbGVmdG92ZXJcbi8vIHNwYWNlIChmbGV4OiAxIDEgYXV0bykgYnV0IHN0b3BzIGF0IG1heC13aWR0aCBzbyBpdCBuZXZlciBzcHJhd2xzIGVkZ2UtdG8tXG4vLyBlZGdlIG9uIGEgd2lkZSB0YWJsZXQvZGVza3RvcCBoZWFkZXIgKEtpbTogXCJoaWogc3RvcHQgb3AgZWVuIGdlZ2V2ZW5cbi8vIG1vbWVudCBtZXQgZ3JvZWllblwiKS4gU2FtZSBlbXB0eS1jb2xsYXBzZSBjb250cmFjdCBhcyAucWFoLWFjdGlvbnMvLnFhaC1cbi8vIG5vdmEvLnFhaC1hdmF0YXIgYmVsb3c6IGFuIHVudXNlZCBzbG90IGxlYXZlcyBubyBnYXAsIHNvIGV2ZXJ5IGV4aXN0aW5nXG4vLyBQV0Egc2NyZWVuIHRoYXQgZG9lc24ndCB1c2UgdGhpcyBzbG90IGlzIHVuYWZmZWN0ZWQuIE1lYW50IGZvciB0YWJsZXQgYW5kXG4vLyB3aWRlciAoc2VlIHRoZSBjb21wb25lbnQgZG9jYmxvY2spOiB0aGUgUFdBIGRvZXMgbm90IHNsb3QgYW55dGhpbmcgaW5cbi8vIGhlcmUgb24gcGhvbmUgd2lkdGhzLCBzbyB0aGVyZSBpcyBubyBkZWRpY2F0ZWQgbW9iaWxlIGhpZGUtcnVsZTsgdGhhdFxuLy8gY2hvaWNlIGxpdmVzIG9uIHRoZSBjYWxsaW5nIHNjcmVlbiwgbm90IGhlcmUuIFtLaW0gMzEuMDcuMjAyNl1cbi5xYWgtc2VhcmNoIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiA1MjBweDtcblxuICAgIC8vIFpvZHJhIGRlIHJpaiBCUkVERVIgaXMgZGFuIGRlIHRpdGVsIHBsdXMgNTIwcHggcGx1cyBkZSBrbm9wcGVuLCBpcyBlciBydWltdGUgb3ZlcixcbiAgICAvLyBlbiBkaWUgaG9vcnQgYWFuIEJFSURFIGthbnRlbiB0ZSB2YWxsZW4uIFpvbmRlciBkZXplIHR3ZWUgYXV0by1tYXJnZXMgdmFsdCBoaWpcbiAgICAvLyBoZWxlbWFhbCByZWNodHMgdmFuIGRlIGJhbGsgZW4gc3RhYXQgZGUgYmFsayBkdXMgbGlua3MgdmFuIGhldCBtaWRkZW4uIEtpbSB2cm9lZyBvbVxuICAgIC8vIGVlbiBnZWNlbnRyZWVyZGUgYmFsayAoMzEuMDcuMjAyNikuXG4gICAgLy9cbiAgICAvLyBXYXQgZGl0IEJFV1VTVCBuaWV0IGRvZXQ6IGRlIGJhbGsgZXhhY3QgaW4gaGV0IG1pZGRlbiB2YW4gaGV0IFZFTlNURVIgemV0dGVuLiBEYXRcbiAgICAvLyB6b3UgYmV0ZWtlbmVuIGRhdCBoaWogdWl0IGRlIGZsb3cgbW9ldCAoem9hbHMgZGUgdGl0ZWwgb25kZXIgYWxpZ249XCJjZW50ZXJcIiBkb2V0IG1ldFxuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZSksIGVuIGRhbiBrYW4gaGlqIG9wIGVlbiBzbWFsbGUgdGFibGV0IG92ZXIgZGUgdGl0ZWwgb2Ygb3ZlciBkZVxuICAgIC8vIGtub3BwZW4gaGVlbiB2YWxsZW4uIERpdCBjZW50cmVlcnQgaGVtIGluIGRlIHJ1aW10ZSB0dXNzZW4gZGUgdGl0ZWwgZW4gZGUga25vcHBlbiwgZW5cbiAgICAvLyBkaWUga2FuIHBlciBkZWZpbml0aWUgbmlldCBvdmVybGFwcGVuLlxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICY6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAvLyBXaGF0ZXZlciBnZXRzIHNsb3R0ZWQgaW4gKGEgcWRuYXByby1pbnB1dCkgZmlsbHMgdGhlIHNsb3QncyBvd24gZ3Jvd25cbiAgICAvLyB3aWR0aCBpbnN0ZWFkIG9mIHNpdHRpbmcgYXQgaXRzIG93biBpbnRyaW5zaWMgc2l6ZSBpbnNpZGUgYSBjZW50ZXJlZFxuICAgIC8vIGJveCAtIG90aGVyd2lzZSBcImZsZXg6IDEgMSBhdXRvXCIgb24gLnFhaC1zZWFyY2ggd291bGQgZ3JvdyB0aGUgZW1wdHlcbiAgICAvLyBzcGFjZSBhcm91bmQgYSBzbWFsbCBpbnB1dCByYXRoZXIgdGhhbiB0aGUgaW5wdXQgaXRzZWxmLlxuICAgID4gKiB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLy8gYWxpZ249XCJzdGFydFwiOiAucWFoLXNlYXJjaCBpcyBhIG5vcm1hbCBmbGV4IHNpYmxpbmcgb2YgLnFhaC10aXRsZS1jbHVzdGVyLFxuLy8gc28gd2l0aG91dCB0aGlzIHJ1bGUgYm90aCB3b3VsZCBiZSBmbGV4OiAxIDEgYXV0byBhbmQgc3BsaXQgdGhlIHJvdydzXG4vLyBncm93dGggMS1mb3ItMSB0aGUgbW9tZW50IGEgc2NyZWVuIHNsb3RzIHNvbWV0aGluZyBpbnRvIC5xYWgtc2VhcmNoIC0gdGhlXG4vLyB0aXRsZSB3b3VsZCBzaWxlbnRseSBsb3NlIGhhbGYgaXRzIHdpZHRoLiBUaGUgdGl0bGUncyBQT1NJVElPTiBuZXZlclxuLy8gY2hhbmdlcyBlaXRoZXIgd2F5IChpdCBzdGlsbCBzaXRzIGRpcmVjdGx5IGFmdGVyIHRoZSBiYWNrIGJ1dHRvbiwgdGhpcyBpc1xuLy8gYSB3aWR0aCBmbGV4Ym94IHNwbGl0LCBub3QgYSByZWZsb3cgdGhhdCBtb3ZlcyBpdCkgLSBidXQgS2ltJ3MgYXNrIHdhc1xuLy8gdGhhdCB0aGUgdGl0bGUgZG9lcyBub3QgcmVhY3QgYXQgYWxsIHRvIGEgc2VhcmNoIGJhciBhcHBlYXJpbmcsIHNvIGdpdmVcbi8vIGFsbCBvZiB0aGUgcm93J3MgZ3Jvd3RoIHRvIHNlYXJjaCBpbnN0ZWFkIG9uY2UgaXQgaXMgYWN0dWFsbHkgcG9wdWxhdGVkLlxuLy8gYWxpZ249XCJjZW50ZXJcIiBpcyB1bnRvdWNoZWQgYnkgdGhpczogLnFhaC10aXRsZS1jbHVzdGVyIGlzIHRha2VuIG91dCBvZlxuLy8gZmxvdyBlbnRpcmVseSB2aWEgcG9zaXRpb246YWJzb2x1dGUgKHNlZSB0aGUgYWxpZ249XCJjZW50ZXJcIiBzZWN0aW9uXG4vLyBiZWxvdyksIHNvIGZsZXgtZ3JvdyB3YXMgbmV2ZXIgZG9pbmcgYW55dGhpbmcgZm9yIGl0IHRoZXJlIHRvIGJlZ2luIHdpdGguXG4ucWFoLXJvdzpoYXMoLnFhaC1zZWFyY2g6bm90KDplbXB0eSkpIC5xYWgtdGl0bGUtY2x1c3RlciB7XG4gICAgZmxleDogMCAxIGF1dG87XG59XG5cbi8vIOKUgOKUgCBab2VrYmFsayBlY2h0IGdlY2VudHJlZXJkIG9wIGRlIGtvcCwgdmFuYWYgMTAyNHB4IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gS2x1cyA0YSAoYmVzbHVpdCA3NiwgU0NPUEUtcHdhLWluYm94Lm1kKTogaGllcmJvdmVuIHN0YWF0IC5xYWgtc2VhcmNoIG5vZyBpblxuLy8gZGUgZmxvdywgbWV0IGF1dG8tbWFyZ2VzLiBEYXQgY2VudHJlZXJ0IGRlIGJhbGsgaW4gZGUgUlVJTVRFIHR1c3NlbiBkZVxuLy8gdGl0ZWwtY2x1c3RlciBlbiBkZSBhY3RpZXMsIG5pZXQgb3AgZGUga29wIHplbGY6IHpvZHJhIGRpZSB0d2VlIGthbnRlblxuLy8gb25nZWxpamsgd2VnZW4gKGJpanZvb3JiZWVsZCBlZW4gbGVhZGluZy1rbm9wIGxpbmtzLCBnZWVuIE5vdmEgcmVjaHRzKVxuLy8gc3RhYXQgZGUgYmFsayBtZWV0YmFhciBuYWFzdCBoZXQgZWNodGUgbWlkZGVuLiBEYXQga2FuIGFsbGVlbiBrbG9wcGVuIGRvb3Jcbi8vIGRlIGJhbGsgdWl0IGRlIGZsb3cgdGUgaGFsZW4gZW4gcG9zaXRpZSB0ZSBnZXZlbiBsb3MgdmFuIHppam4gYnVyZW4sIGVuIGRhdFxuLy8gbWFnIHBhcyB2YW5hZiB0YWJsZXQtYnJlZWQtZW4tZ3JvdGVyICgxMDI0cHgpLCBkZXplbGZkZSBvbmRlcmdyZW5zIGFscyBkZVxuLy8gcmVzdCB2YW4gZGl0IHNsb3QgYWwgZ2VicnVpa3QgKHppZSBkZSBzbG90LWNvbW1lbnQgaW4gZGUgSlMpLlxuLy9cbi8vIFRlY2huaWVrOiAucWFoLXNlYXJjaCBrcmlqZ3QgZWVuIHN5bW1ldHJpc2NoZSBsaW5rcy9yZWNodHMtaW56ZXRcbi8vICgtLXFhaC1zZWFyY2gtZ3V0dGVyKSByb25kIGhldCBtaWRkZW4gdmFuIGRlIFJJSiAobmlldCB2YW4gZGUgcmVzdGVyZW5kZVxuLy8gZmxleC1ydWltdGUpLCBlbiBiZWhvdWR0IHppam4gYmVzdGFhbmRlIG1heC13aWR0aCArIG1hcmdpbjphdXRvIHZhblxuLy8gaGllcmJvdmVuLiBCaWogZWVuIGF1dG8tYnJlZWR0ZSBib3ggbWV0IHpvd2VsIGxlZnQgYWxzIHJpZ2h0IGdlemV0LCBrcmltcHRcbi8vIGRlIGJyb3dzZXIgZGUgYm94IHRvdCBtYXgtd2lkdGggZW4gdmVyZGVlbHQgZGUgdHdlZSBhdXRvLW1hcmdlcyBkZSByZXN0XG4vLyBnZWxpamsgLSBkZXplbGZkZSBjZW50cmVlcnRydWMsIG51IHRvZWdlcGFzdCBvcCBlZW4gYWJzb2x1dXQgZWxlbWVudCBpblxuLy8gcGxhYXRzIHZhbiBlZW4gZmxleC1pdGVtLiBIZXQga2luZCBlcmluIChgPiAqYCBoaWVyYm92ZW4pIGJsaWpmdCB3aWR0aDoxMDAlXG4vLyB2YW4gRElFIGdla3JvbXBlbiBib3gsIGR1cyBkZSBiYWxrIHplbGYgaXMgbm9vaXQgYnJlZGVyIGRhbiBtYXgtd2lkdGggZW5cbi8vIHppam4ga2xpa2JhcmUgdmxhayBpcyBleGFjdCB6aWpuIHppY2h0YmFyZSB2bGFrIC0gZ2VlbiBvbnppY2h0YmFyZVxuLy8gaGl0LWJveCBkaWUgZXJuYWFzdCBsaWd0IHRlIHdhY2h0ZW4uXG4vL1xuLy8gVGl0ZWwtY2x1c3RlciBrcmlqZ3QgaGllciBlZW4gbWF4LXdpZHRoOiB6b2RyYSBkZSBiYWxrIG5pZXQgbWVlciBtZWVidWlndFxuLy8gbWV0IGRlIHJlc3QgdmFuIGRlIHJpaiwgZ3JvZWl0IGRlIHRpdGVsLWNsdXN0ZXIgKGZsZXg6IDAgMSBhdXRvIGhpZXJib3Zlbilcbi8vIG9uZ2VyZW1kIGRvb3IgdG90IHppam4gZWlnZW4gdGVrc3RicmVlZHRlIC0gZGF0IGtvbiBlZXJzdCBuaWV0IG92ZXIgZGUgYmFsa1xuLy8gaGVlbiBsb3BlbiBvbWRhdCBkZSBiYWxrIGxldHRlcmxpamsgZGUgcnVpbXRlIGVybmFhc3Qgb3BlaXN0ZS4gWm9uZGVyIGVlblxuLy8gZWlnZW4gcGxhZm9uZCBrYW4gZWVuIGxhbmdlIHRpdGVsIG51IHfDqWwgb25kZXIgZGUgZ2VjZW50cmVlcmRlIGJhbGtcbi8vIGRvb3Jsb3Blbi4gRGUgd2FhcmRlbiB6aWpuIGVlbiB0dW5hYmxlIHZlaWxpZ2hlaWRzbWFyZ2UsIG5ldCBhbHNcbi8vIC0tcWFoLWNlbnRlci1ndXR0ZXIgYmlqIGFsaWduPVwiY2VudGVyXCIgaGllcmJvdmVuIC0gZ2VlbiBtZXRpbmcgdmFuIGRlXG4vLyB3ZXJrZWxpamtlIGluaG91ZCAobGVhZGluZy1rbm9wIE9GIHRlcnVnLWtub3AgbGlua3MsIGFjdGllcyArIGV2ZW50dWVlbFxuLy8gTm92YSByZWNodHMpLCBtYWFyIHJ1aW0gZ2Vub2VnIG9tIGRhdCBub29pdCB0ZSByYWtlbjsgZWVuIGxhbmdlIHRpdGVsXG4vLyBkZWdyYWRlZXJ0IGRhYXJuYSBnZXdvb24gdmlhIHppam4gYmVzdGFhbmRlIGVsbGlwc2lzLlxuLy9cbi8vIEFjdGllcy9Ob3ZhIGtyZWdlbiBodW4gcmVjaHRlci1wbGVrIHZvb3JoZWVuIGdyYXRpcyBtZWU6IC5xYWgtc2VhcmNoXG4vLyAoZmxleDogMSAxIGF1dG8pIGNvbnN1bWVlcmRlIGFsbGUgcmVzdGVyZW5kZSBydWltdGUsIGR1cyBhbGxlcyB3YXQgZXJuYVxuLy8ga3dhbSBzdG9uZCB2YW56ZWxmIHRlZ2VuIGRlIHJhbmQuIFpvZHJhIGRlIGJhbGsgdWl0IGRlIGZsb3cgdmVyZHdpam50IGlzIGVyXG4vLyBnZWVuIGVua2VsIGZsZXgtaXRlbSBtZWVyIGRhdCBncm9laXQsIGR1cyB6b25kZXIgZGV6ZSByZWdlbCB6b3UgZXIgZWVuXG4vLyBrYWxlIGxlZWd0ZSBvbnRzdGFhbiB0dXNzZW4gdGl0ZWwtY2x1c3RlciBlbiBhY3RpZXMgLSBtYXJnaW4tbGVmdDphdXRvIG9wXG4vLyBkZSBlZXJzdGUgbmlldC1sZWdlIHZhbiBkZSB0d2VlICg6ZW1wdHkgdmFuZ3QgZGUgYW5kZXJlIGFsIGFmLCB6aWUgZGVcbi8vIGJlc3RhYW5kZSByZWdlbCBoaWVyYm92ZW4gYmlqIC5xYWgtYWN0aW9ucy8ucWFoLW5vdmEpIHpldCB6ZSB3ZWVyIHRlcnVnXG4vLyB0ZWdlbiBkZSByYW5kLlxuLy9cbi8vIEFsbGVlbiBhbGlnbj1cInN0YXJ0XCIgKGRlZmF1bHQpOiBhbGlnbj1cImNlbnRlclwiIGhhYWx0IGRlIHRpdGVsLWNsdXN0ZXIgYWxcbi8vIG9wIHppam4gZWlnZW4gbWFuaWVyIHVpdCBkZSBmbG93ICh6aWUgZGllIHNlY3RpZSB2ZXJkZXJvcCkgZW4gZGUgY29tYmluYXRpZVxuLy8gdGl0ZWwgKyBiYWxrIG9uZGVyIGFsaWduPVwiY2VudGVyXCIgaXMgZXhwbGljaWV0IG5pZXQgZ2VicnVpa3QvZ2V0ZXN0ICh6aWUgZGVcbi8vIHNsb3QtY29tbWVudCBpbiBkZSBKUykgLSBkdXMgZGV6ZSByZWdlbHMgcmFrZW4gZGF0IHBhZCBiZXd1c3QgbmlldCBhYW4uXG4vLyBbS2ltIDMxLjA3LjIwMjZdXG4ucWRuYXByby1hcHAtaGVhZGVyLnFhaC1hbGlnbi1zdGFydCB7XG4gICAgLS1xYWgtc2VhcmNoLWd1dHRlcjogMzJweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5xZG5hcHJvLWFwcC1oZWFkZXIucWFoLWFsaWduLXN0YXJ0IC5xYWgtcm93OmhhcygucWFoLXNlYXJjaDpub3QoOmVtcHR5KSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLnFhaC1zZWFyY2gge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiB2YXIoLS1xYWgtc2VhcmNoLWd1dHRlcik7XG4gICAgICAgICAgICByaWdodDogdmFyKC0tcWFoLXNlYXJjaC1ndXR0ZXIpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnFhaC10aXRsZS1jbHVzdGVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucWFoLWFjdGlvbnMsXG4gICAgICAgIC5xYWgtbm92YSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC5xZG5hcHJvLWFwcC1oZWFkZXIucWFoLWFsaWduLXN0YXJ0IC5xYWgtcm93OmhhcygucWFoLXNlYXJjaDpub3QoOmVtcHR5KSkgLnFhaC10aXRsZS1jbHVzdGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAucWRuYXByby1hcHAtaGVhZGVyLnFhaC1hbGlnbi1zdGFydCAucWFoLXJvdzpoYXMoLnFhaC1zZWFyY2g6bm90KDplbXB0eSkpIC5xYWgtdGl0bGUtY2x1c3RlciB7XG4gICAgICAgIG1heC13aWR0aDogMzQwcHg7XG4gICAgfVxufVxuXG4vLyBBY3Rpb25zICsgTm92YSBzbG90IGNvbnRhaW5lcnMg4oCUIGNvbGxhcHNlIHRvIG5vdGhpbmcgd2hlbiB0aGUgY29uc3VtZXJcbi8vIGxlYXZlcyB0aGVtIGVtcHR5IChubyBzbG90dGVkIGNoaWxkcmVuIG1vdmVkIGluKSwgc28gYW4gdW51c2VkIHNsb3QgbmV2ZXJcbi8vIGxlYXZlcyBhIGdhcC5cbi5xYWgtYWN0aW9ucyxcbi5xYWgtbm92YSB7XG4gICAgZmxleDogMCAwIGF1dG87XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG5cbiAgICAmOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4vLyBDb250ZXh0IHN0cmlwIOKAlCBmdWxsIHdpZHRoLCB1bmRlciB0aGUgbWFpbiByb3cgKGRheS1jYXJvdXNlbCwgcHJvZ3Jlc3MpLlxuLy8gQ29sbGFwc2VzIHRvIHplcm8gaGVpZ2h0IHdoZW4gZW1wdHkuXG4ucWFoLWNvbnRleHQge1xuICAgICY6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi8vIOKUgOKUgCBtb2RlPVwic2VsZWN0aW9uXCIgZWxlbWVudHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBDYW5jZWwsIGNvdW50IGFuZCBzZWxlY3QtYWxsOiBoaWRkZW4gYnkgZGVmYXVsdCAobW9kZT1cImRlZmF1bHRcIiksIHNob3duXG4vLyBvbmx5IHVuZGVyIC5xYWgtbW9kZS1zZWxlY3Rpb24gYmVsb3cuIEFsd2F5cyBwcmVzZW50IGluIHRoZSBET00g4oCUIG5ldmVyXG4vLyBjcmVhdGVkL2Rlc3Ryb3llZCBvbiBtb2RlIHN3aXRjaCDigJQgc2FtZSBub24tZGVzdHJ1Y3RpdmUgY29udHJhY3QgYXMgdGhlXG4vLyBiYWNrL3RpdGxlL2FjdGlvbnMvbm92YSBlbGVtZW50cyB0aGV5IHJlcGxhY2UuXG4ucWFoLWNhbmNlbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnFhaC1zZWxlY3Rpb24tY291bnQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgY29sb3I6IHZhcigtLXFhaC1zZWxlY3Rpb24tZmcpO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIFNlbGVjdC1hbGwgc2l0cyB3aGVyZSAucWFoLWFjdGlvbnMvLnFhaC1ub3ZhIG5vcm1hbGx5IHdvdWxkIChyaWdodCBlZGdlKS5cbi8vIEEgVEVYVCBidXR0b24gKHFkbmFwcm8tYnV0dG9uKSwgbm90IGFuIGljb24tYnV0dG9uIOKAlCBzZWUgdGhlIGZpbGUtaGVhZGVyXG4vLyBqdXN0aWZpY2F0aW9uOiBubyBpY29uIHJlYWRzIHVuYW1iaWd1b3VzbHkgYXMgXCJzZWxlY3QgYWxsXCIgdGhlIHdheSBhblxuLy8gYXJyb3ctbGVmdC9jbG9zZSBpY29uIGRvZXMgZm9yIGJhY2svY2FuY2VsLlxuLnFhaC1zZWxlY3Rpb24tYWN0aW9ucyB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyDilIDilIAgYWxpZ249XCJjZW50ZXJcIiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIENlbnRlcnMgdGhlIHRpdGxlIGNsdXN0ZXIgKHRpdGxlL3N1YnRpdGxlICsgb3B0aW9uYWwgc2xvdD1cImF2YXRhclwiKSBhcyBvbmVcbi8vIGJsb2NrLCBvcHRpY2FsbHkgY2VudGVyZWQgb24gdGhlIEZVTEwgYmFyIHdpZHRoIC0gbm90IG9uIHdoYXRldmVyIHNwYWNlXG4vLyBoYXBwZW5zIHRvIGJlIGxlZnQgb3ZlciBiZXR3ZWVuIHRoZSBiYWNrIGJ1dHRvbiBhbmQgdGhlIGFjdGlvbnMvbm92YVxuLy8gZ3JvdXAuIFRoYXQgZGlzdGluY3Rpb24gbWF0dGVyczogdGhlIFwib2J2aW91c1wiIGZpeCAoZ2l2ZSAucWFoLXRpdGxlLVxuLy8gY2x1c3RlciBmbGV4OiAxIGxpa2UgaXQgYWxyZWFkeSBoYXMsIHBsdXMgdGV4dC1hbGlnbjogY2VudGVyKSBvbmx5XG4vLyBjZW50ZXJzIHRoZSB0aXRsZSBXSVRISU4gdGhlIGxlZnRvdmVyIHNwYWNlIGJldHdlZW4gdGhlIHR3byBlZGdlcywgd2hpY2hcbi8vIHZpc2libHkgZHJpZnRzIG9mZiB0aGUgYmFyJ3MgdHJ1ZSBjZW50cmUgdGhlIG1vbWVudCB0aG9zZSB0d28gZWRnZXMgYXJlXG4vLyBkaWZmZXJlbnQgd2lkdGhzIChlLmcuIGEgYmFjayBidXR0b24gb24gdGhlIGxlZnQgd2l0aCBub3RoaW5nIG9uIHRoZVxuLy8gcmlnaHQgLSBleGFjdGx5IHRoZSBQV0EgaG9tZS1oZWFkZXIgY2FzZSkuIEFic29sdXRlIHBvc2l0aW9uaW5nIGFuY2hvcmVkXG4vLyB3aXRoIGEgc3ltbWV0cmljIGxlZnQvcmlnaHQgZ3V0dGVyIGlzIGltbXVuZSB0byB0aGF0IGFzeW1tZXRyeTogdGhlIGJveFxuLy8gc3BhbnMgKGd1dHRlcikgdG8gKDEwMCUgLSBndXR0ZXIpLCB3aGljaCBpcyBjZW50ZXJlZCBvbiB0aGUgcm93XG4vLyByZWdhcmRsZXNzIG9mIHdoYXQgdGhlIGJhY2sgYnV0dG9uIG9yIGFjdGlvbnMvbm92YSBoYXBwZW4gdG8gd2VpZ2guXG4vL1xuLy8gVGhlIGd1dHRlciBpcyBhIHR1bmFibGUgU0FGRVRZIE1BUkdJTiwgbm90IGEgbWVhc3VyZW1lbnQgb2YgdGhlIGFjdHVhbFxuLy8gYmFjay9hY3Rpb25zIGNvbnRlbnQgLSBhIHNjcmVlbiB3aXRoIG1vcmUgdGhhbiBvbmUgYWN0aW9uIGljb24gb24gYW4gZWRnZVxuLy8gbWF5IG5lZWQgYSBsYXJnZXIgLS1xYWgtY2VudGVyLWd1dHRlciAob3ZlcnJpZGUgb24gdGhlIGhvc3QpOyB0aGUgdGl0bGVcbi8vIHN0aWxsIGRlZ3JhZGVzIGdyYWNlZnVsbHkgdmlhIGl0cyBleGlzdGluZyBlbGxpcHNpcyBpZiBpdCBkb2Vzbid0LlxuLnFkbmFwcm8tYXBwLWhlYWRlci5xYWgtYWxpZ24tY2VudGVyIHtcbiAgICAtLXFhaC1jZW50ZXItZ3V0dGVyOiA2MHB4O1xuXG4gICAgLnFhaC1yb3cge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy8gVGFrZW4gb3V0IG9mIHRoZSByb3cncyBmbGV4LWZpbGwgKHRoZSB0aXRsZSBjbHVzdGVyIGlzIGFic29sdXRlbHlcbiAgICAvLyBwb3NpdGlvbmVkIGluc3RlYWQpLCBzbyBtYXJnaW4tbGVmdDogYXV0byBpcyB3aGF0IG5vdyBwaW5zIHRoZVxuICAgIC8vIGFjdGlvbnMvbm92YSBncm91cCB0byB0aGUgcmlnaHQgZWRnZSAtIHRoZSBzYW1lIGpvYiAucWFoLXRpdGxlLVxuICAgIC8vIGNsdXN0ZXIncyBmbGV4OiAxIHVzZWQgdG8gZG8gaW4gYWxpZ249XCJzdGFydFwiLiA6ZW1wdHkgYWxyZWFkeVxuICAgIC8vIGNvbGxhcHNlcyBlaXRoZXIgb25lIHRvIGRpc3BsYXk6IG5vbmUgKHNlZSBhYm92ZSksIHNvIHdoaWNoZXZlciBvZlxuICAgIC8vIHRoZSB0d28gaXMgZmlyc3QtYW5kLXZpc2libGUgaXMgdGhlIG9uZSB0aGF0IGFjdHVhbGx5IGFic29yYnMgdGhlXG4gICAgLy8gc3BhY2U7IHRoZSBvdGhlcidzIG1hcmdpbi1sZWZ0OiBhdXRvIGlzIHRoZW4gYSBuby1vcC5cbiAgICAucWFoLWFjdGlvbnMsXG4gICAgLnFhaC1ub3ZhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnFhaC10aXRsZS1jbHVzdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogdmFyKC0tcWFoLWNlbnRlci1ndXR0ZXIpO1xuICAgICAgICByaWdodDogdmFyKC0tcWFoLWNlbnRlci1ndXR0ZXIpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC8vIE92ZXJyaWRlcyB0aGUgZGVmYXVsdCBmbGV4OiAxIDEgYXV0byAod2hpY2ggZmlsbHMgdGhlIHJvdydzIGxlZnRvdmVyXG4gICAgLy8gc3BhY2UgaW4gYWxpZ249XCJzdGFydFwiKSB3aXRoIGZsZXg6IDAgMSBhdXRvIOKAlCBjYW4gc3RpbGwgU0hSSU5LIChzbyBhXG4gICAgLy8gbG9uZyB0aXRsZSBzdGlsbCBlbGxpcHNpemVzIGFnYWluc3QgdGhlIGd1dHRlci1ib3VuZCBib3gpLCBidXQgbm9cbiAgICAvLyBsb25nZXIgR1JPV1MuIFdpdGhvdXQgdGhpcywgdGhlIHRpdGxlIHdvdWxkIGZpbGwgdGhlIHdob2xlIGNsdXN0ZXJcbiAgICAvLyBib3ggYW5kIHRleHQtYWxpZ246IGNlbnRlciB3b3VsZCBjZW50ZXIgaXQgaW5zaWRlIHRoYXQgb3ZlcnNpemVkIGJveFxuICAgIC8vIGluc3RlYWQgb2Ygc251ZyBhZ2FpbnN0IHRoZSBhdmF0YXIg4oCUIHRoZSBwYWlyIG5lZWRzIHRvIHNocmluay13cmFwIHNvXG4gICAgLy8gLnFhaC10aXRsZS1jbHVzdGVyJ3MganVzdGlmeS1jb250ZW50OiBjZW50ZXIgY2VudGVycyB0aXRsZSArIGF2YXRhclxuICAgIC8vIHRvZ2V0aGVyIGFzIG9uZSB0aWdodCB1bml0LCBub3QgdGhlIHRpdGxlIGFsb25lIGZsb2F0aW5nIG1pZC1ib3guXG4gICAgLnFhaC10aXRsZXMge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8vIFRoZSBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgY2x1c3RlciBpcyBhIFdJREUgb3ZlcmxheSAoZ3V0dGVyIHRvIGd1dHRlciksXG4gICAgLy8gc28gaXQgcGFpbnRzIG9uIHRvcCBvZiB0aGUgaW4tZmxvdyBiYWNrL2FjdGlvbnMgc2libGluZ3MuIEl0cyBlbXB0eVxuICAgIC8vIHN0cmV0Y2hlcyB3b3VsZCB0aGVuIHNpbGVudGx5IHN3YWxsb3cgdGFwcyBvbiBhbnkgYWN0aW9uIGJ1dHRvbiB0aGF0XG4gICAgLy8gcmVhY2hlcyBwYXN0IC0tcWFoLWNlbnRlci1ndXR0ZXIgKHR3byBpY29uIGJ1dHRvbnMgb24gb25lIGVkZ2UgYWxyZWFkeVxuICAgIC8vIGRvKS4gQSBkZWFkIG92ZXJsYXkgZWF0aW5nIGNsaWNrcyBpcyBhIG5hc3RpZXIgZmFpbHVyZSB0aGFuIGEgdGl0bGVcbiAgICAvLyBkcmlmdGluZyBhIGZldyBwaXhlbHMsIHNvIHRoZSBjbHVzdGVyIGl0c2VsZiBpcyB0cmFuc3BhcmVudCB0byBwb2ludGVyc1xuICAgIC8vIGFuZCBvbmx5IHRoZSByZWFsIGNvbnRlbnQgaW5zaWRlIGl0IHRha2VzIHRoZW0gYmFjay5cbiAgICAucWFoLXRpdGxlLWNsdXN0ZXIge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAucWFoLXRpdGxlcyxcbiAgICAucWFoLWF2YXRhciB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLnFkbmFwcm8tYXBwLWhlYWRlci5xYWgtYWxpZ24tY2VudGVyIHtcbiAgICAgICAgLS1xYWgtY2VudGVyLWd1dHRlcjogNzZweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucWRuYXByby1hcHAtaGVhZGVyLnFhaC1hbGlnbi1jZW50ZXIge1xuICAgICAgICAtLXFhaC1jZW50ZXItZ3V0dGVyOiA5MnB4O1xuICAgIH1cbn1cblxuLy8g4pSA4pSAIG1vZGU9XCJzZWxlY3Rpb25cIiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFJlcGxhY2VzIHRoZSBub3JtYWwgcm93IGNvbnRlbnQgd2l0aCBjb3VudCArIGNhbmNlbCArIHNlbGVjdC1hbGwuIFRoZVxuLy8gc3dhcCBpcyBDU1Mtb25seSAoZGlzcGxheTpub25lLCBub3RoaW5nIHJlbW92ZWQgZnJvbSB0aGUgRE9NKSwgd2hpY2ggaXNcbi8vIHdoYXQgbWFrZXMgbGVhdmluZyBzZWxlY3Rpb24gbW9kZSBub24tZGVzdHJ1Y3RpdmUgZm9yIHNsb3R0ZWQgY29udGVudDpcbi8vIC5xYWgtYWN0aW9ucy8ucWFoLW5vdmEvLnFhaC1hdmF0YXIgKGluc2lkZSAucWFoLXRpdGxlLWNsdXN0ZXIpIHN0aWxsXG4vLyBob2xkIHdoYXRldmVyIHRoZSBob3N0IHNsb3R0ZWQgaW4sIGp1c3QgaGlkZGVuIOKAlCB0aGV5IHJlYXBwZWFyIGV4YWN0bHlcbi8vIGFzIHRoZXkgd2VyZSB0aGUgbW9tZW50IG1vZGUgZ29lcyBiYWNrIHRvIFwiZGVmYXVsdFwiLiBUaGUgY29udGV4dCBzbG90XG4vLyAoLnFhaC1jb250ZXh0KSBpcyBOT1QgdG91Y2hlZCBoZXJlIOKAlCBpdCBzdGF5cyB2aXNpYmxlIGluIHNlbGVjdGlvbiBtb2RlXG4vLyBvbmx5IGlmIGl0IGFscmVhZHkgd2FzIChpdHMgb3duIDplbXB0eSBydWxlIGFib3ZlIGlzIHVuYWZmZWN0ZWQpLlxuLy9cbi8vIFBsYWNlZCBhZnRlciAucWFoLXZhcmlhbnQtdHJhbnNwYXJlbnQgYW5kIC5xYWgtYWxpZ24tY2VudGVyIG9uIHB1cnBvc2U6XG4vLyBzYW1lIHNlbGVjdG9yIHNwZWNpZmljaXR5ICh0d28gaG9zdCBjbGFzc2VzKSwgc28gdGhpcyBibG9jayB3aW5zIHRoZVxuLy8gY2FzY2FkZSB3aGVuIG1vZGU9XCJzZWxlY3Rpb25cIiBpcyBjb21iaW5lZCB3aXRoIGVpdGhlciBvZiB0aG9zZSwgd2hpY2hcbi8vIG1hdGNoZXMgdGhlIGludGVudCB0aGF0IFwieW91IGFyZSBzZWxlY3RpbmdcIiBpcyB0aGUgaGVhZGVyJ3MgZG9taW5hbnRcbi8vIHZpc3VhbCBzdGF0ZS5cbi5xZG5hcHJvLWFwcC1oZWFkZXIucWFoLW1vZGUtc2VsZWN0aW9uIHtcbiAgICAvLyBXSVQsIG5pZXQgbGljaHRwYWFycyAoS2ltIDI5LjA3LjIwMjYsIG5hIGhhYXIgdG9lc3RlbHRlc3QgdmFuIGRlIFBXQS1pbmJveDpcbiAgICAvLyBcImhlYWRlciBuaWV0IGxpY2h0cGFhcnMgbWFhciB3aXQgbGF0ZW4gemllblwiKS4gSGV0IHZsYWsgd2FzIC0tYy1wdXJwbGUtNTAgZW5cbiAgICAvLyBkYXQgdm9jaHQgbWV0IGRlIGxpY2h0cGFhcnNlIGdlc2VsZWN0ZWVyZGUgcmlqZW4gZXJvbmRlcjogZGFuIGlzIG5pZXQgbWVlciB0ZVxuICAgIC8vIHppZW4gd2FhciBkZSBrb3Agb3Bob3VkdCBlbiBkZSBzZWxlY3RpZSBiZWdpbnQuXG4gICAgLy8gRGUgT05ERVJSQU5EIGlzIG5pZXQgbGFuZ2VyIHBhYXJzIChLaW0gMzEuMDcuMjAyNjogXCJkaWUgbGVsaWprZSBkb25rZXIgcGFhcnNlXG4gICAgLy8gYm9yZGVyIHdlZ2hhbGVuLCBnZXdvb24gZWVuIG1vb2kgZ3JpanMgdGludGplXCIpLiBEZSByYW5kIHZhbHQgdGVydWcgb3AgZGVcbiAgICAvLyBzdGFuZGFhcmR3YWFyZGUgdmFuIGhldCBjb21wb25lbnQgKHJlZ2VsIDM0IGhpZXJib3ZlbiksIGRlemVsZmRlXG4gICAgLy8gLS1jLWJvcmRlci1zb2Z0IGRpZSAuaW5ib3hfdmlld19fc2VsdG9vbGJhciBlZW4gcmlqIGxhZ2VyIG9vayBhbCBnZWJydWlrdCxcbiAgICAvLyBkdXMgZGUgdHdlZSBoYWFybGlqbmVuIG1hdGNoZW4gbnUuIEhldCBwYWFyc2UgQUFOVEFMIGVuIGRlIHBhYXJzZSBBQ1RJRVNcbiAgICAvLyBibGlqdmVuIHdlbCBzdGFhbiAoLS1xYWgtc2VsZWN0aW9uLWZnLCB2ZXJkZXJvcCBvbmdlbW9laWQpIGVuIGRhdCBpcyBub2dcbiAgICAvLyBzdGVlZHMgZ2Vub2VnIHNpZ25hYWwgZGF0IGplIGluIGVlbiBhbmRlcmUgc3RhbmQgeml0LCB6b25kZXIgaGV0IGhlbGUgdmxha1xuICAgIC8vIG9mIGRlIHJhbmQgdGUga2xldXJlbi5cbiAgICAvLyBEaXQgaXMgaGV0IGNvbXBvbmVudC1nZWRyYWcsIGdlZW4gdWl0em9uZGVyaW5nIHZvb3IgZGUgaW5ib3g6IGRpZSBpcyB2YW5kYWFnXG4gICAgLy8gZGUgZW5pZ2UgZ2VicnVpa2VyIHZhbiBtb2RlPVwic2VsZWN0aW9uXCIgKG5hZ2VrZWtlbiksIGR1cyBkaXQgSVMgZGUga2V1emUuXG4gICAgLS1xYWgtYmc6IHZhcigtLWMtYmctY2FyZCwgI2ZmZmZmZik7XG4gICAgLS1xYWgtYm9yZGVyLWNvbG9yOiB2YXIoLS1jLWJvcmRlci1zb2Z0LCByZ2JhKDAsIDAsIDAsIDAuMDcpKTtcblxuICAgIC8vIC5xYWgtc2VhcmNoIGhpZGVzIGhlcmUgZm9yIHRoZSBzYW1lIHJlYXNvbiAucWFoLWFjdGlvbnMvLnFhaC1ub3ZhIGRvOlxuICAgIC8vIHNlbGVjdGlvbiBtb2RlIHJlcGxhY2VzIHRoZSB3aG9sZSByb3cncyBjb250ZW50IHdpdGggY2FuY2VsL2NvdW50L1xuICAgIC8vIHNlbGVjdC1hbGwsIHNvIGEgc2VhcmNoIGZpZWxkIGhhcyBubyBtb3JlIGJ1c2luZXNzIHNob3dpbmcgdGhhbiB0aGVcbiAgICAvLyB0aXRsZSBvciB0aGUgYWN0aW9uIGJ1dHRvbnMgZG8uIE5vbi1kZXN0cnVjdGl2ZSBsaWtlIHRoZSByZXN0OiB0aGVcbiAgICAvLyBzbG90dGVkIGNvbnRlbnQgaXMganVzdCBkaXNwbGF5Om5vbmUnZCwgbm90IHJlbW92ZWQsIHNvIGl0IHJlYXBwZWFyc1xuICAgIC8vIGV4YWN0bHkgYXMtaXMgb25jZSBzZWxlY3Rpb24gbW9kZSBlbmRzLiBbS2ltIDMxLjA3LjIwMjZdXG4gICAgLnFhaC1iYWNrLFxuICAgIC5xYWgtdGl0bGUtY2x1c3RlcixcbiAgICAucWFoLWxlYWRpbmcsXG4gICAgLnFhaC1zZWFyY2gsXG4gICAgLnFhaC1hY3Rpb25zLFxuICAgIC5xYWgtbm92YSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnFhaC1jYW5jZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5xYWgtc2VsZWN0aW9uLWNvdW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnFhaC1zZWxlY3Rpb24tYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxufVxuXG4vLyDilIDilIAgUmVzcG9uc2l2ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFBob25lLWZpcnN0OyBhIGxpdHRsZSBtb3JlIGJyZWF0aGluZyByb29tIG9uIHRhYmxldC9kZXNrdG9wIHdpZHRocyBzbyB0aGVcbi8vIGhlYWRlciBkb2Vzbid0IGxvb2sgY3JhbXBlZCBvbiB3aWRlciBzY3JlZW5zIHRoZSBQV0EgYWxzbyBoYXMgdG8gc3VwcG9ydC5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5xYWgtcm93IHtcbiAgICAgICAgcGFkZGluZzogNnB4IDIwcHg7XG4gICAgICAgIGdhcDogMTJweDtcbiAgICB9XG5cbiAgICAucWFoLXRpdGxlIHsgZm9udC1zaXplOiAxOXB4OyB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucWFoLXJvdyB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAzMnB4O1xuICAgIH1cbn1cbiIsIi8vIHFkbmFwcm8tc3dpcGUtcm93IOKAlCByb3ctYWdub3N0aWMgc3dpcGUgd3JhcHBlcjogY29udGVudCBsYXllciBvbiB0b3AsIHR3b1xuLy8gZWRnZS1hbmNob3JlZCBhY3Rpb24tYnV0dG9uIHJvd3MgdW5kZXJuZWF0aCAob25seSB0aGUgY3VycmVudGx5IGFjdGl2ZVxuLy8gc2lkZSBpcyBldmVyIGV4cG9zZWQsIGJ5IG5hdHVyZSBvZiB0aGUgY29udGVudCBzbGlkaW5nIG92ZXIgaXQg4oCUIHNlZSB0aGVcbi8vIEpTIGhlYWRlciBjb21tZW50IGZvciB0aGUgZnVsbCBtb2RlbCkuIEZMQVQgQ1NTOyBjb2xvdXJzL3JhZGlpIGZyb20gdGhlXG4vLyBkZXNpZ24tdG9rZW4gOnJvb3QgKHZhcigtLWMtKikpLiBFZGl0IEhFUkUsIHRoZW4gYGd1bHAgc2Fzcy12MWAgKyB0aGVcbi8vIHJlc291cmNlX3RyaWdnZXIgYnVtcCAoc2VlIHFkbmEtY29tcG9uZW50LXByZXZpZXdzIHNraWxsIC8gdGFzayBoYW5kLW9mZikuXG4vL1xuLy8gRElSRUNUSU9OIFJFTUlOREVSIChzZWUgcWRuYS1zd2lwZS1yb3cuanMgaGVhZGVyIGZvciB0aGUgZnVsbCBjb250cmFjdCk6XG4vLyBgLnFzci1wYW5lbC1sZWZ0YCBpcyByZXZlYWxlZCBieSBhIExFRlQgc3dpcGUgb2YgdGhlIENPTlRFTlQsIHNvIGl0IGlzXG4vLyBhbmNob3JlZCB0byB0aGUgUklHSFQgZWRnZSBvZiB0aGUgcm93LiBgLnFzci1wYW5lbC1yaWdodGAgaXMgdGhlIG1pcnJvciDigJRcbi8vIHJldmVhbGVkIGJ5IGEgUklHSFQgc3dpcGUsIGFuY2hvcmVkIHRvIHRoZSBMRUZUIGVkZ2UuXG4vL1xuLy8gV0hBVFNBUFAvT1VUTE9PSyBSRURFU0lHTiAoMjkuMDcuMjAyNik6IHRoZSBPTEQgdmVyc2lvbiBjZW50ZXJlZCBhIHNpbmdsZVxuLy8gaWNvbitsYWJlbCBpbnNpZGUgYSBmdWxsLXJvdyBwYW5lbCwgc28gYSBzaG9ydCBzd2lwZSByZXZlYWxlZCBub3RoaW5nIOKAlFxuLy8gdGhlIHVzZXIgb25seSBzYXcgd2hhdCB0aGUgYWN0aW9uIHdhcyBvbmNlIHRoZXknZCBkcmFnZ2VkIGhhbGZ3YXkgYWNyb3NzXG4vLyB0aGUgcm93LiBFYWNoIGFjdGlvbiBub3cgZ2V0cyBpdHMgT1dOIGZpeGVkLXdpZHRoIGJ1dHRvbiwgYW5jaG9yZWQgdG8gdGhlXG4vLyBlZGdlIHRoZSBjb250ZW50IHJlY2VkZXMgZnJvbSwgc28gdGhlIHZlcnkgZmlyc3QgcGl4ZWxzIG9mIGEgZHJhZyBhbHJlYWR5XG4vLyBzaG93IGEgZ2x5cGguICRxc3ItYnV0dG9uLXdpZHRoIGJlbG93IE1VU1Qgc3RheSBpbiBzeW5jIHdpdGhcbi8vIFFETkFfU1dJUEVfUk9XX0JVVFRPTl9XSURUSCBpbiBxZG5hLXN3aXBlLXJvdy5qcy5cbiRxc3ItYnV0dG9uLXdpZHRoOiA4MHB4O1xuXG4ucWRuYXByby1zd2lwZS1yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIExldCB0aGUgYnJvd3NlciBrZWVwIG93bmluZyB2ZXJ0aWNhbCBzY3JvbGxpbmcgYXQgYWxsIHRpbWVzIOKAlCB0aGVcbiAgICAgICBjb21wb25lbnQncyBvd24gYXhpcy1sb2NrIGRlY2lkZXMgd2hldGhlciBhIGdpdmVuIGdlc3R1cmUgaXMgaG9yaXpvbnRhbFxuICAgICAgIGJlZm9yZSBpdCBldmVyIGNhbGxzIHByZXZlbnREZWZhdWx0LiAqL1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgaXNvbGF0aW9uOiBpc29sYXRlOyAvKiBrZWVwIHRoZSBwYW5lbC9jb250ZW50IHN0YWNraW5nIGxvY2FsIHRvIHRoaXMgcm93ICovXG59XG5cbi8qIENvbnRlbnQgbGF5ZXIg4oCUIHdoYXRldmVyIHRoZSBob3N0IHNsb3R0ZWQgaW4sIHVubW9kaWZpZWQuIEFsd2F5cyBwYWludGVkXG4gICB3aXRoIGl0cyBvd24gb3BhcXVlIGJhY2tncm91bmQgKGRlZmF1bHQgdmFyKC0tYy1iZy1jYXJkKSkgc28gYVxuICAgdHJhbnNwYXJlbnQgY2hpbGQgbmV2ZXIgbGV0cyBhIGJ1dHRvbidzIGJhY2tncm91bmQgc2hvdyB0aHJvdWdoLCBldmVuIGF0XG4gICByZXN0IChub3QganVzdCB3aGlsZSAuc3dpcGluZyBpcyBwcmVzZW50KS4gQSBjb25zdW1lciBjYW4gcmV0aW50IHRoaXMgcGVyXG4gICBpbnN0YW5jZSB2aWEgc3R5bGU9XCItLXFzci1jb250ZW50LWJnOiAuLi5cIi4gKi9cbi5xZG5hcHJvLXN3aXBlLXJvdyAucXNyLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXFzci1jb250ZW50LWJnLCB2YXIoLS1jLWJnLWNhcmQpKTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4vKiBBY3Rpb24gcGFuZWxzIOKAlCBhbmNob3JlZCB0byB0aGUgZWRnZSB0aGUgY29udGVudCByZWNlZGVzIEZST00sIHNpemVkIHRvXG4gICBleGFjdGx5IHRoZSBjdXJyZW50bHkgcmV2ZWFsZWQgd2lkdGggKHNldCBpbmxpbmUgYnkgdGhlIEpTOiByZXN0aW5nIHdpZHRoXG4gICA9IHN1bSBvZiB0aGF0IHNpZGUncyBidXR0b24gd2lkdGhzOyBncm93cyB0byBtYXRjaCB0aGUgbGl2ZSBkcmFnIGRpc3RhbmNlXG4gICBvbmNlIGl0IGV4Y2VlZHMgdGhhdCkuIEJlY2F1c2UgdGhlIHBhbmVsIGlzIG5ldmVyIHdpZGVyIHRoYW4gd2hhdCdzXG4gICBhY3R1YWxseSBleHBvc2VkLCB0aGUgT1VURVJNT1NUIGJ1dHRvbiAoZmx1c2ggYWdhaW5zdCB0aGUgdHJ1ZSBlZGdlKSBpc1xuICAgdGhlIHZlcnkgZmlyc3QgdGhpbmcgYSBkcmFnIHJldmVhbHMg4oCUIG5vIGRlYWQgZnVsbC1yb3cgc3BhY2UgdG8gY3Jvc3NcbiAgIGJlZm9yZSBhbnl0aGluZyBiZWNvbWVzIHZpc2libGUuICovXG4ucWRuYXByby1zd2lwZS1yb3cgLnFzci1wYW5lbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucWRuYXByby1zd2lwZS1yb3cgLnFzci1wYW5lbC1sZWZ0IHtcbiAgICByaWdodDogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvKiBncm91cCBmbHVzaCBhZ2FpbnN0IHRoZSB0cnVlIHJpZ2h0IGVkZ2UgKi9cbn1cbi5xZG5hcHJvLXN3aXBlLXJvdyAucXNyLXBhbmVsLXJpZ2h0IHtcbiAgICBsZWZ0OiAwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgLyogZ3JvdXAgZmx1c2ggYWdhaW5zdCB0aGUgdHJ1ZSBsZWZ0IGVkZ2UgKi9cbn1cbi5xZG5hcHJvLXN3aXBlLXJvdyAucXNyLXBhbmVsLWVtcHR5IHtcbiAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xufVxuXG4vKiBFYWNoIGJ1dHRvbiBpcyBhIFJFQUwgPGJ1dHRvbj4sIG93bmluZyBpdHMgb3duIGZpeGVkLXdpZHRoIGJveCDigJQgaWNvbiBhbmRcbiAgIGxhYmVsIHNpdCBJTlNJREUgdGhhdCBib3gsIG5ldmVyIGNlbnRlcmVkIG9uIHRoZSByb3cuIFRoaXMgaXMgdGhlIHdob2xlXG4gICBwb2ludCBvZiB0aGUgcmVkZXNpZ24uIFN0cmV0Y2hlcyB0byB0aGUgcm93J3MgZnVsbCBoZWlnaHQgKGNvbWZvcnRhYmx5XG4gICBvdmVyIHRoZSA0NHB4IG1pbmltdW0gdGFwcGFibGUgdGFyZ2V0IG9uIGFueSByZWFsIHJvdykuIEJ1dHRvbnMgYXJlIG9ubHlcbiAgIGluIHRoZSB0YWIgb3JkZXIgLyByZWFjaGFibGUgYnkgQVQgd2hpbGUgdGhlaXIgc2lkZSBpcyBvcGVuIOKAlCBzZWUgdGhlXG4gICB0YWJpbmRleC9hcmlhLWhpZGRlbiBoYW5kbGluZyBpbiB0aGUgSlMuICovXG4ucWRuYXByby1zd2lwZS1yb3cgLnFzci1wYW5lbC1idG4ge1xuICAgIGZsZXg6IDAgMCAkcXNyLWJ1dHRvbi13aWR0aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDJweDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyAvKiBjb2xvdXIgY29tZXMgZnJvbSB0aGUgLnFzci1jb2xvci0qIG1vZGlmaWVyIGJlbG93ICovXG4gICAgY29sb3I6IHZhcigtLWMtdGV4dC1vbi1hY3Rpb24pO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mZiwgXCJJbnRlclwiLCBzYW5zLXNlcmlmKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBmbGV4LWJhc2lzIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3cgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxuICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xNXMgZWFzZTtcbn1cbi5xZG5hcHJvLXN3aXBlLXJvdyAucXNyLXBhbmVsLWJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYy10ZXh0LW9uLWFjdGlvbik7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0zcHg7XG59XG5cbi5xZG5hcHJvLXN3aXBlLXJvdyAucXNyLXBhbmVsLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIEljb24gZ3Jvd3Mgc2xpZ2h0bHkgb25jZSB0aGUgZHJhZyBjcm9zc2VzIHRoZSBjb21taXQgdGhyZXNob2xkLCBzbyB0aGVcbiAgIHVzZXIgY2FuIGZlZWwgdGhlIGNvbW1pdCBwb2ludCBiZWZvcmUgcmVsZWFzaW5nLiAqL1xuLnFkbmFwcm8tc3dpcGUtcm93IC5xc3ItcGFuZWwtaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG59XG4ucWRuYXByby1zd2lwZS1yb3cucXNyLWNvbW1pdHRpbmcgLnFzci1wYW5lbC1pY29uIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTYpO1xufVxuXG4vKiBTdGFnZSAyIOKAlCBjb21taXQ6IHBhc3QgdGhlIGB0aHJlc2hvbGRgIGRyYWcgZGlzdGFuY2UsIHRoZSBzZWNvbmRhcnlcbiAgIGJ1dHRvbihzKSBvbiB0aGUgQUNUSVZFIHNpZGUgY29sbGFwc2UgYXdheSBhbmQgdGhlIE1BSU4gYnV0dG9uICh0aGVcbiAgIG91dGVybW9zdCAvIGxhc3QtY29uZmlndXJlZCBlbnRyeSkgZXhwYW5kcyB0byBmaWxsIHRoZSB3aG9sZSByZXZlYWxlZFxuICAgd2lkdGgsIHNvIHJlbGVhc2luZyBoZXJlIGZpcmVzIGl0IGltbWVkaWF0ZWx5IHdpdGhvdXQgYSB0YXAuIFNjb3BlZCB0b1xuICAgdGhlIGN1cnJlbnRseSBkcmFnZ2luZyBkaXJlY3Rpb24gc28gdGhlIGlkbGUgc2lkZSBpcyBuZXZlciBhZmZlY3RlZC4gKi9cbi5xZG5hcHJvLXN3aXBlLXJvdy5xc3ItY29tbWl0dGluZy5xc3ItZGlyLWxlZnQgLnFzci1wYW5lbC1sZWZ0IC5xc3ItcGFuZWwtYnRuOm5vdCgucXNyLWJ0bi1tYWluKSB7XG4gICAgZmxleDogMCAwIDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5xZG5hcHJvLXN3aXBlLXJvdy5xc3ItY29tbWl0dGluZy5xc3ItZGlyLXJpZ2h0IC5xc3ItcGFuZWwtcmlnaHQgLnFzci1wYW5lbC1idG46bm90KC5xc3ItYnRuLW1haW4pIHtcbiAgICBmbGV4OiAwIDAgMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnFkbmFwcm8tc3dpcGUtcm93LnFzci1jb21taXR0aW5nLnFzci1kaXItbGVmdCAucXNyLXBhbmVsLWxlZnQgLnFzci1idG4tbWFpbixcbi5xZG5hcHJvLXN3aXBlLXJvdy5xc3ItY29tbWl0dGluZy5xc3ItZGlyLXJpZ2h0IC5xc3ItcGFuZWwtcmlnaHQgLnFzci1idG4tbWFpbiB7XG4gICAgZmxleDogMSAxIGF1dG87XG59XG5cbi8qIENvbG91ciB2b2NhYnVsYXJ5IOKAlCBhIHNtYWxsIG5hbWVkIHNldCwgbWFwcGVkIHRvIEZJWEVEIHByaW1pdGl2ZXMgKG5vdCB0aGVcbiAgIGxpZnRlZCAtLWMtYnJhbmQtcHVycGxlKSBzbyBhIGJ1dHRvbiByZWFkcyB0aGUgZXhhY3Qgc2FtZSBhY2NlbnQgaW4gbGlnaHRcbiAgIGFuZCBkYXJrIG1vZGUsIHNhbWUgY29udmVudGlvbiBhcyBxZG5hcHJvLWJvdHRvbS1zaGVldCdzIHB1cnBsZSB2YXJpYW50XG4gICAoLS1jLXB1cnBsZS01MDAsIGRlbGliZXJhdGVseSBub3QgLS1jLWJyYW5kLXB1cnBsZSkuIFwieWVsbG93XCIgaXMgbmV3XG4gICAoMjkuMDcuMjAyNiwgZmxhZ2dpbmcpIGFuZCBtYXBzIHRvIHRoZSBleGlzdGluZyB3YXJuL2ZsYWcgcmFtcCB0b2tlblxuICAgLS1jLXdhcm4teWVsbG93LTUwMCDigJQgcGFpcmVkIHdpdGggLS1jLXNpZ25hbC15ZWxsb3ctdGV4dCBmb3IgdGhlIGxhYmVsLFxuICAgc2luY2Ugd2hpdGUgdGV4dCBvbiB0aGF0IHBhcnRpY3VsYXIgeWVsbG93IGZhaWxzIGNvbnRyYXN0IChzYW1lIHBhaXJpbmdcbiAgIHFkbmFwcm8tYW5zd2VyLWJ1dHRvbiBhbmQgcWRuYXByby1zY29yZS1zY2FsZSBhbHJlYWR5IHVzZSBmb3Igd2FybmluZ1xuICAgeWVsbG93KS4gTmV2ZXIgYSByYXcgaGV4LiAqL1xuLnFkbmFwcm8tc3dpcGUtcm93IC5xc3ItY29sb3ItcHVycGxlIHsgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUtNTAwKTsgfVxuLnFkbmFwcm8tc3dpcGUtcm93IC5xc3ItY29sb3ItZ3JleSAgIHsgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTUwMCk7IH1cbi5xZG5hcHJvLXN3aXBlLXJvdyAucXNyLWNvbG9yLXJlZCAgICB7IGJhY2tncm91bmQ6IHZhcigtLWMtd2Fybi1yZWQtNTAwKTsgfVxuLnFkbmFwcm8tc3dpcGUtcm93IC5xc3ItY29sb3ItZ3JlZW4gIHsgYmFja2dyb3VuZDogdmFyKC0tYy1zdWNjZXNzLWJyaWdodCk7IH1cbi5xZG5hcHJvLXN3aXBlLXJvdyAucXNyLWNvbG9yLXllbGxvdyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy13YXJuLXllbGxvdy01MDApO1xuICAgIGNvbG9yOiB2YXIoLS1jLXNpZ25hbC15ZWxsb3ctdGV4dCwgI2JmNzIwMik7XG59XG5cbi8qIHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vIGJvdW5jZS9zY2FsZS9jb2xsYXBzZS1hbmltYXRpb24g4oCUIHRoZSBKUyBpdHNlbGZcbiAgIHN3aXRjaGVzIGV2ZXJ5IHNldHRsZS9kaXNtaXNzIHRyYW5zaXRpb24gdG8gaW5zdGFudCAodHJhbnNpdGlvbjogbm9uZSlcbiAgIGlubGluZTsgdGhlc2UgcnVsZXMgYXJlIHRoZSBDU1MtZHJpdmVuIGJhY2tzdG9wIGZvciB0aGUgdHJhbnNpdGlvbnMgdGhhdFxuICAgYXJlbid0IGlubGluZSAodGhlIGljb24ncyBjb21taXQtc2NhbGUsIGFuZCB0aGUgYnV0dG9uIGNvbGxhcHNlL2V4cGFuZFxuICAgYWJvdmUpLCBzbyB0aGV5IGp1bXAgaW5zdGVhZCBvZiBlYXNpbmcuICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5xZG5hcHJvLXN3aXBlLXJvdyAucXNyLXBhbmVsLWljb24sXG4gICAgLnFkbmFwcm8tc3dpcGUtcm93IC5xc3ItcGFuZWwtYnRuIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG59XG4iLCIvLyBfbGlzdC1yb3cuc2Nzc1xuLy9cbi8vIHFkbmFwcm8tbGlzdC1yb3cg4oCUIGdlbmVyaWMgYXBwLXdpZGUgbGlzdCByb3cgKGxlYWRpbmcgaWNvbi10aWxlICsgdGl0bGUgK1xuLy8gb3B0aW9uYWwgc3VidGl0bGUgKyB0cmFpbGluZyBzbG90KS4gR2VuZXJhbGlzZXMgdGhlIFBXQSBkb2N1bWVudHNfcm93XG4vLyBhbmF0b215IChhcHBfYXBpX3FkbmF2Mi9zcmMvUkVYL1Jlc291cmNlcy9TY3NzL19kb2N1bWVudHMuc2NzcywgTk9UIGVkaXRlZFxuLy8gaGVyZSkgc28gYW55IHNjcmVlbiBjYW4gcmV1c2UgT05FIGNvbXBvbmVudCBpbnN0ZWFkIG9mIGZvcmtpbmcgcm93IG1hcmt1cC5cbi8vXG4vLyBGT05ULVdFSUdIVCBERUNJU0lPTiAoS2ltOiBkb2N1bWVudHNfcm93IGZlbHQgXCJ0b28gaGVhdnlcIiBhdCA2MDApOlxuLy8gY3Jvc3MtY2hlY2tlZCBldmVyeSBleGlzdGluZyByb3cvbGFiZWwgY29tcG9uZW50IGluIHRoaXMgbGlicmFyeSDigJRcbi8vICAgcWRuYXByby11bml0LWNhcmQgIC52aWV3LWxpc3QtY29tcGFjdF9fbmFtZSAgIDE0cHggLyA1MDAgIChyb3cgdGl0bGUpXG4vLyAgIHFkbmFwcm8tdW5pdC1jYXJkICAudmlldy1saXN0LWxhcmdlX19uYW1lICAgICAgMTRweCAvIDYwMCAgKEJJR0dFUiB0b3VjaCByb3csIGRlbGliZXJhdGUgZW1waGFzaXMpXG4vLyAgIHFkbmFwcm8tYm90dG9tLW5hdiAuX19sYWJlbCAgICAgICAgICAgICAgICAgICAgMTBweCAvIDUwMCAgKHJvdy9uYXYgbGFiZWwpXG4vLyAgIHFkbmFwcm8tZXZlbnQtY2FyZCAuX190aXRsZSAoc2l6ZT1cInNtYWxsXCIpICAgICAxMnB4IC8gNTAwICAoS2ltLCAxNi4wNy4yMDI2OiBkaWFsbGVkIGJhY2sgZnJvbSB0aGVcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQgNjAwIGZvciBleGFjdGx5IHRoaXMgXCJ0b28gaGVhdnkgZm9yIGEgc21hbGxcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd1wiIGNvbXBsYWludCDigJQgZGlyZWN0IHByZWNlZGVudCBmb3IgdGhpcyBkZWNpc2lvbilcbi8vICAgcWRuYXByby1tZW51LWl0ZW0gIC5tZW51LWl0ZW0tbGFiZWwgICAgICAgICAgICAxNHB4LCBOTyB3ZWlnaHQgb3ZlcnJpZGUgKGluaGVyaXRzIHJlZ3VsYXIvNDAwKVxuLy8gTm9uZSBvZiB0aGUgcGxhaW4gXCJvbmUgcm93IGluIGEgbGlzdFwiIGNvbnRleHRzIHVzZSA2MDAg4oCUIG9ubHkgcWRuYXByby1ldmVudC1jYXJkJ3Mgb3duIGRlZmF1bHRcbi8vIChhIGNvbG91cmVkIGNhbGVuZGFyIENBUkQvY2hpcCwgbm90IGEgcGxhaW4gcm93KSBhbmQgdW5pdC1jYXJkJ3MgYmlnZ2VyIFwibGlzdC1sYXJnZVwiIHJvdyBkby4gU29cbi8vIHFsci10aXRsZSBmb2xsb3dzIHRoZSByb3cgY29udmVudGlvbjogMTRweCAvIDUwMCAobWVkaXVtKS4gU3VidGl0bGUgZm9sbG93cyB0aGUgbXV0ZWQtbWV0YVxuLy8gY29udmVudGlvbiB1c2VkIGV2ZXJ5d2hlcmUgKGV2ZW50LWNhcmQgbWV0YS10ZXh0LCBkb2N1bWVudHNfcm93X19tZXRhLCBxYWgtc3VidGl0bGUpOiAxMnB4IC8gNDAwLlxuXG4ucWRuYXByby1saXN0LXJvdyB7XG4gICAgLS1xbHItYmctaG92ZXI6IHZhcigtLWMtYmctc3VidGxlLWhvdmVyLCAjZjVmNmY4KTtcbiAgICAtLXFsci1iZy1wcmVzc2VkOiB2YXIoLS1jLXB1cnBsZS1zb2Z0LTEyLCByZ2JhKDY0LCA3MywgMTU0LCAwLjEyKSk7XG4gICAgLS1xbHItYm9yZGVyOiB2YXIoLS1jLWJvcmRlci1zb2Z0LCByZ2JhKDAsIDAsIDAsIDAuMDcpKTtcbiAgICAtLXFsci10aXRsZS1jb2xvcjogdmFyKC0tYy10ZXh0LWhlYWRpbmcsICMxYTFmNGQpO1xuICAgIC0tcWxyLXN1YnRpdGxlLWNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2ZTcyODApO1xuICAgIC0tcWxyLWNoZXZyb24tY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzZlNzI4MCk7XG4gICAgLS1xbHItZm9jdXMtcmluZzogdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpO1xuICAgIC0tcWxyLWZvY3VzLWdsb3c6IHZhcigtLWMtcHVycGxlLXNvZnQtMTgsIHJnYmEoNjQsIDczLCAxNTQsIDAuMTgpKTtcbiAgICAvLyBTZXR0aW5ncy1wYWdlIGF0dHJpYnV0ZXMgKDI4LjA3LjIwMjYpIOKAlCBkZWZhdWx0IGNvbG91ciBmb3IgdGhlIGJhcmVcbiAgICAvLyBnbHlwaCBzaG93biBieSB0aWxlPVwibm9uZVwiIChicmFuZCBwdXJwbGUsIHBlciBLaW0ncyBzcGVjKSwgb3ZlcnJpZGRlblxuICAgIC8vIGJ5IHRoZSBgdG9uZWAgbW9kaWZpZXJzIGJlbG93LiBLZXB0IGFzIGl0cyBvd24gY3VzdG9tIHByb3BlcnR5IChub3RcbiAgICAvLyByZXVzaW5nIC0tcWxyLXRpbGUtZmcsIHdoaWNoIHN0YXlzIG93bmVkIGJ5IHRoZSBgdGludGAgcGFsZXR0ZSkgc29cbiAgICAvLyB0aWxlPVwibm9uZVwiIG5ldmVyIGFjY2lkZW50YWxseSBpbmhlcml0cyBhIHRpbnQgY29sb3VyLlxuICAgIC0tcWxyLWJhcmUtaWNvbi1jb2xvcjogdmFyKC0tYy1icmFuZC1wdXJwbGUsICM0MDQ5OWEpO1xuICAgIC8vIFNlYXJjaC1oaWdobGlnaHQgPG1hcms+ICgzMC4wNy4yMDI2LCBQV0EgaW5ib3ggc2VhcmNoIHJlc3VsdHMpLiBBXG4gICAgLy8gU0VMRi1DT05UQUlORUQgcGFpciDigJQgZGVsaWJlcmF0ZWx5IE5PVCB2YXIoLS1jLXRleHQtaGVhZGluZykgZm9yIHRoZVxuICAgIC8vIHRleHQgY29sb3VyLCBldmVuIHRob3VnaCBpdHMgbGlnaHQtbW9kZSB2YWx1ZSBpcyB1c2VkIGJlbG93LCBiZWNhdXNlXG4gICAgLy8gLS1jLXRleHQtaGVhZGluZyBGTElQUyB0byBhIGxpZ2h0IGdyZXkgaW4gW2RhdGEtdGhlbWU9ZGFya10gd2hpbGVcbiAgICAvLyAtLWMtc2lnbmFsLXllbGxvdy1iZyBoYXMgbm8gZGFyay1tb2RlIG92ZXJyaWRlIGF0IGFsbCAoc2FtZSBhcyBldmVyeVxuICAgIC8vIC0tYy10YWctKi1iZy8tdGV4dCBwaWxsIHBhaXIgaW4gX2Rlc2lnbi10b2tlbnMuc2Nzcykg4oCUIHJlYWRpbmcgdGhlXG4gICAgLy8gcmVhY3RpdmUgdG9rZW4gaGVyZSB3b3VsZCBzaWxlbnRseSBwcm9kdWNlIG5lYXItaW52aXNpYmxlIGxpZ2h0LW9uLVxuICAgIC8vIGxpZ2h0IHRleHQgaW4gZGFyayBtb2RlLiBTbyB0aGlzIG1pcnJvcnMgdGhlIC0tYy10YWctKiBjb252ZW50aW9uXG4gICAgLy8gaW5zdGVhZDogb25lIGhhbmQtcGlja2VkLCB0aGVtZS1JTkRFUEVOREVOVCBwYWlyIHRoYXQgcmVhZHMgdGhlIHNhbWVcbiAgICAvLyBpbiBib3RoIHRoZW1lcywgZXhhY3RseSBsaWtlIGEgdGFnL3BpbGwuIE1lYXN1cmVkIGNvbnRyYXN0IChXQ0FHXG4gICAgLy8gcmVsYXRpdmUtbHVtaW5hbmNlIGZvcm11bGEsIGNvbXB1dGVkIHdpdGggcHl0aG9uMywgbm90IGV5ZWJhbGxlZCk6XG4gICAgLy8gI2ZlZWRiOCBiZyB2cyAjMWExZjRkIHRleHQgPSAxMy4zODoxIOKAlCBjbGVhcnMgdGhlIFdDQUcgMS40LjMgQUFcbiAgICAvLyBtaW5pbXVtICg0LjU6MSkgZm9yIGJvdGggdGhlIDE0cHgvNTAwIHRpdGxlIGFuZCB0aGUgMTJweC80MDAgc3VidGl0bGVcbiAgICAvLyB3aXRoIHdpZGUgbWFyZ2luIChhbHNvIGNsZWFycyBBQUEncyA3OjEpLiAtLWMtc2lnbmFsLXllbGxvdy10ZXh0XG4gICAgLy8gKHRoZSB0aWxlIHBhbGV0dGUncyBvd24geWVsbG93IGZvcmVncm91bmQpIHdhcyBtZWFzdXJlZCB0b28gYW5kXG4gICAgLy8gUkVKRUNURUQg4oCUIG9ubHkgMy4yMDoxIGFnYWluc3QgdGhpcyBzYW1lIGJnLCBiZWxvdyBBQS5cbiAgICAtLXFsci1tYXJrLWJnOiB2YXIoLS1jLXNpZ25hbC15ZWxsb3ctYmcsICNmZWVkYjgpO1xuICAgIC0tcWxyLW1hcmstY29sb3I6ICMxYTFmNGQ7XG4gICAgLy8gVHJlZSBzdXBwb3J0ICgyMS4wNy4yMDI2KSDigJQgc2VsZWN0ZWQgcmV1c2VzIHRoZSBTQU1FIHRva2Vuc1xuICAgIC8vIC5pcy1wcmVzc2VkIGFscmVhZHkgdXNlcyAobm8gbGlnaHRlciBwdXJwbGUtc29mdCB0b2tlbiBleGlzdHMgeWV0O1xuICAgIC8vIHJldXNpbmcgcmF0aGVyIHRoYW4gaGFuZC1waWNraW5nIGEgbmV3IGhleCwgY29uc2lzdGVudCB3aXRoIHJ1bGUgMS4yKS5cbiAgICAtLXFsci1iZy1zZWxlY3RlZDogdmFyKC0tYy1wdXJwbGUtc29mdC0xMiwgcmdiYSg2NCwgNzMsIDE1NCwgMC4xMikpO1xuICAgIC0tcWxyLWJnLXNlbGVjdGVkLWhvdmVyOiB2YXIoLS1jLXB1cnBsZS1zb2Z0LTE4LCByZ2JhKDY0LCA3MywgMTU0LCAwLjE4KSk7XG4gICAgLy8gRGVwdGggaW5kZW50IHN0ZXAg4oCUIHR1bmFibGUgcGVyIGNvbnN1bWVyIChpbmxpbmUgc3R5bGUgb3IgYSBzY29wZWRcbiAgICAvLyBydWxlKSwgaW5kZXBlbmRlbnQgb2Ygd2hldGhlciB0aGUgYGRlcHRoYCBhdHRyaWJ1dGUgaXMgdXNlZCBhdCBhbGwuXG4gICAgLy8gLS1xbHItZGVwdGggaXRzZWxmIGRlZmF1bHRzIHRvIDAgaGVyZSBzbyB0aGUgY2FsYygpIGJlbG93IGlzIGFsd2F5c1xuICAgIC8vIHZhbGlkIGV2ZW4gd2hlbiBxZG5hLWxpc3Qtcm93LmpzIG5ldmVyIHNldHMgdGhlIGlubGluZSBjdXN0b21cbiAgICAvLyBwcm9wZXJ0eSAoc2VlIHRoZSBKUyBkb2MtY29tbWVudCdzIFwiRE9NIHN0cnVjdHVyZSBub3RlXCIpLlxuICAgIC0tcWxyLWRlcHRoOiAwO1xuICAgIC0tcWxyLWRlcHRoLXN0ZXA6IDIwcHg7XG4gICAgLy8gRXhwYW5kLWNoZXZyb24gcm90YXRpb24gZHVyYXRpb24g4oCUIHplcm9lZCB1bmRlciByZWR1Y2VkIG1vdGlvbiBiZWxvdyxcbiAgICAvLyBzYW1lIGlkaW9tIGFzIHFkbmFwcm8tdGFiLWJhcidzIHNsaWRpbmcgcGlsbCAoLS10Yi1waWxsLWR1cmF0aW9uKS5cbiAgICAtLXFsci10b2dnbGUtZHVyYXRpb246IDE4MG1zO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7IC8vIFdDQUcvQXBwbGUgSElHIG1pbmltdW0gdG91Y2ggdGFyZ2V0XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgLy8gRGVwdGggaW5kZW50IOKAlCBhZGRpdGl2ZSBvbiB0b3Agb2YgdGhlIGJhc2UgMTZweCBsZWZ0IHBhZGRpbmcuIERlZmF1bHRcbiAgICAvLyAtLXFsci1kZXB0aDogMCBtYWtlcyB0aGlzIHJlc29sdmUgdG8gZXhhY3RseSAxNnB4LCBieXRlLWZvci1ieXRlIHRoZVxuICAgIC8vIHNhbWUgYXMgdGhlIHBsYWluIGBwYWRkaW5nYCBzaG9ydGhhbmQgYWJvdmUsIHNvIG5vbi10cmVlIGNvbnN1bWVycyBzZWVcbiAgICAvLyBubyBjaGFuZ2UgYXQgYWxsLlxuICAgIHBhZGRpbmctbGVmdDogY2FsYygxNnB4ICsgKHZhcigtLXFsci1kZXB0aCkgKiB2YXIoLS1xbHItZGVwdGgtc3RlcCkpKTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tcWxyLXRpdGxlLWNvbG9yKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBib3JkZXI6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMDBtcyBlYXNlLW91dDtcblxuICAgICY6aG92ZXI6bm90KC5xbHItZGlzYWJsZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcWxyLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAmLmlzLXByZXNzZWQ6bm90KC5xbHItZGlzYWJsZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcWxyLWJnLXByZXNzZWQpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSxcbiAgICAmLmZvcmNlLWZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgIGluc2V0IDAgMCAwIDJweCB2YXIoLS1xbHItZm9jdXMtcmluZyksXG4gICAgICAgICAgICBpbnNldCAwIDAgMCA1cHggdmFyKC0tcWxyLWZvY3VzLWdsb3cpO1xuICAgIH1cblxuICAgICYucWxyLWRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC8vIC0tLS0gc3RhdGljICgyOC4wNy4yMDI2KSAtLS0tXG4gICAgLy8gUHVyZWx5IGluZm9ybWF0aW9uYWwsIG5vbi1pbnRlcmFjdGl2ZSByb3cgKGUuZy4gXCJVc2VyIElEOiAjMTIzXCIpLlxuICAgIC8vIFVubGlrZSAucWxyLWRpc2FibGVkIGFib3ZlLCB0aGlzIGRvZXMgTk9UIGRpbSB0aGUgcm93IOKAlCBmdWxsXG4gICAgLy8gbGVnaWJpbGl0eSBpcyB0aGUgd2hvbGUgcG9pbnQgKHNlZSBxZG5hLWxpc3Qtcm93LmpzJ3MgYHN0YXRpY2AgZG9jXG4gICAgLy8gbm90ZSBmb3IgdGhlIGZ1bGwgY29udHJhc3Qgd2l0aCBgZGlzYWJsZWRgKS4gT25seSBzdHJpcHMgdGhlXG4gICAgLy8gaW50ZXJhY3Rpb24gYWZmb3JkYW5jZXM6IG5vIGhvdmVyL3ByZXNzZWQgYmFja2dyb3VuZCwgbm8gZm9jdXMgcmluZyxcbiAgICAvLyBkZWZhdWx0IGN1cnNvci4gVGhlIGNvbXBvbmVudCBpdHNlbGYgYWxzbyByZW1vdmVzIHRhYmluZGV4L3JvbGUsIHNvXG4gICAgLy8gOmZvY3VzLXZpc2libGUgYmVsb3cgaXMgbW9zdGx5IGEgYmVsdC1hbmQtYnJhY2VzIHJlc2V0IGluIGNhc2UgYSBob3N0XG4gICAgLy8gZm9jdXNlcyB0aGUgcm93IHByb2dyYW1tYXRpY2FsbHkuXG4gICAgJi5xbHItc3RhdGljIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1wcmVzc2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByZXZpZXctb25seSBmb3JjZS1zdGF0ZSB1dGlsaXR5IChtaXJyb3JzIHFkbmFwcm8tbWVudS1pdGVtIC8gcWRuYXByby1ldmVudC1jYXJkKS5cbiAgICAmLmZvcmNlLWhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcWxyLWJnLWhvdmVyKTtcbiAgICB9XG4gICAgJi5mb3JjZS1wcmVzc2VkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcWxyLWJnLXByZXNzZWQpO1xuICAgIH1cblxuICAgIC8vIC0tLS0gU2VsZWN0ZWQgKHRyZWUgc3VwcG9ydCwgMjEuMDcuMjAyNikgLS0tLVxuICAgIC8vIFBlcnNpc3RlbnQgXCJhY3RpdmUgcm93XCIgc3RhdGUsIGRpc3RpbmN0IGZyb20gdGhlIHRyYW5zaWVudFxuICAgIC8vIGhvdmVyL3ByZXNzZWQgc3RhdGVzIGFib3ZlLiBUaXRsZS9zdWJ0aXRsZSBjb2xvdXJzIGFyZSB1bmNoYW5nZWQg4oCUXG4gICAgLy8gLS1xbHItdGl0bGUtY29sb3IgLyAtLXFsci1zdWJ0aXRsZS1jb2xvciBhbHJlYWR5IHJlYWQgbGVnaWJseSBhZ2FpbnN0XG4gICAgLy8gdGhpcyB0aW50IGluIGJvdGggdGhlbWVzIChzYW1lIHRva2VucyAuaXMtcHJlc3NlZCBhbHJlYWR5IHJlbGllcyBvbixcbiAgICAvLyBubyBuZXcgZGFyay1tb2RlIHJ1bGUgbmVlZGVkIGhlcmUpLlxuICAgICYucWxyLXNlbGVjdGVkOm5vdCgucWxyLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXFsci1iZy1zZWxlY3RlZCk7XG4gICAgfVxuICAgICYucWxyLXNlbGVjdGVkOmhvdmVyOm5vdCgucWxyLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXFsci1iZy1zZWxlY3RlZC1ob3Zlcik7XG4gICAgfVxuXG4gICAgLy8gLS0tLSBUb25lICgyOC4wNy4yMDI2KSAtLS0tXG4gICAgLy8gUmVjb2xvdXJzIHRpdGxlL3N1YnRpdGxlL3RoZSBiYXJlIGdseXBoICh0aWxlPVwibm9uZVwiKS90aGUgYnVpbHQtaW5cbiAgICAvLyB0cmFpbGluZyBjaGV2cm9uIGJ5IG92ZXJyaWRpbmcgdGhlIFNBTUUgY3VzdG9tIHByb3BlcnRpZXMgdGhvc2VcbiAgICAvLyBlbGVtZW50cyBhbHJlYWR5IHJlYWQgKC0tcWxyLXRpdGxlLWNvbG9yIC8gLS1xbHItc3VidGl0bGUtY29sb3IgL1xuICAgIC8vIC0tcWxyLWNoZXZyb24tY29sb3IgLyAtLXFsci1iYXJlLWljb24tY29sb3IpIOKAlCBubyBwZXItZWxlbWVudCBydWxlXG4gICAgLy8gbmVlZGVkLCB0aGUgY2FzY2FkZSBkb2VzIHRoZSB3b3JrLiBEZWxpYmVyYXRlbHkgZG9lcyBOT1QgdG91Y2hcbiAgICAvLyAtLXFsci10aWxlLWJnLy0tcWxyLXRpbGUtZmcg4oCUIHRoZSB0aW50ZWQgdGlsZSBiYWNrZ3JvdW5kIHN0YXlzIG93bmVkXG4gICAgLy8gYnkgYHRpbnRgIChzZWUgcWRuYS1saXN0LXJvdy5qcydzIGB0b25lYCBkb2Mgbm90ZSkuXG4gICAgJi5xbHItdG9uZS1kYW5nZXIge1xuICAgICAgICAvLyBSZXVzZXMgLS1jLXNpZ25hbC1yZWQtdGV4dCwgdGhlIFNBTUUgdG9rZW4gLnFsci10aWxlLWNvbG9yLXJlZCdzXG4gICAgICAgIC8vIGZvcmVncm91bmQgYWxyZWFkeSB1c2VzIGJlbG93LCByYXRoZXIgdGhhbiBhIG5ldyBoYW5kLXBpY2tlZCBoZXguXG4gICAgICAgIC0tcWxyLXRpdGxlLWNvbG9yOiB2YXIoLS1jLXNpZ25hbC1yZWQtdGV4dCwgI2M2NWE1YSk7XG4gICAgICAgIC0tcWxyLXN1YnRpdGxlLWNvbG9yOiB2YXIoLS1jLXNpZ25hbC1yZWQtdGV4dCwgI2M2NWE1YSk7XG4gICAgICAgIC0tcWxyLWNoZXZyb24tY29sb3I6IHZhcigtLWMtc2lnbmFsLXJlZC10ZXh0LCAjYzY1YTVhKTtcbiAgICAgICAgLS1xbHItYmFyZS1pY29uLWNvbG9yOiB2YXIoLS1jLXNpZ25hbC1yZWQtdGV4dCwgI2M2NWE1YSk7XG4gICAgfVxuXG4gICAgJi5xbHItdG9uZS1tdXRlZCB7XG4gICAgICAgIC8vIFJldXNlcyAtLWMtdGV4dC1tdXRlZCwgdGhlIFNBTUUgdG9rZW4gLS1xbHItc3VidGl0bGUtY29sb3IgYWxyZWFkeVxuICAgICAgICAvLyBkZWZhdWx0cyB0byDigJQgaXQgaGFzIGEgR0xPQkFMIGRhcmstbW9kZSBvdmVycmlkZSBpblxuICAgICAgICAvLyBfZGVzaWduLXRva2Vucy5zY3NzLCBzbyBubyBleHRyYSBbZGF0YS10aGVtZT1kYXJrXSBydWxlIGlzIG5lZWRlZFxuICAgICAgICAvLyBmb3IgdGhpcyB0b25lIChjb250cmFzdCB3aXRoIHRvbmU9XCJkYW5nZXJcIiBiZWxvdykuIE5PVCBhblxuICAgICAgICAvLyBvcGFjaXR5IHJlZHVjdGlvbiDigJQgc3RheXMgZnVsbHkgbGVnaWJsZSwgcGVyIEtpbSdzIHJlcXVpcmVtZW50LlxuICAgICAgICAtLXFsci10aXRsZS1jb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbiAgICAgICAgLS1xbHItc3VidGl0bGUtY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzZlNzI4MCk7XG4gICAgICAgIC0tcWxyLWNoZXZyb24tY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzZlNzI4MCk7XG4gICAgICAgIC0tcWxyLWJhcmUtaWNvbi1jb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbiAgICB9XG59XG5cbi8vIC0tLS0gU3VyZmFjZTogb24tcHVycGxlICgwMy4wOC4yMDI2LCBLaW0pIC0tLS1cbi8vIFwiSWsgdmluZCBkZXplIGtub3BwZW4gZWVuIGJlZXRqZSB0ZSB2ZWVsIGNvbnRyYXN0IGhlYmJlbi4gS3VubmVuIHdlIHpvcmdlblxuLy8gZGF0IGRlIHN1cmZhY2Uga2xldXIgKHdpdCkgZGV6ZWxmZGUga2xldXIga3Jpamd0IGFscyBkZSBrbm9wcGVuIGluIGRlIGJvdHRvbVxuLy8gc2hlZXQuXCIg4oCUIHRoZSBQV0EgbG9jYXRpb24vZGVwYXJ0bWVudCBjaG9vc2VyIHBhaW50cyBpdHMgb3duIC0tYy1wdXJwbGUtNTAwXG4vLyBzY3JlZW4gKHBob25lIHRha2VvdmVyKSBvciBkaWFsb2cgcGFuZWwsIGFuZCBhIHdoaXRlIHJvd3MtY2FyZCBvbiB0b3Agb2YgdGhhdFxuLy8gc2hvdXRzLiBUaGlzIHJlY29sb3VycyB0aGUgcm93IGZvciBhIHB1cnBsZSBzdXJmYWNlLCB1c2luZyB0aGUgU0FNRSB0b2tlblxuLy8gdm9jYWJ1bGFyeSB0aGUgcHVycGxlIGJvdHRvbSBzaGVldCBhbHJlYWR5IGVzdGFibGlzaGVkOlxuLy8gICBzdXJmYWNlICAgICAgLS1jLXdoaXRlLTE0ICA9IC5xZG5hcHJvLWJvdHRvbS1zaGVldC1idXR0b24tZ3JvdXAuYnNiZy1vbi1wdXJwbGVcbi8vICAgdGl0bGUgICAgICAgIC0tYy10ZXh0LW9uLWFjdGlvbiwgc2Vjb25kYXJ5IC0tYy13aGl0ZS03MFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IC5xZG5hcHJvLWVtcHR5LXN0YXRlLmVtcHR5LXN0YXRlLW9uLXB1cnBsZVxuLy8gTmFtaW5nIGZvbGxvd3MgcWRuYXByby1lbXB0eS1zdGF0ZSdzIGBzdXJmYWNlPVwib24tcHVycGxlXCJgIGF0dHJpYnV0ZSwgd2hpY2hcbi8vIHRoZSB2ZXJ5IHNhbWUgY2hvb3NlciB0ZW1wbGF0ZSBhbHJlYWR5IHVzZXMgZm9yIGl0cyBlbXB0eSBzdGF0ZS5cbi8vXG4vLyBUV08gZW50cnkgcG9pbnRzLCBPTkUgdG9rZW4gc2V0IChoZW5jZSB0aGUgc2hhcmVkIHNlbGVjdG9yIGxpc3QgcmF0aGVyIHRoYW4gYVxuLy8gbWl4aW4g4oCUIHRoaXMgZmlsZSBpcyBjb21waWxlZCBzdGFuZGFsb25lIGZvciB0aGUgUFdBIGJ5XG4vLyBhcHBfYXBpX3FkbmF2Mi9zeW5jLXYyLWNvbXBvbmVudHMuanMpOlxuLy8gICAtIGAucWRuYXByby1saXN0LXJvdy1ncm91cC0tb24tcHVycGxlYCBvbiB0aGUgY2FyZCB3cmFwcGVyLCB3aGljaCBpcyB3aGF0IGFcbi8vICAgICBncm91cGVkIGxpc3QgbmVlZHM6IGl0IHBhaW50cyB0aGUgc3VyZmFjZSBBTkQgcmVjb2xvdXJzIHRoZSByb3dzIGluc2lkZSxcbi8vICAgICBzbyB0aGUgY29uc3VtZXIgc2V0cyBleGFjdGx5IG9uZSBjbGFzcyAodGhlIGdyb3VwIGlzIGEgcGxhaW4gdXRpbGl0eVxuLy8gICAgIGNsYXNzLCBub3QgYSBjdXN0b20gZWxlbWVudCwgc28gaXQgY2Fubm90IGNhcnJ5IGFuIGF0dHJpYnV0ZSkuXG4vLyAgIC0gYHN1cmZhY2U9XCJvbi1wdXJwbGVcImAgb24gYSBzaW5nbGUgcm93IHRoYXQgc2l0cyBvbiBhIHB1cnBsZSBzdXJmYWNlXG4vLyAgICAgd2l0aG91dCBhIGdyb3VwIGNhcmQgYXJvdW5kIGl0LlxuLy9cbi8vIEtOT1dOIExJTUlULCBkZWxpYmVyYXRlbHkgbm90IHNvbHZlZDogdGhpcyBibG9jayBsYW5kcyBBRlRFUiB0aGUgYHRvbmVgXG4vLyBtb2RpZmllcnMgd2l0aCB0aGUgc2FtZSBzcGVjaWZpY2l0eSwgc28gY29tYmluaW5nIHRvbmU9XCJkYW5nZXJcIiB3aXRoIGFuXG4vLyBvbi1wdXJwbGUgc3VyZmFjZSBtYWtlcyB0aGUgc3VyZmFjZSB3aW4gYW5kIHRoZSByZWQgc2lnbmFsIGRpc2FwcGVhciAoYW5kIGluXG4vLyBbZGF0YS10aGVtZT1kYXJrXSB0aGUgcmV2ZXJzZSwgYmVjYXVzZSB0b25lPVwiZGFuZ2VyXCIgaGFzIGl0cyBvd24gMy1jbGFzcyBydWxlXG4vLyBiZWxvdykuIE5vIGNvbnN1bWVyIGNvbWJpbmVzIHRoZW0gdG9kYXk7IGFuIG9uLXB1cnBsZSBkYW5nZXIgdG9rZW4gcGFpciBjYW5cbi8vIGJlIGFkZGVkIHdoZW4gb25lIGRvZXMuXG4ucWRuYXByby1saXN0LXJvdy5xbHItc3VyZmFjZS1vbi1wdXJwbGUsXG4ucWRuYXByby1saXN0LXJvdy1ncm91cC0tb24tcHVycGxlIC5xZG5hcHJvLWxpc3Qtcm93IHtcbiAgICAvLyBJZGxlIHN0YXlzIHRyYW5zcGFyZW50ICh0aGUgZ3JvdXAgY2FyZCBpcyB0aGUgc3VyZmFjZSksIHNvIGhvdmVyL3ByZXNzZWRcbiAgICAvLyBTVEFDSyBvbiB0b3Agb2YgdGhlIGdyb3VwJ3Mgb3duIDE0JSDigJQgMTAlLzIyJSBoZXJlIHJlYWRzIGFzIH4yMyUvMzMlXG4gICAgLy8gdG90YWwsIGRlbGliZXJhdGVseSBjbG9zZSB0byBic2Itb24tcHVycGxlJ3Mgb3duIDE0JS8yMiUgc3RlcHMgYWdhaW5zdFxuICAgIC8vIHRoZSBmbGF0IHB1cnBsZSBwYW5lbCBpdCBzaXRzIG9uLlxuICAgIC0tcWxyLWJnLWhvdmVyOiB2YXIoLS1jLXdoaXRlLTEwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTApKTtcbiAgICAtLXFsci1iZy1wcmVzc2VkOiB2YXIoLS1jLXdoaXRlLTIyLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpKTtcbiAgICAtLXFsci1iZy1zZWxlY3RlZDogdmFyKC0tYy13aGl0ZS0yMiwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKSk7XG4gICAgLS1xbHItYmctc2VsZWN0ZWQtaG92ZXI6IHZhcigtLWMtd2hpdGUtMjgsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yOCkpO1xuICAgIC0tcWxyLWJvcmRlcjogdmFyKC0tYy13aGl0ZS0xNCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KSk7XG4gICAgLS1xbHItdGl0bGUtY29sb3I6IHZhcigtLWMtdGV4dC1vbi1hY3Rpb24sICNmZmZmZmYpO1xuICAgIC0tcWxyLXN1YnRpdGxlLWNvbG9yOiB2YXIoLS1jLXdoaXRlLTcwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzApKTtcbiAgICAtLXFsci1jaGV2cm9uLWNvbG9yOiB2YXIoLS1jLXdoaXRlLTcwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzApKTtcbiAgICAvLyB0aWxlPVwibm9uZVwiIGdseXBoICh0aGUgY2hvb3NlcidzIG1hcC1tYXJrZXIgLyBkb21haW4gcGlucyk6IGZ1bGwgd2hpdGUsXG4gICAgLy8gc2FtZSB3ZWlnaHQgYXMgdGhlIHRpdGxlIGl0IGJlbG9uZ3MgdG8uXG4gICAgLS1xbHItYmFyZS1pY29uLWNvbG9yOiB2YXIoLS1jLXRleHQtb24tYWN0aW9uLCAjZmZmZmZmKTtcbiAgICAvLyBUaGUgZGVmYXVsdCBmb2N1cyBwYWlyIGlzIGJyYW5kLXB1cnBsZSBvbiBwdXJwbGUgPSBpbnZpc2libGUuXG4gICAgLS1xbHItZm9jdXMtcmluZzogdmFyKC0tYy10ZXh0LW9uLWFjdGlvbiwgI2ZmZmZmZik7XG4gICAgLS1xbHItZm9jdXMtZ2xvdzogdmFyKC0tYy13aGl0ZS0yMiwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKSk7XG4gICAgLy8gTk9UIHRvdWNoZWQ6IC0tcWxyLXRpbGUtYmcvLS1xbHItdGlsZS1mZyAodGhlIGB0aW50YCBwYWxldHRlJ3MgdGlsZXMgYXJlXG4gICAgLy8gbGlnaHQgcGFzdGVscyB0aGF0IGFscmVhZHkgcmVhZCBvbiBwdXJwbGUpIGFuZCAtLXFsci1tYXJrLWJnLy1jb2xvciAodGhlXG4gICAgLy8gc2VhcmNoLWhpZ2hsaWdodCBwaWxsIGlzIGEgdGhlbWUtaW5kZXBlbmRlbnQgeWVsbG93IGNoaXAgYnkgZGVzaWduKS5cbn1cblxuLy8gLS1jLXNpZ25hbC1yZWQtdGV4dCBoYXMgbm8gZ2xvYmFsIGRhcmstbW9kZSByZXBvaW50IChzYW1lIHNpdHVhdGlvblxuLy8gLnFsci10aWxlLWNvbG9yLXJlZCBiZWxvdyBpcyBhbHJlYWR5IGluKSDigJQgc28gdG9uZT1cImRhbmdlclwiIGdldHMgaXRzIG93blxuLy8gY29tcG9uZW50LWxvY2FsIFtkYXRhLXRoZW1lPWRhcmtdIG92ZXJyaWRlIGhlcmUsIG1pcnJvcmluZyB0aGUgZXhhY3Rcbi8vIGV4aXN0aW5nIGNvbnZlbnRpb24gdGhpcyBmaWxlIGFscmVhZHkgZXN0YWJsaXNoZWQgZm9yIHRoZSB0aWxlIHBhbGV0dGUuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby1saXN0LXJvdy5xbHItdG9uZS1kYW5nZXIge1xuICAgIC0tcWxyLXRpdGxlLWNvbG9yOiB2YXIoLS1jLXdhcm4tcmVkLTQwMCwgI2Y4NzE3MSk7XG4gICAgLS1xbHItc3VidGl0bGUtY29sb3I6IHZhcigtLWMtd2Fybi1yZWQtNDAwLCAjZjg3MTcxKTtcbiAgICAtLXFsci1jaGV2cm9uLWNvbG9yOiB2YXIoLS1jLXdhcm4tcmVkLTQwMCwgI2Y4NzE3MSk7XG4gICAgLS1xbHItYmFyZS1pY29uLWNvbG9yOiB2YXIoLS1jLXdhcm4tcmVkLTQwMCwgI2Y4NzE3MSk7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnFkbmFwcm8tbGlzdC1yb3cge1xuICAgICAgICAtLXFsci10b2dnbGUtZHVyYXRpb246IDBtcztcbiAgICB9XG59XG5cbi8vIC0tLS0gTGVhZGluZyBjbHVzdGVyOiBleHBhbmQtdG9nZ2xlICsgdGlsZSAodHJlZSBzdXBwb3J0LCAyMS4wNy4yMDI2KSAtLS0tXG4vLyBPbmx5IGV2ZXIgcmVuZGVyZWQgd2hlbiBgZXhwYW5kYWJsZWAgaXMgc2V0IChzZWUgcWRuYS1saXN0LXJvdy5qcydzIFwiRE9NXG4vLyBzdHJ1Y3R1cmUgbm90ZVwiKSDigJQgdGlnaHRlciBpbnRlcm5hbCBnYXAgdGhhbiB0aGUgcm93J3Mgb3duIDEycHggZ2FwIHNvXG4vLyB0aGUgdG9nZ2xlIHJlYWRzIGFzIGdsdWVkIHRvIHRoZSB0aWxlIGl0IHByZWNlZGVzLlxuLnFsci1sZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG5cbi8vIEl0cyBvd24gZm9jdXNhYmxlIGRpc2Nsb3N1cmUgY29udHJvbCAocm9sZT1idXR0b24sIG93biB0YWJpbmRleCkg4oCUIHNlZVxuLy8gdGhlIEpTIGRvYy1jb21tZW50J3MgXCJBUklBIHBhdHRlcm5cIiBub3RlIGZvciB3aHkgYXJpYS1leHBhbmRlZCBsaXZlcyBvblxuLy8gdGhlIFJPVyBpbnN0ZWFkIG9mIGhlcmUuIDQ0cHggaGl0IGFyZWEgKEFwcGxlIEhJRyAvIFdDQUcgdGFyZ2V0IHNpemUpLFxuLy8gdmlzdWFsbHkgc21hbGxlciAxOHB4IGljb24gdmlhIGNlbnRlcmluZyDigJQgc2hyaW5rcyB1bmRlciBzaXplPVwiY29tcGFjdFwiXG4vLyAoc2VlIHRoYXQgYmxvY2sgYmVsb3cpLlxuLnFsci1leHBhbmQtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItcm93LCAxMnB4KTtcbiAgICBjb2xvcjogdmFyKC0tcWxyLWNoZXZyb24tY29sb3IpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTAwbXMgZWFzZS1vdXQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcWxyLWJnLWhvdmVyKTtcbiAgICB9XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1xbHItYmctcHJlc3NlZCk7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgaW5zZXQgMCAwIDAgMnB4IHZhcigtLXFsci1mb2N1cy1yaW5nKSxcbiAgICAgICAgICAgIGluc2V0IDAgMCAwIDRweCB2YXIoLS1xbHItZm9jdXMtZ2xvdyk7XG4gICAgfVxufVxuXG4ucWxyLWV4cGFuZC1jaGV2cm9uIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgLy8gVHJhbnNmb3JtLW9ubHksIHBlciB0aGUgdHJlZS1zdXBwb3J0IGNvbnRyYWN0IChuZXZlciBhbmltYXRlIGxheW91dFxuICAgIC8vIHByb3BlcnRpZXMpLiBEdXJhdGlvbiBpcyB6ZXJvZWQgdW5kZXIgcHJlZmVycy1yZWR1Y2VkLW1vdGlvbiBhYm92ZS5cbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tcWxyLXRvZ2dsZS1kdXJhdGlvbikgZWFzZTtcbn1cblxuLy8gUm90YXRpb24gbGl2ZXMgb24gdGhlIFJPVydzIC5xbHItZXhwYW5kZWQgY2xhc3MgKHNldCBvbmx5IGFsb25nc2lkZVxuLy8gYGV4cGFuZGFibGVgLCBzZWUgcWRuYS1saXN0LXJvdy5qcykgcmF0aGVyIHRoYW4gb24gdGhlIHRvZ2dsZSBpdHNlbGYsIHNvXG4vLyBpdCBzdGF5cyBpbiBzeW5jIHdpdGggdGhlIGFyaWEtZXhwYW5kZWQgdmFsdWUgb24gdGhlIHNhbWUgZWxlbWVudC5cbi5xZG5hcHJvLWxpc3Qtcm93LnFsci1leHBhbmRlZCAucWxyLWV4cGFuZC1jaGV2cm9uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi8vIC0tLS0gTGVhZGluZyBpY29uLXRpbGUgLS0tLVxuLy8gNDB4NDAsIC0tci1yb3cgcmFkaXVzIOKAlCBtYXRjaGVzIHRoZSBvcmlnaW5hbCBkb2N1bWVudHNfcm93X19pY29uLS1mb2xkZXJcbi8vIGZvb3RwcmludCAoNDBweCAvIH4xMHB4LCBoZXJlIHRoZSBzZW1hbnRpYyAtLXItcm93IHRva2VuIHdoaWNoIHJlc29sdmVzIHRvXG4vLyAxMnB4KS4gSWNvbiBnbHlwaCBzaXRzIGF0IDIycHggaW5zaWRlIGl0IChyb3VnaGx5IHRoZSBzYW1lIHJhdGlvIGFzIHRoZVxuLy8gc291cmNlJ3MgMjRweC1pbi00MHB4IGZvbGRlciBpY29uKS5cbi5xbHItdGlsZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItcm93LCAxMnB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcWxyLXRpbGUtYmcsIHZhcigtLWMtcHVycGxlLXNvZnQtMTIsIHJnYmEoNjQsIDczLCAxNTQsIDAuMTIpKSk7XG4gICAgY29sb3I6IHZhcigtLXFsci10aWxlLWZnLCB2YXIoLS1jLWJyYW5kLXB1cnBsZSwgIzQwNDk5YSkpO1xufVxuXG4ucWxyLXRpbGUtaWNvbiB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xufVxuXG4vLyBBY3Rpdml0eS1pY29uIHZhcmlhbnQgKGFkZGVkIDIyLjA3LjIwMjYsIEtpbSdzIHJlcXVlc3QpOiB0aGUgdGlsZSBob3N0cyBhXG4vLyB0d28tdG9uZSBxZG5hcHJvLWFjdGl2aXR5LWljb24gaW5zdGVhZCBvZiB0aGUgc2luZ2xlLWNvbG91ciBxZG5hcHJvLWljb25cbi8vIGdseXBoIOKAlCB0aGUgU0FNRSB2aXN1YWwgdGhlIHRhc2tsaXN0LWNhcmQgdGlsZSB1c2VzLiBUaGUgdGludCBiYWNrZ3JvdW5kXG4vLyAoLS1xbHItdGlsZS1iZywgYWxsIDggaHVlcykgc3RpbGwgZ292ZXJucyB0aGUgc3VyZmFjZSBiZWhpbmQgaXQsIGV4YWN0bHlcbi8vIGxpa2UgdGFza2xpc3QtY2FyZCdzIGNvbG91cmVkIHRpbGUuIFRoZSBhY3Rpdml0eS1pY29uIHNpemVzIElUU0VMRiB2aWEgaXRzXG4vLyBvd24gYHNpemVgIGF0dHJpYnV0ZSAoMjhweCBkZWZhdWx0IHRpbGUsIDIwcHggY29tcGFjdCDigJQgc2V0IGluXG4vLyBxZG5hLWxpc3Qtcm93LmpzLCBtaXJyb3JpbmcgaG93IHRhc2tsaXN0LWNhcmQgc2V0cyBpdCksIHNvIHRoZXJlIGlzIG5vIHNpemVcbi8vIHJ1bGUgaGVyZTsgLS1xbHItdGlsZS1mZyBpcyBpcnJlbGV2YW50IHRvIGl0IChpdHMgY29sb3VycyBhcmUgYmFrZWQgaW50b1xuLy8gdGhlIFNWRywgbm90IHJlY29sb3JhYmxlKS4gT25seSB0aGUgZmxleC1zaHJpbmsgZ3VhcmQgYmVsb3cgaXMgbmVlZGVkIHNvXG4vLyB0aGUgaWNvbiBuZXZlciBzcXVhc2hlcyB3aGVuIHRoZSByb3cgaXMgdGlnaHQuXG4ucWxyLXRpbGUtYWN0aXZpdHkge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4vLyBUaWxlIGNvbG91ciBwYWxldHRlIOKAlCBTQU1FIDggaHVlcyBhcyBxZG5hcHJvLXBpY2tlci1yb3cncyAucHItdGlsZS1jb2xvci0qXG4vLyAvIHFkbmFwcm8tdGFza2xpc3QtY2FyZCdzIC50bGMtY29sb3ItKiAoYmcgdmFsdWVzIGNvcGllZCAxOjEgc28gYSBwYWdlXG4vLyBtaXhpbmcgbGlzdC1yb3dzIHdpdGggdGhvc2UgY29tcG9uZW50cyByZWFkcyBhcyBvbmUgY29uc2lzdGVudCB0aWxlXG4vLyBmYW1pbHk7IG5vIHNoYXJlZCBTQ1NTIG1hcC9taXhpbiBleGlzdHMgZm9yIHRoaXMgcGFsZXR0ZSBhbnl3aGVyZSBpbiB0aGVcbi8vIGNvZGViYXNlIHlldCwgZWFjaCBjb21wb25lbnQgbWlycm9ycyBpdHMgb3duIGNvcHkg4oCUIGZvbGxvd2luZyB0aGF0XG4vLyBlc3RhYmxpc2hlZCBwYXR0ZXJuIHJhdGhlciB0aGFuIGludmVudGluZyBhIG5ldyBvbmUgZm9yIHRoaXMgY29tcG9uZW50KS5cbi8vIEZvcmVncm91bmQgKC0tcWxyLXRpbGUtZmcpIGlzIGFuIEFERElUSU9OIGxpc3Qtcm93IG5lZWRzIHRoYXQgdGhlIG90aGVyc1xuLy8gZG9uJ3Q6IHRoZWlyIHRpbGUgaWNvbiBpcyBlaXRoZXIgYSB0d28tdG9uZSBxZG5hcHJvLWFjdGl2aXR5LWljb24gKGFscmVhZHlcbi8vIGNvbG91cmVkKSBvciB1bnNldDsgbGlzdC1yb3cncyB0aWxlIGhvc3RzIGEgcGxhaW4gc2luZ2xlLWNvbG91clxuLy8gcWRuYXByby1pY29uLCBzbyBpdCBuZWVkcyBhbiBleHBsaWNpdCBsZWdpYmxlIGZvcmVncm91bmQgcGVyIHRpbnQuIFdoZXJlIGFuXG4vLyBleGlzdGluZyBzaWduYWwtKi10ZXh0IHRva2VuIGxpbmVzIHVwIHdpdGggdGhlIGh1ZSBpdCBpcyByZXVzZWQgKHJlZC9cbi8vIHllbGxvdy9ncmVlbi9ibHVlL3BpbmspOyBncmV5L2JsdWUtYnJpZ2h0L3B1cnBsZSBoYXZlIG5vIG1hdGNoaW5nIHRva2VuIHNvXG4vLyBhcmUgaGFuZC1waWNrZWQsIHNhbWUgaG9uZXN0eSBhcyB0aGUgYmcgcGFsZXR0ZSBhYm92ZS5cbi5xbHItdGlsZS1jb2xvci1wdXJwbGUgICAgICB7IC0tcWxyLXRpbGUtYmc6ICNlYmU5ZmI7IC0tcWxyLXRpbGUtZmc6IHZhcigtLWMtYnJhbmQtcHVycGxlLCAjNDA0OTlhKTsgfVxuLnFsci10aWxlLWNvbG9yLWdyZXkgICAgICAgIHsgLS1xbHItdGlsZS1iZzogI2VlZjBmMjsgLS1xbHItdGlsZS1mZzogdmFyKC0tYy1ncmV5LTYwMCwgIzU2NWI2Nik7IH1cbi5xbHItdGlsZS1jb2xvci1yZWQgICAgICAgICB7IC0tcWxyLXRpbGUtYmc6ICNmZGU3ZTc7IC0tcWxyLXRpbGUtZmc6IHZhcigtLWMtc2lnbmFsLXJlZC10ZXh0LCAjYzY1YTVhKTsgfVxuLnFsci10aWxlLWNvbG9yLXllbGxvdyAgICAgIHsgLS1xbHItdGlsZS1iZzogI2ZkZjNkNjsgLS1xbHItdGlsZS1mZzogdmFyKC0tYy1zaWduYWwteWVsbG93LXRleHQsICNiZjcyMDIpOyB9XG4ucWxyLXRpbGUtY29sb3ItZ3JlZW4gICAgICAgeyAtLXFsci10aWxlLWJnOiAjZTJmYWYxOyAtLXFsci10aWxlLWZnOiB2YXIoLS1jLXNpZ25hbC1ncmVlbi10ZXh0LCAjNDI4YjZlKTsgfVxuLnFsci10aWxlLWNvbG9yLWJsdWUgICAgICAgIHsgLS1xbHItdGlsZS1iZzogI2U2ZWZmOTsgLS1xbHItdGlsZS1mZzogdmFyKC0tYy1zaWduYWwtYmx1ZS10ZXh0LCAjNmE4YWI0KTsgfVxuLnFsci10aWxlLWNvbG9yLWJyaWdodC1ibHVlIHsgLS1xbHItdGlsZS1iZzogI2Q2ZTBmOTsgLS1xbHItdGlsZS1mZzogIzNhNWVhZTsgfVxuLnFsci10aWxlLWNvbG9yLXBpbmsgICAgICAgIHsgLS1xbHItdGlsZS1iZzogI2Y2ZTFlODsgLS1xbHItdGlsZS1mZzogdmFyKC0tYy1zaWduYWwtcGluay10ZXh0LCAjYjI1Nzc3KTsgfVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWxyLXRpbGUtY29sb3ItcHVycGxlICAgICAgeyAtLXFsci10aWxlLWJnOiAjM2EzNTU1OyAtLXFsci10aWxlLWZnOiB2YXIoLS1jLXB1cnBsZS0yMDAsICNhNWFjZmYpOyB9XG5bZGF0YS10aGVtZT1kYXJrXSAucWxyLXRpbGUtY29sb3ItZ3JleSAgICAgICAgeyAtLXFsci10aWxlLWJnOiAjNDA0NDRkOyAtLXFsci10aWxlLWZnOiB2YXIoLS1jLWdyZXktMzAwLCAjYzRjN2NjKTsgfVxuW2RhdGEtdGhlbWU9ZGFya10gLnFsci10aWxlLWNvbG9yLXJlZCAgICAgICAgIHsgLS1xbHItdGlsZS1iZzogIzVhMmIyYjsgLS1xbHItdGlsZS1mZzogdmFyKC0tYy13YXJuLXJlZC00MDAsICNmODcxNzEpOyB9XG5bZGF0YS10aGVtZT1kYXJrXSAucWxyLXRpbGUtY29sb3IteWVsbG93ICAgICAgeyAtLXFsci10aWxlLWJnOiAjNWE0ZDFmOyAtLXFsci10aWxlLWZnOiB2YXIoLS1jLXdhcm4teWVsbG93LTUwMCwgI2ZiYmYyNCk7IH1cbltkYXRhLXRoZW1lPWRhcmtdIC5xbHItdGlsZS1jb2xvci1ncmVlbiAgICAgICB7IC0tcWxyLXRpbGUtYmc6ICMyYTU1NDQ7IC0tcWxyLXRpbGUtZmc6ICM3ZmUwYmM7IH1cbltkYXRhLXRoZW1lPWRhcmtdIC5xbHItdGlsZS1jb2xvci1ibHVlICAgICAgICB7IC0tcWxyLXRpbGUtYmc6ICMyZTNlNTQ7IC0tcWxyLXRpbGUtZmc6ICM4ZmI0ZTA7IH1cbltkYXRhLXRoZW1lPWRhcmtdIC5xbHItdGlsZS1jb2xvci1icmlnaHQtYmx1ZSB7IC0tcWxyLXRpbGUtYmc6ICMzYTRhOGE7IC0tcWxyLXRpbGUtZmc6ICNiOWM4ZjU7IH1cbltkYXRhLXRoZW1lPWRhcmtdIC5xbHItdGlsZS1jb2xvci1waW5rICAgICAgICB7IC0tcWxyLXRpbGUtYmc6ICM0ZTJhMzY7IC0tcWxyLXRpbGUtZmc6ICNlNGEwYjg7IH1cblxuLy8gLS0tLSB0aWxlPVwibm9uZVwiICgyOC4wNy4yMDI2LCBLaW0ncyBQV0Egc2V0dGluZ3MtcGFnZSByZXF1ZXN0KSAtLS0tXG4vLyBObyB0aW50ZWQgc3F1YXJlIOKAlCB0aGUgYGljb25gIGdseXBoICh3aGVuIHByZXNlbnQpIHJlbmRlcnMgYmFyZSwgZGlyZWN0bHlcbi8vIGluIHRoZSByb3cuIFJldXNlcyB0aGUgRVhBQ1QgU0FNRSAucWxyLXRpbGUgd3JhcHBlciBlbGVtZW50IGFuZFxuLy8gX2Rpc3RyaWJ1dGVMZWFkaW5nU2xvdCBtZXRob2QgcWRuYS1saXN0LXJvdy5qcyBhbHJlYWR5IGJ1aWxkcyBmb3Jcbi8vIHRpbGU9XCJ0aW50ZWRcIiAoc2VlIHRoYXQgZmlsZSdzIGB0aWxlYCBkb2Mgbm90ZSkg4oCUIG9ubHkgdGhpcyBDU1MsIGtleWVkIG9mZlxuLy8gdGhlIFJPT1QgLnFsci10aWxlLW5vbmUgbW9kaWZpZXIgY2xhc3MgKHNhbWUgaWRpb20gYXMgLnFsci1zaXplLWNvbXBhY3QpLFxuLy8gZGlmZmVyczogaXQgc3RyaXBzIHRoZSB3cmFwcGVyJ3MgZml4ZWQgNDB4NDAgZm9vdHByaW50L2JhY2tncm91bmQvcmFkaXVzXG4vLyBhbmQgcmVwb2ludHMgaXRzIGluaGVyaXRlZCBgY29sb3JgICh0aGUgaWNvbiByZWFkcyBpdCB2aWEgY3VycmVudENvbG9yKVxuLy8gYXdheSBmcm9tIHRoZSB0aW50IHBhbGV0dGUgKC0tcWxyLXRpbGUtZmcpIHRvIC0tcWxyLWJhcmUtaWNvbi1jb2xvclxuLy8gaW5zdGVhZCAoYnJhbmQtcHVycGxlIGRlZmF1bHQsIG92ZXJyaWRhYmxlIGJ5IGB0b25lYCBhYm92ZSkuIGB0aW50YCBpc1xuLy8gdGhlcmVieSBnZW51aW5lbHkgaWdub3JlZCBpbiB0aGlzIG1vZGUg4oCUIHRoZXJlIGlzIG5vIGJhY2tncm91bmQgbGVmdCBmb3Jcbi8vIGl0IHRvIGNvbG91ci5cbi5xZG5hcHJvLWxpc3Qtcm93LnFsci10aWxlLW5vbmUge1xuICAgIC8vIFRoZSBjb21wb3VuZCBgJi5xbHItc2l6ZS1jb21wYWN0IC5xbHItdGlsZWAgc2VsZWN0b3IgYmVsb3cgaXMgTk9UXG4gICAgLy8gcmVkdW5kYW50OiB3aXRob3V0IGl0LCB0aGlzIHJ1bGUgYW5kIC5xbHItc2l6ZS1jb21wYWN0J3Mgb3duXG4gICAgLy8gYC5xbHItdGlsZSB7IHdpZHRoOiAyOHB4OyAuLi4gfWAgKGZ1cnRoZXIgZG93biB0aGlzIGZpbGUpIGhhdmUgdGhlXG4gICAgLy8gRVhBQ1QgU0FNRSBzcGVjaWZpY2l0eSAoMyBjbGFzc2VzIGVhY2gpIOKAlCB3aGljaGV2ZXIgcnVsZSBpcyBsYXRlciBpblxuICAgIC8vIHRoZSBjb21waWxlZCBDU1Mgd291bGQgc2lsZW50bHkgd2luIGEgY29tcGFjdCt0aWxlPVwibm9uZVwiIHJvdy4gTGlzdGluZ1xuICAgIC8vIHRoZSBjb21iaW5lZCBzZWxlY3RvciBleHBsaWNpdGx5ICg0IGNsYXNzZXMpIG1ha2VzIHRoaXMgb3ZlcnJpZGVcbiAgICAvLyBvcmRlci1pbmRlcGVuZGVudCBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gZmlsZSBwb3NpdGlvbi5cbiAgICAucWxyLXRpbGUsXG4gICAgJi5xbHItc2l6ZS1jb21wYWN0IC5xbHItdGlsZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1xbHItYmFyZS1pY29uLWNvbG9yKTtcbiAgICB9XG5cbiAgICAucWxyLXRpbGUtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgfVxuXG4gICAgLy8gSGlnaGVyIHNwZWNpZmljaXR5IHRoYW4gdGhlIGJhc2UgLnFsci1zaXplLWNvbXBhY3QgMThweCBydWxlIGJlbG93XG4gICAgLy8gKDQgY2xhc3NlcyB2cyAzKSwgc28gdGhpcyB3aW5zIHJlZ2FyZGxlc3Mgb2Ygc291cmNlIG9yZGVyLlxuICAgICYucWxyLXNpemUtY29tcGFjdCAucWxyLXRpbGUtaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG4vLyAtLS0tIEJvZHk6IHRpdGxlICsgb3B0aW9uYWwgc3VidGl0bGUgLS0tLVxuLnFsci1ib2R5IHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMnB4O1xufVxuXG4ucWxyLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgLy8gc2VlIGZpbGUgaGVhZGVyIOKAlCBtYXRjaGVzIHRoZSByb3ctdGl0bGUgY29udmVudGlvbiwgbm90IHRoZSA2MDAgZG9jdW1lbnRzX3JvdyB1c2VkXG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBjb2xvcjogdmFyKC0tcWxyLXRpdGxlLWNvbG9yKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5xbHItc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6IHZhcigtLXFsci1zdWJ0aXRsZS1jb2xvcik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyAtLS0tIFNlYXJjaC1oaWdobGlnaHQgPG1hcms+ICgzMC4wNy4yMDI2KSAtLS0tXG4vLyBXcml0dGVuIEZMQVQgb24gcHVycG9zZSAobm8gJC12YXJpYWJsZXMsIG5vIG5lc3RlZCAmKSBzbyB0aGlzIHN5bmNzIHRvIHRoZVxuLy8gUFdBIHdpdGhvdXQgbmVlZGluZyB0aGUgY29tcGlsZVNjc3MgZmxhZyDigJQgc2VlIHFkbmEtbGlzdC1yb3cuanMnc1xuLy8gXCJTZWFyY2gtaGlnaGxpZ2h0IHByb3BlcnR5XCIgZG9jIG5vdGUgZm9yIHRoZSBmdWxsIEFQSS4gU2NvcGVkIHRvXG4vLyAucWxyLXRpdGxlLy5xbHItc3VidGl0bGUgcmF0aGVyIHRoYW4gYSBiYXJlIGBtYXJrYCBzZWxlY3RvciBzbyBpdCBuZXZlclxuLy8gbGVha3Mgb250byBhbiB1bnJlbGF0ZWQgPG1hcms+IGEgY29uc3VtZXIgbWlnaHQgc2xvdCBpbiBlbHNld2hlcmUuIGA8bWFyaz5gXG4vLyBpcyBpbmxpbmUgKG5ldmVyIGlubGluZS1ibG9jayksIHNvIHRoaXMgcGFkZGluZy9yYWRpdXMgZG9lcyBOT1QgYWRkIHRvXG4vLyB0aGUgbGluZSBib3ggaGVpZ2h0IChwYWRkaW5nIG9uIGFuIGlubGluZSBub24tcmVwbGFjZWQgZWxlbWVudCBuZXZlclxuLy8gY2hhbmdlcyBsaW5lLWhlaWdodCkgYW5kIGRvZXMgTk9UIGludGVyZmVyZSB3aXRoIHRoZSBwYXJlbnQnc1xuLy8gYG92ZXJmbG93OiBoaWRkZW5gICsgYHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzYCArIGB3aGl0ZS1zcGFjZTogbm93cmFwYFxuLy8gdHJ1bmNhdGlvbiBhYm92ZSDigJQgYSBtYXJrIGNsaXBwZWQgbWlkLWhpZ2hsaWdodCBqdXN0IGdldHMgY3V0IG9mZiBleGFjdGx5XG4vLyBsaWtlIHBsYWluIHRleHQgd291bGQuIGBmb250OiBpbmhlcml0YCBndWFyZHMgYWdhaW5zdCBhIGJyb3dzZXIgVUFcbi8vIHN0eWxlc2hlZXQgZ2l2aW5nIDxtYXJrPiBpdHMgb3duIGZvbnQgKG5vbmUgZG8gdG9kYXksIGRlZmVuc2l2ZSBvbmx5KS5cbi5xbHItdGl0bGUgbWFyayB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcWxyLW1hcmstYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1xbHItbWFyay1jb2xvcik7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgcGFkZGluZzogMCAxcHg7XG59XG5cbi5xbHItc3VidGl0bGUgbWFyayB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcWxyLW1hcmstYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1xbHItbWFyay1jb2xvcik7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgcGFkZGluZzogMCAxcHg7XG59XG5cbi8vIC0tLS0gd3JhcCAoMDQuMDguMjAyNikgLS0tLVxuLy8gTXVsdGktbGluZSBzdWJ0aXRsZSBtb2RlLCBidWlsdCBmb3IgdGhlIHRhc2tsaXN0IFNFVFRJTkdTIHBhZ2Ugd2hlcmUgZWFjaFxuLy8gcm93J3Mgc3VidGl0bGUgaXMgYSBzZW50ZW5jZSBleHBsYWluaW5nIHdoYXQgdGhlIHNldHRpbmcgZG9lcywgbm90IGFcbi8vIG9uZS1saW5lIG1ldGEgc3RyaW5nLiBTZWUgcWRuYS1saXN0LXJvdy5qcydzIGB3cmFwYCBkb2Mgbm90ZS5cbi8vXG4vLyBLZXllZCBvZmYgdGhlIFJPT1QgbW9kaWZpZXIgY2xhc3MsIHNhbWUgaWRpb20gYXMgLnFsci10aWxlLW5vbmUgL1xuLy8gLnFsci1zaXplLWNvbXBhY3QsIHdoaWNoIGFsc28gc2V0dGxlcyBzcGVjaWZpY2l0eSB3aXRob3V0IHJlbHlpbmcgb25cbi8vIHNvdXJjZSBvcmRlcjogYC5xZG5hcHJvLWxpc3Qtcm93LnFsci13cmFwIC5xbHItc3VidGl0bGVgIGlzIDMgY2xhc3Nlc1xuLy8gYWdhaW5zdCB0aGUgYmFzZSBgLnFsci1zdWJ0aXRsZWAncyAxLlxuLy9cbi8vIFRoZSBUSVRMRSBkZWxpYmVyYXRlbHkga2VlcHMgaXRzIHNpbmdsZS1saW5lIGVsbGlwc2lzIHRydW5jYXRpb24g4oCUIG9ubHkgdGhlXG4vLyBzdWJ0aXRsZSB3cmFwcy4gQSB3cmFwcGluZyB0aXRsZSB3b3VsZCBtYWtlIHJvdyBoZWlnaHRzIHVucHJlZGljdGFibGUgaW4gYVxuLy8gbG9uZyBsaXN0IGFuZCBubyBjb25zdW1lciBoYXMgYXNrZWQgZm9yIGl0LlxuLnFkbmFwcm8tbGlzdC1yb3cucWxyLXdyYXAge1xuICAgIC8vIE1lYXN1cmUgY2FwIGZvciB0aGUgdGV4dCBjb2x1bW4sIHNvIGEgd2lkZSBzZXR0aW5ncyBjYXJkIGRvZXMgbm90XG4gICAgLy8gcHJvZHVjZSBhIDEyMC1jaGFyYWN0ZXIgbGluZS4gT3ZlcnJpZGFibGUgcGVyIGNvbnN1bWVyIHdpdGhvdXQgYSBuZXdcbiAgICAvLyBhdHRyaWJ1dGUg4oCUIHNhbWUgZXNjYXBlIGhhdGNoIGFzIC0tcWxyLWRlcHRoLXN0ZXAuXG4gICAgLS1xbHItd3JhcC1tYXgtd2lkdGg6IDYwY2g7XG5cbiAgICAvLyBUb3AtYWxpZ24gdGhlIGNvbHVtbnM6IGEgdHdvLWxpbmUgdGV4dCBibG9jayBzaG91bGQgc2l0IGxldmVsIHdpdGggdGhlXG4gICAgLy8gbGVhZGluZyB0aWxlIGFuZCB0aGUgdHJhaWxpbmcgY29udHJvbCwgbm90IHB1c2ggdGhlbSB0byBpdHMgY2VudHJlLlxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgLnFsci1ib2R5IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLXFsci13cmFwLW1heC13aWR0aCk7XG4gICAgfVxuXG4gICAgLnFsci1zdWJ0aXRsZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICAgICAgICAvLyAxLjMgKHRoZSBiYXNlIHZhbHVlKSBpcyBmaW5lIGZvciBvbmUgbGluZSwgdG9vIHRpZ2h0IGZvciBydW5uaW5nIHRleHQuXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIH1cblxuICAgIC8vIFRyYWlsaW5nIGNvbnRlbnQgdG8gdGhlIEZBUiBSSUdIVCBvZiB0aGUgcm93ICgwNC4wOC4yMDI2LCBLaW06IFwiaGllciBpc1xuICAgIC8vIGFsbGVtYWFsIHJ1aW10ZSBub2csIGRhbiBob2VmIGplIG5pZXQgZGUgZHJvcGRvd25zIHpvIHRlIHByb3BwZW5cIikuXG4gICAgLy9cbiAgICAvLyBUaGlzIGJlbG9uZ3MgdG8gdGhlIHZhcmlhbnQsIG5vdCB0byBhIGNvbnN1bWVyJ3Mgb3duIHN0eWxlc2hlZXQsIGJlY2F1c2VcbiAgICAvLyBpdCBpcyBhIGRpcmVjdCBjb25zZXF1ZW5jZSBvZiBjYXBwaW5nIHRoZSBib2R5IGFib3ZlOiB3aXRoXG4gICAgLy8gYG1heC13aWR0aGAgb24gLnFsci1ib2R5IHRoZSBib2R5IHN0b3BzIGdyb3dpbmcgYXQgdGhlIGNhcCwgdGhlIGxlZnRvdmVyXG4gICAgLy8gZnJlZSBzcGFjZSBjb2xsZWN0cyBBRlRFUiB0aGUgdHJhaWxpbmcgc2xvdCwgYW5kIHRoZSBjb250cm9sIGVuZHMgdXBcbiAgICAvLyBmbG9hdGluZyBpbiB0aGUgbWlkZGxlIG9mIGEgd2lkZSByb3cgd2l0aCBkZWFkIHNwYWNlIHRvIGl0cyByaWdodC5cbiAgICAvLyBtYXJnaW4tbGVmdDogYXV0byBjbGFpbXMgdGhhdCBmcmVlIHNwYWNlIGJlZm9yZSB0aGUgdHJhaWxpbmcgc2xvdFxuICAgIC8vIGluc3RlYWQsIHNvIHRoZSBjb250cm9sIHNpdHMgYWdhaW5zdCB0aGUgcm93J3MgcmlnaHQgZWRnZSAtIHRoZSBsYXlvdXRcbiAgICAvLyBldmVyeSBzZXR0aW5ncy1zdHlsZSByb3cgd2FudHMsIGFuZCB0aGUgcmVhc29uIGEgY29uc3VtZXIgY2FuIHRoZW4gZ2l2ZVxuICAgIC8vIGl0cyBjb250cm9scyBhIGNvbWZvcnRhYmxlIHdpZHRoIHJhdGhlciB0aGFuIHNxdWVlemluZyB0aGVtLlxuICAgIC8vXG4gICAgLy8gSGFybWxlc3Mgd2hlbiB0aGVyZSBpcyBubyB0cmFpbGluZyBjb250ZW50OiAucWxyLXRyYWlsaW5nIGlzXG4gICAgLy8gYGRpc3BsYXk6IG5vbmVgIHdoZW4gZW1wdHkgKHNlZSB0aGUgYmFzZSBydWxlKSwgYW5kIGB0cmFpbGluZz1cIm5vbmVcImBcbiAgICAvLyByZW5kZXJzIG5vIGVsZW1lbnQgYXQgYWxsLlxuICAgIC5xbHItdHJhaWxpbmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG59XG5cbi8vIC0tLS0gVHJhaWxpbmcgc2xvdCAtLS0tXG4ucWxyLXRyYWlsaW5nIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIFN0YWJsZSB3cmFwcGVyIGZvciBDT05ESVRJT05BTCBzbG90IGNvbnRlbnQgKGUuZy4gYSBSYWN0aXZlIHt7I2lmfX0gYmxvY2tcbi8vIGFyb3VuZCBhIGZhdm91cml0ZSBzdGFyKS4gQnVnIGZpeCAoMjEuMDcuMjAyNiwgZXJyb3IgNTMzMSDigJQgXCJDYW5ub3QgcmVhZFxuLy8gcHJvcGVydGllcyBvZiBudWxsIChyZWFkaW5nICdpbnNlcnRCZWZvcmUnKVwiIGRlZXAgaW4gYSBSYWN0aXZlIG4udXBkYXRlL1xuLy8gUHAudXBkYXRlIHN0YWNrLCBQV0EgZG9jdW1lbnRzIHZpZXcpOiBxZG5hLWxpc3Qtcm93LmpzJ3Ncbi8vIF9kaXN0cmlidXRlVHJhaWxpbmdTbG90L19kaXN0cmlidXRlTGVhZGluZ1Nsb3QgY2FwdHVyZSB0aGlzLmNoaWxkTm9kZXNcbi8vIE9OQ0Ugb24gZmlyc3QgY29ubmVjdCBhbmQgbW92ZSB0aGUgbWF0Y2hpbmcgc2xvdD1cIi4uLlwiIEVMRU1FTlQgaW50byBhblxuLy8gaW50ZXJuYWwgY29udGFpbmVyIOKAlCBidXQgaWYgdGhlIHNsb3Q9XCIuLi5cIiBlbGVtZW50IElTIGl0c2VsZiB0aGUgcm9vdCBvZlxuLy8gYSBSYWN0aXZlIGNvbmRpdGlvbmFsIHNlY3Rpb24sIFJhY3RpdmUncyBvd24gYW5jaG9yIGNvbW1lbnQgZm9yIHRoYXRcbi8vIHNlY3Rpb24gaXMgbGVmdCBiZWhpbmQgYXMgYSBjaGlsZCBvZiB0aGUgT1JJR0lOQUwgaG9zdCAobmV2ZXIgbW92ZWQsXG4vLyBzaW5jZSBvbmx5IGVsZW1lbnQgbm9kZXMgYXJlIG1hdGNoZWQpLCBhbmQgdGhhdCBob3N0IHdpcGVzIGl0cyBvd25cbi8vIGlubmVySFRNTCBvbiBldmVyeSBfcmVuZGVyKCkg4oCUIHBlcm1hbmVudGx5IG9ycGhhbmluZyB0aGUgYW5jaG9yXG4vLyAocGFyZW50Tm9kZSBiZWNvbWVzIG51bGwpLiBUaGUgc2VjdGlvbidzIE5FWFQgdG9nZ2xlIHRoZW4gaGFzIFJhY3RpdmUgY2FsbFxuLy8gaW5zZXJ0QmVmb3JlIHJlbGF0aXZlIHRvIHRoYXQgb3JwaGFuZWQgYW5jaG9yIC0+IFR5cGVFcnJvci4gRml4OiBuZXZlciBwdXRcbi8vIHNsb3Q9XCIuLi5cIiBkaXJlY3RseSBvbiB0aGUgY29uZGl0aW9uYWwgZWxlbWVudC4gUHV0IGl0IG9uIGFuIGFsd2F5cy1wcmVzZW50XG4vLyB3cmFwcGVyIGluc3RlYWQgKGA8c3BhbiBzbG90PVwidHJhaWxpbmdcIiBjbGFzcz1cInFsci1zbG90LXdyYXBcIj57eyNpZlxuLy8geH19Li4ue3svaWZ9fTwvc3Bhbj5gKSDigJQgdGhlIHdyYXBwZXIgKHdpdGggUmFjdGl2ZSdzIGFuY2hvciBzYWZlbHkgaW5zaWRlXG4vLyBpdCkgaXMgd2hhdCBnZXRzIG1vdmVkIGFzIGEgd2hvbGUsIHNvIHRoZSBhbmNob3IncyBwYXJlbnROb2RlIGlzIGFsd2F5cyB0aGVcbi8vIChyZWxvY2F0ZWQgYnV0IGludGFjdCkgd3JhcHBlciwgbmV2ZXIgb3JwaGFuZWQuIGBkaXNwbGF5OiBjb250ZW50c2Aga2VlcHNcbi8vIGFuIGVtcHR5IHdyYXBwZXIgKGNvbmRpdGlvbiBmYWxzZSkgZnJvbSBjb3VudGluZyBhcyBpdHMgb3duIGZsZXggaXRlbSBpblxuLy8gLnFsci10cmFpbGluZy8ucWxyLXRpbGUgYWJvdmUsIHNvIGl0IG5ldmVyIGFkZHMgYSBzdHJheSBnYXAuXG4ucWxyLXNsb3Qtd3JhcCB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbi5xbHItY2hldnJvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGNvbG9yOiB2YXIoLS1xbHItY2hldnJvbi1jb2xvcik7XG59XG5cbi8vIC0tLS0gU2l6ZTogY29tcGFjdCAodHJlZSBzdXBwb3J0LCAyMS4wNy4yMDI2KSAtLS0tXG4vLyBGb3IgbmFycm93IGNvbnRleHRzIOKAlCB0aGUgfjI4MC0zMjBweCBQV0EgZG9jdW1lbnRzIHRhYmxldCBzaWRlIHBhbmVsIGlzXG4vLyB0aGUgbW90aXZhdGluZyBjYXNlIOKAlCB3aGVyZSB0aGUgZGVmYXVsdCA0NHB4IG1pbi1oZWlnaHQgLyA0MHB4IHRpbGUgL1xuLy8gOHB4LTE2cHggcGFkZGluZyBpcyB0b28gaGVhdnkgdG8gc2hvdyAzIGluZGVudGVkIHRyZWUgbGV2ZWxzIGF0IG9uY2UuXG4vLyBOdW1iZXJzIHBpY2tlZCBmcm9tIHRoZSBzYW1lIFwiZ3JpZCBvZiA0XCIgZmFtaWx5IGFscmVhZHkgdXNlZCBlbHNld2hlcmUgaW5cbi8vIHRoZSBsaWJyYXJ5IChxZG5hcHJvLXVsLWl0ZW0ncyBvd24gc2l6ZT1cImNvbXBhY3RcIjogMzZweCBoZWlnaHQsIDI0LTI4cHhcbi8vIGNvbnRyb2xzKSByYXRoZXIgdGhhbiBpbnZlbnRpbmcgYSBuZXcgc2NhbGUuXG4ucWRuYXByby1saXN0LXJvdy5xbHItc2l6ZS1jb21wYWN0IHtcbiAgICAtLXFsci1kZXB0aC1zdGVwOiAxNnB4O1xuXG4gICAgbWluLWhlaWdodDogMzZweDtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMTJweCArICh2YXIoLS1xbHItZGVwdGgpICogdmFyKC0tcWxyLWRlcHRoLXN0ZXApKSk7XG4gICAgZ2FwOiA4cHg7XG5cbiAgICAucWxyLXRpbGUge1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLTIsIDhweCk7XG4gICAgfVxuXG4gICAgLnFsci10aWxlLWljb24ge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgIH1cblxuICAgIC5xbHItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxuXG4gICAgLnFsci1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG5cbiAgICAucWxyLWV4cGFuZC10b2dnbGUge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgIH1cblxuICAgIC5xbHItZXhwYW5kLWNoZXZyb24ge1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgIH1cblxuICAgIC5xbHItY2hldnJvbiB7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgfVxufVxuXG4vLyAtLS0tIENhcmQtZ3JvdXAgdXRpbGl0eSAtLS0tXG4vLyBQbGFpbiB3cmFwcGVyIChOT1QgYSByZWdpc3RlcmVkIGN1c3RvbSBlbGVtZW50KSBmb3IgYSB3aGl0ZSByb3VuZGVkIGNhcmRcbi8vIGhvbGRpbmcgc2V2ZXJhbCByb3dzLCBleGFjdGx5IHRoZSAuZG9jdW1lbnRzX2xpc3QgcGF0dGVybiB0aGlzIGNvbXBvbmVudFxuLy8gZ2VuZXJhbGlzZXMg4oCUIGEgZGl2aWRlciBiZXR3ZWVuIHJvd3MsIG5vbmUgYWZ0ZXIgdGhlIGxhc3QuIFJldXNhYmxlXG4vLyBhbnl3aGVyZSBhIGNvbnN1bWVyIHdhbnRzIHRoZSBcImdyb3VwZWQgY2FyZFwiIGxvb2sgd2l0aG91dCByZS1kZXJpdmluZyBpdC5cbi5xZG5hcHJvLWxpc3Qtcm93LWdyb3VwIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQsICNmZmZmZmYpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItY2FyZCwgMTZweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIFJlYWRzIHRoZSBST1cncyBvd24gLS1xbHItYm9yZGVyIHRva2VuICgwMy4wOC4yMDI2KSBpbnN0ZWFkIG9mXG4gICAgLy8gLS1jLWJvcmRlci1zb2Z0IGRpcmVjdGx5LCBzbyBhIHN1cmZhY2UgdmFyaWFudCB0aGF0IHJlcG9pbnRzIHRoYXQgdG9rZW5cbiAgICAvLyB0YWtlcyB0aGUgZGl2aWRlciB3aXRoIGl0LiAtLXFsci1ib3JkZXIgZGVmYXVsdHMgdG8gZXhhY3RseSB0aGUgc2FtZVxuICAgIC8vIC0tYy1ib3JkZXItc29mdCwgc28gZXZlcnkgZXhpc3RpbmcgZ3JvdXAgaXMgYnl0ZS1mb3ItYnl0ZSB1bmNoYW5nZWQuXG4gICAgLnFkbmFwcm8tbGlzdC1yb3c6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1xbHItYm9yZGVyLCB2YXIoLS1jLWJvcmRlci1zb2Z0LCByZ2JhKDAsIDAsIDAsIDAuMDcpKSk7XG4gICAgfVxufVxuXG4vLyBPbi1wdXJwbGUgZ3JvdXAgY2FyZCAoMDMuMDguMjAyNiwgS2ltKSDigJQgdGhlIHRyYW5zbHVjZW50LXdoaXRlIHN1cmZhY2UgdGhlXG4vLyBwdXJwbGUgYm90dG9tIHNoZWV0J3MgYnV0dG9uIGdyb3VwIHVzZXMsIHNvIGEgcm93cy1jYXJkIG9uIGEgcHVycGxlIHNjcmVlblxuLy8gY2FycmllcyB0aGUgc2FtZSB3ZWlnaHQgYXMgdGhlIHNoZWV0IG9wdGlvbnMuIFRoZSByb3dzIGluc2lkZSBhcmUgcmVjb2xvdXJlZFxuLy8gYnkgdGhlIHNoYXJlZCB0b2tlbiBibG9jayBhYm92ZTsgdGhpcyBvbmx5IG93bnMgdGhlIGNhcmQncyBvd24gc3VyZmFjZS5cbi5xZG5hcHJvLWxpc3Qtcm93LWdyb3VwLS1vbi1wdXJwbGUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUtMTQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCkpO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1zZWN0aW9uLWNhcmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIFdoaXRlIFwic2VjdGlvbiBjYXJkXCIgZnJhbWU6IHRpdGxlICsgb3B0aW9uYWwgYWNjZW50IGljb24gKHRvcC1yaWdodClcbi8vICBob3N0aW5nIGEgU1RBQ0sgT0YgUk9XUyAodHlwaWNhbGx5IHFkbmFwcm8tbGlzdC1yb3cpIGFzIGl0cyBvd24gZGlyZWN0XG4vLyAgY2hpbGRyZW4gLSBzZWUgcWRuYS1zZWN0aW9uLWNhcmQuanMncyBoZWFkZXIgZG9jLWNvbW1lbnQgZm9yIHRoZSBmdWxsXG4vLyAgXCJjaGlsZHJlbiBhcmUgbmV2ZXIgcmVwYXJlbnRlZFwiIGFyY2hpdGVjdHVyZSBjb250cmFjdCAoUmFjdGl2ZSBvd25zIHRoZVxuLy8gIHJvdyBET00gaW4gdGhlIFBXQSkuIFRoaXMgZmlsZSBvbmx5IGZyYW1lcyB0aGUgY2FyZCwgdGhlIGhlYWRlciByb3csIGFuZFxuLy8gIHRoZSBkaXZpZGVyIGxpbmVzIGJldHdlZW4gcm93czsgdGhlIHJvd3MgdGhlbXNlbHZlcyBzdHlsZSB0aGVpciBvd25cbi8vICBjb250ZW50LCB0aGlzIGNvbXBvbmVudCBuZXZlciB0b3VjaGVzIHRoZW0uXG4vL1xuLy8gIFVzZXMgcmVhbCBTQ1NTIGAmYC1uZXN0aW5nLCBzbyB0aGUgUFdBIHN5bmMgbXVzdCB1c2UgY29tcGlsZVNjc3M6IHRydWVcbi8vICBmb3IgdGhpcyBjb21wb25lbnQgKHNhbWUgcGF0aCBhcyBsaXN0LXJvdy9ncmlkLXRpbGUvYXBwLWhlYWRlciAtIHNlZVxuLy8gIHN5bmMtdjItY29tcG9uZW50cy5qcykgLSBhIGZsYXQgXCIvL1wiLXN0cmlwIGNvcHkgd291bGQgbGVhdmUgdGhlXG4vLyAgYDpub3QoLi4uKWAgc2libGluZyBzZWxlY3RvciBiZWxvdyBhcyBsaXRlcmFsIGJyb2tlbiBDU1MuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gU3R5bGVkIG9uIHRoZSBUQUcsIG5vdCBvbiAucWRuYXByby1zZWN0aW9uLWNhcmQsIG9uIHB1cnBvc2UuIEEgUmFjdGl2ZSBob3N0XG4vLyAodGhlIFBXQSBkb2N1bWVudHMgc2NyZWVuKSBtYW5hZ2VzIGBjbGFzcz1gIG9uIHRoaXMgZWxlbWVudCBmb3IgaXRzIG93biBzdGF0ZVxuLy8gYW5kIHJld3JpdGVzIHRoZSB3aG9sZSBhdHRyaWJ1dGUgd2hlbiB0aGF0IHN0YXRlIGNoYW5nZXMsIHdoaWNoIHdvdWxkIHdpcGVcbi8vIHRoZSBjb21wb25lbnQncyBvd24gY2xhc3MgYW5kIHN0cmlwIGV2ZXJ5IHJ1bGUgYmVsb3cgd2l0aCBpdC4gVGhlIHRhZyBuYW1lXG4vLyBjYW4gbmV2ZXIgYmUgd2lwZWQuIFRoZSBKUyBzdGlsbCBhZGRzIHRoZSBjbGFzcyBmb3IgcXVlcnlpbmcvY29uc2lzdGVuY3kuXG4vLyBSZWxhdGVkIGluY2lkZW50IGZhbWlseTogcWRuYXByby10b29sdGlwIC8gcWRuYXByby1pbGx1c3RyYXRpb24gY2xhc3NuYW1lLXdpcGUuXG5xZG5hcHJvLXNlY3Rpb24tY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8vIE5PIHBhZGRpbmcgb24gdGhlIGNhcmQgaXRzZWxmIChLaW0gMjguMDcuMjAyNik6IHRoZSByb3dzIG11c3QgcnVuIGFsbCB0aGVcbiAgICAvLyB3YXkgdG8gdGhlIGNhcmQncyBlZGdlcyBzbyBsb25nIGZpbGVuYW1lcyBnZXQgdGhlIG1vc3Qgd2lkdGggcG9zc2libGUuXG4gICAgLy8gVGhlIGluc2V0IHRoZSByb3dzIHN0aWxsIGhhdmUgaXMgcWRuYXByby1saXN0LXJvdydzIE9XTiA4cHggMTZweCBwYWRkaW5nLFxuICAgIC8vIHdoaWNoIGlzIHRoYXQgY29tcG9uZW50J3MgYnVzaW5lc3MsIG5vdCB0aGlzIGZyYW1lJ3MuIE9ubHkgdGhlIGhlYWRlclxuICAgIC8vIGNhcnJpZXMgdGhlIGNhcmQncyBvd24gaW5zZXQgKHNlZSAucXNjLWhlYWQgYmVsb3cpLlxuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1jYXJkLCAjZmZmZmZmKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIC8vIE5lZWRlZCBub3cgdGhhdCByb3dzIGFyZSBmdWxsLWJsZWVkOiBhIHJvdydzIGhvdmVyL3ByZXNzZWQgYmFja2dyb3VuZFxuICAgIC8vIChxZG5hcHJvLWxpc3Qtcm93J3MgLS1xbHItYmctaG92ZXIpIHJlYWNoZXMgdGhlIGNhcmQncyBlZGdlLCBzbyB3aXRob3V0XG4gICAgLy8gdGhpcyBpdCB3b3VsZCBzcXVhcmUgb2ZmIHRoZSByb3VuZGVkIGNvcm5lcnMgb24gdGhlIGZpcnN0L2xhc3Qgcm93LlxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQsIDAgMXB4IDJweCByZ2JhKDIwLCAyNSwgODAsIDAuMDQpLCAwIDRweCAxNnB4IHJnYmEoMjAsIDI1LCA4MCwgMC4wNCkpO1xuXG4gICAgLy8gSW5qZWN0ZWQgRE9NLWZpcnN0IGJ5IHRoZSBKUyAoaW5zZXJ0QmVmb3JlKTsgb3JkZXI6LTEgaXMgYSB2YW5nbmV0IGluXG4gICAgLy8gY2FzZSBhIGhvc3QgdGVtcGxhdGUgZXZlciBpbnNlcnRzIGEgcm93IGJlZm9yZSBpdC4gQ2FycmllcyB0aGUgY2FyZCdzXG4gICAgLy8gaW5zZXQgaXRzZWxmIHNpbmNlIHRoZSBjYXJkIG5vIGxvbmdlciBoYXMgcGFkZGluZy5cbiAgICAucXNjLWhlYWQge1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgLy8gT25seSBkb2VzIHNvbWV0aGluZyB3aGVuIGEgY29uc3VtZXIgY2FwcyB0aGUgY2FyZCdzIGhlaWdodCBhbmQgbGV0c1xuICAgICAgICAvLyBpdCBzY3JvbGwgKHRoZSBQV0EgZG9lcyB0aGF0IGZvciBhbiBleHBhbmRlZCBzZWN0aW9uKTogdGhlIHRpdGxlIHRoZW5cbiAgICAgICAgLy8gc3RheXMgaW4gdmlldyBpbnN0ZWFkIG9mIHNjcm9sbGluZyBhd2F5LiBPbiBhIGNhcmQgdGhhdCBkb2VzIG5vdFxuICAgICAgICAvLyBzY3JvbGwgdGhpcyBpcyBhIG5vLW9wLiBOZWVkcyBhbiBvcGFxdWUgYmFja2dyb3VuZCBzbyByb3dzIGNhbm5vdFxuICAgICAgICAvLyBzaG93IHRocm91Z2ggaXQgd2hpbGUgc2Nyb2xsaW5nLlxuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCwgI2ZmZmZmZik7XG4gICAgfVxuXG4gICAgLnFzYy10aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgY29sb3I6IHZhcigtLWMtdGV4dC1oZWFkaW5nLCAjMWExZjRkKTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC8vIE9wdGlvbmFsIHN1YnRpdGxlIHVuZGVyIHRoZSB0aXRsZSAoMDQuMDguMjAyNikuIEl0cyBvd24gZGlyZWN0IGNoaWxkIG9mXG4gICAgLy8gdGhlIGNhcmQsIHNpdHRpbmcgYmV0d2VlbiAucXNjLWhlYWQgYW5kIHRoZSBmaXJzdCByb3cgLSBzZWVcbiAgICAvLyBxZG5hLXNlY3Rpb24tY2FyZC5qcydzIGBjYXJkLXN1YnRpdGxlYCBub3RlIGZvciB3aHkgaXQgaXMgbm90IGluc2lkZSB0aGVcbiAgICAvLyBoZWFkLiBDYXJyaWVzIHRoZSBjYXJkJ3Mgb3duIGluc2V0LCBsaWtlIC5xc2MtZW1wdHkgZG9lcywgc2luY2UgdGhlIGNhcmRcbiAgICAvLyBpdHNlbGYgaGFzIG5vIHBhZGRpbmcuXG4gICAgLnFzYy1zdWJ0aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzZlNzI4MCk7XG4gICAgICAgIC8vIEtlZXBzIHRoZSBzZW50ZW5jZSByZWFkYWJsZSBvbiBhIHdpZGUgY2FyZCBpbnN0ZWFkIG9mIHJ1bm5pbmcgdGhlXG4gICAgICAgIC8vIGZ1bGwgY2FyZCB3aWR0aC4gT3ZlcnJpZGFibGUgcGVyIGNvbnN1bWVyIHdpdGhvdXQgYSBuZXcgYXR0cmlidXRlLlxuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLXFzYy1zdWJ0aXRsZS1tYXgtd2lkdGgsIDYyY2gpO1xuICAgIH1cblxuICAgIC8vIC0tLS0gc2l6ZT1cImNvbXBhY3RcIiAoMDQuMDguMjAyNikgLS0tLVxuICAgIC8vIEtpbTogaGV0IDI0cHgvNzAwIGthYXJ0a29wamUgaXMgdGUgbHVpZCBvcCBlZW4gcGFnaW5hIGRpZSB2aWVyIGthYXJ0ZW5cbiAgICAvLyBzdGFwZWx0IChkZSB0YWtlbmxpanN0LWluc3RlbGxpbmdlbikuIFppZSBxZG5hLXNlY3Rpb24tY2FyZC5qcydzIGBzaXplYFxuICAgIC8vIG5vdGUuIERlIDE3cHgvNjAwIGlzIEdFRU4gbmlldXcgZ2Vrb3plbiBnZXRhbDogZGF0IGlzIGV4YWN0IHdhdFxuICAgIC8vIC5xZG5hcHJvLWluZm8tY2FyZF9fdGl0bGUgYWwgZ2VicnVpa3Qgdm9vciBlZW4gdGl0ZWwgb3AgZWVuIHdpdHRlIGthYXJ0LlxuICAgIC8vIEljb29uIGVuIGluc2V0IGdhYW4gbWVlLCB3YW50IGVlbiAyOHB4IGFjY2VudC1pY29vbiBuYWFzdCBlZW4gMTdweCB0aXRlbFxuICAgIC8vIG9wIGVlbiAyMHB4IGluc2V0IGxlZXN0IGFscyBlZW4gZ2V3b25lIGthYXJ0IG1ldCBlZW4gZ2Vrcm9tcGVuIHRpdGVsIGluXG4gICAgLy8gcGxhYXRzIHZhbiBhbHMgZWVuIGtsZWluZXJlIGthYXJ0LlxuICAgICYucXNjLXNpemUtY29tcGFjdCB7XG4gICAgICAgIC5xc2MtaGVhZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDE2cHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xc2MtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xc2Mtc3VidGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnFzYy1pY29uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlIGxlZ2Utc3RhYXQgaG91ZHQgZGV6ZWxmZGUgaW5zZXQgYWxzIGRlIG9uZGVydGl0ZWwgYWFuLlxuICAgICAgICAucXNjLWVtcHR5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTZweCAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gV2l0aCBhIHN1YnRpdGxlIHByZXNlbnQsIHRoZSBoZWFkJ3Mgb3duIDEycHggYm90dG9tIG1hcmdpbiB3b3VsZCBzdGFja1xuICAgIC8vIG9uIHRvcCBvZiB0aGUgc3VidGl0bGUncywgbGVhdmluZyBhIDI0cHggaG9sZSBiZXR3ZWVuIHRpdGxlIGFuZFxuICAgIC8vIHN1YnRpdGxlLiBUaGUgaG9zdCBjbGFzcyBjb21lcyBmcm9tIHRoZSBKUyAoY2xhc3NMaXN0LnRvZ2dsZSksIHdoaWNoXG4gICAgLy8gYXZvaWRzIG5lZWRpbmcgOmhhcygpIGhlcmUgLSB0aGF0IHdvdWxkIHJ1bGUgb3V0IG9sZGVyIFdlYktpdC5cbiAgICAmLnFzYy1oYXMtc3VidGl0bGUgLnFzYy1oZWFkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cblxuICAgIC8vIEFjY2VudCBpY29uLCB0b3AtcmlnaHQuIGZsZXgtc2hyaW5rIHNvIGEgbG9uZyB0aXRsZSBuZXZlciBzcXVpc2hlcyBpdC5cbiAgICAvLyAyOHB4IHBlciB0aGUgZGVzaWduLiBTZXQgYXMgYSBmb250LXNpemUsIE5PVCB2aWEgcWRuYXByby1pY29uJ3MgYHNpemVgXG4gICAgLy8gYXR0cmlidXRlOiB0aGF0IGNvbXBvbmVudCBvbmx5IGhhcyAuaWNvbi0xNi8uaWNvbi0yMC8uaWNvbi0yNCBjbGFzc2VzLFxuICAgIC8vIHNvIHNpemU9XCIyOFwiIHdvdWxkIHJlc29sdmUgdG8gbm90aGluZy4gSXRzIGJveCBpcyB3aWR0aC9oZWlnaHQ6IDFlbSwgc29cbiAgICAvLyBhIGZvbnQtc2l6ZSBoZXJlIHNpemVzIGl0IGV4YWN0bHkuXG4gICAgLnFzYy1pY29uIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICB9XG5cbiAgICAucXNjLWljb24tY29sb3ItaGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtaGVhZGluZywgIzFhMWY0ZCk7XG4gICAgfVxuXG4gICAgLnFzYy1pY29uLWNvbG9yLWhlYXJ0IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtZmF2b3JpdGUtaGVhcnQsICNmZjRkNmEpO1xuICAgIH1cblxuICAgIC5xc2MtaWNvbi1jb2xvci1wdXJwbGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNTAwLCAjNDA0OTlhKTtcbiAgICB9XG5cbiAgICAucXNjLWljb24tY29sb3ItZ3JleSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2ZTcyODApO1xuICAgIH1cblxuICAgIC8vIEtlZXBzIHRoZSBjYXJkJ3Mgb3duIGluc2V0ICh0aGUgY2FyZCBoYXMgbm9uZSk6IGFuIGVtcHR5LXN0YXRlIFNFTlRFTkNFXG4gICAgLy8gZ2x1ZWQgdG8gdGhlIGNhcmQgZWRnZSB3b3VsZCByZWFkIGFzIGJyb2tlbiwgdW5saWtlIGEgcm93ICh3aGljaCBicmluZ3NcbiAgICAvLyBpdHMgb3duIHBhZGRpbmcgYW5kIGlzIG1lYW50IHRvIGJlIGZ1bGwtYmxlZWQpLlxuICAgIC5xc2MtZW1wdHkge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHggMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbiAgICB9XG5cbiAgICAvLyBEaXZpZGVyIGxpbmUgYmV0d2VlbiB0d28gY29uc2VjdXRpdmUgUk9XUyBvbmx5IC0gbmV2ZXIgYWJvdmUgdGhlXG4gICAgLy8gZmlyc3Qgcm93ICh0aGUgaGVhZCBwcmVjZWRlcyBpdCBpbiBET00sIGV4cGxpY2l0bHkgZXhjbHVkZWQgaGVyZSlcbiAgICAvLyBhbmQgbmV2ZXIgYXJvdW5kIHRoZSBlbXB0eS1zdGF0ZSBtZXNzYWdlIG9yIHRoZSBzdWJ0aXRsZS5cbiAgICAvL1xuICAgIC8vIC5xc2Mtc3VidGl0bGUgbXVzdCBiZSBleGNsdWRlZCBvbiBCT1RIIHNpZGVzICgwNC4wOC4yMDI2KTogYXMgdGhlXG4gICAgLy8gc2Vjb25kIGVsZW1lbnQgaXQgaXMgYWxyZWFkeSBzYWZlICh0aGUgLnFzYy1oZWFkIGJlZm9yZSBpdCBmYWlscyB0aGVcbiAgICAvLyBmaXJzdCA6bm90KSwgYnV0IGFzIHRoZSBGSVJTVCBlbGVtZW50IGl0IHdvdWxkIG90aGVyd2lzZSBwdXQgYSBib3JkZXJcbiAgICAvLyBvbiB0b3Agb2YgdGhlIGZpcnN0IHJvdyAtIHRoZSBleGFjdCBsaW5lIHRoaXMgc2VsZWN0b3IgZXhpc3RzIHRvIGF2b2lkLlxuICAgID4gOm5vdCgucXNjLWhlYWQpOm5vdCgucXNjLWVtcHR5KTpub3QoLnFzYy1zdWJ0aXRsZSlcbiAgICArIDpub3QoLnFzYy1oZWFkKTpub3QoLnFzYy1lbXB0eSk6bm90KC5xc2Mtc3VidGl0bGUpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWMtZ3JleS0xMDAsICNlN2U5ZWMpO1xuICAgIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIHFkbmFwcm8tc2VhcmNoLW92ZXJsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEluc3RhZ3JhbS1zdHlsZSBmdWxsc2NyZWVuIHNlYXJjaCB0YWtlb3Zlci4gUG9ydGFsbGVkIHRvIDxib2R5PiBvblxuLy8gIG9wZW4oKSAoc2VlIHFkbmEtc2VhcmNoLW92ZXJsYXkuanMpLCBzYW1lIHJlYXNvbmluZyBhc1xuLy8gIHFkbmFwcm8tdW5pdC1jb250ZXh0LiBDb25zdW1lcyBkZXNpZ24gdG9rZW5zIGZyb21cbi8vICBkZXNpZ24tdG9rZW5zL19kZXNpZ24tdG9rZW5zLnNjc3MuIENvbXBvc2VzIHFkbmFwcm8taW5wdXQgKHNlYXJjaFxuLy8gIGZpZWxkKSwgcWRuYXByby1saXN0LXJvdyAocmVjZW50ICsgcmVzdWx0IHJvd3MpLCBxZG5hcHJvLXRleHQtbGlua1xuLy8gIChcIldpc3NlblwiIGNsZWFyLWFsbCBvbmx5LCBzZWUgRklYIGJlbG93KSwgcWRuYXByby1pY29uLWJ0biAoY2FuY2VsICtcbi8vICBwZXItdGVybSByZW1vdmUpLlxuLy9cbi8vICBGSVggKDIxLjA3LjIwMjYsIEtpbSdzIHRvZXN0ZWwtdGVzdCAtIENSSVRJQ0FMKTogdGhlIGNhbmNlbCBidXR0b24gdXNlZCB0b1xuLy8gIGJlIGEgcWRuYXByby10ZXh0LWxpbmsgdG9vLiBUaGF0IGNvbXBvbmVudCBzaGlwcGVkIHdpdGggTk8gd29ya2luZyBDU1Ncbi8vICBhbnl3aGVyZSAoc2VlIF90ZXh0LWxpbmsuc2NzcydzIG93biBoZWFkZXIgY29tbWVudCkgc28gdGhlIGNhbmNlbCBidXR0b25cbi8vICB3YXMgaW52aXNpYmxlIG9uIHRoZSBQV0EgLSBLaW0gZ290IHN0dWNrIGluIHRoZSBmdWxsc2NyZWVuIHRha2VvdmVyIHdpdGggbm9cbi8vICB3YXkgb3V0LiBTd2FwcGVkIGZvciBhIHFkbmFwcm8taWNvbi1idG4gKGljb249XCJjbG9zZVwiLCA0NHB4IHRhcmdldCkgcGVyXG4vLyAgS2ltJ3MgZXhwbGljaXQgYXBwcm92YWw7IHRleHQtbGluaydzIENTUyBpcyBmaXhlZCB0b28sIHNvIFwiV2lzc2VuXCIgc3RheXMuXG4vL1xuLy8gIE5PVEU6IHRoaXMgZmlsZSBpcyBhIGNhbmRpZGF0ZSBmb3IgdGhlIHNhbWUgc3luYy12Mi1jb21wb25lbnRzLmpzIFBXQVxuLy8gIHN5bmMgdGhhdCBxZG5hcHJvLXVuaXQtY29udGV4dC9xZG5hcHJvLWFwcC1oZWFkZXIgdXNlICh3aGljaCBvbmx5XG4vLyAgc3RyaXBzIC8vIGNvbW1lbnRzIOKAlCBpdCBkb2VzIE5PVCBjb21waWxlIFNDU1MgbmVzdGluZykuIEtlZXAgQUxMXG4vLyAgc2VsZWN0b3JzIEZMQVQgKG5vICYgbmVzdGluZykgc28gdGhlIGZpbGUgYWxyZWFkeSB3b3JrcyBhcyBwbGFpbiBDU1Ncbi8vICBpZi93aGVuIGl0J3Mgc3luY2VkLCB3aXRob3V0IG5lZWRpbmcgYSByZXdyaXRlIGF0IHRoYXQgcG9pbnQuXG4vL1xuLy8gIG1vZGU9XCJkcm9wZG93blwiICgzMC4wNy4yMDI2LCBiYWNrb2ZmaWNlIHNlYXJjaCwgU0VDT05EIGRlc2lnbiBjb3JyZWN0aW9uXG4vLyAg4oCUIGFuIGVhcmxpZXIgXCJ3ZWxkIHRoZSBwYW5lbCB1bmRlciB0aGUgZmllbGRcIiBhdHRlbXB0IHdhcyB3cm9uZyBhbmQgaGFzXG4vLyAgYmVlbiBmdWxseSByZW1vdmVkKTogc2VlIC5xc28tbW9kZS1kcm9wZG93biBiZWxvdyBmb3IgdGhlIE9ORSBDQVJEXG4vLyAgdmFyaWFudCB0aGF0IGRyb3BzIGV4YWN0bHkgb24gdG9wIG9mIGEgcGFnZSBzZWFyY2ggYmFyIChvd24gZmllbGQgcm93LFxuLy8gIGRpdmlkZXIsIHJlY2VudHMvcmVzdWx0cyBiZWxvdykgKyBxZG5hLXNlYXJjaC1vdmVybGF5LmpzJ3Ncbi8vICBfcG9zaXRpb25Ecm9wZG93bigpIGZvciB0aGUgSlMgaGFsZi4gUmV1c2VzIHRoZSBxZG5hLXNjcm9sbGJhciBtaXhpblxuLy8gIChtb2R1bGVzL19taXhpbnMuc2NzcykgZm9yIHRoZSBwYW5lbCdzIG93biBzY3JvbGwgYXJlYSDigJQgc2NvcGVkIHRvXG4vLyAgZHJvcGRvd24gbW9kZSBvbmx5LCBzbyB0aGUgdGFrZW92ZXIgbW9kZSdzIG5hdGl2ZSBzY3JvbGxiYXIgc3RheXNcbi8vICBieXRlLWlkZW50aWNhbCB0byBiZWZvcmUgYG1vZGVgIGV4aXN0ZWQuXG4vL1xuLy8gIHN1cmZhY2U9XCJncmV5XCIgKDMxLjA3LjIwMjYsIG1vZGU9XCJkcm9wZG93blwiIG9ubHkpOiBzZWUgLnFzby1zdXJmYWNlLWdyZXlcbi8vICBuZWFyIHRoZSBlbmQgb2YgdGhpcyBmaWxlIC0gcmVjb2xvdXJzIHRoZSBjYXJkIHRvIHZhcigtLWMtZ3JleS0xMDApIGZvclxuLy8gIGhvc3RpbmcgdGhpcyBiYXIgaW5zaWRlIGEgd2hpdGUgYXBwLWhlYWRlciwgcGx1cyB0aGUgdHdvIGV4aXN0aW5nLXRva2VuXG4vLyAgY29udHJhc3QgZml4ZXMgdGhhdCBjb2xvdXIgY2hhbmdlIG5lZWRlZCAodGhlIGRpdmlkZXIsIHRoZSByb3cgaG92ZXIpLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkB1c2UgJy4uLy4uLy4uL21vZHVsZXMvbWl4aW5zJyBhcyAqO1xuXG4vLyAtLS0tLS0tLS0tIGhvc3QgLS0tLS0tLS0tLVxuLy8gVGhlIGhvc3QgaXRzZWxmIHJlbmRlcnMgbm8gYm94IOKAlCBhbGwgcmVhbCBjb250ZW50IGxpdmVzIGluIC5xc28tb3ZlcmxheSxcbi8vIHdoaWNoIGlzIHBvcnRhbGxlZCB0byA8Ym9keT4gb24gb3BlbigpIGFuZCBoaWRkZW4gKG5hdGl2ZSBbaGlkZGVuXSxcbi8vIGRpc3BsYXk6bm9uZSkgd2hpbGUgY2xvc2VkLiBTYW1lIGlkaW9tIGFzIHFkbmFwcm8tZXZlbnQtc2hlZXQgL1xuLy8gcWRuYXByby10cmFuc2xhdGlvbi1wYW5lbCAvIHFkbmFwcm8tdHJhbnNsYXRpb24tbW9kYWwuXG4ucWRuYXByby1zZWFyY2gtb3ZlcmxheSB7IGRpc3BsYXk6IGNvbnRlbnRzOyB9XG5cbi8vIERlZmVuc2l2ZSBndWFyZCAoMjEuMDcuMjAyNiwgS2ltJ3MgdG9lc3RlbC10ZXN0KTogaWYgdGhpcyB0YWcgaXMgZXZlclxuLy8gcHJlc2VudCBpbiB0aGUgRE9NIGJlZm9yZSB0aGUgY3VzdG9tIGVsZW1lbnQgZGVmaW5pdGlvbiBoYXMgcmVnaXN0ZXJlZFxuLy8gKGUuZy4gd3JpdHRlbiBkaXJlY3RseSBpbiBtYXJrdXAgcmF0aGVyIHRoYW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCdkXG4vLyBBRlRFUiBlbnN1cmUoKSt3aGVuRGVmaW5lZCByZXNvbHZlZCwgYXMgdGhpcyBjb21wb25lbnQncyBvd24gY29uc3VtZXJzIGRvXG4vLyB0b2RheSAtIHNlZSBxZG5hLXBvcG92ZXIuanMncyBzaWJsaW5nIGd1YXJkIGZvciB0aGUgc2FtZSByZWFzb25pbmcpLCBpdFxuLy8gbXVzdCBuZXZlciByZW5kZXIgaXRzIHJhdyBsaWdodC1ET00gY2hpbGRyZW4gdW5zdHlsZWQvZXhwb3NlZCAtIGhpZGUgaXRcbi8vIG91dHJpZ2h0IHVudGlsIHVwZ3JhZGVkLiBUQUcgc2VsZWN0b3Igb24gcHVycG9zZTogdGhlIC5xZG5hcHJvLXNlYXJjaC1vdmVybGF5XG4vLyBjbGFzcyBpcyBvbmx5IGFkZGVkIGJ5IGNvbm5lY3RlZENhbGxiYWNrIEFGVEVSIHVwZ3JhZGUsIHNvIGEgY2xhc3MtYmFzZWRcbi8vIDpub3QoOmRlZmluZWQpIHJ1bGUgY2FuIG5ldmVyIG1hdGNoIGFueXRoaW5nLlxucWRuYXByby1zZWFyY2gtb3ZlcmxheTpub3QoOmRlZmluZWQpIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vLyAtLS0tLS0tLS0tIG92ZXJsYXkgc2hlbGwgLS0tLS0tLS0tLVxuLnFzby1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogMjE0NzQ4MzAwMDsgLy8gcG9ydGFsbGVkIHRvIDxib2R5Pjogc2l0IGFib3ZlIGV2ZXJ5dGhpbmcsIHNhbWUgdmFsdWUgYXMgcWRuYXByby11bml0LWNvbnRleHRcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuLnFzby1vdmVybGF5W2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cbi5xc28tYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJsYWNrLTMwKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC0tcXNvLWR1cmF0aW9uOiAyMDBtcztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXFzby1kdXJhdGlvbikgZWFzZTtcbn1cblxuLnFzby1wYW5lbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDE7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICAvLyBtaW4td2lkdGg6IDAgaXMgaGllciBHRUVOIG5ldHRlIHRvZXZvZWdpbmcgbWFhciBlZW4gYnVnZml4IFtLaW0gMzAuMDcuMjAyNixcbiAgICAvLyBvcCBoYWFyIHRvZXN0ZWw6IGRlIHpvZWtyZXN1bHRhdGVuIGxpZXBlbiBidWl0ZW4gaGV0IHNjaGVybV0uXG4gICAgLy9cbiAgICAvLyBXYWFyb20gaGV0IG1pc2dpbmc6IGVlbiBmbGV4LWl0ZW0gaGVlZnQgc3RhbmRhYXJkIGBtaW4td2lkdGg6IGF1dG9gLCBkdXMgaGV0XG4gICAgLy8ga3JpbXB0IG5vb2l0IG9uZGVyIGRlIG1pbi1jb250ZW50IGJyZWVkdGUgdmFuIHppam4gaW5ob3VkLiBEZSB0aXRlbCBlbiBkZVxuICAgIC8vIG9uZGVydGl0ZWwgdmFuIGVlbiByZXN1bHRhYXRyaWogc3RhYW4gb3AgYHdoaXRlLXNwYWNlOiBub3dyYXBgLCBlbiBkYWFybWVlIElTXG4gICAgLy8gZGUgbWluLWNvbnRlbnQgYnJlZWR0ZSBkZSB2b2xsZWRpZ2UgcmVnZWwuIEJpaiBlZW4gbGFuZ2UgdGl0ZWwgcmVrdGUgZGl0XG4gICAgLy8gcGFuZWVsIGR1cyBtZWUgdG90IHZvb3JiaWogZGUgc2NoZXJtcmFuZCBpbiBwbGFhdHMgdmFuIGRlIHRla3N0IGFmIHRlIGtuaXBwZW4uXG4gICAgLy8gRGUgYWZrYXAtcmVnZWxzIG9wIGRlIHJpaiB6ZWxmIGt3YW1lbiBkYWFyZG9vciBub29pdCBhYW4gZGUgYmV1cnQuXG4gICAgLy9cbiAgICAvLyBXYWFyb20gRG9jdW1lbnRlbiBlciBub29pdCB0ZWdlbmFhbiBsaWVwOiBtYXBuYW1lbiBlbiBiZXN0YW5kc25hbWVuIHppam4ga29ydC5cbiAgICAvLyBIZXQgcG9zdHZhayBpcyBkZSBlZXJzdGUgZ2VicnVpa2VyIG1ldCB0aXRlbHMgdmFuIGVlbiBoYWx2ZSB6aW4sIGR1cyBkaXQga29tdFxuICAgIC8vIG51IHBhcyBib3ZlbiB3YXRlci4gRGUgZml4IGhvb3J0IGluIGhldCBjb21wb25lbnQgZW4gbmlldCBpbiBoZXQgcG9zdHZhaywgd2FudFxuICAgIC8vIGVsa2Ugdm9sZ2VuZGUgZ2VicnVpa2VyIG1ldCBsYW5nZSB0ZWtzdCBoYWQgaGVtIG9wbmlldXcgZ2VyYWFrdC5cbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmctY2FyZCk7XG4gICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpO1xuICAgIC8vIFRha2VvdmVyIGFuaW1hdGlvbjogb3BhY2l0eSArIHRyYW5zZm9ybSBPTkxZIChubyBsYXlvdXQtYWZmZWN0aW5nXG4gICAgLy8gcHJvcGVydGllcywgcGVyIHRoZSBcImtvcnQgZW4gc3RyYWtcIiByZXF1aXJlbWVudCkg4oCUIGEgc29mdFxuICAgIC8vIGZhZGUgKyBzbGlnaHQgZG93bndhcmQgc2V0dGxlLCBub3QgYSBsYXlvdXQgcmVmbG93LlxuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpIHNjYWxlKDAuOTgpO1xuICAgIC0tcXNvLWR1cmF0aW9uOiAyMDBtcztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXFzby1kdXJhdGlvbikgZWFzZSwgdHJhbnNmb3JtIHZhcigtLXFzby1kdXJhdGlvbikgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtO1xufVxuXG4ucXNvLW92ZXJsYXkuaXMtb3BlbiAucXNvLWJhY2tkcm9wIHsgb3BhY2l0eTogMTsgfVxuLnFzby1vdmVybGF5LmlzLW9wZW4gLnFzby1wYW5lbCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnFzby1iYWNrZHJvcCxcbiAgICAucXNvLXBhbmVsIHtcbiAgICAgICAgLS1xc28tZHVyYXRpb246IDBtcztcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0gaGVhZGVyOiBzZWFyY2ggZmllbGQgKyBjYW5jZWwgLS0tLS0tLS0tLVxuLnFzby1oZWFkZXIge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tcy0zKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zLTQpIHZhcigtLXMtNCkgdmFyKC0tcy0yKTtcbiAgICAvLyBib3JkZXItYm94ICgzMC4wNy4yMDI2LCBkcm9wZG93biBtb2RlJ3MgT05FIENBUkQgY29udHJhY3QpOiBpblxuICAgIC8vIG1vZGU9XCJkcm9wZG93blwiLCBxZG5hLXNlYXJjaC1vdmVybGF5LmpzIHNldHMgYW4gZXhwbGljaXQgaW5saW5lXG4gICAgLy8gYGhlaWdodGAgb24gdGhpcyByb3cgdG8gbWF0Y2ggdGhlIGFuY2hvcidzIG93biBoZWlnaHQgZXhhY3RseSAoc2VlXG4gICAgLy8gX3Bvc2l0aW9uRHJvcGRvd24oKSkg4oCUIHdpdGhvdXQgYm9yZGVyLWJveCB0aGF0IGhlaWdodCB3b3VsZCBiZSBBRERFRFxuICAgIC8vIHRvIGJ5IHRoZSBwYWRkaW5nIGFib3ZlLCBtYWtpbmcgdGhlIHJvdyB0YWxsZXIgdGhhbiB0aGUgYW5jaG9yIGFuZFxuICAgIC8vIGJyZWFraW5nIHRoZSBcImNvdmVycyBpdCB3aXRoIG5vIHZpc3VhbCBqdW1wXCIgY29udHJhY3QuIEhhcm1sZXNzIGluXG4gICAgLy8gdGFrZW92ZXIgbW9kZSwgd2hpY2ggbmV2ZXIgc2V0cyB0aGF0IGlubGluZSBoZWlnaHQuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnFzby1maWVsZCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi8vIEZJWCAoMjEuMDcuMjAyNiwgS2ltJ3MgdG9lc3RlbC10ZXN0KTogY2FuY2VsIGlzIG5vdyBhIHFkbmFwcm8taWNvbi1idG5cbi8vIChpY29uPVwiY2xvc2VcIiwgc2l6ZT1cInRvdWNoXCIgLSBhbHJlYWR5IGEgcmVhbCA0NHg0NCB0YXJnZXQgb24gaXRzIG93biksIG5vdFxuLy8gYSBxZG5hcHJvLXRleHQtbGluayAtIGl0IG1hbmFnZXMgaXRzIG93biBkaXNwbGF5L3NpemluZywgc28gb25seSBgZmxleDpcbi8vIG5vbmVgIGlzIHN0aWxsIG5lZWRlZCBoZXJlIChrZWVwcyBpdCBmcm9tIHN0cmV0Y2hpbmcgaW4gdGhlIC5xc28taGVhZGVyIHJvdykuXG4ucXNvLWNhbmNlbCB7XG4gICAgZmxleDogbm9uZTtcbn1cblxuLy8gLS0tLS0tLS0tLSBub3ZhIHNsb3QgLS0tLS0tLS0tLVxuLnFzby1ub3ZhIHtcbiAgICBmbGV4OiBub25lO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tcy00KSB2YXIoLS1zLTIpO1xufVxuLnFzby1ub3ZhOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxuXG4vLyAtLS0tLS0tLS0tIGJvZHk6IHJlY2VudHMgLyByZXN1bHRzIC8gZW1wdHkgLS0tLS0tLS0tLVxuLnFzby1ib2R5IHtcbiAgICAvLyBaZWxmZGUgcmVkZW4gYWxzIGJpaiAucXNvLXBhbmVsIGhpZXJib3Zlbjogem9uZGVyIGRpdCBrYW4gZGUgaW5ob3VkIGRlXG4gICAgLy8gaG9vZ3RlLXNjcm9sbGVyIGFsc25vZyBpbiBkZSBicmVlZHRlIG9wcmVra2VuLlxuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLy8gR0VFTiBob3Jpem9udGFsZSBwYWRkaW5nIChvbnR3ZXJwLWNvcnJlY3RpZXJvbmRlIDMwLjA3LjIwMjYsIHdhcyBlZXJzdFxuICAgIC8vIG9wdC1pbiB2aWEgaGV0IGByZXN1bHRzLWJsZWVkYC1hdHRyaWJ1dXQg4oCUIG51IGRlIHN0YW5kYWFyZCBpbiBCRUlERVxuICAgIC8vIG1vZGVzLCBkdXMgZGF0IGF0dHJpYnV1dCBpcyB2ZXJ2YWxsZW4sIHppZSBkZSBvcG1lcmtpbmcgYmlqXG4gICAgLy8gLnFzby1zZWN0aW9uLWhlYWRpbmcgaGllcm9uZGVyKS4gRGUgcmlqZW4gbG9wZW4gem8gdG90IGRlIHJhbmQgdmFuIGhldFxuICAgIC8vIHBhbmVlbCBkb29yLCB6b2RhdCBkZSBob3Zlci1hY2h0ZXJncm9uZCBkZSB2b2xsZSBicmVlZHRlIHBha3Qg4oCUIHByZWNpZXNcbiAgICAvLyB6b2FscyBkZSBiZXJpY2h0ZW5saWpzdCBpbiBoZXQgcG9zdHZhaywgZGllIGRlemVsZmRlIG92ZXJsYXkgZ2VicnVpa3QuXG4gICAgLy8gRWxrZSByaWogaG91ZHQgemlqbiBFSUdFTiBiaW5uZW5wYWRkaW5nIChxZG5hcHJvLWxpc3Qtcm93J3MgZWlnZW5cbiAgICAvLyAxNnB4KSwgZHVzIGRlIHRla3N0IGJsaWpmdCBuZXRqZXMgdWl0Z2VsaWpuZDsgYWxsZWVuIGhldCBhYW5yYWFrdmxhayBlblxuICAgIC8vIGRlIGFjaHRlcmdyb25kIHZhbiBlZW4gcmlqIGxvcGVuIGRvb3IgdG90IGRlIHJhbmQuXG4gICAgcGFkZGluZzogMCAwIHZhcigtLXMtNCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tcy0yKTtcbn1cblxuLnFzby1yZWNlbnRzW2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cbi5xc28tcmVjZW50cy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1zLTIpO1xuICAgIHBhZGRpbmc6IHZhcigtLXMtMykgdmFyKC0tcy0yKSB2YXIoLS1zLTEpO1xufVxuXG4ucXNvLXJlY2VudHMtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1tZWRpdW0pO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAvLyBIb3Jpem9udGFsZSBwYWRkaW5nIGhpZXIgcGVybWFuZW50ICh3YXMgb3B0LWluIHZpYSBoZXQgdmVydmFsbGVuXG4gICAgLy8gYHJlc3VsdHMtYmxlZWRgLWF0dHJpYnV1dCwgemllIGRlIG9wbWVya2luZyBiaWogLnFzby1zZWN0aW9uLWhlYWRpbmdcbiAgICAvLyBoaWVyb25kZXIpIOKAlCBhbmRlcnMgcGxha3QgZGUgdGVrc3QgdGVnZW4gZGUgcmFuZCBudSAucXNvLWJvZHkgemVsZlxuICAgIC8vIGdlZW4gaG9yaXpvbnRhbGUgcGFkZGluZyBtZWVyIGhlZWZ0LlxuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcy00KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zLTQpO1xufVxuXG4ucXNvLXJlY2VudHMtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xufVxuXG4ucXNvLXJlc3VsdHMtbGlzdFtoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuLnFzby1yZXN1bHRzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbiAgICAvLyBFbiBoaWVyIG9vaywgem9kYXQgZGUgcmlqZW4gemVsZiBkZSBicmVlZHRlIHZhbiBkZSBsaWpzdCB2b2xnZW4gaW4gcGxhYXRzIHZhblxuICAgIC8vIGRlIGxpanN0IGRlIGJyZWVkdGUgdmFuIGRlIGxhbmdzdGUgcmlqLlxuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLy8gZnVsbC1ibGVlZCByZXN1bHRzIChvbnR3ZXJwLWNvcnJlY3RpZXJvbmRlIDMwLjA3LjIwMjYpOiBkaXQgd2FzIHRvdCBudSB0b2Vcbi8vIG9wdC1pbiB2aWEgZWVuIGByZXN1bHRzLWJsZWVkYC1hdHRyaWJ1dXQgKGAucXNvLW92ZXJsYXlbZGF0YS1yZXN1bHRzLWJsZWVkXWApXG4vLyBvbWRhdCBhbGxlZW4gaGV0IHBvc3R2YWsgaGV0IHdpbGRlIGVuIERvY3VtZW50ZW4gemlqbiB6aWptYXJnZSBoaWVsZC4gSGV0XG4vLyBvbnR3ZXJwIHdpbCBkZSB2b2xsZSBicmVlZHRlIG51IG92ZXJhbCAoQkVJREUgbW9kZXMpIOKAlCB6aWUgLnFzby1ib2R5XG4vLyBoaWVyYm92ZW4sIGRhdCBhdHRyaWJ1dXQgaXMgZHVzIHZlcnZhbGxlbiBlbiBkZSBrb3BwZW4vbGVnZS10ZWtzdCBoaWVyb25kZXJcbi8vIChlbiAucXNvLXJlY2VudHMtaGVhZGluZyBoaWVyYm92ZW4pIGtyaWpnZW4gaHVuIGVpZ2VuIGhvcml6b250YWxlIHBhZGRpbmdcbi8vIHBlcm1hbmVudCBpbiBwbGFhdHMgdmFuIGdhdGVkLiBEZSBrb3BwZW4vbGVnZS10ZWtzdCBzdGFhbiBuaWV0IGluIGVlbiByaWpcbi8vIChkaWUgaGVlZnQgaGFhciBlaWdlbiAxNnB4IGJpbm5lbnBhZGRpbmcsIHppZSBxZG5hcHJvLWxpc3Qtcm93KSBlbiB6b3VkZW5cbi8vIHpvbmRlciBlaWdlbiBwYWRkaW5nIHRlZ2VuIGRlIHJhbmQgcGxha2tlbiDigJQgdmFyKC0tcy00KSA9IDE2cHgsIHpvZGF0IGh1blxuLy8gdGVrc3QgdWl0bGlqbnQgbWV0IGRlIHJpanRla3N0LlxuLnFzby1zZWN0aW9uLWhlYWRpbmcge1xuICAgIHBhZGRpbmc6IHZhcigtLXMtMykgdmFyKC0tcy00KSB2YXIoLS1zLTEpO1xuICAgIC8vIEdld29uZSBzY2hyaWpmd2lqemUsIGdlZW4ga2FwaXRhbGVuIChvbnR3ZXJwLWNvcnJlY3RpZXJvbmRlIDMwLjA3LjIwMjYpOlxuICAgIC8vIGRlIHRla3N0IGtvbXQgdmFuIGRlIGhvc3QgKGB7IGhlYWRpbmcsIGNvdW50IH1gLCB6aWUgcWRuYS1zZWFyY2gtb3ZlcmxheS5qcylcbiAgICAvLyBlbiBtYWcgbmlldCBkb29yIENTUyBuYWFyIGhvb2ZkbGV0dGVycyBnZWR3b25nZW4gd29yZGVuIOKAlCB2ZXJnZWxpamsgZGVcbiAgICAvLyByZWZlcmVudGllIChcIlJlY2VudCBzZWFyY2hlc1wiKSwgbmlldCBcIkJFUklDSFRFTiAoMjMpXCIuXG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1tZWRpdW0pO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtaGVhZGluZyk7XG59XG5cbi5xc28tZW1wdHlbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cbi5xc28tZW1wdHkge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zLTgpIHZhcigtLXMtNCk7XG4gICAgY29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyAtLS0tLS0tLS0tIFwidmlldyBhbGxcIiByb3cgKGdyb3VwaW5nIGNhcCwgMzAuMDcuMjAyNikgLS0tLS0tLS0tLVxuLy8gQSBwbGFpbiBxZG5hcHJvLWxpc3Qtcm93IChzZWUgX2FwcGVuZE1vcmVSb3coKSBpbiBxZG5hLXNlYXJjaC1vdmVybGF5LmpzKSDigJRcbi8vIHJlY29sb3VyZWQgdmlhIGl0cyBvd24gLS1xbHItdGl0bGUtY29sb3IgLyAtLXFsci1jaGV2cm9uLWNvbG9yIGN1c3RvbVxuLy8gcHJvcGVydGllcyAobmV2ZXIgYSBkZWVwZXIgc2VsZWN0b3IgcG9rZSBpbnRvIGl0cyBpbnRlcm5hbHMpIHNvIGl0IHJlYWRzXG4vLyBhcyBhbiBhY3Rpb24gcm93LCBzYW1lIGJyYW5kIGNvbG91ciBhcyB0aGlzIGNvbXBvbmVudCdzIG93biBcIldpc3NlblwiXG4vLyBxZG5hcHJvLXRleHQtbGluayAoY29sb3I9XCJoaWdobGlnaHRcIikuXG4ucXNvLW1vcmUtcm93IHtcbiAgICAtLXFsci10aXRsZS1jb2xvcjogdmFyKC0tYy1wdXJwbGUtaGlnaGxpZ2h0KTtcbiAgICAtLXFsci1jaGV2cm9uLWNvbG9yOiB2YXIoLS1jLXB1cnBsZS1oaWdobGlnaHQpO1xufVxuXG4vLyAtLS0tLS0tLS0tIHJlc3BvbnNpdmU6ID49NjQwcHggY2VudHJlZCBmbG9hdGluZyBzaGVldCAtLS0tLS0tLS0tXG4vLyBTYW1lIGJyZWFrcG9pbnQgKyBjZW50cmluZyBhcHByb2FjaCBhcyBxZG5hcHJvLXVuaXQtY29udGV4dCdzIG93blxuLy8gb3ZlcmxheSAtPiBzaGVldCB0cmFuc2l0aW9uLCB+NTIwcHggd2lkZSAodnMgdW5pdC1jb250ZXh0J3MgNDgwcHgg4oCUXG4vLyBzZWFyY2ggbmVlZHMgYSB0b3VjaCBtb3JlIHJvb20gZm9yIGxvbmdlciByZXN1bHQgdGl0bGVzL3N1YnRpdGxlcykuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAucXNvLW92ZXJsYXkge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tcy02KTtcbiAgICB9XG4gICAgLnFzby1wYW5lbCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiA1MjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgLy8gbm8gcGh5c2ljYWwgbm90Y2ggdG8gY2xlYXIgb25jZSBpdCdzIGEgZmxvYXRpbmcgc2hlZXRcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1jYXJkKTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLSBtb2RlPVwiZHJvcGRvd25cIjogT05FIENBUkQgb24gdG9wIG9mIHRoZSBhbmNob3IgLS0tLS0tLS0tLVxuLy8gU0VDT05EIGRlc2lnbiBjb3JyZWN0aW9uICgzMC4wNy4yMDI2KSDigJQgdGhlIGVhcmxpZXIgXCJ3ZWxkIGEgZmxvYXRpbmcgcGFuZWxcbi8vIHVuZGVyIHRoZSBmaWVsZCwgc3F1YXJlIGl0cyBjb3JuZXJzIG9uIHRoYXQgc2lkZVwiIGFwcHJvYWNoIHdhcyB3cm9uZyBhbmRcbi8vIGhhcyBiZWVuIGZ1bGx5IHJlbW92ZWQgKG5vIG1vcmUgd2VsZGVkIGNvcm5lcnMsIG5vIG1vcmUgbWFya2VyIGF0dHJpYnV0ZSxcbi8vIHNlZSBfaW5wdXQuc2NzcyDigJQgdGhhdCBmaWxlIGhhcyBub3RoaW5nIGRyb3Bkb3duLXJlbGF0ZWQgbGVmdCBhdCBhbGwpLlxuLy9cbi8vIFRoZSBKUyBoYWxmIG9mIHRoaXMgY29udHJhY3QgbGl2ZXMgaW4gcWRuYS1zZWFyY2gtb3ZlcmxheS5qcydzIG9wZW4oKSAvXG4vLyBfcG9zaXRpb25Ecm9wZG93bigpOiBpdCByZWFkcyBPTkxZIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIG9mZiB0aGUgYW5jaG9yXG4vLyAoVklSVFVBTCBBTkNIT1JTIOKAlCBzYW1lIGNvbnRyYWN0IGFzIHFkbmFwcm8tcG9wb3Zlciwgc2VlIHFkbmEtcG9wb3Zlci5qcylcbi8vIGFuZCB3cml0ZXMgbGVmdC90b3Avd2lkdGggYXMgaW5saW5lIHN0eWxlcyBkaXJlY3RseSBvbiBUSElTIGVsZW1lbnQg4oCUXG4vLyAucXNvLW92ZXJsYXkgSVMgdGhlIHBvc2l0aW9uZWQgYm94IGluIGRyb3Bkb3duIG1vZGUsIHRoZXJlIGlzIG5vIHNlcGFyYXRlXG4vLyBiYWNrZHJvcCB0byBzaXplIChkcm9wZG93biBtb2RlIG5ldmVyIHJlbmRlcnMgb25lKS4gVGhlIGNhcmQncyBvd24gZmllbGRcbi8vIHJvdyAoLnFzby1oZWFkZXIpIGdldHMgYW4gZXhwbGljaXQgaW5saW5lIGBoZWlnaHRgIHRvbywgbWF0Y2hlZCB0byB0aGVcbi8vIGFuY2hvcidzIG93biBoZWlnaHQsIHNvIHRoZSBjYXJkIGNvdmVycyB0aGUgYW5jaG9yIGV4YWN0bHksIG5vIHZpc3VhbCBqdW1wLlxuLy9cbi8vIGAhaW1wb3J0YW50YC1mcmVlIG92ZXJyaWRlOiBldmVyeSBwcm9wZXJ0eSB0aGUgPj02NDBweCBtZWRpYSBxdWVyeSBhYm92ZVxuLy8gc2V0cyBvbiAucXNvLW92ZXJsYXkvLnFzby1wYW5lbCBpcyByZS1kZWNsYXJlZCBoZXJlIGF0IGhpZ2hlciBzZWxlY3RvclxuLy8gc3BlY2lmaWNpdHkgKDItNCBjbGFzc2VzIHZzLiBpdHMgMSksIHNvIHRoZSBjYXNjYWRlIGFsd2F5cyBwcmVmZXJzIHRoaXNcbi8vIGJsb2NrIHJlZ2FyZGxlc3Mgb2Ygdmlld3BvcnQgd2lkdGggb3Igc291cmNlIG9yZGVyLiBUaGUgb25lIHByb3BlcnR5IE5PVFxuLy8gb3RoZXJ3aXNlIHJlLWRlY2xhcmVkIGJlbG93IGlzIC5xc28tb3ZlcmxheSdzIG93biBgcGFkZGluZ2Ag4oCUIHJlc2V0XG4vLyBleHBsaWNpdGx5LCBvciB0aGUgPj02NDBweCBydWxlJ3MgdmFyKC0tcy02KSBwYWRkaW5nIHdvdWxkIHN0aWxsIGFwcGx5LlxuLnFzby1vdmVybGF5LnFzby1tb2RlLWRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gYC5xc28tb3ZlcmxheVtoaWRkZW5dYCAoZGlzcGxheTpub25lLCBkZWNsYXJlZCBuZWFyIHRoZSB0b3Agb2YgdGhpcyBmaWxlKVxuLy8gaGFzIHRoZSBTQU1FIHNwZWNpZmljaXR5IGFzIGAucXNvLW92ZXJsYXkucXNvLW1vZGUtZHJvcGRvd25gIChjbGFzcyArXG4vLyBhdHRyaWJ1dGUgdnMuIHR3byBjbGFzc2VzKSDigJQgd2l0aG91dCB0aGlzIGV4cGxpY2l0IHRpZS1icmVha2VyIGF0IGhpZ2hlclxuLy8gc3BlY2lmaWNpdHksIHNvdXJjZSBvcmRlciBhbG9uZSB3b3VsZCBkZWNpZGUsIGFuZCB0aGlzIGZpbGUncyBvd24gbGF0ZXJcbi8vIGRlY2xhcmF0aW9uIHdvdWxkIHdpbiwgbGVhdmluZyBhIENMT1NFRCBkcm9wZG93biBwYW5lbCB2aXNpYmxlLlxuLnFzby1vdmVybGF5LnFzby1tb2RlLWRyb3Bkb3duW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIE9ORSBDQVJEOiBmdWxsIHJhZGl1cywgZnVsbCBzaGFkb3csIGFsbCB0aGUgd2F5IHJvdW5kIOKAlCB0aGlzIGNhcmQgc2l0c1xuLy8gZXhhY3RseSBvbiB0b3Agb2YgdGhlIGFuY2hvcidzIG93biBiYXIgKHdoaWNoIGlzIGxlZnQgZnVsbHkgaW52aXNpYmxlXG4vLyB1bmRlcm5lYXRoIGl0LCBzZWUgdGhlIEpTKSwgc28gdGhlcmUgaXMgbm90aGluZyB0byB3ZWxkIGFuZCBub3RoaW5nIHRvXG4vLyBzcXVhcmUgb2ZmLlxuLy9cbi8vIFRoZSBjYXJkIE1JUlJPUlMgdGhlIGlkbGUgcWRuYXByby1pbnB1dCBpdCBjb3ZlcnMgKEtpbSAzMC4wNy4yMDI2OiBcImdlZWZcbi8vIGhldCBvdmVybGF5IHBhbmVsIGRlemVsZmRlIGJvcmRlciBhbHMgaGV0IGlucHV0ZmllbGQgYWxzIGhpaiBpZGxlIGlzXCIgK1xuLy8gXCJkZXplbGZkZSBjb3JuZXIgcmFkaXVzXCIpLiBIZW5jZSB0aGUgc2FtZSAxcHggZ3JleSBib3JkZXIgYW5kIHRoZSBzYW1lXG4vLyB2YXIoLS1yLTIpIDhweCByYWRpdXMgYXMgYC5xZG5hcHJvLWlucHV0IC5pbnB1dC1maWVsZGAsIE5PVCB0aGUgMTZweFxuLy8gdmFyKC0tci1jYXJkKSBhIGZsb2F0aW5nIGNhcmQgd291bGQgbm9ybWFsbHkgdGFrZTogb3BlbmluZyB0aGUgcGFuZWwgbXVzdFxuLy8gbG9vayBsaWtlIHRoZSBzYW1lIGNvbnRyb2wgZ3Jvd2luZyB0YWxsZXIsIG5vdCBsaWtlIGEgZGlmZmVyZW50IHN1cmZhY2Vcbi8vIGFwcGVhcmluZy4gX2lucHV0LnNjc3Mgd3JpdGVzIHRoYXQgYm9yZGVyIGFzIHRoZSBsaXRlcmFsICNjNGM3Y2M7IHRoZVxuLy8gdG9rZW4gYmVoaW5kIGl0IGlzIC0tYy1ncmV5LTMwMCwgdXNlZCBoZXJlIHNvIHRoZSB0d28gY2Fubm90IGRyaWZ0IGFwYXJ0XG4vLyBzaWxlbnRseS4gS2VlcCB0aGVzZSB0aHJlZSB2YWx1ZXMgaW4gc3RlcCB3aXRoIGAuaW5wdXQtZmllbGRgLlxuLnFzby1vdmVybGF5LnFzby1tb2RlLWRyb3Bkb3duIC5xc28tcGFuZWwge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBwYWRkaW5nLXRvcDogMDsgLy8gbm8gcGh5c2ljYWwgbm90Y2ggdG8gY2xlYXIg4oCUIHRoaXMgaXMgYSBwbGFpbiBmbG9hdGluZyBjYXJkXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1ncmV5LTMwMCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0yKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCk7XG4gICAgLy8gYm9yZGVyLWJveCwgb3IgdGhlIDFweCBib3JkZXIgYWJvdmUgaXMgQURERUQgdG8gdGhlIGFuY2hvciB3aWR0aCB0aGUgSlNcbiAgICAvLyB3cml0ZXMgb24gdGhlIG92ZXJsYXksIG1ha2luZyB0aGUgY2FyZCAycHggd2lkZXIgdGhhbiB0aGUgYmFyIGl0IGNvdmVycy5cbiAgICAvLyBNZWFzdXJlZCBiZWZvcmUvYWZ0ZXIgd2l0aCB0aGUgcGlsbCwgbWFnbmlmaWVyLCBtaWMgYW5kIE5vdmEgYnV0dG9uXG4gICAgLy8gcG9zaXRpb25zOiB3aXRob3V0IHRoaXMgdGhlIHR3byByaWdodC1oYW5kIGJ1dHRvbnMgbGFuZGVkIDJweCBmdXJ0aGVyXG4gICAgLy8gcmlnaHQgdGhlIG1vbWVudCB0aGUgcGFuZWwgb3BlbmVkLiBDbG9zZWQgYW5kIG9wZW4gbm93IG1hdGNoIGV4YWN0bHkuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8vIEZhZGUgKyBzbGlnaHQgdmVydGljYWwgc2V0dGxlIG9ubHkgKG9wYWNpdHkvdHJhbnNmb3JtLCBubyBsYXlvdXRcbiAgICAvLyBwcm9wZXJ0aWVzKSDigJQgcmV1c2VzIC0tcXNvLWR1cmF0aW9uLCBzbyBwcmVmZXJzLXJlZHVjZWQtbW90aW9uIGFib3ZlXG4gICAgLy8gemVyb2VzIHRoaXMgdG9vLCBubyBzZXBhcmF0ZSBtZWRpYSBxdWVyeSBuZWVkZWQgaGVyZS5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbn1cblxuLy8gT3BlbnMgQUJPVkUgdGhlIGFuY2hvciAobm90IGVub3VnaCByb29tIGJlbG93LCBzZWUgX3Bvc2l0aW9uRHJvcGRvd24oKSdzXG4vLyBmbGlwIGxvZ2ljKTogdGhlIGNhcmQncyBmaWVsZCByb3cgbXVzdCBzdGlsbCBsYW5kIGV4YWN0bHkgb24gdGhlIGFuY2hvclxuLy8gKHNhbWUgcmVjdCBpdCBhbHdheXMgY292ZXJzKSwgc28gdGhlIEJPRFkgKHJlY2VudHMvcmVzdWx0cykgaGFzIHRvIHJlbmRlclxuLy8gQUJPVkUgdGhlIGZpZWxkIGluc3RlYWQgb2YgYmVsb3cgaXQg4oCUIGNvbHVtbi1yZXZlcnNlIGZsaXBzIHRoZSB2aXN1YWxcbi8vIG9yZGVyIChoZWFkZXIgbGFzdCBpbiBET00sIGhlYWRlciBsYXN0IGluIHJldmVyc2UtZmxleCBvcmRlciA9IGhlYWRlciBhdFxuLy8gdGhlIEJPVFRPTSBvZiB0aGUgYm94KSB3aXRob3V0IHRvdWNoaW5nIHRoZSBET00gaXRzZWxmLiBfcG9zaXRpb25Ecm9wZG93bigpXG4vLyB0aGVuIHBvc2l0aW9ucyB0aGUgYm94IHNvIGl0cyBCT1RUT00gZWRnZSBsYW5kcyBvbiB0aGUgYW5jaG9yJ3MgYm90dG9tLFxuLy8gd2hpY2ggY29tYmluZWQgd2l0aCB0aGlzIHJldmVyc2VkIG9yZGVyIHB1dHMgdGhlIGhlYWRlciBleGFjdGx5IG92ZXIgdGhlXG4vLyBhbmNob3IncyBvd24gcmVjdCBlaXRoZXIgd2F5LlxuLnFzby1vdmVybGF5LnFzby1tb2RlLWRyb3Bkb3duLnFzby1kcm9wZG93bi1hYm92ZSAucXNvLXBhbmVsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG5cbi5xc28tb3ZlcmxheS5xc28tbW9kZS1kcm9wZG93bi5pcy1vcGVuIC5xc28tcGFuZWwge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vLyBPd24gc2Nyb2xsIGFyZWEgd2l0aCB0aGUgc2hhcmVkIG1pbmltYWwgaG92ZXItcmV2ZWFsIHNjcm9sbGJhciAoc2VlXG4vLyBtb2R1bGVzL19taXhpbnMuc2Nzcykg4oCUIHNjb3BlZCB0byBkcm9wZG93biBtb2RlIG9ubHksIHNvIHRoZSB0YWtlb3ZlclxuLy8gbW9kZSdzIG5hdGl2ZSBzY3JvbGxiYXIgc3RheXMgYnl0ZS1pZGVudGljYWwgdG8gYmVmb3JlIGBtb2RlYCBleGlzdGVkLlxuLnFzby1vdmVybGF5LnFzby1tb2RlLWRyb3Bkb3duIC5xc28tYm9keSB7XG4gICAgQGluY2x1ZGUgcWRuYS1zY3JvbGxiYXI7XG59XG5cbi8vIC0tLS0tLS0tLS0gbW9kZT1cImRyb3Bkb3duXCI6IGNocm9tZWxlc3MgZmllbGQgLS0tLS0tLS0tLVxuLy8gVEhJUkQgZGVzaWduIGNvcnJlY3Rpb24gKDMwLjA3LjIwMjYpLCBHbWFpbC9GcmVlcGlrIHJlZmVyZW5jZTogdGhlIGZpZWxkXG4vLyByb3cgaW5zaWRlIHRoZSBjYXJkIGNhcnJpZXMgTk8gY2hyb21lIG9mIGl0cyBvd24g4oCUIG5vIGJvcmRlciwgbm8gb3duXG4vLyBiYWNrZ3JvdW5kLCBubyBvd24gYm9yZGVyLXJhZGl1cywgbm8gZm9jdXMgcmluZy4gSXQgaXMgYSBwbGFpbiBST1csIG5vdCBhXG4vLyBsaXR0bGUgYm94OyB0aGUgQ0FSRCAoLnFzby1wYW5lbCBhYm92ZSkgaXMgdGhlIG9ubHkgYm9yZGVyL3NoYWRvdy9yYWRpdXMuXG4vLyBUaGUgXCJzY2hlaWRpbmdzbGlqblwiIHVuZGVyIHRoZSByb3cgaXMgdGhlIEVYSVNUSU5HIDxxZG5hcHJvLWRpdmlkZXI+XG4vLyBjb21wb25lbnQgKHNlZSB0aGUgYGRpdmlkZXJgIGxvY2FsIHZhciBpbiBxZG5hLXNlYXJjaC1vdmVybGF5LmpzJ3Ncbi8vIF9idWlsZCgpKSDigJQgbm90IGEgaGFuZC1yb2xsZWQgYm9yZGVyLWJvdHRvbSBvbiAucXNvLWhlYWRlci5cbi8vXG4vLyBGTEFHIChub3QgYSByZWFsIHFkbmFwcm8taW5wdXQgdmFyaWFudCwgc2VlIHRoZSBgbW9kZWAgYXR0cmlidXRlIGRvYydzIG93blxuLy8gQ0hST01FTEVTUyBGSUVMRCBub3RlKTogdGhpcyByZWFjaGVzIGludG8gcWRuYS1pbnB1dC5qcydzIGludGVybmFsXG4vLyBgLmlucHV0LWZpZWxkYCAvIGAuaW5wdXQtZmllbGQtaW5uZXJgIGNsYXNzIG5hbWVzIGZyb20gYSBGT1JFSUdOXG4vLyBzdHlsZXNoZWV0IOKAlCBhbiBvdmVycmlkZSBmcm9tIHRoZSBvdXRzaWRlLiBJdCB3b3JrcyBhbmQgaXMgc2NvcGVkIHRpZ2h0bHlcbi8vIChkcm9wZG93biBtb2RlIG9ubHksIHRha2VvdmVyJ3MgZmllbGQga2VlcHMgaXRzIG5vcm1hbCBib3JkZXJlZCBsb29rXG4vLyB1bnRvdWNoZWQpLCBidXQgYSBwcm9wZXIgYGNocm9tZWxlc3NgL2BiYXJlYCBhdHRyaWJ1dGUgb24gcWRuYXByby1pbnB1dFxuLy8gaXRzZWxmIChzYW1lIGlkaW9tIGFzIHFkbmFwcm8tcG9wb3ZlcidzIG93biBgYmFyZWApIHdvdWxkIGJlIHRoZSBjb3JyZWN0XG4vLyBsb25nLXRlcm0gZml4IOKAlCByZXBvcnRlZCBpbiB0aGUgaGFuZC1vZmYsIG5vdCBzaWxlbnRseSBsZWZ0IGFzIHRoZVxuLy8gcGVybWFuZW50IHNoYXBlIG9mIHRoaXMuXG4vLyBOTyBwYWRkaW5nIGFuZCBOTyBnYXAgb2YgaXRzIG93biBpbiBkcm9wZG93biBtb2RlLiBUaGUgcm93IHVzZWQgdG8gYWRkXG4vLyB2YXIoLS1zLTQpICgxNnB4KSBvbiB0b3Agb2YgdGhlIGlubmVyIGZpZWxkJ3Mgb3duIGBwYWRkaW5nOiAwIDEycHhgLCBzb1xuLy8gdGhlIHBpbGwsIHRoZSBzZWFyY2ggaWNvbiBhbmQgdGhlIG1pYy9Ob3ZhIGJ1dHRvbnMgYWxsIHNoaWZ0ZWQgc2lkZXdheXNcbi8vIHRoZSBtb21lbnQgdGhlIHBhbmVsIG9wZW5lZCAoS2ltIDMwLjA3LjIwMjY6IFwiYWxzIGplIGhldCBvdmVybGF5IHBhbmVsXG4vLyBvcGVudCBkYW4gdmVyc3ByaW5nZW4gZGUga25vcHBlbiAuLi4gaGV0IGlucHV0dmVsZCBpcyBkZSBiYXNpc1wiKS4gV2l0aFxuLy8gYm90aCB6ZXJvZWQsIHRoZSBPTkxZIGhvcml6b250YWwgbWV0cmljcyBpbiBwbGF5IGFyZSB0aGUgb25lcyB0aGUgY292ZXJlZFxuLy8gcWRuYXByby1pbnB1dCBhbHJlYWR5IHVzZXMsIHNvIGNsb3NlZCBhbmQgb3BlbiBsaW5lIHVwIHBpeGVsIGZvciBwaXhlbC5cbi8vIFRoZSBpbmxpbmUgYGhlaWdodGAgdGhlIEpTIHNldHMgKG1hdGNoaW5nIHRoZSBhbmNob3IgcmVjdCkgaGFuZGxlcyB0aGVcbi8vIHZlcnRpY2FsIHNpZGUuIERvIG5vdCByZWludHJvZHVjZSBwYWRkaW5nIGhlcmUuXG4ucXNvLW92ZXJsYXkucXNvLW1vZGUtZHJvcGRvd24gLnFzby1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZ2FwOiAwO1xufVxuXG4ucXNvLW92ZXJsYXkucXNvLW1vZGUtZHJvcGRvd24gLnFzby1oZWFkZXIgLmlucHV0LWZpZWxkIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5xc28tb3ZlcmxheS5xc28tbW9kZS1kcm9wZG93biAucXNvLWhlYWRlciAuaW5wdXQtZmllbGQ6aG92ZXIsXG4ucXNvLW92ZXJsYXkucXNvLW1vZGUtZHJvcGRvd24gLnFzby1oZWFkZXIgLmlucHV0LWZpZWxkOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG4ucXNvLW92ZXJsYXkucXNvLW1vZGUtZHJvcGRvd24gLnFzby1oZWFkZXIgLmlucHV0LWZpZWxkIC5pbnB1dC1maWVsZC1pbm5lciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIC0tLS0tLS0tLS0gc3VyZmFjZT1cImdyZXlcIiAoMzEuMDcuMjAyNikgLS0tLS0tLS0tLVxuLy8gQ2FyZCBiYWNrZ3JvdW5kIGNvbG91ciBPTkxZLCBtb2RlPVwiZHJvcGRvd25cIiBvbmx5IC0gc2VlIHRoZSBgc3VyZmFjZWBcbi8vIGF0dHJpYnV0ZSBkb2MgaW4gcWRuYS1zZWFyY2gtb3ZlcmxheS5qcyBmb3IgdGhlIHdoeSAoS2ltOiBkcm9wcGluZyB0aGlzXG4vLyBzZWFyY2ggYmFyIGludG8gdGhlIFBXQSBpbmJveCdzIHdoaXRlIGFwcC1oZWFkZXIpLiBPbWl0dGluZyBgc3VyZmFjZWAsIG9yXG4vLyBgc3VyZmFjZT1cIndoaXRlXCJgLCBhcHBsaWVzIG5vbmUgb2YgdGhpcyAtIGJ5dGUtaWRlbnRpY2FsIHRvIGJlZm9yZVxuLy8gYHN1cmZhY2VgIGV4aXN0ZWQgKERvY3VtZW50ZW4ncyBleGlzdGluZyB0YWtlb3ZlciBjb25zdW1lciBpcyB1bmFmZmVjdGVkXG4vLyBlaXRoZXIgd2F5LCBzaW5jZSBub25lIG9mIHRoaXMgaXMgc2NvcGVkIHVuZGVyIC5xc28tbW9kZS1kcm9wZG93bikuXG4vL1xuLy8gVGhlIGNocm9tZWxlc3MgZmllbGQgcm93IChzZWUgdGhlIFwiY2hyb21lbGVzcyBmaWVsZFwiIGJsb2NrIGFib3ZlKSBhbHJlYWR5XG4vLyBzZXRzIGl0cyBvd24gYmFja2dyb3VuZCB0byBgdHJhbnNwYXJlbnRgLCBub3QgdG8gdmFyKC0tYy1iZy1jYXJkKSAtIHNvIGl0XG4vLyBhdXRvbWF0aWNhbGx5IGZvbGxvd3MgdGhpcyBjYXJkIGNvbG91ciB0b28sIG5vIGV4dHJhIHJ1bGUgbmVlZGVkIGhlcmUuXG4vLyBDaGVja2VkIGRpcmVjdGx5IGluIHRoaXMgZmlsZTogY29uZmlybWVkLCBub3RoaW5nIGVsc2UgdG8gYWRkLlxuLnFzby1vdmVybGF5LnFzby1tb2RlLWRyb3Bkb3duLnFzby1zdXJmYWNlLWdyZXkgLnFzby1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTEwMCk7XG59XG5cbi8vIERpdmlkZXIgY29udHJhc3QgKDMxLjA3LjIwMjYpOiB0aGUgZGl2aWRlcidzIGRlZmF1bHQgXCJuZXV0cmFsXCIgY29sb3VyXG4vLyAoI2Q5ZGJlYiwgc2VlIF9kaXZpZGVyLnNjc3MpIG1lYXN1cmVzIH4xLjEzOjEgY29udHJhc3QgYWdhaW5zdFxuLy8gdmFyKC0tYy1ncmV5LTEwMCkgKCNlN2U5ZWMpIC0gZG93biBmcm9tIH4xLjM3OjEgYWdhaW5zdCB0aGUgd2hpdGUgY2FyZFxuLy8gKHZhcigtLWMtYmctY2FyZCkpLiBNZWFzdXJlZCB3aXRoIHRoZSBXQ0FHIHJlbGF0aXZlLWx1bWluYW5jZSBmb3JtdWxhXG4vLyAocHl0aG9uMywgbm90IGV5ZWJhbGxlZCkgLSB0aGUgbmVhci13aGl0ZSBsYXZlbmRlciBkaXZpZGVyIGFuZCB0aGVcbi8vIG5lYXItd2hpdGUgZ3JleSBjYXJkIHNpdCB0b28gY2xvc2UgaW4gbGlnaHRuZXNzIHRvIHJlYWQgYXMgYSBsaW5lIGF0IGFsbC5cbi8vIFJlLXBvaW50ZWQgdG8gdmFyKC0tYy1ncmV5LTMwMCkgLSB0aGUgU0FNRSB0b2tlbiB0aGlzIGZpbGUgYWxyZWFkeSB1c2VzIGFcbi8vIGZldyBsaW5lcyB1cCBmb3IgdGhlIGNhcmQncyBvd24gaWRsZSBib3JkZXIsIG5vdCBhIG5ldyBoZXggLSB3aGljaFxuLy8gbWVhc3VyZXMgfjEuMzk6MSBhZ2FpbnN0IGdyZXktMTAwLCBiYWNrIGluIGxpbmUgd2l0aCAobWFyZ2luYWxseSBiZXR0ZXJcbi8vIHRoYW4pIHRoZSBvcmlnaW5hbCB3aGl0ZS1jYXJkIGNvbnRyYXN0LlxuLnFzby1vdmVybGF5LnFzby1tb2RlLWRyb3Bkb3duLnFzby1zdXJmYWNlLWdyZXkgcWRuYXByby1kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktMzAwKTtcbn1cblxuLy8gUmVzdWx0LXJvdyBob3ZlciBjb250cmFzdCAoMzEuMDcuMjAyNik6IHFkbmFwcm8tbGlzdC1yb3cncyBkZWZhdWx0IGhvdmVyXG4vLyBiYWNrZ3JvdW5kICgtLXFsci1iZy1ob3ZlciwgLS1jLWJnLXN1YnRsZS1ob3ZlciAtPiAtLWMtZ3JleS01MCwgI2YwZjFmMilcbi8vIGlzIExJR0hURVIgdGhhbiB2YXIoLS1jLWdyZXktMTAwKSAoI2U3ZTllYyksIHNvIG9uIHRoaXMgc3VyZmFjZSB0aGUgaG92ZXJcbi8vIHN0b3BzIHJlYWRpbmcgYXMgYSBkYXJrZW5pbmcgaGlnaGxpZ2h0IGFuZCBpbnN0ZWFkIGJlY29tZXMgYSBiYXJlbHktdGhlcmVcbi8vIGxpZ2h0ZW5pbmcgb25lIC0gbWVhc3VyZWQgYXQgfjEuMDg6MSBjb250cmFzdCBhZ2FpbnN0IHRoZSBncmV5IGNhcmRcbi8vIChXQ0FHIHJlbGF0aXZlLWx1bWluYW5jZSBmb3JtdWxhLCBweXRob24zKSwgbm90aWNlYWJseSBsb3dlciB0aGFuIHRoZVxuLy8gfjEuMTM6MSBpdCBoYXMgYWdhaW5zdCB0aGUgd2hpdGUgY2FyZCB0b2RheSwgaS5lLiBpdCBnZXRzIGhhcmRlciB0byBzZWUsXG4vLyBub3QgZWFzaWVyIC0gZXhhY3RseSB0aGUgXCJrYW4gb256aWNodGJhYXIgd29yZGVuXCIgcmlzayB0aGlzIHZhcmlhbnQgd2FzXG4vLyBjaGVja2VkIGZvci4gUmUtcG9pbnRlZCB0byB0aGUgZXhpc3RpbmcgdmFyKC0tYy1ncmV5LTIwMCkgdG9rZW4gKGFscmVhZHlcbi8vIHVzZWQgZWxzZXdoZXJlIGluIHRoaXMgbGlicmFyeSdzIHRpbGUgcGFsZXR0ZXMsIG5vIG5ldyBoZXgpIGZvciB+MS4yMToxXG4vLyBhZ2FpbnN0IGdyZXktMTAwIC0gYmV0dGVyIHRoYW4gYm90aCB0aGUgYnJva2VuIGdyZXktb24tZ3JleSB2YWx1ZSBhYm92ZVxuLy8gQU5EIHRoZSBvcmlnaW5hbCB3aGl0ZS1jYXJkIGJhc2VsaW5lLiBUYXJnZXRzIGV2ZXJ5IHFkbmFwcm8tbGlzdC1yb3dcbi8vIHVuZGVyIHRoaXMgc3VyZmFjZSAocmVzdWx0cywgYW5kIHRoZSBcInZpZXcgYWxsXCIgcm93KSAtIGRyb3Bkb3duIG1vZGVcbi8vIG5ldmVyIHJlbmRlcnMgcmVjZW50IHJvd3MgKHNlZSB0aGUgYG1vZGVgIGRvYyksIHNvIHRoZXJlIGlzIG5vdGhpbmcgZWxzZVxuLy8gdG8gY292ZXIuXG4ucXNvLW92ZXJsYXkucXNvLW1vZGUtZHJvcGRvd24ucXNvLXN1cmZhY2UtZ3JleSBxZG5hcHJvLWxpc3Qtcm93IHtcbiAgICAtLXFsci1iZy1ob3ZlcjogdmFyKC0tYy1ncmV5LTIwMCk7XG59XG5cbi8vIOKUgOKUgCBSRUNFTlRFLVJJSkVOOiBydXN0aWdlciAoMzEuMDcuMjAyNiwgS2ltKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIERyaWUga2xhY2h0ZW4sIGRyaWUgcmVnZWxzLiBIYWFyIHdvb3JkZW46IFwiZGUgaWNvbnMgdmFuIGdlc2NoaWVkZW5pcyB6aWpuIGdyaWpzLCBlbiBkZVxuLy8gaG92ZXIgb29rLiBEaWUgaWNvbnMgaG9ldmVuIGdlZW4gZ3JpanplIHN1cmZhY2Ugdm9vciBnZXNjaGllZGVuaXMsIGFsbGVlbiBlZW4gaWNvbiBpc1xuLy8gcHJpbWEuIERpZSB4IGtub3BwZW4gemlqbiBvb2sgem8gaW4geW91ciBmYWNlLlwiXG4vL1xuLy8gRGUgZ3JpanplIFRFR0VMIG9uZGVyIGhldCBpY29vbiBpcyB3ZWcgaW4gZGUgSlMgKHRpbGU9XCJub25lXCIpLCBlbiBkYXQgbG9zdCB0d2VlIGRpbmdlblxuLy8gdGVnZWxpamsgb3A6IGRlIHRlZ2VsIGJvdHN0ZSBtZXQgZGUgZ3JpanplIGhvdmVyLCBlbiBoaWogd2FzIDQwcHgsIHdhYXJkb29yIGRlIHJpaiBvcFxuLy8gNjBweCB1aXRrd2FtLiBab25kZXIgdGVnZWwgdmFsdCBkZSByaWogdGVydWcgb3AgZGUgNDRweCB2YW4gaGV0IGNvbXBvbmVudC5cbi8vXG4vLyBXYXQgaGllciBvdmVyYmxpamZ0IGlzIEtMRVVSIGVuIE1BQVQsIGVuIGRhdCBrYW4gbmlldCBpbiBkZSBKUzpcbi5xc28tcmVjZW50cy1saXN0IHFkbmFwcm8tbGlzdC1yb3cge1xuICAgIC8vIFpvbmRlciB0ZWdlbCBrbGV1cnQgcWRuYXByby1saXN0LXJvdyBoZXQga2FsZSBpY29vbiBtZXJrLXBhYXJzLiBWb29yIGVlblxuICAgIC8vIGdlc2NoaWVkZW5pcy1tYXJrZXIgaXMgZGF0IHRlIHZlZWwgbmFkcnVrOiBoZXQgaXMgZWVuIGFhbmR1aWRpbmcsIGdlZW4gYWN0aWUsIGVuXG4gICAgLy8gb3ZlcmFsIGVsZGVycyAoQ2hyb21lLCBHbWFpbCkgaXMgZGF0IGljb29uIGdyaWpzLiBBbGxlZW4gZGUga2xldXIgdmFuIGhldCBJQ09PTlxuICAgIC8vIHdvcmR0IGhpZXIgZ2V6ZXQsIHZpYSBkZSBjdXN0b20gcHJvcGVydHkgZGllIGhldCBjb21wb25lbnQgZGFhcnZvb3IgaGVlZnQuIEJld3VzdFxuICAgIC8vIE5JRVQgdG9uZT1cIm11dGVkXCI6IGRhdCBtYWFrdCBvb2sgZGUgdGl0ZWwgZ3JpanMsIGVuIGRlIGdlem9jaHRlIHRlcm0gbW9ldCBqdWlzdFxuICAgIC8vIGdld29vbiBsZWVzYmFhciBibGlqdmVuLlxuICAgIC0tcWxyLWJhcmUtaWNvbi1jb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkKTtcbn1cblxuLy8gSGV0IGtydWlzamUgb20gZWVuIHRlcm0gdGUgdmVyZ2V0ZW46IGdyaWpzIGluIHBsYWF0cyB2YW4gYmlqbmEgendhcnQuIERlIE1BQVQgeml0IGluIGRlXG4vLyBKUyAoc2l6ZT1cInNtYWxsXCIpLCB6aWUgZGUgdWl0bGVnIGRhYXIuXG4vL1xuLy8gU3BlY2lmaWNpdGVpdCBuYWdlcmVrZW5kIGVuIG5pZXQgYWFuZ2Vub21lbjogcWRuYXByby1pY29uLWJ0biB6ZXQgemVsZlxuLy8gYC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLXN1YnRsZSB7IGNvbG9yOiAjMGIwYjBkIH1gLCBlbiBkYXQgaXMgKDAsMiwwKS4gRWVuIHNlbGVjdG9yXG4vLyBtZXQgZWVuIGtsYXNzZSBlbiB0d2VlIGVsZW1lbnRuYW1lbiBpcyAoMCwxLDIpIGVuIHZlcmxpZXN0IGR1cywgb29rIGFsIHN0YWF0IGhpaiBsYXRlciBpblxuLy8gaGV0IGJlc3RhbmQuIFZhbmRhYXIgZGUga2xhc3NlIHZhbiBoZXQgY29tcG9uZW50IGVyYmlqOiAoMCwzLDEpIHdpbnQgd2VsLiBEaXQgaXMgcHJlY2llc1xuLy8gZGUgdmFsIHdhYXIgZGUgZWVyc3RlIHBvZ2luZyBpbiBsaWVwIChoZXQga3J1aXNqZSBibGVlZiB6d2FydCwgaW4gZWVuIGhlYWRsZXNzIENocm9tZVxuLy8gZ2VtZXRlbiBvcCByZ2IoMTEsMTEsMTMpKS5cbi5xc28tcmVjZW50cy1saXN0IC5xZG5hcHJvLWxpc3Qtcm93IHFkbmFwcm8taWNvbi1idG4uaWNvbi1idG4tc3VidGxlIHtcbiAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkKTtcbn1cbiIsIi8vIFNDU1Mgc291cmNlIGZvciB0aGUgY29tcG9uZW50cy12MiBidW5kbGUuXG4vLyBQdWxsZWQgaW4gdmlhIHNjc3MvY29tcG9uZW50cy9jb21wb25lbnRzLnNjc3MgYW5kIGNvbXBpbGVkIGludG9cbi8vIHdlYi9jc3MvdjEvc3R5bGUtdjEuY3NzLCB3aGljaCBpcyBhbHNvIHRoZSBzdHlsZXNoZWV0IHRoZSBsaWJyYXJ5IHByZXZpZXdzXG4vLyBsb2FkLiBFZGl0IEhFUkUsIHRoZW4gcnVuIEJPVEggYG5weCBndWxwIHNhc3NgIGFuZCBgbnB4IGd1bHAgc2Fzcy12MWAuXG5cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLWdyZXktMTAwLCAjZTdlOWVjKTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2Utb3V0O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAqLFxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQgKjo6YmVmb3JlLFxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQgKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkOm5vdCgudHJjLWRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTEwMCwgI2U3ZTllYyk7XG4gIH1cbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQuZm9yY2UtaG92ZXI6bm90KC50cmMtZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1ncmV5LTEwMCwgI2U3ZTllYyk7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkOm5vdCgudHJjLWRpc2FibGVkKTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktMjAwLCAjZDFkNWRiKTtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQ6bm90KC50cmMtZGlzYWJsZWQpLmlzLXByZXNzZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktMjAwLCAjZDFkNWRiKTtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQuZm9yY2UtcHJlc3NlZDpub3QoLnRyYy1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXktMjAwLCAjZDFkNWRiKTtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQ6bm90KC50cmMtZGlzYWJsZWQpOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgIzQwNDk5YTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDcwLCA4MiwgMjQzLCAwLjI1KTtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQuZm9yY2UtZm9jdXM6bm90KC50cmMtZGlzYWJsZWQpIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICM0MDQ5OWE7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg3MCwgODIsIDI0MywgMC4yNSk7XG59XG5cbi8qID09PSBNYWluIHJvdyAoZGltcyB0byBvcGFjaXR5IC41IHdoZW4gdGhlIHJ1biBpcyBjb21wbGV0ZWQpID09PSAqL1xuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQgLnRyYy1tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkIC50cmMtbWFpbi1jb21wbGV0ZWQge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkIC50cmMtaWNvbiB7XG4gIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkIC50cmMtdGlsZSB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10cmMtYmcsICNlZWYwZjIpO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAudHJjLWJvZHkge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkIC50cmMtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgY29sb3I6ICM0MDQ5OWE7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkIC50cmMtcHJvamVjdCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6IHZhcigtLWMtZ3JleS05MDAsICMwYjBiMGQpO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAudHJjLW1ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiA0cHggMDtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQgLnRyYy1tZXRhID4gcWRuYXByby1pY29uIHtcbiAgZmxleDogbm9uZTtcbiAgY29sb3I6ICM0MDQ5OWE7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAudHJjLXRpbWUge1xuICBjb2xvcjogI2I1YjViNTtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQgLnRyYy1zdGF0dXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICBjb2xvcjogI2RlNTA2Njtcbn1cblxuLyogPT09IEZvb3RlcnMgPT09ICovXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAudHJjLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlZGVkO1xufVxuXG4vKiBSb3VuZCBzbG90IGluIGZyb250IG9mIHRoZSBsb2NhdGlvbiBob2xkcyB0aGUgT1JHQU5JU0FUSU9OIGxvZ28gKEtpbVxuICAgMjguMDcuMjAyNikuIEVtcHR5IHNsb3Qga2VlcHMgdGhlIG5ldXRyYWwgZ3JleSBjaXJjbGU7IG9uY2UgYSBsb2dvIGlzIHNldFxuICAgdGhlIGNpcmNsZSB0dXJucyB3aGl0ZSwgYmVjYXVzZSBhbiBvcmdhbmlzYXRpb24gbG9nbyBpcyB1c3VhbGx5IGRyYXduIG9uXG4gICB3aGl0ZSBhbmQgYSBncmV5IGRpc2MgYmVoaW5kIGl0IHJlYWRzIGFzIGEgZGlydHkgZWRnZS4gKi9cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkIC50cmMtb3JnLWxvZ28ge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBmbGV4OiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleS0yMDAsICNkMWQ1ZGIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQgLnRyYy1mb290ZXItbG9jYXRpb24taGFzLWxvZ28gLnRyYy1vcmctbG9nbyB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5cbi8qIGNvbnRhaW4sIG5vdCBjb3ZlcjogYSBsb2dvIGlzIHJhcmVseSBzcXVhcmUsIGFuZCBjb3ZlciB3b3VsZCBjcm9wIHRoZVxuICAgc2lkZXMgb2ZmIGEgd2lkZSB3b3JkbWFyay4gTGV0dGVyYm94aW5nIGluc2lkZSB0aGUgY2lyY2xlIGtlZXBzIGl0IHdob2xlLiAqL1xuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQgLnRyYy1vcmctbG9nbyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQgLnRyYy1sb2MtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQgLnRyYy1sb2MtbmFtZSB7XG4gIGNvbG9yOiAjNDA0OTlhO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAudHJjLWxvYy1hZGRyZXNzIHtcbiAgY29sb3I6ICNiNWI1YjU7XG59XG5cbi8qIEFmZGVsaW5nIHZhbiBkZSBjaGVjay1pbjogZGVyZGUgcmVnZWwgSU4gZGUgdGVrc3Rrb2xvbSwgbWV0IGVlbiBrbGVpblxuICAgZ2Vib3V3LWljb29udGplIGVydm9vci4gWmVsZmRlIG9wYm91dyBhbHMgLmFvLWhlYWRlci1wbGFjZS1kZXB0IGluIGRlXG4gICB0YWtlbmxpanN0LWhlYWRlciAoX3B3YS1jdXJyZW50LnNjc3MpLCB6b2RhdCBkZSBrYWFydCBlbiBkZSBoZWFkZXIgZGV6ZWxmZGVcbiAgIHBsYWF0cyArIGFmZGVsaW5nIG9wIGRlemVsZmRlIG1hbmllciBsYXRlbiB6aWVuLiBLbGV1ciBpcyBoaWVyIHdlbCBoZXQgbmF2eVxuICAgdmFuIGRlemUga2FhcnQgKCM0MDQ5OWEsIGdlbGlqayBhYW4gLnRyYy1sb2MtbmFtZSkgaW4gcGxhYXRzIHZhbiBoZXRcbiAgIGhlYWRlci1uYXZ5OiBkZSBoZWFkZXIgc3RhYXQgb3AgZWVuIHBhc3RlbCB2bGFrLCBkZXplIGZvb3RlciBvcCB3aXQuICovXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAudHJjLWxvYy1kZXB0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIG1pbi13aWR0aDogMDtcbiAgbWFyZ2luLXRvcDogM3B4O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAudHJjLWxvYy1kZXB0ID4gcWRuYXByby1pY29uIHtcbiAgZmxleDogbm9uZTtcbiAgY29sb3I6IHJnYmEoNjQsIDczLCAxNTQsIDAuNzUpO1xufVxuXG4vKiBOaWV0IHp3YWFyZGVyIGRhbiBkZSBsb2NhdGllbmFhbSBlcmJvdmVuOiBkZSBhZmRlbGluZyBpcyBlZW4gZGV0YWlsIHZhbiBkZVxuICAgbG9jYXRpZSwgZ2VlbiB0d2VlZGUgdGl0ZWwuICovXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAudHJjLWxvYy1kZXB0LW5hbWUge1xuICBtaW4td2lkdGg6IDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGNvbG9yOiAjNDA0OTlhO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAudHJjLWNoZWNrIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgZmxleDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjNDA0OTlhO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkIC50cmMtY29tcGxldGVkLWxhYmVsIHtcbiAgY29sb3I6ICM0MDQ5OWE7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAudHJjLWNvbXBsZXRlZC10aW1lIHtcbiAgY29sb3I6ICM0MDQ5OWE7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAudHJjLWhpZGUge1xuICBjb2xvcjogIzQwNDk5YTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQgLnRyYy1mb290ZXItdW5zeW5jZWQge1xuICBjb2xvcjogI2VmOGUwMTtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4vKiA9PT0gRGlzYWJsZWQgc3RhdGUgPT09XG4gICBCYWNrZ3JvdW5kIHN0YXlzIHdoaXRlIGFuZCBib3JkZXIgc3RheXMgZ3JleS0xMDAgKGJvdGggZGVsaWJlcmF0ZSwgS2ltXG4gICAyOC4wNy4yMDI2IC0gYSBncmV5IGZpbGwgd291bGQgdmFuaXNoIGFnYWluc3QgdGhlIGxpZ2h0IGdyZXkgcGFnZSkuIFRleHRcbiAgIGdvZXMgdG8gdGhlIGJ1dHRvbiBjb21wb25lbnQncyBkaXNhYmxlZCB0ZXh0IGNvbG91ciBhbmQgdGhlIGFjdGl2aXR5XG4gICBpY29uIGZhZGVzOyBob3ZlciAvIHByZXNzZWQgLyBmb2N1cyBhcmUgc3VwcHJlc3NlZCB2aWEgdGhlIDpub3QoLnRyYy1kaXNhYmxlZClcbiAgIGd1YXJkcyBhYm92ZS4gKi9cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkLnRyYy1kaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZC50cmMtZGlzYWJsZWQgLnRyYy10aWxlIHFkbmFwcm8tYWN0aXZpdHktaWNvbiB7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQudHJjLWRpc2FibGVkIC50cmMtbmFtZSxcbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkLnRyYy1kaXNhYmxlZCAudHJjLXByb2plY3QsXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZC50cmMtZGlzYWJsZWQgLnRyYy10aW1lLFxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQudHJjLWRpc2FibGVkIC50cmMtc3RhdHVzLFxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQudHJjLWRpc2FibGVkIC50cmMtbG9jLW5hbWUsXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZC50cmMtZGlzYWJsZWQgLnRyYy1sb2MtYWRkcmVzcyxcbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkLnRyYy1kaXNhYmxlZCAudHJjLWxvYy1kZXB0LW5hbWUsXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZC50cmMtZGlzYWJsZWQgLnRyYy1jb21wbGV0ZWQtbGFiZWwsXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZC50cmMtZGlzYWJsZWQgLnRyYy1jb21wbGV0ZWQtdGltZSxcbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkLnRyYy1kaXNhYmxlZCAudHJjLWhpZGUsXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZC50cmMtZGlzYWJsZWQgLnRyYy1mb290ZXItdW5zeW5jZWQge1xuICBjb2xvcjogIzg5OGU5OTtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQudHJjLWRpc2FibGVkIC50cmMtbWV0YSA+IHFkbmFwcm8taWNvbixcbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkLnRyYy1kaXNhYmxlZCAudHJjLWxvYy1kZXB0ID4gcWRuYXByby1pY29uIHtcbiAgY29sb3I6ICM4OThlOTk7XG59XG5cbi8qID09PSBDb2xvdXIgcGFsZXR0ZSAocWRuYXByby10YWcgbGlnaHQgcGFzdGVscywgc2FtZSB0b2tlbnMgYXMgcWRuYXByby10YXNrbGlzdC1jYXJkKSA9PT0gKi9cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkLnRyYy1jb2xvci1ncmV5IHtcbiAgLS10cmMtYmc6ICNlZWYwZjI7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkLnRyYy1jb2xvci1yZWQge1xuICAtLXRyYy1iZzogI2ZkZTdlNztcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQudHJjLWNvbG9yLXllbGxvdyB7XG4gIC0tdHJjLWJnOiAjZmRmM2Q2O1xufVxuXG4ucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZC50cmMtY29sb3ItZ3JlZW4ge1xuICAtLXRyYy1iZzogI2UyZmFmMTtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQudHJjLWNvbG9yLWJsdWUge1xuICAtLXRyYy1iZzogI2U2ZWZmOTtcbn1cblxuLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQudHJjLWNvbG9yLWJyaWdodC1ibHVlIHtcbiAgLS10cmMtYmc6ICNkNmUwZjk7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkLnRyYy1jb2xvci1waW5rIHtcbiAgLS10cmMtYmc6ICNmNmUxZTg7XG59XG5cbi5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkLnRyYy1jb2xvci1wdXJwbGUge1xuICAtLXRyYy1iZzogI2ViZTlmYjtcbn1cblxuLyogPT09IERhcmsgbW9kZSAtIGJhc2UgY2FyZCBjaHJvbWUgPT09XG4gICBFeHBsaWNpdCBkYXJrIG92ZXJyaWRlcyAoc3RhbmRhbG9uZSBsaWJyYXJ5IHByZXZpZXcgaGFzIG5vIC0tYy0qIHRva2Vuc1xuICAgc2V0LCBzbyBsaWdodCBmYWxsYmFja3Mgd291bGQgb3RoZXJ3aXNlIHdpbikuIFZhbHVlcyBmb2xsb3cgdGhlIHNhbWVcbiAgIGRhcmsgcGFsZXR0ZSB1c2VkIGFjcm9zcyB0aGUgb3RoZXIgdjIgY29tcG9uZW50czogc3VyZmFjZSAjMmUzMDM2LFxuICAgaG92ZXIgIzQwNDQ0ZCwgcHJlc3NlZCAjNTY1YjY2LCBwcmltYXJ5IHRleHQgI2YwZjFmMiwgbXV0ZWQgI2EwYTRiOCxcbiAgIHN1YnRsZSBib3JkZXIgcmdiYSgyNTUsMjU1LDI1NSwwLjEwKS4gKi9cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkIHtcbiAgYmFja2dyb3VuZDogIzJlMzAzNjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkIC50cmMtbmFtZSB7XG4gIGNvbG9yOiAjYzdjY2U4O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZCAudHJjLXByb2plY3Qge1xuICBjb2xvcjogI2YwZjFmMjtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQgLnRyYy10aW1lIHtcbiAgY29sb3I6ICNhMGE0Yjg7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkIC50cmMtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBbZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZDpub3QoLnRyYy1kaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM0MDQ0NGQ7XG4gIH1cbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQuZm9yY2UtaG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNDA0NDRkO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZDpub3QoLnRyYy1kaXNhYmxlZCk6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzU2NWI2Njtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQ6bm90KC50cmMtZGlzYWJsZWQpLmlzLXByZXNzZWQge1xuICBiYWNrZ3JvdW5kOiAjNTY1YjY2O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZC5mb3JjZS1wcmVzc2VkIHtcbiAgYmFja2dyb3VuZDogIzU2NWI2Njtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQudHJjLWNvbG9yLWdyZXkge1xuICAtLXRyYy1iZzogIzQwNDQ0ZDtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQudHJjLWNvbG9yLXJlZCB7XG4gIC0tdHJjLWJnOiAjNWEyYjJiO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZC50cmMtY29sb3IteWVsbG93IHtcbiAgLS10cmMtYmc6ICM1YTRkMWY7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5xZG5hcHJvLXRhc2tsaXN0LXJ1bi1jYXJkLnRyYy1jb2xvci1ncmVlbiB7XG4gIC0tdHJjLWJnOiAjMmE1NTQ0O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZC50cmMtY29sb3ItYmx1ZSB7XG4gIC0tdHJjLWJnOiAjMmUzZTU0O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAucWRuYXByby10YXNrbGlzdC1ydW4tY2FyZC50cmMtY29sb3ItYnJpZ2h0LWJsdWUge1xuICAtLXRyYy1iZzogIzNhNGE4YTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQudHJjLWNvbG9yLXBpbmsge1xuICAtLXRyYy1iZzogIzRlMmEzNjtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLnFkbmFwcm8tdGFza2xpc3QtcnVuLWNhcmQudHJjLWNvbG9yLXB1cnBsZSB7XG4gIC0tdHJjLWJnOiAjM2EzNTU1O1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1zZWxlY3Rpb24tYmFyICsgcWRuYXByby1zZWxlY3Rpb24tYmFyLWJ0blxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgRml4ZWQgYmFyIGF0IHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbiwgc2hvd24gd2hpbGUgdGhlIHVzZXIgaXMgaW5cbi8vICBzZWxlY3Rpb24gbW9kZS4gT25lIGJ1dHRvbiBwZXIgYWN0aW9uOiBNREkgZ2x5cGggd2l0aCBpdHMgd29yZFxuLy8gIGRpcmVjdGx5IHVuZGVybmVhdGguXG4vL1xuLy8gIEJvdHRvbS1vZi1zY3JlZW4gY291bnRlcnBhcnQgb2YgcWRuYXByby1hcHAtaGVhZGVyIG1vZGU9XCJzZWxlY3Rpb25cIi5cbi8vICBUaGUgY291bnQgKFwiMyBzZWxlY3RlZFwiKSBsaXZlcyBpbiB0aGF0IGhlYWRlciwgbmV2ZXIgaGVyZS5cbi8vXG4vLyAgREVMSUJFUkFURUxZIFBMQUlOIENTUy4gVGhpcyBmaWxlIGNvbnRhaW5zIE5PIFNDU1MgdmFyaWFibGVzICgkbmFtZTopXG4vLyAgYW5kIE5PIG5lc3RlZCAmIHNlbGVjdG9ycywgb24gcHVycG9zZTogYSBjb21wb25lbnQgd2hvc2Ugc3R5bGVzaGVldFxuLy8gIG5lZWRzIHJlYWwgU0NTUyBjb21waWxhdGlvbiBtdXN0IGJlIGZsYWdnZWQgYXMgY29tcGlsZVNjc3Mgd2hlbiBpdCBpc1xuLy8gIHN5bmNlZCB0byB0aGUgUFdBLCBhbmQgYSBtaXNzZWQgZmxhZyBsZWFrcyB0aGUgdmFyaWFibGUgbmFtZSBzdHJhaWdodFxuLy8gIGludG8gdGhlIENTUywgd2hpY2ggaW52YWxpZGF0ZXMgdGhlIHJ1bGUgQU5EIHRocm93cyBhd2F5IHRoZSBydWxlXG4vLyAgYWZ0ZXIgaXQuIEV2ZXJ5dGhpbmcgaGVyZSBpcyB0aGVyZWZvcmUgY3VzdG9tIHByb3BlcnRpZXMgKyBmbGF0XG4vLyAgc2VsZWN0b3JzLCB3aGljaCBpcyBieXRlLWZvci1ieXRlIHZhbGlkIENTUyBlaXRoZXIgd2F5LlxuLy9cbi8vICBUb2tlbnMgY29uc3VtZWQgKGZyb20gZGVzaWduLXRva2Vucy9fZGVzaWduLXRva2Vucy5zY3NzKTpcbi8vICAgIC0tYy1iZy1jYXJkICAgICAgICAgICAgICAgYmFyIGJhY2tncm91bmQgKGF1dG8tZmxpcHMgaW4gZGFyayBtb2RlKVxuLy8gICAgLS1jLWJvcmRlci1zb2Z0LTIgICAgICAgICBoYWlybGluZSBvbiB0b3AgLyBjYXJkIGJvcmRlclxuLy8gICAgLS1jLXRleHQtYm9keSAgICAgICAgICAgICBhY3RpdmUvaG92ZXIgZ2x5cGggKyBsYWJlbCBjb2xvdXJcbi8vICAgIC0tYy10ZXh0LW11dGVkICAgICAgICAgICAgaWRsZSBnbHlwaCArIGxhYmVsIGNvbG91clxuLy8gICAgLS1jLXRleHQtZGlzYWJsZWQgICAgICAgICBkaXNhYmxlZCBidXR0b25cbi8vICAgIC0tYy1zaWduYWwtcmVkLXRleHQgICAgICAgZGFuZ2VyIHRvbmUgKGxpZ2h0KVxuLy8gICAgLS1jLXdhcm4tcmVkLTQwMCAgICAgICAgICBkYW5nZXIgdG9uZSAoZGFyaylcbi8vICAgIC0tYy1iZy1zdWJ0bGUtaG92ZXIgICAgICAgaG92ZXIgYmFja2dyb3VuZFxuLy8gICAgLS1jLWJnLXN1YnRsZS1wcmVzcyAgICAgICBwcmVzc2VkIGJhY2tncm91bmQgKHdhcyBsaWNodHBhYXJzIHRvdCAyOS4wNy4yMDI2KVxuLy8gICAgLS1mb2N1cy1yaW5nICAgICAgICAgICAgICBrZXlib2FyZCBmb2N1cyBvdXRsaW5lXG4vLyAgICAtLXItMiAvIC0tci00ICAgICAgICAgICAgIHJhZGlpXG4vLyAgICAtLWZmIC8gLS1mdy1tZWRpdW0gICAgICAgIHR5cG9ncmFwaHlcbi8vXG4vLyAgVGFwIHRhcmdldCA6IGV2ZXJ5IGJ1dHRvbiBpcyBtaW4taGVpZ2h0IDQ0cHggKEFwcGxlIEhJRyBtaW5pbXVtKS5cbi8vICBTYWZlIGFyZWEgIDogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pIGlzIHJlc2VydmVkIElOU0lERSB0aGUgYmFyLFxuLy8gICAgICAgICAgICAgICBleGFjdGx5IGxpa2UgcWRuYXByby1ib3R0b20tbmF2IGRvZXMgaXQsIGJ1dCByZWR1Y2VkIGJ5XG4vLyAgICAgICAgICAgICAgIHdoYXRldmVyIC0tcXNiLWJvdHRvbS1vZmZzZXQgKCsgdGhlIGZsb2F0aW5nIGxpZnQpXG4vLyAgICAgICAgICAgICAgIGFscmVhZHkgcmFpc2VzIHRoZSBiYXIuIFNpdHRpbmcgb24gdG9wIG9mIHRoZSBib3R0b20tbmF2XG4vLyAgICAgICAgICAgICAgIHRoZXJlZm9yZSBkb2VzIG5vdCByZXNlcnZlIHRoZSBob21lLWluZGljYXRvciBzdHJpcCB0d2ljZS5cbi8vXG4vLyAgTm8gbWVkaWEgcXVlcmllcyBvbiBwdXJwb3NlOiB0aGUgYmFyIG11c3Qgc3Vydml2ZSBhIDM2MHB4IHBob25lLCBhbmRcbi8vICBhIHZpZXdwb3J0LWJhc2VkIGJyZWFrcG9pbnQgd291bGQgc2lsZW50bHkgY2hhbmdlIHRoZSB0eXBlIHNpemUgaW4gYVxuLy8gIG5hcnJvdyBjb250YWluZXIgaW5zaWRlIGEgd2lkZSB3aW5kb3cgKHdoaWNoIGlzIGV4YWN0bHkgdGhlIHNpdHVhdGlvblxuLy8gIGluIHRoZSBsaWJyYXJ5IHByZXZpZXcpLiBPbmUgc2l6ZSBldmVyeXdoZXJlLCBob25lc3QgZXZlcnl3aGVyZS5cbi8vICBXaWRlIHNjcmVlbnMgYXJlIGhhbmRsZWQgYnkgY2FwcGluZyBlYWNoIGJ1dHRvbiBhdCAtLXFzYi1idG4tbWF4IGFuZFxuLy8gIGNlbnRyaW5nIHRoZSByb3csIHNvIHRoZSBidXR0b25zIG5ldmVyIHN0cmV0Y2ggYWNyb3NzIGEgbGFwdG9wLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5xZG5hcHJvLXNlbGVjdGlvbi1iYXIge1xuICAgIC0tcXNiLWJnOiAgICAgICAgICAgIHZhcigtLWMtYmctY2FyZCwgI2ZmZmZmZik7XG4gICAgLS1xc2ItYm9yZGVyOiAgICAgICAgdmFyKC0tYy1ib3JkZXItc29mdC0yLCAjZTZlOWVmKTtcbiAgICAtLXFzYi1mZzogICAgICAgICAgICB2YXIoLS1jLXRleHQtYm9keSwgIzBiMGIwZCk7XG4gICAgLS1xc2ItZmctaWRsZTogICAgICAgdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbiAgICAtLXFzYi1mZy1kaXNhYmxlZDogICB2YXIoLS1jLXRleHQtZGlzYWJsZWQsICM4OThlOTkpO1xuICAgIC0tcXNiLWZnLWRhbmdlcjogICAgIHZhcigtLWMtc2lnbmFsLXJlZC10ZXh0LCAjYzY1YTVhKTtcbiAgICAtLXFzYi1ob3Zlci1iZzogICAgICB2YXIoLS1jLWJnLXN1YnRsZS1ob3ZlciwgI2YwZjFmMik7XG4gICAgLy8gS2ltIDI5LjA3LjIwMjYsIG5hIGRlIGVlcnN0ZSB0b2VzdGVsdGVzdDogZGUgaW5nZWRydWt0LWtsZXVyIHdhc1xuICAgIC8vIGxpY2h0cGFhcnMgZW4gZGF0IHdpbCB6ZSBuaWV0IG9wIGRlemUgYmFsay4gTnUgZWVuIG5ldXRyYWFsIGdyaWpzLCBoZXR6ZWxmZGVcbiAgICAvLyBncmlqcyBhbHMgZGUgendlZWYtc3RhYXQsIHpvZGF0IGRlIGJhbGsgaW4gZWxrZSB0b2VzdGFuZCB3aXQgbWV0IGdyaWpzIGlzIGVuXG4gICAgLy8gbm9vaXQgcGFhcnMgb3BsaWNodC4gRGUgZ2V2YWFyLXRvb24gaG91ZHQgemlqbiBlaWdlbiByb2RlIGluZ2VkcnVrdC1rbGV1ci5cbiAgICAtLXFzYi1wcmVzcy1iZzogICAgICB2YXIoLS1jLWJnLXN1YnRsZS1wcmVzcywgI2U3ZTllYyk7XG5cbiAgICAvLyBweCBkaXN0YW5jZSB0byB0aGUgYm90dG9tIGVkZ2Ugb2YgdGhlIHZpZXdwb3J0LiBSYWlzZWQgYnkgdGhlIGhvc3RcbiAgICAvLyB3aGVuIGEgcGVybWFuZW50IGJvdHRvbSBiYXIgKHFkbmFwcm8tYm90dG9tLW5hdiwgNjBweCkgc2l0cyBiZWxvdy5cbiAgICAtLXFzYi1ib3R0b20tb2Zmc2V0OiAwcHg7XG4gICAgLy8gRXh0cmEgYWlyIHVuZGVyIHRoZSBiYXIuIDAgZm9yIGZsYXQsIDEycHggZm9yIHRoZSBmbG9hdGluZyBjYXJkLlxuICAgIC0tcXNiLWxpZnQ6ICAgICAgICAgIDBweDtcblxuICAgIC0tcXNiLXBhZC15OiAgICAgICAgIDZweDtcbiAgICAtLXFzYi1wYWQteDogICAgICAgICA0cHg7XG4gICAgLS1xc2ItYnRuLW1heDogICAgICAgMTQwcHg7XG4gICAgLS1xc2ItbGFiZWwtc2l6ZTogICAgMTFweDtcbiAgICAtLXFzYi1nYXA6ICAgICAgICAgICAycHg7XG5cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IGNhbGModmFyKC0tcXNiLWJvdHRvbS1vZmZzZXQpICsgdmFyKC0tcXNiLWxpZnQpKTtcbiAgICAvLyBPbmUgYmVsb3cgcWRuYXByby1ib3R0b20tbmF2ICgxMDApIG9uIHB1cnBvc2U6IGlmIHRoZSB0d28gZXZlciBkb1xuICAgIC8vIG92ZXJsYXAsIHRoZSBwZXJtYW5lbnQgbmF2aWdhdGlvbiBtdXN0IHN0YXkgcmVhZGFibGUuXG4gICAgei1pbmRleDogOTk7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgcGFkZGluZzogdmFyKC0tcXNiLXBhZC15KSB2YXIoLS1xc2ItcGFkLXgpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKFxuICAgICAgICB2YXIoLS1xc2ItcGFkLXkpICtcbiAgICAgICAgbWF4KDBweCwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkgLSB2YXIoLS1xc2ItYm90dG9tLW9mZnNldCkgLSB2YXIoLS1xc2ItbGlmdCkpXG4gICAgKTtcblxuICAgIGJhY2tncm91bmQ6IHZhcigtLXFzYi1iZyk7XG4gICAgY29sb3I6IHZhcigtLXFzYi1mZyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZmLCBcIkludGVyXCIsIHNhbnMtc2VyaWYpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5xZG5hcHJvLXNlbGVjdGlvbi1iYXIgKixcbi5xZG5hcHJvLXNlbGVjdGlvbi1iYXIgKjo6YmVmb3JlLFxuLnFkbmFwcm8tc2VsZWN0aW9uLWJhciAqOjphZnRlciB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLy8gVGhlIGNvbXBvbmVudCdzIG93biBkaXNwbGF5OmZsZXggaXMgbW9yZSBzcGVjaWZpYyB0aGFuIHRoZSBicm93c2VyJ3Ncbi8vIGRlZmF1bHQgW2hpZGRlbl0gcnVsZSwgc28gd2l0aG91dCB0aGlzIHRoZSBob3N0J3MgYGhpZGRlbmAgd291bGQgZG9cbi8vIG5vdGhpbmcgYXQgYWxsLiBUaGlzIGlzIGhvdyBhIGhvc3Qgc2hvd3MgYW5kIGhpZGVzIHRoZSBiYXIuXG4ucWRuYXByby1zZWxlY3Rpb24tYmFyW2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIHZhcmlhbnQ9XCJmbGF0XCIgKERFRkFVTFQpIC0gZnVsbCB3aWR0aCwgYWdhaW5zdCB0aGUgYm90dG9tIGVkZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnFkbmFwcm8tc2VsZWN0aW9uLWJhcltkYXRhLXZhcmlhbnQ9XCJmbGF0XCJdIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcXNiLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiAwIC0ycHggMTZweCByZ2JhKDIwLCAyNSwgODAsIDAuMTApO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICB2YXJpYW50PVwiZmxvYXRpbmdcIiAtIGNhcmQgd2l0aCBhaXIgYXJvdW5kIGl0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5xZG5hcHJvLXNlbGVjdGlvbi1iYXJbZGF0YS12YXJpYW50PVwiZmxvYXRpbmdcIl0ge1xuICAgIC0tcXNiLWxpZnQ6IDEycHg7XG4gICAgLS1xc2ItcGFkLXg6IDZweDtcblxuICAgIGxlZnQ6IDEycHg7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1xc2ItYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLTQsIDE2cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgyMCwgMjUsIDgwLCAwLjE4KTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5xZG5hcHJvLXNlbGVjdGlvbi1iYXItYnRuIHtcbiAgICAvLyBFcXVhbCBzaGFyZSBvZiB0aGUgcm93OiAzIGJ1dHRvbnMgZmlsbCB0aGUgYmFyIGp1c3QgYXMgZXZlbmx5IGFzIDQsXG4gICAgLy8gc28gYSBob3N0IHRoYXQgb21pdHMgYSBidXR0b24gbGVhdmVzIG5vIGdhcCBiZWhpbmQuXG4gICAgZmxleDogMSAxIDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC13aWR0aDogdmFyKC0tcXNiLWJ0bi1tYXgpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tcXNiLWdhcCk7XG5cbiAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgIHBhZGRpbmc6IDRweCAycHg7XG5cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci0yLCA4cHgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICAgY29sb3I6IHZhcigtLXFzYi1mZy1pZGxlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0LCBjb2xvciAxMjBtcyBlYXNlLW91dDtcbn1cblxuLnFkbmFwcm8tc2VsZWN0aW9uLWJhci1idG4gLnFzYi1idG5fX2ljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG5cbi5xZG5hcHJvLXNlbGVjdGlvbi1iYXItYnRuIC5xc2ItYnRuX19pY29uIHFkbmFwcm8taWNvbixcbi5xZG5hcHJvLXNlbGVjdGlvbi1iYXItYnRuIC5xc2ItYnRuX19pY29uIHN2ZyB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnFkbmFwcm8tc2VsZWN0aW9uLWJhci1idG4gLnFzYi1idG5fX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1xc2ItbGFiZWwtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LW1lZGl1bSwgNTAwKTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvLyBFbGxpcHNpcyBpcyB0aGUgbGFzdC1yZXNvcnQgc2FmZXR5IG5ldCBvbmx5LiBWZXJpZmllZCB0byBiZVxuICAgIC8vIHVubmVjZXNzYXJ5IGF0IHRoZSBjYXNlIHdlIG11c3Qgc3VwcG9ydDogNCBidXR0b25zIG9uIDM2MHB4IGdpdmVzXG4gICAgLy8gZWFjaCBidXR0b24gOTBweCwgYW5kIHRoZSBsb25nZXN0IER1dGNoIHdvcmQgaW4gdGhlIGluYm94IHNldFxuICAgIC8vIChcIlZlcndpamRlcmVuXCIpIGlzIGFib3V0IDY2cHggYXQgMTFweCBJbnRlciBNZWRpdW0uIEl0IERPRVMga2ljayBpblxuICAgIC8vIGF0IDUgYnV0dG9ucyBvbiAzNjBweCwgd2hlcmUgZWFjaCBidXR0b24gb25seSBnZXRzIDcycHguXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBTdGF0ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAucWRuYXByby1zZWxlY3Rpb24tYmFyLWJ0bjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXFzYi1ob3Zlci1iZyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1xc2ItZmcpO1xuICAgIH1cbn1cblxuLnFkbmFwcm8tc2VsZWN0aW9uLWJhci1idG5bZGF0YS1wcmVzc2luZz1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXFzYi1wcmVzcy1iZyk7XG4gICAgY29sb3I6IHZhcigtLXFzYi1mZyk7XG59XG5cbi5xZG5hcHJvLXNlbGVjdGlvbi1iYXItYnRuOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1mb2N1cy1yaW5nLCAjNDA0OTlhKTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLy8gdG9uZT1cImRhbmdlclwiIC0gZGVzdHJ1Y3RpdmUgYWN0aW9uIChkZWxldGUpLiBUb2tlbiBvbmx5LCBuZXZlciBhIGhleC5cbi5xZG5hcHJvLXNlbGVjdGlvbi1iYXItYnRuW2RhdGEtdG9uZT1cImRhbmdlclwiXSB7XG4gICAgY29sb3I6IHZhcigtLXFzYi1mZy1kYW5nZXIpO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5xZG5hcHJvLXNlbGVjdGlvbi1iYXItYnRuW2RhdGEtdG9uZT1cImRhbmdlclwiXTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtc2lnbmFsLXJlZC1zb2Z0LCAjZmZmMGYwKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXFzYi1mZy1kYW5nZXIpO1xuICAgIH1cbn1cblxuLnFkbmFwcm8tc2VsZWN0aW9uLWJhci1idG5bZGF0YS10b25lPVwiZGFuZ2VyXCJdW2RhdGEtcHJlc3Npbmc9XCJ0cnVlXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXNpZ25hbC1yZWQtYmcsICNmZWUzZTMpO1xuICAgIGNvbG9yOiB2YXIoLS1xc2ItZmctZGFuZ2VyKTtcbn1cblxuLy8gZGlzYWJsZWQgLSB2aXNpYmxlLCBkaW1tZWQsIG5vdCB0YXBwYWJsZS4gQW5ub3VuY2VkIHZpYSBhcmlhLWRpc2FibGVkXG4vLyBmcm9tIHRoZSBKUzsgcG9pbnRlci1ldmVudHMga2VlcHMgYSBzdHJheSB0YXAgZnJvbSByZWFjaGluZyBpdC5cbi5xZG5hcHJvLXNlbGVjdGlvbi1iYXItYnRuW2RhdGEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgICBjb2xvcjogdmFyKC0tcXNiLWZnLWRpc2FibGVkKTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5xZG5hcHJvLXNlbGVjdGlvbi1iYXItYnRuW2RhdGEtZGlzYWJsZWQ9XCJ0cnVlXCJdW2RhdGEtdG9uZT1cImRhbmdlclwiXSB7XG4gICAgY29sb3I6IHZhcigtLXFzYi1mZy1kaXNhYmxlZCk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIERhcmsgbW9kZSAtIHRoZSAtLWMtKiB0b2tlbnMgZmxpcCB0aGVtc2VsdmVzOyBvbmx5IHRoZSB0d29cbi8vICBoYW5kLXBpY2tlZCB2YWx1ZXMgbmVlZCBhIGRhcmsgY291bnRlcnBhcnQuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbltkYXRhLXRoZW1lLWRhcmtdIC5xZG5hcHJvLXNlbGVjdGlvbi1iYXIsXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tc2VsZWN0aW9uLWJhcixcbmJvZHlbZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tc2VsZWN0aW9uLWJhciB7XG4gICAgLS1xc2ItZmctZGFuZ2VyOiB2YXIoLS1jLXdhcm4tcmVkLTQwMCwgI2Y4NzE3MSk7XG59XG5cbltkYXRhLXRoZW1lLWRhcmtdIC5xZG5hcHJvLXNlbGVjdGlvbi1iYXJbZGF0YS12YXJpYW50PVwiZmxhdFwiXSxcbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1zZWxlY3Rpb24tYmFyW2RhdGEtdmFyaWFudD1cImZsYXRcIl0sXG5ib2R5W2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXNlbGVjdGlvbi1iYXJbZGF0YS12YXJpYW50PVwiZmxhdFwiXSB7XG4gICAgYm94LXNoYWRvdzogMCAtMnB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbn1cblxuW2RhdGEtdGhlbWUtZGFya10gLnFkbmFwcm8tc2VsZWN0aW9uLWJhcltkYXRhLXZhcmlhbnQ9XCJmbG9hdGluZ1wiXSxcbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1zZWxlY3Rpb24tYmFyW2RhdGEtdmFyaWFudD1cImZsb2F0aW5nXCJdLFxuYm9keVtkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1zZWxlY3Rpb24tYmFyW2RhdGEtdmFyaWFudD1cImZsb2F0aW5nXCJdIHtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC41MCk7XG59XG5cbltkYXRhLXRoZW1lLWRhcmtdIC5xZG5hcHJvLXNlbGVjdGlvbi1iYXItYnRuW2RhdGEtdG9uZT1cImRhbmdlclwiXVtkYXRhLXByZXNzaW5nPVwidHJ1ZVwiXSxcbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby1zZWxlY3Rpb24tYmFyLWJ0bltkYXRhLXRvbmU9XCJkYW5nZXJcIl1bZGF0YS1wcmVzc2luZz1cInRydWVcIl0sXG5ib2R5W2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXNlbGVjdGlvbi1iYXItYnRuW2RhdGEtdG9uZT1cImRhbmdlclwiXVtkYXRhLXByZXNzaW5nPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDgsIDExMywgMTEzLCAwLjE2KTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAucWRuYXByby1zZWxlY3Rpb24tYmFyLWJ0biB7IHRyYW5zaXRpb246IG5vbmU7IH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgU0xJREUgSU4gRlJPTSBCRUxPVyBUSEUgU0NSRUVOXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBLaW0gMjkuMDcuMjAyNjogXCJrdW5uZW4gd2UgaGVtIHZhbiBvbmRlcmluIG5hYXIgYm92ZW4gbGF0ZW4gaW5zbGlkZW4sIHZhbm9uZGVyXG4vLyAgaGV0IHNjaGVybSwgem9kYXQgamUgZWNodCBtZXQgamUgb29nIHppZXQgZGF0IGhpaiBpbiBrb210IGFuaW1lcmVuIGluIHBsYWF0cyB2YW5cbi8vICBkYXQgaGlqIGVyIGluZWVucyBzdGFhdFwiLlxuLy9cbi8vICBUaGUgSlMgcGFya3MgYSBmcmVzaGx5IGNyZWF0ZWQgYmFyIHdpdGggZGF0YS1lbnRlcmluZyBhbmQgZHJvcHMgdGhhdCBmbGFnIG9uIHRoZVxuLy8gIG5leHQgZnJhbWUgKHNlZSBxZG5hLXNlbGVjdGlvbi1iYXIuanMgZm9yIHdoeSBvbmUgZnJhbWUgaXMgcmVxdWlyZWQpLiAxMjAlIHJhdGhlclxuLy8gIHRoYW4gMTAwJSBzbyB0aGUgc2hhZG93IGNsZWFycyB0aGUgc2NyZWVuIGVkZ2UgdG9vIGFuZCB5b3UgbmV2ZXIgc2VlIGEgZ3JleSBiYW5kXG4vLyAgaGFuZ2luZyBiZWxvdyB0aGUgYmFyIGF0IHRoZSBzdGFydC5cbi8vXG4vLyAgT25seSB0aGUgdHJhbnNmb3JtIGlzIGFuaW1hdGVkLCBuZXZlciBgYm90dG9tYCBvciBgaGVpZ2h0YDogdHJhbnNmb3JtIGlzIGNvbXBvc2l0ZWRcbi8vICBhbmQgZG9lcyBub3QgZm9yY2UgbGF5b3V0IG9uIGV2ZXJ5IGZyYW1lLCB3aGljaCBtYXR0ZXJzIG9uIHRoZSBwaG9uZSB0aGlzIGJhciBpc1xuLy8gIGRlc2lnbmVkIGZvci5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnFkbmFwcm8tc2VsZWN0aW9uLWJhciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI2MG1zIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4ucWRuYXByby1zZWxlY3Rpb24tYmFyW2RhdGEtZW50ZXJpbmc9XCJ0cnVlXCJdIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwJSk7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLy8gTm8gbW92ZW1lbnQgYXQgYWxsIGZvciBhbnlvbmUgd2hvIGFza2VkIG5vdCB0byBoYXZlIGl0LiBUaGUgYmFyIHN0aWxsXG4gICAgLy8gYXBwZWFycywgaXQganVzdCBhcHBlYXJzIGluIHBsYWNlOyB0aGUgSlMgcGF0aCBpcyBpZGVudGljYWwuXG4gICAgLnFkbmFwcm8tc2VsZWN0aW9uLWJhciB7IHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAucWRuYXByby1zZWxlY3Rpb24tYmFyW2RhdGEtZW50ZXJpbmc9XCJ0cnVlXCJdIHsgdHJhbnNmb3JtOiBub25lOyB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIGNvbG9yPVwicHVycGxlXCIgLSBsaWdodC1wdXJwbGUgc3VyZmFjZSB3aXRoIHB1cnBsZSBnbHlwaHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEtpbSdzIHRva2VucywgMjkuMDcuMjAyNiwgbGV0dGVybGlqayB6b2FscyBvcGdlZ2V2ZW46XG4vLyAgICAgU3VyZmFjZTogdmFyKC0tYy1iZy1zZWNvbmRhcnktcHVycGxlKVxuLy8gICAgIEJvcmRlciA6IHZhcigtLWMtc2lkZWJhci1pY29uKVxuLy8gICAgIGljb25zICA6IHZhcigtLWMtcHVycGxlLTUwMClcbi8vXG4vLyAgTGl2ZXMgSEVSRSBhbmQgbm90IGluIGEgY29uc3VtZXIncyBwYWdlIENTUywgYmVjYXVzZSBLaW0gYXNrZWQgZm9yIGV4YWN0bHkgdGhhdDpcbi8vICBcImt1bm5lbiB3ZSBkaXQgbWVudSBhbHMgY29tcG9uZW50IG9wc2xhYW4sIGRhbiBrdW5uZW4gd2UgZGllIHdlbGxpY2h0IG9wIGFuZGVyZVxuLy8gIHBsZWtrZW4gb29rIGdlYnJ1aWtlbiwgem9hbHMgZG9jdW1lbnQgbWFuYWdlbWVudFwiLiBBIHNlY29uZCBjb25zdW1lciBub3cgZ2V0cyB0aGlzXG4vLyAgbG9vayB3aXRoIGNvbG9yPVwicHVycGxlXCIgaW5zdGVhZCBvZiBjb3B5aW5nIGNvbG91ciBydWxlcyBpbnRvIGl0cyBvd24gc2NyZWVuLlxuLy9cbi8vICBDb250cmFzdCBpcyBNRUFTVVJFRCwgbm90IGd1ZXNzZWQgKFdDQUcgMS40LjMgd2FudHMgNCw1OjEgZm9yIG5vcm1hbCB0ZXh0IGFuZFxuLy8gIHRoZXNlIGxhYmVscyBhcmUgMTFweCwgc28gdGhleSBjb3VudCBhcyBub3JtYWwpOlxuLy8gICAgIHB1cnBsZS01MDAgIzQwNDk5YSBvbiB0aGUgc3VyZmFjZSAjZTZlOWZmICA9IDYsNjI6MSAgb2tcbi8vICAgICBwdXJwbGUtNjAwICMzMzNhN2Igb24gdGhlIGhvdmVyICAgI2MwYzVmZiAgPSA2LDI0OjEgIG9rXG4vLyAgICAgZ3JleSB0ZXh0LW11dGVkICAgIG9uIHRoZSBzdXJmYWNlICAgICAgICAgID0gMyw5OToxICBUT08gTE9XLCB0aGlzIGlzIHdoYXQgdGhlXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV1dHJhbCBiYXIgdXNlcyBhbmQgd2h5IHRoZVxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1cnBsZSB2YXJpYW50IGNhbm5vdCBpbmhlcml0IGl0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5xZG5hcHJvLXNlbGVjdGlvbi1iYXJbZGF0YS1jb2xvcj1cInB1cnBsZVwiXSB7XG4gICAgLS1xc2ItYmc6ICAgICAgIHZhcigtLWMtYmctc2Vjb25kYXJ5LXB1cnBsZSwgI2U2ZTlmZik7XG4gICAgLS1xc2ItYm9yZGVyOiAgIHZhcigtLWMtc2lkZWJhci1pY29uLCAjYzVjOWViKTtcbiAgICAtLXFzYi1mZy1pZGxlOiAgdmFyKC0tYy1wdXJwbGUtNTAwLCAjNDA0OTlhKTtcbiAgICAtLXFzYi1mZzogICAgICAgdmFyKC0tYy1wdXJwbGUtNjAwLCAjMzMzYTdiKTtcblxuICAgIC8vIEhvdmVyIGFuZCBwcmVzcyBzdGF5IElOIHRoZSBwdXJwbGUgZmFtaWx5LiBLaW0gMjkuMDcuMjAyNjogXCJkZSBob3ZlcnMgbW9ldGVuXG4gICAgLy8gb29rIGFhbmdlcGFzdCB3b3JkZW4sIGdyaWp6ZSBob3ZlcnMgaXMgbmlldCB0b2ZcIiAtIHRoZSBuZXV0cmFsIGJhcidzIGdyZXlcbiAgICAvLyAoLS1jLWJnLXN1YnRsZS1ob3ZlcikgcmVhZCBhcyBhIGRpcnR5IHNtdWRnZSBvbiBhIHB1cnBsZSBwaWxsLCBhbmQgd2hpdGUgcmVhZFxuICAgIC8vIGFzIGEgaG9sZSBwdW5jaGVkIHRocm91Z2ggaXQuIEEgdGludCBkZWVwZXIgdGhhbiB0aGUgc3VyZmFjZSByZWFkcyBhcyBcInlvdSBhcmVcbiAgICAvLyB0b3VjaGluZyB0aGlzXCIsIHdoaWNoIGlzIHdoYXQgYSBwcmVzcyBzaG91bGQgc2F5LlxuICAgIC0tcXNiLWhvdmVyLWJnOiB2YXIoLS1jLXB1cnBsZS0xMDAsICNjMGM1ZmYpO1xuICAgIC0tcXNiLXByZXNzLWJnOiB2YXIoLS1jLXB1cnBsZS0xMDAsICNjMGM1ZmYpO1xuXG4gICAgLy8gVGhlIGRhcmtlc3QgcmVkIHdlIGhhdmUgYXMgYSB0b2tlbi4gT24gdGhlIHB1cnBsZSBzdXJmYWNlIGl0IG9ubHkgcmVhY2hlc1xuICAgIC8vIDQsMDI6MSwgaGVuY2UgdGhlIHdoaXRlIHBsYXRlIHVuZGVyIHRoZSBkYW5nZXIgYnV0dG9uIGJlbG93LlxuICAgIC0tcXNiLWZnLWRhbmdlcjogdmFyKC0tYy13YXJuLXJlZC01MDAsICNkYzI2MjYpO1xufVxuXG4vLyBUaGUgZGVzdHJ1Y3RpdmUgYWN0aW9uIGdldHMgYSBXSElURSBwbGF0ZSBpbnNpZGUgdGhlIHB1cnBsZSBwaWxsLiBOb3QgZGVjb3JhdGlvbjpcbi8vIG5vIHJlZCB0b2tlbiByZWFjaGVzIDQsNToxIG9uIHRoZSBwdXJwbGUgc3VyZmFjZSwgYW5kIG9uIHdoaXRlIHRoaXMgc2FtZSByZWRcbi8vIHJlYWNoZXMgNCw4MzoxLiBCb251cyB0aGF0IGZlbGwgb3V0IG9mIGl0OiB0aGUgb25lIGlycmV2ZXJzaWJsZSBhY3Rpb24gaW4gdGhlIGJhclxuLy8gaXMgbm93IGFsc28gdmlzdWFsbHkgc2VwYXJhdGVkIGZyb20gdGhlIG90aGVyIHRocmVlLCBhbmQgaXQgY2FuIG5ldmVyIGJlIGNvbmZ1c2VkXG4vLyB3aXRoIHRoZSBwdXJwbGUgaG92ZXIgc3RhdGUuXG4ucWRuYXByby1zZWxlY3Rpb24tYmFyW2RhdGEtY29sb3I9XCJwdXJwbGVcIl0gLnFkbmFwcm8tc2VsZWN0aW9uLWJhci1idG5bZGF0YS10b25lPVwiZGFuZ2VyXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQsICNmZmZmZmYpO1xufVxuXG4vLyBEYXJrIG1vZGUuIEtpbSdzIHN1cmZhY2UvYm9yZGVyIHRva2VucyBmbGlwIG9uIHRoZWlyIG93biAoLS1jLWJnLXNlY29uZGFyeS1wdXJwbGVcbi8vIGJlY29tZXMgZ3JleS05NTAsIC0tYy1zaWRlYmFyLWljb24gYmVjb21lcyBncmV5LTMwMCksIGJ1dCAtLWMtcHVycGxlLTUwMCBkb2VzIE5PVCxcbi8vIGFuZCAjNDA0OTlhIG9uICMwYjBiMGQgaXMgMiw0NzoxIC0gdW5yZWFkYWJsZS4gU28gdGhlIGdseXBoIGNvbG91ciBmbGlwcyBoZXJlIHRvbzpcbi8vIHB1cnBsZS0yMDAgb24gZ3JleS05NTAgaXMgOSwzMToxLiBXaXRob3V0IHRoaXMgYmxvY2sgdGhlIHB1cnBsZSB2YXJpYW50IHdvdWxkIGhhdmVcbi8vIHNoaXBwZWQgYW4gdW51c2FibGUgZGFyayBtb2RlLlxuW2RhdGEtdGhlbWUtZGFya10gLnFkbmFwcm8tc2VsZWN0aW9uLWJhcltkYXRhLWNvbG9yPVwicHVycGxlXCJdLFxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5xZG5hcHJvLXNlbGVjdGlvbi1iYXJbZGF0YS1jb2xvcj1cInB1cnBsZVwiXSxcbmJvZHlbZGF0YS10aGVtZT1cImRhcmtcIl0gLnFkbmFwcm8tc2VsZWN0aW9uLWJhcltkYXRhLWNvbG9yPVwicHVycGxlXCJdIHtcbiAgICAtLXFzYi1mZy1pZGxlOiAgdmFyKC0tYy1wdXJwbGUtMjAwLCAjYTVhY2ZmKTtcbiAgICAtLXFzYi1mZzogICAgICAgdmFyKC0tYy1wdXJwbGUtMTAwLCAjYzBjNWZmKTtcbiAgICAtLXFzYi1ob3Zlci1iZzogcmdiYSgxNjUsIDE3MiwgMjU1LCAwLjE2KTtcbiAgICAtLXFzYi1wcmVzcy1iZzogcmdiYSgxNjUsIDE3MiwgMjU1LCAwLjI0KTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIHFkbmFwcm8tbWVzc2FnZS1oZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIExpdGVyYWwgcmVjcmVhdGlvbiBvZiB0aGUgYmFja29mZmljZSBpbmJveCBkZXRhaWwgaGVhZGVyXG4vLyAgKGJhY2tvZmZpY2UyL3NyYy9SRVgvQmFja29mZmljZS9WaWV3L3YxL25vdGlmaWNhdGlvbmNlbnRlci9pbmJveC5odG1sLFxuLy8gIG5vdGlmaWNhdGlvbl9kZXRhaWwtdGVtcGxhdGUsIH5saW5lIDM3NS01MTMpIGFuZCBpdHMgc3R5bGluZ1xuLy8gIChiYWNrb2ZmaWNlMi9zY3NzL3BhcnRpYWxzL19pbmJveC5zY3NzLCB+bGluZSA0NzItNjg5KS4gU0NPUEUtcHdhLVxuLy8gIGluYm94Lm1kIGJlc2x1aXQgNzA6IHB1bGxlZCBvdXQgc28gdGhlIGJhY2tvZmZpY2UgaW5ib3ggQU5EIHRoZSBQV0Fcbi8vICBpbmJveCBzaGFyZSBPTkUgY29tcG9uZW50IGluc3RlYWQgb2YgdHdvIGhhbmQtd3JpdHRlbiBjb3BpZXMuXG4vL1xuLy8gIENvbG91cnMgYXJlIG1hcHBlZCBmcm9tIHRoZSBsZWdhY3kgX2luYm94LnNjc3MgdmFyaWFibGVzIG9udG8gdGhlXG4vLyAgY3VycmVudCBjZW50cmFsIGRlc2lnbiB0b2tlbnMgKGRlc2lnbi10b2tlbnMvX2Rlc2lnbi10b2tlbnMuc2NzcyksXG4vLyAgc2FtZSBpZGlvbSBhcyBxZG5hcHJvLWFwcC1oZWFkZXIncyAtLXFhaC0qIGN1c3RvbSBwcm9wZXJ0aWVzOlxuLy8gICAgX2luYm94LnNjc3MgJGNvbG9yICAgICAgICM0MDQ5OWEgIC0+IC0tYy1wdXJwbGUtNTAwICh0aXRsZSArIGxhYmVscylcbi8vICAgIF9pbmJveC5zY3NzICRjb2xvcl82ICAgICAjMzIzMTMwICAtPiAtLWMtdGV4dC1ib2R5ICAgKHNlbmRlciBuYW1lKVxuLy8gICAgX2luYm94LnNjc3MgJGNvbG9yXzEgICAgICM2Yzc1N2QgIC0+IC0tYy10ZXh0LW11dGVkICAoZW1haWwvdG8vY2MvZGF0ZSlcbi8vICAgIF9pbmJveC5zY3NzICRiYWNrZ3JvdW5kX2NvbG9yXzEwICAtPiAtLWMtYmctY2FyZCAgICAgKGhvc3QgYmFja2dyb3VuZClcbi8vXG4vLyAgRmxhdCAubWgtKiBlbGVtZW50IGNsYXNzZXMgKG5vdCBCRU0gJl9fIG5lc3RpbmcpIC0gc2FtZSBpZGlvbSBhc1xuLy8gIHFkbmFwcm8tcmVjaXBpZW50LXBpY2tlcidzIC5ycC0qIC8gcWRuYXByby1hcHAtaGVhZGVyJ3MgLnFhaC0qLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGBoaWRkZW5gIE1PRVQgd2lubmVuIHZhbiBvbnplIGVpZ2VuIGRpc3BsYXktcmVnZWxzICh6ZWxmZGUgdmFsIGFsc1xuLy8gX3JlY2lwaWVudC1waWNrZXIuc2NzcyBhbCBiZXNjaHJpamZ0KS4gRGl0IGNvbXBvbmVudCB6ZXQgZHJpZSBibG9ra2VuIGFhblxuLy8gZW4gdWl0IG1ldCBoZXQgYGhpZGRlbmAtYXR0cmlidXV0OiBkZSBDQy1yZWdlbCwgZGUgdGFncy1yaWogZW4gZGUgbG9zc2Vcbi8vIG5hYW0vZS1tYWlsLXNwYW5zIHZhbiBkZSBhZnplbmRlci4gRcOpbiByZWdlbCBvcCBkZSBob3N0IGluIHBsYWF0cyB2YW5cbi8vIGAmW2hpZGRlbl1gIGJpaiBlbGsgYmxvayBhcGFydC5cbi5xZG5hcHJvLW1lc3NhZ2UtaGVhZGVyIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucWRuYXByby1tZXNzYWdlLWhlYWRlciB7XG4gICAgLS1taC1oZWFkaW5nOiB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpO1xuICAgIC0tbWgtZmc6IHZhcigtLWMtdGV4dC1ib2R5LCAjMGIwYjBkKTtcbiAgICAtLW1oLW11dGVkOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2ZTcyODApO1xuICAgIC0tbWgtYm9yZGVyOiB2YXIoLS1jLWJvcmRlci1zb2Z0LCByZ2JhKDAsIDAsIDAsIDAuMDcpKTtcbiAgICAtLW1oLWJnOiB2YXIoLS1jLWJnLWNhcmQsICNmZmZmZmYpO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1oLWJnKTtcblxuICAgIC8vIEVudHJhbmNlIHdoZW4gYSBtZXNzYWdlIG9wZW5zIChSYWN0aXZlIHJlY3JlYXRlcyB0aGlzIGVsZW1lbnQgb24gZWFjaFxuICAgIC8vIG9wZW4pIC0tIHNhbWUgcGFnZS1nbG9iYWwga2V5ZnJhbWUgdGhlIG9sZCAuaW5ib3gtYm9keS1oZWFkZXIgdXNlZFxuICAgIC8vIChiYWNrb2ZmaWNlMi9zY3NzL3BhcnRpYWxzL19pbmJveC5zY3NzLCBAa2V5ZnJhbWVzIGluYm94LWRldGFpbC1pbiksXG4gICAgLy8gcmVmZXJlbmNlZCBieSBuYW1lIHJhdGhlciB0aGFuIHJlZGVmaW5lZCBoZXJlOiBpdCBpcyBub3QgdGhpc1xuICAgIC8vIGNvbXBvbmVudCdzIGZpbGUgdG8gb3duLCBidXQgaXQgaXMgYWxyZWFkeSBsb2FkZWQgb24gZXZlcnkgcGFnZSB0aGF0XG4gICAgLy8gdXNlcyB0aGlzIGNvbXBvbmVudCdzIG9yaWdpbmFsIGhvc3QgKHRoZSBiYWNrb2ZmaWNlIGluYm94KS4gSGFybWxlc3NcbiAgICAvLyBuby1vcCB3aGVyZXZlciB0aGF0IGtleWZyYW1lIGRvZXNuJ3QgZXhpc3QgKGUuZy4gYSBmdXR1cmUgUFdBIHVzZSkgLS1cbiAgICAvLyBhbiB1bmtub3duIGFuaW1hdGlvbiBuYW1lIGlzIHNpbXBseSBpZ25vcmVkLCBub3QgYW4gZXJyb3IuXG4gICAgYW5pbWF0aW9uOiBpbmJveC1kZXRhaWwtaW4gMjAwbXMgZWFzZS1vdXQ7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG59XG5cbi8vIC0tLS0gVGl0bGUgYmFyOiB0aXRsZSBsZWZ0LCBzbG90PVwiYWN0aW9uc1wiIGljb24gcm93IHJpZ2h0IC0tLS1cbi5taC10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDhweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgLy8gUkVDSFRTIFNNQUxMRVIgKEtpbSwgMzEuMDcuMjAyNjogXCJtaW5kZXIgcGFkZGluZ1wiKS4gTGlua3MgYmxpamZ0IDIwcHgsIHdhbnQgZGVcbiAgICAvLyB0aXRlbCBzdGFhdCBkYWFybWVlIHJlY2h0IGJvdmVuIGRlIGF2YXRhciBlcm9uZGVyLiBSZWNodHMgc3RvbmQgb29rIDIwcHgsIGVuXG4gICAgLy8gb21kYXQgZGUgaWNvb25rbm9wcGVuIHplbGYgYWwgNDRweCBicmVlZCB6aWpuIG1ldCBodW4gZWlnZW4gbHVjaHQgZXJvbWhlZW5cbiAgICAvLyBsZXZlcmRlIGRhdCBlZW4gbGVlZyB2YWsgb3AgbmFhc3QgZGUgbGFhdHN0ZSBrbm9wLlxuICAgIHBhZGRpbmc6IDAgOHB4IDAgMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWgtYm9yZGVyKTtcbn1cblxuLm1oLXRpdGxlLWxhYmVsIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1taC1oZWFkaW5nKTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLy8gQ29sbGFwc2VzIHRvIG5vdGhpbmcgd2hlbiB0aGUgaG9zdCBzbG90cyBpbiBubyBhY3Rpb25zIC0gc2FtZSBjb250cmFjdFxuLy8gYXMgcWRuYXByby1hcHAtaGVhZGVyJ3MgLnFhaC1hY3Rpb25zLlxuLm1oLXRpdGxlLWFjdGlvbnMge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcblxuICAgICY6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi8vIFZlcnRpY2FsZSBzY2hlaWRpbmcgVFVTU0VOIHR3ZWUgaWNvb25rbm9wcGVuIChLaW0sIDMxLjA3LjIwMjYpLiBFZW4gZWNodCBlbGVtZW50XG4vLyBlbiBuaWV0IGVlbiBib3JkZXIgb3AgZGUga25vcCB6ZWxmOiBkaWUga25vcHBlbiB6aWpuIDQ0cHggdmllcmthbnQgbWV0IGVlbiBlaWdlblxuLy8gYWZnZXJvbmRlIGhvdmVyLXZsYWssIGVuIGVlbiBsaWpuIG9wIGRpZSByYW5kIHpvdSBtZWViZXdlZ2VuIG1ldCBkYXQgdmxhay4gSGV0XG4vLyBjb21wb25lbnQgemV0IHplIHplbGYgdHVzc2VuIGRlIGdlc2xvdGVuIGFjdGllcyAoemllIF9yZWxheW91dEFjdGlvbnMpLCBkdXMgZGVcbi8vIHBhZ2luYSBob2VmdCBlciBuaWV0cyB2b29yIHRlIGRvZW4uXG4ubWgtYWN0aW9uLXNlcCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1oLWJvcmRlcik7XG59XG5cbi8vIC0tLS0gU2VuZGVyIGJsb2NrOiBhdmF0YXIgKyAobmFtZS9lbWFpbC9kYXRlIHJvdywgVG8gbGluZSwgQ0MgbGluZSwgdGFncykgLS0tLVxuLm1oLXNlbmRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE2cHg7XG4gICAgcGFkZGluZzogMTZweCAyMHB4IDEycHg7XG4gICAgLy8gS2ltLCAzMS4wNy4yMDI2OiBcIm9vayBvbmRlciBkZSBhZnplbmRlciBlZW4ga2V5bGluZSB0b2V2b2VnZW4uXCIgRGUgdGl0ZWxiYWxrIGhhZFxuICAgIC8vIGVyIGFsIGVlbiwgZW4gem9uZGVyIGRlemUgdHdlZWRlIGxpZXBlbiBkZSBhZnplbmRlciwgZGUgb250dmFuZ2VycyBlbiBkZSB0YWdzXG4gICAgLy8gem9uZGVyIHNjaGVpZGluZyBvdmVyIGluIGRlIGluaG91ZCB2YW4gaGV0IGJlcmljaHQuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW1oLWJvcmRlcik7XG59XG5cbi5taC1zZW5kZXItYXZhdGFyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLm1oLXNlbmRlci1ib2R5IHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNHB4O1xufVxuXG4ubWgtc2VuZGVyLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4ubWgtc2VuZGVyLW5hbWUge1xuICAgIGNvbG9yOiB2YXIoLS1taC1mZyk7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5taC1zZW5kZXItZW1haWwge1xuICAgIGNvbG9yOiB2YXIoLS1taC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5taC1zZW5kZXItZGF0ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgY29sb3I6IHZhcigtLW1oLW11dGVkKTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vLyAtLS0tIFRvIC8gQ0MgbGluZXMgLS0tLVxuLy8gU2FtZSBzaGFwZSBmb3IgYm90aCAtIGEgbGVhZGluZyBmaWVsZCBsYWJlbCwgdGhlbiBvbmUgd3JhcHBlZCBzcGFuIHBlclxuLy8gcGVyc29uIChib2xkIG5hbWUgKyBtdXRlZCBcIjxlbWFpbD47XCIpLiBIaWRkZW4gZW50aXJlbHkgKHZpYSBbaGlkZGVuXSxcbi8vIHNlZSB0aGUgZml4IGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlKSB3aGVuIHRoZSB1bmRlcmx5aW5nIGxpc3QgaXMgZW1wdHkuXG4ubWgtdG8sXG4ubWgtY2Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDAgNHB4O1xuICAgIGNvbG9yOiB2YXIoLS1taC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5taC1maWVsZC1sYWJlbCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5taC1wZXJzb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDA7XG59XG5cbi5taC1wZXJzb24tbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG59XG5cbi8vIC0tLS0gVGFncyByb3cgLS0tLVxuLm1oLXRhZ3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1hbnN3ZXItcm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBMaXRlcmFsIHJlY3JlYXRpb24gb2YgdGhlIGJhY2tvZmZpY2UgYC5pbmJveC1ib2R5LWdyb3VwYCBibG9ja1xuLy8gIChiYWNrb2ZmaWNlMi9zcmMvUkVYL0JhY2tvZmZpY2UvVmlldy92MS9ub3RpZmljYXRpb25jZW50ZXIvcGx1Z2lucy9cbi8vICBoYW5kb3Zlci5odG1sLCB+bGluZSAyODcpIGFuZCBpdHMgc3R5bGluZyAoYmFja29mZmljZTIvc2Nzcy9wYXJ0aWFscy9cbi8vICBfaW5ib3guc2NzcywgfmxpbmUgNjk1LTc0MikuIFNDT1BFLXB3YS1pbmJveC5tZCBiZXNsdWl0IDcwOiBwdWxsZWQgb3V0XG4vLyAgc28gdGhlIGJhY2tvZmZpY2UgaW5ib3ggQU5EIHRoZSBQV0EgKHdoaWNoIGhhbmQtcm9sbHMgdGhlIHNhbWUgcm93IGFzXG4vLyAgYC5pbmJveF92aWV3X19hbnN3ZXJgIGluIGFwcF9hcGlfcWRuYXYyLy4uLi9HLWluYm94Lmh0bWwpIHNoYXJlIE9ORVxuLy8gIGNvbXBvbmVudCBpbnN0ZWFkIG9mIHR3by5cbi8vXG4vLyAgQ29sb3VycyBtYXBwZWQgZnJvbSBfaW5ib3guc2NzcyBvbnRvIHRoZSBjZW50cmFsIGRlc2lnbiB0b2tlbnMgKHNhbWVcbi8vICBpZGlvbSBhcyBxZG5hcHJvLW1lc3NhZ2UtaGVhZGVyLCBzZWUgdGhhdCBmaWxlJ3MgaGVhZGVyIGNvbW1lbnQpOlxuLy8gICAgJGNvbG9yICAgIzQwNDk5YSAtPiAtLWMtcHVycGxlLTUwMCAocXVlc3Rpb24gbGFiZWwpXG4vLyAgICAkY29sb3JfNCAjMjAyMTI0IC0+IC0tYy10ZXh0LWJvZHkgICAoYW5zd2VyIHRleHQpXG4vLyAgVGhlIG5vZGUtdHlwZSBpY29uIGNvbG91ciAoI2MyYzJjMikgaGFzIG5vIG1hdGNoaW5nIGNlbnRyYWwgdG9rZW4gLSBpdFxuLy8gIGlzIGEgb25lLW9mZiBtdXRlZCBncmV5IGxpZnRlZCBzdHJhaWdodCBmcm9tIHRoZSBzb3VyY2UsIGtlcHQgbGl0ZXJhbFxuLy8gIGFuZCBuYW1lZCBoZXJlIHJhdGhlciB0aGFuIGludmVudGVkLlxuLy9cbi8vICBUaGUgZHJhZnQtcGlsbCAoLmFyLWRyYWZ0KSBoYXMgbm8gYmFja29mZmljZSBlcXVpdmFsZW50IC0gaXQgaXMgYSBQV0EtXG4vLyAgb25seSBhZGRpdGlvbiAoYXBwX2FwaV9xZG5hdjIgYC5pbmJveF92aWV3X19hbnN3ZXItZHJhZnRgLCAwMy1zdHlsZS5jc3MpXG4vLyAgcmVjcmVhdGVkIGhlcmUgc28gYm90aCBzY3JlZW5zIGdldCB0aGUgc2FtZSBwaWxsIG9uY2UgdGhpcyBjb21wb25lbnRcbi8vICByZXBsYWNlcyB0aGUgUFdBJ3MgaGFuZC13cml0dGVuIG1hcmt1cC5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucWRuYXByby1hbnN3ZXItcm93IFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucWRuYXByby1hbnN3ZXItcm93IHtcbiAgICAtLWFyLWhlYWRpbmc6IHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSk7XG4gICAgLS1hci1mZzogdmFyKC0tYy10ZXh0LWJvZHksICMwYjBiMGQpO1xuICAgIC0tYXItbXV0ZWQ6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzZlNzI4MCk7XG4gICAgLS1hci1pY29uLWNvbG9yOiAjYzJjMmMyOyAvLyBfaW5ib3guc2NzcyAuaW5ib3gtcS10eXBlLWljb24sIG5vIGNlbnRyYWwgdG9rZW4gbWF0Y2hcbiAgICAtLWFyLXBpbGwtYmc6IHZhcigtLWMtYmctY2FyZC1ob3ZlciwgI2Y3ZjhmYSk7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogNHB4IDhweDtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgKiwgKjo6YmVmb3JlLCAqOjphZnRlciB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbn1cblxuLmFyLXF1ZXN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgbWluLWhlaWdodDogMjBweDtcbiAgICBjb2xvcjogdmFyKC0tYXItaGVhZGluZyk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbi5hci1pY29uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBjb2xvcjogdmFyKC0tYXItaWNvbi1jb2xvcik7XG59XG5cbi5hci1xdWVzdGlvbi1sYWJlbCB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4vLyBTbWFsbCByZWZlcmVuY2UgbnVtYmVyIGFmdGVyIHRoZSBxdWVzdGlvbiB0ZXh0IC0tIF9pbmJveC5zY3NzJ3Mgb3duXG4vLyAuaW5ib3gtcS1ub2RlLWlkICh+bGluZSA3MTgpOiBzbWFsbCwgbGlnaHQgZ3JleSwgbm9ybWFsIHdlaWdodCBhZ2FpbnN0IHRoZVxuLy8gYm9sZCBxdWVzdGlvbiBsYWJlbCwgdmVydGljYWxseSBjZW50ZXJlZCAodGhlIGxhYmVsIHJvdyBpcyBhbHJlYWR5XG4vLyBkaXNwbGF5OmZsZXgvYWxpZ24taXRlbXM6Y2VudGVyKS5cbi5hci1ub2RlLWlkIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiB2YXIoLS1hci1pY29uLWNvbG9yKTsgLy8gc2FtZSAjYzJjMmMyIGFzIHRoZSBub2RlLXR5cGUgaWNvbiwgbm8gc2VwYXJhdGUgdG9rZW5cbn1cblxuLy8gU21hbGwgcm91bmRlZCBwaWxsIC0gXCJDb25jZXB0XCIgLyBcIkRyYWZ0XCIgLyB3aGF0ZXZlciB0cmFuc2xhdGVkIGxhYmVsIHRoZVxuLy8gaG9zdCBwYXNzZXMuIFJlY2lwZSBsaWZ0ZWQgZnJvbSB0aGUgUFdBJ3Mgb3duIC5pbmJveF92aWV3X19hbnN3ZXItZHJhZnRcbi8vICgwMy1zdHlsZS5jc3MpLCB0aGUgb25seSBwcmlvciBhcnQgZm9yIHRoaXMgcGllY2UuXG4uYXItZHJhZnQge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHBhZGRpbmc6IDFweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYXItcGlsbC1iZyk7XG4gICAgY29sb3I6IHZhcigtLWFyLW11dGVkKTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmFyLWFuc3dlciB7XG4gICAgLy8gQWxpZ25zIHVuZGVyIHRoZSBRVUVTVElPTiBURVhULCBub3QgdW5kZXIgdGhlIGljb24gKHNhbWUgcmVhc29uaW5nIGFzXG4gICAgLy8gdGhlIGJhY2tvZmZpY2Ugc291cmNlKTogdGhlIGljb24gaXMgMThweCB3aWRlICsgNnB4IGdhcCA9IDI0cHgsIHNvIGFcbiAgICAvLyByb3cgd2l0aG91dCBhbiBpY29uIHN0aWxsIGluZGVudHMgYnkgdGhlIHNhbWUgYW1vdW50IGFuZCB0aGUgd2hvbGVcbiAgICAvLyBsaXN0IGtlZXBzIG9uZSBzdHJhaWdodCBsZWZ0IGVkZ2UuXG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIGNvbG9yOiB2YXIoLS1hci1mZyk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgLy8gTG9uZywgdW5icm9rZW4gYW5zd2VycyBzdGlsbCB3cmFwIGluc2lkZSB0aGUgcm93IGluc3RlYWQgb2ZcbiAgICAvLyBvdmVyZmxvd2luZyBpdCAtIHRoaXMgaXMgdGhlIFBXQSdzIG93biBydWxlICgwMy1zdHlsZS5jc3NcbiAgICAvLyAuaW5ib3hfdmlld19fYW5zd2VyLWEpLCB0aGUgYmFja29mZmljZSBzb3VyY2UgbmV2ZXIgbmVlZGVkIGl0IGJlY2F1c2VcbiAgICAvLyBpdHMgYW5zd2VycyBhcmUgc2hvcnQgc2luZ2xlLWxpbmUgdmFsdWVzIGluIHByYWN0aWNlLlxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgcWRuYXByby1tZXNzYWdlLWFjdGlvbmJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgTGl0ZXJhbCByZWNyZWF0aW9uIG9mIHRoZSBiYWNrb2ZmaWNlIGAuaW5wdXQtZm9vdGVyYCBibG9ja1xuLy8gIChiYWNrb2ZmaWNlMi9zcmMvUkVYL0JhY2tvZmZpY2UvVmlldy92MS9ub3RpZmljYXRpb25jZW50ZXIvcGx1Z2lucy9cbi8vICBoYW5kb3Zlci5odG1sLCB+bGluZSAzMzUpIGFuZCBpdHMgc3R5bGluZyAoYmFja29mZmljZTIvc2Nzcy9wYXJ0aWFscy9cbi8vICBfaW5ib3guc2NzcywgfmxpbmUgODEzLTg0OSkuIFNDT1BFLXB3YS1pbmJveC5tZCBiZXNsdWl0IDcwOiBwdWxsZWQgb3V0XG4vLyAgc28gdGhlIGJhY2tvZmZpY2UgaW5ib3ggQU5EIHRoZSBQV0Egc2hhcmUgT05FIGNvbXBvbmVudCBpbnN0ZWFkIG9mIHR3by5cbi8vXG4vLyAgQ29sb3VyIG1hcHBlZCBmcm9tIF9pbmJveC5zY3NzIG9udG8gdGhlIGNlbnRyYWwgZGVzaWduIHRva2Vuczpcbi8vICAgICRjb2xvciAgICAgICAgICAgICM0MDQ5OWEgLT4gLS1jLXB1cnBsZS01MDAgKG5vdGUgdGV4dCArIGluZm8gaWNvbiAtLVxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmlucHV0LWZvb3RlciBzZXRzIGBjb2xvcjogJGNvbG9yYCBvblxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHdob2xlIGJsb2NrLCBzbyBib3RoIGluaGVyaXQgaXQpXG4vLyAgICAkYmFja2dyb3VuZF9jb2xvcl8xICNlZWVmZmEgLT4ga2VwdCBsaXRlcmFsIGJlbG93LCBubyBjZW50cmFsIHRva2VuXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaGVzIHRoaXMgZXhhY3QgbGF2ZW5kZXIgZmlsbDsgaXQgaXNcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzYW1lIFwic3VidGxlLXB1cnBsZS1iZ1wiIHN1cmZhY2UgdGhlXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZW5kIGJ1dHRvbnMgaW4gdGhpcyBiYXIgYWxyZWFkeSB1c2UuXG4vL1xuLy8gIHBsYWNlbWVudD1cImZsb3dcIiBpcyB0aGUgT05MWSBpbXBsZW1lbnRlZCB2YWx1ZSAoYmVzbHVpdCA2OCwgc2VlIHRoZVxuLy8gIGNvbXBvbmVudCdzIEpTIGRvYyk6IHRoaXMgYmFyIG5ldmVyIGJlY29tZXMgcG9zaXRpb246c3RpY2t5L2ZpeGVkLiBUaGVcbi8vICBiYWNrZW5kJ3Mgb3duIG1hcmdpbi10b3A6IDJyZW0gKGNsZWFyaW5nIGEgcHJlY2VkaW5nIHRpbWVsaW5lIHBpbGwpIGlzXG4vLyAgTk9UIGNvcGllZCBoZXJlIG9uIHB1cnBvc2UgLSB0aGF0IG51bWJlciBpcyB0aWVkIHRvIGEgc3BlY2lmaWMgc2libGluZ1xuLy8gIGVsZW1lbnQgaW4gdGhlIHBhZ2UncyB0aW1lbGluZSwgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBjb21wb25lbnQ7IHRoZVxuLy8gIGhvc3QgYWRkcyB3aGF0ZXZlciBzcGFjaW5nIGl0cyBvd24gbGF5b3V0IG5lZWRzIGJlZm9yZSB0aGlzIGJhci5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucWRuYXByby1tZXNzYWdlLWFjdGlvbmJhciBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnFkbmFwcm8tbWVzc2FnZS1hY3Rpb25iYXIge1xuICAgIC0tbWFiLWZnOiB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpO1xuICAgIC0tbWFiLW11dGVkOiB2YXIoLS1jLXB1cnBsZS01MDAsICM0MDQ5OWEpO1xuICAgIC0tbWFiLWJnOiAjZWVlZmZhOyAvLyBfaW5ib3guc2NzcyAkYmFja2dyb3VuZC1jb2xvcl8xLCAuaW5wdXQtZm9vdGVyIGJnXG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWItYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1tYWItZmcpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxufVxuXG4ubWFiLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5tYWItaW5mby1pY29uIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBjb2xvcjogdmFyKC0tbWFiLWZnKTtcbn1cblxuLm1hYi1ub3RlIHtcbiAgICBjb2xvcjogdmFyKC0tbWFiLWZnKTtcbn1cblxuLy8gU2xvdCB0YXJnZXQgZm9yIHVwIHRvIHRocmVlIGJ1dHRvbnMuIENvbGxhcHNlcyB0byBub3RoaW5nIGlmIHRoZSBob3N0XG4vLyBzbG90cyBpbiBub25lIChkZWZlbnNpdmUgLSBpbiBwcmFjdGljZSB0aGlzIGJhciBpcyBvbmx5IGV2ZXIgcmVuZGVyZWRcbi8vIHdoZW4gYXQgbGVhc3Qgb25lIGFjdGlvbiBhcHBsaWVzKS5cbi5tYWItYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICY6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBxZG5hcHJvLXRpbWVsaW5lLW1hcmtlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAgTGl0ZXJhbCByZWNyZWF0aW9uIG9mIHRoZSBiYWNrb2ZmaWNlIGAudGFzay1zdGF0dXNgIC9cbi8vICBgLnRhc2stc3RhdHVzLWJsb2NrYCBwaWxsIChiYWNrb2ZmaWNlMi9zcmMvUkVYL0JhY2tvZmZpY2UvVmlldy92MS9cbi8vICBub3RpZmljYXRpb25jZW50ZXIvcGx1Z2lucy9oYW5kb3Zlci5odG1sIH5saW5lIDI2OCBhbmQgfmxpbmUgMjk4KSBhbmQgaXRzXG4vLyAgc3R5bGluZyAoYmFja29mZmljZTIvc2Nzcy9wYXJ0aWFscy9faW5ib3guc2NzcyB+bGluZSA3ODMpLiBLaW0gMzEuMDcuMjAyNjpcbi8vICB0aGUgUFdBIGhhcyB0byBzaG93IHRoaXMgbW9tZW50IGluIHRoZSBzYW1lIHBsYWNlIGFuZCB0aGUgc2FtZSBzaGFwZSBhc1xuLy8gIHRoZSBiYWNrb2ZmaWNlLCBhbmQgdGhhdCBzaG91bGQgbm90IGJlY29tZSBhIGZvdXJ0aCBjb3B5IG9mIHRoaXMgQ1NTLlxuLy9cbi8vICBDb2xvdXJzIGxpZnRlZCBmcm9tIHRoZSBzb3VyY2UncyBvd24gbG9jYWwgdmFyaWFibGVzIGluIF9pbmJveC5zY3NzOlxuLy8gICAgJGNvbG9yXzkgICAgICAgICAgICAjOEM5MkMyIC0+IHRoZSBtdXRlZCBsYWJlbCArIHRpbWUgdGV4dFxuLy8gICAgJGJhY2tncm91bmQtY29sb3JfNSAjRDlEQkVCIC0+IHRoZSBib3JkZXJcbi8vICAgICRiYWNrZ3JvdW5kLWNvbG9yXzQgI2ZmZiAgICAtPiB0aGUgZmlsbFxuLy8gIE9ubHkgdGhlIGZpbGwgbWFwcyBjbGVhbmx5IG9udG8gYSBjZW50cmFsIHRva2VuICgtLWMtYmctY2FyZCkuIFRoZSBvdGhlclxuLy8gIHR3byBoYXZlIG5vIGV4YWN0IHRva2VuOiAjOGM5MmMyIGRvZXMgZXhpc3QgY2VudHJhbGx5LCBidXQgYXNcbi8vICAtLWMtdGV4dC1kaXNhYmxlZC1wcCwgYW5kIHRoaXMgdGV4dCBpcyBub3QgZGlzYWJsZWQgLS0gYm9ycm93aW5nIGEgdG9rZW5cbi8vICBmb3IgaXRzIHZhbHVlIGluc3RlYWQgb2YgaXRzIG1lYW5pbmcgaXMgaG93IGEgbGF0ZXIgdG9rZW4gY2hhbmdlIGJyZWFrcyBhblxuLy8gIHVucmVsYXRlZCBzY3JlZW4uIFNvIHRoZXkgc3RheSBsaXRlcmFsIGFuZCBuYW1lZCBoZXJlLCBzYW1lIGlkaW9tXG4vLyAgcWRuYXByby1hY3Rpb24tYmFyIGFscmVhZHkgdXNlcyBmb3IgdGhpcyBleGFjdCBib3JkZXIgY29sb3VyLCB3aXRoIGEgZGFya1xuLy8gIHRoZW1lIG92ZXJyaWRlIHRoYXQgRE9FUyBnbyB0aHJvdWdoIHRva2Vucy5cbi8vXG4vLyAgTk9UIGNvcGllZCBmcm9tIHRoZSBzb3VyY2U6IGBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDFgLiBJbiB0aGVcbi8vICBiYWNrb2ZmaWNlIHRoYXQgZXhpc3RzIG9ubHkgc28gdGhlIG9wYXF1ZSBmaWxsIGJyZWFrcyB0aGUgYDxocj5gIHRoYXRcbi8vICBmb2xsb3dzIGluIHRoZSBET00gYW5kIGlzIHB1bGxlZCB1cCBvdmVyIGl0ICguaW5ib3gtYm9keS1jb250ZW50IGhyIGhhc1xuLy8gIG1hcmdpbi10b3A6IC0ycmVtKS4gVGhhdCBpcyBhIGZhY3QgYWJvdXQgdGhlIGJhY2tvZmZpY2UncyBvd24gZGl2aWRlciwgbm90XG4vLyAgYWJvdXQgdGhpcyBwaWxsLCBzbyBpdCBiZWxvbmdzIGluIF9pbmJveC5zY3NzIHdoZW4gdGhhdCBwYWdlIGFkb3B0cyB0aGlzXG4vLyAgY29tcG9uZW50IC0tIG5vdCBpbiBldmVyeSBzY3JlZW4gdGhhdCB1c2VzIGl0LlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5xZG5hcHJvLXRpbWVsaW5lLW1hcmtlciBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnFkbmFwcm8tdGltZWxpbmUtbWFya2VyIHtcbiAgICAtLXRtLWZnOiAjOGM5MmMyOyAgICAgIC8vIF9pbmJveC5zY3NzICRjb2xvcl85LCBzZWUgaGVhZGVyIG5vdGVcbiAgICAtLXRtLWJvcmRlcjogI2Q5ZGJlYjsgIC8vIF9pbmJveC5zY3NzICRiYWNrZ3JvdW5kLWNvbG9yXzUsIHNlZSBoZWFkZXIgbm90ZVxuICAgIC0tdG0tYmc6IHZhcigtLWMtYmctY2FyZCwgI2ZmZik7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIGNvbG9yOiB2YXIoLS10bS1mZyk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAucWRuYXByby10aW1lbGluZS1tYXJrZXIge1xuICAgIC0tdG0tZmc6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzZlNzI4MCk7XG4gICAgLS10bS1ib3JkZXI6IHZhcigtLWMtYm9yZGVyLWNhcmQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSk7XG59XG5cbi50bS1ibG9jayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIC8vIFdyYXBzIGluc3RlYWQgb2Ygb3ZlcmZsb3dpbmc6IG9uIGEgcGhvbmUgdGhlIGxhYmVsIGlzIGEgZnVsbCBzZW50ZW5jZVxuICAgIC8vIHdpdGggYSBuYW1lIGluIGl0LCBhbmQgdGhlIGJhY2tvZmZpY2UgbmV2ZXIgaGFkIHRvIHN1cnZpdmUgYSAzNjBweFxuICAgIC8vIGNvbHVtbi4gQ2VudGVyZWQgc28gYSB3cmFwcGVkIHNlY29uZCBsaW5lIGRvZXMgbm90IHJlYWQgYXMgYSBoYW5naW5nXG4gICAgLy8gaW5kZW50IHVuZGVyIHRoZSBpY29uLlxuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNnB4IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdG0tYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRtLWJnKTtcbn1cblxuLy8gSWNvbiArIGxhYmVsIGFzIE9ORSBmbGV4IGl0ZW0sIHNvIHRoZXkgbmV2ZXIgZW5kIHVwIG9uIHNlcGFyYXRlIGxpbmVzLiBGbGV4XG4vLyBicmVha3MgbGluZXMgYmVmb3JlIGl0IHNocmlua3MgYW55dGhpbmcsIHNvIGFzIHR3byBpdGVtcyBhIGxvbmcgbmFtZSAod2hpY2hcbi8vIGRvZXMgbm90IGZpdCBuZXh0IHRvIHRoZSBpY29uIGF0IGl0cyBuYXR1cmFsIHdpZHRoKSBwdXNoZWQgdGhlIGljb24gb250byBhXG4vLyBsaW5lIG9mIGl0cyBvd24gLS0gbG9va3MgbGlrZSBhIGZhdWx0LCBjaGVja2VkIGluIGEgMzAwcHggY29sdW1uLiBHcm91cGVkIHRoZXlcbi8vIHNocmluayB0b2dldGhlciBhbmQgdGhlIGljb24gc3RheXMgcHV0LlxuLnRtLWhlYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi50bS1pY29uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLnRtLWxhYmVsIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuLnRtLXNlcCB7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG5cbi8vIFRhcmdldGVkIG9uIHRoZSBUQUcsIG5vdCBvbiBhIGNsYXNzOiBxZG5hcHJvLWF2YXRhcidzIHJlbmRlcigpIGRvZXNcbi8vIGB0aGlzLmNsYXNzTmFtZSA9IGNscy5qb2luKFwiIFwiKWAgYW5kIHRocm93cyBhd2F5IHdoYXRldmVyIGNsYXNzIHRoZSBob3N0IHB1dFxuLy8gb24gaXQgKHFkbmFwcm8taWNvbiBzbmFwc2hvdHMgaG9zdCBjbGFzc2VzIGZpcnN0LCBhdmF0YXIgZG9lcyBub3QpLCBzbyBhXG4vLyBgLnRtLWF2YXRhcmAgY2xhc3Mgd291bGQgYmUgZ29uZSBiZWZvcmUgdGhpcyBydWxlIGNvdWxkIGV2ZXIgbWF0Y2guXG4udG0tYmxvY2sgPiBxZG5hcHJvLWF2YXRhciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgLy8gVGhlIGF2YXRhciBpcyBhIGNpcmNsZSB3aXRoIGl0cyBvd24gZml4ZWQgc2l6ZTsga2VlcCBpdCBvdXQgb2YgdGhlXG4gICAgLy8gMTRweC9ub3JtYWwgdGV4dCBmbG93IHNvIGl0IGNhbm5vdCBwaWNrIHVwIGEgc3RyYXkgbGluZS1oZWlnaHQuXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi50bS10aW1lIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiQHVzZSBcIi4uLy4uL21vZHVsZXMvdjEvY29sb3JzXCI7XG5AdXNlIFwiLi4vLi4vbW9kdWxlcy92MS90eXBvZ3JhcGh5LnNjc3NcIjtcblxuLyogQ3Jvc3MtZG9jdW1lbnQgVmlldyBUcmFuc2l0aW9ucyAoT3B0aWUgQiwgSmFuIDIwMjYtMDYtMTcpOiBzbW9vdGggdGhlXG4gICBmdWxsLXBhZ2UgbmF2aWdhdGlvbnMgc28gdGhlIGNvbnRlbnQgY3Jvc3MtZmFkZXMgaW5zdGVhZCBvZiBoYXJkLWN1dHRpbmcsXG4gICB3aGlsZSB0aGUgbmF2LXJhaWwgKGl0cyBvd24gYHZpZXctdHJhbnNpdGlvbi1uYW1lYCBiZWxvdykgc3RheXMgcHV0IGFuZCBpdHNcbiAgIGFjdGl2ZS1pdGVtIGhpZ2hsaWdodCBnbGlkZXMgYWNyb3NzLiBDaHJvbWUgaG9ub3VycyB0aGlzIGZvciBzYW1lLW9yaWdpbiBNUEFcbiAgIG5hdmlnYXRpb247IGJyb3dzZXJzL3BhZ2VzIHRoYXQgZG9uJ3Qgb3B0IGluIGZhbGwgYmFjayB0byBhIG5vcm1hbCBpbnN0YW50XG4gICBuYXZpZ2F0aW9uIOKAlCBubyBhbmltYXRpb24sIG5vIHJlZ3Jlc3Npb24uICovXG5Admlldy10cmFuc2l0aW9uIHtcbiAgICBuYXZpZ2F0aW9uOiBhdXRvO1xufVxuXG4vKiBOby1kaXAgdHJhbnNpdGlvbjogdGhlIGRlZmF1bHQgY3Jvc3MtZmFkZSBmYWRlcyB0aGUgb2xkIG91dCAoMeKGkjApIEFORCB0aGUgbmV3XG4gICBpbiAoMOKGkjEpIHNpbXVsdGFuZW91c2x5LCBzbyBhdCB0aGUgY3Jvc3NvdmVyIGJvdGggbGF5ZXJzIGFyZSB0cmFuc2x1Y2VudCBhbmRcbiAgIHRoZSBsaWdodCBwYWdlIGJhY2tncm91bmQgYmxlZWRzIHRocm91Z2gg4oCUIHRoZSBcImZsYXNoIHRvIGxpZ2h0XCIuIEluc3RlYWQsIGtlZXBcbiAgIHRoZSBPTEQgcGFnZSBmdWxseSBvcGFxdWUgdW5kZXJuZWF0aCBhbmQgZmFkZSB0aGUgTkVXIGluIG9uIHRvcCBvZiBpdCwgc28gdGhlcmVcbiAgIGlzIG5ldmVyIGEgc2VlLXRocm91Z2ggbW9tZW50LiBUaGUgbmF2LXJhaWwgKGlkZW50aWNhbCBhY3Jvc3MgcGFnZXMpIGhvbGRzXG4gICBwZXJmZWN0bHkgc3RhdGljIOKAlCBubyBmYWRlLCBubyBmbGlja2VyLiAqL1xuOjp2aWV3LXRyYW5zaXRpb24tb2xkKHJvb3QpIHsgYW5pbWF0aW9uOiBub25lOyB9XG46OnZpZXctdHJhbnNpdGlvbi1uZXcocm9vdCkgeyBhbmltYXRpb246IHFkbmEtdnQtZmFkZS1pbiAyMDBtcyBlYXNlIGJvdGg7IH1cbkBrZXlmcmFtZXMgcWRuYS12dC1mYWRlLWluIHsgZnJvbSB7IG9wYWNpdHk6IDA7IH0gdG8geyBvcGFjaXR5OiAxOyB9IH1cblxuOjp2aWV3LXRyYW5zaXRpb24tb2xkKHFkbmEtbmF2LXJhaWwpLFxuOjp2aWV3LXRyYW5zaXRpb24tbmV3KHFkbmEtbmF2LXJhaWwpIHsgYW5pbWF0aW9uOiBub25lOyB9XG5cbmh0bWwsIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLyog4pSA4pSAIGlubGluZSBjb2RlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgQm9vdHN0cmFwIGdlZWZ0IMOJTEsgYDxjb2RlPmAgemlqbiBlaWdlbiByb3plIChgI2U4M2U4Y2ApIOKAlCBlZW4ga2xldXIgZGllIHZlcmRlciBuZXJnZW5zIGluXG4gICBRRE5BIFBybyB2b29ya29tdCBlbiBkaWUgbmlldCB1aXQgZGUgdG9rZW5iaWJsaW90aGVlayBrb210LiBaaWNodGJhYXIgb3Agb25kZXIgbWVlciBkZVxuICAgcGFyYW1ldGVyLSBlbiBtZWV0d2FhcmRlLWxhYmVscyBpbiBkZSByYXBwb3J0LWVkaXRvciBlbiBvcCBkZSB0ZWNobmlzY2hlIHdhYXJkZW4gaW4gZGVcbiAgIG9udHdpa2tlbGFhcnNwYWdpbmEncyAoSmFuLCAyMDI2LTA4LTAzOiBcInJvemUgaXMgZWVuIGtsZXVyIGRpZSB2ZXJkZXIgbmVyZ2VucyB2b29ya29tdFwiKS5cblxuICAgVmVydmFuZ2VuIGRvb3IgYC0tYy1icmFuZC1wdXJwbGVgOiBoZXR6ZWxmZGUgbWVya3BhYXJzIHdhYXJtZWUgZGUgYXBwIGFsIGhhYXIga2xlaW5lXG4gICB0ZWNobmlzY2hlIGNoaXBzIHpldCAoaGV0IGNvbmRpdGllLWNoaXBqZSBpbiBkZSBkb2N1bWVudGVkaXRvciwgZGUgc2VsZWN0aWUtY2hpcCBpbiBkZVxuICAgYmxva2tlbmxpanN0KSwgZW4g4oCUIGFuZGVycyBkYW4gZWVuIGthbGUgYC0tYy1wdXJwbGUtNTAwYCDigJQgZWVuIFNFTUFOVElTQ0hFIHRva2VuIGRpZSBpbiBoZXRcbiAgIGRvbmtlcmUgdGhlbWEgbWVla2FudGVsdCBuYWFyIGVlbiBsaWNodCBwYWFycy5cblxuICAg4pqg77iPIERpdCB3ZXJrdCBvcCBnZWxpamtlIHNwZWNpZmljaXRlaXQgKDAsMCwxKSBlbiB3aW50IGR1cyBwdXVyIG9wIFZPTEdPUkRFOiBgc3R5bGUtdjEuY3NzYFxuICAgICAgc3RhYXQgbsOhIGBib290c3RyYXAubWluLmNzc2AuIFZlcmh1aXN0IGRlIHN0eWxlc2hlZXQtdm9sZ29yZGUgb29pdCwgZGFuIGlzIGRpdCBkZSBlZXJzdGVcbiAgICAgIHJlZ2VsIGRpZSBzdGlsIHRlcnVndmFsdCBvcCByb3plLiAqL1xuY29kZSB7XG4gICAgY29sb3I6IHZhcigtLWMtYnJhbmQtcHVycGxlKTtcbn1cblxuLy8gTG9jayB0aGUgYmFja2dyb3VuZCAod2luZG93KSBzY3JvbGwgd2hpbGUgYSBmdWxsLXNjcmVlbiBkZXZpY2Ugb3ZlcmxheSBpcyBvcGVuXG4vLyAoYXBwLWxhdW5jaCBvdmVybGF5ICsgZmxvdy1lZGl0b3IgcHJldmlldykuIFdpdGhvdXQgdGhpcyB0aGUgc2Nyb2xsIHdoZWVsIG92ZXJcbi8vIHRoZSBvdmVybGF5L2lmcmFtZSBjaGFpbnMgdG8gdGhlIHBhZ2UgYmVoaW5kIGl0LiBUb2dnbGVkIGZyb20gYXBwLWxhdW5jaC5qcyBhbmRcbi8vIFByZXZpZXdNb2RhbC52dWUuIFRoZSBwYWdlIHNjcm9sbCBsaXZlcyBvbiB0aGUgd2luZG93ICgucWRuYS1wYWdlLWNvbnRlbnQgaXNcbi8vIG92ZXJmbG93LXg6Y2xpcCBvbmx5KSwgc28gbG9ja2luZyA8aHRtbD4gaXMgZW5vdWdoLlxuaHRtbC5hcHAtc2Nyb2xsLWxvY2tlZCwgaHRtbC5hcHAtc2Nyb2xsLWxvY2tlZCBib2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNhbWUgcGFpbnQgc3VyZmFjZSBvbiA8aHRtbD4gYXMgb24gPGJvZHk+LiBXaXRob3V0IHRoaXMsIGV2ZXJ5XG4gICBuYXZpZ2F0aW9uIGJldHdlZW4gcGFnZXMgYnJpZWZseSBwYWludHMgdGhlIGJyb3dzZXIncyBkZWZhdWx0IHdoaXRlXG4gICBiYWNrZ3JvdW5kIGJldHdlZW4gdW5sb2FkIGFuZCB0aGUgbmV3IHBhZ2UncyBmaXJzdCBwYWludCDigJQgdmlzaWJsZVxuICAgYXMgYSB3aGl0ZSBmbGFzaCB3aGVuIGNsaWNraW5nIGFyb3VuZCB0aGUgbmF2LXJhaWwuIChLaW0gMjAyNi0wNi0wNykgKi9cbmh0bWwge1xuICAgIGJhY2tncm91bmQ6IGNvbG9ycy4kbGlnaHQtcHVycGxlLTEwMDtcbn1cblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LW9wdGljYWwtc2l6aW5nOiBhdXRvO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiB0eXBvZ3JhcGh5LiR0ZXh0LWJvZHktY29sb3I7XG4gICAgYmFja2dyb3VuZDogY29sb3JzLiRsaWdodC1wdXJwbGUtMTAwO1xufVxuXG4ubXMtZHJvcCB7XG4gICAgei1pbmRleDogMTA1MDtcbiAgICB3aWR0aDogNDAlICFpbXBvcnRhbnQ7XG5cbiAgICB1bD5saS5tdWx0aXBsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubXMtY2hvaWNlPmRpdiB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgJi5vcGVuIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnFkbmEtcGFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC8vIERvbid0IHN0cmV0Y2ggPG1haW4+IHRvIHRoZSBmbGV4IHJvdyBoZWlnaHQuIFdpdGggdGhlIGRlZmF1bHRcbiAgICAvLyBhbGlnbi1pdGVtczogc3RyZXRjaCwgYSB0YWxsIHBhZ2UgcHJvZHVjZWQgYSB+NTZweCBwaGFudG9tIG92ZXJmbG93XG4gICAgLy8gKGJvZHkgc2Nyb2xsSGVpZ2h0ID4gLnFkbmEtcGFnZSksIHdoaWNoIHB1c2hlZCB0aGUgc3RpY2t5IG5hdi1yYWlsIHVwXG4gICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgc2Nyb2xsLiBmbGV4LXN0YXJ0IGxldHMgbWFpbiB0YWtlIGl0cyBuYXR1cmFsIGhlaWdodFxuICAgIC8vIHNvIHRoZSByYWlsJ3MgYHBvc2l0aW9uOiBzdGlja3lgIHN0YXlzIHBpbm5lZCBmb3IgdGhlIGZ1bGwgc2Nyb2xsLlxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgcWRuYXByby1uYXYtcmFpbCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC8vIFRyZWF0IHRoZSByYWlsIGFzIHRoZSBTQU1FIGVsZW1lbnQgYWNyb3NzIG5hdmlnYXRpb25zOiBpbnN0ZWFkIG9mXG4gICAgICAgIC8vIGNyb3NzLWZhZGluZyB3aXRoIHRoZSByZXN0IG9mIHRoZSBwYWdlIGl0IHN0YXlzIHB1dCBhbmQgaXRzIGFjdGl2ZVxuICAgICAgICAvLyBoaWdobGlnaHQgZ2xpZGVzIHRvIHRoZSBuZXcgaXRlbS4gKE9wdGllIEIpXG4gICAgICAgIHZpZXctdHJhbnNpdGlvbi1uYW1lOiBxZG5hLW5hdi1yYWlsO1xuICAgIH1cblxuICAgIC8qIGNvbXBvbmVudHMuanMgaXMgYSBkZWZlcnJlZCBtb2R1bGUsIHNvIG9uIGV2ZXJ5IChmdWxsLXBhZ2UpIG5hdmlnYXRpb24gdGhlXG4gICAgICAgcmF3IDxxZG5hcHJvLW5hdi1yYWlsPiBleGlzdHMgZm9yIGEgYmVhdCBiZWZvcmUgaXQgdXBncmFkZXMg4oCUIHdpdGggbm8gd2lkdGhcbiAgICAgICBvciBiYWNrZ3JvdW5kIGl0IGNvbGxhcHNlcyB0aGUgbWVudSBzdHJpcCBhbmQgdGhlIGxhdmVuZGVyIHBhZ2UgYmcgZmxhc2hlc1xuICAgICAgIHRocm91Z2gsIHRoZW4gdGhlIHJhaWwgcG9wcyB0byAyMDhweCBkYXJrIHB1cnBsZSBhbmQgdGhlIGNvbnRlbnQgcmVmbG93cy5cbiAgICAgICBSZXNlcnZlIHRoZSBleHBhbmRlZCB3aWR0aCArIG5hdiBzdXJmYWNlIHVwIGZyb250IChyZW5kZXItYmxvY2tpbmcgQ1NTKSBzb1xuICAgICAgIHRoZSByYWlsIGxvb2tzIGlkZW50aWNhbCBiZWZvcmUvYWZ0ZXIgdXBncmFkZSDihpIgbm8gcmVmbG93LCBubyBmbGFzaC5cbiAgICAgICAyMDhweCA9IHRoZSBleHBhbmRlZCB3aWR0aDsgdmFyIGZhbGxiYWNrID0gdGhlIHJlc29sdmVkIC0tYy1uYXYtYmcuICovXG4gICAgcWRuYXByby1uYXYtcmFpbDpub3QoOmRlZmluZWQpIHtcbiAgICAgICAgd2lkdGg6IDIwOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLW5hdi1iZywgIzNhNDI5MCk7XG4gICAgfVxuXG4gICAgLnFkbmEtcGFnZS1jb250ZW50IHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIC8vIG92ZXJmbG93LXg6IGNsaXAga2VlcHMgd2lkZSB0YWJsZXMgLyBvdmVyZmxvd2luZyBjb250ZW50IGNvbnRhaW5lZFxuICAgICAgICAvLyBvbiB0aGUgaG9yaXpvbnRhbCBheGlzIFdJVEhPVVQgZXN0YWJsaXNoaW5nIGEgc2Nyb2xsIGNvbnRleHQgb24gdGhlXG4gICAgICAgIC8vIHZlcnRpY2FsIGF4aXMg4oCUIHRoYXQgbGV0cyBgcG9zaXRpb246IHN0aWNreWAgb24gLnFkbmEtbmF2YmFyXG4gICAgICAgIC8vIChkZWNsYXJlZCBpbnNpZGUgdGhpcyBtYWluKSBhY3R1YWxseSBzdGljayB0byB0aGUgdmlld3BvcnQgdG9wLlxuICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuIHdvdWxkIGNsaXAgYm90aCBheGVzIEFORCBraWxsIHN0aWNreS5cbiAgICAgICAgb3ZlcmZsb3cteDogY2xpcDtcbiAgICB9XG59XG5cbi8qIEZpeC1BIGNvbXBhbmlvbiBmb3IgY29sbGFwc2VkLXJhaWwgdXNlcnM6IHdoZW4gPGh0bWw+IGlzIGZsYWdnZWRcbiAgIGByYWlsLWNvbGxhcHNlZGAgKHNldCBwcmUtcGFpbnQgYnkgdGhlIGlubGluZSBzY3JpcHQgaW4gaGVhZGVyLmh0bWwsIHJlYWRpbmdcbiAgIHRoZSBzYXZlZCBsb2NhbFN0b3JhZ2UgcHJlZmVyZW5jZSksIHJlc2VydmUgdGhlIENPTExBUFNFRCByYWlsIHdpZHRoIGZvciB0aGVcbiAgIG5vdC15ZXQtdXBncmFkZWQgcmFpbCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IDIwOHB4LiBXaXRob3V0IHRoaXMgYSB1c2VyIHdob1xuICAgcHJlZmVycyB0aGUgcmFpbCBjb2xsYXBzZWQgd291bGQgc2VlIGEgMjA44oaSY29sbGFwc2VkIHJlZmxvdyBvbiBldmVyeVxuICAgbmF2aWdhdGlvbiAoYW5kIGEgdmlldy10cmFuc2l0aW9uIHNpemUgbWlzbWF0Y2gpLiA4NHB4IG11c3QgbWF0Y2ggdGhlXG4gICBjb2xsYXBzZWQgd2lkdGggaW4gX25hdi1yYWlsLnNjc3MuICovXG5odG1sLnJhaWwtY29sbGFwc2VkIC5xZG5hLXBhZ2UgcWRuYXByby1uYXYtcmFpbDpub3QoOmRlZmluZWQpIHsgd2lkdGg6IDg0cHg7IH1cblxuLnRzLXNlY3Rpb24sIC5xZG5hLXNlY3Rpb24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLnFkbmEtbmF2YmFyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDU2cHg7ICAgICAgICAgICAgICAgICAvLyBpbmR1c3RyeS1zdGFuZGFyZCBTYWFTIGhlYWRlciBoZWlnaHRcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXB1cnBsZS01MCwgI2U2ZTlmZik7XG4gICAgLy8gU3RpY2t5IG92ZXIgZml4ZWQ6IHN0YXlzIGluIGZsb3cgc28gdGhlIGNvbnRlbnQgYmVsb3cgcmVzZXJ2ZXMgaXRzXG4gICAgLy8gb3duIHNwYWNlIChubyBwYWRkaW5nLXRvcCBoYWNrKSwgc3RpbGwgcGlubmVkIHRvIHRoZSB0b3Agd2hpbGUgeW91XG4gICAgLy8gc2Nyb2xsLiB6LWluZGV4IGhpZ2ggZW5vdWdoIHRvIGNsZWFyIHBhZ2UgY29udGVudCArIHRvb2x0aXBzLCBsb3dcbiAgICAvLyBlbm91Z2ggdG8gc3RheSB1bmRlciBtb2RhbHMgKHdoaWNoIHVzZSA5MDAwKykuIFVzZWQgaW4gQkFTRSBzbyBldmVyeVxuICAgIC8vIHBhZ2UgaW4gdGhlIGJhY2tlbmQgaW5oZXJpdHMgdGhlIHNhbWUgZml4ZWQtaGVhZGVyIGJlaGF2aW91ci5cbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiA1MDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7ICAgICAgICAgIC8vIHZlcnRpY2FsbHkgY2VudGVyIGJyZWFkY3J1bWIgKyBhdmF0YXJcbiAgICBwYWRkaW5nOiAwIDE2cHg7ICAgICAgICAgICAgICAvLyB2ZXJ0aWNhbCBwYWRkaW5nIGhhbmRsZWQgYnkgZml4ZWQgaGVpZ2h0XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgLnFkbmEtYnJlYWRjcnVtYnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBhLnFkbmEtYnJlYWRjcnVtYiB7XG4gICAgICAgICAgICBjb2xvcjogdHlwb2dyYXBoeS4kdGV4dC1ib2R5LWNvbG9yO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogNHB4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2YmFyLWl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbn1cblxuLy8gSGVhZGVyIG5vdGlmaWNhdGlvbiBiZWxsICsgTm92YSBzdXBwb3J0IHRyaWdnZXI6IGJyYW5kLXB1cnBsZSBpY29uICsgdGhlIFNBTUVcbi8vIGxpZ2h0LXB1cnBsZSBob3ZlciBhcyB0aGUgcHJvZmlsZSBidXR0b24gbmV4dCB0byB0aGVtLiBPdmVycmlkZXMgdGhlIG5ldXRyYWxcbi8vIGBzdWJ0bGVgIGljb24tYnRuIGRlZmF1bHRzIChuZWFyLWJsYWNrIGljb24gKyBncmV5IGhvdmVyKS4gVGhlIGlkIGJlYXRzIHRoZVxuLy8gY29tcG9uZW50J3MgY2xhc3Mgc2VsZWN0b3JzLlxuI25hdmJhci1iZWxsLWJ0bi5xZG5hcHJvLWljb24tYnRuLFxuI25hdmJhci1ub3ZhLWJ0bi5xZG5hcHJvLWljb24tYnRuLFxuI25hdmJhci1hcHAtYnRuLnFkbmFwcm8taWNvbi1idG4ge1xuICAgIGNvbG9yOiBjb2xvcnMuJHB1cnBsZS01MDA7XG5cbiAgICAmOmhvdmVyOm5vdCguaWNvbi1idG4tZGlzYWJsZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiRsaWdodC1wdXJwbGUtMTUwO1xuICAgIH1cbn1cblxuLy8gXCJPcGVuIHRoZSBhcHBcIiBsYXVuY2hlciDigJQgdGhlIFBXQSBlbWJlZGRlZCBpbiBhIGRldmljZSBmcmFtZSB3aXRoIGEgZGV2aWNlXG4vLyBzd2l0Y2hlciAocGhvbmUgLyB0YWJsZXQtcG9ydHJhaXQgLyB0YWJsZXQtbGFuZHNjYXBlKS4gVGhpcyByZXByb2R1Y2VzIHRoZVxuLy8gZmxvdy1lZGl0b3IgcHJldmlldyBjaHJvbWUgKC5mZS1wbS0qIGluIF9mbG93ZWRpdG9yLnNjc3MpIGFzIGEgc2VsZi1jb250YWluZWRcbi8vIG92ZXJsYXkgc28gaXQgaXMgYXZhaWxhYmxlIG9uIGV2ZXJ5IGJhY2tvZmZpY2UgcGFnZS4gQmVoYXZpb3VyIGRpZmZlcnMgZnJvbVxuLy8gdGhlIHByZXZpZXcgaW4gT05FIHdheTogYmFja2Ryb3AtY2xpY2sgLyBFc2NhcGUgZG8gTk9UIGNsb3NlIChvbmx5IHRoZSBYKSDigJRcbi8vIGFwcC1sYXVuY2guanMgYmluZHMgb25seSB0aGUgWCwgYW5kIHRoZXJlIGlzIG5vIGJhY2tkcm9wIGNsb3NlIGhhbmRsZXIuIFRoZVxuLy8gZGV2aWNlIHNpemVzICsgZml0LXRvLXZpZXdwb3J0IHpvb20gbWlycm9yIHRoZSBwcmV2aWV3LiBbMjAyNi0wNy0xNl1cbi5hbC1iYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDEwMTAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTAsIDEyLCA0MCwgMC43Mik7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLy8gS2VlcCB0aGUgYmFja2Ryb3AncyBvd24gc2Nyb2xsIGZyb20gY2hhaW5pbmcgdG8gdGhlIHBhZ2UgYmVoaW5kIGl0LlxuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG5cbiAgICAvLyBbaGlkZGVuXSBtdXN0IGJlYXQgdGhlIGRpc3BsYXk6ZmxleCBhYm92ZSAoYXV0aG9yIHJ1bGUsIGhpZ2hlciBzcGVjaWZpY2l0eSkuXG4gICAgJltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4uYWwtc2hlbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbn1cblxuLy8gRGV2aWNlIHN3aXRjaGVyICsgY2xvc2UgYmFyXG4uYWwtY2hyb21lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4uYWwtZGV2aWNlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogM3B4O1xufVxuXG4uYWwtZGV2aWNlLWJ0biB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNDBtcywgY29sb3IgMTQwbXM7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTsgY29sb3I6ICNmZmY7IH1cblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMCk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICB9XG59XG5cbi5hbC1jbG9zZS1idG4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMsIGNvbG9yIDE0MG1zO1xuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpOyBjb2xvcjogI2ZmZjsgfVxufVxuXG4vLyBEZXZpY2UgZnJhbWVzIOKAlCBmaXhlZCBweCBzaXplczsgYXBwLWxhdW5jaC5qcyBhcHBsaWVzIGEgZml0LXRvLXZpZXdwb3J0IGB6b29tYFxuLy8gKG1pcnJvcnMgdGhlIHByZXZpZXcncyBGUkFNRV9IRUlHSFRTICsgQ0hST01FX09WRVJIRUFEIG1hdGgpLlxuLmFsLWZyYW1lIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogIzFhMWIyZTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjM2EzYjU1O1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNiksXG4gICAgICAgIDAgMjRweCA4MHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAyODBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSxcbiAgICAgICAgICAgICAgICBoZWlnaHQgMjgwbXMgY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSksXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1cyAyODBtcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi0tcGhvbmUge1xuICAgICAgICB3aWR0aDogMzc1cHg7XG4gICAgICAgIGhlaWdodDogODEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQ0cHg7XG4gICAgfVxuXG4gICAgJi0tdGFibGV0LXBvcnRyYWl0IHtcbiAgICAgICAgd2lkdGg6IDc2OHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMjRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICB9XG5cbiAgICAmLS10YWJsZXQtbGFuZHNjYXBlIHtcbiAgICAgICAgd2lkdGg6IDEwMjRweDtcbiAgICAgICAgaGVpZ2h0OiA3NjhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICB9XG5cbiAgICAmLS1waG9uZS1sYW5kc2NhcGUge1xuICAgICAgICB3aWR0aDogODEycHg7XG4gICAgICAgIGhlaWdodDogMzc1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gICAgfVxuXG4gICAgLy8gRGVza3RvcCDigJQgbmVhcmx5IHZpZXdwb3J0LWZpbGxpbmcgKG5vIGZpeGVkIGFzcGVjdCwgbm8gem9vbTsgQ1NTIHNpemVzIGl0KS5cbiAgICAmLS1kZXNrdG9wIHtcbiAgICAgICAgd2lkdGg6IG1pbigxNjgwcHgsIDk2dncpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxNDBweCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDExMDBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICB9XG59XG5cbi5hbC1ub3RjaCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgYmFja2dyb3VuZDogIzFhMWIyZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMThweCAxOHB4O1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAuYWwtZnJhbWUtLXRhYmxldC1wb3J0cmFpdCAmLFxuICAgIC5hbC1mcmFtZS0tdGFibGV0LWxhbmRzY2FwZSAmLFxuICAgIC5hbC1mcmFtZS0tcGhvbmUtbGFuZHNjYXBlICYsXG4gICAgLmFsLWZyYW1lLS1kZXNrdG9wICYgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi5hbC1zY3JlZW4ge1xuICAgIGZsZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLy8gVGhlIG5vbi1waG9uZS1wb3J0cmFpdCBmcmFtZXMgaGlkZSB0aGUgbm90Y2gvaG9tZS1iYXIsIHNvIHRoZSBQV0Egc2l0cyBmbHVzaFxuLy8gYWdhaW5zdCB0aGUgZnJhbWUgZWRnZSAoYW5kIHRoZSByb3VuZGVkIGNvcm5lciBjbGlwcyBjb250ZW50LCBlLmcuIFwiVmFuZGFhZ1wiXG4vLyBpbiBsYW5kc2NhcGUpLiBJbnNldCB0aGUgKHdoaXRlKSBzY3JlZW4gYSBsaXR0bGUgZm9yIGJyZWF0aGluZyByb29tIOKAlCB0aGVcbi8vIHBob25lLXBvcnRyYWl0IGtlZXBzIGl0cyBub3RjaC9ob21lLWJhciBiZXplbCBpbnN0ZWFkLiBib3gtc2l6aW5nIHNvIHRoZVxuLy8gcGFkZGluZyBkb2Vzbid0IHB1c2ggdGhlIDEwMCUtd2lkZSBzY3JlZW4gcGFzdCB0aGUgZnJhbWUuXG4uYWwtZnJhbWUtLXRhYmxldC1wb3J0cmFpdCA+IC5hbC1zY3JlZW4sXG4uYWwtZnJhbWUtLXRhYmxldC1sYW5kc2NhcGUgPiAuYWwtc2NyZWVuLFxuLmFsLWZyYW1lLS1kZXNrdG9wID4gLmFsLXNjcmVlbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAyMnB4O1xufVxuLmFsLWZyYW1lLS1waG9uZS1sYW5kc2NhcGUgPiAuYWwtc2NyZWVuIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDE2cHg7XG59XG5cbi5hbC1pZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hbC1ob21lLWJhciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogNXB4O1xuICAgIG1hcmdpbjogOHB4IGF1dG87XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgICAuYWwtZnJhbWUtLXRhYmxldC1wb3J0cmFpdCAmLFxuICAgIC5hbC1mcmFtZS0tdGFibGV0LWxhbmRzY2FwZSAmLFxuICAgIC5hbC1mcmFtZS0tcGhvbmUtbGFuZHNjYXBlICYsXG4gICAgLmFsLWZyYW1lLS1kZXNrdG9wICYgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi8vIExpdmUtbW9kZSB3YXJuaW5nIOKAlCBhIGJhY2tvZmZpY2UgZWxlbWVudCBwb3NpdGlvbmVkIE9WRVIgdGhlIGRldmljZSBzY3JlZW5cbi8vIChub3QgaW5zaWRlIHRoZSBQV0EpLiBTb2xpZCBtdXRlZCByZWQsIHdhcm5pbmcgaWNvbiwgT0sgKyB+NHMgYXV0by1kaXNtaXNzLlxuLy8gU2hvd24vaGlkZGVuIGJ5IGFwcC1sYXVuY2guanMgdmlhIHRoZSAtLXNob3cgY2xhc3M7IHNpdHMganVzdCBiZWxvdyB0aGUgbm90Y2hcbi8vIGFuZCBjbGlwcyB0byB0aGUgZnJhbWUncyByb3VuZGVkIGNvcm5lcnMgKC5hbC1mcmFtZSBpcyBvdmVyZmxvdzpoaWRkZW4pLlxuLmFsLWxpdmUtbm90aWNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0NnB4O1xuICAgIGxlZnQ6IDEycHg7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgei1pbmRleDogMztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjYjA0YTQyO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjI4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMjBtcyBlYXNlLCB0cmFuc2Zvcm0gMjIwbXMgZWFzZTtcblxuICAgICYtLXNob3cge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7IHRyYW5zaXRpb246IG5vbmU7IH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAmX19ib2R5IHsgZmxleDogMSAxIGF1dG87IG1pbi13aWR0aDogMDsgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCAzcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICAgIGNvbG9yOiAjZmJlNmU0O1xuICAgIH1cblxuICAgICZfX29rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA1cHggMThweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMgZWFzZTtcblxuICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KTsgfVxuICAgICAgICAmOmFjdGl2ZSB7IHRyYW5zZm9ybTogc2NhbGUoMC45OCk7IH1cbiAgICB9XG5cbiAgICAvLyBUYWJsZXRzOiBrZWVwIHRoZSBub3RpY2UgYSBjb21mb3J0YWJsZSByZWFkaW5nIHdpZHRoIGluc3RlYWQgb2YgZnVsbC1ibGVlZC5cbiAgICAuYWwtZnJhbWUtLXRhYmxldC1wb3J0cmFpdCAmLFxuICAgIC5hbC1mcmFtZS0tdGFibGV0LWxhbmRzY2FwZSAmIHtcbiAgICAgICAgbGVmdDogMTZweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICB9XG59XG5cbi8vIFRoZSBOb3ZhIHN1cHBvcnQgdHJpZ2dlciBwdWxzZXMgZ2VudGx5IHNvIGl0IHJlYWRzIGFzIFwiYXNrIG1lXCIuIFBhdXNlcyBvblxuLy8gaG92ZXIgKHNvIHRoZSBob3ZlciBzdGF0ZSB0YWtlcyBvdmVyIGNsZWFubHkpIGFuZCByZXNwZWN0cyByZWR1Y2VkLW1vdGlvbi5cbkBrZXlmcmFtZXMgbm92YS1zb2Z0LXB1bHNlIHtcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICA1MCUgICAgICB7IHRyYW5zZm9ybTogc2NhbGUoMS4xMik7IH1cbn1cblxuI25hdmJhci1ub3ZhLWJ0bi5xZG5hcHJvLWljb24tYnRuIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uOiBub3ZhLXNvZnQtcHVsc2UgMi42cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblxuICAgICY6aG92ZXIgeyBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkOyB9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgI25hdmJhci1ub3ZhLWJ0bi5xZG5hcHJvLWljb24tYnRuIHsgYW5pbWF0aW9uOiBub25lOyB9XG59XG5cbi8vIE5vdGlmaWNhdGlvbiBkcm9wZG93bjogZnJvc3RlZCBnbGFzcyDigJQgbW9yZSB0cmFuc2x1Y2VudCAobGVzcyBzb2xpZCkgKyBzdHJvbmdlclxuLy8gYmx1ciwgbm8gd2hpdGUgYm9yZGVyLCBubyBpbnNldCBwYWRkaW5nIHNvIHRoZSBoZWFkZXIgZmlsbHMgdG8gdGhlIHRvcC9zaWRlcy5cbiNuYXZiYXItbm90aWZpY2F0aW9uLW1lbnUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ3LCAyNDgsIDI1MywgMC41KSAhaW1wb3J0YW50O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyOHB4KSBzYXR1cmF0ZSgxLjUpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDI4cHgpIHNhdHVyYXRlKDEuNSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDQwcHggcmdiYSg0MCwgNDYsIDEwMCwgMC4xOCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7ICAgLy8gcmVtb3ZlIHRoZSBxZG5hcHJvLW1lbnUgOHB4IGluc2V0IOKGkiBoZWFkZXIgZmlsbHMgZmx1c2hcblxuICAgIC8vIFN1YnRsZSBzY3JvbGxiYXIgd2l0aCBhIHRyYW5zcGFyZW50IHRyYWNrIChub3QgdGhlIHByb21pbmVudCBkZWZhdWx0KS5cbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiByZ2JhKDQwLCA0NiwgMTAwLCAwLjI1KSB0cmFuc3BhcmVudDtcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7IHdpZHRoOiA4cHg7IH1cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgeyBiYWNrZ3JvdW5kOiByZ2JhKDQwLCA0NiwgMTAwLCAwLjI1KTsgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDQwLCA0NiwgMTAwLCAwLjQpOyB9XG59XG5cbi51c2VyLXByb2ZpbGUtZHJvcGRvd24ge1xuICAgIC51c2VyLXByb2ZpbGUtYnRuIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3JzLiRwdXJwbGUtNTAwO1xuICAgICAgICBjb2xvcjogY29sb3JzLiRwdXJwbGUtNTAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIGltZy5wcm9maWxlLXBpY3R1cmUge1xuICAgICAgICAgICAgd2lkdGg6IDI5cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI5cHg7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoaW5maW5pdHkgKiAxcHgpO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZmlsZS1jb250ZW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9ycy4kbGlnaHQtcHVycGxlLTE1MDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51c2VyLXByb2ZpbGUtZGV0YWlscyB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAudXNlci1jYXJkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICB3aWR0aDogMzAxcHg7XG5cbiAgICAgICAgICAgIC51c2VyLWltYWdlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgaW1nLmltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEyNHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEyNHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zZXR0aW5ncy1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjFGMjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtOHB4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC04cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudXNlci1pbmZvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIC5pbmZvLW5hbWUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzIwMjEyNDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaW5mby1lbWFpbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNkI3MjgwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRzLWxvYWQtbGFyZ2UsIC50cy1sb2FkLXN0YXR1c2JhciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi0taW4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbi50cy1sb2FkZXIsIC50cy1sb2FkZXI6YWZ0ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMTBlbTtcbiAgICBoZWlnaHQ6IDEwZW07XG59XG4udHMtbG9hZGVyIHtcbiAgICAvLyBtYXJnaW46IDYwcHggYXV0bztcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OWVtO1xuICAgIGJvcmRlci10b3A6IDEuMWVtIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBib3JkZXItcmlnaHQ6IDEuMWVtIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBib3JkZXItYm90dG9tOiAxLjFlbSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgYm9yZGVyLWxlZnQ6IDEuMWVtIHNvbGlkICNmZmZmZmY7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGxvYWQ4IDEuMXMgaW5maW5pdGUgbGluZWFyO1xuICAgIGFuaW1hdGlvbjogbG9hZDggMS4xcyBpbmZpbml0ZSBsaW5lYXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZDgge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuQGtleWZyYW1lcyBsb2FkOCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi5mbGFzaC1tZXNzYWdlIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDI0cHg7XG5cbiAgICAuYWxlcnQge1xuICAgICAgICBwYWRkaW5nOiA4cHggMjRweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbn1cblxuLy8gS3dhbGl0ZWl0c2xhbmRzY2hhcMKuLW5hdi1pdGVtOiBoZXQgbGFuZ2Ugd29vcmQgKyDCriBwYXN0IG7DqXQgbmlldCBiaW5uZW4gS2ltc1xuLy8gMjA4cHgtcmFpbCBvcCBkZSBzdGFuZGFhcmQgMTRweCAobGFiZWwgZWxsaXBzdCDihpIgZGUgwq4gdmVyZHdlZW4pLiBBbGzDqcOpbiBkaXRcbi8vIGl0ZW0gZWVuIGZyYWN0aWUga2xlaW5lciArIHN0cmFra2VyIGdlc3BhdGllZXJkIHpvZGF0IFwiS3dhbGl0ZWl0c2xhbmRzY2hhcMKuXCJcbi8vIHZvbGxlZGlnIHppY2h0YmFhciBpczsgRE9NLWdlbWV0ZW4gcGFzc2VuZCBvcCAxMi41cHgvLTAuMDE1ZW0uIFtKYW4gMjAyNi0wNy0xN11cbnFkbmFwcm8tbmF2LWl0ZW1baHJlZj1cIi92MS9rd2FsaXRlaXRzbGFuZHNjaGFwXCJdIC5uYXYtaXRlbS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNWVtO1xufVxuXG4vLyBUaW55TUNFIChxZG5hcHJvLXd5c2l3eWcpIHJlbmRlcnMgaXRzIG1lbnUvZHJvcGRvd24gcG9wdXBzIGludG8gYW4gYXV4IHNpbmtcbi8vIGFwcGVuZGVkIHRvIDxib2R5PiBhdCBhIGxvdyBkZWZhdWx0IHotaW5kZXggKH4xMzAwKS4gV2hlbiB0aGUgZWRpdG9yIHNpdHNcbi8vIGluc2lkZSBhIHFkbmFwcm8tbW9kYWwgKGJhY2tkcm9wIHotaW5kZXggOTAwMCwgaW5uZXIgdXAgdG8gOTMwMCkgdGhvc2UgbWVudXNcbi8vIChGb3JtYXQg4oaSIFRleHQgY29sb3IsIFRhYmxlLCBldGMuKSBmYWxsIEJFSElORCB0aGUgbW9kYWwuIExpZnQgdGhlIHNpbmsgYWJvdmVcbi8vIGV2ZXJ5IG1vZGFsLiBHbG9iYWwg4oCUIGFwcGxpZXMgdG8gZXZlcnkgd3lzaXd5Zy1pbi1tb2RhbCAoYnJpZWZpbmcvaW5zdHJ1Y3RpZXMpLlxuLy8gW0phbiAyMDI2LTA3LTE3XVxuLnRveC50b3gtc2lsdmVyLXNpbmssXG4udG94LXRpbnltY2UtYXV4IHtcbiAgICB6LWluZGV4OiAxMDAwMDAgIWltcG9ydGFudDtcbn1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQWJvdXQgUUROQSBQcm8g4oCUIGNvbnRlbnQgb2YgI2Fib3V0LXFkbmEtbW9kYWwgKGJhc2UuaHRtbCksIG9wZW5lZCBmcm9tIHRoZVxuLy8gdmVyc2lvbiBibG9jayBhdCB0aGUgYm90dG9tIG9mIHRoZSBuYXYgcmFpbC4gW0phbiAyMDI2LTA3LTI0XVxuLy9cbi8vIE9ubHkgdGhlIG1vZGFsJ3MgQ09OVEVOVCBpcyBzdHlsZWQgaGVyZSDigJQgdGhlIHNoZWxsIChiYWNrZHJvcCwgaGVhZGVyIHdpdGhcbi8vIHRpdGxlICsgY2xvc2UtWCwgc2l6aW5nLCBkaXNtaXNzKSBpcyB0aGUgcWRuYXByby1tb2RhbCBjb21wb25lbnQncyBvd24uXG4vLyBDb2xvdXJzIGFyZSB0aGUgaG91c2UgdG9rZW5zIHRoZSByZXN0IG9mIHRoZSBhcHAgYWxyZWFkeSB1c2VzIChicmFuZCAjNDA0OTlhLFxuLy8gbGF2ZW5kZXIgI2VkZWVmYiwgaGFpcmxpbmUgI2UyZTJmMCwgaW5rICMyMzI1M2EsIG11dGVkICM2YjY4ODQpLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYWJvdXQtcWRuYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmFib3V0LXFkbmFfX2Nyb3duIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG59XG4uYWJvdXQtcWRuYV9fbG9ja3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDlweDtcbiAgICBjb2xvcjogIzQwNDk5YTtcbn1cbi8vIFRoZSBjb21wb25lbnQgbGlicmFyeSBoYXMgYSBRRE5BIHdvcmRtYXJrIGJ1dCBubyBcIlFETkEgUHJvXCIgbG9ja3VwLCBzbyBcIlByb1wiXG4vLyBpcyB0eXBlc2V0IGFsb25nc2lkZSBpdC4gU3dhcCBib3RoIGZvciB0aGUgcmVhbCBsb2NrdXAgaWYgb25lIGV2ZXIgc2hpcHMuXG4uYWJvdXQtcWRuYV9fcHJvIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzQwNDk5YTtcbn1cbi5hYm91dC1xZG5hX190YWdsaW5lIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICM2YjY4ODQ7XG59XG5cbi8vIFZlcnNpb24gaXMgdGhlIGhlcm86IHRoZSBvbmUgdGhpbmcgYW55b25lIGFjdHVhbGx5IG9wZW5zIHRoaXMgZGlhbG9nIGZvci5cbi5hYm91dC1xZG5hX192ZXJzaW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDEwcHg7XG59XG4uYWJvdXQtcWRuYV9fbnVtIHtcbiAgICBmb250LXNpemU6IDM4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzIzMjUzYTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuLmFib3V0LXFkbmFfX2NoYW5uZWwge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBjb2xvcjogIzQwNDk5YTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDY0LCA3MywgMTU0LCAwLjEwKTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiA0cHggOXB4O1xufVxuXG4uYWJvdXQtcWRuYV9fZ3JpZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmN2ZiO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgPiBkaXYge1xuICAgICAgICBwYWRkaW5nOiAxMXB4IDhweCAxMnB4O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZjA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgPiBkaXY6Zmlyc3QtY2hpbGQgeyBib3JkZXItbGVmdDogMDsgfVxuXG4gICAgZHQge1xuICAgICAgICBtYXJnaW46IDAgMCA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgICAgICAgY29sb3I6ICM4YThmYjU7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAjMjMyNTNhO1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG59XG5cbi5hYm91dC1xZG5hX19hY3Rpb25zIHFkbmFwcm8taWNvbiB7IG1hcmdpbi1yaWdodDogNnB4OyB9XG5cbi5hYm91dC1xZG5hX19jb250YWN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjNDA0OTlhO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgfVxufVxuLmFib3V0LXFkbmFfX2RvdCB7IGNvbG9yOiAjYzNjM2Q2OyB9XG5cbi5hYm91dC1xZG5hX19mb290ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmYwO1xufVxuLmFib3V0LXFkbmFfX2J5ICAgIHsgbWFyZ2luOiAwOyBmb250LXNpemU6IDEyLjVweDsgY29sb3I6ICM2YjY4ODQ7IH1cbi5hYm91dC1xZG5hX19jb3B5ICB7IG1hcmdpbjogMCAwIDZweDsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogIzhhOGZiNTsgfVxuLmFib3V0LXFkbmFfX2V5ZWJyb3cge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDllbTtcbiAgICBjb2xvcjogIzhhOGZiNTtcbn1cblxuLy8gQ2VydGlmaWNhdGlvbiBhcnR3b3JrIGlzIHRyYWRlbWFyay1jb250cm9sbGVkIOKAlCBuZXZlciByZWNvbG91cmVkLCBuZXZlclxuLy8gdGhlbWVkIOKAlCBzbyBpdCBhbHdheXMgc2l0cyBvbiBpdHMgb3duIGxpZ2h0IHBsYXRlLiBBbGwgZm91ciBQTkdzIGFyZSBjcm9wcGVkXG4vLyB0byBhbiBpZGVudGljYWwgaGVpZ2h0L3JhdGlvICh3ZWIvaW1nL2NlcnRpZmljYXRpb25zLyksIHNvIE9ORSBjc3MgaGVpZ2h0XG4vLyByZW5kZXJzIGZvdXIgb3B0aWNhbGx5IGVxdWFsIG1hcmtzLlxuLmFib3V0LXFkbmFfX3BsYXRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTdmMjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEycHggMThweDtcblxuICAgIGltZyB7IGhlaWdodDogNThweDsgd2lkdGg6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyB9XG59XG4uYWJvdXQtcWRuYV9fc3RhbmRhcmRzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICM4YThmYjU7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gICAgLmFib3V0LXFkbmFfX3BsYXRlIHtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG5cbiAgICAgICAgaW1nIHsgaGVpZ2h0OiA0NHB4OyB9XG4gICAgfVxufVxuIiwiLmRlZmF1bHQtb3ZlcnZpZXcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgLy8gV2FzIGBjYWxjKDEwMHZoICsgMTAwcHgpYCDigJQgYSBsZWdhY3kgaGFjayB0aGF0IHJlc2VydmVkIDEwMHB4IEFCT1ZFXG4gICAgLy8gdmlld3BvcnQsIHdoaWNoIGNvbWJpbmVkIHdpdGggdGhlIDU2cHggc3RpY2t5IG5hdmJhciBnYXZlIGV2ZXJ5XG4gICAgLy8gLmRlZmF1bHQtb3ZlcnZpZXcgcGFnZSBhIDE1NnB4IGJvZHkgb3ZlcnNob290ICh2aXNpYmxlIHNjcm9sbCBiYXIsXG4gICAgLy8gbmF2YmFyIHdvdWxkIGFwcGVhciB0byBzY3JvbGwgb2ZmLXNjcmVlbiBhcyB0aGUgdXNlciByZWFjaGVkIHRoZVxuICAgIC8vIGJvdHRvbSBvZiBib2R5KS4gQ29uc3RyYWluZWQgdG8gXCJ2aWV3cG9ydCBtaW51cyBuYXZiYXJcIiBzbyB0aGVcbiAgICAvLyBvdmVydmlldyBmaXRzIGV4YWN0bHkgb25lIHNjcmVlbiBhbmQgc2Nyb2xscyBpbnRlcm5hbGx5IHZpYVxuICAgIC8vIG92ZXJmbG93LXk6IGF1dG8uIChLaW0gMjAyNi0wNi0wNy4pXG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNTZweCk7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXG4gICAgLm92ZXJ2aWV3LXBhbmVsLWxlZnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgbWFyZ2luOiAwcHggOHB4IDBweCAwcHg7XG4gICAgfVxuXG4gICAgLm92ZXJ2aWV3LXBhbmVsLWNlbnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICBmbGV4OiAzO1xuXG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgIH1cblxuICAgID4gLm92ZXJ2aWV3LWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAgICAgPiAjaGVhZGVyLXBhbmVsLWxlZnQge1xuICAgICAgICAgICAgZ2FwOiAxNnB4O1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOjRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAjaGVhZGVyLXBsLW9wdGlvbnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3c7XG5cbiAgICAgICAgICAgICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+ICNoZWFkZXItcGFuZWwtbGVmdC5oaWRkZW4tY29udGVudCB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gI2hlYWRlci1wYW5lbC1jZW50ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgICAgICAgICAgID4gI2hlYWRlci1wYy1mdW5jdGlvbnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwO1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIHZlcnRpY2FsbHkgY2VudGVyIHRoZSBvcHRpb24gYnV0dG9ucyB3aXRoIHRoZSBzZWFyY2ggYm94XG4gICAgICAgICAgICAgICAgZ2FwOiA0cHg7ICAgICAgICAgICAgIC8vIHNpdCBhIHRvdWNoIGNsb3NlciB0byB0aGUgc2VhcmNoIGJveFxuXG4gICAgICAgICAgICAgICAgPiAjaGVhZGVyLXBjLXNlYXJjaCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gI2hlYWRlci1wYy1vcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIEFkdmFuY2VkLXNlYXJjaCB0b2dnbGU6IHNsaWdodGx5IGxhcmdlciBpY29uIChKYW4pLlxuICAgICAgICAgICAgICAgICAgICA+ICNoZWFkZXItcGMtYnRuLWFkdmFuY2VkLXNlYXJjaCAuYnRuLWljb24tcHJlZml4IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAjaGVhZGVyLXBjLWZpbHRlcnMge1xuICAgICAgICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiAub3ZlcnZpZXctYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogMDtcblxuICAgICAgICAvLyBMZWZ0XG4gICAgICAgID4gI2JvZHktcGFuZWwtbGVmdCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtOXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4O1xuXG4gICAgICAgICAgICA+ICNib2R5LXBsLXNlYXJjaCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHg7XG5cbiAgICAgICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAjYm9keS1wbC1ub25lIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDhweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBociB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNEOURCRUI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycHggYXV0byAwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDk0JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiAjYm9keS1wbC1kYXRhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgIC5ib2R5LXBsLWRhdGEtcmVjb3JkIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMTJweCA2cHggMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5ib2R5LXBsLWRhdGEtcmVjb3JkOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjFGMjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYm9keS1wbC1kYXRhLXJlY29yZC5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMUYyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENlbnRlclxuICAgICAgICA+ICNib2R5LXBhbmVsLWNlbnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAgICAgICAgID4gI2JvZHktcGMtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweDtcblxuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgLmJvZHktcGMtaGVhZGVyLW9wdGlvbi1ncm91cCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiAjYnRuLXBjLWhlYWRlci1vcHRpb25zLWFkZC1leGlzdGluZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuYm9keS1wYy1oZWFkZXItY2hlY2tlZC1vcHRpb24tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgICAgID4gcWRuYS1sYWJlbCNsYmwtY2hlY2tlZC1vcHRpb25zLWNvdW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjYm9keS1wYy1oZWFkZXItb3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgID4gLmJvZHktcGMtaGVhZGVyLW9wdGlvbi1ncm91cDpub3QoOm9ubHktY2hpbGQpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICNib2R5LXBjLWhlYWRlci1jaGVja2VkLW9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gI2JvZHktcGMtZGF0YSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgPiB0YWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zcGFjaW5nOiAwIDFweDtcblxuICAgICAgICAgICAgICAgICAgICA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RBREFEQTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICA+IHRib2R5ID4gdHIgPiB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMUYyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMUYyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiAubG9hZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNnB4IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjaztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IHJvdGF0aW9uIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAa2V5ZnJhbWVzIHJvdGF0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgMCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgICAgICAgICAgICAgICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUYWJsZSB2aWV3IOKAlCB3aGl0ZSBiYWNrZ3JvdW5kIG9uIGhlYWRlciBhbmQgZGF0YSBhcmVhXG4gICAgICAgICAgICAmLnRhYmxlLXZpZXcge1xuICAgICAgICAgICAgICAgID4gI2JvZHktcGMtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gI2JvZHktcGMtZGF0YSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENhcmQgdmlldyAodG9nZ2xlZCBvciBvbmx5KSDigJQgdHJhbnNwYXJlbnQsIGNhcmRzIGhhbmRsZSB0aGVpciBvd24gYmdcbiAgICAgICAgICAgICY6bm90KC50YWJsZS12aWV3KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICA+ICNib2R5LXBjLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgPiAub3ZlcnZpZXctZm9vdGVyIHtcbiAgICAgICAgLy8gUG9zaXRpb24gb25seSDigJQgbGV0IHFkbmFwcm8tYWN0aW9uLWJhciBoYW5kbGUgaXRzIG93blxuICAgICAgICAvLyBiYWNrZ3JvdW5kLCBwYWRkaW5nLCBib3JkZXIsIGdhcCwgYW5kIHNoYWRvdy5cbiAgICAgICAgI2Zvb3Rlci1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogNDhweDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDUwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udG90YWwtZGF0YSB7XG4gICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG59XG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxudGguY2hlY2tib3gge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG4gICAgcWRuYS1pbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5wYy1kYXRhLXRhYmxlLWNlbGwge1xuICAgICYuYmlnZ2VyIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwcHggMTZweCAwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBxZG5hLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxufVxuXG50YWJsZSNib2R5LXBjLWRhdGEtdGFibGUge1xuICAgIHRoZWFkIHRyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIHRib2R5IHRyW2RhdGEtaWRdIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cblxuLmNyZWF0aW9uLXJvdyB7XG4gICAgcGFkZGluZzogOHB4O1xufVxuXG4uY3JlYXRpb24tcm93Omxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xufVxuXG4uaWQtY29sdW1uIHtcbiAgICB3aWR0aDogODJweDtcbn1cblxuI2JvZHktcGMtZGF0YS1jYXJkcyxcbiNkZWZhdWx0LW92ZXJ2aWV3LW9wdGlvbnNib3gge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgIGdhcDogMTZweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG4vKiA9PT09PT09PT09ICBTaWRlLXBhbmVsIHNob3cvaGlkZSBhbmltYXRpb24gKEphbiAyMDI2LTA2LTE3KSAgPT09PT09PT09PVxuICAgVGhlIGxlZnQvcmlnaHQgb3ZlcnZpZXcgc2lkZSBwYW5lbHMgKFRlYW1zL0xvY2F0aWVzL1VuaXRzIGxpc3QpIGFyZSB0b2dnbGVkXG4gICB2aWEgdGhlIGAuaGlkZGVuYCBjbGFzcyAoZ2xvYmFsbHkgYGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50YCkuIFRvIG1ha2UgdGhlXG4gICBXSE9MRSByb3cgZmVlbCBmbHVpZCDigJQgcGFuZWwgQU5EIHRoZSBuZWlnaGJvdXJpbmcgbGlzdCBtb3ZpbmcgdG9nZXRoZXIg4oCUXG4gICB3ZSBkb24ndCBwb3AgdGhlIHBhbmVsIGluL291dCB3aXRoIGRpc3BsYXkuIEluc3RlYWQsIHVuZGVyIG5vLXByZWZlcmVuY2Ugd2VcbiAgIG92ZXJyaWRlIGAuaGlkZGVuYCB0byBrZWVwIHRoZSBwYW5lbCBpbiBmbG93IGF0IHplcm8gd2lkdGggYW5kIGFuaW1hdGUgaXRzXG4gICBgZmxleC1ncm93YCAoMOKGlDEpICsgb3BhY2l0eS4gQmVjYXVzZSB0aGUgcGFuZWwgYW5kIHRoZSBjZW50ZXIgbGlzdCBzaGFyZSBvbmVcbiAgIGZsZXggcm93LCB0aGUgYnJvd3NlciByZWRpc3RyaWJ1dGVzIHRoZSBmcmVlZC9jbGFpbWVkIHNwYWNlIGZyYW1lLWJ5LWZyYW1lLFxuICAgc28gdGhlIGxpc3QgZ2xpZGVzIHRvIGl0cyBuZXcgd2lkdGggaW5zdGVhZCBvZiBzbmFwcGluZy4gYG92ZXJmbG93OmhpZGRlbmBcbiAgIGNsaXBzIHRoZSBjb250ZW50IHdoaWxlIHRoZSBib3ggaXMgbmFycm93ZXIgdGhhbiBpdHMgY29udGVudDsgYG1pbi13aWR0aDowYFxuICAgKGFscmVhZHkgb24gdGhlIHBhbmVsKSBsZXRzIGl0IGNvbGxhcHNlIGZ1bGx5LiBUaGUgXCJoaWRkZW5cIiBwYW5lbCBzdGF5cyBhdFxuICAgMCB3aWR0aCAvIG9wYWNpdHkgMCAvIHBvaW50ZXItZXZlbnRzOm5vbmUg4oCUIHZpc3VhbGx5IGdvbmUsIG5vIGxheW91dCBjb3N0LlxuICAgVW5kZXIgYHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZWAgdGhpcyB3aG9sZSBibG9jayBpcyBza2lwcGVkLCBzbyB0aGVcbiAgIGdsb2JhbCBgLmhpZGRlbiB7IGRpc3BsYXk6bm9uZSB9YCBhcHBsaWVzIGFuZCB0aGUgdG9nZ2xlIGlzIGluc3RhbnQuICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAuZGVmYXVsdC1vdmVydmlldyB7XG4gICAgICAgIC5vdmVydmlldy1wYW5lbC1sZWZ0LFxuICAgICAgICAub3ZlcnZpZXctcGFuZWwtcmlnaHQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGZsZXgtZ3JvdyAyNjBtcyBlYXNlLCBvcGFjaXR5IDIwMG1zIGVhc2UsIG1hcmdpbiAyNjBtcyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm92ZXJ2aWV3LXBhbmVsLWxlZnQuaGlkZGVuLFxuICAgICAgICAub3ZlcnZpZXctcGFuZWwtcmlnaHQuaGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgLyogYmVhdCBnbG9iYWwgLmhpZGRlbiB7IGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50IH0gKi9cbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnLi4vLi4vbW9kdWxlcy9jb2xvcnMuc2Nzcyc7XG5AdXNlIFwic2Fzczpjb2xvclwiO1xuXG4kY29ybmZsb3dlckJsdWU6ICAgIzQwNDk5YTtcbiRtdXRlZC10ZXh0OiAgICAgICAjNzk3OTc5O1xuJHNpZGViYXItaGVhZGVyOiAgICRjb3JuZmxvd2VyQmx1ZTtcbiRjb2xvci1wcmltYXJ5OiAgICAkY29ybmZsb3dlckJsdWU7XG4kY29sb3ItZGFuZ2VyOiAgICAgJGNvcm5mbG93ZXJCbHVlO1xuJGJnLWRhc2hib2FyZEl0ZW06ICNlMWUxZTE7XG4kYmctaWNvbjogICAgICAgICAgIzQ2NDY0NjtcbiR0b29sYmFyLWJnOiAgICAgICAjNTU1O1xuJHRvb2xiYXItYm9yZGVyOiAgIGNvbG9yLmFkanVzdCgkdG9vbGJhci1iZywgJGxpZ2h0bmVzczogMjAlKTtcblxuJXNsaWNrLWFycm93IHtcbiAgICBmb250LXNpemU6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogLjI1O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAyNHB4LzEgXCJNYXRlcmlhbCBEZXNpZ24gSWNvbnNcIjtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG59XG5cbiVoZWFkZXItZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZDogJGJnLWRhc2hib2FyZEl0ZW07XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoY29sb3JzLiRibGFjaywgLjIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiV0c2EtZGFzaGJvYXJkLWl0ZW0ge1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICRtdXRlZC10ZXh0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC41cztcbn1cblxuLnRzLWF1dG9tZXRyaWNzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC50c2Etc2lkZWJhciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgZmxleDogMCAwIDE1MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyMDBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHNhLW1haW4ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3JzLiR3aGl0ZTtcblxuICAgICAgICAudHNhLXRvb2xiYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvb2xiYXItYmc7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgICAgICAgICBjb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICAgICAuc2xpY2stc2xpZGVyIHsgZGlzcGxheTogZmxleDsgfVxuXG4gICAgICAgICAgICAmLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBib3JkZXItbGVmdDogMXB4IHNvbGlkICR0b29sYmFyLWJvcmRlcjsgfVxuXG4gICAgICAgICAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogNnB4O1xuXG4gICAgICAgICAgICAgICAgICAgIC5jbGVhcmZpeCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNsaWNrLWZpeCB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLWxlZnQ6IDhweDsgfVxuXG4gICAgICAgICAgICAmLWJ0biB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IuYWRqdXN0KCR0b29sYmFyLWJnLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvci5hZGp1c3QoJHRvb2xiYXItYmcsICRsaWdodG5lc3M6IC02JSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy4kd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3M7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogY29sb3IuYWRqdXN0KCR0b29sYmFyLWJnLCAkbGlnaHRuZXNzOiAtMTQlKTsgfVxuXG4gICAgICAgICAgICAgICAgJi1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRob3Y6IGNvbG9yLmFkanVzdCgkY29sb3ItcHJpbWFyeSwgJGxpZ2h0bmVzczogLTQlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3YgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGhvdiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1tb2RhbCB7XG5cdFx0Ji5tb2RhbCB7XG5cdFx0XHQubW9kYWwtY29udGVudCB7XG5cdFx0XHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0XHR9XG5cdFx0XHQubW9kYWwtaGVhZGVyIHtcblx0XHRcdFx0Z2FwOiA4cHg7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMCAwLjVyZW0gIWltcG9ydGFudDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0Lm1vZGFsLXRpdGxlIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGltZy50cy1yb3VuZGVkIHsgXG5cdFx0XHRcdHdpZHRoOiAzNnB4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdFx0XHR9XG5cdFx0XHQubW9kYWwtYm9keSB7XG5cdFx0XHRcdC50YWJsZSB0ZCwgLnRhYmxlIHRoIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0cGFkZGluZzogLjVyZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZm9ybS1zZXR0aW5nLWZpZWxkIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwLjVyZW0gMHJlbTtcblx0XHRcdFx0XHRnYXA6IDAuNzVyZW07XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdHdpZHRoOiA3NSU7XG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHRcdGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxcmVtO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxcmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Lm1vZGFsLWZvb3RlciB7XG5cdFx0XHRcdHBhZGRpbmc6IDAuNXJlbSAwIDAgIWltcG9ydGFudDtcblx0XHRcdH1cblxuXHRcdFx0XG5cdFx0XHQubW9kYWwtaWNvbiB7XG5cdFx0XHRcdHBhZGRpbmc6IDhweCAxNnB4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi50c2EtdHlwZS1zZWxlY3RlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGEgeyBtYXJnaW4tbGVmdDogOHB4OyB9XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkIGNvbG9ycy4kYm9yZGVyLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAgICAgaW1nICAgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH1cbiAgICAgICAgc3BhbiAgeyBmb250LXNpemU6IDExcHg7IH1cbiAgICB9XG59XG5cbi50c2EtdHlwZS1zZWxlY3RvciB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgY29sb3JzLiRib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZDogY29sb3IuYWRqdXN0KGNvbG9ycy4kd2hpdGUsICRsaWdodG5lc3M6IC00JSk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICYtY2F0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9ycy4kd2hpdGU7XG5cbiAgICAgICAgICAgICYtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1oZWFkZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9ycy4kd2hpdGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtbGlzdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAzMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcblxuICAgICAgICAgICAgICAgICAgICAudHNhLWNoYXJ0dHlwZS1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUgeyBiYWNrZ3JvdW5kOiBjb2xvci5hZGp1c3QoY29sb3JzLiR3aGl0ZSwgJGxpZ2h0bmVzczogLTQlKTsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRzYS1kYXNoYm9hcmQge1xuICAgIHBhZGRpbmc6IDE1cHggMTVweCAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udHNhLWRhc2hib2FyZC10aGVtZXMge1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgd2lkdGg6IDUwJTtcblxuICAgICYtY29sb3Ige1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjI1cmVtOyB9XG4gICAgICAgICY6bGFzdC1jaGlsZCAgeyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjI1cmVtOyB9XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgICBtYXgtd2lkdGg6IDIzLjY5OSU7XG4gICAgICAgIHdpZHRoOiAyMy42OTklO1xuICAgICAgICBtYXJnaW46IDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDFzO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCAgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgJi5zZWxlY3RlZCAgICB7IGJveC1zaGFkb3c6IDAgMCAxMHB4IGNvbG9ycy4kbGlnaHQtZ3JleTsgfVxuICAgICAgICAmOmhvdmVyICAgICAgIHsgYm94LXNoYWRvdzogMCAwIDEwcHggY29sb3JzLiRzaGFkb3ctY29sb3I7IH1cbiAgICAgICAgJi1ib2R5ICAgICAgICB7IHBhZGRpbmc6IDA7IH1cbiAgICAgICAgJi1mb290ZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2Rhc2hfY29sb3JzIHtcbiAgICAuY2hpbGRfY29sb3JzLFxuICAgIC51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciB7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gICAgLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgICAudWktc3RhdGUtaGlnaGxpZ2h0IHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYShjb2xvcnMuJHdoaXRlLCAuNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3JzLiR3aGl0ZSwgLjEpO1xuICAgIH1cbn1cblxuLnRzYS1kYXNoYm9hcmQtY29sb3Ige1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcnMuJHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgIH1cbn1cblxuLnRzYS1kYXNoYm9hcmQtdXNlciB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MjBweCkge1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgIH1cbn1cblxuLnRzYS1kYXNoYm9hcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBjb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgJi1sb2dvIHtcbiAgICAgICAgQGV4dGVuZCAlaGVhZGVyLWVsZW1lbnQ7XG4gICAgICAgIGhlaWdodDogNjBweDtcblx0XHRtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJjpob3ZlciAuYnRuLXRyLCAmOmhvdmVyIC5idG4tYnIgeyBvcGFjaXR5OiAxOyB9XG4gICAgfVxuXG4gICAgJi1jb2xvciB7XG4gICAgICAgIEBleHRlbmQgJWhlYWRlci1lbGVtZW50O1xuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICAgIEBleHRlbmQgJWhlYWRlci1lbGVtZW50O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogMzJweCAxNnB4O1xuXG4gICAgICAgICYtYm9sZCwgJi1pdGFsaWMge1xuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MDQ5OWE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAmOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1idG4ge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogJG11dGVkLXRleHQ7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcztcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG5cdFx0Ji5idG4tdHIsICYuYnRuLWJyIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRtdXRlZC10ZXh0O1xuXHRcdFx0YmFja2dyb3VuZDogY29sb3IuYWRqdXN0KCRiZy1kYXNoYm9hcmRJdGVtLCAkbGlnaHRuZXNzOiAtMTUlKTtcblx0XHR9XG4gICAgfVxufVxuXG4udHNhLWRhc2hib2FyZC10YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgIC50cy10YWJzIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5hY3RpdmUgYSB7IGJhY2tncm91bmQ6ICNmNWY1ZjU7IH1cbiAgICB9XG59XG5cbi50c2EtZGFzaGJvYXJkLWl0ZW0ge1xuICAgIEBleHRlbmQgJXRzYS1kYXNoYm9hcmQtaXRlbTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvcnMuJHdoaXRlO1xuICAgIHBhZGRpbmc6IDAgMTZweCAxNnB4O1xuXG4gICAgLnRzYS1ncm91cC1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmLXBsYWNlaG9sZGVyIHsgYm9yZGVyOiAycHggZGFzaGVkIGNvbG9ycy4kZ3JleTsgfVxuXG4gICAgJi1xdWVzdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG5cbiAgICAgICAgLnRzLWljb24geyBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuXG4gICAgICAgIC50cy1yb3VuZGVkLWJvcmRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yLmFkanVzdChjb2xvcnMuJGJsYWNrLCAkbGlnaHRuZXNzOiA0MCUpO1xuICAgICAgICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi10eXBlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkIGNvbG9ycy4kYm9yZGVyLWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgcGFkZGluZzogNHB4IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICAubWRpICB7IG1hcmdpbi1yaWdodDogMTZweDsgZm9udC1zaXplOiAyNHB4OyB9XG4gICAgICAgIHNwYW4gIHsgZmxleC1ncm93OiAxOyB9XG4gICAgfVxuXG4gICAgJi1lbXB0eSB7XG4gICAgICAgIEBleHRlbmQgJXRzYS1kYXNoYm9hcmQtaXRlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJGJnLWRhc2hib2FyZEl0ZW07XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgID4gLm1kaSB7IGZvbnQtc2l6ZTogMzZweDsgfVxuXG4gICAgICAgIC50c2EtaXRlbS1pY29uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udHNhLWJ0biB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci5hZGp1c3QoJGJnLWljb24sICRsaWdodG5lc3M6IC0xMCUpO1xuICAgIGJhY2tncm91bmQ6ICRiZy1pY29uO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB0cmFuc2l0aW9uOiAuM3M7XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLWxlZnQ6IDhweDsgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogY29sb3JzLiR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IuYWRqdXN0KCRiZy1pY29uLCAkbGlnaHRuZXNzOiAtNCUpO1xuICAgIH1cblxuICAgICYtZ3JwIHsgZGlzcGxheTogZmxleDsgfVxuXG4gICAgJi1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICRob3Y6IGNvbG9yLmFkanVzdCgkY29sb3ItcHJpbWFyeSwgJGxpZ2h0bmVzczogLTQlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3YgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGhvdiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1kYW5nZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGFuZ2VyICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXByaW1hcnkgIWltcG9ydGFudDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAkaG92OiBjb2xvci5hZGp1c3QoJGNvbG9yLWRhbmdlciwgJGxpZ2h0bmVzczogLTQlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3YgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGhvdiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udHNhLWl0ZW0taWNvbiB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdHJhbnNpdGlvbjogLjJzO1xuXG4gICAgJi1kYW5nZXIge1xuICAgICAgICBjb2xvcjogY29sb3JzLiRjb2xvci1kYW5nZXI7XG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogY29sb3IuYWRqdXN0KGNvbG9ycy4kY29sb3ItZGFuZ2VyLCAkbGlnaHRuZXNzOiAtNCUpICFpbXBvcnRhbnQ7IH1cbiAgICB9XG59XG5cbi50c2EtZHJhZy1oYW5kbGUsIC5lbGVtZW50LWRyYWctaGFuZGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI2Rhc2hib2FyZC1jb2xvcnMsICNkYXNoYm9hcmQtdXNlcnMge1xuICAgIC5zbGljay1saXN0IHsgZmxleC1ncm93OiAxOyB9XG5cbiAgICAuc2xpY2stcHJldiB7XG4gICAgICAgIEBleHRlbmQgJXNsaWNrLWFycm93O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxGMTQxXCI7IH1cbiAgICB9XG4gICAgLnNsaWNrLW5leHQge1xuICAgICAgICBAZXh0ZW5kICVzbGljay1hcnJvdztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICY6YmVmb3JlIHsgY29udGVudDogXCJcXEYxNDJcIjsgfVxuICAgIH1cbn1cblxuLnRzYS10b29sYmFyLWNvbG9ycyxcbi50c2EtdG9vbGJhci11c2VycyB7XG4gICAgLnNsaWNrLXByZXYge1xuICAgICAgICBAZXh0ZW5kICVzbGljay1hcnJvdztcbiAgICAgICAgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRjE0MVwiOyB9XG4gICAgfVxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgQGV4dGVuZCAlc2xpY2stYXJyb3c7XG4gICAgICAgICY6YmVmb3JlIHsgY29udGVudDogXCJcXEYxNDJcIjsgfVxuICAgIH1cbn1cblxuLnRzYS1zbGlkZXItZ3JwIHsgZGlzcGxheTogZmxleDsgfVxuXG4udHNhLWNoYXJ0LWNvbG9ycywgLnRzYS1kYXNoYm9hcmQtdXNlcnMge1xuICAgIC50c2EtdG9vbGJhci1idG4tYWRkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCBjb2xvcnMuJHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbG9yOiBjb2xvcnMuJHdoaXRlO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcztcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuXG4gICAgICAgICY6aG92ZXIgIHsgYmFja2dyb3VuZDogcmdiYShjb2xvcnMuJHdoaXRlLCAuMSk7IH1cbiAgICAgICAgJjpmb2N1cyAgeyBvdXRsaW5lOiBub25lOyB9XG4gICAgfVxufVxuXG4udHNhLWRhc2hib2FyZC11c2VycyAudHNhLXRvb2xiYXItYnRuLWFkZCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MjBweCkge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgIH1cbn1cblxuLnRzYS1jaGFydHR5cGUtcHJldmlldyB7XG4gICAgcGFkZGluZzogMTJweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGltZyB7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgIHAgICB7IG1hcmdpbi1ib3R0b206IDA7IGZvbnQtc2l6ZTogMTRweDsgfVxufVxuXG4uY2hhcnRfY29udGFpbmVyIHtcbiAgICAudWktc29ydGFibGUtcGxhY2Vob2xkZXIgeyBtaW4taGVpZ2h0OiAzMDBweDsgfVxuXG4gICAgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDAsMCwwLDAuMik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4xKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLXNvcnRhYmxlLWhlbHBlciAudHNhLWRhc2hib2FyZC1pdGVtIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsMCwwLDAuMjUpO1xuICAgIH1cbn1cblxuI3RhYnMudWktd2lkZ2V0IHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAmLnVpLXdpZGdldC1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi50c2EtdGFicyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWRhc2hib2FyZEl0ZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDRweCA4cHggMHB4IDhweDtcblxuICAgIC50YWItYWN0aW9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgc3Bhbi5tZGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4tY2lyY2xlOmhvdmVyIHsgYmFja2dyb3VuZDogJGJnLWRhc2hib2FyZEl0ZW07IH1cblxuICAgIC51aS13aWRnZXQtaGVhZGVyIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMHB4IDRweCAwcHggMHB4O1xuXG4gICAgICAgIC51aS1zdGF0ZS1kZWZhdWx0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3M7XG4gICAgICAgIH1cbiAgICAgICAgLnVpLXN0YXRlLWhvdmVyICB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjUpOyB9XG4gICAgICAgIC51aS10YWJzLWFuY2hvciAgeyBcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyNHB4IDhweCAxNnB4OyBcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS10YWJzLWFjdGl2ZSxcbiAgICAgICAgLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgICAgICAgICAgPiBhIHsgY29sb3I6ICMzMzMgIWltcG9ydGFudDsgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLXRhYnMtbmF2IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOmhvdmVyIC50YWItYWN0aW9ucyB7IG9wYWNpdHk6IDE7IHRyYW5zaXRpb246IG9wYWNpdHkgLjFzIC4yczsgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS1jb3JuZXItdG9wLFxuICAgIC51aS1jb3JuZXItYWxsIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjVyZW07XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuNXJlbTtcbiAgICB9XG5cbiAgICAuYnRuLWNpcmNsZSAgICAgICAgICB7IG1hcmdpbi10b3A6IC4zNzVyZW07IH1cbiAgICAudHNhLWRhc2hib2FyZC1oZWFkZXItYnRuIHsgY29sb3I6ICRtdXRlZC10ZXh0OyB9XG5cbiAgICAudWktc3RhdGUtaGlnaGxpZ2h0IHtcbiAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMCwwLDAsLjMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gICAgfVxufVxuXG4uZWxlbWVudC1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcblxuICAgICYtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHNpZGViYXItaGVhZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6IGNvbG9ycy4kd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxNnB4O1xuICAgICAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbiAgICAgICAgJi5ub3QtZHJhZ2dhYmxlIHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICY6aG92ZXIgeyBjb2xvcjogY29sb3JzLiR3aGl0ZTsgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDRweCAxMnB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcztcblxuICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogY29sb3IuYWRqdXN0KGNvbG9ycy4kd2hpdGUsICRsaWdodG5lc3M6IC00JSk7IH1cblxuICAgICAgICAuY2hhcnR0eXBlLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50c2EtbGlzdC1pdGVtIHsgcGFkZGluZy1ib3R0b206IDEycHg7IH1cblxuLnRzLWF1dG9tZXRyaWNzLXBvcG92ZXIge1xuXHQucG9wb3Zlci1ib2R5IHNlbGVjdCB7XG5cdFx0aGVpZ2h0OiBjYWxjKDEuNWVtICsgLjc1cmVtICsgMnB4KTtcblx0XHRwYWRkaW5nOiAuMzc1cmVtIC43NXJlbTtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdH1cbn0iLCJAdXNlIFwic2Fzczpjb2xvclwiO1xuXG4vLyAkZ3JlZW46ICM2QkI2QUI7XG4vLyAkZGFyay1ncmVlbjogIzZBOTg5OTsgLy8gYXBwcm92ZWRcblxuLy8gJHJlZDogI0RFNTA2Njtcbi8vICR5ZWxsb3c6ICNGN0M5Mzk7XG5cbi8vICRvcmFuZ2U6ICNFRjhFMDE7IC8vIE1lZGl1bSB3YXJuaW5nXG4vLyAkZGFyay1vcmFuZ2U6ICNEOTc2MkM7XG5cbi8vICRsaWdodC1wdXJwbGU6ICNFRUVGRkE7XG4vLyAkcHVycGxlOiAjNDA0OTlBO1xuLy8gJGRhcmtfcHVycGxlOiAjMUUyMDVDO1xuXG4vLyAkd2hpdGU6ICNGMUYxRjE7XG4vLyAkbGlnaHQtZ3JleTogI0VFRURFRDtcbi8vICRncmV5OiAjQjVCNUI1O1xuLy8gJGRhcmstZ3JleTogIzZGNkY2RDtcblxuXG5cbi8vIERlc2NyaXB0aXZlIGNvbG9yIHZhcmlhYmxlcyBodHRwOi8vY2hpci5hZy9wcm9qZWN0cy9uYW1lLXRoYXQtY29sb3IvIHNcbiR3aGl0ZTogI2ZmZjtcbiRibGFjazogIzAwMDtcbiRncmV5OiAjODc4Nzg3O1xuJGRhcmstZ3JleTogIzU5NTk1OTtcbiRsaWdodC1ncmV5OiBjb2xvci5zY2FsZSgjODc4Nzg3LCAkbGlnaHRuZXNzOiAyMCUpO1xuJHVsdHJhLWxpZ2h0LWdyZXk6IGNvbG9yLnNjYWxlKCM4Nzg3ODcsICRsaWdodG5lc3M6IDM1JSk7XG4kbW9yZS11bHRyYS1saWdodC1ncmV5OiBjb2xvci5zY2FsZSgjODc4Nzg3LCAkbGlnaHRuZXNzOiA0NCUpO1xuJGVsZWN0cmljLXZpb2xldDogIzYyMDBlZTtcbiRwdXJwbGU6ICM0MDQ5OUE7XG4kcmVkOiAjZjg2MDU5OyBcbiRibHVlLW91dGxpbmU6ICMzZGEyZjk7IFxuXG4vLyBGdW5jdGlvbmFsIGNvbG9yIHZhcmlhYmxlc1xuJGJvZHktY29sb3I6ICM2NjY7IFxuJGhlYWRpbmctY29sb3I6IGNvbG9yLnNjYWxlKCRibGFjaywgJGxpZ2h0bmVzczogMTAlKTtcbiRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuJGJnLWNvbG9yOiAjZjBmMGYwO1xuXG4kYm9yZGVyLWNvbG9yOiBjb2xvci5zY2FsZSgkZ3JleSwgJGxpZ2h0bmVzczogMzAlKTtcbiRsaW5rLWNvbG9yOiBjb2xvci5hZGp1c3QoJGdyZXksICRsaWdodG5lc3M6IC0xNSUpO1xuXG4kc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgLjMpO1xuJGRhcmstc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgLjkpO1xuJGxpZ2h0LXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIC4xKTtcbiRmb250LWNvbG9yLWxpbms6ICM0ZDRkNGQ7XG5cbi8vIENvbG9ycyAoUGxhbm5pbmcpXG4kY29sb3IxOiAjZjkzZDYxOyAvLyByb29kXG4kY29sb3IyOiAjOWU1M2IyOyAvLyBwYWFyc1xuJGNvbG9yMzogIzQ1YjlhYjsgLy8gZ3JvZW5cbiRjb2xvcjQ6ICNmOGE3NGI7IC8vIG9yYW5qZVxuXG4kY29sb3ItZmluaXNoZWQ6ICMzZmMzNTM7XG4kY29sb3ItaW5wcm9ncmVzczogI2Y3Nzg0YjtcbiRjb2xvci1jYW5jZWxlZDogI0ZGNTk2NDtcblxuJGNvbG9yLWNvbXBsZXRlZDogIzQ5QjhBRDtcbiRjb2xvci1jdXJyZW50OiAjNUE3RkYxO1xuJGNvbG9yLW5leHQ6ICM3RDdEN0Q7XG4kY29sb3ItZmFkZWQtb3V0OiAjNDU0NTQ1O1xuXG4kdHMtY29sb3IxOiAjMjliYjljO1xuJHRzLWNvbG9yMjogIzIyOWY4NTtcbiR0cy1jb2xvcjM6ICMzOWNhNzU7XG4kdHMtY29sb3I0OiAjMzBhZDYzO1xuJHRzLWNvbG9yNTogIzNhOTlkODtcbiR0cy1jb2xvcjY6ICMyZTgxYjc7XG4kdHMtY29sb3I3OiAjMzU0OTVkO1xuJHRzLWNvbG9yODogIzJjM2U0ZjtcbiR0cy1jb2xvcjk6ICNlODRmODg7XG4kdHMtY29sb3IxMDogI2M4MzA2OTtcbiR0cy1jb2xvcjExOiAjOWE1Y2I0O1xuJHRzLWNvbG9yMTI6ICM4ZDQ4YWI7XG4kdHMtY29sb3IxMzogI2YwYzMzMDtcbiR0cy1jb2xvcjE0OiAjZjE5YjJjO1xuJHRzLWNvbG9yMTU6ICNlNDRkNDI7XG4kdHMtY29sb3IxNjogI2JlM2EzMDtcblxuJGNvbG9yLWRhbmdlcjogJHRzLWNvbG9yMTU7XG4kY29sb3Itd2FybmluZzogJHRzLWNvbG9yMTM7XG4kY29sb3ItaW5mbzogJHRzLWNvbG9yNTtcbiRjb2xvci1zdWNjZXNzOiAkdHMtY29sb3I0O1xuXG4vLyBBcHAgc3R5bGluZyBmb3IgcHJldmlldyBtb2RhbHNcbiRhcHAtYmctY29sb3I6ICNGN0Y4Rjk7XG4kYXBwLXByaW1hcnktY29sb3I6ICMwZWE1N2Y7XG4kYXBwLXdoaXRlLWNvbG9yOiAjZmZmO1xuXG4vLyBCdXR0b24gY29sb3JzXG4kYnRuLXByaW1hcnk6ICMwMDdiZmY7IC8vIG5vdCB1c2VkIHlldFxuJGJ0bi1kYXJrOiAjNTY1NjU2O1xuJGJ0bi1pbmZvMjogIzQ1NDc4NDsiLCIvLyBJbnRlcmFjdGl2ZSBkb2N1bWVudHMg4oCUIFNIQVJFRCBibG9jayByZW5kZXJpbmcgQ1NTIChmYXNlIDEsIDIwMjYtMDctMjE7XG4vLyBmYXNlIDIgXCJjb25kaXRpb25hbGl0eVwiIGFkZGVuZHVtLCBzYW1lIGRhdGUg4oCUIGNob2ljZSBibG9ja3MsIGhpZGRlbiBzdGF0ZSxcbi8vIHRoZSB0YWJsZS1vZi1jb250ZW50cyBwYW5lbCkuXG4vL1xuLy8gR2xvYmFsICh1bnNjb3BlZCDigJQgbm8gI2Rtcy12aWV3ZXIgcHJlZml4KSwgc28gQk9USCB0aGUgRE1TIGZ1bGxzY3JlZW4gdmlld2VyXG4vLyAoVmlldy92MS9kb2N1bWVudHMvdmlld2VyLmh0bWwpIGFuZCB0aGUgZmFzZS0xIFZ1ZSBlZGl0b3IncyBsaXZlIHByZXZpZXdcbi8vIHBhbmUgZ2V0IGlkZW50aWNhbCBzdHlsaW5nIGZyb20gT05FIGNvbXBpbGVkIHN0eWxlc2hlZXRcbi8vICh3ZWIvY3NzL3YxL3N0eWxlLXYxLmNzcykuIFBvcnRlZCB2ZXJiYXRpbSAodmFsdWVzIHVuY2hhbmdlZCwgYWxyZWFkeVxuLy8gbGl2ZS12ZXJpZmllZCBpbiB2aWV3ZXIuaHRtbCdzIGZhc2UtMCBzY29wZWQgY29weSkg4oCUIG9ubHkgdGhlICNkbXMtdmlld2VyXG4vLyBwcmVmaXggd2FzIGRyb3BwZWQuXG4vL1xuLy8gZG9jcy9JTlRFUkFDVElWRS1ET0NVTUVOVFMtQlVJTEQtUExBTi5tZCDCpzMgKGJsb2NrIEpTT04gdjEpIGRvY3VtZW50cyB0aGVcbi8vIGJsb2NrIHR5cGVzIHRoZXNlIHJ1bGVzIGRyZXNzOiB0ZXh0IC8gaW1hZ2UgLyB2aWRlbyAvIHRhYmxlIC8gY2hvaWNlICsgdGhlXG4vLyBlbXB0eSBzdGF0ZS4gU2FtZSBjb2xvdXIgZmFtaWx5IHRocm91Z2hvdXQ6IGJyYW5kIHB1cnBsZSAjNDA0OTlhLCBsaWdodFxuLy8gbGF2ZW5kZXIgI2VkZWVmYiAoYWxyZWFkeSB1c2VkIGZvciB0aGUgdmlkZW8tbGluayBob3ZlciksICNlMmUyZjAgYm9yZGVycyxcbi8vICMyMzI1M2EgZGFyayB0ZXh0IOKAlCBubyBuZXcgY29sb3VycyBpbnRyb2R1Y2VkIGZvciBmYXNlIDIuXG5cbi5kbXMtaWRvYy1wYWdlIHtcbiAgICBtYXgtd2lkdGg6IDg4MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMyMzI1M2E7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDI0cHggcmdiYSgwLCAwLCAwLCAuNCk7XG4gICAgcGFkZGluZzogNDBweCA0OHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjRweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmRtcy1pZG9jLXBhZ2Uge1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDE4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGdhcDogMThweDtcbiAgICB9XG59XG5cbi5kbXMtaWRvYy1ibG9jayB7IG1pbi13aWR0aDogMDsgfVxuXG4uZG1zLWlkb2MtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgY29sb3I6ICMyMzI1M2E7XG59XG5cbi5kbXMtaWRvYy10ZXh0LWJvZHkge1xuICAgIGZvbnQtc2l6ZTogLjk1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICMzMzM0NGE7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAgIHAgeyBtYXJnaW46IDAgMCAuOGVtOyB9XG4gICAgcDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNGVtO1xuICAgICAgICBtYXJnaW46IDAgMCAuOGVtO1xuICAgIH1cbn1cblxuLmRtcy1pZG9jLWJsb2NrLWltYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi8vIGZhc2UgNDogdGhlIG9mZnNldCBwYXJlbnQgZm9yIGFic29sdXRlbHktcG9zaXRpb25lZCBob3RzcG90IG1hcmtlcnMvXG4vLyBwb3BvdmVycy4gSXRzIG93biByZW5kZXJlZCBib3ggaXMgbWFkZSB0byBtYXRjaCB0aGUgPGltZz4ncyByZW5kZXJlZCBib3hcbi8vIEVYQUNUTFkgKHNlZSB0aGUgdHdvIHJ1bGVzIGJlbG93KSDigJQgdGhhdCBlcXVhbGl0eSBpcyB3aGF0IGxldHMgYSBob3RzcG90J3Ncbi8vIHgveSBmcmFjdGlvbiAoMC4uMSkgbGFuZCBvbiB0aGUgcmlnaHQgcGl4ZWwgb2YgdGhlIGFjdHVhbCBpbWFnZSwgZm9yIGV2ZXJ5XG4vLyBzaXplIGNsYXNzLCBpbmNsdWRpbmcgYSBnZW51aW5lbHkgc21hbGwgc291cmNlIGltYWdlICh0aGUgZG9jdW1lbnRlZCBaZW55YVxuLy8gYnVnIHRoaXMgZGVsaWJlcmF0ZWx5IGF2b2lkczogbWFya2VycyBtaXNwb3NpdGlvbmluZyBiZWNhdXNlIHRoZWlyXG4vLyBwb3NpdGlvbmVkIGFuY2VzdG9yIGRpZG4ndCBtYXRjaCB0aGUgc2hydW5rIGltYWdlJ3MgcmVhbCBib3gpLlxuLmRtcy1pZG9jLWltZy13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIFRoZSAlIFNJWkUgbm93IGxpdmVzIG9uIHRoZSBXUkFQIChiZWxvdyksIG5vdCBvbiA8aW1nPiBpdHNlbGYg4oCUIDxpbWc+XG4vLyBhbHdheXMgZmlsbHMgaXRzIHdyYXAgYXQgd2lkdGg6MTAwJS4gVGhpcyBzaWRlc3RlcHMgdGhlIGNsYXNzaWNcbi8vIFwicGVyY2VudGFnZSB3aWR0aCBpbnNpZGUgYSBzaHJpbmstdG8tZml0IGJveFwiIGNpcmN1bGFyLXNpemluZyBwcm9ibGVtIGFcbi8vIHdyYXAtc2hyaW5rcy10by1pdHMtaW1hZ2UgZGVzaWduIHdvdWxkIGhpdCwgd2hpbGUgc3RpbGwgZ3VhcmFudGVlaW5nXG4vLyB3cmFwJ3MgYm94ID09IGltYWdlJ3MgcmVuZGVyZWQgYm94ICh3YXMgYG1heC13aWR0aDoxMDAlYCB3aXRoIG5vIHdpZHRoIOKAlFxuLy8gaGFybWxlc3MgYmVmb3JlIGhvdHNwb3RzIGV4aXN0ZWQsIGJ1dCBsZXQgYSBzbWFsbCBzb3VyY2UgaW1hZ2UgcmVuZGVyXG4vLyBzbWFsbGVyIHRoYW4gaXRzIHdvdWxkLWJlIHdyYXAsIHdoaWNoIGlzIGV4YWN0bHkgd2hhdCBtdXN0IE5PVCBoYXBwZW4gbm93KS5cbi5kbXMtaWRvYy1pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5kbXMtaWRvYy1pbWctbGFyZ2UgLmRtcy1pZG9jLWltZy13cmFwIHsgd2lkdGg6IDEwMCU7IH1cbi5kbXMtaWRvYy1pbWctbWVkaXVtIC5kbXMtaWRvYy1pbWctd3JhcCB7IHdpZHRoOiA2MCU7IH1cbi5kbXMtaWRvYy1pbWctc21hbGwgLmRtcy1pZG9jLWltZy13cmFwIHsgd2lkdGg6IDMzJTsgbWluLXdpZHRoOiAxNjBweDsgfVxuXG4uZG1zLWlkb2MtY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAuODJyZW07XG4gICAgY29sb3I6ICM2YjY4ODQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZG1zLWlkb2MtYmxvY2stdmlkZW8geyBkaXNwbGF5OiBmbGV4OyB9XG5cbi8vIENTUCBmcmFtZS1zcmMgZG9lcyBub3QgYWxsb3cgeW91dHViZS5jb20sIHNvIGFuIDxpZnJhbWU+IGVtYmVkIGlzIGJsb2NrZWRcbi8vIG91dHJpZ2h0IOKAlCBhIGxpbmstb3V0IGNhcmQgaXMgcmVuZGVyZWQgaW5zdGVhZCAoc2VlIGRtcy1pZG9jLXJlbmRlci5qcydzXG4vLyAndmlkZW8nIGJyYW5jaCkuXG4uZG1zLWlkb2MtdmlkZW8tbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTJweCAxOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZjA7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmN2Y3ZmI7XG4gICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAuOXJlbTtcblxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZWRlZWZiOyB9XG5cbiAgICBxZG5hcHJvLWljb24geyBjb2xvcjogI2ZmMDAwMDsgZmxleDogMCAwIGF1dG87IH1cbn1cblxuLmRtcy1pZG9jLXRhYmxlLXdyYXAgeyBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi5kbXMtaWRvYy10YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IC44OHJlbTtcblxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJmMDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGZhO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzIzMjUzYTtcbiAgICB9XG59XG5cbi5kbXMtaWRvYy1lbXB0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGNvbG9yOiAjOGE4ZmI1O1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRmFzZSAyIOKAlCBjb25kaXRpb25hbGl0eVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEEgY29uZGl0aW9uYWxseS1oaWRkZW4gYmxvY2suIGAhaW1wb3J0YW50YCBtYXRjaGVzIHRoZSBob3VzZSBjb252ZW50aW9uIGZvclxuLy8gdGhpcyBleGFjdCBraW5kIG9mIEpTLXRvZ2dsZWQgdmlzaWJpbGl0eSBjbGFzcyAoc2VlIGUuZy4gI2Rtcy12aWV3ZXJbaGlkZGVuXVxuLy8gaW4gdmlld2VyLmh0bWwpIOKAlCBub3RoaW5nIGVsc2Ugc2hvdWxkIGV2ZXIgbmVlZCB0byBvdXQtc3BlY2lmaWNpdHkgdGhpcy5cbi5kbXMtaWRvYy1oaWRkZW4geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmRtcy1pZG9jLWJsb2NrLWNob2ljZSB7IG1pbi13aWR0aDogMDsgfVxuXG4uZG1zLWlkb2MtY2hvaWNlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMDVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgIGNvbG9yOiAjMjMyNTNhO1xufVxuXG4uZG1zLWlkb2MtY2hvaWNlLW9wdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyAvLyAnYXV0bycgQU5EICdob3Jpem9udGFsJyBib3RoIHdyYXAgKG5ldmVyIGhvcml6b250YWwtc2Nyb2xsKVxuICAgIGdhcDogMTBweDtcbn1cblxuLmRtcy1pZG9jLWNob2ljZS1vcHRpb25zLXZlcnRpY2FsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uZG1zLWlkb2MtY2hvaWNlLWJ0biB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDdkOGVjO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWRlZWZiOyAvLyB1bnNlbGVjdGVkIOKAlCBsaWdodCBsYXZlbmRlciwgZGFyayB0ZXh0XG4gICAgY29sb3I6ICMyMzI1M2E7XG4gICAgZm9udC1zaXplOiAuODhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTVzIGVhc2UsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UsIGNvbG9yIC4xNXMgZWFzZTtcblxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZGZlMGY3OyB9XG5cbiAgICAmLmRtcy1pZG9jLWNob2ljZS1idG4tc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDA0OTlhOyAvLyBzZWxlY3RlZCDigJQgZmlsbGVkIGJyYW5kIHB1cnBsZSwgd2hpdGUgdGV4dFxuICAgICAgICBib3JkZXItY29sb3I6ICM0MDQ5OWE7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjMzMzYTgwOyB9XG4gICAgfVxufVxuXG4vLyAtLS0tIHRhYmxlIG9mIGNvbnRlbnRzIChvcHRzLnRvYykgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBIC5kbXMtaWRvYy1zaGVsbCB3cmFwcyBbLmRtcy1pZG9jLXRvYywgLmRtcy1pZG9jLW1haW4gPiAuZG1zLWlkb2MtcGFnZV0gd2hlblxuLy8gdGhlIGhvc3QgYXNrcyBmb3IgYSBUT0M7IHdpdGhvdXQgaXQsIC5kbXMtaWRvYy1wYWdlIGlzIGFwcGVuZGVkIGRpcmVjdGx5XG4vLyAoZmFzZSAwLzEgYmVoYXZpb3VyLCB1bnRvdWNoZWQpIGFuZCBub25lIG9mIHRoZXNlIHJ1bGVzIGFwcGx5LlxuXG4uZG1zLWlkb2Mtc2hlbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwOyAgICAvLyBsZXRzIHRoZSBUT0MgKyBwYWdlIHdyYXAgb250byBzZXBhcmF0ZSBsaW5lcyAoc3RhY2spXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHRoZSBDT05UQUlORVIgaXMgbmFycm93IOKAlCBzZWUgdGhlIEBjb250YWluZXIgYmVsb3cuXG4gICAgZ2FwOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTEyMHB4OyAvLyA4ODAgKHBhZ2UpICsgdGhlIHRvYyBjb2x1bW4gKyBnYXAg4oCUIGtlZXBzIHRoZSBwYWlyXG4gICAgbWFyZ2luOiAwIGF1dG87ICAgICAvLyBjZW50ZXJlZCB0aGUgc2FtZSB3YXkgdGhlIGxvbmUgcGFnZSB1c2VkIHRvIGJlXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvLyBRdWVyeSBUSElTIHNoZWxsJ3Mgb3duIHdpZHRoIChub3QgdGhlIHZpZXdwb3J0KTogdGhlIG1vYmlsZS1wcmV2aWV3IGRldmljZVxuICAgIC8vIGZyYW1lICsgdGhlIGdlbnVpbmUgbmFycm93IHZpZXdlciBhcmUgYm90aCBuYXJyb3cgQ09OVEFJTkVSUyBpbnNpZGUgYSB3aWRlXG4gICAgLy8gd2luZG93LCBzbyBhIHZpZXdwb3J0IEBtZWRpYSBuZXZlciBmaXJlZCBmb3IgdGhlbSAodGhlIFRPQyBvdmVybGFwcGVkIHRoZVxuICAgIC8vIHBhZ2Ugb24gbW9iaWxlIOKAlCBKYW4gMjAyNi0wNy0yMSkuIGNvbnRhaW5lci10eXBlIG1ha2VzIHRoZSBjaGlsZHJlbiBiZWxvd1xuICAgIC8vIHJlZmxvdyBvbiB0aGUgc2hlbGwncyByZWFsIHdpZHRoIGluc3RlYWQuXG4gICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICAgIC8vIFVuY29uZGl0aW9uYWwgKE5PVCBpbnNpZGUgdGhlIEBjb250YWluZXIgYmxvY2sgYmVsb3cpIOKAlCBhIGNvbnRhaW5lclxuICAgIC8vIHF1ZXJ5IHJ1bGUgY2FuIG5ldmVyIHN0eWxlIHRoZSBDT05UQUlORVIgZWxlbWVudCBpdHNlbGYgYmFzZWQgb24gaXRzXG4gICAgLy8gb3duIHF1ZXJ5ICh0aGF0IHdvdWxkIGJlIGNpcmN1bGFyKSwgc28gYHBvc2l0aW9uYCBIQVMgdG8gbGl2ZSBoZXJlIHRvXG4gICAgLy8gYWN0dWFsbHkgdGFrZSBlZmZlY3QgZm9yIHRoZSBuYXJyb3ctZHJhd2VyIHJlZGVzaWduIChmb3VuZCBlbXBpcmljYWxseVxuICAgIC8vIDIwMjYtMDctMjI6IHB1dHRpbmcgaXQgaW5zaWRlIEBjb250YWluZXIgc2lsZW50bHkgbm8tb3AnZCBvblxuICAgIC8vIC5kbXMtaWRvYy1zaGVsbCwgZXZlbiB0aG91Z2ggdGhlIFNBTUUgYmxvY2sgY29ycmVjdGx5IHN0eWxlZFxuICAgIC8vIC5kbXMtaWRvYy10b2MsIGEgZGVzY2VuZGFudCkuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIOKaoO+4jyBgb3ZlcmZsb3c6IGNsaXBgIG9uIEJPVEggYXhlcywgTk9UIGBvdmVyZmxvdy14OiBoaWRkZW5gIGFsb25lLlxuICAgIC8vIFNldHRpbmcgb25seSBvdmVyZmxvdy14IGZvcmNlcyB0aGUgT1RIRVIgYXhpcydzIGNvbXB1dGVkIHZhbHVlIGZyb21cbiAgICAvLyBgdmlzaWJsZWAgdG8gYGF1dG9gIChhIHJlYWwgQ1NTIHJ1bGUg4oCUIHZlcmlmaWVkLCBub3QgYXNzdW1lZCkg4oCUIHRoYXRcbiAgICAvLyBzaWxlbnRseSB0dXJuZWQgLmRtcy1pZG9jLXNoZWxsIGludG8gYW4gKGludmlzaWJsZSwgbm90aGluZy1hY3R1YWxseS1cbiAgICAvLyBvdmVyZmxvd3MpIFNDUk9MTCBDT05UQUlORVIsIHdoaWNoIGJyb2tlIGAuZG1zLWlkb2MtdG9jYCdzXG4gICAgLy8gYHBvc2l0aW9uOnN0aWNreWAgaW4gd2lkZSBtb2RlOiBzdGlja3kgc3RhcnRlZCB0cmFja2luZyBUSElTXG4gICAgLy8gbm9uLXNjcm9sbGluZyBzaGVsbCBhcyBpdHMgXCJuZWFyZXN0IHNjcm9sbGluZyBhbmNlc3RvclwiIGluc3RlYWQgb2YgdGhlXG4gICAgLy8gcmVhbCBvbmUgZnVydGhlciB1cCAodGhlIHZpZXdlci9wcmV2aWV3J3Mgb3duIHNjcm9sbCB3cmFwcGVyLCBvciB0aGVcbiAgICAvLyBwYWdlIGl0c2VsZiksIHNvIGl0IG5ldmVyIHN0dWNrIHdoaWxlIGFjdHVhbGx5IHNjcm9sbGluZyAoSmFuLFxuICAgIC8vIDIwMjYtMDctMjIg4oCUIFwiVE9DIHNjcm9sbHQgd2VlciBtZWVcIiwgYSByZWFsIHJlZ3Jlc3Npb24gdGhpcyBjYXVzZWQpLlxuICAgIC8vIGBjbGlwYCBvbiBib3RoIGF4ZXMgc3RpbGwgY2xpcHMgdGhlIGRyYXdlcidzIG9mZi1zY3JlZW4gdHJhbnNsYXRlWCBpblxuICAgIC8vIG5hcnJvdyBtb2RlLCBidXQg4oCUIHVubGlrZSBoaWRkZW4vYXV0by9zY3JvbGwg4oCUIG5ldmVyIGVzdGFibGlzaGVzIGFcbiAgICAvLyBzY3JvbGwgY29udGFpbmVyLCBzbyBzdGlja3kgY29ycmVjdGx5IHNlZXMgc3RyYWlnaHQgdGhyb3VnaCBzaGVsbCB0b1xuICAgIC8vIHRoZSByZWFsIHNjcm9sbGluZyBhbmNlc3Rvci5cbiAgICBvdmVyZmxvdzogY2xpcDtcbn1cblxuLmRtcy1pZG9jLW1haW4ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vLyBDZW50ZXJpbmcgbm93IGNvbWVzIGZyb20gLmRtcy1pZG9jLW1haW4ncyBmbGV4Ym94LCBub3QgdGhlIHBhZ2UncyBvd25cbi8vIGF1dG8tbWFyZ2lucyAod2hpY2ggc3RheSBpbiBlZmZlY3Qg4oCUIGFuZCBjb3JyZWN0IOKAlCBmb3IgdGhlIG5vLXRvYyBjYXNlKS5cbi5kbXMtaWRvYy1tYWluIC5kbXMtaWRvYy1wYWdlIHsgbWFyZ2luOiAwOyB9XG5cbi5kbXMtaWRvYy10b2Mge1xuICAgIGZsZXg6IDAgMCAyMjBweDtcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIC8vIGB0b3BgIG9uIGEgc3RpY2t5IGVsZW1lbnQgaXMgTk9UIFwib25seSBhcHBsaWVkIG9uY2UgeW91IHNjcm9sbCBwYXN0XG4gICAgLy8gaXRcIiDigJQgaXQncyBBTFdBWVMgYXBwbGllZCB0byB0aGUgZWxlbWVudCdzIG93biBzdGF0aWMgcG9zaXRpb24gKHNhbWVcbiAgICAvLyBhcyBwb3NpdGlvbjpyZWxhdGl2ZSB3b3VsZCksIHNvIGB0b3A6MTZweGAgaGVyZSBtYWRlIHRoZSBUT0MgcmVuZGVyXG4gICAgLy8gMTZweCBCRUxPVyB0aGUgZG9jdW1lbnQgY2FyZCBuZXh0IHRvIGl0IGV2ZW4gYXQgcmVzdCwgdW5zY3JvbGxlZFxuICAgIC8vIChKYW4sIDIwMjYtMDctMjIg4oCUIGNvbmZpcm1lZCBieSBtZWFzdXJpbmcsIG5vdCBhc3N1bWVkOiA2NHB4IHZzIHRoZVxuICAgIC8vIGRvY3VtZW50J3MgNDhweCkuIGB0b3A6MGAgbWFrZXMgaXQgcmVuZGVyIGZsdXNoIHdpdGggaXRzIG5hdHVyYWwgZmxvd1xuICAgIC8vIHBvc2l0aW9uIOKAlCBpLmUuIGxldmVsIHdpdGggLmRtcy1pZG9jLW1haW4g4oCUIGFuZCBpdCBzdGlsbCBzdGlja3MgdG8gdGhlXG4gICAgLy8gc2Nyb2xsaW5nIGFuY2VzdG9yJ3MgdmVyeSB0b3AgZWRnZSBvbmNlIHNjcm9sbGVkIHRoYXQgZmFyLlxuICAgIHRvcDogMDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJmMDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBib3gtc2hhZG93OiAwIDRweCAyNHB4IHJnYmEoMCwgMCwgMCwgLjE4KTtcbn1cbi5kbXMtaWRvYy10b2NbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH0gLy8gZnVsbHkgZW1wdHkgVE9DIOKAlCBubyBwYW5lbCBhdCBhbGxcblxuLmRtcy1pZG9jLXRvYy1oZWFkZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5kbXMtaWRvYy10b2MtdG9nZ2xlIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNHB4IDJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IC44MnJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDNlbTtcblxuICAgIHFkbmFwcm8taWNvbiB7IGZsZXg6IDAgMCBhdXRvOyB9XG59XG5cbi5kbXMtaWRvYy10b2MtbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDhweCAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG59XG5cbi5kbXMtaWRvYy10b2MtaXRlbSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBmb250LXNpemU6IC44NXJlbTtcbiAgICBjb2xvcjogIzMzMzQ0YTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogI2VkZWVmYjsgY29sb3I6ICM0MDQ5OWE7IH1cbn1cblxuLy8gTmFycm93LWRyYXdlci1vbmx5IGNvbnRyb2xzICh0aGUgZmxvYXRpbmcgb3BlbiBidXR0b24gKyB0aGUgZHJhd2VyJ3Mgb3duXG4vLyBjbG9zZS9YKSDigJQgYGRpc3BsYXk6bm9uZWAgYnkgZGVmYXVsdCBzbyB0aGV5IG5ldmVyIHNob3cgb24gYSB3aWRlXG4vLyBjb250YWluZXI7IHRoZSBAY29udGFpbmVyIGJsb2NrIGJlbG93IHR1cm5zIHRoZW0gb24uIEtlcHQgYXMgdGhlaXIgb3duXG4vLyBydWxlcyAobm90IG5lc3RlZCBpbnNpZGUgdGhlIEBjb250YWluZXIpIG9ubHkgc28gdGhlIFwiaGlkZGVuIGV2ZXJ5d2hlcmVcbi8vIGVsc2VcIiBkZWZhdWx0IGlzIHZpc2libGUvb2J2aW91cyBhdCBhIGdsYW5jZS5cbi5kbXMtaWRvYy10b2MtZmFiIHsgZGlzcGxheTogbm9uZTsgfVxuLmRtcy1pZG9jLXRvYy1jbG9zZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLy8gTmFycm93IENPTlRBSU5FUiAodGhlIHNoZWxsIGl0c2VsZiDiiaQgNzYwcHgg4oCUIG1vYmlsZS1wcmV2aWV3IGZyYW1lIE9SIGEgcmVhbFxuLy8gcGhvbmUtd2lkdGggdmlld2VyKS4gUkVERVNJR05FRCAyMDI2LTA3LTIyIChKYW46IFwidXNlciBjb25zdGFudGx5IGhhcyB0b1xuLy8gc2Nyb2xsIGFsbCB0aGUgd2F5IHVwIHRvIHJlYWNoIHRoZSBUT0NcIikg4oCUIHRoZSBvbGQgYmVoYXZpb3VyIHN0YWNrZWQgYVxuLy8gY29sbGFwc2libGUgYmFyIEFCT1ZFIHRoZSBwYWdlLCB3aGljaCBzY3JvbGxlZCBhd2F5IHdpdGggdGhlIHJlc3Qgb2YgdGhlXG4vLyBkb2N1bWVudC4gTm93IHRoZSBUT0MgaXMgYSBzbGlkZS1pbiBEUkFXRVI6IGEgcm91bmQgZmxvYXRpbmcgYnV0dG9uXG4vLyAodG9wLWxlZnQsIGEgXCJwc2V1ZG8gaGFtYnVyZ2VyIG1lbnVcIikgb3BlbnMgaXQ7IHRoZSBkcmF3ZXIgc2xpZGVzIGluIGZyb21cbi8vIHRoZSBsZWZ0IHdoaWxlIHRoZSBkb2N1bWVudCBpcyBwdXNoZWQgdG8gdGhlIHJpZ2h0IGJ5IHRoZSBzYW1lIGRpc3RhbmNlO1xuLy8gYW4gWCBpbnNpZGUgdGhlIGRyYXdlciBjbG9zZXMgaXQuIEEgQGNvbnRhaW5lciAobm90IEBtZWRpYSkgc28gaXQgZmlyZXMgb25cbi8vIHRoZSBzaGVsbCdzIHJlYWwgd2lkdGggcmVnYXJkbGVzcyBvZiB0aGUgc3Vycm91bmRpbmcgd2luZG93ICh0aGVcbi8vIGRldmljZS1mcmFtZS1pbi1hLXdpZGUtd2luZG93IGNhc2UsIGUuZy4gdGhlIGVkaXRvcidzIG93biBNb2JpZWwgcHJldmlldykuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDc2MHB4KSB7XG4gICAgLy8gLmRtcy1pZG9jLXNoZWxsJ3Mgb3duIHBvc2l0aW9uOnJlbGF0aXZlL292ZXJmbG93LXg6aGlkZGVuIG5vdyBsaXZlIG9uIGl0c1xuICAgIC8vIFVOQ09ORElUSU9OQUwgYmFzZSBydWxlIGFib3ZlIOKAlCBzZWUgdGhhdCBydWxlJ3MgY29tbWVudCBmb3Igd2h5LlxuXG4gICAgLy8gVGhlIGRyYXdlci4gYHBvc2l0aW9uOmZpeGVkYCwgTk9UIGFic29sdXRlIOKAlCBKYW4gKDIwMjYtMDctMjIsIGNvbmZpcm1lZFxuICAgIC8vIGJ5IGhpcyBvd24gdGVzdGluZyk6IHdpdGggYGFic29sdXRlYCAocmVsYXRpdmUgdG8gLmRtcy1pZG9jLXNoZWxsLFxuICAgIC8vIHdoaWNoIHNpdHMgSU5TSURFIHRoZSBzYW1lIGRpdiB0aGF0IGFjdHVhbGx5IHNjcm9sbHMgaW4gZXZlcnkgaG9zdCDigJRcbiAgICAvLyB0aGUgZWRpdG9yJ3MgYC5pZG9jLXByZXZpZXctc2Nyb2xsYCwgdGhlIHZpZXdlcidzIGAuZG1zLWlkb2Mtc2Nyb2xsYCksXG4gICAgLy8gdGhlIG9wZW4gZHJhd2VyIHZpc2libHkgc2Nyb2xsZWQgYXdheSB0b2dldGhlciB3aXRoIHRoZSBkb2N1bWVudCDigJRcbiAgICAvLyBleGFjdGx5IHRoZSBcImhhdmUgdG8gY2hhc2UgaXRcIiBwcm9ibGVtIHRoaXMgd2hvbGUgcmVkZXNpZ24gZXhpc3RzIHRvXG4gICAgLy8gZml4LCBqdXN0IG1vdmVkIGZyb20gdGhlIGNsb3NlZC1GQUIgY2FzZSB0byB0aGUgb3Blbi1kcmF3ZXIgY2FzZS5cbiAgICAvLyBgcG9zaXRpb246Zml4ZWRgIGhlcmUgdXNlcyB0aGUgU0FNRSBlc2NhcGUgbWVjaGFuaXNtIHRoZSBmbG9hdGluZ1xuICAgIC8vIG9wZW4tYnV0dG9uICguZG1zLWlkb2MtdG9jLWZhYikgYWxyZWFkeSByZWxpZXMgb246IGluIHRoZSBlZGl0b3IncyBvd25cbiAgICAvLyBNb2JpZWwgcHJldmlldyBpdCBnZXRzIHRyYXBwZWQgYnkgYC5pZG9jLXByZXZpZXctY29udGFpbmVyYCdzXG4gICAgLy8gYHRyYW5zZm9ybWAgKGludGVyYWN0aXZlLWVkaXRvci5odG1sKSBzbyBpdCBzdGF5cyBwaW5uZWQgdG8gdGhhdFxuICAgIC8vIGRldmljZS1mcmFtZTsgaW4gdGhlIHJlYWwgRE1TIHZpZXdlci9wdWJsaWMgc2hhcmUgcGFnZSB0aGVyZSBpcyBubyBzdWNoXG4gICAgLy8gdHJhcHBpbmcgYW5jZXN0b3IsIHNvIGl0IGFuY2hvcnMgc3RyYWlnaHQgdG8gdGhlIHRydWUgYnJvd3NlciB2aWV3cG9ydFxuICAgIC8vIOKAlCBpbW11bmUgdG8gYC5kbXMtaWRvYy1zY3JvbGxgJ3MgKG9yIHRoZSBwYWdlJ3Mgb3duKSBzY3JvbGxpbmcgYnlcbiAgICAvLyBkZWZpbml0aW9uLCB3aGljaCBpcyBleGFjdGx5IFwic3RheXMgcHV0XCIgZm9yIHRob3NlIHR3byBob3N0cy5cbiAgICAvLyBXaWR0aCBpcyBkdXBsaWNhdGVkIChpZGVudGljYWwgZXhwcmVzc2lvbikgb24gLmRtcy1pZG9jLW1haW4nc1xuICAgIC8vIHB1c2gtdHJhbnNmb3JtIGJlbG93IOKAlCBrZWVwIHRoZSB0d28gZXhwcmVzc2lvbnMgaW4gc3luYyBpZiB0aGlzIGV2ZXJcbiAgICAvLyBjaGFuZ2VzLlxuICAgIC5kbXMtaWRvYy10b2Mge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IG1pbigzMDBweCwgODIlKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cyBlYXNlO1xuICAgICAgICB6LWluZGV4OiA1OyAvLyBhYm92ZSB0aGUgKHB1c2hlZCkgZG9jdW1lbnRcbiAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMzBweCByZ2JhKDAsIDAsIDAsIC4yNSk7IC8vIGRyYXdlciBzaGFkb3cgaW5zdGVhZCBvZiB0aGUgb2xkIGZsb2F0aW5nLXBhbmVsIHNoYWRvd1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvOyAvLyB0aGUgZHJhd2VyIHNjcm9sbHMgaXRzIE9XTiAocG9zc2libHkgbG9uZykgbGlzdCBpbmRlcGVuZGVudGx5IG9mIHRoZSBkb2N1bWVudFxuICAgIH1cbiAgICAuZG1zLWlkb2MtdG9jLmRtcy1pZG9jLXRvYy1vcGVuIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbiAgICAuZG1zLWlkb2MtdG9jLWhlYWRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gdGl0bGUvdG9nZ2xlIG9uIHRoZSBsZWZ0LCB0aGUgWCBvbiB0aGUgcmlnaHRcbiAgICB9XG4gICAgLy8gU2hvd24gb25seSB3aGlsZSB0aGUgZHJhd2VyIGlzIGFjdHVhbGx5IG9wZW4gKGEgcGxhaW4gZGVzY2VuZGFudCBzZWxlY3RvciDigJRcbiAgICAvLyAuZG1zLWlkb2MtdG9jLWNsb3NlIGxpdmVzIElOU0lERSBuYXYsIHVubGlrZSB0aGUgRkFCIGJlbG93KS5cbiAgICAuZG1zLWlkb2MtdG9jLmRtcy1pZG9jLXRvYy1vcGVuIC5kbXMtaWRvYy10b2MtY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICM2YjY4ODQ7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZWRlZWZiOyBjb2xvcjogIzQwNDk5YTsgfVxuICAgIH1cblxuICAgIC5kbXMtaWRvYy1tYWluIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2U7XG4gICAgfVxuICAgIC8vIFB1c2hlcyB0aGUgZG9jdW1lbnQgcmlnaHQgYnkgdGhlIGRyYXdlcidzIG93biB3aWR0aCBXSElMRSBpdCdzIG9wZW4g4oCUIHRoZVxuICAgIC8vIGB+YCBnZW5lcmFsLXNpYmxpbmcgY29tYmluYXRvciBtYXRjaGVzIC5kbXMtaWRvYy1tYWluIGJlY2F1c2UgaXQgY29tZXNcbiAgICAvLyBBRlRFUiAuZG1zLWlkb2MtdG9jIGluIERPTSBvcmRlciAoc2VlIGRtcy1pZG9jLXJlbmRlci5qcydzIHJlbmRlcigpKS5cbiAgICAuZG1zLWlkb2MtdG9jLmRtcy1pZG9jLXRvYy1vcGVuIH4gLmRtcy1pZG9jLW1haW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgobWluKDMwMHB4LCA4MiUpKTtcbiAgICB9XG5cbiAgICAvLyBUaGUgZmxvYXRpbmcgXCJvcGVuXCIgYnV0dG9uIOKAlCBhIFNJQkxJTkcgb2YgLmRtcy1pZG9jLXRvYyAobm90IGFcbiAgICAvLyBkZXNjZW5kYW50KSwgc28gaXQgc3RheXMgdmlzaWJsZSB3aGlsZSB0aGUgZHJhd2VyIGl0c2VsZiBzaXRzXG4gICAgLy8gb2ZmLXNjcmVlbi4gYHBvc2l0aW9uOmZpeGVkYCBoZXJlIGlzIHJlbGF0aXZlIHRvIHRoZSBuZWFyZXN0IGFuY2VzdG9yXG4gICAgLy8gdGhhdCBlc3RhYmxpc2hlcyBhIGNvbnRhaW5pbmcgYmxvY2sgZm9yIGZpeGVkLXBvc2l0aW9uIGVsZW1lbnRzICh0aGVcbiAgICAvLyByZWFsIGJyb3dzZXIgdmlld3BvcnQgZm9yIHRoZSBETVMgdmlld2VyL3B1YmxpYyBzaGFyZSBwYWdlOyB0aGVcbiAgICAvLyBlZGl0b3IncyBvd24gTW9iaWVsLXByZXZpZXcgZGV2aWNlLWZyYW1lIGdldHMgaXRzIG93biBjb250YWluaW5nLWJsb2NrXG4gICAgLy8gb3ZlcnJpZGUgaW4gaW50ZXJhY3RpdmUtZWRpdG9yLmh0bWwsIHNvIHRoZSBidXR0b24gc3RheXMgcGlubmVkIHRvXG4gICAgLy8gdGhhdCBmcmFtZSBpbnN0ZWFkIG9mIGVzY2FwaW5nIHRvIHRoZSByZWFsIGRlc2t0b3Agd2luZG93KS5cbiAgICAuZG1zLWlkb2MtdG9jLWZhYiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgbGVmdDogMTZweDtcbiAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0MDQ5OWE7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAuMjgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4xMnMgZWFzZTtcblxuICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogIzMzM2E4MDsgfVxuICAgIH1cbiAgICAvLyBIaWRkZW4gd2hpbGUgdGhlIGRyYXdlciBpcyBvcGVuICh0aGUgWCBpbnNpZGUgdGhlIGRyYXdlciBpcyB0aGUgY2xvc2VcbiAgICAvLyBhZmZvcmRhbmNlIHRoZW4pIOKAlCBzYW1lIHNpYmxpbmctY29tYmluYXRvciByZWFzb25pbmcgYXMgLmRtcy1pZG9jLW1haW4uXG4gICAgLmRtcy1pZG9jLXRvYy5kbXMtaWRvYy10b2Mtb3BlbiB+IC5kbXMtaWRvYy10b2MtZmFiIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZhc2UgMyDigJQgcGFuZWxzIChhY2NvcmRpb24gKyBcIm1vcmUgaW5mb1wiKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOZXN0ZWQgYmxvY2tzIHJldXNlIHRoZSBwbGFpbiBmYXNlLTAgbGVhZiBydWxlcyBhYm92ZSB2ZXJiYXRpbSB2aWFcbi8vIGRtcy1pZG9jLXJlbmRlci5qcydzIG93biBibG9ja05vZGUoKSByZWN1cnNpb24gKGFwcGVuZE5lc3RlZEJsb2Nrcykg4oCUIG5vIG5ld1xuLy8gbGVhZi1sZXZlbCBydWxlcyBhcmUgbmVlZGVkIGhlcmUsIG9ubHkgdGhlIHBhbmVsIGNocm9tZSBpdHNlbGYuXG5cbi5kbXMtaWRvYy1ibG9jay1wYW5lbCB7IG1pbi13aWR0aDogMDsgfVxuXG4uZG1zLWlkb2MtcGFuZWxncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbn1cblxuLmRtcy1pZG9jLXBhbmVsIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uZG1zLWlkb2MtcGFuZWwtaGVhZCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogMTRweCAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmNGY0ZmE7IC8vIHNvbGlkIOKAlCBuZWVkcyB0byBzaXQgdmlzdWFsbHkgQUJPVkUgdGhlIGJvZHkgY29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNjcm9sbGluZyBiZW5lYXRoIGl0IG9uY2Ugc3RpY2t5IChzZWUgYmVsb3cpXG4gICAgY29sb3I6ICMyMzI1M2E7XG4gICAgZm9udC1zaXplOiAuOTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7IC8vIG1hdGNoZXMgLmRtcy1pZG9jLXBhbmVsJ3Mgb3duIHJhZGl1cyB3aGlsZSBjbG9zZWRcblxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZWRlZWZiOyB9XG59XG5cbi8vIFN0aWNreSBPTkxZIHdoaWxlIE9QRU4gKFplbnlhIHBhcml0eSwgc2VlIHRoZSBmaWxlLWhlYWRlciBjb21tZW50IGluXG4vLyBkbXMtaWRvYy1yZW5kZXIuanMpIOKAlCBhIGNsb3NlZCBwYW5lbCBoYXMgbm8gYm9keSBoZWlnaHQgdG8gc2Nyb2xsIHBhc3QsIHNvXG4vLyBpdHMgaGVhZGVyIGp1c3Qgc3RheXMgaW4gbm9ybWFsIGZsb3cuIEdhdGluZyB0aGlzIG9uIHRoZSBgLW9wZW5gIGFuY2VzdG9yXG4vLyBjbGFzcyBhbHNvIGF2b2lkcyBzZXZlcmFsIHNpbXVsdGFuZW91c2x5LXN0aWNreSBDTE9TRUQgaGVhZGVycyBzdGFja2luZyB1cFxuLy8gYXMgdGhlIHJlYWRlciBzY3JvbGxzIHF1aWNrbHkgcGFzdCBhIHJ1biBvZiBjb2xsYXBzZWQgcGFuZWxzLlxuLmRtcy1pZG9jLXBhbmVsLW9wZW4gPiAuZG1zLWlkb2MtcGFuZWwtaGVhZCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMjsgLy8gYWJvdmUgdGhlIHBhbmVsIGJvZHkgY29udGVudCBzY3JvbGxpbmcgdW5kZXJuZWF0aCBpdFxuICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwOyAvLyBzcXVhcmVzIG9mZiB0aGUgYm90dG9tIGNvcm5lcnMgd2hpbGUgb3BlblxufVxuXG4uZG1zLWlkb2MtcGFuZWwtY2hldnJvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xNXMgZWFzZTtcbn1cblxuLmRtcy1pZG9jLXBhbmVsLW9wZW4gLmRtcy1pZG9jLXBhbmVsLWNoZXZyb24geyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLmRtcy1pZG9jLXBhbmVsLWNoZXZyb24geyB0cmFuc2l0aW9uOiBub25lOyB9XG59XG5cbi5kbXMtaWRvYy1wYW5lbC1ib2R5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4OyAvLyBzYW1lIHJoeXRobSBhcyAuZG1zLWlkb2MtcGFnZSdzIG93biB0b3AtbGV2ZWwgYmxvY2sgZ2FwXG4gICAgcGFkZGluZzogMTZweCAxOHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTJlMmYwO1xufVxuXG4uZG1zLWlkb2MtcGFuZWwtb3BlbiA+IC5kbXMtaWRvYy1wYW5lbC1ib2R5IHsgZGlzcGxheTogZmxleDsgfVxuXG4vLyAtLS0tIFwibW9yZSBpbmZvXCIgdGVhc2VyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5kbXMtaWRvYy1tb3JlaW5mbyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJmMDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjdmYjtcbn1cblxuLmRtcy1pZG9jLW1vcmVpbmZvLXRvZ2dsZSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgZm9udC1zaXplOiAuODhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogI2VkZWVmYjsgfVxuXG4gICAgc3BhbiB7IGZsZXg6IDEgMSBhdXRvOyB9XG5cbiAgICAuZG1zLWlkb2MtcGFuZWwtY2hldnJvbiB7IGNvbG9yOiAjNDA0OTlhOyB9XG59XG5cbi5kbXMtaWRvYy1tb3JlaW5mby1vcGVuIC5kbXMtaWRvYy1tb3JlaW5mby10b2dnbGUgeyBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDsgfVxuXG4uZG1zLWlkb2MtbW9yZWluZm8tYm9keSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTZweDtcbiAgICBwYWRkaW5nOiAwIDE2cHggMTZweDtcbn1cblxuLmRtcy1pZG9jLW1vcmVpbmZvLW9wZW4gLmRtcy1pZG9jLW1vcmVpbmZvLWJvZHkgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbi8vIC0tLS0gVE9DOiBhY2NvcmRpb24gcGFuZWwgdGl0bGVzIGdldCBhIG5lc3RlZC9pbmRlbnRlZCBlbnRyeSAtLS0tLS0tLS0tLS0tLS1cblxuLmRtcy1pZG9jLXRvYy1pdGVtLWluZGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgY29sb3I6ICM2YjY4ODQ7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRmFzZSA0IOKAlCBpbWFnZSBob3RzcG90c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNYXJrZXJzL3BvcG92ZXJzIGFyZSBwb3NpdGlvbmVkIGluc2lkZSAuZG1zLWlkb2MtaW1nLXdyYXAgKHNlZSBhYm92ZSDigJQgaXRzXG4vLyBib3ggPT0gdGhlIDxpbWc+J3MgcmVuZGVyZWQgYm94IGZvciBldmVyeSBzaXplIGNsYXNzKSwgdmlhIGlubGluZVxuLy8gbGVmdC90b3Agc2V0IGZyb20gdGhlIGhvdHNwb3QncyB4L3kgZnJhY3Rpb24gKGRtcy1pZG9jLXJlbmRlci5qcykuIENvbG91clxuLy8gaXRzZWxmIGlzIEFMU08gaW5saW5lIChvbmUgb2YgdGhlIDggaG91c2UgaGV4IHZhbHVlcykg4oCUIG5ldmVyIGdlbmVyYXRlZCBhc1xuLy8gOCBDU1MgY2xhc3Nlcy5cblxuLmRtcy1pZG9jLWhvdHNwb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgLy8gY2VudGVycyB0aGUgbWFya2VyIE9OIHRoZSB4L3kgcG9pbnRcbiAgICB6LWluZGV4OiAxOyAvLyBzaXRzIGFib3ZlIHRoZSA8aW1nPiBpdHNlbGYgKHNhbWUgd3JhcCwgbGF0ZXIgaW4gRE9NIG9yZGVyXG4gICAgICAgICAgICAgICAgLy8gYWxyZWFkeSB3b3VsZDsgei1pbmRleCBtYWtlcyBpdCBleHBsaWNpdC9yb2J1c3QpXG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgLjM1KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyAvLyBub24taW50ZXJhY3RpdmUgKG5laXRoZXIgdGV4dCBub3IgaHJlZikg4oCUIHRoZSBkZWZhdWx0IHN0YXRlXG59XG5cbi8vIEludGVyYWN0aXZlIHNoYXBlcyBvbmx5ICh0ZXh0IGFuZC9vciBocmVmIHByZXNlbnQpIOKAlCBzZWUgYnVpbGRIb3RzcG90Tm9kZS5cbi5kbXMtaWRvYy1ob3RzcG90LWNsaWNrYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTJzIGVhc2U7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIC8vIGtlZXAgQk9USCB0aGUgY2VudGVyaW5nIHRyYW5zbGF0ZSBhbmQgdGhlIGhvdmVyIHNjYWxlIOKAlCByZXBsYWNpbmdcbiAgICAgICAgLy8gdHJhbnNmb3JtIG91dHJpZ2h0IGhlcmUgKGRyb3BwaW5nIHRoZSB0cmFuc2xhdGUpIHdvdWxkIHZpc2libHlcbiAgICAgICAgLy8gc2hpZnQgdGhlIG1hcmtlciBvZmYgaXRzIHBvaW50LlxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjE1KTtcbiAgICB9XG59XG5cbi5kbXMtaWRvYy1ob3RzcG90OmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjNDA0OTlhO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLmRtcy1pZG9jLWhvdHNwb3QtY2xpY2thYmxlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICB9XG59XG5cbi5kbXMtaWRvYy1ob3RzcG90LWxhYmVsIHtcbiAgICBmb250LXNpemU6IC42OHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyB0aGUgbWFya2VyIGVsZW1lbnQgaXRzZWxmIGlzIHRoZSBjbGljayB0YXJnZXRcbn1cblxuLy8gQSBjdXJyZW50bHktb3BlbiBtYXJrZXIgZ2V0cyBhIHNvZnQgb3V0ZXIgcmluZyBpbiB0aGUgaG91c2UgYnJhbmQgY29sb3VyIOKAlFxuLy8gcHVyZWx5IGEgdmlzdWFsIFwidGhpcyBvbmUgaXMgZXhwYW5kZWRcIiBjdWUgKG1pcnJvcnMgdGhlIGFjY29yZGlvbiBwYW5lbCdzXG4vLyBvd24gb3Blbi1zdGF0ZSBjaGV2cm9uIHJvdGF0aW9uIGVsc2V3aGVyZSBpbiB0aGlzIGZpbGUpLlxuLmRtcy1pZG9jLWhvdHNwb3Qtb3BlbiB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNjQsIDczLCAxNTQsIC4zNSksIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIC4zNSk7XG59XG5cbi5kbXMtaWRvYy1ob3RzcG90LXBvcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vIGxlZnQvdG9wIHNldCBpbmxpbmUgKHNhbWUgeC95IHBvaW50IGFzIGl0cyBvd24gbWFya2VyKTsgdGhpcyB0cmFuc2Zvcm1cbiAgICAvLyBjZW50ZXJzIGl0IGhvcml6b250YWxseSB1bmRlciB0aGF0IHBvaW50IGFuZCBkcm9wcyBpdCBiZWxvdyB0aGVcbiAgICAvLyBtYXJrZXIg4oCUIHZlcnRpY2FsIG92ZXJmbG93IGlzIGRlbGliZXJhdGVseSBzaW1wbGUgKHBlciBzcGVjLCBcIm1heVxuICAgIC8vIGV4dGVuZCBiZWxvdyB0aGUgbWFya2VyIGlzIGZpbmUgZm9yIHYxXCIpLCBidXQgYSBtYXJrZXIgbmVhciB0aGUgTEVGVC9cbiAgICAvLyBSSUdIVCBlZGdlIG9mIGEgbmFycm93IChtb2JpbGUpIHZpZXdwb3J0IHVzZWQgdG8gY2VudGVyIHRoZSBwb3BvdmVyXG4gICAgLy8gaGFsZiBvZmYtc2NyZWVuIHdpdGggbm8gd2F5IHRvIHJlYWNoIHRoZSBjbGlwcGVkIGNvbnRlbnQuIGRtcy1pZG9jLVxuICAgIC8vIHJlbmRlci5qcydzIGNsYW1wSG90c3BvdFBvcG92ZXJUb1ZpZXdwb3J0KCkgbm93IG1lYXN1cmVzIHRoZSBvcGVuZWRcbiAgICAvLyBwb3BvdmVyIGFuZCBzZXRzIGAtLWRtcy1pZG9jLWhzLXNoaWZ0YCB0byBqdXN0IGVub3VnaCBob3Jpem9udGFsXG4gICAgLy8gY29ycmVjdGlvbiB0byBrZWVwIGl0IGZ1bGx5IG9uLXNjcmVlbjsgaXQgZGVmYXVsdHMgdG8gMHB4IChubyB2aXN1YWxcbiAgICAvLyBjaGFuZ2UgYXQgYWxsKSB3aGVuZXZlciB0aGUgcG9wb3ZlciBhbHJlYWR5IGZpdHMuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tZG1zLWlkb2MtaHMtc2hpZnQsIDBweCkpLCAxNHB4KTtcbiAgICB6LWluZGV4OiAyOyAvLyBhYm92ZSBldmVyeSBtYXJrZXIsIGluY2wuIHRoaXMgcG9wb3ZlcidzIG93biBtYXJrZXJcbiAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzIzMjUzYTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgLjIyKTtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgZm9udC1zaXplOiAuODVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG4uZG1zLWlkb2MtaG90c3BvdC1wb3BbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH0gLy8gc2FtZSBgaGlkZGVuYC1wcm9wZXJ0eSBjb252ZW50aW9uIGFzIC5kbXMtaWRvYy10b2NbaGlkZGVuXSBhYm92ZVxuXG4uZG1zLWlkb2MtaG90c3BvdC1wb3AtdGV4dCB7XG4gICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgLy8gYSBzaG9ydCByZWZlcmVuY2Ugc3RyaW5nIG1heSBzdGlsbCBjYXJyeSBsaW5lIGJyZWFrc1xufVxuLmRtcy1pZG9jLWhvdHNwb3QtcG9wLXRleHQ6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmRtcy1pZG9jLWhvdHNwb3QtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBjb2xvcjogIzQwNDk5YTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IC44MnJlbTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IC8vIGEgbG9uZyBob3N0bmFtZS9tYWlsdG8gYWRkcmVzcyBtdXN0IG5ldmVyIG92ZXJmbG93IHRoZSAyNjBweCBwb3BvdmVyXG5cbiAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuICAgIHFkbmFwcm8taWNvbiB7IGZsZXg6IDAgMCBhdXRvOyB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRmFzZSA1IOKAlCBkZWVwLWxpbmsvcmV2ZWFsICguZG1zLWlkb2MtZmxhc2gpLCBpbi1kb2N1bWVudCBzZWFyY2hcbi8vICguZG1zLWlkb2Mtc2VhcmNoKiwgLmRtcy1pZG9jLW1hcmsqKSwgYW5kIHByaW50ICguZG1zLWlkb2MtcHJpbnQqKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0gcmV2ZWFsQmxvY2sncyBicmllZiBcImxvb2sgaGVyZVwiIHB1bHNlIChkbXMtaWRvYy1yZW5kZXIuanMnc1xuLy8gZmxhc2hCbG9jayDigJQgYWRkZWQvcmVtb3ZlZCB2aWEgYSB+MS42cyBzZXRUaW1lb3V0LCBtYXRjaGVkIGhlcmUgdG8gdGhlXG4vLyBTQU1FIGR1cmF0aW9uIHNvIHRoZSBjbGFzcyBpcyBhbHdheXMgZ29uZSBieSB0aGUgdGltZSB0aGUgSlMgcmVtb3ZlcyBpdCkuXG4vLyBXb3JrcyBvbiBhbnkgYmxvY2std3JhcHBlciBlbGVtZW50IHJlZ2FyZGxlc3Mgb2YgaXRzIG93biBiYWNrZ3JvdW5kIOKAlFxuLy8gdGhlIGJveC1zaGFkb3cgcmluZyBuZXZlciBkZXBlbmRzIG9uIG9uZSwgYW5kIHRoZSBmYWRpbmcgYmFja2dyb3VuZC1jb2xvclxuLy8gdGludCBpcyBhZGRpdGl2ZSBvbiB0b3Agb2Ygd2hhdGV2ZXIgdGhlIGVsZW1lbnQgYWxyZWFkeSBoYXMuXG5Aa2V5ZnJhbWVzIGRtcy1pZG9jLWZsYXNoLXB1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDY0LCA3MywgMTU0LCAuNTUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY0LCA3MywgMTU0LCAuMSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg2NCwgNzMsIDE1NCwgMCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5kbXMtaWRvYy1mbGFzaCB7XG4gICAgYW5pbWF0aW9uOiBkbXMtaWRvYy1mbGFzaC1wdWxzZSAxLjZzIGVhc2Utb3V0O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLmRtcy1pZG9jLWZsYXNoIHsgYW5pbWF0aW9uOiBub25lOyB9XG59XG5cbi8vIC0tLS0gaW4tZG9jdW1lbnQgc2VhcmNoIOKAlCBnZW5lcmljIGJhci9pbnB1dCBjbGFzc2VzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTk9URTogdGhlIERNUyB2aWV3ZXIgKFZpZXcvdjEvZG9jdW1lbnRzL3ZpZXdlci5odG1sKSBidWlsdCBpdHMgT1dOXG4vLyBwYWdlLXNjb3BlZCBzZWFyY2ggYmFyICguZG1zLXYtc2VhcmNoKiwgc3R5bGVkIGlubGluZSB0aGVyZSB0byBtYXRjaCBpdHNcbi8vIGRhcmsgdmlld2VyIGNocm9tZSkgcmF0aGVyIHRoYW4gdXNpbmcgdGhlc2Ug4oCUIHRoZXNlIGNsYXNzZXMgc3RheSBoZXJlLCBpblxuLy8gdGhlIHNoYXJlZCBzdHlsZXNoZWV0LCBmb3IgYW55IE9USEVSIGhvc3QgdGhhdCB3YW50cyBhbiBpbi1kb2N1bWVudCBzZWFyY2hcbi8vIGJhciBpbiB0aGUgc2hhcmVkIHJlbmRlcmVyJ3Mgb3duIHZpc3VhbCBsYW5ndWFnZSAoZS5nLiB0aGUgZmFzZS0xIFZ1ZVxuLy8gZWRpdG9yJ3MgcHJldmlldyBwYW5lKSB3aXRob3V0IGhhbmQtcm9sbGluZyBvbmUgZnJvbSBzY3JhdGNoLlxuLmRtcy1pZG9jLXNlYXJjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmN2Y3ZmI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJmMDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuXG4gICAgcWRuYXByby1pY29uIHsgY29sb3I6ICM2YjY4ODQ7IGZsZXg6IDAgMCBhdXRvOyB9XG59XG5cbi5kbXMtaWRvYy1zZWFyY2gtaW5wdXQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMyMzI1M2E7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q3ZDhlYztcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAuODVyZW07XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgICY6Zm9jdXMgeyBib3JkZXItY29sb3I6ICM0MDQ5OWE7IH1cbiAgICAmOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAjOGE4ZmI1OyB9XG4gICAgLy8gQSBob3N0IHJlbmRlcnMgaXRzIG93biBjbGVhciAo4pyVKSBidXR0b24g4oCUIGhpZGUgdGhlIG5hdGl2ZSBXZWJLaXQgb25lXG4gICAgLy8gc28gdGhlcmUgaXMgb25seSBldmVyIG9uZSwgc2FtZSBjb252ZW50aW9uIGFzIHZpZXdlci5odG1sJ3Mgb3duIGJhci5cbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG59XG5cbi5kbXMtaWRvYy1zZWFyY2gtY291bnQge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgY29sb3I6ICM2YjY4ODQ7XG4gICAgbWluLXdpZHRoOiA0NHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5kbXMtaWRvYy1zZWFyY2gtY291bnRbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cbi5kbXMtaWRvYy1zZWFyY2gtY291bnQtbm9tYXRjaCB7IGNvbG9yOiAjYzAzOTJiOyB9XG5cbi5kbXMtaWRvYy1zZWFyY2gtbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAycHg7XG59XG5cbi8vIC0tLS0gc2VhcmNoIHJlc3VsdCBoaWdobGlnaHRpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBXcmFwcGVkIDxtYXJrPiBlbGVtZW50cyDigJQgc2VlIGRtcy1pZG9jLXJlbmRlci5qcydzIGhpZ2hsaWdodFRleHRJbkVsZW1lbnQvXG4vLyB3cmFwTWF0Y2hlc0luVGV4dE5vZGUvdW5tYXJrRWxlbWVudC4gYC5kbXMtaWRvYy1tYXJrLWN1cnJlbnRgIGlzIGEgcGxhaW5cbi8vIEVYVFJBIGNsYXNzIG9uIHRoZSBzYW1lIDxtYXJrPiBlbGVtZW50IChuZXZlciBhIHNlY29uZCB3cmFwcGVyKSBtYXJraW5nXG4vLyB0aGUgY3VycmVudGx5LW5hdmlnYXRlZC10byBoaXQncyBvY2N1cnJlbmNlcyB3aXRoaW4gaXRzIG93biBibG9jay9wYW5lbFxuLy8gZW50cnkg4oCUIHNlZSBzZXRDdXJyZW50TWFya1Njb3BlLlxuLmRtcy1pZG9jLW1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZmUwOGE7XG4gICAgY29sb3I6ICMyMzI1M2E7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHBhZGRpbmc6IDAgMXB4O1xufVxuLmRtcy1pZG9jLW1hcmstY3VycmVudCB7XG4gICAgYmFja2dyb3VuZDogI2U4OTEyZDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyMzIsIDE0NSwgNDUsIC4zNSk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRmFzZSA1IOKAlCBwcmludCAocmVuZGVyRm9yUHJpbnQpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlbmRlckZvclByaW50KCkgKGRtcy1pZG9jLXJlbmRlci5qcykgYnVpbGRzIGEgZnVsbHktZXhwYW5kZWQsIHN0YXRpYyBET01cbi8vIHRyZWUgaW50byBhIGNhbGxlci1zdXBwbGllZCBjb250YWluZXIuIFRoZSBLTk9XTiBjYWxsZXIgKHZpZXdlci5odG1sJ3Ncbi8vIGRvUHJpbnQoKSkgd3JhcHMgdGhhdCBjb250YWluZXIncyBFTlRJUkUgaW5uZXJIVE1MIGluIGl0cyBPV05cbi8vIGA8ZGl2IGNsYXNzPVwiZG1zLWlkb2MtcHJpbnRcIj5gIGJlZm9yZSB3cml0aW5nIGl0IGludG8gYSBmcmVzaCBwb3B1cCBwcmludFxuLy8gd2luZG93IHRoYXQgYWxzbyBsb2FkcyBUSElTIFNBTUUgc3R5bGVzaGVldCDigJQgZG1zLWlkb2MtcmVuZGVyLmpzIG5ldmVyXG4vLyBjcmVhdGVzIHRoYXQgZWxlbWVudCBpdHNlbGYgKGl0cyBvd24gcm9vdCBpcyB0aGUgbmVzdGVkXG4vLyBgLmRtcy1pZG9jLXByaW50LWRvY2AsIHB1cmVseSBmb3IgaXRzIG93biBkb2N1bWVudC1sZXZlbCB0eXBvZ3JhcGh5L1xuLy8gbWF4LXdpZHRoLCBuZXZlciByZW5kZXIvcHJpbnQtY2hyb21lKS4gU28gYC5kbXMtaWRvYy1wcmludGAgaXMgdGhlIG9uZVxuLy8gd3JhcHBlciBjbGFzcyBldmVyeSBydWxlIGJlbG93IGlzIHdyaXR0ZW4gdG8gd29yayBjb3JyZWN0bHkgdW5kZXJuZWF0aCxcbi8vIGV2ZW4gdGhvdWdoIGl0IG5ldmVyIGFwcGVhcnMgaW4gdGhpcyBmaWxlJ3Mgb3duIGNsYXNzIGxpc3QuXG4uZG1zLWlkb2MtcHJpbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMyMzI1M2E7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi5kbXMtaWRvYy1wcmludC1kb2Mge1xuICAgIG1heC13aWR0aDogNzYwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMjRweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE4cHg7XG4gICAgZm9udC1zaXplOiAuOTJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG59XG5cbi5kbXMtaWRvYy1wcmludC1ibG9jayB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgLy8gbGVnYWN5IGFsaWFzLCBzdGlsbCBtZWFuaW5nZnVsIGluIHNldmVyYWwgcHJpbnQgZW5naW5lc1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG59XG5cbi8vIEEgY29uZGl0aW9uZWQgYmxvY2sncyBpbmZvcm1hdGlvbmFsIFwiwqtsYWJlbHMudmlzaWJsZVdoZW7CuyDigKZcIiBsaW5lIChubyBpMThuXG4vLyBhY2Nlc3MgaW5zaWRlIGRtcy1pZG9jLXJlbmRlci5qcyBpdHNlbGYg4oCUIHRoZSBwcmVmaXggc3RyaW5nIGlzXG4vLyBob3N0LXN1cHBsaWVkLCBzZWUgcHJpbnRDb25kaXRpb25zTGluZSdzIG93biBkb2MgY29tbWVudCkuIFB1cmVseVxuLy8gZGVzY3JpcHRpdmUg4oCUIHByaW50IG5ldmVyIGhpZGVzL3Nob3dzIGFueXRoaW5nIGJhc2VkIG9uIGl0LlxuLmRtcy1pZG9jLXByaW50LWNvbmRpdGlvbiB7XG4gICAgZm9udC1zaXplOiAuNzhyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAjNmI2ODg0O1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmRtcy1pZG9jLXByaW50LWNob2ljZSB7IG1pbi13aWR0aDogMDsgfVxuLmRtcy1pZG9jLXByaW50LWNob2ljZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwIDAgNnB4O1xuICAgIGNvbG9yOiAjMjMyNTNhO1xufVxuLmRtcy1pZG9jLXByaW50LWNob2ljZS1vcHRpb25zIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjNlbTtcbn1cblxuLmRtcy1pZG9jLXByaW50LWltYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG59XG4uZG1zLWlkb2MtcHJpbnQtaW1nLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gb2Zmc2V0IHBhcmVudCBmb3IgdGhlIG51bWJlcmVkIG1hcmtlciBzcGFucyBiZWxvd1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDgwcHg7XG59XG4uZG1zLWlkb2MtcHJpbnQtaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLmRtcy1pZG9jLXByaW50LWNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgY29sb3I6ICM2YjY4ODQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBOdW1iZXJlZCBob3RzcG90IG1hcmtlcnMg4oCUIHBsYWluIHNtYWxsIGNpcmNsZXMgY2FycnlpbmcgdGhlaXIgb3duIG51bWJlclxuLy8gKG5vIHBvcG92ZXIsIG5vIGludGVyYWN0aXZpdHk6IHRoZSBudW1iZXJlZCBsZWdlbmQgbGlzdCBiZWxvdyB0aGUgaW1hZ2Vcbi8vIHNwZWxscyBvdXQgbGFiZWwvdGV4dC9ocmVmIGFzIHBsYWluIHRleHQgaW5zdGVhZCDigJQgcHJpbnQgaGFzIG5vXG4vLyBpbnRlcmFjdGl2ZSBwb3BvdmVycywgcGVyIHNwZWMpLlxuLmRtcy1pZG9jLXByaW50LWhvdHNwb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgLy8gc2FtZSBjZW50ZXJpbmctb24tdGhlLXBvaW50IGNvbnZlbnRpb24gYXMgLmRtcy1pZG9jLWhvdHNwb3RcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAuNjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8vIHB1cmVseSBkZWNvcmF0aXZlLCBldmVuIGluIGFuIG9uLXNjcmVlbiBwcmludCBwcmV2aWV3XG59XG4uZG1zLWlkb2MtcHJpbnQtaG90c3BvdC1sZWdlbmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgbWFyZ2luOiA0cHggMCAwO1xuICAgIHBhZGRpbmctbGVmdDogMS40ZW07XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICBjb2xvcjogIzMzMzQ0YTtcbn1cblxuLmRtcy1pZG9jLXByaW50LXBhbmVsZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG59XG4uZG1zLWlkb2MtcHJpbnQtcGFuZWwge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZjA7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbn1cbi5kbXMtaWRvYy1wcmludC1wYW5lbC10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzIzMjUzYTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4uZG1zLWlkb2MtcHJpbnQtcGFuZWwtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgICAuZG1zLWlkb2MtcHJpbnQgeyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgLmRtcy1pZG9jLXByaW50LWRvYyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLy8gQSBibG9jay9wYW5lbC9pbWFnZSBzaG91bGQgbmV2ZXIgc3RyYWRkbGUgYSBwYWdlIGJyZWFrIGlmIGl0IGNhbiBoZWxwXG4gICAgLy8gaXQg4oCUIGJlc3QtZWZmb3J0IG9ubHkgKGEgdmVyeSBsb25nIHRhYmxlL3RhbGwgaW1hZ2UgY2FuIHN0aWxsIHNwbGl0O1xuICAgIC8vIGJyb3dzZXIgcHJpbnQgZW5naW5lcyB2YXJ5IGluIGhvdyBzdHJpY3RseSB0aGV5IGhvbm91ciB0aGlzKS5cbiAgICAuZG1zLWlkb2MtcHJpbnQtYmxvY2ssXG4gICAgLmRtcy1pZG9jLXByaW50LXBhbmVsLFxuICAgIC5kbXMtaWRvYy1wcmludC1pbWFnZSB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG4gICAgLy8gTGlua3MgcHJpbnQgYXMgcGxhaW4gdW5kZXJsaW5lZCB0ZXh0IChubyBob3Zlci9wb2ludGVyIGFmZm9yZGFuY2VcbiAgICAvLyBuZWVkZWQgb24gcGFwZXIpIOKAlCBub3RoaW5nIGVsc2UgdG8gaGlkZTogcmVuZGVyRm9yUHJpbnQoKSBuZXZlciBidWlsZHNcbiAgICAvLyBhIFRPQy9zZWFyY2ggYmFyL2RhcmsgY2hyb21lIGluIHRoZSBmaXJzdCBwbGFjZSwgc28gdGhlcmUgaXMgbm9cbiAgICAvLyByZXNpZHVhbCBvbi1zY3JlZW4tb25seSBjaHJvbWUgdG8gc3VwcHJlc3MgaGVyZS5cbiAgICAuZG1zLWlkb2MtcHJpbnQgYSB7IGNvbG9yOiBpbmhlcml0OyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZhc2UgN2Eg4oCUIGFjdGlvbiBibG9jayAoYSBidXR0b24gdGhhdCBzdGFydHMgYSBmbG93KVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTYW1lIGNvbG91ciBmYW1pbHkgYXMgZXZlcnkgb3RoZXIgYmxvY2sgYWJvdmU6IGJyYW5kIHB1cnBsZSAjNDA0OTlhLCBsaWdodFxuLy8gbGF2ZW5kZXIgI2VkZWVmYiwgI2UyZTJmMCBib3JkZXJzLCAjMjMyNTNhIGRhcmsgdGV4dCwgIzZiNjg4NCBtdXRlZCB0ZXh0IOKAlFxuLy8gbm8gbmV3IGNvbG91cnMgaW50cm9kdWNlZC4gU2VlIGRtcy1pZG9jLXJlbmRlci5qcydzIG93biBmYXNlLTdhIGNvbW1lbnRcbi8vIChidWlsZEFjdGlvbk5vZGUvZGVyaXZlQWN0aW9uU3RhdGUpIGZvciB0aGUgZnVsbCBsaXZlL3VuYXZhaWxhYmxlL3ByZXZpZXdcbi8vIHN0YXRlIGNvbnRyYWN0IHRoaXMgZHJlc3Nlcy5cblxuLmRtcy1pZG9jLWJsb2NrLWFjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyB0aGUgYnV0dG9uIHNpemVzIHRvIGl0cyBvd24gY29udGVudCwgbmV2ZXIgc3RyZXRjaGVzIGZ1bGwtd2lkdGhcbiAgICBnYXA6IDZweDtcbn1cblxuLmRtcy1pZG9jLWFjdGlvbiB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiAxMnB4IDIycHg7XG4gICAgZm9udC1zaXplOiAuOTJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjE1cyBlYXNlLCBib3JkZXItY29sb3IgLjE1cyBlYXNlLCB0cmFuc2Zvcm0gLjFzIGVhc2U7XG5cbiAgICBxZG5hcHJvLWljb24geyBmbGV4OiAwIDAgYXV0bzsgfVxuXG4gICAgJjphY3RpdmUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICM0MDQ5OWE7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgfVxufVxuXG4uZG1zLWlkb2MtYWN0aW9uLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICM0MDQ5OWE7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICBxZG5hcHJvLWljb24geyBjb2xvcjogI2ZmZjsgfVxuXG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6ICMzMzNhODA7IH1cbn1cblxuLmRtcy1pZG9jLWFjdGlvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICNlZGVlZmI7XG4gICAgY29sb3I6ICMyMzI1M2E7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDdkOGVjO1xuXG4gICAgcWRuYXByby1pY29uIHsgY29sb3I6ICM0MDQ5OWE7IH1cblxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZGZlMGY3OyB9XG59XG5cbi8vICd1bmF2YWlsYWJsZScgKGZhc2UgN2Egc3RhdGUgMik6IGEgcmVhbCBzZXJ2ZXIgc2lnbmFsIHRoYXQgdGhlIGxpbmsgaXNcbi8vIGRlYWQg4oCUIGRpbW1lZCwgbm90IGNsaWNrYWJsZS1sb29raW5nLCBubyBob3ZlciBmZWVkYmFjayBhdCBhbGwgKHRoZXJlIGlzXG4vLyBub3RoaW5nIGJlaGluZCBpdCB0byBob3ZlciBUT1dBUkRTKS5cbi5kbXMtaWRvYy1hY3Rpb24tZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IC41O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kOiBpbmhlcml0OyB9IC8vIGNhbmNlbCB0aGUgYmFzZSBjbGFzcydzIG93biBob3ZlciBmaWxsXG4gICAgJjphY3RpdmUgeyB0cmFuc2Zvcm06IG5vbmU7IH1cbn1cbi5kbXMtaWRvYy1hY3Rpb24tcHJpbWFyeS5kbXMtaWRvYy1hY3Rpb24tZGlzYWJsZWQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjNDA0OTlhOyB9XG4uZG1zLWlkb2MtYWN0aW9uLXNlY29uZGFyeS5kbXMtaWRvYy1hY3Rpb24tZGlzYWJsZWQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZWRlZWZiOyB9XG5cbi8vICdwcmV2aWV3JyAoZmFzZSA3YSBzdGF0ZSAzKTogdGhlIGVkaXRvcidzIG93biBsaXZlLXByZXZpZXcgcmVuZGVyIOKAlCBzdHlsZWRcbi8vIHNvIHRoZSBhdXRob3IgY2FuIHNlZSByb3VnaGx5IHdoYXQgaXQgd2lsbCBsb29rIGxpa2UsIGJ1dCB2aXN1YWxseSBtYXJrZWRcbi8vIGFzIFwibm90IHJlYWxseSBsaXZlXCIgdmlhIGEgZGFzaGVkIG91dGxpbmUgKG5ldmVyIHRoZSBzb2xpZCBkaXNhYmxlZCBsb29rXG4vLyBhYm92ZSDigJQgbm90aGluZyBpcyB3cm9uZyBoZXJlLCBpdCBqdXN0IGlzbid0IHdpcmVkIHVwIHRvIGEgcmVhbCBsaW5rIHlldCkuXG4uZG1zLWlkb2MtYWN0aW9uLXByZXZpZXcge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuNik7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogaW5oZXJpdDsgfVxuICAgICY6YWN0aXZlIHsgdHJhbnNmb3JtOiBub25lOyB9XG59XG4uZG1zLWlkb2MtYWN0aW9uLXByaW1hcnkuZG1zLWlkb2MtYWN0aW9uLXByZXZpZXc6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjNDA0OTlhOyB9XG4uZG1zLWlkb2MtYWN0aW9uLXNlY29uZGFyeS5kbXMtaWRvYy1hY3Rpb24tcHJldmlldzpob3ZlciB7IGJhY2tncm91bmQ6ICNlZGVlZmI7IH1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuZG1zLWlkb2MtYWN0aW9uIHsgdHJhbnNpdGlvbjogbm9uZTsgfVxufVxuXG4uZG1zLWlkb2MtYWN0aW9uLW5vdGUge1xuICAgIGZvbnQtc2l6ZTogLjc4cmVtO1xuICAgIGNvbG9yOiAjNmI2ODg0O1xufVxuLmRtcy1pZG9jLWFjdGlvbi1ub3RlLXByZXZpZXcgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLy8gLS0tLSBwcmludCAocmVuZGVyRm9yUHJpbnQvcHJpbnRBY3Rpb25Ob2RlKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQSBwcmludGVkIHByb3RvY29sIGNhbiBuZXZlciBzdGFydCBhIGZsb3cg4oCUIHRoZSBsYWJlbCBhbG9uZSwgaW4gYSBwbGFpblxuLy8gYm9yZGVyZWQgYm94IHRoYXQgcmVhZHMgYXMgXCJ0aGlzIHdhcyBhIGJ1dHRvblwiIHdpdGhvdXQgbG9va2luZyBjbGlja2FibGVcbi8vIG9uIHBhcGVyIChubyBjb2xvdXIgZmlsbCwgbWF0Y2hpbmcgdGhlIHJlc3Qgb2YgdGhpcyBmaWxlJ3MgcHJpbnQgc2VjdGlvbidzXG4vLyBpbmstY29uc2Npb3VzLCBjb2xvdXItZnJlZSBzdHlsaW5nKS5cbi5kbXMtaWRvYy1wcmludC1hY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG4uZG1zLWlkb2MtcHJpbnQtYWN0aW9uLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzZiNjg4NDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzIzMjUzYTtcbn1cbiIsIi8qID09PSBCcmllZmluZyBtb2RhbCAocWRuYXByby13eXNpd3lnKSA9PT1cbiAgIFZlcmh1aXNkIHVpdCBzY3NzL3YxL3Rhc2tsaXN0LWFjdGl2aXRpZXMuc2NzcyBvcCAwMy4wOC4yMDI2LiBIZXQgbW9kYWwgd29yZHQgbnVcbiAgIGRvb3IgVFdFRSBwYWdpbmEncyBnZWJydWlrdCAoZGUgYWN0aXZpdGVpdGVucGFnaW5hIGVuIGRlIGZsb3cgZWRpdG9yLCB2b29yIGVlblxuICAgYnJpZWZpbmcgb3AgZWVuIHZyYWFnKSwgZW4gdGFza2xpc3QtYWN0aXZpdGllcy5jc3Mgd29yZHQgYWxsZWVuIGRvb3IgZGVcbiAgIGFjdGl2aXRlaXRlbnBhZ2luYSBnZWxhZGVuLiBCZWlkZSBwYWdpbmEncyBsYWRlbiBzdHlsZS12MS5jc3MsIGR1cyBkYWFyIGhvb3J0IGRpdC4gKi9cblxuLyogVGhlIGJyaWVmaW5nIGVkaXRvciBpcyBhIGZ1bGwtZG9jdW1lbnQgd3JpdGluZyBzdXJmYWNlLCBzbyBnaXZlIHRoZSBtb2RhbFxuICAgbmVhcmx5IHRoZSB3aG9sZSB2aWV3cG9ydCBhbmQgbGV0IHRoZSBlZGl0b3IgRklMTCBpdCB2aWEgYSBmbGV4IGNoYWluXG4gICAobW9kYWwtYm9keSAtPiBicmllZmluZy1tb2RhbC1ib2R5IC0+IGVkaXRvci1jb2wgLT4gd3lzaXd5ZyAtPiAudG94LXRpbnltY2UpLFxuICAgZWFjaCBsaW5rIG1pbi1oZWlnaHQ6MCBzbyB0aGUgZWRpdCBhcmVhIGdldHMgYSBkZWZpbml0ZSBoZWlnaHQgYW5kIHNjcm9sbHNcbiAgIElOVEVSTkFMTFkuIElEIHNwZWNpZmljaXR5ICgwLDEsMSkgYmVhdHMgdGhlIGNvbXBvbmVudCdzIC5tb2RhbC1zaXplLWxhcmdlXG4gICAoMCwzLDApIG1heC1oZWlnaHQ6ODAwIGNhcC4gW0tpbSAyMDI2LTA2LTExXSAqL1xuI21vZGFsLWJyaWVmaW5nIC5tb2RhbC1kaWFsb2cge1xuICAgIGhlaWdodDogbWluKDk2MHB4LCBjYWxjKDEwMHZoIC0gMzJweCkpO1xuICAgIG1heC13aWR0aDogbWluKDE0MDBweCwgY2FsYygxMDB2dyAtIDU2cHgpKTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4jbW9kYWwtYnJpZWZpbmcgLm1vZGFsLWJvZHkgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBtaW4taGVpZ2h0OiAwOyB9XG4uYnJpZWZpbmctbW9kYWwtYm9keSB7IGRpc3BsYXk6IGZsZXg7IGZsZXg6IDEgMSBhdXRvOyBtaW4taGVpZ2h0OiAwOyB9XG4uYnJpZWZpbmctZWRpdG9yLWNvbCB7XG4gICAgZmxleDogMSAxIGF1dG87IG1pbi13aWR0aDogMDsgbWluLWhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuI21vZGFsLWJyaWVmaW5nIHFkbmFwcm8td3lzaXd5ZyxcbiNtb2RhbC1icmllZmluZyAucWRuYXByby13eXNpd3lnIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgbWluLWhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuI21vZGFsLWJyaWVmaW5nIC50b3gtdGlueW1jZSB7IGZsZXg6IDEgMSBhdXRvOyBtaW4taGVpZ2h0OiAwOyB9XG5cbi8qID09PSBMaXZlIGRldmljZS1wcmV2aWV3IChyaWdodCBjb2x1bW4gb2YgdGhlIGJyaWVmaW5nIHNwbGl0KSA9PT0gKi9cbi5icmllZmluZy1wcmV2aWV3LWNvbCB7XG4gICAgZmxleDogMCAwIGNsYW1wKDMyMHB4LCAzNiUsIDUyMHB4KTtcbiAgICBtaW4td2lkdGg6IDA7IG1pbi1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlY2VlZjU7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjdmYjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDhweCA4cHggMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmJyaWVmaW5nLXByZXZpZXctYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlY2VlZjU7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG4uYnAtYmFyLXRpdGxlIHsgZm9udC1zaXplOiAxM3B4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogIzNiNDI1MjsgfVxuLmJwLWRldmljZS10b2dnbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7IGdhcDogMnB4OyBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAjZWNlZWY1OyBib3JkZXItcmFkaXVzOiA4cHg7IHBhZGRpbmc6IDJweDtcbn1cbi5icC1kZXZpY2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMzBweDsgaGVpZ2h0OiAyNnB4O1xuICAgIGJvcmRlcjogMDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBjb2xvcjogIzZiNzI4MDsgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTIwbXMsIGNvbG9yIDEyMG1zO1xufVxuLmJwLWRldmljZTpob3ZlciB7IGNvbG9yOiAjM2I0MjUyOyB9XG4uYnAtZGV2aWNlLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgY29sb3I6ICM0NjUyZjM7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMTcsIDIwLCA0NSwgMC4xMCk7XG59XG4uYnAtZGV2aWNlLWRpbXMge1xuICAgIGZvbnQtc2l6ZTogMTFweDsgY29sb3I6ICM5YWEwYWQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBtaW4td2lkdGg6IDYycHg7IHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmJyaWVmaW5nLXByZXZpZXctc3RhZ2Uge1xuICAgIGZsZXg6IDEgMSBhdXRvOyBtaW4taGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyNHB4O1xufVxuLmJwLXNpemVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyBmbGV4LXNocmluazogMDsgfVxuLmJyaWVmaW5nLXByZXZpZXctZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTFlM2U2O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjRweCByZ2JhKDE3LCAyMCwgNDUsIDAuMTYpO1xufVxuLmJyaWVmaW5nLXByZXZpZXctZnJhbWVbZGF0YS1kZXZpY2U9XCJwaG9uZVwiXSAgIHsgYm9yZGVyLXJhZGl1czogMjJweDsgfVxuLmJyaWVmaW5nLXByZXZpZXctZnJhbWVbZGF0YS1kZXZpY2U9XCJ0YWJsZXRcIl0gIHsgYm9yZGVyLXJhZGl1czogMTZweDsgfVxuLmJyaWVmaW5nLXByZXZpZXctZnJhbWVbZGF0YS1kZXZpY2U9XCJkZXNrdG9wXCJdIHsgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4uYnJpZWZpbmctcHJldmlldy1pZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwOyBkaXNwbGF5OiBibG9jazsgYmFja2dyb3VuZDogI2ZmZjtcbn1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuYnJpZWZpbmctcHJldmlldy1jb2wgeyBiYWNrZ3JvdW5kOiAjMWIxZDI3OyBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTsgfVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5icmllZmluZy1wcmV2aWV3LWJhciB7IGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7IH1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuYnAtYmFyLXRpdGxlIHsgY29sb3I6ICNkNGQ3ZTA7IH1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuYnAtZGV2aWNlLXRvZ2dsZSB7IGJhY2tncm91bmQ6ICMyYTJkM2E7IH1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuYnAtZGV2aWNlLmlzLWFjdGl2ZSB7IGJhY2tncm91bmQ6ICMzYTNmNTI7IGNvbG9yOiAjYWViNGZmOyB9XG5cbi5icmllZmluZy1tb2RhbC1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlY2VlZjU7XG59XG4vKiBcIkVsa2Uga2VlciBvcG5pZXV3IHRvbmVuXCIgdG9nZ2xlLiBTaXRzIGF0IHRoZSBmYXIgbGVmdCBvZiB0aGUgZm9vdGVyLCBiZWZvcmVcbiAgIHRoZSBzdGF0dXMgdGV4dCwgc28gaXQgcmVhZHMgYXMgYSBwcm9wZXJ0eSBvZiB0aGUgYnJpZWZpbmcgeW91IGFyZSBhYm91dCB0b1xuICAgc2F2ZSByYXRoZXIgdGhhbiBhcyBhbm90aGVyIGFjdGlvbiBidXR0b24uIFtLaW0gMDMuMDguMjAyNl1cbiAgIERlIHZyYWFnLWJyaWVmaW5nIGhhbmd0IFwia25vcCB0b25lbiBiaWogZGUgdnJhYWdcIiBvcCBleGFjdCBkZXplbGZkZSB2b3JtLCBkdXNcbiAgIGRlIGtsYXNzZSBpcyBnZW5lcmllazogw6nDqW4gdG9nZ2xlLWJsb2ssIHBlciBjb25zdW1lciBlZW4gYW5kZXJlIHRla3N0LiAqL1xuLmJyaWVmaW5nLXJlcGVhdC10b2dnbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xufVxuLmJyaWVmaW5nLXJlcGVhdC10ZXh0IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbi5icmllZmluZy1yZXBlYXQtbGFiZWwgeyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiAjMWYyNDMwOyB9XG4uYnJpZWZpbmctcmVwZWF0LXN1YiAgIHsgZm9udC1zaXplOiAxMS41cHg7IGNvbG9yOiAjNmI3MjgwOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmJyaWVmaW5nLXJlcGVhdC1sYWJlbCB7IGNvbG9yOiAjZjNmNGY2OyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmJyaWVmaW5nLXJlcGVhdC1zdWIgICB7IGNvbG9yOiAjYTZhYWIzOyB9XG4vKiBFZW4gdG9nZ2xlLWJsb2sgZGF0IG5pZXQgYmlqIGRlemUgY29uc3VtZXIgaG9vcnQsIHN0YWF0IG9wIGhpZGRlbi4gWm9uZGVyIGRlemVcbiAgIHJlZ2VsIHpvdSBkaXNwbGF5OmZsZXggaGV0IGBoaWRkZW5gLWF0dHJpYnV1dCBvdmVycnVsZW4gZW4gc3RvbmQgaGlqIGVyIGFsc25vZy4gKi9cbi5icmllZmluZy1yZXBlYXQtdG9nZ2xlW2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFN0YXR1cyB0ZXh0IChlLmcuIFwiQ29uY2VwdCBvcGdlc2xhZ2VuXCIpIHNpdHMgZmFyLWxlZnQsIGJ1dHRvbnMgcmlnaHQuICovXG4uYnJpZWZpbmctc3RhdHVzIHsgbWFyZ2luLXJpZ2h0OiBhdXRvOyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiAjNmI3MjgwOyB9XG4uYnJpZWZpbmctc3RhdHVzW2RhdGEta2luZD1cImNvbmNlcHRcIl0geyBjb2xvcjogIzhhNmQxZjsgfVxuLmJyaWVmaW5nLXN0YXR1c1tkYXRhLWtpbmQ9XCJsaXZlXCJdICAgIHsgY29sb3I6ICMyZjhhNWI7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5icmllZmluZy1zdGF0dXNbZGF0YS1raW5kPVwiZXJyb3JcIl0gICB7IGNvbG9yOiAjYzMzYTMwOyB9XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmJyaWVmaW5nLW1vZGFsLWZvb3RlciB7IGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7IH1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuYnJpZWZpbmctc3RhdHVzIHsgY29sb3I6ICNhNmFhYjM7IH1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJsb2NrU3RyaXAg4oCUIGRlIEdFREVFTERFIGJsb2trZW5saWpzdCAoY2xpZW50L3NoYXJlZC9CbG9ja1N0cmlwLnZ1ZSkuXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBHZWJydWlrdCBkb29yIGRlIGludGVyYWN0aWV2ZS1kb2N1bWVudGVkaXRvciDDqW4gZGUgcmFwcG9ydC1lZGl0b3IuIFN0b25kIGVlcmRlclxuICAgYWxzIGAuaWRvYy1mcy0qYCAvIGAuaWRvYy1hZGQtKmAgaW4gZGUgPHN0eWxlPiB2YW4gYGRvY3VtZW50cy9pbnRlcmFjdGl2ZS1lZGl0b3IuaHRtbGBcbiAgIGVuIGlzIGJpaiBoZXQgZ2VsaWprdHJla2tlbiB2YW4gZGUgdHdlZSBlZGl0b3JzIChKYW4sIDIwMjYtMDgtMDMpIGhpZXJoZWVuIHZlcmh1aXNkXG4gICBlbiBoZXJub2VtZCBuYWFyIGBic3RyaXAtKmAuXG5cbiAgIOKaoO+4jyBEZXplIHN0aWpsZW4geml0dGVuIGluIGBzdHlsZS12MS5jc3NgLCBkdXMgRUxLRSBwYWdpbmEgZGllIGRlIGJsb2trZW5saWpzdCBtb3VudFxuICAgICAgaGVlZnQgemUgYWwg4oCUIG5vb2l0IGVlbiBsb3MgQ1NTLWJlc3RhbmQgbmFhc3QgZGUgZWRpdG9yIGhhbmdlbiAoaHVpc3JlZ2VsKS5cbiAgIOKaoO+4jyBCZXdlcmsgamUgaGllciBpZXRzLCBkYW4gdmVyYW5kZXJ0IGhldCBpbiBCRUlERSBlZGl0b3JzLiBEYXQgaXMgZGUgYmVkb2VsaW5nOlxuICAgICAgcHJlY2llcyBkYWFyb20gc3RhYXQgaGV0IGhpZXIgZW4gbmlldCB0d2VlIGtlZXIuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIOKUgOKUgCBkZSBcIitcIi1iYWxrIHR1c3NlbiBlbiByb25kIGRlIGthYXJ0ZW4g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uYnN0cmlwLWFkZC1iYXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBoZWlnaHQ6IDE0cHg7IH1cbi5ic3RyaXAtYWRkLWJhci1idG4ge1xuICAgIHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgI2QzZDNlNjsgYmFja2dyb3VuZDogI2ZmZjsgY29sb3I6ICM4YThmYjU7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyOyBvcGFjaXR5OiAwOyB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xMnMsIGJvcmRlci1jb2xvciAuMTJzLCBjb2xvciAuMTJzO1xuICAgIHBhZGRpbmc6IDA7XG59XG4uYnN0cmlwLWFkZC1iYXI6aG92ZXIgLmJzdHJpcC1hZGQtYmFyLWJ0bixcbi5ic3RyaXAtYWRkLWJhci1vcGVuIC5ic3RyaXAtYWRkLWJhci1idG4geyBvcGFjaXR5OiAxOyBib3JkZXItY29sb3I6ICM0MDQ5OWE7IGNvbG9yOiAjNDA0OTlhOyB9XG5cbi8qIExlZ2UgbGlqc3Q6IHpvbmRlciBkaXQgc3RvbmQgZXIgbmlldHMgZGFuIMOpw6luIFwiK1wiIGRpZSBqZSBtb2VzdCByYWtlbiBvbSB0ZSB6aWVuIOKAlFxuICAgXCJlZW4gcmFhZHNlbHNwZWxcIiAoSmFuLCAyMDI2LTA3LTIyKS4gWm9sYW5nIGVyIGdlZW4gYmxva2tlbiB6aWpuIHN0YWF0IGRlIFwiK1wiIGVyXG4gICBibGlqdmVuZCwgbWV0IGVlbiBoaW50IGVyYm92ZW4uIEFsbGViZWkgd2VnIHpvZHJhIGhldCBlZXJzdGUgYmxvayBnZXBsYWF0c3QgaXMuICovXG4uYnN0cmlwLWVtcHR5LWhpbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNiM2IzYzY7IGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgIHBhZGRpbmc6IDI0cHggMTJweCA0cHg7XG59XG4uYnN0cmlwLWFkZC1iYXItZW1wdHkgeyBoZWlnaHQ6IGF1dG87IHBhZGRpbmc6IDRweCAwIDIwcHg7IH1cbi5ic3RyaXAtYWRkLWJhci1lbXB0eSAuYnN0cmlwLWFkZC1iYXItYnRuIHsgb3BhY2l0eTogMTsgfVxuXG4uYnN0cmlwLWFkZC1waWNrZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMjA7IHRvcDogMjJweDsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLXJhZGl1czogMTBweDsgYm94LXNoYWRvdzogMCA2cHggMjRweCByZ2JhKDM0LCAzMiwgNTgsIC4xOCk7XG4gICAgcGFkZGluZzogNnB4OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBtaW4td2lkdGg6IDE3MHB4O1xufVxuLmJzdHJpcC1hZGQtcGlja2VyLXVwIHsgdG9wOiBhdXRvOyBib3R0b206IDIycHg7IH1cbi5ic3RyaXAtYWRkLXBpY2tlci1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiA3cHggMTBweDsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogIzIzMjUzYTsgdGV4dC1hbGlnbjogbGVmdDsgY3Vyc29yOiBwb2ludGVyO1xufVxuLmJzdHJpcC1hZGQtcGlja2VyLWl0ZW06aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZjNmNWZmOyBjb2xvcjogIzQwNDk5YTsgfVxuXG4vKiDilIDilIAgZGUga2FhcnQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uYnN0cmlwLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBzdHJldGNoOyBnYXA6IDdweDtcbiAgICBwYWRkaW5nOiA5cHggOHB4OyBib3JkZXItcmFkaXVzOiA4cHg7IGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDZkOGRkOyBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLmJzdHJpcC1jYXJkLWhlYWQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgbWluLXdpZHRoOiAwOyB9XG4uYnN0cmlwLWNhcmQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZjdmN2ZiOyB9XG4uYnN0cmlwLWNhcmQtc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kOiAjZjNmNWZmOyBib3JkZXItY29sb3I6IHZhcigtLWMtYnJhbmQtcHVycGxlKTsgfVxuLmJzdHJpcC1jYXJkLWluY29tcGxldGUgLmJzdHJpcC1zbmlwcGV0IHsgb3BhY2l0eTogLjY1OyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbi5ic3RyaXAtY2FyZC1jaGVja2VkIHsgYmFja2dyb3VuZDogI2YzZjVmZjsgfVxuLmJzdHJpcC1kcmFnLWhhbmRsZSB7IGNvbG9yOiAjYzNjM2Q2OyBjdXJzb3I6IGdyYWI7IGZsZXg6IDAgMCBhdXRvOyB9XG5cbi8qIOKUgOKUgCBzbGVwZW46IGRlIGxpanN0IGhlcnNjaGlrdCBMSVZFIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgVGlqZGVucyBoZXQgc2xlcGVuIHNjaHVpZnQgZWxrZSBrYWFydCBtZXQgZWVuIGB0cmFuc2Zvcm1gIG5hYXIgZGUgcGxlayBkaWUgaGlqIGJpalxuICAgbG9zc2VuIHpvdSBrcmlqZ2VuOyBkZSB2b2xnb3JkZSBpbiBkZSBkYXRhIHZlcmFuZGVydCBwYXMgYmlqIGhldCBsb3NzZW4uIFppZSBkZSBsYW5nZVxuICAgdG9lbGljaHRpbmcgYmlqIGBvbkRyYWdTdGFydGAgaW4gQmxvY2tTdHJpcC52dWUg4oCUIHZvb3JhbCB3w6HDoXJvbSBlciBoaWVyIGFsbGVlblxuICAgYHRyYW5zZm9ybWAgc3RhYXQgZW4gZGUga2FhcnRlbiBub29pdCBtZXQgZGUgaGFuZCB2ZXJwbGFhdHN0IG1vZ2VuIHdvcmRlbi5cblxuICAg4pqg77iPIERlIG92ZXJnYW5nIGhhbmd0IGFhbiBgLmJzdHJpcC1kcmFnZ2luZ2AgZW4gbmlldCBhYW4gYC5ic3RyaXAtY2FyZGAgemVsZi4gRGllIGtsYXNzZVxuICAgICAgdmVyZHdpam50IGluIGRlemVsZmRlIHJlbmRlciBhbHMgZGUgZWNodGUgaGVyb3JkZW5pbmcsIHpvZGF0IGVlbiBrYWFydCBkaWUgZG9vciBWdWVcbiAgICAgIG5hYXIgemlqbiBuaWV1d2UgcGxlayB3b3JkdCBnZXpldCBkYWFyIE5JRVQgbmFhcnRvZSBhbmltZWVydCAoaGlqIHN0YWF0IGVyIGFsKSDigJQgZW5cbiAgICAgIGVlbiBnZXdvbmUgaGVyLXJlbmRlciBidWl0ZW4gZWVuIHNsZWVwIG9tIG5vb2l0IGdhYXQgc2NodWl2ZW4uXG4gICDimqDvuI8gRHV1ciBiZXd1c3Qga29ydCAofjE2NW1zKTogZGl0IGxvb3B0IHRlcndpamwgamUgbm9nIHNsZWVwdCwgZHVzIGVlbiBrYWFydCBtb2V0IHppam5cbiAgICAgIGJld2VnaW5nIGFmIGhlYmJlbiB2w7PDs3IgamUgZGUgdm9sZ2VuZGUgZ3JlbnMgb3ZlcmdhYXQuIFRyYWdlciB2b2VsdCBzdHJvcGVyaWcgZW4gbGFhdFxuICAgICAgZGUgbGlqc3QgYWNodGVybG9wZW4gb3AgamUgY3Vyc29yLiAqL1xuLmJzdHJpcC1kcmFnZ2luZyAuYnN0cmlwLWNhcmQgeyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTY1bXMgY3ViaWMtYmV6aWVyKC4yLCAuOCwgLjIsIDEpOyB9XG4vKiBEZSBvcGdlcGFrdGUga2FhcnQgYmxpamZ0IHppY2h0YmFhciBvcCB6aWpuIGxhbmRpbmdzcGxlaywgbWFhciBnZWRpbWQ6IGhpaiBpcyBcImluXG4gICBiZXdlZ2luZ1wiLCBlbiBkZSB2b2xsZSBrYWFydCBoYW5ndCBvcCBkYXQgbW9tZW50IGFscyBzbGVlcC1zY2hhZHV3IG9uZGVyIGplIGN1cnNvci4gKi9cbi5ic3RyaXAtY2FyZC1kcmFnc291cmNlIHsgb3BhY2l0eTogLjU7IH1cbi5ic3RyaXAtdHlwZS1pY29uIHsgY29sb3I6ICM2YjY4ODQ7IGZsZXg6IDAgMCBhdXRvOyB9XG4uYnN0cmlwLXNuaXBwZXQge1xuICAgIGZsZXg6IDEgMSBhdXRvOyBtaW4td2lkdGg6IDA7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6ICMzMzM0NGE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vKiBIZXQgXCJaZWtlcj9cIi1sYWJlbCB2YW4gaGV0IHR3ZWUtc3RhcHMgdmVyd2lqZGVyZW4uIFN0YWF0IGhpZXIg4oCUIGJpaiBkZSBibG9ra2VubGlqc3Qg4oCUIG9tZGF0IGRpdFxuICAgZ2ViYWFyIMOpw6luIHBsZWsgaG9vcnQgdGUgaGViYmVuOiBgc2hhcmVkL2FybS1kZWxldGUuanNgIGJld2Fha3QgZGUgVEVSTUlKTiwgZGV6ZSByZWdlbCBoZXQgQkVFTEQuXG4gICBgLmlkb2MtYXJtLWxhYmVsYCBpcyBkZXplbGZkZSBzdGFwIGluIGRlIGJsb2tGT1JNVUxJRVJFTiB2YW4gZGUgZG9jdW1lbnRlZGl0b3IgKG9wdGllcmVnZWxzLFxuICAgcGFuZWVscmVnZWxzLCBob3RzcG90LXJlZ2VscykuIFR3ZWUgbmFtZW4sIMOpw6luIHJlZ2VsIOKAlCBhbmRlcnMgbG9wZW4gemUgdWl0IGVsa2FhciBvcCBrbGV1ci5cbiAgIOKaoO+4jyBgd2hpdGUtc3BhY2U6IG5vd3JhcGAgaXMgZnVuY3Rpb25lZWw6IGVlbiBsYWJlbCBkYXQgYWZicmVla3QgbWFha3QgZGUgcmlqIGhvZ2VyIGVuIGRhblxuICAgdmVyc2NodWlmdCBkZSBwcnVsbGVuYmFrIGFsc25vZywgcHJlY2llcyB3YXQgZGUgdHdlZWRlIGtsaWsgbW9ldCBrdW5uZW4gdmVydHJvdXdlbi4gKi9cbi8qIGAucWZyLWFybWAgaXMgZGV6ZWxmZGUgc3RhcCBpbiBgcWRuYXByby1mb3JtYXQtcnVsZXNgIChkZSB2b29yd2FhcmRlbGlqa2Ugb3BtYWFrIHZhbiBlZW5cbiAgIHJhcHBvcnRrb2xvbSkuIERhdCBpcyBlZW4gQ09NUE9ORU5UIGVuIGdlZW4gcGFnaW5hLCBtYWFyIGRlIHJlZ2VsIHN0YWF0IGhpZXIgYmlqIGRlIGFuZGVyZSBkcmllXG4gICBvbWRhdCBkZSBjb21tZW50IGhpZXJib3ZlbiBwcmVjaWVzIGRhdCB2cmFhZ3Q6IHZpZXIgbmFtZW4sIMOpw6luIHJlZ2VsIOKAlCBhbmRlcnMgbG9wZW4gemUgdWl0IGVsa2FhclxuICAgb3Aga2xldXIsIGVuIGRhbiBoZWV0IGhldHplbGZkZSBnZWJhYXIgb3AgdmllciBwbGVra2VuIGlldHMgYW5kZXJzLiAqL1xuLmJzdHJpcC1hcm0tbGFiZWwsXG4uaWRvYy1hcm0tbGFiZWwsXG4ucWZyLWFybSxcbi5ycGUtYXJtIHsgZm9udC1zaXplOiAxMS41cHg7IGNvbG9yOiAjYzMzYTMwOyBmb250LXdlaWdodDogNjAwOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBmbGV4OiAwIDAgYXV0bzsgfVxuLyogRGUgYWN0aWVob2VrIHZhbiBlZW4ga2FhcnQuIEJlc3RhYXQgYWxzIGVpZ2VuIGVsZW1lbnQgb21kYXQgZGUgbmF0aWV2ZSBrbGlrIGhpZXIgbW9ldCBTVE9QUEVOIOKAlFxuICAgemllIGRlIOKaoO+4jyBpbiBCbG9ja1N0cmlwLnZ1ZTogem9uZGVyIGRpZSBzdG9wcGVyIHNlbGVjdGVlcnQgZWVuIGtsaWsgb3AgZGUgcHJ1bGxlbmJhayDDs8OzayBub2cgZGVcbiAgIGthYXJ0IGRpZSBkYWFybWVlIG5ldCB2ZXJkd2Vlbi4gKi9cbi5ic3RyaXAtY2FyZC1hY3RpZXMgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDJweDsgZmxleDogMCAwIGF1dG87IH1cblxuLyogTWluaWF0dXVyIHZhbiBoZXQgZWNodGUgYmxvaywgYm92ZW5hYW4gYWZnZXNuZWRlbi4gRGUgYmlubmVua2FudCB0ZWtlbnQgb3Agdm9sbGVcbiAgIGJyZWVkdGUgZW4gd29yZHQgZGFhcm5hIHZlcmtsZWluZDsgYHBvaW50ZXItZXZlbnRzOm5vbmVgIGhvdWR0IGhlbSBpbmVydCB6b2RhdCBlZW5cbiAgIGtsaWsgZG9vcnZhbHQgbmFhciBkZSBrYWFydCB6ZWxmLiAqL1xuLmJzdHJpcC1wcmV2aWV3IHtcbiAgICBoZWlnaHQ6IDg4cHg7IG92ZXJmbG93OiBoaWRkZW47IGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWMtYnJhbmQtcHVycGxlKSA0NSUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG4uYnN0cmlwLXByZXZpZXctaW5uZXIge1xuICAgIHdpZHRoOiA3NjBweDsgdHJhbnNmb3JtOiBzY2FsZSguMzMpOyB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgcGFkZGluZzogMTRweCAxNnB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiAjMjMyNTNhO1xufVxuXG4vKiDilIDilIAgbWVlcnZvdWRpZ2Ugc2VsZWN0aWUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4uYnN0cmlwLWNoZWNrYm94LXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXg6IDAgMCBhdXRvOyB3aWR0aDogMThweDsgb3BhY2l0eTogMDsgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTJzO1xufVxuLmJzdHJpcC1jYXJkOmhvdmVyIC5ic3RyaXAtY2hlY2tib3gtd3JhcCxcbi5ic3RyaXAtbW9kZS1zZWxlY3QgLmJzdHJpcC1jaGVja2JveC13cmFwIHsgb3BhY2l0eTogMTsgfVxuXG4uYnN0cmlwLXNlbGVjdGJhciB7XG4gICAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7IG1hcmdpbi1ib3R0b206IDEwcHg7IGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzIsIDIzNSwgMjUyLCAuNTUpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDY0LCA3MywgMTU0LCAuMTApO1xufVxuLmJzdHJpcC1zZWxjaGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiA1cHggMTBweDsgYm9yZGVyOiBub25lOyBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZTJlNmZjOyBjb2xvcjogIzQwNDk5YTsgZm9udDogNjAwIDEycHggJ0ludGVyJywgc2Fucy1zZXJpZjtcbn1cbi5ic3RyaXAtc2VsY2hpcDpob3ZlciB7IGJhY2tncm91bmQ6ICNkNWRiZmE7IH1cbi5ic3RyaXAtc2VsZWN0YmFyLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDJweDsgZmxleC13cmFwOiB3cmFwOyB9XG4vKiBFZW4gVUlUR0VaRVRURSBhY3RpZWtub3AgbW9ldCBhYW53aWpzYmFhciBibGlqdmVuLCBhbmRlcnMgaXMgemlqbiB0b29sdGlwIOKAlCBkaWVcbiAgIHVpdGxlZ3Qgd2FhcsOzbSBoaWogZ3JpanMgaXMg4oCUIG9uYmVyZWlrYmFhci4gRGUga25vcCB6ZWxmIGRvZXQgYmlqIGBkaXNhYmxlZGAgdG9jaFxuICAgYWwgbmlldHMsIGR1cyBwb2ludGVyLWV2ZW50cyB0ZXJ1Z3pldHRlbiBibGlqZnQga2xpay12ZWlsaWcuICovXG4uYnN0cmlwLXNlbGVjdGJhci1hY3Rpb25zIC5xZG5hcHJvLWljb24tYnRuLmljb24tYnRuLWRpc2FibGVkIHsgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIFRha2VubGlqc3QtaW5zdGVsbGluZ2VuICAoL3YxL3Byb2plY3RzLzpwcm9qZWN0Lzp0YXNrbGlzdC9lZGl0LXN1cnZleS1zZXR0aW5ncylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIFBhZ2luYXN0eWxpbmcgdm9vciBWaWV3L3YxL3Byb2plY3QvZWRpdF9zdXJ2ZXlfc2V0dGluZ3MuaHRtbC5cbi8vXG4vLyAgRGl0IGJlc3RhbmQgYmVzdGFhdCBvbWRhdCBkZSBPVURFIHZlcnNpZSB2YW4gZGllIHBhZ2luYSB6ZXZlbnRpZyByZWdlbHNcbi8vICBlaWdlbiBDU1MgaW4gZWVuIDxzdHlsZT4tYmxvayBpbiBkZSB2aWV3IGhhZCBzdGFhbiwgaW5jbHVzaWVmIGVlbiBjb21wbGVldFxuLy8gIG5hZ2VtYWFrdGUgYWFuL3VpdC1zY2hha2VsYWFyICguc3dpdGNoLy5zbGlkZXIpLiBEaWUgc2NoYWtlbGFhciBpcyBudVxuLy8gIHFkbmFwcm8tdG9nZ2xlLCBkZSByaWplbiB6aWpuIHFkbmFwcm8tbGlzdC1yb3cgZW4gZGUga2FhcnRlbiB6aWpuXG4vLyAgcWRuYXByby1zZWN0aW9uLWNhcmQsIGR1cyBoaWVyIHN0YWF0IGFsbGVlbiBub2cgd2F0IGRpZSBjb21wb25lbnRlbiBOSUVUXG4vLyAgZG9lbjogZGUgcGFnaW5haW5kZWxpbmcsIGRlIGxpbmtlcmtvbG9tIGVuIGhldCB1aXRsZWdwYW5lZWwuXG4vL1xuLy8gIEJld3VzdCBHRUVOIGVpZ2VuIGtsZXVyZW46IGFsbGVzIGtvbXQgdWl0IGRlIGRlc2lnbi10b2tlbnMuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gS29wIGJvdmVuIGRlIGthYXJ0ZW4gKGJ1aXRlbiBkZSB3aXR0ZSBzY2hpbCwgb3AgZGUgcGFhcnNlIHBhZ2luYS1hY2h0ZXJncm9uZCkuXG4udGxzLWludHJvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG4gICAgcGFkZGluZzogNHB4IDhweCAyMHB4O1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtdGV4dC1oZWFkaW5nLCAjMWExZjRkKTtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjNmU3MjgwKTtcbiAgICAgICAgLy8gTGVlc2JhcmUgcmVnZWxsZW5ndGU7IGRlIHBhZ2luYSB6ZWxmIGlzIGJyZWVkLlxuICAgICAgICBtYXgtd2lkdGg6IDYyY2g7XG4gICAgfVxufVxuXG4vLyBUd2VlIGtvbG9tbWVuOiBuYXZpZ2F0aWUgbGlua3MsIHBhbmVsZW4gcmVjaHRzLiBPbmRlciA5MDBweCBrbGFwdCBkZVxuLy8gbmF2aWdhdGllIGJvdmVuIGRlIHBhbmVsZW4gKGdyaWQtdGVtcGxhdGUtY29sdW1ucyBuYWFyIMOpw6luIGtvbG9tKSwgem9kYXQgZGVcbi8vIHBhZ2luYSBvcCBlZW4gdGFibGV0IGluIHBvcnRyZXQgbmlldCBpbiB0d2VlIHRlIHNtYWxsZSBrb2xvbW1lbiBicmVla3QuXG4udGxzLWxheW91dCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIzNnB4IG1pbm1heCgwLCAxZnIpO1xuICAgIGdhcDogMjBweDtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG5cbiAgICAvLyBSdWltdGUgb25kZXJhYW4gdm9vciBkZSB6d2V2ZW5kZSBhY3RpZWJhbGsgKEtpbSAwNC4wOC4yMDI2OiBcImRlIHRhc2tiYXJcbiAgICAvLyBvbmRlcmluIHZhbHQgYWx0aWpkIG92ZXIgZGUgc2V0dGluZ3MgaGVlblwiKS4gRGllIGJhbGsgaXNcbiAgICAvLyBgcG9zaXRpb246IGZpeGVkYCwgZHVzIGhpaiBuZWVtdCBnZWVuIHJ1aW10ZSBpbiBkZSBwYWdpbmEgaW4gZW4gbGVndCB6aWNoXG4gICAgLy8gb3ZlciBkZSBsYWF0c3RlIHJpaiBoZWVuOyBqZSBrdW50IGVyIG9vayBuaWV0IHZvb3JiaWogc2Nyb2xsZW4gb21kYXQgZXJcbiAgICAvLyBuaWV0cyBtZWVyIG9uZGVyIHN0YWF0LlxuICAgIC8vXG4gICAgLy8gU1lOQy1QVU5ULCBtZXQgb3B6ZXQgZWVuIHZhc3QgZ2V0YWwuIElrIHdpbGRlIGRpdCB1aXQgZGUgYmFsayB6ZWxmIGxlemVuLFxuICAgIC8vIG1hYXIgZGF0IGthbiBuaWV0OiBfYWN0aW9uLWJhci5zY3NzIHpldCBgaGVpZ2h0OiA1NnB4YCBoYXJkIChlciBpcyBnZWVuXG4gICAgLy8gLS1hY3Rpb24tYmFyLWhlaWdodCkgZW4gLS1hY3Rpb24tYmFyLW9mZnNldCBzdGFhdCBvcCAucWRuYXByby1hY3Rpb24tYmFyXG4gICAgLy8gemVsZiwgZHVzIGRpZSBpcyBoaWVyIG5pZXQgZXJmYmFhciBlbiBlZW4gdmFyKCkgem91IHN0aWwgYWx0aWpkIG9wIGRlXG4gICAgLy8gZmFsbGJhY2sgbGFuZGVuLiBEYXQgbGVlc3QgYWxzIGFmZ2VsZWlkIHRlcndpamwgaGV0IGRhdCBuaWV0IGlzLlxuICAgIC8vXG4gICAgLy8gOTZweCA9IDU2IChob29ndGUgdmFuIGRlIGJhbGspICsgMTYgKC0tYWN0aW9uLWJhci1vZmZzZXQpICsgMjQgbHVjaHQuXG4gICAgLy8gV29yZHQgZGUgYmFsayBob2dlciBvZiBrb210IGhpaiB2ZXJkZXIgdmFuIGRlIHJhbmQsIGRhbiBtb2V0IGRpdCBtZWUuXG4gICAgcGFkZGluZy1ib3R0b206IDk2cHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG59XG5cbi8vIC0tLS0gTGlua2Vya29sb20gLS0tLVxuLy8gVm9ybSB2YW4gcWRuYXByby1zaWRlYmFyLCBtYWFyIHpvbmRlciBkYXQgY29tcG9uZW50OiBkaWUgYnJlbmd0IGVlbiBlaWdlblxuLy8ga29wIG1ldCB6b2VrdmVsZCBlbiBpbmtsYXBrbm9wIG1lZSBkaWUgZGV6ZSBwYWdpbmEgbmlldCBub2RpZyBoZWVmdC4gRGl0IGlzXG4vLyBhbGxlZW4gZGUgd2l0dGUgc2NoaWwgZXJvbWhlZW47IGRlIGl0ZW1zIHplbGYgWklKTiBxZG5hcHJvLXRyZWUtaXRlbS5cbi50bHMtbmF2IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWNhcmQsICNmZmZmZmYpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtYm9yZGVyLXNvZnQtMiwgI2U2ZTllZik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1jYXJkLCAxNnB4KTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCwgMCAxcHggMnB4IHJnYmEoMjAsIDI1LCA4MCwgMC4wNCksIDAgNHB4IDE2cHggcmdiYSgyMCwgMjUsIDgwLCAwLjA0KSk7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbiAgICAvLyBCbGlqZnQgbWVlbG9wZW4gYmlqIHNjcm9sbGVuIG9wIGVlbiBsYW5nIHBhbmVlbC4gcG9zaXRpb246IHN0aWNreSB3ZXJrdFxuICAgIC8vIGhpZXIgb21kYXQgLnRscy1sYXlvdXQgZWVuIGdyaWQgaXMgbWV0IGFsaWduLWl0ZW1zOiBzdGFydCAoaGV0IGl0ZW0gaXNcbiAgICAvLyBkdXMgbmlldCB1aXRnZXJla3QgdG90IHZvbGxlZGlnZSBob29ndGUpLlxuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAxNnB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDEycHggOHB4O1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM2ZTcyODApO1xuICAgIH1cbn1cblxuLy8gQWxsZXMgcmVjaHRzIHZhbiBkZSBuYXZpZ2F0aWUuIFpvbmRlciBkZXplIHdyYXBwZXIgem91ZGVuIGhldCB6b2VrdmVsZCwgZGVcbi8vIGxlZ2Ugc3RhYXQgZW4gZGUgZHJpZSBwYW5lbGVuIGVsayBlZW4gZWlnZW4gZ3JpZGNlbCBwYWtrZW4uXG4udGxzLW1haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4vLyAtLS0tIFpvZWtlbiAtLS0tXG4udGxzLXNlYXJjaCB7XG4gICAgLy8gSGV0IHZlbGQgemVsZiBpcyB3aWR0aDogMTAwJSwgZHVzIGRlIGJyZWVkdGUgaG9vcnQgaGllci4gUnVpbSBnZW5vZWcgb21cbiAgICAvLyB0ZSB0eXBlbiwgbmlldCB6byBicmVlZCBkYXQgaGV0IGRlIGhlbGUga29sb20gb3BlaXN0LlxuICAgIG1heC13aWR0aDogNDIwcHg7XG59XG5cbi8vIFRpamRlbnMgaGV0IHpvZWtlbiBzdGFhbiBBTExFIHBhbmVsZW4gb3BlbjogZGUgdHJlZmZlcnMga3VubmVuIGluIGVsa1xuLy8gb25kZXJkZWVsIHppdHRlbiwgZW4gZGF0IGlzIGp1aXN0IHdhYXJvbSBqZSB6b2VrdC5cbi50bHMtbGF5b3V0LmlzLXNlYXJjaGluZyAudGxzLXBhbmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLyBWQUxLVUlMOiBoZXQgYGhpZGRlbmAtYXR0cmlidXV0IHdlcmt0IG5pZXQgem9uZGVyIGRlemUgcmVnZWxzLiBEZXplXG4vLyBjb21wb25lbnRlbiB6ZXR0ZW4gemVsZiBgZGlzcGxheTogZmxleGAgKGxpc3Qtcm93LCBzZWN0aW9uLWNhcmQpIG9mXG4vLyBgZGlzcGxheTogYmxvY2tgIChlbXB0eS1zdGF0ZSkgb3AgZGUgaG9zdCwgZW4gem8nbiBhdXRob3ItcmVnZWwgd2ludCB2YW4gZGVcbi8vIGBbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmUgfWAgdWl0IGRlIGJyb3dzZXItc3R5bGVzaGVldC4gWm9uZGVyIGRpdCBibGlqdmVuXG4vLyB3ZWdnZWZpbHRlcmRlIHJpamVuIGR1cyBnZXdvb24gc3RhYW4uIE5hZ2VtZXRlbiBpbiBkZSBnZWNvbXBpbGVlcmRlXG4vLyBzdHlsZS12MS5jc3Mgb3AgMDQuMDguMjAyNjogZXIgaXMgbmVyZ2VucyBpbiBkZSBsaWJyYXJ5IGFsIGVlbiBbaGlkZGVuXS1yZWdlbFxuLy8gdm9vciBkZXplIHRhZ3MsIGR1cyBkaWUgbW9ldCBoaWVyLlxuLnRscy1sYXlvdXQgcWRuYXByby1saXN0LXJvd1toaWRkZW5dLFxuLnRscy1sYXlvdXQgcWRuYXByby1zZWN0aW9uLWNhcmRbaGlkZGVuXSxcbi50bHMtbWFpbiBxZG5hcHJvLWVtcHR5LXN0YXRlW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIC0tLS0gUGFuZWxlbiAtLS0tXG4udGxzLXBhbmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1pbi13aWR0aDogMDtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG59XG5cbi8vIC0tLS0gRGUgYmVkaWVuaW5nIHJlY2h0cyBpbiBlZW4gaW5zdGVsbGluZ3NyaWogLS0tLVxuLy8gWml0IGluIHFkbmFwcm8tbGlzdC1yb3cncyBzbG90PVwidHJhaWxpbmdcIi4gRGUgcmlqIHN0YWF0IGluIHdyYXAtc3RhbmQgZW5cbi8vIGxpam50IGR1cyBhYW4gZGUgYm92ZW5rYW50IHVpdDsgZGV6ZSB3cmFwcGVyIGhvdWR0IGRlIHVpdGxlZ2tub3AgZW4gZGVcbi8vIGJlZGllbmluZyBiaWogZWxrYWFyLlxuLnRscy1jb250cm9sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIC8vIE5pZXQgbWVla3JpbXBlbi4gWm9uZGVyIGRpdCBrbmlqcHQgZGUgZmxleGJveCBoZXQga2V1emV2ZWxkIHBsYXQ6IGRhblxuICAgIC8vIHN0b25kIGVyIFwiSWVcIiBpbiBwbGFhdHMgdmFuIFwiSWVkZXJlZW5cIiAoS2ltIDA0LjA4LjIwMjYpLlxuICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgLy8gcWRuYXByby1zZWxlY3QgZW4gcWRuYXByby1pbnB1dCB6aWpuIHplbGYgd2lkdGg6IDEwMCUgZW4gaGViYmVuIGR1cyBnZWVuXG4gICAgLy8gZWlnZW4gYnJlZWR0ZTsgaW4gZWVuIGZsZXhyaWogem9uZGVyIHJ1aW10ZSB3b3JkZW4gemUgZGFhcm9tIG9ubGVlc2JhYXJcbiAgICAvLyBzbWFsLiBEZSBicmVlZHRlIGlzIGVlbiBrZXV6ZSB2YW4gREVaRSBwYWdpbmEsIG5pZXQgdmFuIGhldCBjb21wb25lbnQsXG4gICAgLy8gZHVzIGRpZSBzdGFhdCBoaWVyIGVuIG5pZXQgaW4gZGUgY29tcG9uZW50LVNDU1MuXG4gICAgLy9cbiAgICAvLyBSdWltIGdlbm9tZW4gKEtpbSAwNC4wOC4yMDI2LCB0d2VlIGtlZXI6IFwiZGFuIGhvZWYgamUgbmlldCBkZSBkcm9wZG93bnMgem9cbiAgICAvLyB0ZSBwcm9wcGVuXCIgZW4gXCJ3YWFyb20gbWFhayBqZSBkZSBpbnB1dGZpZWxkIG9vayBuaWV0IGdld29vbiBncm9vdFwiKS4gRGF0XG4gICAgLy8ga2FuIHNpbmRzIGRlIHdyYXAtdmFyaWFudCBkZSB0cmFpbGluZy1zbG90IHRlZ2VuIGRlIHJlY2h0ZXJyYW5kIHZhbiBkZSByaWpcbiAgICAvLyB6ZXQ6IGRlIHJ1aW10ZSBkaWUgZGFhcnZvb3IgcmVjaHRzIG9uZ2VicnVpa3QgYmxlZWYgaXMgbnUgYmVzY2hpa2JhYXIgdm9vclxuICAgIC8vIGRlIGJlZGllbmluZyB6ZWxmLlxuICAgIC8vXG4gICAgLy8gY2xhbXAgaW4gcGxhYXRzIHZhbiBlZW4gdmFzdGUgbWFhdCBvZiBtZWRpYSBxdWVyaWVzOiBoZXQgdmVsZCBncm9laXQgbWVlIG1ldFxuICAgIC8vIGhldCB2ZW5zdGVyIGVuIGhvdWR0IHppY2ggYWFuIGVlbiBib3Zlbi0gZW4gb25kZXJncmVucy4gQmlqIDE0NDBweCBrb210IGRpdFxuICAgIC8vIHVpdCBvcCBvbmdldmVlciAzNDVweCwgYmlqIDEwMjRweCBvcCBvbmdldmVlciAyNDVweCwgZW4gaGV0IHpha3Qgbm9vaXQgb25kZXJcbiAgICAvLyAyMjBweC4gWm9uZGVyIGRpZSBib3ZlbmdyZW5zIHpvdSBoZXQgdmVsZCBvcCBlZW4gYnJlZWQgc2NoZXJtIGRlIHVpdGxlZ1xuICAgIC8vIGVybmFhc3Qgd2VnZHJ1a2tlbjsgem9uZGVyIG9uZGVyZ3JlbnMgem91IGhldCBvcCBlZW4gdGFibGV0IHdlZXIgZ2FhblxuICAgIC8vIHByb3BwZW4uXG4gICAgLy9cbiAgICAvLyBXYWFyb20gZGl0IG9vayBoZXQgdWl0a2xhcHBhbmVlbCBuZXR0ZXIgbWFha3Q6IHFkbmFwcm8tbWVudSBzY2hhYWx0IHppY2ggb3BcbiAgICAvLyB6aWpuIExBTkdTVEUgb3B0aWUgZW4gbmlldCBvcCBkZSB0cmlnZ2VyIChzdGFhdCB6byBpbiBxZG5hLW1lbnUuanM6XG4gICAgLy8gXCJjb250ZW50LWZpdCB3aXRoIG1pbiAxNjBweFwiKS4gQmlqIGVlbiBzbWFsbGUgdHJpZ2dlciB3ZXJkIGhldCBwYW5lZWwgZHVzXG4gICAgLy8gYnJlZGVyIGRhbiBoZXQgdmVsZCBlcmJvdmVuLiBcIkFsbGVlbiBwcm9qZWN0bWFuYWdlcnNcIiBwYXN0IG51IGluIGhldCB2ZWxkXG4gICAgLy8gemVsZiwgZHVzIGRpZSB0d2VlIGxvcGVuIHdlZXIgZ2VsaWprLlxuICAgIHFkbmFwcm8tc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IGNsYW1wKDIyMHB4LCAyNHZ3LCAzNjBweCk7XG4gICAgfVxuXG4gICAgLy8gVGVrc3R2ZWxkZW4gKG5hYW0sIGRvZWwpIGtyaWpnZW4gZGV6ZWxmZGUgbWFhdCBhbHMgZWVuIGtldXplbGlqc3QsIHpvZGF0IGRlXG4gICAgLy8gaGVsZSByZWNodGVya29sb20gw6nDqW4ga2FudGxpam4gaG91ZHQuXG4gICAgLy9cbiAgICAvLyBMRVQgT1A6IGRlemUgcmVnZWwgaXMgbWV0IG9wemV0IE5JRVQgYHFkbmFwcm8taW5wdXRgIGluIGhldCBhbGdlbWVlbi4gRGF0IHdhc1xuICAgIC8vIGhpaiBlZXJzdCwgdG9lbiBoZXQgZ2V0YWx2ZWxkIHZvb3IgZGUgZHV1ciBoZXQgZW5pZ2UgaW5wdXQtdmVsZCBvcCBkZXplXG4gICAgLy8gcGFnaW5hIHdhczsgc2luZHMgbmFhbSBlbiBkb2VsIGVyYmlqIHN0YWFuIHpvdSB6byduIGFsZ2VtZW5lIHJlZ2VsIGRpZSB0d2VlXG4gICAgLy8gb3AgMTI4cHggcGxhdGRydWtrZW4uXG4gICAgI3Rscy1uYW1lLFxuICAgICN0bHMtcHVycG9zZSB7XG4gICAgICAgIHdpZHRoOiBjbGFtcCgyMjBweCwgMjZ2dywgMzgwcHgpO1xuICAgIH1cblxuICAgIC8vIEdlc2NoYXR0ZSBkdXVyLiBTbWFsbGVyIGRhbiBkZSBhbmRlcmUga2V1emVsaWpzdGVuLCB3YW50IGRlIGxhbmdzdGUgb3B0aWVcbiAgICAvLyBpcyBcIjEgdXVyIDMwIG1pblwiIGVuIG5pZXQgZWVuIHppbi5cbiAgICAvL1xuICAgIC8vIE9wIGhldCBhdHRyaWJ1dXQgZW4gbmlldCBvcCBlZW4gaWQ6IGRlIG1hcmt1cCB6aXQgc2luZHMgMDQuMDguMjAyNiBpbiBkZVxuICAgIC8vIGdlZGVlbGRlIHBhcnRpYWwgdjEvcHJvamVjdC9fdGxzX3BsYW5uaW5nLmh0bWwgZW4gc3RhYXQgZHVzIG9wIHR3ZWVcbiAgICAvLyBzY2hlcm1lbiAoZGUgaW5zdGVsbGluZ2VucGFnaW5hIGVuIGhldCBwYW5lZWwgb3AgZGUgcGxhbm5lcikuIEVlbiBpZCBtYWdcbiAgICAvLyBtYWFyIMOpw6luIGtlZXIgcGVyIHBhZ2luYSBiZXN0YWFuIGVuIHpvdSBoaWVyIGJvdmVuZGllbiBtYWFyIG9wIMOpw6luIHZhbiBkZVxuICAgIC8vIHR3ZWUgc2NoZXJtZW4gcmFrZW4uXG4gICAgLy9cbiAgICAvLyBXaW50IHZhbiBkZSBhbGdlbWVuZSBxZG5hcHJvLXNlbGVjdC1yZWdlbCBoaWVyYm92ZW46IGVlbiBhdHRyaWJ1dXRzZWxlY3RvclxuICAgIC8vIHRlbHQgYWxzIGVlbiBjbGFzcyBlbiBpcyBkdXMgc3BlY2lmaWVrZXIgZGFuIGVlbiBlbGVtZW50bmFhbS5cbiAgICBbZGF0YS10bHMtZHVyYXRpb25dIHtcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgIH1cbn1cblxuLy8gQmV2ZXN0aWdpbmcgbmEgaGV0IG9wc2xhYW4uIERpdCBpcyBtZXQgb3B6ZXQgR0VFTiBxZG5hcHJvLXRvYXN0OiBlZW4gdG9hc3Rcbi8vIGxhbmR0IGluIGVlbiBob2VrIHZhbiBoZXQgc2NoZXJtLCBlbiBiaWogdGllbiBzY2hha2VsYWFycyBvbmRlciBlbGthYXIgbW9ldFxuLy8gamUga3VubmVuIHppZW4gV0VMS0UgZXIgaXMgb3BnZXNsYWdlbi4gVmFuZGFhciBlZW4gcGlsbGV0amUgaW4gZGUgcmlqIHplbGYuXG4udGxzLXNhdmVkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMjJweDtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXBpbGwsIDk5OXB4KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXNpZ25hbC1ncmVlbi1iZywgI2M1ZjVlMik7XG4gICAgY29sb3I6IHZhcigtLWMtc2lnbmFsLWdyZWVuLXRleHQsICM0MjhiNmUpO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlLCB0cmFuc2Zvcm0gMjAwbXMgZWFzZTtcbiAgICAvLyBOb29pdCBlZW4gdGlrZG9lbDogaGV0IGlzIGVlbiBtZWRlZGVsaW5nLlxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJi5pcy1vbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnRscy1zYXZlZC0tZXJyb3Ige1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXNpZ25hbC1yZWQtYmcsICNmZWUzZTMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1zaWduYWwtcmVkLXRleHQsICNjNjVhNWEpO1xuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4vLyBGb3V0cmVnZWwgb25kZXIgaGV0IGdldGFsdmVsZCAoZ2VzY2hhdHRlIGR1dXIpLiBEZSA1Li4xNDQwLWNvbnRyb2xlIHppdCBvcFxuLy8gZGUgc2VydmVyLCBkdXMgZGV6ZSByZWdlbCB3b3JkdCBnZXZ1bGQgbWV0IHdhdCBkZSBzZXJ2ZXIgdGVydWdzdHV1cnQuXG4udGxzLWZpZWxkLWVycm9yIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiB2YXIoLS1jLXNpZ25hbC1yZWQtdGV4dCwgI2M2NWE1YSk7XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIC0tLS0gR2VzY2hhdHRlIGR1dXIgLS0tLVxuLy8gSGllciBzdG9uZCBlZW4gZ2V0YWx2ZWxkIG1ldCBkZSBlZW5oZWlkIFwibWluXCIgZXJuYWFzdC4gU2luZHMgMDQuMDguMjAyNiBpcyBoZXRcbi8vIGVlbiBrZXV6ZWxpanN0IG1ldCB2YXN0ZSBzdGFwcGVuIGluIG1lbnNlbnRhYWwgKFwiNDUgbWluXCIsIFwiMSB1dXJcIiwgXCIxIHV1ciAzMFxuLy8gbWluXCIpLCBkdXMgZGUgbG9zc2UgZWVuaGVpZCBpcyB3ZWc6IGRpZSBzdGFhdCBudSBpbiBkZSBvcHRpZSB6ZWxmLiBEZSB3cmFwcGVyXG4vLyBibGlqZnQsIHdhbnQgZGUgcmlqIHZlcndhY2h0IMOpw6luIGVsZW1lbnQgaW4gZGUgYmVkaWVuaW5nLlxuLnRscy1kdXJhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xufVxuXG4vLyAtLS0tIFVpdGxlZ3BhbmVlbCAtLS0tXG4vLyBJbmhvdWQgdmFuIGRlIGVuZSBxZG5hcHJvLXBvcG92ZXIgb3AgZGUgcGFnaW5hOyBkaWUgd29yZHQgcGVyIHVpdGxlZ2tub3Bcbi8vIG9wbmlldXcgZ2V2dWxkIGVuIG9wbmlldXcgZ2Vwb3NpdGlvbmVlcmQgKG9wZW4oKSBtYWcgaGVyZ2VicnVpa3Qgd29yZGVuIHZvb3Jcbi8vIG1lZXJkZXJlIHRyaWdnZXJzLCB6aWUgcWRuYS1wb3BvdmVyLmpzKS5cbi8vIEVyIHN0YWF0IGhpZXIgYmV3dXN0IGJpam5hIG5pZXRzIG1lZXIuIERlIGluaG91ZCB2YW4gaGV0IHBhbmVlbCBiZXN0YWF0IHVpdFxuLy8gY29tcG9uZW50ZW46IGVsa2UgdWl0bGVncmVnZWwgaXMgZWVuIHFkbmFwcm8tbGlzdC1yb3cgKGB3cmFwIHN0YXRpY2AsIGR1c1xuLy8gdGVybS1hbHMtdGl0ZWwgbWV0IGRvb3Jsb3BlbmRlIHVpdGxlZykgaW4gZWVuIC5xZG5hcHJvLWxpc3Qtcm93LWdyb3VwLCBlbiBoZXRcbi8vIFwibGV0IG9wXCItYmxvayBpcyBlZW4gcWRuYXByby1hbGVydCB0eXBlPVwid2FybmluZ1wiIGNvbXBhY3QuIFdhdCBvdmVyYmxpamZ0IGlzXG4vLyBkZSBicmVlZHRlIHZhbiBoZXQgcGFuZWVsIGVuIGRlIGtvcCBlcmJvdmVuLCBlbiBkYXQgaXMgcGFnaW5ha2V1emUuXG4vLyBIaWVydm9vciBzdG9uZCBoaWVyIGVlbiBlaWdlbiBkbCBtZXQgZWVuIHplbGZiZWRhY2h0ZSB0ZXJtL2RlZmluaXRpZS1zdGlqbDtcbi8vIGRpZSBpcyB2ZXJ3aWpkZXJkIChLaW0gMDQuMDguMjAyNjogXCJ3ZWVyIGVlbiBoYW5kcm9sbGVkIGRpbmdcIikuXG4udGxzLWluZm8ge1xuICAgIC8vIEdFRU4gZWlnZW4gYnJlZWR0ZS4gcWRuYXByby1wb3BvdmVyIHZhcmlhbnQ9XCJ3aGl0ZVwiIGlzIGhhcmQgMjgwcHggbWV0XG4gICAgLy8gYm94LXNpemluZzogYm9yZGVyLWJveCAoemllIF9wb3BvdmVyLnNjc3MsIGRlIGJhc2lzcmVnZWwpLiBIaWVyIHN0b25kXG4gICAgLy8gZWVyZGVyIG1pbigzODBweCwgLi4uKSwgZW4gZGF0IGxpZXAgZHVzIDEwMHB4IGJ1aXRlbiBoZXQgcGFuZWVsOiBwcmVjaWVzIGRlXG4gICAgLy8gdWl0YnJla2VuZGUgaW5ob3VkIGRpZSBLaW0gb3AgMDQuMDguMjAyNiB6YWcuIERlIG1hYXQgaXMgdmFuIGhldCBjb21wb25lbnQsXG4gICAgLy8gbmlldCB2YW4gZGV6ZSBwYWdpbmEuXG4gICAgbWluLXdpZHRoOiAwO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtdGV4dC1oZWFkaW5nLCAjMWExZjRkKTtcbiAgICAgICAgLy8gUnVpbXRlIHZvb3IgZGUgc2x1aXRrbm9wIHZhbiBkZSBwb3BvdmVyLlxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgIC8vIERlIGFsZXJ0IGFsbGVlbiBsb3NtYWtlbiB2YW4gZGUgcmlqZW5zdGFwZWwgZXJib3Zlbi4gT3AgaGV0IGF0dHJpYnV1dCwgb21cbiAgICAvLyBkZXplbGZkZSByZWRlbiBhbHMgYmlqIFtkYXRhLXRscy1kdXJhdGlvbl0gaGllcmJvdmVuOiBoZXQgdWl0bGVncGFuZWVsXG4gICAgLy8gc3RhYXQgb29rIG9wIGRlIHBsYW5uZXJwYWdpbmEuXG4gICAgW2RhdGEtdGxzLWluZm8tbm90ZV06bm90KDplbXB0eSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIH1cbn1cbiIsIkB1c2UgJy4uL21vZHVsZXMvbWl4aW5zJyBhcyAqO1xuXG4vLyDilIDilIAgUmVzcG9uc2l2ZSBicmVha3BvaW50cyAoc2hhcmVkIGFjcm9zcyB0aGUgcGhhc2VkIHJlc3BvbnNpdmUgd29yaykg4pSA4pSAXG4vLyAgIHRhYmxldCA6IGNvbGxhcHNlIHRoZSBBY3Rpdml0eSBzaWRlYmFyICsgb3ZlcmZsb3cgdGhlIGJ1bGstYWN0aW9uIHRvb2xiYXJcbi8vICAgbW9iaWxlIDogc2luZ2xlIGNvbHVtbiwgbWFzdGVy4oaSZGV0YWlsIGRyaWxsLWRvd25cbiRpbmJveC1icC10YWJsZXQ6IDExMDBweDtcbiRpbmJveC1icC1tb2JpbGU6IDc2OHB4O1xuXG4kY29sb3JfMTogIzZjNzU3ZDtcbiRjb2xvcjogIzQwNDk5QTtcbiRjb2xvcl8zOiB3aGl0ZTtcbiRjb2xvcl80OiAjMjAyMTI0O1xuJGNvbG9yXzU6ICM1ZjYzNjg7XG4kY29sb3JfNjogIzMyMzEzMDtcbiRjb2xvcl83OiAjMDAwO1xuJGNvbG9yXzg6ICM0ODUyZWE7XG4kY29sb3JfOTogIzhDOTJDMjtcbiRjb2xvcl8xMTogI2UyOTMzNDtcbiRiYWNrZ3JvdW5kLWNvbG9yXzE6ICNFRUVGRkE7XG4kYmFja2dyb3VuZC1jb2xvcl8yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuJGJhY2tncm91bmQtY29sb3JfMzogI2RjMzU0NTtcbiRiYWNrZ3JvdW5kLWNvbG9yXzQ6ICNmZmY7XG4kYmFja2dyb3VuZC1jb2xvcl81OiAjRDlEQkVCO1xuJGJhY2tncm91bmQtY29sb3JfNjogI2U5ZTllOTtcbiRiYWNrZ3JvdW5kLWNvbG9yXzc6ICNmOGY5ZmE7XG4kYmFja2dyb3VuZC1jb2xvcl84OiAjYzNiY2VmO1xuJGJhY2tncm91bmQtY29sb3JfOTogIzQ4NTJlYTtcbiRiYWNrZ3JvdW5kLWNvbG9yXzEwOiB3aGl0ZTtcbiRiYWNrZ3JvdW5kLWNvbG9yXzExOiByZ2JhKDAsIDAsIDAsIDAuMDIpO1xuJGJhY2tncm91bmQtY29sb3JfMTI6IHJnYmEoMCwgMTIwLCAyMTIsIDAuMSk7XG4kYmFja2dyb3VuZC1jb2xvcl8xMzogI2Y5ZTY5ZTtcbiRiYWNrZ3JvdW5kLWNvbG9yXzE0OiAjYmFjZGVhO1xuJGJhY2tncm91bmQtY29sb3JfMTU6ICNlZmFkYWM7XG4kYmFja2dyb3VuZC1jb2xvcl8xNjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuJGJhY2tncm91bmQtY29sb3JfMTc6IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4kYm9yZGVyLWNvbG9yOiAjNDA0OTlBO1xuJGJvcmRlci1jb2xvcl8xOiAjZGVlMmU2O1xuXG4uaW5ib3gtY29udGFpbmVyIHtcblx0Ly8gQ29udGFpbmVyIHN0YXJ0cyA3NnB4IGZyb20gdmlld3BvcnQgdG9wIChicmVhZGNydW1iIGJhciBoZWlnaHQpLlxuXHQvLyBVc2UgZml4ZWQgaGVpZ2h0IHNvIHBhbmVscyBzY3JvbGwgaW50ZXJuYWxseSwgcGFnZSBkb2Vzbid0IHNjcm9sbC5cblx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzZweCk7XG5cdG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA3NnB4KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Ly8gVG9wL2xlZnQgYnJlYXRoaW5nIHJvb20gc28gdGhlIHNlYXJjaCBib3gncyBmb2N1cyByaW5nIGlzbid0IGNsaXBwZWQgYnlcblx0Ly8gdGhpcyBvdmVyZmxvdzpoaWRkZW4gYWdhaW5zdCB0aGUgaGVhZGVyL25hdi1yYWlsLiBTZWFyY2ggKyBwYW5lbHMgc2hpZnRcblx0Ly8gdG9nZXRoZXIsIHNvIHRoZWlyIGxlZnQgZWRnZXMgc3RheSBhbGlnbmVkLlxuXHRwYWRkaW5nOiA4cHggMCAwIDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmluYm94LXNlbGVjdGlvbi1ncm91cCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNHB4O1xufVxuLmluYm94LWNvdW50LWRpc3BsYXkge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA2cHg7XG5cdGhlaWdodDogNDBweDtcblx0cGFkZGluZzogMCAxMnB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJhY2tncm91bmQ6ICNlNmU5ZmY7XG5cdGNvbG9yOiAjNDA0OTlhO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHVzZXItc2VsZWN0OiBub25lO1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLnNlYXJjaC1hY3Rpb25zLWJhciB7XG5cdHBhZGRpbmctYm90dG9tOiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMTZweDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0LnNlYXJjaC1zZWN0aW9uIHtcblx0XHQvLyBQcmVmZXJzIDQwMHB4IGFuZCBzdGF5cyB0aGVyZSB3aGlsZSB0aGVyZSdzIHJvb20gKG5vIGdyb3cpOyBzaHJpbmtzXG5cdFx0Ly8gZG93biB0byAxNjAgb25seSB3aGVuIHRoZSB0b29sYmFyIG5lZWRzIHRoZSBzcGFjZS5cblx0XHRmbGV4OiAwIDEgNDAwcHg7XG5cdFx0bWluLXdpZHRoOiAxNjBweDtcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRcdC5zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXHR9XG5cdC5hY3Rpb25zLXNlY3Rpb24ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDEycHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIC8vIEVudHJhbmNlOiBzdWJ0bGUgc2xpZGUtZG93biArIGZhZGUuIFJlLXRyaWdnZXJzIGVhY2ggdGltZSB0aGUgYmFyXG4gICAgICAgIC8vIGdvZXMgZnJvbSBkaXNwbGF5Om5vbmUgdG8gZmxleCAoalF1ZXJ5IC5zaG93KCkpLlxuICAgICAgICBhbmltYXRpb246IGluYm94LXRvb2xiYXItaW4gMTgwbXMgZWFzZS1vdXQ7XG4gICAgICAgIC5kaXZpZGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGJhY2tncm91bmQtY29sb3JfMjtcbiAgICAgICAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSW5saW5lIGJ1bGsgYWN0aW9ucyAod2lkZSkgdnMgdGhlIG92ZXJmbG93IOKLriAobmFycm93KS4gVGhlIG1lZGlhIHF1ZXJ5XG4gICAgICAgIC8vIGJlbG93IHN3YXBzIHRoZW0uXG4gICAgICAgIC5hY3Rpb25zLWlubGluZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgfVxuICAgICAgICAvLyBPdmVyZmxvdyDii64gYW5jaG9yIOKAlCBoaWRkZW4gdW50aWwgdGhlIG1lZGlhIHF1ZXJ5IHN3YXBzIGl0IGluLiBDYXJyaWVzXG4gICAgICAgIC8vIGl0cyBvd24gbWVudSBwb3NpdGlvbmluZyAodGhlIHBhbmVsLWhlYWRlcidzIC5pbmJveC1tZW51IHJ1bGUgaXMgc2NvcGVkXG4gICAgICAgIC8vIHRvIC5taWRkbGUtcGFuZWwsIHNvIGl0IGRvZXNuJ3QgcmVhY2ggaGVyZSkuXG4gICAgICAgIC5hY3Rpb25zLW92ZXJmbG93LWFuY2hvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLmluYm94LW1lbnUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgNHB4KTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmluYm94LW1lbnUtb3BlbiAuaW5ib3gtbWVudSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogaW5ib3gtbWVudS1pbiAxNDBtcyBlYXNlLW91dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXHR9XG59XG5cbi5tYWluLWNvbnRlbnQge1xuXHRmbGV4OiAxIDEgMDtcblx0bWluLWhlaWdodDogMDtcblx0ZGlzcGxheTogZmxleDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLmxlZnQtc2lkZWJhciB7XG5cdGZsZXg6IDAgMCAxODBweDtcblx0d2lkdGg6IDE4MHB4O1xuXHRtYXgtd2lkdGg6IDE4MHB4O1xuXHRtaW4td2lkdGg6IDA7XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcl8xMDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcl8xO1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4IDEycHggMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgICBociB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbjogOHB4O1xuICAgIH1cblx0LnNpZGViYXItc2VjdGlvbiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRcdC5zaWRlYmFyLWl0ZW1zLWxpc3Qge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRnYXA6IDhweDtcblx0XHRcdG1hcmdpbi10b3A6IDhweDtcblx0XHR9XG5cdFx0LnNlY3Rpb24taGVhZGVyIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0cGFkZGluZzogNnB4IDhweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRjb2xvcjogJGNvbG9yXzY7XG5cdFx0XHRmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgICAgIC8vIENoZXZyb246IGZpeGVkIDIwcHggY29sdW1uIHNvIHRoZSBpY29uIGFmdGVyIGl0IGFsaWduc1xuICAgICAgICAgICAgLy8gd2l0aCB0aGUgaWNvbnMgaW4gdGhlIHN1Yi1pdGVtcyBiZWxvdy5cbiAgICAgICAgICAgID4gaS5jb2xsYXBzZS1idG4ge1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfNTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcl8xO1xuICAgICAgICAgICAgICAgID4gaS5jb2xsYXBzZS1idG4geyBjb2xvcjogJGNvbG9yOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zZWN0aW9uLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgLnNlY3Rpb24tdGl0bGUgeyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IH1cbiAgICAgICAgICAgICAgICAgICAgLmNvdW50IHsgZm9udC1zaXplOiAxMXB4OyBjb2xvcjogJGNvbG9yXzk7IGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXHRcdH1cblx0XHQuc2lkZWJhci1pdGVtIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiA4cHg7XG4gICAgICAgICAgICAvLyBjaGV2cm9uIGNvbCAoMjBweCkgKyBnYXAgKDhweCkgPSAyOHB4IGluZGVudCBiZWZvcmUgaWNvblxuXHRcdFx0cGFkZGluZzogNnB4IDhweCA2cHggMjhweDtcblx0XHRcdGNvbG9yOiAkY29sb3JfNjtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMjBweDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHRcdFx0aSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0Y29sb3I6ICRjb2xvcl82O1xuXHRcdFx0fVxuXHRcdFx0LnNpZGViYXItaXRlbS1sYWJlbCB7XG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHR9XG5cdFx0XHQuc2lkZWJhci1pdGVtLWNvdW50IHtcblx0XHRcdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdFx0XHRjb2xvcjogJGNvbG9yXzk7XG5cdFx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0fVxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmMGYxZjI7XG5cdFx0XHR9XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3JfMTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRpIHsgY29sb3I6ICRjb2xvcjsgfVxuICAgICAgICAgICAgfVxuXHRcdH1cbiAgICAgICAgLnNlY3Rpb24tbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cdH1cbn1cblxuLm1pZGRsZS1wYW5lbCB7XG5cdC8vIEZsdWlkOiAzMDBweCBmbG9vciBvbiBzbWFsbCBzY3JlZW5zLCBncm93cyBvbmx5IGEgbGl0dGxlIG9uIHdpZGVyXG5cdC8vIHNjcmVlbnMgdXAgdG8gMzgwcHguIFBhbmVsIDMgZ3Jvd3MgbXVjaCBmYXN0ZXIgc28gaXQgc3RheXMgZG9taW5hbnQuXG5cdGZsZXg6IDEgMSAzMDBweDtcblx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0bWluLXdpZHRoOiAzMDBweDtcblx0bWF4LXdpZHRoOiAzODBweDtcblx0bWluLWhlaWdodDogMDtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlci1jb2xvcl8xO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcl8xMDtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHQucGFuZWwtaGVhZGVyIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcl8xO1xuXHRcdGhlaWdodDogNTZweDtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdHBhZGRpbmc6IDAgOHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0LmZpbHRlci10YWJzIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRnYXA6IDRweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yXzY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogNnB4IDhweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHQuZmlsdGVyLXRhYiB7XG5cdFx0XHRcdHBhZGRpbmc6IDRweCAxMnB4O1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3JfMTtcblx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAyNHB4O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0Jjpub3QoLmFjdGl2ZSkge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3JfMjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5maWx0ZXItdGFiLmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yXzQ7XG5cdFx0XHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5wYW5lbC1hY3Rpb25zIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRnYXA6IDRweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCA0cHg7XG5cdFx0fVxuXHRcdC5pbmJveC1tZW51LWFuY2hvciB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQuaW5ib3gtbWVudSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiBjYWxjKDEwMCUgKyA0cHgpO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0ei1pbmRleDogMjAwO1xuXHRcdFx0fVxuXHRcdFx0Ji5pbmJveC1tZW51LW9wZW4gLmluYm94LW1lbnUge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Ly8gUG9wIG91dCBvZiB0aGUgYnV0dG9uOiBmYWRlICsgc2xpZ2h0IHNjYWxlL2Ryb3AuXG5cdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcblx0XHRcdFx0YW5pbWF0aW9uOiBpbmJveC1tZW51LWluIDE0MG1zIGVhc2Utb3V0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQubXVsdGktc2VsZWN0LWhpbnQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0Z2FwOiA2cHg7XG5cdFx0cGFkZGluZzogNnB4IDEycHg7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGNvbG9yOiAkY29sb3JfOTtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA2KTtcblx0XHQmOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxuXHRcdC5pbmJveC1zZWxlY3QtY291bnQge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0fVxuXHRcdC5pbmJveC1zZWxlY3QtY2xlYXIge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Y29sb3I6ICRjb2xvcjtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRwYWRkaW5nOiAycHggNnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRcdFx0Jjpob3ZlciB7IGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWNvbG9yXzE7IH1cblx0XHR9XG5cdH1cblx0LnRpbWVsaW5lLXNlY3Rpb24ge1xuXHRcdGZsZXg6IDE7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRwYWRkaW5nOiA0cHggOHB4O1xuXHRcdC50aW1lbGluZS1oZWFkZXIge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdGNvbG9yOiAkY29sb3JfNjtcblx0XHRcdG1hcmdpbi1ib3R0b206IDhweDtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHR9XG5cdFx0Ly8gUmVzZXQgdGhlIHN0YWxlIC5tZXNzYWdlLWl0ZW0gcnVsZXMgaW4gd2ViL2Nzcy92MS9zdHlsZS5jc3MgKGNvbXBpbGVkXG5cdFx0Ly8gZnJvbSBzY3NzL3N0eWxlLnNjc3MsIHdoaWNoIHN0aWxsIGhhcyB0aGUgb2xkIHBhZGRpbmcvbWFyZ2luIGJsb2NrKS5cblx0XHQvLyBzdHlsZS12MS5jc3MgbG9hZHMgYWZ0ZXIgc3R5bGUuY3NzIHNvIHNhbWUtc3BlY2lmaWNpdHkgcnVsZXMgaGVyZSB3aW4uXG5cdFx0Lm1lc3NhZ2UtaXRlbSB7XG5cdFx0XHRwYWRkaW5nOiA0cHggOHB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNHB4O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRcdGdhcDogOHB4O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdH1cblxuXHRcdC8vIEd1YXJhbnRlZSB0aGUgY29tcG9uZW50J3Mgc2VsZWN0ZWQraG92ZXIgc3RhdGUgdXNlcyBkYXJrIHB1cnBsZSxcblx0XHQvLyBub3QgZ3JleS4gVGhlIENTUyB2YXJpYWJsZSBjaGFpbiBjYW4gbG9zZSB0byBhIGxvd2VyLXNwZWNpZmljaXR5XG5cdFx0Ly8gcnVsZSBkZXBlbmRpbmcgb24gY2FzY2FkZSBvcmRlcjsgdGhpcyBzY29wZWQgb3ZlcnJpZGUgd2lucyBjbGVhbmx5LlxuXHRcdHFkbmFwcm8taW5ib3gtbWVzc2FnZS5pbmJveC1tZXNzYWdlLXNlbGVjdGVkOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICNkYWRkZjIgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cblxuLnJpZ2h0LXBhbmVsIHtcblx0ZmxleDogOCAxIDA7XG5cdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdG1pbi13aWR0aDogMDtcblx0b3ZlcmZsb3cteTogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcl8xMDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi8qIExldCB0aGUgZGV0YWlsIHZpZXcgZmlsbCB0aGUgcGFuZWwgc28gaXRzIFwibm90aGluZyBzZWxlY3RlZFwiIGVtcHR5IHN0YXRlXG4gICBjZW50cmVzIHZlcnRpY2FsbHkgbGlrZSB0aGUgb3RoZXIgcGFuZWwtMyBlbXB0eSBzdGF0ZXMgKHdoaWNoIGxpdmUgaW5cbiAgICNpbmJveC1kZXRhaWwtZW1wdHksIGEgZGlyZWN0IGNoaWxkIG9mIC5yaWdodC1wYW5lbCkuICovXG4jbm90aWZpY2F0aW9uX2RldGFpbC12aWV3IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4vLyDilIDilIAgU2tlbGV0b24gbG9hZGVyIChpbmJveCBtZXNzYWdlIGxpc3QpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmluYm94LXNrZWxldG9uLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBtaW4taGVpZ2h0OiAxMDhweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICZfX2F2YXRhciAgeyBmbGV4LXNocmluazowOyB3aWR0aDo0OHB4OyBoZWlnaHQ6NDhweDsgYm9yZGVyLXJhZGl1czo1MCU7IH1cbiAgICAmX19ib2R5ICAgIHsgZmxleDoxOyBtaW4td2lkdGg6MDsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGdhcDo2cHg7IHBhZGRpbmctdG9wOjRweDsgfVxuICAgICZfX3NlbmRlciAgeyBoZWlnaHQ6MTJweDsgd2lkdGg6NDUlOyB9XG4gICAgJl9fc3ViamVjdCB7IGhlaWdodDoxNHB4OyB3aWR0aDo4MCU7IH1cbiAgICAmX19wcmV2aWV3IHsgaGVpZ2h0OjEycHg7IHdpZHRoOjY1JTsgfVxuICAgICZfX3RhZyAgICAgeyBoZWlnaHQ6MjRweDsgd2lkdGg6ODhweDsgYm9yZGVyLXJhZGl1czoxMnB4OyB9XG59XG4vLyBTdGFnZ2VyLWluIGZvciByZWFsIG1lc3NhZ2VzIGFmdGVyIHNrZWxldG9uIHN3YXBcbkBrZXlmcmFtZXMgaW5ib3gtbXNnLWVudGVyIHtcbiAgICAwJSAgIHsgb3BhY2l0eTowOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpIHNjYWxlKDAuOTgpOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6MTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7IH1cbn1cbi5pbmJveC1tc2ctc3RhZ2dlciB7XG4gICAgb3BhY2l0eTowO1xuICAgIGFuaW1hdGlvbjogaW5ib3gtbXNnLWVudGVyIDI0MG1zIGN1YmljLWJlemllcigwLjM0LDEuNTYsMC42NCwxKSBmb3J3YXJkcztcbn1cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vLyBUb29sdGlwIG11c3QgcmVuZGVyIGFib3ZlIHRoZSBmdWxsc2NyZWVuIHBvcHVwICh6LWluZGV4OiA5OTk5KVxuLnFkbmFwcm8tdG9vbHRpcCB7IHotaW5kZXg6IDEwMDAxICFpbXBvcnRhbnQ7IH1cblxuLy8gRGVhZGxpbmUgc3RhdHVzIGNvbG91cnMgb24gdGhlIGR1ZS10aW1lIGNoaXAgaW5zaWRlIGluYm94IG1lc3NhZ2VzXG5xZG5hcHJvLWluYm94LW1lc3NhZ2VbZGF0YS1kZWFkbGluZS1zdGF0dXM9XCJvdmVyZHVlXCJdIHtcbiAgICAuaW5ib3gtbWVzc2FnZS1kdWUsXG4gICAgLmluYm94LW1lc3NhZ2UtZHVlIHFkbmFwcm8taWNvbiB7IGNvbG9yOiAjZDkzMDI1ICFpbXBvcnRhbnQ7IH0gLy8gcmVkXG59XG5xZG5hcHJvLWluYm94LW1lc3NhZ2VbZGF0YS1kZWFkbGluZS1zdGF0dXM9XCJkdWUtc29vblwiXSB7XG4gICAgLmluYm94LW1lc3NhZ2UtZHVlLFxuICAgIC5pbmJveC1tZXNzYWdlLWR1ZSBxZG5hcHJvLWljb24geyBjb2xvcjogI2U4ODEwYSAhaW1wb3J0YW50OyB9IC8vIGFtYmVyL29yYW5nZVxufVxuXG4vLyBPdmVycmlkZSBzdHlsZS5jc3Mgc3RhbGUgLm1lc3NhZ2UtaXRlbTpob3ZlciB7IHJnYmEoMCwwLDAsMC4wMikgfSB3aGljaFxuLy8ga2lsbHMgdGhlIGNvbXBvbmVudCdzIGludGVuZGVkICNmMGYxZjIgKGdyZXktNTApIGhvdmVyLiBTYW1lIHNwZWNpZmljaXR5XG4vLyAoMCwzLDEpIGJ1dCBzdHlsZS12MS5jc3MgbG9hZHMgbGF0ZXIg4oaSIHdpbnMuXG4ubWlkZGxlLXBhbmVsIC50aW1lbGluZS1zZWN0aW9uIC5tZXNzYWdlLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1zZy1iZy1ob3ZlciwgI2YwZjFmMikgIWltcG9ydGFudDtcbn1cblxuLy8gTG9uZyBwcmltYXJ5IGNvbnRlbnQg4oaSIG1pbmltYWwgaG92ZXItcmV2ZWFsIHNjcm9sbGJhci5cbi5yaWdodC1wYW5lbCxcbi5taWRkbGUtcGFuZWwgLnRpbWVsaW5lLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIHFkbmEtc2Nyb2xsYmFyO1xufVxuLy8gU2hvcnQgbGlzdCDihpIgbm8gdmlzaWJsZSBiYXIsIHN0aWxsIHNjcm9sbGFibGUgaWYgaXQgZXZlciBvdmVyZmxvd3MuXG4ubGVmdC1zaWRlYmFyIHtcbiAgICBAaW5jbHVkZSBxZG5hLXNjcm9sbGJhci1oaWRkZW47XG59XG4uaW5ib3gtYm9keSB7XG4gICAgLy8gRmlnbWE6IHB4LTIwLCBnYXAtMTYgYmV0d2VlbiBzZWN0aW9ucy4gTm8gdG9wIHBhZGRpbmcg4oCUIHRpdGxlIGlzIGZsdXNoLlxuICAgIHBhZGRpbmc6IDAgMjBweCAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG5cbiAgICAvLyDilIDilIAgV2F0IGVyIHZhbiAuaW5ib3gtYm9keS10aXRsZSBNRUVWRVJIVUlTREUgbmFhciBxZG5hcHJvLW1lc3NhZ2UtaGVhZGVyIOKUgOKUgFxuICAgIC8vIDMxLjA3LjIwMjYsIGJlc2x1aXQgNzAuIERlIGtvcCB2YW4gZWVuIGJlcmljaHQgaXMgbnUgZGF0IGNvbXBvbmVudCwgZW4gZGVcbiAgICAvLyBjbGFzc2VzIC5pbmJveC1ib2R5LXRpdGxlIC8gLmluYm94LWJvZHktaGVhZGVyIGtvbWVuIG5pZXQgbWVlciBpbiBkZSBtYXJrdXBcbiAgICAvLyB2b29yIChodW4gcmVnZWxzIGhpZXJvbmRlciBtYXRjaGVuIGR1cyBuaWV0cyBtZWVyOyBkaWUgc3RhYW4gZXIgbm9nIHRvdCBKYW5cbiAgICAvLyBoZXQgc2NoZXJtIGhlZWZ0IGdlemllbikuIERyaWUgZGluZ2VuIGRpZSBhYW4gZGllIGNsYXNzZXMgaGluZ2VuLCBob3JlbiBiaWpcbiAgICAvLyBERVpFIFBBR0lOQSBlbiBuaWV0IGluIGhldCBjb21wb25lbnQsIGVuIHpvdWRlbiB6b25kZXIgZGl0IGJsb2sgc3RpbCB6aWpuXG4gICAgLy8gdmVyZHdlbmVuOlxuICAgIC8vICAgMS4gRGUga29wIFBMQUtUIGJvdmVuYWFuIHRpamRlbnMgaGV0IHNjcm9sbGVuLiBEYXQgaXMgZWVuIGtldXplIHZhbiBkaXRcbiAgICAvLyAgICAgIHNjaGVybSBtZXQgemlqbiBlaWdlbiBzY3JvbGxlbmRlIHBhbmVlbDsgZGUgUFdBIHZyYWFndCBoZXQgbmlldCBlbiBoZXRcbiAgICAvLyAgICAgIGNvbXBvbmVudCBob29ydCBlciBuaWV0cyB2YW4gdGUgd2V0ZW4uXG4gICAgLy8gICAyLiBEZSBrb3AgbG9vcHQgdmFuIHJhbmQgdG90IHJhbmQsIGR1cyBidWl0ZW4gZGUgMjBweCB2YW4gLmluYm94LWJvZHkuXG4gICAgLy8gICAgICBPb2sgZGF0IGlzIGRlIG9wbWFhayB2YW4gZGV6ZSBwYWdpbmEuXG4gICAgLy8gICAzLiBEZSBrbm9wcGVuIGluIHNsb3Q9XCJhY3Rpb25zXCIgemlqbiBraW5kZXJlbiBkaWUgREVaRSBQQUdJTkEgYWFubGV2ZXJ0LFxuICAgIC8vICAgICAgZHVzIG1hZyBkZXplIHBhZ2luYSB6ZWdnZW4gaG9lIHplIGVydWl0emllbjogZWVuIGFjdGlldmUgdG9nZ2xlIGtsZXVydFxuICAgIC8vICAgICAgYWxsZWVuIHppam4gaWNvb24gcGFhcnMsIGVuIGVlbiBnZWJsb2trZWVyZGUgYWN0aWUgemlldCB1aXRnZXNjaGFrZWxkIHVpdFxuICAgIC8vICAgICAgbWFhciBob3VkdCBwb2ludGVyLWV2ZW50cyB6b2RhdCBkZSB0b29sdGlwIG1ldCBkZSByZWRlbiBub2cgd2Vya3QuXG4gICAgLy8gR2VlbiB2YW4gZGV6ZSBkcmllIGlzIGVlbiBvdmVycmlkZSB2YW4gaGV0IGNvbXBvbmVudDogMSBlbiAyIHppam4gcGxhYXRzaW5nXG4gICAgLy8gb3AgZGUgcGFnaW5hLCAzIGdhYXQgb3ZlciBkZSBlaWdlbiBzbG90LWtpbmRlcmVuLlxuICAgIHFkbmFwcm8tbWVzc2FnZS1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jb2xvcl8xMDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIG1hcmdpbjogMCAtMjBweDtcblxuICAgICAgICAubWgtdGl0bGUtYWN0aW9ucyB7XG4gICAgICAgICAgICBxZG5hcHJvLWljb25bbmFtZT1cImJvb2ttYXJrXCJdLFxuICAgICAgICAgICAgcWRuYXByby1pY29uW25hbWU9XCJzcXVhcmUtcm91bmRlZC1iYWRnZVwiXSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM0NjUyZjM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBxZG5hcHJvLWJ1dHRvbi5pbmJveC1hY3Rpb24tYmxvY2tlZCB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgICAgICBxZG5hcHJvLWljb24geyBjb2xvcjogIzg5OGU5OTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLy8gbWF0Y2ggcGFuZWwtMiBoZWFkZXIgaGVpZ2h0IGV4YWN0bHkgKDU2cHgpXG4gICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgLy8gc3RpY2t5IHNvIHRoZSB0aXRsZSArIGFjdGlvbnMgc3RheSB2aXNpYmxlIHdoaWxlIHNjcm9sbGluZy5cbiAgICAgICAgLy8gTm8gbmVnYXRpdmUgdG9wIG1hcmdpbiDigJQgdGhhdCBjYXVzZWQgdGhlIHN0aWNreSBiYXIgdG8gZXh0ZW5kXG4gICAgICAgIC8vIGFib3ZlIHRoZSBjb250YWluZXIgYW5kIGJsb2NrIGNsaWNrcyBvbiB0aGUgbWVzc2FnZSBsaXN0LlxuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWNvbG9yXzEwO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgLy8gZnVsbC1ibGVlZDogYnJlYWsgb3V0IG9mIHRoZSAyMHB4IGhvcml6b250YWwgcGFkZGluZyBvbmx5LlxuICAgICAgICBtYXJnaW46IDAgLTIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTApO1xuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICAgICAgJi1hY3Rpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICAvLyBBY3RpdmUgdG9nZ2xlIHN0YXRlID0gb25seSB0aGUgKGZpbGxlZCkgaWNvbiB0dXJucyBwdXJwbGUsXG4gICAgICAgICAgICAvLyBub3QgdGhlIHdob2xlIGJ1dHRvbi4gTWF0Y2hlcyB0aGUgYm9va21hcmtlZCBsb29rIGluIHRoZSBsaXN0LlxuICAgICAgICAgICAgcWRuYXByby1pY29uW25hbWU9XCJib29rbWFya1wiXSxcbiAgICAgICAgICAgIHFkbmFwcm8taWNvbltuYW1lPVwic3F1YXJlLXJvdW5kZWQtYmFkZ2VcIl0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNDY1MmYzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSGFuZG92ZXI6IGRlbGV0ZS9hcmNoaXZlIGFyZSBub3QgYWxsb3dlZC4gTG9vayBkaXNhYmxlZCBidXQga2VlcFxuICAgICAgICAgICAgLy8gcG9pbnRlci1ldmVudHMgc28gdGhlIGV4cGxhaW5pbmcgdG9vbHRpcCBzdGlsbCBzaG93cyBvbiBob3Zlci5cbiAgICAgICAgICAgIHFkbmFwcm8tYnV0dG9uLmluYm94LWFjdGlvbi1ibG9ja2VkIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgICAgIHFkbmFwcm8taWNvbiB7IGNvbG9yOiAjODk4ZTk5OyB9XG4gICAgICAgICAgICB9XG5cbi8vIERvdHMtbWVudTogc2FtZSBibG9ja2VkIHBhdHRlcm4gZm9yIG1lbnUgaXRlbXNcbiNpbmJveC1kb3RzLW1lbnUgcWRuYXByby1tZW51LWl0ZW0uaW5ib3gtZG90cy1ibG9ja2VkIHtcbiAgICBjb2xvcjogIzg5OGU5OSAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDtcbiAgICAubWVudS1pdGVtLWljb24geyBjb2xvcjogIzg5OGU5OSAhaW1wb3J0YW50OyB9XG59XG4gICAgICAgICAgICAuYWN0aW9uLWJ0biB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyOm5vdCguYWN0aW9uLWJsb2NrKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3JfNTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfODtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmFjdGlvbi1ibG9jayB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGl2aWRlciB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4OyBcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yXzI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIC8vIEVudHJhbmNlIHdoZW4gYSBtZXNzYWdlIG9wZW5zIChSYWN0aXZlIHJlY3JlYXRlcyB0aGlzIG9uIGVhY2ggb3BlbikuXG4gICAgICAgIGFuaW1hdGlvbjogaW5ib3gtZGV0YWlsLWluIDIwMG1zIGVhc2Utb3V0O1xuICAgICAgICAvLyBmdWxsLWJsZWVkIHRoaW4gZGl2aWRlcjogYnJlYWsgb3V0IG9mIHRoZSAyMHB4IGJvZHkgcGFkZGluZ1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEwKTtcbiAgICAgICAgLy8gVGlnaHRlciB0b3AvYm90dG9tIHNwYWNpbmcgKEtpbSAyMDI2LTA2LTA3KTogfjEwIENTUy1weCAoPSAyMCBkZXZpY2UtcHhcbiAgICAgICAgLy8gb24gaGVyIFJldGluYSBzY3JlZW4pIGJldHdlZW4gdGhlIHRpdGxlIGRpdmlkZXIgYW5kIHRoZSBhdmF0YXIsIGFuZFxuICAgICAgICAvLyBiZXR3ZWVuIHRoZSB0YWdzIGFuZCB0aGlzIGRpdmlkZXIuIC02IGNhbmNlbHMgcGFydCBvZiB0aGUgMTZweFxuICAgICAgICAvLyAuaW5ib3gtYm9keSBmbGV4IGdhcCBhYm92ZSB0aGUgaGVhZGVyLlxuICAgICAgICBtYXJnaW46IC02cHggLTIwcHggMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgICAgLmluYm94LWJvZHktdXNlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjRweCAwIDI0cHg7XG4gICAgICAgICAgICAudXNlci1hdmF0YXIge1xuICAgICAgICAgICAgICAgIC5hdmF0YXItcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yXzEzO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8xMTtcbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC51c2VyLWluZm8ge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMHB4O1xuICAgICAgICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICYtbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yXzY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi1lbWFpbCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yXzE7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW5ib3gtYm9keS1tZXRhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl8xO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIC50aW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5kYXlzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbmJveC1ib2R5LWRldGFpbHMge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgLmVtYWlsLXRvLWJsb2NrIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5lbWFpbC1jYy1ibG9jayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW5ib3gtYm9keS1maWVsZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfMTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICAgICAgICAgICAgJi1ib2xkIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc3RhdHVzLWJhZGdlcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICAgICAgLmJhZGdlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYmFkZ2UuYmctZGFuZ2VyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcl8xNSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJhZGdlLmJnLXNlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3JfOCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJhZGdlLmJnLXdhcm5pbmcge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yXzEzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYmFkZ2UuYmctaW5mbyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3JfMTQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5idG4tc20ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfODtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgLy8gRmlnbWE6IGZsZXggY29sdW1uLCBnYXAtNHB4IGJldHdlZW4gUSZBIGl0ZW1zXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICAuaW5ib3gtYm9keS1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgLy8gRmlnbWE6IHB4LTggcHktNFxuICAgICAgICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAuaW5ib3gtYm9keS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIC8vIE5vZGUtdHlwZSBNREktaWNvb24gdsOzw7NyIGRlIHZyYWFnOiBsaWNodGdyaWpzIGVuIHN1YnRpZWwsIHpvZGF0IGRlXG4gICAgICAgICAgICAgICAgLy8gdnJhYWd0ZWtzdCB6ZWxmIGxlaWRlbmQgYmxpamZ0LlxuICAgICAgICAgICAgICAgIC5pbmJveC1xLXR5cGUtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNjMmMyYzI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIG5vZGUtaWQgYWNodGVyIGRlIHZyYWFnOiBrbGVpbiwgbGljaHRncmlqcywgdmVydGljYWFsIGdlY2VudHJlZXJkXG4gICAgICAgICAgICAgICAgLy8gKGhldCBsYWJlbCBpcyBhbCBkaXNwbGF5OmZsZXgvYWxpZ24taXRlbXM6Y2VudGVyKS4gZm9udC13ZWlnaHQgdGVydWdcbiAgICAgICAgICAgICAgICAvLyBuYWFyIG5vcm1hYWwg4oCUIGhldCBsYWJlbCB6ZWxmIGlzIDYwMC5cbiAgICAgICAgICAgICAgICAuaW5ib3gtcS1ub2RlLWlkIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjYzJjMmMyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbmJveC1ib2R5LXZhbHVlIHtcbiAgICAgICAgICAgICAgICAvLyBMYWF0IGhldCBhbnR3b29yZCB1aXRsaWpuZW4gbWV0IGRlIHZyYWFnVEVLU1QgaS5wLnYuIG1ldCBoZXQgaWNvb246XG4gICAgICAgICAgICAgICAgLy8gaGV0IG5vZGUtdHlwZS1pY29vbiBpcyAxOHB4IGJyZWVkICsgNnB4IG1hcmdlID0gMjRweCBpbnNwcmluZ2luZy5cbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl80O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICYuc3ViLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRhc2stc3RhdHVzIHtcbiAgICAgICAgICAgIC8vIFN0YWNrIGFib3ZlIHRoZSBkaXZpZGVyIDxocj4gKHdoaWNoIGZvbGxvd3MgaW4gdGhlIERPTSBhbmQgaXNcbiAgICAgICAgICAgIC8vIHB1bGxlZCB1cCB0byBvdmVybGFwKS4gVGhlIGJsb2NrJ3Mgb3BhcXVlICNmZmYgYmcgdGhlbiBicmVha3NcbiAgICAgICAgICAgIC8vIHRoZSBsaW5lIGluc3RlYWQgb2YgdGhlIGxpbmUgcnVubmluZyB0aHJvdWdoIHRoZSBwaWxsLlxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl85O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGdhcDogMjRweDtcbiAgICAgICAgICAgICYtYmxvY2sge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcl81O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDE2cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3JfNDtcbiAgICAgICAgICAgICAgICAuc3RhdHVzLWJhZGdlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3JfMTQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnVzZXItYXZhdGFyIHtcbiAgICAgICAgICAgICAgICAgICAgLmF2YXRhci1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yXzEzO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yXzExO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3R7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBociB7XG4gICAgICAgICAgICAvLyBmdWxsLWJsZWVkOyBuZWdhdGl2ZSB0b3Aga2VlcHMgdGhlIHRhc2stc3RhdHVzIHBpbGwgb3ZlcmxhcHBpbmdcbiAgICAgICAgICAgIC8vIHRoZSBsaW5lLiBDb2xvdXIgKyB0aGlja25lc3MgbWF0Y2ggdGhlIHBpbGwgYm9yZGVyICgjRDlEQkVCKSBzb1xuICAgICAgICAgICAgLy8gdGhlIGxpbmUgYW5kIHRoZSB0aW1lbGluZSBwaWxsIHJlYWQgYXMgb25lLiBCb3R0b20gbWFyZ2luIGNsZWFyc1xuICAgICAgICAgICAgLy8gdGhlIHBpbGw6IHRoZSBuZWdhdGl2ZSB0b3AgcHVsbHMgdGhlIGxpbmUgaW50byB0aGUgcGlsbCwgc28gdGhlXG4gICAgICAgICAgICAvLyBwaWxsIGV4dGVuZHMgfjI2cHggQkVMT1cgdGhlIGxpbmUg4oCUIGFuIDhweCBib3R0b20gbWFyZ2luIGxldCB0aGVcbiAgICAgICAgICAgIC8vIGZpcnN0IHF1ZXN0aW9uIGNvbGxpZGUgd2l0aCBpdC4gMjhweCBnaXZlcyB0aGUgc2FtZSBjbGVhcmFuY2UgdGhlXG4gICAgICAgICAgICAvLyBpbnB1dC1mb290ZXIgYWxyZWFkeSB1c2VzIChtYXJnaW4tdG9wOjJyZW0pLiBGb3IgdGhlIFwiYWZnZXJvbmRcIlxuICAgICAgICAgICAgLy8gPGhyPiAoZm9sbG93ZWQgYnkgdGhlIGZvb3RlcikgdGhlIHR3byB2ZXJ0aWNhbCBtYXJnaW5zIGNvbGxhcHNlLFxuICAgICAgICAgICAgLy8gc28gdGhhdCBjYXNlIGlzIHZpc3VhbGx5IHVuY2hhbmdlZC5cbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY29sb3JfNTtcbiAgICAgICAgICAgIG1hcmdpbjogLTJyZW0gLTI0cHggMjhweDtcbiAgICAgICAgfVxuICAgICAgICAvLyBEZSBrbm9wcGVuYmFsayBvbmRlciBlZW4gb3ZlcmRyYWNodCBpcyBzaW5kcyAzMS4wNy4yMDI2IGhldCBjb21wb25lbnRcbiAgICAgICAgLy8gcWRuYXByby1tZXNzYWdlLWFjdGlvbmJhciAoYmVzbHVpdCA3MCkuIEFsbGVlbiBkZSBNQVJHRSBob29ydCBoaWVyIHRlIGJsaWp2ZW4gZW5cbiAgICAgICAgLy8gbmlldCBpbiBkYXQgY29tcG9uZW50OiBoaWogYmVzdGFhdCBvbSBkZSBsYWF0c3RlIHRpamRsaWpuLXBpbCB0ZSBvbnR3aWprZW4sIGVuIGRhdFxuICAgICAgICAvLyBpcyBpZXRzIHZhbiBERVpFIHBhZ2luYS4gSGV0IGNvbXBvbmVudCB3ZWV0IG5pZXQgZGF0IGVyIGVlbiB0aWpkbGlqbiBib3ZlbiBzdGFhdCBlblxuICAgICAgICAvLyBtb2V0IG9vayBicnVpa2JhYXIgemlqbiBvcCBlZW4gcGxlayB3YWFyIGRpZSBlciBuaWV0IGlzIChkZSBQV0EgaGVlZnQgZ2VlbiBwaWwpLlxuICAgICAgICAvLyBab25kZXIgZGV6ZSByZWdlbCB3YXMgZGllIHNjaGVpZGluZyBzdGlsIHZlcmR3ZW5lbjogZGUgb3VkZSAuaW5wdXQtZm9vdGVyLXJlZ2VsXG4gICAgICAgIC8vIGhpZXJvbmRlciBtYXRjaHQgbmlldHMgbWVlci5cbiAgICAgICAgcWRuYXByby1tZXNzYWdlLWFjdGlvbmJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG4gICAgICAgIC8vIERPREUgUkVHRUwgc2luZHMgMzEuMDcuMjAyNiwgYmV3dXN0IGxhdGVuIHN0YWFuIHRvdCBKYW4gaGV0IHNjaGVybSBoZWVmdCBnZXppZW46XG4gICAgICAgIC8vIC5pbnB1dC1mb290ZXIga29tdCBuaWV0IG1lZXIgaW4gZGUgbWFya3VwIHZvb3IuIFdlZ2hhbGVuIGthbiB6b2RyYSBkaWUgdGVzdCByb25kIGlzO1xuICAgICAgICAvLyBudSB3ZWdoYWxlbiB6b3UgYmV0ZWtlbmVuIGRhdCBlZW4gdGVydWdkcmFhaSB2YW4gZGUgb216ZXR0aW5nIGVlbiBrYWFsIGJsb2sgb3BsZXZlcnQuXG4gICAgICAgIC5pbnB1dC1mb290ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3JfMTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgICAvLyBDbGVhciB0aGUgdGltZWxpbmUgcGlsbDogdGhlIDxocj4gYWJvdmUgaXMgcHVsbGVkIHVwIGludG8gdGhlIHBpbGwsXG4gICAgICAgICAgICAvLyBzbyB0aGUgcGlsbCBleHRlbmRzIH4yMHB4IGJlbG93IHRoZSBsaW5lLiBTdGFydCB0aGUgZm9vdGVyIGJveCBiZWxvd1xuICAgICAgICAgICAgLy8gaXQgaW5zdGVhZCBvZiBvdmVybGFwcGluZy4gKENvbGxhcHNlcyB3aXRoIHRoZSBocidzIDhweCBib3R0b20gbWFyZ2luLilcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgJi1pbmZvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi1hY3Rpb24tYnRuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgLmluYm94LXNlY29uZGFyeS1idG4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5pbmJveC1wcmltYXJ5LWJ0biB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfMztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLm11bHRpcGxlLXNlbGVjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDcydmg7XG4gICAgJi1ibG9ja3tcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTZweDtcbiAgICAgICAgJi1pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE3NXB4O1xuICAgICAgICAgICAgd2lkdGg6IDE3NXB4OztcbiAgICAgICAgfVxuICAgICAgICAmLW1lc3NhZ2Uge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl84O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jdXN0b20tcG9wdXAge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDUwcHg7XG4gICAgbGVmdDogMTAwcHg7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNXB4ICRiYWNrZ3JvdW5kLWNvbG9yXzE3O1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgaGVpZ2h0OiA5MHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIHBvcHVwIGl0c2VsZiBkb2Vzbid0IHNjcm9sbCDigJQgb25seSB0aGUgYm9keSBpbnNpZGUgZG9lc1xuICAgIHJlc2l6ZTogbm9uZTsgLy8gZGlzYWJsZSBuYXRpdmUgZ3JpcDsgalF1ZXJ5IFVJIGhhbmRsZXMgcmVzaXplXG5cbiAgICAvLyBNb2Rlcm4gcmVzaXplIGhhbmRsZSDigJQgcmVwbGFjZXMgdGhlIG5hdGl2ZSBicm93c2VyIHJlc2l6ZSBncmlwLlxuICAgIC8vIHJpZ2h0OiAxMnB4ID0gNHB4IG1hcmdpbiArIDhweCBzY3JvbGxiYXIgd2lkdGgsIHNvIHRoZSBoYW5kbGVcbiAgICAvLyBuZXZlciBvdmVybGFwcyB0aGUgc2Nyb2xsYmFyIHdoZW4gY29udGVudCBvdmVyZmxvd3MuXG4gICAgLnVpLXJlc2l6YWJsZS1zZSB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICBib3R0b206IDRweDtcbiAgICAgICAgY3Vyc29yOiBzZS1yZXNpemU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIC8vIFR3byBkaWFnb25hbCBsaW5lcyBsaWtlIGEgbW9kZXJuIGdyaXBcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAwIDVweDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAzcHggMDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudWktcmVzaXphYmxlLWhhbmRsZSB7IHotaW5kZXg6IDEwMDsgfVxuICAgICYtYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIC51aS1kcmFnZ2FibGUtaGFuZGxlIHtcbiAgICAgICAgICAgIGN1cnNvcjogbW92ZTtcbiAgICAgICAgfVxuICAgICAgICAuY2xvc2UtcG9wdXAge1xuICAgICAgICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3JfMjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wb3B1cC1iYWNrZHJvcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jb2xvcl84O1xuICAgIHotaW5kZXg6IDk5OTg7XG4gICAgb3BhY2l0eTogMC4yO1xufVxuXG4udGl0bGUtYmFyIHtcbiAgICBjb2xvcjogIzQwNDk5YTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yXzE7XG59XG5cbi8vIERlZmF1bHRzIEJFRk9SRSB0aGUgbWVkaWEgYmxvY2tzIGJlbG93LCBzbyB0aGUg4omkNzY4L+KJpDExMDAgYGRpc3BsYXlgIHJ1bGVzXG4vLyAoc2FtZSBzcGVjaWZpY2l0eSkgd2luIGJ5IHNvdXJjZSBvcmRlciB3aGVuIHRoZXkgbWF0Y2guXG4uaW5ib3gtc2lkZWJhci10b2dnbGUgeyBkaXNwbGF5OiBub25lOyB9ICAgICAgICAgIC8vIG9ubHkgc2hvd24g4omkMTEwMHB4XG4uaW5ib3gtbW9iaWxlLWJhY2sgICAgeyBkaXNwbGF5OiBub25lOyB9ICAgICAgICAgIC8vIG9ubHkgc2hvd24g4omkNzY4cHggKGRyaWxsLWRvd24pXG5cbi8qIOKUgOKUgCBQaGFzZSAzOiBtb2JpbGUgKOKJpDc2OHB4KSDigJQgbWFzdGVyLWRldGFpbCBkcmlsbC1kb3duIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgT25lIHBhbmUgYXQgYSB0aW1lLiBUaGUgbWVzc2FnZSBsaXN0IGlzIHRoZSBkZWZhdWx0IChcIm1hc3RlclwiKTsgdGFwcGluZyBhXG4gICBtZXNzYWdlIHNsaWRlcyBpbiB0aGUgZGV0YWlsIHdpdGggYSDihpAgYmFjayBidXR0b24gdG8gcmV0dXJuLiBUaGUgQWN0aXZpdHlcbiAgIGRyYXdlciAoZnJvbSB0aGUg4omkMTEwMCBibG9jayBhYm92ZSkgc3RpbGwgb3ZlcmxheXMgdmlhIHRoZSDimLAgdG9nZ2xlLiBUaGlzXG4gICByZXBsYWNlcyB0aGUgb2xkIHRocmVlLXBhbmVsIHZlcnRpY2FsIHN0YWNrLCB3aGljaCB3YXMgaW1wcmFjdGljYWwgb24gYSBwaG9uZS4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAjeyRpbmJveC1icC1tb2JpbGV9KSB7XG5cdC5pbmJveC1jb250YWluZXIge1xuXHRcdG1heC13aWR0aDogNzY4cHg7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdH1cblxuXHQvLyBLZWVwIHRoZSDimLAgdG9nZ2xlICsgc2VhcmNoIG9uIG9uZSByb3cgKGV4cGxpY2l0OiBhIHN0YWxlIC9jc3MvdjEvc3R5bGUuY3NzXG5cdC8vIHN0aWxsIHNoaXBzIGEgZmxleC1kaXJlY3Rpb246Y29sdW1uIGhlcmUsIHNvIHdlIG11c3Qgb3ZlcnJpZGUgaXQpLiBTZWFyY2hcblx0Ly8gZmlsbHMgdGhlIHJlc3Qgb2YgdGhlIHJvdyBiZXNpZGUgdGhlIHRvZ2dsZS5cblx0LnNlYXJjaC1hY3Rpb25zLWJhciB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cdC5zZWFyY2gtYWN0aW9ucy1iYXIgLnNlYXJjaC1zZWN0aW9uIHtcblx0XHRmbGV4OiAxIDEgYXV0bztcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdH1cblxuXHQvLyBMaXN0ICsgZGV0YWlsIGFyZSBzdGFja2VkIGFuZCBzbGlkZSBob3Jpem9udGFsbHk7IG9ubHkgb25lIHNob3dzIGF0IGEgdGltZS5cblx0Ly8gKC5sZWZ0LXNpZGViYXIgc3RheXMgdGhlIGFic29sdXRlIG92ZXJsYXkgZHJhd2VyIGZyb20gdGhlIOKJpDExMDAgYmxvY2suKVxuXHQubWlkZGxlLXBhbmVsLFxuXHQucmlnaHQtcGFuZWwge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDsgICAgIC8vIGJlYXQgdGhlIGJhc2UgYHdpZHRoOiBhdXRvICFpbXBvcnRhbnRgXG5cdFx0bWluLXdpZHRoOiAwO1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRtYXgtaGVpZ2h0OiBub25lOyAgICAgICAgICAgLy8gc3RhbGUgL2Nzcy92MS9zdHlsZS5jc3MgY2FwcyB0aGVzZSBhdCAyMDAvMzAwcHhcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjgwbXMgY3ViaWMtYmV6aWVyKC4yLCAuNywgLjMsIDEpO1xuXHRcdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cdH1cblx0Lm1pZGRsZS1wYW5lbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgICAgei1pbmRleDogMjsgfVxuXHQucmlnaHQtcGFuZWwgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB6LWluZGV4OiAzOyB9XG5cblx0Ly8gRGV0YWlsIG9wZW46IGxpc3Qgc2xpZGVzIG91dCBsZWZ0LCBkZXRhaWwgc2xpZGVzIGluOyBkcm9wIHRoZSBzZWFyY2ggYmFyIHNvXG5cdC8vIHRoZSBkZXRhaWwgcmVhZHMgZnVsbC1zY3JlZW4uXG5cdC5pbmJveC1jb250YWluZXIubW9iaWxlLWRldGFpbC1vcGVuIHtcblx0XHQuc2VhcmNoLWFjdGlvbnMtYmFyIHsgZGlzcGxheTogbm9uZTsgfVxuXHRcdC5taWRkbGUtcGFuZWwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cdFx0LnJpZ2h0LXBhbmVsICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXHR9XG5cblx0Ly8g4oaQIGJhY2sgYnV0dG9uIGF0IHRoZSB0b3Agb2YgdGhlIGRldGFpbCBwYW5lLlxuXHQuaW5ib3gtbW9iaWxlLWJhY2sge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdG1hcmdpbjogOHB4IDAgMCA4cHg7XG5cdH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cdC5sZWZ0LXNpZGViYXIge1xuXHRcdHdpZHRoOiAxODBweDtcblx0fVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG5cdC5sZWZ0LXNpZGViYXIge1xuXHRcdHdpZHRoOiAxODBweDtcblx0fVxufVxuXG4vKiDilIDilIAgUGhhc2UgMjogdGFibGV0ICg3NjnigJMxMTAwcHgpIOKAlCBBY3Rpdml0eSBzaWRlYmFyIGJlY29tZXMgYSBzbGlkZS1pbiBkcmF3ZXIg4pSA4pSAXG4gICBJbiB0aGlzIGJhbmQgdGhlIGxpc3QgKyBkZXRhaWwgbmVlZCB0aGUgZnVsbCByb3csIHNvIHRoZSBBY3Rpdml0eSBwYW5lIGxlYXZlc1xuICAgdGhlIGZsb3cgYW5kIG9wZW5zIG9uIGRlbWFuZCBhcyBhbiBvdmVybGF5IGZyb20gdGhlIGxlZnQuIEEgXCLimLAgQWN0aXZpdHlcIiB0b2dnbGVcbiAgIGluIHRoZSBsaXN0IGhlYWRlciBvcGVucyBpdDsgdGhlIHNjcmltIG9yIHBpY2tpbmcgYSBmaWx0ZXIgY2xvc2VzIGl0LiBBYm92ZVxuICAgMTEwMHB4IHRoZSBzaWRlYmFyIGlzIGluLWZsb3cgYXMgdXN1YWwgYW5kIGJvdGggdG9nZ2xlICsgc2NyaW0gc3RheSBoaWRkZW4uICovXG5cbi5pbmJveC1zaWRlYmFyLXNjcmltIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRpbnNldDogMDtcblx0ei1pbmRleDogNDA7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjAsIDIyLCA0MCwgMC4zMik7XG5cdG9wYWNpdHk6IDA7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAyMDBtcztcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogI3skaW5ib3gtYnAtdGFibGV0fSkge1xuXHQubWFpbi1jb250ZW50IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cblx0Ly8gRHJhd2VyIHRvZ2dsZSBsaXZlcyBpbiB0aGUgdG9wIGJhciwgbGVmdCBvZiB0aGUgc2VhcmNoICh3aGljaCBzaGlmdHMgcmlnaHQpLlxuXHQuaW5ib3gtc2lkZWJhci10b2dnbGUge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGZsZXg6IDAgMCBhdXRvO1xuXHR9XG5cblx0LmxlZnQtc2lkZWJhciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHR6LWluZGV4OiA1MDtcblx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHR3aWR0aDogMjQ4cHg7XG5cdFx0bWF4LXdpZHRoOiAyNDhweDtcblx0XHRtYXgtaGVpZ2h0OiBub25lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3RhbGUgL2Nzcy92MS9zdHlsZS5jc3MgY2FwcyB0aGlzIGF0IDIwMHB4IOKJpDc2OFxuXHRcdGJvcmRlci1yYWRpdXM6IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmdWxsLWhlaWdodCBkcmF3ZXIg4oCUIHNxdWFyZSBlZGdlcywgbm90IGEgZmxvYXRpbmcgY2FyZFxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xMDAlIC0gMTZweCkpOyAgIC8vIG9mZi1jYW52YXMsIGNsZWFyIG9mIHRoZSBzaGFkb3dcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjQwbXMgY3ViaWMtYmV6aWVyKC4yLCAuNywgLjMsIDEpO1xuXHRcdGJveC1zaGFkb3c6IDAgOHB4IDI4cHggcmdiYSgyMCwgMjIsIDQwLCAwLjE4KTtcblx0XHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXHR9XG5cblx0Lm1haW4tY29udGVudC5zaWRlYmFyLW9wZW4ge1xuXHRcdC5sZWZ0LXNpZGViYXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblx0XHQuaW5ib3gtc2lkZWJhci1zY3JpbSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZTsgICAgICAgICAgLy8gbm8gZGVsYXkgb24gdGhlIHdheSBpblxuXHRcdH1cblx0fVxufVxuXG4vKiBSZWR1Y2VkLW1vdGlvbjogbm8gc2xpZGUsIGp1c3QgYXBwZWFyL2Rpc2FwcGVhci4gKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdC5sZWZ0LXNpZGViYXIgeyB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblx0LmluYm94LXNpZGViYXItc2NyaW0geyB0cmFuc2l0aW9uOiBvcGFjaXR5IDFtcyBsaW5lYXIgIWltcG9ydGFudDsgfVxuXHQubWlkZGxlLXBhbmVsLCAucmlnaHQtcGFuZWwgeyB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuQGtleWZyYW1lcyBpbmJveC10b29sYmFyLWluIHtcblx0ZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsgfVxuXHR0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbi8qIERldGFpbCAobWVzc2FnZS1vcGVuKTogcGx1Z2luIGNvbnRlbnQgZm9sbG93cyB0aGUgc2VuZGVyIGJsb2NrIGJ5IDQwbXMuICovXG4uaW5ib3gtYm9keS1jb250ZW50IHtcblx0YW5pbWF0aW9uOiBpbmJveC1kZXRhaWwtaW4gMjAwbXMgZWFzZS1vdXQgNDBtcyBib3RoO1xufVxuXG4vLyBGb3J3YXJkZWQtaW5kaWNhdG9yLWJhbm5lciBpbiBkZSBkZXRhaWwgKGVtYWlsLXN0aWpsKTogXCJEaXQgYmVyaWNodCBpcyBkb29yZ2VzdHV1cmQgbmFhclxuLy8gWCBvcCBEQVRVTVwiLiBTdWJ0aWVsZSBiYWxrIG9uZGVyIGRlIGhlYWRlciwgdsOzw7NyIGRlIGJvZHkuIFplbGZkZSBwYWFycy1wYWxldCBhbHMgZGVcbi8vIHJpY2gtYm9keSBibG9ja3F1b3RlIHZvb3IgY29uc2lzdGVudGllLiBbMjAyNi0wNi0yOV1cbi5pbmJveC1mb3J3YXJkZWQtbm90aWNlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiA4cHg7XG5cdG1hcmdpbjogNHB4IDAgMTRweDtcblx0cGFkZGluZzogMTBweCAxNHB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGJhY2tncm91bmQ6ICNmM2YxZmY7ICAgICAgICAgICAgICAgICAgIC8vIGxpY2h0LXBhYXJzLCBzdWJ0aWVsXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2MwYzVmZjsgICAgICAgIC8vIHphY2h0ZSBwYWFyc2UgYWNjZW50XG5cdGNvbG9yOiAjNGI0NDcwOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIG11dGVkXG5cdGZvbnQtc2l6ZTogMTNweDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblxuXHRxZG5hcHJvLWljb24ge1xuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdGNvbG9yOiAjN2E3ZmIwO1xuXHR9XG59XG5cbi8vIFJpY2ggKHNhbml0aXNlZC1IVE1MKSBub3RpZmljYXRpb24gYm9keSDigJQgZS5nLiBhIHNoYXJlZCBicmllZmluZyAvIE5vdmEgYW5zd2VyLlxuLy8gVGhlIHNoYXJlcidzIGNvbW1lbnQgaXMgd3JhcHBlZCBpbiBhIDxibG9ja3F1b3RlPiAoYWZ0ZXIgYW4gPGhyPikuIE5CIFJhY3RpdmUnc1xuLy8gdHJpcGxlLXN0YWNoZSBEUk9QUyBhIHN0YW5kYWxvbmUgPGhyIC8+LCBzbyB0aGUgZGl2aWRlciBjYW4ndCByZWx5IG9uIHRoZSA8aHI+O1xuLy8gaXQgbGl2ZXMgb24gdGhlIGJsb2NrcXVvdGUncyB0b3AgYm9yZGVyIGluc3RlYWQuIExlZnQgYWNjZW50IGJhciA9IGluZGVudC5cbi8vIFNjb3BlZCB0byB0aGUgcmljaCBib2R5IHNvIG5vdGhpbmcgZWxzZSBpcyBhZmZlY3RlZC4gWzIwMjYtMDYtMjldXG4uaW5ib3gtdGV4dC1ib2R5LS1yaWNoIHtcblx0aHIgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3R5bGVkIGluIGNhc2UgYSBub24tUmFjdGl2ZSByZW5kZXJlciBrZWVwcyBpdFxuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2UxZTNlNjtcblx0XHRtYXJnaW46IDE4cHggMDtcblx0fVxuXHRibG9ja3F1b3RlIHtcblx0XHRtYXJnaW46IDE4cHggMCAwO1xuXHRcdHBhZGRpbmc6IDE0cHggMCAycHggMTRweDtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2UxZTNlNjsgICAgIC8vIGRpdmlkZXIgYmV0d2VlbiB0aGUgc2hhcmVkIHRleHQgYW5kIHRoZSBjb21tZW50XG5cdFx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjYzBjNWZmOyAgICAvLyBzb2Z0IHB1cnBsZSBhY2NlbnQgKyBpbmRlbnRcblx0XHRjb2xvcjogIzRiNDQ3MDsgICAgICAgICAgICAgICAgICAgIC8vIG11dGVkIHZzIHRoZSBzaGFyZWQgdGV4dFxuXHR9XG59XG5cbkBrZXlmcmFtZXMgaW5ib3gtZGV0YWlsLWluIHtcblx0ZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XG5cdHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuQGtleWZyYW1lcyBpbmJveC1tZW51LWluIHtcblx0ZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogc2NhbGUoMC45NikgdHJhbnNsYXRlWSgtNHB4KTsgfVxuXHR0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApOyB9XG59XG5cbi8qIFJpZ2h0LWNsaWNrIGNvbnRleHQgbWVudSBvbiBhIG1lc3NhZ2UgdGlsZS4gVGhlIGFuY2hvciBpcyBwb3NpdGlvbmVkIGZpeGVkIGF0XG4gICB0aGUgY3Vyc29yIChsZWZ0L3RvcCBzZXQgaW5saW5lIGJ5IEpTKTsgdGhlIG1lbnUgc2l0cyBhdCB0aGUgYW5jaG9yJ3MgdG9wLWxlZnQuXG4gICBJbmJveCBydW5zIGF0IGJvZHl7em9vbToxfSwgc28gY2xpZW50WC9jbGllbnRZIG1hcCAxOjEg4oCUIG5vIHpvb20gY29ycmVjdGlvbi5cbiAgIHFkbmFwcm8tbWVudSBwcm92aWRlcyBpdHMgb3duIHN1cmZhY2Uvc2hhZG93OyB3ZSBvbmx5IHBvc2l0aW9uICsgYW5pbWF0ZS4gKi9cbi5pbmJveC1jdHgtYW5jaG9yIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR6LWluZGV4OiAxMDAwO1xuXHQuaW5ib3gtY3R4LW1lbnUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcblx0XHRhbmltYXRpb246IGluYm94LW1lbnUtaW4gMTQwbXMgZWFzZS1vdXQ7XG5cdH1cbn1cblxuLyogVG9vbGJhciBvdmVyZmxvdyBzd2FwOiB0aGUg4ouuIChhbmQgdGhlIGlubGluZSByb3csIG9uIHRoZSB3YXkgYmFjaykgZmFkZSArXG4gICBzY2FsZSBpbiBzbyB0aGUgZXllIGNhdGNoZXMgdGhlIGNoYW5nZSBpbnN0ZWFkIG9mIGEgaGFyZCBzbmFwLiBBcHBsaWVkIHZpYSBKU1xuICAgb25seSBvbiB0aGUgYWN0dWFsIGlubGluZeKHhG92ZXJmbG93IHRyYW5zaXRpb24gKHNlZSBmaXRUb29sYmFyKS4gKi9cbkBrZXlmcmFtZXMgaW5ib3gtb3ZlcmZsb3ctaW4ge1xuXHRmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB9XG5cdHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5Aa2V5ZnJhbWVzIGluYm94LWlubGluZS1pbiB7XG5cdGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuXHR0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG59XG4vKiBTZWNvbmRhcnnihpJhbGwgY29sbGFwc2U6IHRoZSDii64gaXMgYWxyZWFkeSB2aXNpYmxlLCBzbyBnaXZlIGl0IGEgdGlueSBwdWxzZVxuICAgdG8gc2lnbmFsIFwibW9yZSBtb3ZlZCBpbiBoZXJlXCIgcmF0aGVyIHRoYW4gcmUtcG9wcGluZyB0aGUgd2hvbGUgYnV0dG9uLiAqL1xuQGtleWZyYW1lcyBpbmJveC1vdmVyZmxvdy1wdWxzZSB7XG5cdDAlICAgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cdDQ1JSAgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMTgpOyB9XG5cdDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbi8qIFJlc3BlY3QgdXNlcnMgd2hvIHByZWZlciBsZXNzIG1vdGlvbjogZHJvcCBhbGwgaW5ib3ggZW50cmFuY2UgYW5pbWF0aW9ucy4gKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdC5hY3Rpb25zLXNlY3Rpb24sXG5cdC5pbmJveC1ib2R5LWhlYWRlcixcblx0LmluYm94LWJvZHktY29udGVudCxcblx0LmluYm94LW1lbnUtYW5jaG9yLmluYm94LW1lbnUtb3BlbiAuaW5ib3gtbWVudSxcblx0LmluYm94LW1zZy1zdGFnZ2VyIHtcblx0XHRhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG4vKiDilIDilIAgRW1wdHkgc3RhdGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuLyogUGFuZWwgMjogbWVzc2FnZS1saXN0IGVtcHR5IHN0YXRlICovXG4uaW5ib3gtZW1wdHkge1xuXHQvKiBkaXNwbGF5IHRvZ2dsZWQgdG8gZmxleCB2aWEgSlMgKi9cblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Z2FwOiAxNnB4O1xuXHRwYWRkaW5nOiA2NHB4IDI0cHggMDtcblx0bWluLWhlaWdodDogMzIwcHg7XG5cblx0LyogVGFyZ2V0IHRoZSBlbGVtZW50LCBub3QgYSBjbGFzczogcWRuYXByby1pbGx1c3RyYXRpb24gcmV3cml0ZXMgaXRzIG93blxuXHQgICBjbGFzcyBhdHRyaWJ1dGUgb24gcmVuZGVyLCBzbyBhIGN1c3RvbSBjbGFzcyB3b24ndCBzdXJ2aXZlLlxuXHQgICBUaGUgY29tcG9uZW50IHNpemVzIGJ5IFdJRFRIIG9ubHk7IHBvcnRyYWl0IGlsbHVzdHJhdGlvbnMgKGUuZy4gc2hhcmUpXG5cdCAgIHRoZW4gYmxvdyB1cCBpbiBoZWlnaHQuIENvbnN0cmFpbiBieSBib3RoIG1heC13aWR0aCBhbmQgbWF4LWhlaWdodCBzb1xuXHQgICBhbnkgYXNwZWN0IHJhdGlvIGZpdHMgdGhlIHNhbWUgYm94LiAqL1xuXHRxZG5hcHJvLWlsbHVzdHJhdGlvbiB7XG5cdFx0b3BhY2l0eTogMC42O1xuXHRcdC8qIFBpbiB0aGUgaGVpZ2h0LCBsZXQgd2lkdGggZm9sbG93IHRoZSBhc3BlY3QgcmF0aW8uIFJlbGlhYmxlIGZvclxuXHRcdCAgIGJvdGggbGFuZHNjYXBlIGFuZCBwb3J0cmFpdCBhcnQgKHRoZSBjb21wb25lbnQgb25seSBzaXplcyB3aWR0aCxcblx0XHQgICB3aGljaCBibG93cyB1cCB0YWxsIGlsbHVzdHJhdGlvbnMgbGlrZSBgc2hhcmVgKS4gKi9cblx0XHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRcdGhlaWdodDogMTkwcHggIWltcG9ydGFudDtcblxuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXHRcdFx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0LmluYm94LWVtcHR5LXRleHQge1xuXHRcdG1hcmdpbjogMDtcblx0XHRtYXgtd2lkdGg6IDI2MHB4O1xuXHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSwgIzZiNzI4MCk7XG5cdH1cbn1cblxuLyogUGFuZWwgMzogZGV0YWlsIGVtcHR5IHN0YXRlIChTaG93IGFsbCArIEhhbmRvdmVyKSAqL1xuLmluYm94LWRldGFpbC1lbXB0eSB7XG5cdC8qIGRpc3BsYXkgdG9nZ2xlZCB0byBmbGV4IHZpYSBKUyAqL1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nOiAyNHB4O1xuXHQvKiBQYW5lbCBzdGF5cyB3aGl0ZTsgdGhlIGVtcHR5LXN0YXRlIGNhcmQgdXNlcyBzdXJmYWNlPVwic29saWRcIlxuXHQgICAobGlnaHQtcHVycGxlKSBzbyBpdCByZWFkcyB3aXRob3V0IG5lZWRpbmcgYSB0aW50ZWQgYmFja2Ryb3AuICovXG5cblx0cWRuYXByby1pbGx1c3RyYXRpb24ge1xuXHRcdG9wYWNpdHk6IDAuNjtcblx0XHQvKiBQaW4gdGhlIGhlaWdodCwgd2lkdGggZm9sbG93cyBhc3BlY3QgcmF0aW8gKHNlZSBwYW5lbC0yIG5vdGUpLiAqL1xuXHRcdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0aGVpZ2h0OiAyMzBweCAhaW1wb3J0YW50O1xuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cblxuLyog4pSA4pSAIEZvcndhcmQgbW9kYWw6IHJlY2lwaWVudCBwaWNrZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAICovXG4vKiBIaWVyIHN0b25kIGAucWRuYXByby1tb2RhbCwgLnFkbmFwcm8tc2VsZWN0LXBvcG92ZXIgeyB6b29tOiAxICFpbXBvcnRhbnQgfWAgb20gZGUgY291bnRlci16b29tXG4gICB2YW4gMS4yNSB1aXQgYF9tb2RhbC5zY3NzYCB0ZSBuZXV0cmFsaXNlcmVuLiBUd2VlIHJlZGVuZW4gb20gaGVtIHdlZyB0ZSBoYWxlbiAoMjAyNi0wOC0wMyk6XG4gICBkZSBjb21tZW50IHplaSBcInBhZ2Utc2NvcGVkXCIgbWFhciBkZSBTRUxFQ1RPUiB3YXMgZGF0IG5pZXQg4oCUIGRlemUgcmVnZWwgZ29sZCBhcHAtYnJlZWQgZW5cbiAgIGJlcGFhbGRlIGR1cyBpbiBlbGsgc2NoZXJtIGRlIG1hYXQgdmFuIGVsayB2ZW5zdGVyOyBlbiBkZSAxLjI1IGRpZSBoaWogbmV1dHJhbGlzZWVyZGUgYmVzdGFhdFxuICAgbmlldCBtZWVyICh6aWUgZGUgdWl0bGVnIGluIGBjb21wb25lbnRzL3YyL21vZGFsL19tb2RhbC5zY3NzYCkuIE5ldHRvIHZlcmFuZGVydCBlciBuaWV0czogaGV0XG4gICB3YXMgMSwgZW4gaGV0IGJsaWpmdCAxLiAqL1xuXG4vKiBSZWNpcGllbnQgcGlja2VyIOKAlCBpZGVudGljYWwgdG8gdGhlIHByb2plY3QgXCJNYW5hZ2Vyc1wiIHBpY2tlciAocHYyLWJtLSopLlxuICAgVmFsdWVzIGNvcGllZCBmcm9tIHByb2plY3RzLXYyLmh0bWwgYW5kIHNjb3BlZCB0byB0aGUgZm9yd2FyZCBtb2RhbC4gKi9cbiNpbmJveC1mb3J3YXJkLW1vZGFsIHtcblx0LyogVGhlIGNhbmRpZGF0ZSBsaXN0IGlzIGFuIGFic29sdXRlIG92ZXJsYXkgZHJvcGRvd24gKGxpa2UgcHJvamVjdHMpLCBzbyB0aGVcblx0ICAgbW9kYWwgYm9keSBtdXN0IG5vdCBjbGlwIGl0OyByZXNlcnZlIGhlaWdodCBzbyBpdCBkb2Vzbid0IGNvdmVyIHRoZSBmb290ZXIuICovXG5cdC5tb2RhbC1ib2R5IHsgb3ZlcmZsb3c6IHZpc2libGU7IG1pbi1oZWlnaHQ6IDM2MHB4OyB9XG5cblx0LnB2Mi1ibSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTRweDsgfVxuXG5cdC5wdjItYm0tc3VidGl0bGUge1xuXHRcdG1hcmdpbjogMCAwIDJweDtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0Y29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzhhOGZhMyk7XG5cdH1cblxuXHQucHYyLWJtLXNlYXJjaC13cmFwIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cblx0LyogT3ZlcmxheSBkcm9wZG93biBjYXJkIGJlbG93IHRoZSBzZWFyY2ggZmllbGQuICovXG5cdC5wdjItYm0tcmVzdWx0cyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogY2FsYygxMDAlICsgNHB4KTtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHotaW5kZXg6IDMwO1xuXHRcdG1heC1oZWlnaHQ6IDI2MHB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2M0YzdjYztcblx0XHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdFx0Ly8gQ3Jpc3AgZHJvcGRvd24gc2hhZG93LCB0YWtlbiBmcm9tIHFkbmFwcm8tc2VsZWN0LXBvcG92ZXIuXG5cdFx0Ym94LXNoYWRvdzpcblx0XHRcdDAgMXB4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KSxcblx0XHRcdDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCk7XG5cdFx0cGFkZGluZzogNnB4O1xuXG5cdFx0JltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXHR9XG5cblx0LnB2Mi1ibS1yZXN1bHRzLWxpc3Qge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHRcdG1pbi1oZWlnaHQ6IDA7XG5cdFx0QGluY2x1ZGUgcWRuYS1zY3JvbGxiYXI7ICAgLy8gbW9kZXJuIG1pbmltYWwgaG92ZXItcmV2ZWFsIGJhclxuXHR9XG5cblx0LnB2Mi1ibS1yZXN1bHQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDEwcHg7XG5cdFx0cGFkZGluZzogNnB4IDhweDtcblx0XHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzLXZpc2libGUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJnLWhvdmVyLCAjZjNmNGZiKTsgb3V0bGluZTogbm9uZTsgfVxuXHR9XG5cblx0LnB2Mi1ibS1yZXN1bHQtY2hlY2sgeyBmbGV4OiAwIDAgYXV0bzsgfVxuXG5cdC5wdjItYm0tcmVzdWx0LXRleHQge1xuXHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdG1pbi13aWR0aDogMDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdH1cblxuXHQucHYyLWJtLXJlc3VsdC1uYW1lIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogdmFyKC0tYy10ZXh0LCAjMWMxZTJhKTsgfVxuXHQucHYyLWJtLXJlc3VsdC1yb2xlIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjOGE4ZmEzKTsgfVxuXHQucHYyLWJtLXJvdy15b3UgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1jLXRleHQtbXV0ZWQsICM4YThmYTMpOyBtYXJnaW4tbGVmdDogNHB4OyB9XG5cblx0LnB2Mi1ibS1yZXN1bHQtYWRkZWQge1xuXHRcdG9wYWNpdHk6IDAuNjtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0Jjpob3ZlciB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cdH1cblxuXHQucHYyLWJtLXJlc3VsdHMtZW1wdHkge1xuXHRcdHBhZGRpbmc6IDE0cHggMTBweDtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0Y29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzhhOGZhMyk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cblx0LnB2Mi1ibS1sb2FkaW5nIHtcblx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0Y29sb3I6IHZhcigtLWMtdGV4dC1tdXRlZCwgIzhhOGZhMyk7XG5cdH1cblxuXHQvKiBTZWxlY3RlZCByZWNpcGllbnRzIChzaG93biBiZWxvdyB0aGUgc2VhcmNoLCB1bmRlciB0aGUgb3ZlcmxheSBkcm9wZG93bikuICovXG5cdC5pbmJveC1mb3J3YXJkLXNlbGVjdGVkIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAycHg7XG5cdFx0bWF4LWhlaWdodDogMTY4cHg7XG5cdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRAaW5jbHVkZSBxZG5hLXNjcm9sbGJhcjtcblx0fVxuXHQuaW5ib3gtZm9yd2FyZC1zZWxlY3RlZC1yb3cge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDEwcHg7XG5cdFx0cGFkZGluZzogNXB4IDZweDtcblx0XHRib3JkZXItcmFkaXVzOiA4cHg7XG5cblx0XHQmOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYy1iZy1ob3ZlciwgI2YzZjRmYik7IH1cblx0fVxuXHQuaW5ib3gtZm9yd2FyZC1zZWxlY3RlZC1uYW1lIHtcblx0XHRmbGV4OiAxIDEgYXV0bztcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGNvbG9yOiB2YXIoLS1jLXRleHQsICMxYzFlMmEpO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0fVxuXHQuaW5ib3gtZm9yd2FyZC1zZWxlY3RlZC1yZW1vdmUge1xuXHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0d2lkdGg6IDI0cHg7XG5cdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1yYWRpdXM6IDZweDtcblx0XHRjb2xvcjogIzhhOGZhMztcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjBtcyBlYXNlLCBjb2xvciAxMjBtcyBlYXNlO1xuXG5cdFx0Jjpob3ZlciB7IGJhY2tncm91bmQ6ICNlY2VlZjU7IGNvbG9yOiAjYzAzOTJiOyB9XG5cdH1cblxuXHQvKiBcIlggc2VsZWN0ZWRcIiBjb3VudCwgcGlubmVkIHRvIHRoZSBmb290ZXIncyBsZWZ0IGNvcm5lci4gUG9zaXRpb25lZFxuXHQgICBhYnNvbHV0ZWx5IHNvIHRoZSBnbG9iYWwgLm1vZGFsLWZvb3RlciBtYXJnaW4gb3ZlcnJpZGUgY2FuJ3QgY2xvYmJlciBpdC4gKi9cblx0Lm1vZGFsLWZvb3RlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXHQuaW5ib3gtZm9yd2FyZC1jb3VudCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDI0cHg7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRjb2xvcjogdmFyKC0tYy10ZXh0LW11dGVkLCAjOGE4ZmEzKTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0fVxufVxuXG4vKiBQaWNrdXAgc3RhdHVzIGJhZGdlIGluIHRoZSBoYW5kb3ZlciBkZXRhaWwgKi9cbi5pbmJveC1waWNrdXAtc3RhdHVzIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogNnB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRwYWRkaW5nOiA0cHggMTBweDtcblxuXHQmLmlzLW9wZW4gICAgICB7IGNvbG9yOiAjOGE2ZDAwOyBiYWNrZ3JvdW5kOiAjZmZmNGQ2OyB9XG5cdCYuaXMtcGVuZGluZyAgIHsgY29sb3I6ICMyZjZmM2U7IGJhY2tncm91bmQ6ICNlM2Y0ZTk7IH1cblx0Ji5pcy1maW5pc2hlZCAgeyBjb2xvcjogIzNhNDI5MDsgYmFja2dyb3VuZDogI2U0ZTZmODsgfVxufVxuXG4vKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgIFJlc3BvbnNpdmUg4oCUIHBoYXNlZCByZXdvcmsgKGluZHVzdHJ5LXN0YW5kYXJkIGluYm94IHBhdHRlcm5zKVxuICAgUGhhc2UgMTogYnVsay1hY3Rpb24gdG9vbGJhciBvdmVyZmxvdyDii64gKyBlbXB0eS1zdGF0ZSBhcnQgb24gc21hbGwgc2NyZWVuc1xuICAgKFBoYXNlIDIgPSBjb2xsYXBzZSBBY3Rpdml0eSBzaWRlYmFyOyBQaGFzZSAzID0gbW9iaWxlIGRyaWxsLWRvd24uKVxuICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG5cbi8qIFRoZSBidWxrLWFjdGlvbiB0b29sYmFyIGNvbGxhcHNlcyBpbnRvIHRoZSDii64gb3ZlcmZsb3cgbWVudSB2aWEgSlMgb3ZlcmZsb3dcbiAgIGRldGVjdGlvbiAoZml0VG9vbGJhcigpKSB0aGUgbW9tZW50IHRoZSBpbmxpbmUgYnV0dG9ucyBubyBsb25nZXIgZml0IOKAlCBub1xuICAgbWFnaWMgYnJlYWtwb2ludC4gVGhlIHNlYXJjaCBib3ggc2NhbGVzIChmbGV4KSB0byBnaXZlIHRoZSBhY3Rpb25zIHJvb21cbiAgIGZpcnN0LiBTZWUgLnNlYXJjaC1zZWN0aW9uIC8gLmFjdGlvbnMtc2VjdGlvbiBhYm92ZSArIGZpdFRvb2xiYXIoKSBpbiBKUy4gKi9cblxuLyogRGV0YWlsIGVtcHR5LXN0YXRlIGNhcmRzIHJlZmxvdyBvbiB0aGUgUEFORUwgd2lkdGgsIG5vdCB0aGUgdmlld3BvcnQ6IGEgd2lkZVxuICAgd2luZG93IGNhbiBzdGlsbCBsZWF2ZSBhIG5hcnJvdyBkZXRhaWwgcGFuZWwsIHdoaWNoIHNxdWVlemVzIHRoZSAyLWNvbHVtblxuICAgZ3JpZCB1bnRpbCB0aGUgaWxsdXN0cmF0aW9uIG92ZXJsYXBzIHRoZSBjb3B5LiBDb250YWluZXIgcXVlcnkg4oaSIHdoZW4gdGhlIGNhcmRcbiAgIGlzIG5hcnJvdywgc3RhY2sgdGhlIGlsbHVzdHJhdGlvbiBCRUxPVyB0aGUgY2VudGVyZWQgY29weSAoZG9uJ3QgaGlkZSBpdCkuICovXG4uaW5ib3gtZGV0YWlsLWVtcHR5IHsgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplOyB9XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogNTIwcHgpIHtcblx0LmluYm94LWRldGFpbC1lbXB0eSAucWRuYXByby1lbXB0eS1zdGF0ZS5lbXB0eS1zdGF0ZS1leHRlbmRlZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcblx0fVxuXHQuaW5ib3gtZGV0YWlsLWVtcHR5IC5lbXB0eS1zdGF0ZS1leHRlbmRlZCAuZW1wdHktc3RhdGUtY29weSB7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRvcmRlcjogMTtcblx0fVxuXHQuaW5ib3gtZGV0YWlsLWVtcHR5IC5lbXB0eS1zdGF0ZS1leHRlbmRlZCAuZW1wdHktc3RhdGUtaWxsdXN0cmF0aW9uIHtcblx0XHRkaXNwbGF5OiBmbGV4OyAgICAgICAgICAvLyBvdmVycmlkZSB0aGUgY29tcG9uZW50J3Mgdmlld3BvcnQgPDk2MCBoaWRlXG5cdFx0b3JkZXI6IDI7XG5cdFx0bWFyZ2luLXRvcDogOHB4O1xuXHR9XG5cdC8vIFNtYWxsZXIgYXJ0IHdoZW4gc3RhY2tlZCBzbyBpdCBzdGF5cyBwcm9wb3J0aW9uYXRlIGluIGEgbmFycm93IGNhcmQuXG5cdC5pbmJveC1kZXRhaWwtZW1wdHkgLmVtcHR5LXN0YXRlLWlsbHVzdHJhdGlvbiBxZG5hcHJvLWlsbHVzdHJhdGlvbixcblx0LmluYm94LWRldGFpbC1lbXB0eSAuZW1wdHktc3RhdGUtaWxsdXN0cmF0aW9uIGltZyxcblx0LmluYm94LWRldGFpbC1lbXB0eSAuZW1wdHktc3RhdGUtaWxsdXN0cmF0aW9uIHN2ZyB7IG1heC13aWR0aDogMTgwcHg7IH1cbn1cblxuLyogUGFuZWwtMiAobGlzdCkgZW1wdHk6IGRyb3AgdGhlIGRlY29yYXRpdmUgYXJ0IG9uIG1vYmlsZSAocmV2aXNpdCBpbiBQaGFzZSAzKS4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkaW5ib3gtYnAtbW9iaWxlKSB7XG5cdC5pbmJveC1lbXB0eSBxZG5hcHJvLWlsbHVzdHJhdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbn1cblxuLyog4pSA4pSAIE5vdmEgbWVsZGluZy1hbmFseXNlIChtZWxkaW5nZW4tY2xhc3NpZmljYXRpZSBGYXNlIDQsIDIwMjYtMDctMTEpIOKUgOKUgFxuICAgS25vcC1zbG90IHJlY2h0c2JvdmVuIGluIGRlIGhhbmRvdmVyLWRldGFpbCArIGhldCBhbmFseXNlcGFuZWVsXG4gICAoc2FtZW52YXR0aW5nIC8gdG9vbiAvIGNsYXNzaWZpY2F0aWUtc3VnZ2VzdGllIC8gZGlzY2xhaW1lcikuICovXG4uaW5ib3gtbm92YS1idG4tc2xvdCB7XG5cdGZsZXg6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuLmluYm94LW5vdmEtcGFuZWwge1xuXHRiYWNrZ3JvdW5kOiAjZjVmM2ZmO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZTNkZWZhO1xuXHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRwYWRkaW5nOiAxNHB4IDE2cHg7XG5cdG1hcmdpbjogMTBweCAwIDE0cHg7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Y29sb3I6ICMyMjIwM2E7XG5cblx0Ji5pcy1sb2FkaW5nIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0Y29sb3I6ICM2YjY4ODQ7XG5cdFx0Lm1kaS1jcmVhdGlvbiB7IGNvbG9yOiAjN2M2ZmUwOyBhbmltYXRpb246IGluYm94LW5vdmEtcHVsc2UgMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfVxuXHR9XG5cblx0LmluYm94LW5vdmEtaGVhZCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogNnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Y29sb3I6ICM0ZjQ2YTU7XG5cdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRcdC5tZGkgeyBjb2xvcjogIzdjNmZlMDsgfVxuXHRcdC8qIFwiT3BuaWV1dyBhbmFseXNlcmVuXCIgKGZvcmNlKSByZWNodHMgaW4gZGUga29wICovXG5cdFx0LmpzLWluYm94LW5vdmEtcmVhbmFseXNlIHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblx0fVxuXHQuaW5ib3gtbm92YS1zdW1tYXJ5IHsgbWFyZ2luOiAwIDAgMTBweDsgd2hpdGUtc3BhY2U6IHByZS13cmFwOyB9XG5cdC5pbmJveC1ub3ZhLXJvdyB7IG1hcmdpbjogNHB4IDA7IH1cblx0LmluYm94LW5vdmEtbGFiZWwgeyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogIzRmNDZhNTsgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cblx0LmluYm94LW5vdmEtY2xhc3Mge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA1cHg7XG5cdFx0YmFja2dyb3VuZDogI2U5ZTZmYjtcblx0XHRjb2xvcjogIzRmNDZhNTtcblx0XHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0XHRwYWRkaW5nOiAycHggMTBweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdCYuaXMtbm9uZSB7IGJhY2tncm91bmQ6ICNlZWVkZjU7IGNvbG9yOiAjNmI2ODg0OyBmb250LXdlaWdodDogNDAwOyB9XG5cdH1cblx0LmluYm94LW5vdmEtcmF0aW9uYWxlIHsgY29sb3I6ICM2YjY4ODQ7IGZvbnQtc2l6ZTogMTIuNXB4OyBtYXJnaW4tdG9wOiA2cHg7IH1cblx0LmluYm94LW5vdmEtZGlzY2xhaW1lciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRnYXA6IDZweDtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdHBhZGRpbmctdG9wOiA4cHg7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlM2RlZmE7XG5cdFx0Y29sb3I6ICM2YjY4ODQ7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHQubWRpIHsgZmxleDogbm9uZTsgbWFyZ2luLXRvcDogMXB4OyB9XG5cdH1cbn1cbkBrZXlmcmFtZXMgaW5ib3gtbm92YS1wdWxzZSB7XG5cdDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgfVxuXHQ1MCUgeyBvcGFjaXR5OiAwLjM1OyB9XG59XG5cbi8qIOKUgOKUgCBDbGFzc2lmaWNhdGllLWJsb2sgKG1lbGRpbmdlbi1jbGFzc2lmaWNhdGllIEZhc2UgNSwgMjAyNi0wNy0xMSkg4pSA4pSAXG4gICBIdWlkaWcgcmVzdWx0YWF0IChjaGlwICsga2FucyArIHNjb3JlLWJhZGdlIGluIGJhbmRrbGV1ciArIGhlcmtvbXN0ICtcbiAgIEFJLWthbGlicmF0aWUtbWFya2VyKSBlbiBoZXQgaW5saW5lIGNsYXNzaWZpY2F0aWVmb3JtdWxpZXIgbWV0IGxpdmUgc2NvcmUuICovXG4uaW5ib3gtbWMge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZTZlNGYwO1xuXHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRwYWRkaW5nOiAxNHB4IDE2cHg7XG5cdG1hcmdpbjogMTBweCAwIDE0cHg7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Y29sb3I6ICMyMjIwM2E7XG5cblx0LmluYm94LW1jLWhlYWQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDZweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGNvbG9yOiAjNGY0NmE1O1xuXHRcdC5tZGkgeyBjb2xvcjogIzdjNmZlMDsgfVxuXHRcdHFkbmFwcm8tYnV0dG9uIHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblx0fVxuXHQuaW5ib3gtbWMtcmVzdWx0IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGdhcDogMTBweDtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG5cdC5pbmJveC1tYy1yZWMgeyBjb2xvcjogIzZiNjg4NDsgfVxuXHQuaW5ib3gtbWMtbWV0YSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRnYXA6IDRweCAxNHB4O1xuXHRcdG1hcmdpbi10b3A6IDhweDtcblx0XHRjb2xvcjogIzZiNjg4NDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdH1cblx0LmluYm94LW1jLWFpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogNHB4O1xuXHRcdC5tZGkgeyBjb2xvcjogIzdjNmZlMDsgfVxuXHRcdCYuaXMtbWF0Y2ggeyBjb2xvcjogIzJlN2QzMjsgfVxuXHRcdCYuaXMtZGV2aWF0ZWQgeyBjb2xvcjogI2IwNmUwMDsgfVxuXHR9XG5cdC5pbmJveC1tYy1lbXB0eSB7IG1hcmdpbi10b3A6IDhweDsgY29sb3I6ICM2YjY4ODQ7IH1cblx0LmluYm94LW1jLWZvcm0geyBtYXJnaW4tdG9wOiAxMnB4OyB9XG5cdC5pbmJveC1tYy1mb3JtLXJvdyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRnYXA6IDEycHg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdHFkbmFwcm8tc2VsZWN0IHsgZmxleDogMTsgbWluLXdpZHRoOiAyMjBweDsgfVxuXHR9XG5cdC5pbmJveC1tYy1mb3JtLWZvb3Qge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDhweDtcblx0XHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRcdC5pbmJveC1tYy1saXZlLXNjb3JlIHsgZmxleDogMTsgfVxuXHR9XG59XG5cbi8qIOKUgOKUgCBNZWxkaW5nLXNhbWVudmF0dGluZyAob3BlbmluZyB2YW4gaGV0IGJlcmljaHQsIDIwMjYtMDctMjApIOKUgOKUgFxuICAgRGUgcHJvbWluZW50ZSBPUEVOSU5HLCBvcCBkZSBwbGVrIG9uZGVyIGRlIHRha2VubGlqc3Qta29wOyBkZSBpbmdldnVsZGUgdmVsZGVuXG4gICBlcm9uZGVyIGJsaWp2ZW4gYWxzIFwiYmV3aWpzXCIuIEJld3VzdCB2aXN1ZWVsIEdFTElKSyBhYW4gLmluYm94LW5vdmEtcGFuZWxcbiAgICh6ZWxmZGUga2FhcnQgKyBmb250Z3Jvb3R0ZSkgdm9vciBjb25zaXN0ZW50aWUgdHVzc2VuIHNhbWVudmF0dGluZyBlbiBhbmFseXNlLlxuICAgSGV0IGJld2Vyay12ZWxkIGlzIGVlbiBlY2h0IHFkbmFwcm8taW5wdXQgKHR5cGU9ZXhwYW5kaW5nKSwgZ2VlbiB0ZXh0YXJlYS4gKi9cbi5pbmJveC1zdW1tYXJ5IHtcblx0YmFja2dyb3VuZDogI2Y1ZjNmZjtcblx0Ym9yZGVyOiAxcHggc29saWQgI2UzZGVmYTtcblx0Ym9yZGVyLXJhZGl1czogMTJweDtcblx0cGFkZGluZzogMTRweCAxNnB4O1xuXHRtYXJnaW46IDEwcHggMCAxNHB4O1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiAjMjIyMDNhO1xuXG5cdC5pbmJveC1zdW1tYXJ5LWhlYWQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDZweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGNvbG9yOiAjNGY0NmE1O1xuXHRcdC5tZGkgeyBjb2xvcjogIzdjNmZlMDsgfVxuXHR9XG5cdC5pbmJveC1zdW1tYXJ5LXRpdGxlIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA2cHg7XG5cdFx0ZmxleDogMTtcblx0XHRtaW4td2lkdGg6IDA7XG5cdH1cblx0LmluYm94LXN1bW1hcnktc3JjIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogM3B4O1xuXHRcdHBhZGRpbmc6IDFweCA4cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5cHg7XG5cdFx0YmFja2dyb3VuZDogI2U5ZTZmYjtcblx0XHRjb2xvcjogIzRmNDZhNTtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHQubWRpIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogIzRmNDZhNTsgfVxuXHR9XG5cdC5pbmJveC1zdW1tYXJ5LWFjdGlvbnMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDJweDtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRmbGV4LXNocmluazogMDtcblx0fVxuXHQuaW5ib3gtc3VtbWFyeS1ib2R5IHsgbWFyZ2luLXRvcDogOHB4OyB9XG5cdC5pbmJveC1zdW1tYXJ5LXRleHQge1xuXHRcdG1hcmdpbjogMDtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgICAgICAgICAgICAgLy8gYmV3YWFyIGRlIHJlZ2VsYWZicmVraW5nZW4gdmFuIGRlIHNhbWVudmF0dGluZ1xuXHR9XG5cdC5pbmJveC1zdW1tYXJ5LW1ldGEge1xuXHRcdG1hcmdpbi10b3A6IDhweDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Y29sb3I6ICM2YjY4ODQ7XG5cdH1cblx0Ji5pcy1jb2xsYXBzZWQgLmluYm94LXN1bW1hcnktYm9keSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXHQuaW5ib3gtc3VtbWFyeS1hZGQge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA2cHg7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZzogMDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Y29sb3I6ICM0ZjQ2YTU7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Lm1kaSB7IGZvbnQtc2l6ZTogMThweDsgfVxuXHRcdCY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXHR9XG5cblx0LmluYm94LXN1bW1hcnktaW5wdXQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbi10b3A6IDhweDtcblx0fVxuXHQuaW5ib3gtc3VtbWFyeS1mb3JtLWZvb3Qge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDhweDtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdC5pbmJveC1zdW1tYXJ5LXNwYWNlciB7IGZsZXg6IDE7IH1cblx0fVxufVxuXG4vKiDilIDilIAgSW5jaWRlbnRhbmFseXNlLWJsb2sgKFBSSVNNQS9TSVJFIGZhc2UgMSwgMjAyNi0wNy0yMCkg4pSA4pSAXG4gICBSb3V0ZXItYWR2aWVzICsgU3RhcnQta25vcCwgb2YgZGUgYmVzdGFhbmRlIGFuYWx5c2UgKG1ldGhvZGUtY2hpcCArIHN0YXR1cyArXG4gICBkZWVwLWxpbmsgbmFhciBoZXQgd29ya2JlbmNoIG9wIGhldCBtZWxkaW5nZW4tZGFzaGJvYXJkKS4gWmVsZmRlIGthYXJ0LWlkaW9vbVxuICAgYWxzIC5pbmJveC1tYyBlcmJvdmVuLiAqL1xuLmluYm94LWlhIHtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0Ym9yZGVyOiAxcHggc29saWQgI2U2ZTRmMDtcblx0Ym9yZGVyLXJhZGl1czogMTJweDtcblx0cGFkZGluZzogMTRweCAxNnB4O1xuXHRtYXJnaW46IDEwcHggMCAxNHB4O1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiAjMjIyMDNhO1xuXG5cdC5pbmJveC1pYS1oZWFkIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA2cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRjb2xvcjogIzRmNDZhNTtcblx0XHQubWRpIHsgY29sb3I6ICM3YzZmZTA7IH1cblx0fVxuXHQuaW5ib3gtaWEtcm93IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGdhcDogMTBweDtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdHFkbmFwcm8tYnV0dG9uIHsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblx0fVxuXHQuaW5ib3gtaWEtc3RhdHVzIHsgY29sb3I6ICM2YjY4ODQ7IH1cblx0LmluYm94LWlhLXNyYyB7IGNvbG9yOiAjNmI2ODg0OyBmb250LXNpemU6IDEycHg7IH1cblx0LmluYm94LWlhLW9wZW4ge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdGNvbG9yOiAjNGY0NmE1O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdCY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXHR9XG5cdC5pbmJveC1pYS1tdXRlZCB7IG1hcmdpbi10b3A6IDhweDsgY29sb3I6ICM2YjY4ODQ7IH1cbn1cblxuLyog4pSA4pSAIENsYXNzaWZpY2F0aWVtYXBwZW4gaW4gZGUgc2lkZWJhci10cmVlIChtZWxkaW5nZW4tY2xhc3NpZmljYXRpZSBGYXNlIDYpIOKUgOKUgFxuICAgU3RhdHVzLXJpaiBtZXQgdWl0a2xhcC1jaGV2cm9uICsgZ2VuZXN0ZSBzdWJsaWpzdDogcGVyIHNldCBlZW4gdmV0dGUga29wLCBkZVxuICAgY2xhc3NpZmljYXRpZXMgZW4gXCJPbmdlY2xhc3NpZmljZWVyZFwiLiBCb3V3dCB2b29ydCBvcCAuc2lkZWJhci1pdGVtLiAqL1xuLmxlZnQtc2lkZWJhciB7XG5cdC5jbHMtc3RhdHVzLXJvdyB7XG5cdFx0Ly8gY2hldnJvbiBuZWVtdCBkZSBlZXJzdGUga29sb207IGdlZW4gMjhweCBpbnNwcmluZyBtZWVyIG5vZGlnXG5cdFx0cGFkZGluZy1sZWZ0OiA4cHg7XG5cdFx0LmNscy1jb2xsYXBzZS1idG4ge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgLjEycztcblx0XHRcdCY6aG92ZXIgeyBjb2xvcjogJGNvbG9yOyB9XG5cdFx0fVxuXHRcdC5jbHMtY29sbGFwc2Utc3BhY2VyIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cdH1cblx0LmNscy1zdWItbGlzdCB7XG5cdFx0Ly8gc3VidGllbGUgaW5zcHJpbmdlbmRlIGJvb21zdHJ1Y3R1dXJcblx0XHRtYXJnaW46IDJweCAwIDRweDtcblx0fVxuXHQuY2xzLXNldC1oZWFkZXIge1xuXHRcdHBhZGRpbmc6IDZweCA4cHggM3B4IDMwcHg7XG5cdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRsZXR0ZXItc3BhY2luZzogLjAzZW07XG5cdFx0Y29sb3I6ICRjb2xvcl85O1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0fVxuXHQuY2xzLWl0ZW0ge1xuXHRcdC8vIGRpZXBlciBpbmdlc3Byb25nZW4gZGFuIGVlbiBnZXdvbmUgc2lkZWJhci1pdGVtICh3YXMgMjhweClcblx0XHRwYWRkaW5nLWxlZnQ6IDQycHg7XG5cdFx0Zm9udC1zaXplOiAxMS41cHg7XG5cdFx0Ji5jbHMtaXRlbS11bmNsYXNzaWZpZWQgaSxcblx0XHQmLmNscy1pdGVtLXVuY2xhc3NpZmllZCAuc2lkZWJhci1pdGVtLWxhYmVsIHsgY29sb3I6ICRjb2xvcl85OyB9XG5cdH1cbn1cbiIsIlxuXG4jcHJvamVjdC1jb250ZW50LWluZm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA0OTlBXG59XG5cbiNwcm9qZWN0LWNvbnRlbnQtaW5mby1tYW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuI3Byb2plY3QtY29udGVudC1pbmZvLWRldGFpbHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2MiU7XG4gICAgbGVmdDogNDUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHdpZHRoOiA0MCU7XG59XG5cbi5saWdodGJ1bGItaWNvbiB7XG4gICAgd2lkdGg6IDI1JTtcbn1cblxuLmVzc2VudGlhbHMtYnV0dG9uIHtcbiAgICBwYWRkaW5nOiA0cHggMTJweCA0cHggNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQwNDk5YSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZjFmMWYxO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2lyY2xlLWNvdW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFFMjA1QztcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByb2plY3QtY29udGVudC1yb3cge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBnYXA6IDE2cHg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgLmNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ucHJvamVjdC1jb250ZW50LWNvbCB7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbn1cblxuLnR4dC12dy0yIHtcbiAgICBmb250LXNpemU6IDJ2bWluO1xufVxuXG4udHh0LXZ3LTMge1xuICAgIGZvbnQtc2l6ZTogM3ZtaW47XG59XG5cbi5jdXN0b20tdGV4dC1ibHVlIHtcbiAgICBjb2xvcjogIzQwNDk5QTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hYmNkIHtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgLnRzLXByaW1hcnktYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MDQ5OUEgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG4uZGVmIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgbWluLWhlaWdodDogMTI0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjNDA0OTlBO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXg6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubW9kYWwtYmFja2Ryb3Age1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLnZhbGlkYXRlLWVycm9yIHtcbiAgICBjb2xvcjogcmVkO1xufVxuXG5cblxuLnRzLXNvcnQtcGxhY2Vob2xkZXIge1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjYzFjMWMxO1xuICAgIGhlaWdodDogNzVweDtcbiAgICBtYXJnaW46IDE1cHggMDtcbn0iLCIjaG9tZSB7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0LmJsb2Nrc19iYWNrZ3JvdW5kIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHRcdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdH1cbiAgICAuYmxvY2tfaGVhZGluZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfSAgICBcblx0LmRldGFpbF9ibG9jayB7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRwYWRkaW5nOiAyNHB4IDMycHg7XG5cdFx0Ji10aXRsZSB7XG5cdFx0XHRmb250LXNpemU6IDI1cHg7XG5cdFx0ICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0fVxuXHRcdCYtZGVzY3JpcHRpb24ge1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdH1cbiAgICAgICAgJi11c2VyX2RldGFpbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogOHB4OyBcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogNzJweDtcbiAgICAgICAgICAgICYtaW5mbyB7ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogMzZweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5ibG9ja19oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXHR9XG4gICAgXG4gICAgLnByb2plY3RfY291bnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgICYtY29scyB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgIH1cbiAgICAgICAgLnN0YXJfYmxvY2sge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDBweDtcbiAgICAgICAgICAgICYtZGV0YWlsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM0MDQ5OWE7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCAyNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLWJvZHkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi1zdGFycyB7fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtY291bnQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDsgXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFzc2VzbWVudF9ibG9jayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcGFkZGluZzogMHB4IDE2cHg7XG4gICAgICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHggMjRweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzQwNDk5YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtYm9keSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDI0cHg7XG4gICAgICAgICAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi1jb3VudCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JhcGhfY29udGFpbmVyIHtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgICAgICBjb2xvcjogIzQwNDk5YTtcbiAgICAgICAgfVxuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCA4cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8g4pSA4pSAIE92ZXJ2aWV3IHBhZ2UgKG92ZXJ2aWV3Lmh0bWwudHdpZykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBHZW5lcmljIG92ZXJ2aWV3IHBvd2VyZWQgYnkgRGF0YU92ZXJ2aWV3ICsgcWRuYXByby10YWJsZS5cbi8vIEJFTS1hY2h0aWdlIG5hYW1nZXZpbmc6IC5vdi0qIChvdmVydmlldyBuYW1lc3BhY2UpLlxuXG4kb3YtZWFzaW5nIDogY3ViaWMtYmV6aWVyKC40LCAwLCAuMiwgMSk7XG4kb3Ytc2lkZWJhci13aWR0aCA6IDI2MHB4O1xuJG92LXNpZGViYXItcmFkaXVzIDogMTJweDtcbiRvdi10cmFuc2l0aW9uIDogMjIwbXMgJG92LWVhc2luZztcblxuLy8g4pSA4pSAIFJvb3Qg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5vdi1yb290IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNTZweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vLyDilIDilIAgQm9keSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLm92LWJvZHkge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDAgOHB4O1xufVxuXG4vLyDilIDilIAgQ3RybCBiYXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5vdi1jdHJsLWJhciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMDtcbiAgICBwYWRkaW5nOiA4cHggMCA2cHg7XG4gICAgdHJhbnNpdGlvbjogZ2FwICRvdi10cmFuc2l0aW9uO1xufVxuXG4vLyBTaWRlYmFyIGhlYWRlciDigJQgY29sbGFwc2VkIGJ5IGRlZmF1bHQsIHNsaWRlcyBvcGVuXG4ub3YtY3RybC1zaWRlYmFyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRvdi1zaWRlYmFyLXJhZGl1cztcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICB3aWR0aCAgICAgICAgICAkb3YtdHJhbnNpdGlvbixcbiAgICAgICAgYm9yZGVyLXJhZGl1cyAgJG92LXRyYW5zaXRpb247XG59XG5cbi5vdi1jdHJsLXNpZGViYXItaW5uZXIge1xuICAgIHdpZHRoOiAkb3Ytc2lkZWJhci13aWR0aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgcGFkZGluZzogMCA2cHggMCAxMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMzNzQxNTE7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ub3YtY3RybC1zaWRlYmFyLXRpdGxlIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLy8gU2VhcmNoIGJhclxuLm92LWN0cmwtc2VhcmNoIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG5cbiAgICBxZG5hcHJvLWlucHV0IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxufVxuXG4vLyDilIDilIAgV29ya3NwYWNlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4ub3Ytd29ya3NwYWNlIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG59XG5cbi8vIFNpZGViYXIgcGFuZWxcbi5vdi1zaWRlYmFyLXdyYXAge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRvdi1zaWRlYmFyLXJhZGl1cztcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICB3aWR0aCAgICAgICAgICAkb3YtdHJhbnNpdGlvbixcbiAgICAgICAgYm9yZGVyLXJhZGl1cyAgJG92LXRyYW5zaXRpb24sXG4gICAgICAgIG1hcmdpbi1yaWdodCAgICRvdi10cmFuc2l0aW9uLFxuICAgICAgICBtYXJnaW4tdG9wICAgICAkb3YtdHJhbnNpdGlvbjtcblxuICAgIHFkbmFwcm8tc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAkb3Ytc2lkZWJhci13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cblxuLy8g4pSA4pSAIENvbnRlbnQgY2FyZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLm92LWNvbnRlbnQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogJG92LXNpZGViYXItcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIFBhbmVsIGhlYWRlclxuLm92LXBhbmVsLWhlYWRlciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZjFmMjtcbn1cblxuLm92LXBhbmVsLWhlYWRlci1sZWZ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5vdi1wYW5lbC1oZWFkZXItcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbn1cblxuLm92LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzM3NDE1MTtcbn1cblxuLm92LWNvdW50IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzZiNzI4MDtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAycHggN3B4O1xufVxuXG4vLyBUYWJsZSBhcmVhXG4ub3YtdGFibGUtYXJlYSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBxZG5hcHJvLXRhYmxlIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxufVxuXG4vLyDilIDilIAgQWN0aXZlIGJ1dHRvbiBzdGF0ZSAodmlldyB0b2dnbGUsIGV0Yy4pIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4ub3YtYnRuLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUtNTAsICNlNmU5ZmYpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICAgICAgIHZhcigtLWMtcHVycGxlLTUwMCwgIzQwNDk5YSkgIWltcG9ydGFudDtcbn1cblxuLy8g4pSA4pSAIEZvb3RlciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLm92LWZvb3RlciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xufVxuXG4vLyDilIDilIAgU3RhdGU6IHNpZGViYXIgb3BlbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLm92LXJvb3Quc2lkZWJhci1vcGVuIHtcbiAgICAub3YtY3RybC1iYXIgICAgICB7IGdhcDogOHB4OyB9XG4gICAgLm92LWN0cmwtc2lkZWJhciAgeyB3aWR0aDogJG92LXNpZGViYXItd2lkdGg7IGJvcmRlci1yYWRpdXM6ICRvdi1zaWRlYmFyLXJhZGl1cyAkb3Ytc2lkZWJhci1yYWRpdXMgMCAwOyBwYWRkaW5nOiA0cHg7IH1cbiAgICAub3Ytc2lkZWJhci13cmFwICB7IHdpZHRoOiAkb3Ytc2lkZWJhci13aWR0aDsgYm9yZGVyLXJhZGl1czogMCAwICRvdi1zaWRlYmFyLXJhZGl1cyAkb3Ytc2lkZWJhci1yYWRpdXM7IG1hcmdpbi1yaWdodDogOHB4OyBtYXJnaW4tdG9wOiAtNnB4OyB9XG59XG5cbi8vIOKUgOKUgCBTdGF0ZTogc2lkZWJhciBjb2xsYXBzZWQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5vdi1yb290LnNpZGViYXItY29sbGFwc2VkIHtcbiAgICAub3YtY3RybC1iYXIgICAgICB7IGdhcDogOHB4OyB9XG4gICAgLm92LWN0cmwtc2lkZWJhciAgeyB3aWR0aDogJG92LXNpZGViYXItd2lkdGg7IHBhZGRpbmc6IDRweDsgfVxufVxuIiwiLmFsZXJ0Lm1kaTo6YmVmb3JlLFxuLmJyZWFkY3J1bWIgLm1kaTo6YmVmb3JlLFxuLmJ0bi5tZGk6OmJlZm9yZSxcbi5jYXJkLXRpdGxlLm1kaTo6YmVmb3JlLFxuLmNhcmQtc3VidGl0bGUubWRpOjpiZWZvcmUsXG4uY2FyZC1saW5rLm1kaTo6YmVmb3JlLFxuLmRyb3Bkb3duLWl0ZW0ubWRpOjpiZWZvcmUsXG4ubGlzdC1ncm91cC1pdGVtLm1kaTo6YmVmb3JlLFxuLm5hdi1saW5rLm1kaTo6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjA5cmVtO1xufVxuLmFsZXJ0Lm1kaTo6YmVmb3JlLFxuLmJyZWFkY3J1bWIgLm1kaTpub3QoOmVtcHR5KTo6YmVmb3JlLFxuLmJ0bi5tZGk6bm90KDplbXB0eSk6OmJlZm9yZSxcbi5jYXJkLXRpdGxlLm1kaTpub3QoOmVtcHR5KTo6YmVmb3JlLFxuLmNhcmQtc3VidGl0bGUubWRpOm5vdCg6ZW1wdHkpOjpiZWZvcmUsXG4uY2FyZC1saW5rLm1kaTpub3QoOmVtcHR5KTo6YmVmb3JlLFxuLmRyb3Bkb3duLWl0ZW0ubWRpOm5vdCg6ZW1wdHkpOjpiZWZvcmUsXG4ubmF2LWxpbmsubWRpOm5vdCg6ZW1wdHkpOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0ubWRpOm5vdCg6ZW1wdHkpOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuLmRyb3Bkb3duLWl0ZW0ubWRpOm5vdCg6ZW1wdHkpOjpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbn1cbi5hbGVydC5tZGk6OmJlZm9yZSxcbi5saXN0LWdyb3VwLWl0ZW0ubWRpOm5vdCg6ZW1wdHkpOjpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xufVxuLm1vZGFsLXRpdGxlLm1kaTo6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC4yNnJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn0iLCJmaWVsZHNldFtkaXNhYmxlZF0gLm11bHRpc2VsZWN0e3BvaW50ZXItZXZlbnRzOm5vbmV9Lm11bHRpc2VsZWN0X19zcGlubmVye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFweDt0b3A6MXB4O3dpZHRoOjQ4cHg7aGVpZ2h0OjM1cHg7YmFja2dyb3VuZDojZmZmO2Rpc3BsYXk6YmxvY2t9Lm11bHRpc2VsZWN0X19zcGlubmVyOmFmdGVyLC5tdWx0aXNlbGVjdF9fc3Bpbm5lcjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDpcIlwiO3RvcDo1MCU7bGVmdDo1MCU7bWFyZ2luOi04cHggMCAwIC04cHg7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjEwMCU7Ym9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wLWNvbG9yOiM0MWI4ODM7Ym94LXNoYWRvdzowIDAgMCAxcHggdHJhbnNwYXJlbnR9Lm11bHRpc2VsZWN0X19zcGlubmVyOmJlZm9yZXthbmltYXRpb246c3Bpbm5pbmcgMi40cyBjdWJpYy1iZXppZXIoLjQxLC4yNiwuMiwuNjIpO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGV9Lm11bHRpc2VsZWN0X19zcGlubmVyOmFmdGVye2FuaW1hdGlvbjpzcGlubmluZyAyLjRzIGN1YmljLWJlemllciguNTEsLjA5LC4yMSwuOCk7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZX0ubXVsdGlzZWxlY3RfX2xvYWRpbmctZW50ZXItYWN0aXZlLC5tdWx0aXNlbGVjdF9fbG9hZGluZy1sZWF2ZS1hY3RpdmV7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBlYXNlLWluLW91dDtvcGFjaXR5OjF9Lm11bHRpc2VsZWN0X19sb2FkaW5nLWVudGVyLC5tdWx0aXNlbGVjdF9fbG9hZGluZy1sZWF2ZS1hY3RpdmV7b3BhY2l0eTowfS5tdWx0aXNlbGVjdCwubXVsdGlzZWxlY3RfX2lucHV0LC5tdWx0aXNlbGVjdF9fc2luZ2xle2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjE2cHg7LW1zLXRvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbn0ubXVsdGlzZWxlY3R7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7bWluLWhlaWdodDo0MHB4O3RleHQtYWxpZ246bGVmdDtjb2xvcjojMzU0OTVlfS5tdWx0aXNlbGVjdCAqe2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubXVsdGlzZWxlY3Q6Zm9jdXN7b3V0bGluZTpub25lfS5tdWx0aXNlbGVjdC0tZGlzYWJsZWR7YmFja2dyb3VuZDojZWRlZGVkO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTouNn0ubXVsdGlzZWxlY3QtLWFjdGl2ZXt6LWluZGV4OjUwfS5tdWx0aXNlbGVjdC0tYWN0aXZlOm5vdCgubXVsdGlzZWxlY3QtLWFib3ZlKSAubXVsdGlzZWxlY3RfX2N1cnJlbnQsLm11bHRpc2VsZWN0LS1hY3RpdmU6bm90KC5tdWx0aXNlbGVjdC0tYWJvdmUpIC5tdWx0aXNlbGVjdF9faW5wdXQsLm11bHRpc2VsZWN0LS1hY3RpdmU6bm90KC5tdWx0aXNlbGVjdC0tYWJvdmUpIC5tdWx0aXNlbGVjdF9fdGFnc3tib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0ubXVsdGlzZWxlY3QtLWFjdGl2ZSAubXVsdGlzZWxlY3RfX3NlbGVjdHt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9Lm11bHRpc2VsZWN0LS1hYm92ZS5tdWx0aXNlbGVjdC0tYWN0aXZlIC5tdWx0aXNlbGVjdF9fY3VycmVudCwubXVsdGlzZWxlY3QtLWFib3ZlLm11bHRpc2VsZWN0LS1hY3RpdmUgLm11bHRpc2VsZWN0X19pbnB1dCwubXVsdGlzZWxlY3QtLWFib3ZlLm11bHRpc2VsZWN0LS1hY3RpdmUgLm11bHRpc2VsZWN0X190YWdze2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5tdWx0aXNlbGVjdF9faW5wdXQsLm11bHRpc2VsZWN0X19zaW5nbGV7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWluLWhlaWdodDoyMHB4O2xpbmUtaGVpZ2h0OjIwcHg7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo1cHg7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6MCAwIDAgNXB4O3dpZHRoOjEwMCU7dHJhbnNpdGlvbjpib3JkZXIgLjFzIGVhc2U7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbi1ib3R0b206OHB4O3ZlcnRpY2FsLWFsaWduOnRvcH0ubXVsdGlzZWxlY3RfX2lucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojMzU0OTVlfS5tdWx0aXNlbGVjdF9faW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOiMzNTQ5NWV9Lm11bHRpc2VsZWN0X190YWd+Lm11bHRpc2VsZWN0X19pbnB1dCwubXVsdGlzZWxlY3RfX3RhZ34ubXVsdGlzZWxlY3RfX3NpbmdsZXt3aWR0aDphdXRvfS5tdWx0aXNlbGVjdF9faW5wdXQ6aG92ZXIsLm11bHRpc2VsZWN0X19zaW5nbGU6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNjZmNmY2Z9Lm11bHRpc2VsZWN0X19pbnB1dDpmb2N1cywubXVsdGlzZWxlY3RfX3NpbmdsZTpmb2N1c3tib3JkZXItY29sb3I6I2E4YThhODtvdXRsaW5lOm5vbmV9Lm11bHRpc2VsZWN0X19zaW5nbGV7cGFkZGluZy1sZWZ0OjVweDttYXJnaW4tYm90dG9tOjhweH0ubXVsdGlzZWxlY3RfX3RhZ3Mtd3JhcHtkaXNwbGF5OmlubGluZX0ubXVsdGlzZWxlY3RfX3RhZ3N7bWluLWhlaWdodDo0MHB4O2Rpc3BsYXk6YmxvY2s7cGFkZGluZzo4cHggNDBweCAwIDhweDtib3JkZXItcmFkaXVzOjVweDtib3JkZXI6MXB4IHNvbGlkICNlOGU4ZTg7YmFja2dyb3VuZDojZmZmO2ZvbnQtc2l6ZToxNHB4fS5tdWx0aXNlbGVjdF9fdGFne3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6NHB4IDI2cHggNHB4IDEwcHg7Ym9yZGVyLXJhZGl1czo1cHg7bWFyZ2luLXJpZ2h0OjEwcHg7Y29sb3I6I2ZmZjtsaW5lLWhlaWdodDoxO2JhY2tncm91bmQ6IzQxYjg4MzttYXJnaW4tYm90dG9tOjVweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO21heC13aWR0aDoxMDAlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lm11bHRpc2VsZWN0X190YWctaWNvbntjdXJzb3I6cG9pbnRlcjttYXJnaW4tbGVmdDo3cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtib3R0b206MDtmb250LXdlaWdodDo3MDA7Zm9udC1zdHlsZTpub3JtYWw7d2lkdGg6MjJweDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoyMnB4O3RyYW5zaXRpb246YWxsIC4ycyBlYXNlO2JvcmRlci1yYWRpdXM6NXB4fS5tdWx0aXNlbGVjdF9fdGFnLWljb246YWZ0ZXJ7Y29udGVudDpcIlxcRDdcIjtjb2xvcjojMjY2ZDRkO2ZvbnQtc2l6ZToxNHB4fS5tdWx0aXNlbGVjdF9fdGFnLWljb246Zm9jdXMsLm11bHRpc2VsZWN0X190YWctaWNvbjpob3ZlcntiYWNrZ3JvdW5kOiMzNjlhNmV9Lm11bHRpc2VsZWN0X190YWctaWNvbjpmb2N1czphZnRlciwubXVsdGlzZWxlY3RfX3RhZy1pY29uOmhvdmVyOmFmdGVye2NvbG9yOiNmZmZ9Lm11bHRpc2VsZWN0X19jdXJyZW50e21pbi1oZWlnaHQ6NDBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzo4cHggMzBweCAwIDEycHg7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci1yYWRpdXM6NXB4O2JvcmRlcjoxcHggc29saWQgI2U4ZThlOH0ubXVsdGlzZWxlY3RfX2N1cnJlbnQsLm11bHRpc2VsZWN0X19zZWxlY3R7bGluZS1oZWlnaHQ6MTZweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jazttYXJnaW46MDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcn0ubXVsdGlzZWxlY3RfX3NlbGVjdHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0MHB4O2hlaWdodDozOHB4O3JpZ2h0OjFweDt0b3A6MXB4O3BhZGRpbmc6NHB4IDhweDt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgZWFzZX0ubXVsdGlzZWxlY3RfX3NlbGVjdDpiZWZvcmV7cG9zaXRpb246cmVsYXRpdmU7cmlnaHQ6MDt0b3A6NjUlO2NvbG9yOiM5OTk7bWFyZ2luLXRvcDo0cHg7Ym9yZGVyLWNvbG9yOiM5OTkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDo1cHggNXB4IDA7Y29udGVudDpcIlwifS5tdWx0aXNlbGVjdF9fcGxhY2Vob2xkZXJ7Y29sb3I6I2FkYWRhZDtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOjEwcHg7cGFkZGluZy10b3A6MnB4fS5tdWx0aXNlbGVjdC0tYWN0aXZlIC5tdWx0aXNlbGVjdF9fcGxhY2Vob2xkZXJ7ZGlzcGxheTpub25lfS5tdWx0aXNlbGVjdF9fY29udGVudC13cmFwcGVye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojZmZmO3dpZHRoOjEwMCU7bWF4LWhlaWdodDoyNDBweDtvdmVyZmxvdzphdXRvO2JvcmRlcjoxcHggc29saWQgI2U4ZThlODtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo1cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NXB4O3otaW5kZXg6NTA7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9Lm11bHRpc2VsZWN0X19jb250ZW50e2xpc3Qtc3R5bGU6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjA7bWFyZ2luOjA7bWluLXdpZHRoOjEwMCU7dmVydGljYWwtYWxpZ246dG9wfS5tdWx0aXNlbGVjdC0tYWJvdmUgLm11bHRpc2VsZWN0X19jb250ZW50LXdyYXBwZXJ7Ym90dG9tOjEwMCU7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo1cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NXB4O2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItdG9wOjFweCBzb2xpZCAjZThlOGU4fS5tdWx0aXNlbGVjdF9fY29udGVudDo6d2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9Lm11bHRpc2VsZWN0X19lbGVtZW50e2Rpc3BsYXk6YmxvY2t9Lm11bHRpc2VsZWN0X19vcHRpb257ZGlzcGxheTpibG9jaztwYWRkaW5nOjEycHg7bWluLWhlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjE2cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwfS5tdWx0aXNlbGVjdF9fb3B0aW9uOmFmdGVye3RvcDowO3JpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7bGluZS1oZWlnaHQ6NDBweDtwYWRkaW5nLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjIwcHg7Zm9udC1zaXplOjEzcHh9Lm11bHRpc2VsZWN0X19vcHRpb24tLWhpZ2hsaWdodHtiYWNrZ3JvdW5kOiM0MWI4ODM7b3V0bGluZTpub25lO2NvbG9yOiNmZmZ9Lm11bHRpc2VsZWN0X19vcHRpb24tLWhpZ2hsaWdodDphZnRlcntjb250ZW50OmF0dHIoZGF0YS1zZWxlY3QpO2JhY2tncm91bmQ6IzQxYjg4Mztjb2xvcjojZmZmfS5tdWx0aXNlbGVjdF9fb3B0aW9uLS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiNmM2YzZjM7Y29sb3I6IzM1NDk1ZTtmb250LXdlaWdodDo3MDB9Lm11bHRpc2VsZWN0X19vcHRpb24tLXNlbGVjdGVkOmFmdGVye2NvbnRlbnQ6YXR0cihkYXRhLXNlbGVjdGVkKTtjb2xvcjpzaWx2ZXJ9Lm11bHRpc2VsZWN0X19vcHRpb24tLXNlbGVjdGVkLm11bHRpc2VsZWN0X19vcHRpb24tLWhpZ2hsaWdodHtiYWNrZ3JvdW5kOiNmZjZhNmE7Y29sb3I6I2ZmZn0ubXVsdGlzZWxlY3RfX29wdGlvbi0tc2VsZWN0ZWQubXVsdGlzZWxlY3RfX29wdGlvbi0taGlnaGxpZ2h0OmFmdGVye2JhY2tncm91bmQ6I2ZmNmE2YTtjb250ZW50OmF0dHIoZGF0YS1kZXNlbGVjdCk7Y29sb3I6I2ZmZn0ubXVsdGlzZWxlY3QtLWRpc2FibGVkIC5tdWx0aXNlbGVjdF9fY3VycmVudCwubXVsdGlzZWxlY3QtLWRpc2FibGVkIC5tdWx0aXNlbGVjdF9fc2VsZWN0e2JhY2tncm91bmQ6I2VkZWRlZDtjb2xvcjojYTZhNmE2fS5tdWx0aXNlbGVjdF9fb3B0aW9uLS1kaXNhYmxlZHtiYWNrZ3JvdW5kOiNlZGVkZWQhaW1wb3J0YW50O2NvbG9yOiNhNmE2YTYhaW1wb3J0YW50O2N1cnNvcjp0ZXh0O3BvaW50ZXItZXZlbnRzOm5vbmV9Lm11bHRpc2VsZWN0X19vcHRpb24tLWdyb3Vwe2JhY2tncm91bmQ6I2VkZWRlZDtjb2xvcjojMzU0OTVlfS5tdWx0aXNlbGVjdF9fb3B0aW9uLS1ncm91cC5tdWx0aXNlbGVjdF9fb3B0aW9uLS1oaWdobGlnaHR7YmFja2dyb3VuZDojMzU0OTVlO2NvbG9yOiNmZmZ9Lm11bHRpc2VsZWN0X19vcHRpb24tLWdyb3VwLm11bHRpc2VsZWN0X19vcHRpb24tLWhpZ2hsaWdodDphZnRlcntiYWNrZ3JvdW5kOiMzNTQ5NWV9Lm11bHRpc2VsZWN0X19vcHRpb24tLWRpc2FibGVkLm11bHRpc2VsZWN0X19vcHRpb24tLWhpZ2hsaWdodHtiYWNrZ3JvdW5kOiNkZWRlZGV9Lm11bHRpc2VsZWN0X19vcHRpb24tLWdyb3VwLXNlbGVjdGVkLm11bHRpc2VsZWN0X19vcHRpb24tLWhpZ2hsaWdodHtiYWNrZ3JvdW5kOiNmZjZhNmE7Y29sb3I6I2ZmZn0ubXVsdGlzZWxlY3RfX29wdGlvbi0tZ3JvdXAtc2VsZWN0ZWQubXVsdGlzZWxlY3RfX29wdGlvbi0taGlnaGxpZ2h0OmFmdGVye2JhY2tncm91bmQ6I2ZmNmE2YTtjb250ZW50OmF0dHIoZGF0YS1kZXNlbGVjdCk7Y29sb3I6I2ZmZn0ubXVsdGlzZWxlY3QtZW50ZXItYWN0aXZlLC5tdWx0aXNlbGVjdC1sZWF2ZS1hY3RpdmV7dHJhbnNpdGlvbjphbGwgLjE1cyBlYXNlfS5tdWx0aXNlbGVjdC1lbnRlciwubXVsdGlzZWxlY3QtbGVhdmUtYWN0aXZle29wYWNpdHk6MH0ubXVsdGlzZWxlY3RfX3N0cm9uZ3ttYXJnaW4tYm90dG9tOjhweDtsaW5lLWhlaWdodDoyMHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOnRvcH1bZGlyPXJ0bF0gLm11bHRpc2VsZWN0e3RleHQtYWxpZ246cmlnaHR9W2Rpcj1ydGxdIC5tdWx0aXNlbGVjdF9fc2VsZWN0e3JpZ2h0OmF1dG87bGVmdDoxcHh9W2Rpcj1ydGxdIC5tdWx0aXNlbGVjdF9fdGFnc3twYWRkaW5nOjhweCA4cHggMCA0MHB4fVtkaXI9cnRsXSAubXVsdGlzZWxlY3RfX2NvbnRlbnR7dGV4dC1hbGlnbjpyaWdodH1bZGlyPXJ0bF0gLm11bHRpc2VsZWN0X19vcHRpb246YWZ0ZXJ7cmlnaHQ6YXV0bztsZWZ0OjB9W2Rpcj1ydGxdIC5tdWx0aXNlbGVjdF9fY2xlYXJ7cmlnaHQ6YXV0bztsZWZ0OjEycHh9W2Rpcj1ydGxdIC5tdWx0aXNlbGVjdF9fc3Bpbm5lcntyaWdodDphdXRvO2xlZnQ6MXB4fUBrZXlmcmFtZXMgc3Bpbm5pbmd7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwKX10b3t0cmFuc2Zvcm06cm90YXRlKDJ0dXJuKX19XG5cbi8vIEFkanVzdG1lbnRzXG4ubXVsdGlzZWxlY3RfX3RhZ3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAuMzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XG4gICAgYm9yZGVyLXJhZGl1czogLjI1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7XG59XG5cbi5tdWx0aXNlbGVjdF9fc2luZ2xlLFxuLm11bHRpc2VsZWN0X19wbGFjZWhvbGRlcixcbi5tdWx0aXNlbGVjdF9faW5wdXQge1xuICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IC4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmNhcmQtcnVsZXMge1xuICAgIC5tdWx0aXNlbGVjdF9fdGFncyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzVhODNlYztcbiAgICB9XG4gICAgLm11bHRpc2VsZWN0X190YWcge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlZWZjO1xuICAgICAgICBjb2xvcjogIzQ5NTA1NztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzVhODNlYztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgfVxuICAgIC5tdWx0aXNlbGVjdF9fdGFnLWljb246YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzQ5NTA1NztcbiAgICB9XG4gICAgLm11bHRpc2VsZWN0X190YWctaWNvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNWE4M2VjO1xuICAgICAgICAgICAgY29sb3I6ICM0OTUwNTc7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgIFxuICAgIH1cbiAgICAubXVsdGlzZWxlY3QtLWFib3ZlIFxuICAgIC5tdWx0aXNlbGVjdF9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNWE4M2VjO1xuICAgICAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgfVxuICAgIC5tdWx0aXNlbGVjdF9fb3B0aW9uLS1oaWdobGlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDRiY2FiO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0NGJjYWI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm11bHRpc2VsZWN0X19vcHRpb24tLXNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzVhODNlYztcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q2M2I0OTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkNjNiNDk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNWE4M2VjO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJGNyb3BwZXItaW1hZ2UtcGF0aDogJy4uL2ltYWdlcycgIWRlZmF1bHQ7XG5cbi5jcm9wcGVyIHtcbiAgJi1jb250YWluZXIge1xuICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIGltZyB7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGltYWdlLW9yaWVudGF0aW9uOiAwZGVnO1xuICAgICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICYtd3JhcC1ib3gsXG4gICYtY2FudmFzLFxuICAmLWRyYWctYm94LFxuICAmLWNyb3AtYm94LFxuICAmLW1vZGFsIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgJi13cmFwLWJveCxcbiAgJi1jYW52YXMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmLWRyYWctYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmLW1vZGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gICYtdmlldy1ib3gge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgIzM5ZjtcbiAgICBvdXRsaW5lLWNvbG9yOiByZ2JhKDUxLCAxNTMsIDI1NSwgMC43NSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYtZGFzaGVkIHtcbiAgICBib3JkZXI6IDAgZGFzaGVkICNlZWU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICYuZGFzaGVkLWgge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLyAzKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5kYXNoZWQtdiB7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBjYWxjKDEwMCUgLyAzKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICB9XG4gIH1cblxuICAmLWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbGVmdDogLTNweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiA3cHg7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAtM3B4O1xuICAgICAgd2lkdGg6IDFweDtcbiAgICB9XG4gIH1cblxuICAmLWZhY2UsXG4gICYtbGluZSxcbiAgJi1wb2ludCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmLWZhY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAmLWxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOWY7XG5cbiAgICAmLmxpbmUtZSB7XG4gICAgICBjdXJzb3I6IGV3LXJlc2l6ZTtcbiAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICB9XG5cbiAgICAmLmxpbmUtbiB7XG4gICAgICBjdXJzb3I6IG5zLXJlc2l6ZTtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogLTNweDtcbiAgICB9XG5cbiAgICAmLmxpbmUtdyB7XG4gICAgICBjdXJzb3I6IGV3LXJlc2l6ZTtcbiAgICAgIGxlZnQ6IC0zcHg7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogNXB4O1xuICAgIH1cblxuICAgICYubGluZS1zIHtcbiAgICAgIGJvdHRvbTogLTNweDtcbiAgICAgIGN1cnNvcjogbnMtcmVzaXplO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gICYtcG9pbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOWY7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICB3aWR0aDogNXB4O1xuXG4gICAgJi5wb2ludC1lIHtcbiAgICAgIGN1cnNvcjogZXctcmVzaXplO1xuICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgfVxuXG4gICAgJi5wb2ludC1uIHtcbiAgICAgIGN1cnNvcjogbnMtcmVzaXplO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgICB0b3A6IC0zcHg7XG4gICAgfVxuXG4gICAgJi5wb2ludC13IHtcbiAgICAgIGN1cnNvcjogZXctcmVzaXplO1xuICAgICAgbGVmdDogLTNweDtcbiAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICB9XG5cbiAgICAmLnBvaW50LXMge1xuICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgY3Vyc29yOiBzLXJlc2l6ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICAgIH1cblxuICAgICYucG9pbnQtbmUge1xuICAgICAgY3Vyc29yOiBuZXN3LXJlc2l6ZTtcbiAgICAgIHJpZ2h0OiAtM3B4O1xuICAgICAgdG9wOiAtM3B4O1xuICAgIH1cblxuICAgICYucG9pbnQtbncge1xuICAgICAgY3Vyc29yOiBud3NlLXJlc2l6ZTtcbiAgICAgIGxlZnQ6IC0zcHg7XG4gICAgICB0b3A6IC0zcHg7XG4gICAgfVxuXG4gICAgJi5wb2ludC1zdyB7XG4gICAgICBib3R0b206IC0zcHg7XG4gICAgICBjdXJzb3I6IG5lc3ctcmVzaXplO1xuICAgICAgbGVmdDogLTNweDtcbiAgICB9XG5cbiAgICAmLnBvaW50LXNlIHtcbiAgICAgIGJvdHRvbTogLTNweDtcbiAgICAgIGN1cnNvcjogbndzZS1yZXNpemU7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcmlnaHQ6IC0zcHg7XG4gICAgICB3aWR0aDogMjBweDtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYucG9pbnQtc2U6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzlmO1xuICAgICAgYm90dG9tOiAtNTAlO1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDIwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC01MCU7XG4gICAgICB3aWR0aDogMjAwJTtcbiAgICB9XG4gIH1cblxuICAmLWludmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYtYmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skY3JvcHBlci1pbWFnZS1wYXRofS9iZy5wbmcnKTtcbiAgfVxuXG4gICYtaGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gICYtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLW1vdmUge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgfVxuXG4gICYtY3JvcCB7XG4gICAgY3Vyc29yOiBjcm9zc2hhaXI7XG4gIH1cblxuICAmLWRpc2FibGVkICYtZHJhZy1ib3gsXG4gICYtZGlzYWJsZWQgJi1mYWNlLFxuICAmLWRpc2FibGVkICYtbGluZSxcbiAgJi1kaXNhYmxlZCAmLXBvaW50IHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG59XG4iLCJAdXNlICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3JvcHBlcmpzL3NyYy9jc3MvY3JvcHBlci5zY3NzJztcblxuLmNyb3BwZXItbGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNmNDk5YTtcbn0iLCI6aG9zdCxcbjpyb290IHtcbiAgICAtLXZzLWNvbG9ycy0tbGlnaHRlc3Q6IHJnYmEoNjAsIDYwLCA2MCwgMC4yNik7XG4gICAgLS12cy1jb2xvcnMtLWxpZ2h0OiByZ2JhKDYwLCA2MCwgNjAsIDAuNSk7XG4gICAgLS12cy1jb2xvcnMtLWRhcms6ICMzMzM7XG4gICAgLS12cy1jb2xvcnMtLWRhcmtlc3Q6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgLS12cy1zZWFyY2gtaW5wdXQtY29sb3I6IGluaGVyaXQ7XG4gICAgLS12cy1zZWFyY2gtaW5wdXQtYmc6ICNmZmY7XG4gICAgLS12cy1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgLS12cy1mb250LXNpemU6IDFyZW07XG4gICAgLS12cy1saW5lLWhlaWdodDogMS40O1xuICAgIC0tdnMtc3RhdGUtZGlzYWJsZWQtYmc6ICNmOGY4Zjg7XG4gICAgLS12cy1zdGF0ZS1kaXNhYmxlZC1jb2xvcjogdmFyKC0tdnMtY29sb3JzLS1saWdodCk7XG4gICAgLS12cy1zdGF0ZS1kaXNhYmxlZC1jb250cm9scy1jb2xvcjogdmFyKC0tdnMtY29sb3JzLS1saWdodCk7XG4gICAgLS12cy1zdGF0ZS1kaXNhYmxlZC1jdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIC0tdnMtYm9yZGVyLWNvbG9yOiB2YXIoLS12cy1jb2xvcnMtLWxpZ2h0ZXN0KTtcbiAgICAtLXZzLWJvcmRlci13aWR0aDogMXB4O1xuICAgIC0tdnMtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAtLXZzLWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtLXZzLWFjdGlvbnMtcGFkZGluZzogNHB4IDZweCAwIDNweDtcbiAgICAtLXZzLWNvbnRyb2xzLWNvbG9yOiB2YXIoLS12cy1jb2xvcnMtLWxpZ2h0KTtcbiAgICAtLXZzLWNvbnRyb2xzLXNpemU6IDE7XG4gICAgLS12cy1jb250cm9scy0tZGVzZWxlY3QtdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgICAtLXZzLXNlbGVjdGVkLWJnOiAjZjBmMGYwO1xuICAgIC0tdnMtc2VsZWN0ZWQtY29sb3I6IHZhcigtLXZzLWNvbG9ycy0tZGFyayk7XG4gICAgLS12cy1zZWxlY3RlZC1ib3JkZXItY29sb3I6IHZhcigtLXZzLWJvcmRlci1jb2xvcik7XG4gICAgLS12cy1zZWxlY3RlZC1ib3JkZXItc3R5bGU6IHZhcigtLXZzLWJvcmRlci1zdHlsZSk7XG4gICAgLS12cy1zZWxlY3RlZC1ib3JkZXItd2lkdGg6IHZhcigtLXZzLWJvcmRlci13aWR0aCk7XG4gICAgLS12cy1kcm9wZG93bi1iZzogI2ZmZjtcbiAgICAtLXZzLWRyb3Bkb3duLWNvbG9yOiBpbmhlcml0O1xuICAgIC0tdnMtZHJvcGRvd24tei1pbmRleDogMTAwMDtcbiAgICAtLXZzLWRyb3Bkb3duLW1pbi13aWR0aDogMTYwcHg7XG4gICAgLS12cy1kcm9wZG93bi1tYXgtaGVpZ2h0OiAzNTBweDtcbiAgICAtLXZzLWRyb3Bkb3duLWJveC1zaGFkb3c6IDBweCAzcHggNnB4IDBweCB2YXIoLS12cy1jb2xvcnMtLWRhcmtlc3QpO1xuICAgIC0tdnMtZHJvcGRvd24tb3B0aW9uLWJnOiAjMDAwO1xuICAgIC0tdnMtZHJvcGRvd24tb3B0aW9uLWNvbG9yOiB2YXIoLS12cy1kcm9wZG93bi1jb2xvcik7XG4gICAgLS12cy1kcm9wZG93bi1vcHRpb24tcGFkZGluZzogM3B4IDIwcHg7XG4gICAgLS12cy1kcm9wZG93bi1vcHRpb24tLWFjdGl2ZS1iZzogIzU4OTdmYjtcbiAgICAtLXZzLWRyb3Bkb3duLW9wdGlvbi0tYWN0aXZlLWNvbG9yOiAjZmZmO1xuICAgIC0tdnMtZHJvcGRvd24tb3B0aW9uLS1kZXNlbGVjdC1iZzogI2ZiNTg1ODtcbiAgICAtLXZzLWRyb3Bkb3duLW9wdGlvbi0tZGVzZWxlY3QtY29sb3I6ICNmZmY7XG4gICAgLS12cy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDEsIC0wLjExNSwgMC45NzUsIDAuODU1KTtcbiAgICAtLXZzLXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zXG59XG5cbi52LXNlbGVjdCB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlXG59XG5cbi52LXNlbGVjdCxcbi52LXNlbGVjdCAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94XG59XG5cbjpyb290IHtcbiAgICAtLXZzLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMSwgMC41LCAwLjgsIDEpO1xuICAgIC0tdnMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXNcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHZTZWxlY3RTcGlubmVyIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpXG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybilcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdlNlbGVjdFNwaW5uZXIge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZylcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKVxuICAgIH1cbn1cblxuLnZzX19mYWRlLWVudGVyLWFjdGl2ZSxcbi52c19fZmFkZS1sZWF2ZS1hY3RpdmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdnMtdHJhbnNpdGlvbi1kdXJhdGlvbikgdmFyKC0tdnMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pXG59XG5cbi52c19fZmFkZS1lbnRlcixcbi52c19fZmFkZS1sZWF2ZS10byB7XG4gICAgb3BhY2l0eTogMFxufVxuXG46cm9vdCB7XG4gICAgLS12cy1kaXNhYmxlZC1iZzogdmFyKC0tdnMtc3RhdGUtZGlzYWJsZWQtYmcpO1xuICAgIC0tdnMtZGlzYWJsZWQtY29sb3I6IHZhcigtLXZzLXN0YXRlLWRpc2FibGVkLWNvbG9yKTtcbiAgICAtLXZzLWRpc2FibGVkLWN1cnNvcjogdmFyKC0tdnMtc3RhdGUtZGlzYWJsZWQtY3Vyc29yKVxufVxuXG4udnMtLWRpc2FibGVkIC52c19fY2xlYXIsXG4udnMtLWRpc2FibGVkIC52c19fZHJvcGRvd24tdG9nZ2xlLFxuLnZzLS1kaXNhYmxlZCAudnNfX29wZW4taW5kaWNhdG9yLFxuLnZzLS1kaXNhYmxlZCAudnNfX3NlYXJjaCxcbi52cy0tZGlzYWJsZWQgLnZzX19zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdnMtZGlzYWJsZWQtYmcpO1xuICAgIGN1cnNvcjogdmFyKC0tdnMtZGlzYWJsZWQtY3Vyc29yKVxufVxuXG4udi1zZWxlY3RbZGlyPXJ0bF0gLnZzX19hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAwIDNweCAwIDZweFxufVxuXG4udi1zZWxlY3RbZGlyPXJ0bF0gLnZzX19jbGVhciB7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBcbn1cblxuLnYtc2VsZWN0W2Rpcj1ydGxdIC52c19fZGVzZWxlY3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMnB4XG59XG5cbi52LXNlbGVjdFtkaXI9cnRsXSAudnNfX2Ryb3Bkb3duLW1lbnUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0XG59XG5cbi52c19fZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdnMtc2VhcmNoLWlucHV0LWJnKTtcbiAgICBib3JkZXI6IHZhcigtLXZzLWJvcmRlci13aWR0aCkgdmFyKC0tdnMtYm9yZGVyLXN0eWxlKSB2YXIoLS12cy1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXZzLWJvcmRlci1yYWRpdXMpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMCAwIDRweDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsXG59XG5cbi52c19fc2VsZWN0ZWQtb3B0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMCAycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlXG59XG5cbi52c19fYWN0aW9ucyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IHZhcigtLXZzLWFjdGlvbnMtcGFkZGluZylcbn1cblxuLnZzLS1zZWFyY2hhYmxlIC52c19fZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjdXJzb3I6IHRleHRcbn1cblxuLnZzLS11bnNlYXJjaGFibGUgLnZzX19kcm9wZG93bi10b2dnbGUge1xuICAgIGN1cnNvcjogcG9pbnRlclxufVxuXG4udnMtLW9wZW4gLnZzX19kcm9wZG93bi10b2dnbGUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBcbn1cblxuLnZzX19vcGVuLWluZGljYXRvciB7XG4gICAgZmlsbDogdmFyKC0tdnMtY29udHJvbHMtY29sb3IpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tdnMtY29udHJvbHMtc2l6ZSkpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS12cy10cmFuc2l0aW9uLWR1cmF0aW9uKSB2YXIoLS12cy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbik7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXZzLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKVxufVxuXG4udnMtLW9wZW4gLnZzX19vcGVuLWluZGljYXRvciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSBzY2FsZSh2YXIoLS12cy1jb250cm9scy1zaXplKSlcbn1cblxuLnZzLS1sb2FkaW5nIC52c19fb3Blbi1pbmRpY2F0b3Ige1xuICAgIG9wYWNpdHk6IDBcbn1cblxuLnZzX19jbGVhciB7XG4gICAgZmlsbDogdmFyKC0tdnMtY29udHJvbHMtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgcGFkZGluZzogMFxufVxuXG4udnNfX2Ryb3Bkb3duLW1lbnUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXZzLWRyb3Bkb3duLWJnKTtcbiAgICBib3JkZXI6IHZhcigtLXZzLWJvcmRlci13aWR0aCkgdmFyKC0tdnMtYm9yZGVyLXN0eWxlKSB2YXIoLS12cy1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS12cy1ib3JkZXItcmFkaXVzKSB2YXIoLS12cy1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBub25lO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXZzLWRyb3Bkb3duLWJveC1zaGFkb3cpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6IHZhcigtLXZzLWRyb3Bkb3duLWNvbG9yKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLXZzLWRyb3Bkb3duLW1heC1oZWlnaHQpO1xuICAgIG1pbi13aWR0aDogdmFyKC0tdnMtZHJvcGRvd24tbWluLXdpZHRoKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRvcDogY2FsYygxMDAlIC0gdmFyKC0tdnMtYm9yZGVyLXdpZHRoKSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogdmFyKC0tdnMtZHJvcGRvd24tei1pbmRleClcbn1cblxuLnZzX19uby1vcHRpb25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXJcbn1cblxuLnZzX19kcm9wZG93bi1vcHRpb24ge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbG9yOiB2YXIoLS12cy1kcm9wZG93bi1vcHRpb24tY29sb3IpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgICBwYWRkaW5nOiB2YXIoLS12cy1kcm9wZG93bi1vcHRpb24tcGFkZGluZyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcFxufVxuXG4udnNfX2Ryb3Bkb3duLW9wdGlvbi0taGlnaGxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS12cy1kcm9wZG93bi1vcHRpb24tLWFjdGl2ZS1iZyk7XG4gICAgY29sb3I6IHZhcigtLXZzLWRyb3Bkb3duLW9wdGlvbi0tYWN0aXZlLWNvbG9yKVxufVxuXG4udnNfX2Ryb3Bkb3duLW9wdGlvbi0tZGVzZWxlY3Qge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXZzLWRyb3Bkb3duLW9wdGlvbi0tZGVzZWxlY3QtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS12cy1kcm9wZG93bi1vcHRpb24tLWRlc2VsZWN0LWNvbG9yKVxufVxuXG4udnNfX2Ryb3Bkb3duLW9wdGlvbi0tZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXZzLXN0YXRlLWRpc2FibGVkLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tdnMtc3RhdGUtZGlzYWJsZWQtY29sb3IpO1xuICAgIGN1cnNvcjogdmFyKC0tdnMtc3RhdGUtZGlzYWJsZWQtY3Vyc29yKVxufVxuXG4udnNfX3NlbGVjdGVkIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXZzLXNlbGVjdGVkLWJnKTtcbiAgICBib3JkZXI6IHZhcigtLXZzLXNlbGVjdGVkLWJvcmRlci13aWR0aCkgdmFyKC0tdnMtc2VsZWN0ZWQtYm9yZGVyLXN0eWxlKSB2YXIoLS12cy1zZWxlY3RlZC1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXZzLWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS12cy1zZWxlY3RlZC1jb2xvcik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdnMtbGluZS1oZWlnaHQpO1xuICAgIG1hcmdpbjogNHB4IDJweCAwO1xuICAgIHBhZGRpbmc6IDAgLjI1ZW07XG4gICAgei1pbmRleDogMFxufVxuXG4udnNfX2Rlc2VsZWN0IHtcbiAgICBmaWxsOiB2YXIoLS12cy1jb250cm9scy1jb2xvcik7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1zaGFkb3c6IHZhcigtLXZzLWNvbnRyb2xzLS1kZXNlbGVjdC10ZXh0LXNoYWRvdylcbn1cblxuLnZzLS1zaW5nbGUgLnZzX19zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudFxufVxuXG4udnMtLXNpbmdsZS52cy0tbG9hZGluZyAudnNfX3NlbGVjdGVkLFxuLnZzLS1zaW5nbGUudnMtLW9wZW4gLnZzX19zZWxlY3RlZCB7XG4gICAgb3BhY2l0eTogLjQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlXG59XG5cbi52cy0tc2luZ2xlLnZzLS1zZWFyY2hpbmcgLnZzX19zZWxlY3RlZCB7XG4gICAgZGlzcGxheTogbm9uZVxufVxuXG4udnNfX3NlYXJjaDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZVxufVxuXG4udnNfX3NlYXJjaDo6LW1zLWNsZWFyLFxuLnZzX19zZWFyY2g6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4udnNfX3NlYXJjaDo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4udnNfX3NlYXJjaDo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lXG59XG5cbi52c19fc2VhcmNoLFxuLnZzX19zZWFyY2g6Zm9jdXMge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLXZzLXNlYXJjaC1pbnB1dC1jb2xvcik7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdnMtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdnMtbGluZS1oZWlnaHQpO1xuICAgIG1hcmdpbjogNHB4IDAgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDdweDtcbiAgICB3aWR0aDogMDtcbiAgICB6LWluZGV4OiAxXG59XG5cbi52c19fc2VhcmNoOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tdnMtc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWNvbG9yKVxufVxuXG4udnNfX3NlYXJjaDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS12cy1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItY29sb3IpXG59XG5cbi52c19fc2VhcmNoOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLXZzLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcilcbn1cblxuLnZzLS11bnNlYXJjaGFibGUgLnZzX19zZWFyY2gge1xuICAgIG9wYWNpdHk6IDFcbn1cblxuLnZzLS11bnNlYXJjaGFibGU6bm90KC52cy0tZGlzYWJsZWQpIC52c19fc2VhcmNoIHtcbiAgICBjdXJzb3I6IHBvaW50ZXJcbn1cblxuLnZzLS1zaW5nbGUudnMtLXNlYXJjaGluZzpub3QoLnZzLS1vcGVuKTpub3QoLnZzLS1sb2FkaW5nKSAudnNfX3NlYXJjaCB7XG4gICAgb3BhY2l0eTogLjJcbn1cblxuLnZzX19zcGlubmVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHZTZWxlY3RTcGlubmVyIDEuMXMgbGluZWFyIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogdlNlbGVjdFNwaW5uZXIgMS4xcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYm9yZGVyOiAuOWVtIHNvbGlkIGhzbGEoMCwgMCUsIDM5JSwgLjEpO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDYwLCA2MCwgNjAsIC40NSk7XG4gICAgZm9udC1zaXplOiA1cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OWVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSh2YXIoLS12cy1jb250cm9scy0tc3Bpbm5lci1zaXplLCB2YXIoLS12cy1jb250cm9scy1zaXplKSkpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjFzXG59XG5cbi52c19fc3Bpbm5lcixcbi52c19fc3Bpbm5lcjphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogNWVtO1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tdnMtY29udHJvbHMtLXNwaW5uZXItc2l6ZSwgdmFyKC0tdnMtY29udHJvbHMtc2l6ZSkpKTtcbiAgICB3aWR0aDogNWVtXG59XG5cbi52cy0tbG9hZGluZyAudnNfX3NwaW5uZXIge1xuICAgIG9wYWNpdHk6IDFcbn0iXSwiZmlsZSI6InN0eWxlLXYxLmNzcyJ9 */
