/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/marketing/styles/marketing-simple.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
:root {
  --bg-primary: #0A0B0A;
  --bg-secondary: #111312;
  --bg-tertiary: #1A1D1B;
  --bg-elevated: #212521;
  --green-primary: #8CC63F;
  --green-hover: #A6E84A;
  --green-muted: #6B9A2F;
  --green-dark: #5D8F1F;
  --green-subtle: rgba(140, 198, 63, 0.12);
  --text-primary: #F5F5F4;
  --text-secondary: #E7E7E5;
  --text-muted: #A1A1A0;
  --text-subtle: #6B6B6A;
  --text-on-green: #111312;
  --border-primary: rgba(255, 255, 255, 0.08);
  --border-secondary: rgba(255, 255, 255, 0.04);
  --border-green: rgba(140, 198, 63, 0.3);
  --border-green-muted: rgba(140, 198, 63, 0.15);
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;
  --text-7xl: 4.5rem;
  --text-8xl: 6rem;
  --font-light: 300;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-extrabold: 800;
  --font-black: 900;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;
  --tracking-tighter: -0.05em;
  --tracking-tight: -0.025em;
  --tracking-normal: 0em;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;
  --space-40: 10rem;
  --space-48: 12rem;
  --section-sm: var(--space-16);
  --section-md: var(--space-20);
  --section-lg: var(--space-24);
  --section-xl: var(--space-32);
  --container-sm: 640px;
  --container-md: 768px;
  --container-lg: 1024px;
  --container-xl: 1280px;
  --container-2xl: 1536px;
  --container-marketing: 1200px;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
  --shadow-md: 0 10px 25px rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 25px 50px rgba(0, 0, 0, 0.25);
  --shadow-xl: 0 35px 70px rgba(0, 0, 0, 0.35);
  --glow-green-subtle: 0 0 20px rgba(140, 198, 63, 0.1);
  --glow-green: 0 0 40px rgba(140, 198, 63, 0.2);
  --glow-green-strong: 0 0 60px rgba(140, 198, 63, 0.3);
  --radius-sm: 6px;
  --radius: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slower: 500ms cubic-bezier(0.4, 0, 0.2, 1);
  --z-behind: -1;
  --z-normal: 0;
  --z-above: 1;
  --z-sticky: 10;
  --z-fixed: 100;
  --z-overlay: 1000;
  --z-modal: 1010;
  --z-popover: 1020;
  --z-tooltip: 1030;
  --z-top: 2147483647;
  --bp-sm: 640px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
  --bp-2xl: 1536px;
  --fig-color: var(--green-primary);
  --fig-bg: var(--green-subtle);
  --fig-border: var(--border-green-muted);
  --card-bg: var(--bg-tertiary);
  --card-border: var(--border-primary);
  --card-shadow: var(--shadow-md);
  --card-shadow-hover: var(--shadow-lg);
  --btn-height: 44px;
  --btn-padding-x: var(--space-6);
  --btn-padding-y: var(--space-3);
  --btn-border-radius: var(--radius-md);
  --nav-height: 80px;
  --nav-bg: rgba(10, 11, 10, 0.8);
  --nav-blur: blur(16px);
  --primary: var(--bg-primary);
  --accent: var(--green-primary);
  --bg: var(--bg-primary);
  --bg-alt: var(--bg-secondary);
  --text: var(--text-primary);
  --border: var(--border-primary);
}

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
  }
}
html {
  font-feature-settings: "cv02" 1, "cv03" 1, "cv04" 1, "cv11" 1, "calt" 1, "liga" 1, "kern" 1;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-feature-settings: "cv02" 1, "cv03" 1, "cv04" 1, "cv11" 1, "calt" 1, "liga" 1, "kern" 1;
}

body {
  font-family: var(--font-family);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  font-weight: var(--font-normal);
  color: var(--text-secondary);
  background: var(--bg-primary);
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: inherit;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: var(--font-extrabold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--text-primary);
  margin-bottom: var(--space-4);
}

h1 {
  font-size: clamp(var(--text-4xl), 5vw, var(--text-7xl));
  letter-spacing: var(--tracking-tighter);
  line-height: 0.95;
  margin-bottom: var(--space-6);
}

h2 {
  font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl));
  line-height: 1.1;
  margin-bottom: var(--space-5);
}

h3 {
  font-size: clamp(var(--text-2xl), 3vw, var(--text-3xl));
  line-height: var(--leading-snug);
  margin-bottom: var(--space-4);
}

h4 {
  font-size: var(--text-xl);
  font-weight: var(--font-bold);
  margin-bottom: var(--space-3);
}

h5 {
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  margin-bottom: var(--space-3);
}

h6 {
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  margin-bottom: var(--space-2);
}

p {
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-4);
}
p:last-child {
  margin-bottom: 0;
}

.text-large {
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
  color: var(--text-secondary);
}

.text-small {
  font-size: var(--text-sm);
  color: var(--text-muted);
}

a {
  color: var(--green-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}
a:hover {
  color: var(--green-hover);
}
a:focus {
  outline: 2px solid var(--green-primary);
  outline-offset: 2px;
}

ul, ol {
  padding-left: var(--space-6);
  margin-bottom: var(--space-4);
}
ul li, ol li {
  margin-bottom: var(--space-2);
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
}

.list-none {
  list-style: none;
  padding-left: 0;
}

.container {
  max-width: var(--container-marketing);
  margin: 0 auto;
  padding-left: var(--space-6);
  padding-right: var(--space-6);
}
@media (max-width: 768px) {
  .container {
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }
}

.section {
  padding: var(--section-lg) 0;
}
@media (max-width: 768px) {
  .section {
    padding: var(--section-md) 0;
  }
}

.section-sm {
  padding: var(--section-sm) 0;
}
@media (max-width: 768px) {
  .section-sm {
    padding: var(--space-16) 0;
  }
}

.section-xl {
  padding: var(--section-xl) 0;
}
@media (max-width: 768px) {
  .section-xl {
    padding: var(--section-lg) 0;
  }
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

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

.text-primary {
  color: var(--text-primary);
}

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

.text-muted {
  color: var(--text-muted);
}

.text-subtle {
  color: var(--text-subtle);
}

.text-green {
  color: var(--green-primary);
}

.font-light {
  font-weight: var(--font-light);
}

.font-normal {
  font-weight: var(--font-normal);
}

.font-medium {
  font-weight: var(--font-medium);
}

.font-semibold {
  font-weight: var(--font-semibold);
}

.font-bold {
  font-weight: var(--font-bold);
}

.font-extrabold {
  font-weight: var(--font-extrabold);
}

.block {
  display: block;
}

.inline {
  display: inline;
}

.inline-block {
  display: inline-block;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.items-center {
  align-items: center;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.gap-2 {
  gap: var(--space-2);
}

.gap-3 {
  gap: var(--space-3);
}

.gap-4 {
  gap: var(--space-4);
}

.gap-6 {
  gap: var(--space-6);
}

.gap-8 {
  gap: var(--space-8);
}

.gap-12 {
  gap: var(--space-12);
}

.m-0 {
  margin: 0;
}

.mt-4 {
  margin-top: var(--space-4);
}

.mb-4 {
  margin-bottom: var(--space-4);
}

.mb-6 {
  margin-bottom: var(--space-6);
}

.mb-8 {
  margin-bottom: var(--space-8);
}

.mb-12 {
  margin-bottom: var(--space-12);
}

.mb-16 {
  margin-bottom: var(--space-16);
}

.p-0 {
  padding: 0;
}

.py-4 {
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
}

.py-8 {
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
}

.px-4 {
  padding-left: var(--space-4);
  padding-right: var(--space-4);
}

.px-6 {
  padding-left: var(--space-6);
  padding-right: var(--space-6);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

*:focus {
  outline: 2px solid var(--green-primary);
  outline-offset: 2px;
}

*:focus:not(:focus-visible) {
  outline: none;
}

*:focus-visible {
  outline: 2px solid var(--green-primary);
  outline-offset: 2px;
}

::-moz-selection {
  background: var(--green-subtle);
  color: var(--text-primary);
}

::selection {
  background: var(--green-subtle);
  color: var(--text-primary);
}

::-moz-selection {
  background: var(--green-subtle);
  color: var(--text-primary);
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--bg-secondary);
}

::-webkit-scrollbar-thumb {
  background: var(--border-primary);
  border-radius: var(--radius-sm);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--text-muted);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 767px) {
  .hidden-mobile {
    display: none;
  }
}
@media (min-width: 768px) {
  .hidden-desktop {
    display: none;
  }
  .show-desktop {
    display: block;
  }
}
@media (max-width: 767px) {
  .show-mobile {
    display: block;
  }
}
.btn-ghost, .btn-secondary, .btn-primary, .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  height: var(--btn-height);
  padding: var(--btn-padding-y) var(--btn-padding-x);
  border: 1px solid transparent;
  border-radius: var(--btn-border-radius);
  font-family: inherit;
  font-size: var(--text-base);
  font-weight: var(--font-medium);
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition);
  position: relative;
  overflow: hidden;
}
.btn-ghost:focus-visible, .btn-secondary:focus-visible, .btn-primary:focus-visible, .btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--green-subtle);
}
.btn-ghost:disabled, .btn-secondary:disabled, .btn-primary:disabled, .btn:disabled {
  pointer-events: none;
  opacity: 0.5;
}
.btn-ghost svg, .btn-secondary svg, .btn-primary svg, .btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.btn-primary {
  background: var(--green-primary);
  color: var(--text-on-green);
  border-color: var(--green-primary);
  box-shadow: var(--shadow);
}
.btn-primary:hover:not(:disabled) {
  background: var(--green-hover);
  border-color: var(--green-hover);
  color: var(--text-on-green);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md), var(--glow-green);
}
.btn-primary:active {
  transform: translateY(0);
  box-shadow: var(--shadow);
}

.btn-secondary {
  background: transparent;
  color: var(--green-primary);
  border-color: var(--border-green);
}
.btn-secondary:hover:not(:disabled) {
  background: var(--green-subtle);
  border-color: var(--green-primary);
  color: var(--green-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md), var(--glow-green-subtle);
}
.btn-secondary:active {
  transform: translateY(0);
  box-shadow: none;
}

.btn-ghost {
  background: transparent;
  color: var(--text-muted);
  border-color: transparent;
}
.btn-ghost:hover:not(:disabled) {
  background: var(--bg-tertiary);
  color: var(--text-primary);
}

.btn-sm, .btn-small {
  height: 36px;
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-sm);
}

.btn-lg, .btn-large {
  height: 52px;
  padding: var(--space-4) var(--space-8);
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
}

.card, .benefit-card {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--card-shadow);
  transition: all var(--transition-slow);
  position: relative;
  overflow: hidden;
}
.card::before, .benefit-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--green-subtle);
  opacity: 0;
  transition: opacity var(--transition);
  pointer-events: none;
}
.card:hover, .benefit-card:hover {
  transform: translateY(-4px);
  border-color: var(--border-green-muted);
  box-shadow: var(--card-shadow-hover), var(--glow-green-subtle);
}
.card:hover::before, .benefit-card:hover::before {
  opacity: 1;
}

.card-header {
  padding: var(--space-6);
  border-bottom: 1px solid var(--border-secondary);
  position: relative;
  z-index: 1;
}

.card-body {
  padding: var(--space-6);
  position: relative;
  z-index: 1;
}

.card-footer {
  padding: var(--space-6);
  border-top: 1px solid var(--border-secondary);
  position: relative;
  z-index: 1;
}

.card-elevated {
  box-shadow: var(--shadow-lg);
}
.card-elevated:hover {
  box-shadow: var(--shadow-xl), var(--glow-green-subtle);
}

.card-flat {
  box-shadow: none;
  border: 1px solid var(--border-primary);
}

.fig-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  background: var(--fig-bg);
  color: var(--fig-color);
  border: 1px solid var(--fig-border);
  border-radius: var(--radius);
  font-family: "JetBrains Mono", "Fira Code", Consolas, monospace;
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  margin-bottom: var(--space-4);
}

.eyebrow {
  display: inline-block;
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wider);
  color: var(--text-muted);
  margin-bottom: var(--space-3);
}

.eyebrow-accent {
  color: var(--green-primary);
  background: var(--green-subtle);
  padding: var(--space-1) var(--space-3);
  border-radius: var(--radius);
  border: 1px solid var(--border-green-muted);
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-1) var(--space-2);
  background: var(--bg-tertiary);
  color: var(--text-muted);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-sm);
  font-size: var(--text-xs);
  font-weight: var(--font-medium);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
}

.badge-green {
  background: var(--green-subtle);
  color: var(--green-primary);
  border-color: var(--border-green-muted);
}

.badge-subtle {
  background: var(--bg-secondary);
  color: var(--text-subtle);
  border-color: var(--border-secondary);
}

.narrative-block {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.narrative-block .section-title {
  margin-top: var(--space-3);
}

.narrative-body {
  margin-top: var(--space-6);
  text-align: left;
  color: var(--text-secondary);
  font-size: 1.125rem;
  line-height: 1.7;
}
.narrative-body p + p {
  margin-top: var(--space-4);
}

.section-note {
  display: block;
  margin-top: var(--space-6);
  font-size: var(--text-sm);
  text-align: center;
}

.contact-form-wrapper {
  max-width: 640px;
  margin: var(--space-8) auto 0;
  text-align: left;
}

.contact-form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}
@media (min-width: 640px) {
  .contact-form-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 640px) {
  .contact-form-field--full {
    grid-column: 1/-1;
  }
}

.contact-form-field {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.contact-form-field label {
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  color: var(--text-primary);
}
.contact-form-field input,
.contact-form-field textarea {
  width: 100%;
  padding: var(--space-3) var(--space-3);
  background: var(--bg-secondary);
  color: var(--text-primary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius);
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}
.contact-form-field input:focus,
.contact-form-field textarea:focus {
  outline: none;
  border-color: var(--green-primary);
  box-shadow: 0 0 0 3px var(--green-subtle);
}
.contact-form-field textarea {
  resize: vertical;
  min-height: 7rem;
}
.contact-form-field ul {
  color: #c0392b;
  font-size: var(--text-sm);
  margin: var(--space-1) 0 0;
  padding-left: var(--space-4);
}

.contact-form-honeypot {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.contact-form-submit {
  margin-top: var(--space-6);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  border: 0;
  cursor: pointer;
}

.contact-form-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--space-8) var(--space-6);
  background: var(--green-subtle);
  border: 1px solid var(--border-green-muted);
  border-radius: var(--radius-lg);
}
.contact-form-success .contact-form-success-icon {
  color: var(--green-primary);
  margin-bottom: var(--space-3);
}
.contact-form-success h3 {
  margin: 0 0 var(--space-2);
  color: var(--text-primary);
}
.contact-form-success p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.6;
  max-width: 480px;
}

.separator {
  height: 1px;
  background: var(--border-primary);
  border: none;
  margin: var(--space-8) 0;
}

.separator-vertical {
  width: 1px;
  height: 24px;
  background: var(--border-primary);
  margin: 0 var(--space-4);
}

.separator-green {
  background: linear-gradient(90deg, transparent 0%, var(--green-primary) 50%, transparent 100%);
}

.feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.feature-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-3) 0;
}
.feature-item:not(:last-child) {
  border-bottom: 1px solid var(--border-secondary);
}

.feature-icon {
  width: 20px;
  height: 20px;
  color: var(--green-primary);
  margin-top: 2px;
  flex-shrink: 0;
}

.feature-text {
  color: var(--text-secondary);
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
}

.mockup-browser {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}
.mockup-browser .mockup-titlebar {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border-primary);
}
.mockup-browser .mockup-controls {
  display: flex;
  gap: var(--space-1);
}
.mockup-browser .mockup-control {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}
.mockup-browser .mockup-control.close {
  background: #ff5f57;
}
.mockup-browser .mockup-control.minimize {
  background: #ffbd2e;
}
.mockup-browser .mockup-control.maximize {
  background: #28ca42;
}
.mockup-browser .mockup-title {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-left: auto;
}
.mockup-browser .mockup-content {
  padding: 0;
}
.mockup-browser .mockup-content img {
  width: 100%;
  height: auto;
  display: block;
}

.mockup-phone {
  background: var(--bg-tertiary);
  border: 8px solid var(--bg-secondary);
  border-radius: 32px;
  box-shadow: var(--shadow-xl);
  overflow: hidden;
  position: relative;
}
.mockup-phone::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: 48px;
  height: 4px;
  background: var(--bg-primary);
  border-radius: var(--radius-full);
}
.mockup-phone img {
  width: 100%;
  height: auto;
  display: block;
}

.trust-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-6);
  padding: var(--space-8) 0;
  border-top: 1px solid var(--border-primary);
}
@media (max-width: 768px) {
  .trust-bar {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-4);
  }
}

.trust-item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: var(--text-sm);
  color: var(--text-muted);
}

.trust-icon {
  width: 20px;
  height: 20px;
  color: var(--green-primary);
  flex-shrink: 0;
}

.trust-text {
  line-height: var(--leading-snug);
}
.trust-text .highlight {
  color: var(--green-primary);
  font-weight: var(--font-medium);
}

.steps {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin: var(--space-8) 0;
}

.step {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.step-number, .workflow-step .step-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--green-primary);
  color: var(--text-on-green);
  border-radius: 50%;
  font-size: var(--text-sm);
  font-weight: var(--font-bold);
}

.step-connector {
  width: 40px;
  height: 2px;
  background: var(--border-primary);
  position: relative;
}
.step-connector.active::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--green-primary);
  border-radius: var(--radius-full);
  animation: progress 1s ease-in-out;
}

@keyframes progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
@keyframes float-gentle {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-8px);
  }
}
@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-float {
  animation: float-gentle 6s ease-in-out infinite;
}

.animate-fade-in-up {
  animation: fade-in-up 0.6s ease-out forwards;
}

.animate-on-scroll,
.js .animate-on-scroll {
  opacity: 1;
  transform: none;
  transition: none;
}

:is(.section, .cta-section) .container > * {
  transition: opacity 400ms ease-out, transform 400ms ease-out;
}

:is(.section, .cta-section) .container > *.fade-pending {
  opacity: 0;
  transform: translateY(24px);
}

@media (prefers-reduced-motion: reduce) {
  :is(.section, .cta-section) .container > *,
  :is(.section, .cta-section) .container > *.fade-pending {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
.stagger-1 {
  transition-delay: 0.1s;
}

.stagger-2 {
  transition-delay: 0.2s;
}

.stagger-3 {
  transition-delay: 0.3s;
}

.stagger-4 {
  transition-delay: 0.4s;
}

.stagger-5 {
  transition-delay: 0.5s;
}

.stagger-6 {
  transition-delay: 0.6s;
}

.stagger-7 {
  transition-delay: 0.7s;
}

.stagger-8 {
  transition-delay: 0.8s;
}

.stagger-9 {
  transition-delay: 0.9s;
}

.stagger-10 {
  transition-delay: 1s;
}

.skeleton {
  background: linear-gradient(90deg, var(--bg-secondary) 25%, var(--bg-tertiary) 50%, var(--bg-secondary) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: var(--radius);
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
@media (max-width: 768px) {
  .btn {
    min-height: 48px;
  }
  .card-body {
    padding: var(--space-4);
  }
  .mockup-browser .mockup-titlebar {
    padding: var(--space-2) var(--space-3);
  }
}
.product-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-12);
  align-items: center;
}
@media (min-width: 1024px) {
  .product-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-16);
  }
}

.product-visual {
  display: flex;
  justify-content: center;
  max-width: 100%;
}

.product-mockup {
  max-width: 100%;
}
.product-mockup img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 560px;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
}

@media (min-width: 1024px) {
  .product-grid--image-left .product-content {
    order: 2;
  }
  .product-grid--image-left .product-visual {
    order: 1;
  }
}
.product-content .section-title,
.product-content .section-subtitle {
  text-align: left;
}
.product-content .fig-label {
  margin-bottom: var(--space-3);
}

.product-row + .product-row {
  margin-top: var(--space-20);
}

.product-row-title {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  letter-spacing: -0.02em;
  color: var(--text-primary);
  margin: 0 0 var(--space-3);
}
@media (min-width: 768px) {
  .product-row-title {
    font-size: var(--text-3xl);
  }
}

.product-row-body {
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
  margin: 0 0 var(--space-6);
}

.text-center {
  text-align: center;
}

.text-green {
  color: var(--green-primary);
}

.text-muted {
  color: var(--text-muted);
}

.text-large {
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
}

.text-xl {
  font-size: var(--text-xl);
}

.font-bold {
  font-weight: var(--font-bold);
}

.mb-4 {
  margin-bottom: var(--space-4);
}

.mb-12 {
  margin-bottom: var(--space-12);
}

.mb-16 {
  margin-bottom: var(--space-16);
}

.mt-12 {
  margin-top: var(--space-12);
}

.mt-16 {
  margin-top: var(--space-16);
}

.grid {
  display: grid;
}

.grid-cols-1 {
  grid-template-columns: 1fr;
}

.gap-8 {
  gap: var(--space-8);
}

.gap-12 {
  gap: var(--space-12);
}

.items-start {
  align-items: start;
}

@media (min-width: 768px) {
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
body > .section:nth-of-type(2n) {
  background: var(--bg-secondary);
}

.section {
  position: relative;
}

.section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, var(--border-primary) 30%, var(--border-primary) 70%, transparent 100%);
  pointer-events: none;
  z-index: var(--z-above);
}

.audience-tabs-section {
  position: relative;
  isolation: isolate;
}
.audience-tabs-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(900px circle at 50% 0%, rgba(140, 198, 63, 0.06) 0%, transparent 60%);
  pointer-events: none;
  z-index: var(--z-behind);
}

.section:has(.partnership-quote-card) {
  position: relative;
  isolation: isolate;
}
.section:has(.partnership-quote-card)::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(700px circle at 50% 75%, rgba(140, 198, 63, 0.18) 0%, transparent 55%), radial-gradient(500px circle at 65% 70%, rgba(80, 180, 160, 0.08) 0%, transparent 55%), radial-gradient(500px circle at 35% 70%, rgba(140, 198, 63, 0.07) 0%, transparent 55%);
  pointer-events: none;
  z-index: var(--z-behind);
}

.section:has(.workflow-container) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.section:has(.workflow-container)::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(140, 198, 63, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(140, 198, 63, 0.08) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.65;
  transform: perspective(800px) rotateX(22deg);
  transform-origin: center top;
  mask: linear-gradient(to bottom, transparent 0%, black 18%, black 75%, transparent 100%);
  -webkit-mask: linear-gradient(to bottom, transparent 0%, black 18%, black 75%, transparent 100%);
  pointer-events: none;
  z-index: var(--z-behind);
}

.section--problem {
  position: relative;
  isolation: isolate;
}
.section--problem::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(1000px circle at 50% 100%, rgba(140, 198, 63, 0.06) 0%, transparent 60%), url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%27220%27 height=%27220%27><filter id=%27n%27><feTurbulence type=%27fractalNoise%27 baseFrequency=%270.9%27 numOctaves=%272%27 stitchTiles=%27stitch%27/><feColorMatrix values=%270 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.35 0%27/></filter><rect width=%27100%25%27 height=%27100%25%27 filter=%27url%28%23n%29%27/></svg>");
  background-blend-mode: screen, normal;
  background-repeat: no-repeat, repeat;
  opacity: 0.5;
  mix-blend-mode: screen;
  pointer-events: none;
  z-index: var(--z-behind);
}

.cta-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.cta-section::after {
  content: "";
  position: absolute;
  inset: -25%;
  background: conic-gradient(from 0deg, transparent 0deg, rgba(140, 198, 63, 0.16) 60deg, transparent 120deg, rgba(140, 198, 63, 0.08) 200deg, transparent 260deg, rgba(140, 198, 63, 0.12) 320deg, transparent 360deg);
  filter: blur(60px);
  animation: cta-halo-spin 60s linear infinite;
  pointer-events: none;
  z-index: var(--z-behind);
}

@keyframes cta-halo-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cta-section::after {
    animation: none;
    background: radial-gradient(900px circle at 50% 50%, rgba(140, 198, 63, 0.1) 0%, transparent 60%);
    filter: none;
    inset: 0;
  }
}
.section--four-up {
  position: relative;
  isolation: isolate;
}
.section--four-up::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(900px circle at 50% 100%, rgba(140, 198, 63, 0.05) 0%, transparent 60%);
  pointer-events: none;
  z-index: var(--z-behind);
}

.section--accent-pricing {
  position: relative;
  isolation: isolate;
}
.section--accent-pricing::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(1200px circle at 50% 0%, rgba(140, 198, 63, 0.07) 0%, transparent 65%);
  pointer-events: none;
  z-index: var(--z-behind);
}

.audience-tabs {
  max-width: 1080px;
  margin: 0 auto;
}

.audience-tab-bar {
  display: none;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: center;
  border-bottom: 1px solid var(--border-primary);
  margin-bottom: var(--space-8);
  padding: 0 var(--space-2);
}

.js .audience-tab-bar {
  display: flex;
}

.audience-tab-trigger {
  display: inline-flex;
  align-items: center;
  padding: var(--space-3) var(--space-5);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--text-muted);
  font-family: inherit;
  font-size: var(--text-base);
  font-weight: var(--font-medium);
  cursor: pointer;
  margin-bottom: -1px;
  transition: color var(--transition), border-color var(--transition);
}
.audience-tab-trigger:hover {
  color: var(--text-primary);
}
.audience-tab-trigger:focus-visible {
  outline: 2px solid var(--green-primary);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}
.audience-tab-trigger.is-active {
  color: var(--text-primary);
  border-bottom-color: var(--green-primary);
}

.audience-tab-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  align-items: center;
}
@media (min-width: 1024px) {
  .audience-tab-panel {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-12);
  }
}
.audience-tab-panel + .audience-tab-panel {
  margin-top: var(--space-16);
}

.js .audience-tab-panel + .audience-tab-panel {
  margin-top: 0;
}

.audience-tab-title {
  font-size: var(--text-3xl);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  margin: 0 0 var(--space-4);
  line-height: var(--leading-tight);
}

.audience-tab-prose {
  font-size: var(--text-base);
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
  margin: 0;
}

.audience-tab-visual img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 560px;
  margin: 0 auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
}

.faq-accordion {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.faq-item {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: border-color var(--transition);
}
.faq-item[open] {
  border-color: var(--border-green-muted);
  box-shadow: var(--shadow-md);
}

.faq-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-5) var(--space-6);
  cursor: pointer;
  list-style: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.faq-summary::-webkit-details-marker {
  display: none;
}
.faq-summary::marker {
  display: none;
  content: "";
}
.faq-summary:hover {
  background: var(--bg-elevated);
}
.faq-summary:focus-visible {
  outline: 2px solid var(--green-primary);
  outline-offset: -2px;
}

.faq-question {
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  color: var(--text-primary);
  line-height: var(--leading-snug);
}

.faq-chevron {
  flex-shrink: 0;
  color: var(--green-primary);
  transition: transform var(--transition);
}
[open] > .faq-summary .faq-chevron {
  transform: rotate(180deg);
}

.faq-answer {
  padding: 0 var(--space-6) var(--space-5);
  color: var(--text-secondary);
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
}

.partnership-quote-card {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.partnership-quote-logo {
  display: block;
  margin: 0 auto var(--space-5);
  max-height: 48px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

.partnership-quote-text {
  font-size: var(--text-base);
  line-height: var(--leading-snug);
  font-weight: var(--font-medium);
  color: var(--text-primary);
  margin: 0 0 var(--space-4);
  font-style: italic;
}
@media (min-width: 768px) {
  .partnership-quote-text {
    font-size: var(--text-xl);
    line-height: var(--leading-relaxed);
  }
}

.partnership-quote-attribution {
  display: block;
  font-size: var(--text-sm);
  font-style: normal;
  color: var(--text-muted);
  letter-spacing: var(--tracking-wide);
}

.pilot-strip-section {
  background: var(--bg-secondary);
}

.pilot-strip-grid {
  display: flex;
  gap: var(--space-4);
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--space-4);
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  mask-image: linear-gradient(to right, black 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, black 92%, transparent 100%);
}
.pilot-strip-grid::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  .pilot-strip-grid {
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: visible;
    overflow-y: visible;
    scroll-snap-type: none;
    scroll-behavior: auto;
    -webkit-overflow-scrolling: auto;
    mask-image: none;
    -webkit-mask-image: none;
  }
}
@media (min-width: 1024px) {
  .pilot-strip-grid {
    gap: var(--space-6);
  }
}

.pilot-strip-item {
  display: flex;
  flex: 0 0 80%;
  scroll-snap-align: center;
}
@media (min-width: 768px) {
  .pilot-strip-item {
    flex: 1 1 calc(50% - var(--space-2));
    min-width: 0;
    max-width: 360px;
    scroll-snap-align: none;
  }
}
@media (min-width: 1024px) {
  .pilot-strip-item {
    flex: 0 1 240px;
    max-width: 280px;
  }
}

.pilot-strip-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-6);
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-lg);
  color: var(--text-primary);
  text-decoration: none;
  transition: transform var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition);
}

a.pilot-strip-card:hover {
  border-color: var(--border-green-muted);
  background: var(--bg-elevated);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md), var(--glow-green-subtle);
}

.pilot-strip-logo {
  width: 72px;
  height: 72px;
  background-color: var(--text-primary);
  -webkit-mask: var(--logo-url) center/contain no-repeat;
  mask: var(--logo-url) center/contain no-repeat;
}

.pilot-strip-name {
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  text-align: center;
  line-height: var(--leading-snug);
}

.pilot-strip-host {
  font-size: var(--text-xs);
  color: var(--text-muted);
  text-align: center;
  letter-spacing: var(--tracking-wide);
}

.cta-buttons {
  display: flex;
  gap: var(--space-4);
  justify-content: center;
  flex-wrap: wrap;
  margin-top: var(--space-8);
}

.cta-disclaimer {
  margin-top: var(--space-8);
  font-size: var(--text-sm);
  color: var(--text-muted);
  text-align: center;
}

:root {
  --bg-section: var(--bg-primary, #0A0B0A);
  --shadow-dark-card: var(--shadow-xl, 0 24px 80px rgba(0,0,0,0.45));
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--text-body-legacy);
  background: var(--bg-primary-legacy);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.container-legacy {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.header-legacy {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background: rgba(5, 6, 7, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border-primary-legacy);
  transition: all 0.3s ease;
}

.header-legacy.scrolled {
  background: rgba(11, 13, 16, 0.98);
  border-bottom-color: var(--border-highlighted-legacy);
}

.header-nav-legacy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
}

.logo-legacy {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 800;
  font-size: 1.25rem;
  color: var(--text-primary-legacy);
  letter-spacing: -0.02em;
}

.logo-legacy img {
  height: 2rem;
  width: auto;
}

.mobile-menu-button-legacy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
}

.mobile-menu-button-legacy span {
  width: 24px;
  height: 2px;
  background: var(--text-primary-legacy);
  margin: 3px 0;
  transition: all 0.3s ease;
  transform-origin: center;
}

.mobile-menu-button-legacy.active span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}

.mobile-menu-button-legacy.active span:nth-child(2) {
  opacity: 0;
}

.mobile-menu-button-legacy.active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

.nav-links-legacy {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: rgba(5, 6, 7, 0.98);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border-primary-legacy);
  flex-direction: column;
  padding: 1.5rem;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.nav-links-legacy.mobile-open {
  display: flex;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.nav-links-legacy li {
  width: 100%;
}

.nav-links-legacy a {
  display: flex;
  align-items: center;
  font-weight: 600;
  color: var(--text-primary-legacy);
  transition: all 0.3s ease;
  text-decoration: none;
  font-size: 1.1rem;
  letter-spacing: -0.01em;
  padding: 0.75rem 0;
  width: 100%;
  min-height: 44px;
}

.nav-links-legacy a:hover {
  color: var(--green-primary-legacy);
}

.nav-links-legacy .btn-primary-legacy {
  background: var(--green-primary-legacy);
  color: var(--text-on-green-legacy) !important;
  border-radius: 8px;
  padding: 1rem 1.5rem;
  justify-content: center;
  margin-top: 0.5rem;
}

.nav-links-legacy .btn-primary-legacy:hover {
  background: var(--green-hover-legacy);
  color: var(--text-on-green-legacy) !important;
}

.btn-primary-legacy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background: var(--green-primary-legacy);
  color: var(--text-on-green-legacy);
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.02em;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  min-height: 48px;
  width: 100%;
  text-decoration: none;
}

.btn-primary-legacy svg {
  flex-shrink: 0;
  vertical-align: middle;
  margin-left: 0.25rem;
}

.btn-primary-legacy:hover {
  background: var(--green-hover-legacy);
  transform: translateY(-1px);
  box-shadow: var(--shadow-green-glow-legacy);
}

.btn-primary-legacy.hero-cta {
  padding: 1.25rem 2.5rem;
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 12px;
  animation: pulseGlow-legacy 3s ease-in-out infinite;
  position: relative;
  overflow: hidden;
}

.btn-primary-legacy.hero-cta:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 16px 48px rgba(140, 198, 63, 0.4);
}

.btn-primary-legacy.hero-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}

.btn-primary-legacy.hero-cta:hover::before {
  left: 100%;
}

@media (min-width: 768px) {
  .mobile-menu-button-legacy {
    display: none;
  }
  .nav-links-legacy {
    display: flex !important;
    position: static;
    flex-direction: row;
    background: none;
    backdrop-filter: none;
    border: none;
    padding: 0;
    gap: 2rem;
    align-items: center;
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
  .nav-links-legacy li {
    width: auto;
  }
  .nav-links-legacy a {
    font-size: 0.95rem;
    padding: 0;
    min-height: auto;
    width: auto;
    position: relative;
  }
  .nav-links-legacy a:hover {
    transform: translateY(-1px);
  }
  .nav-links-legacy a:not(.btn-primary-legacy)::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--green-primary-legacy);
    transition: width 0.3s ease;
  }
  .nav-links-legacy a:not(.btn-primary-legacy):hover::after {
    width: 100%;
  }
  .nav-links-legacy .btn-primary-legacy {
    margin-top: 0;
    padding: 0.75rem 1.5rem;
    width: auto;
  }
  .nav-links-legacy .btn-primary-legacy:hover {
    transform: translateY(-1px);
  }
  .logo-legacy {
    font-size: 1.5rem;
  }
  .logo-legacy img {
    height: 2.5rem;
  }
}
@keyframes stadiumLights-legacy {
  0%, 100% {
    opacity: 0.15;
    transform: scale(1);
  }
  50% {
    opacity: 0.25;
    transform: scale(1.05);
  }
}
@keyframes floatingParticles-legacy {
  0% {
    transform: translateY(100vh) rotate(0deg);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: translateY(-100px) rotate(360deg);
    opacity: 0;
  }
}
@keyframes pulseGlow-legacy {
  0%, 100% {
    box-shadow: 0 8px 32px rgba(140, 198, 63, 0.3);
  }
  50% {
    box-shadow: 0 8px 32px rgba(140, 198, 63, 0.6), 0 0 80px rgba(140, 198, 63, 0.2);
  }
}
@keyframes countUp-legacy {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slideInLeft-legacy {
  from {
    transform: translateX(-50px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideInRight-legacy {
  from {
    transform: translateX(50px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fadeInUp-legacy {
  from {
    transform: translateY(30px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes scaleIn-legacy {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
.hero-legacy {
  position: relative;
  min-height: 100vh;
  padding: 5rem 0 3rem;
  overflow: hidden;
  background: var(--bg-primary-legacy);
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-legacy::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse 1400px 800px at 80% 20%, rgba(140, 198, 63, 0.15) 0%, transparent 60%), radial-gradient(ellipse 1000px 600px at 20% 80%, rgba(140, 198, 63, 0.08) 0%, transparent 50%), linear-gradient(135deg, var(--bg-primary-legacy) 0%, #0a0b0e 100%);
  pointer-events: none;
}

.hero-particles-legacy {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  opacity: 0.3;
}

.hero-particles-legacy::before {
  left: 80%;
  animation-delay: 5s;
}

.hero-particles-legacy::after {
  content: "🥅";
  left: 60%;
  animation-delay: 7s;
  font-size: 2.5rem;
}

.hero-grid-legacy {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
  position: relative;
  z-index: 2;
  max-width: 1200px;
  width: 100%;
  padding: 0 1.5rem;
  text-align: center;
}

.hero-content-legacy {
  max-width: 100%;
  order: 1;
}

.hero-eyebrow-legacy {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  background: rgba(140, 198, 63, 0.1);
  border: 1px solid var(--border-highlighted-legacy);
  color: var(--green-primary-legacy);
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}

.hero-title-legacy {
  font-size: clamp(1.875rem, 8vw, 4.5rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--text-primary-legacy);
  margin-bottom: 1rem;
  text-shadow: 0 4px 20px rgba(140, 198, 63, 0.2);
}

.hero-title-legacy .accent {
  color: var(--green-primary-legacy);
  text-shadow: var(--shadow-green-glow-legacy);
}

.hero-subtitle-legacy {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-body-legacy);
  margin-bottom: 2rem;
  max-width: 100%;
}

.hero-cta-legacy {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
  width: 100%;
  max-width: 320px;
}

.btn-secondary-legacy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background: transparent;
  color: var(--text-primary-legacy);
  border: 2px solid var(--green-primary-legacy);
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  transition: all 0.3s ease;
  min-height: 48px;
  width: 100%;
  text-decoration: none;
}

.btn-secondary-legacy:hover {
  border-color: var(--green-primary-legacy);
  color: var(--green-primary-legacy);
  background: rgba(140, 198, 63, 0.05);
}

.section {
  padding: 3rem 0;
  background: var(--bg-section);
}

.section-title {
  text-align: center;
  font-size: clamp(1.75rem, 6vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--text-primary);
  margin-bottom: 1rem;
  line-height: 1.2;
}

.section-subtitle {
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-secondary);
  max-width: 100%;
  margin: 0 auto 2rem;
  padding: 0 1rem;
}

.cta-section {
  background: var(--bg-section);
  padding: 5rem 0;
}

.cta-content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: 16px;
  padding: 4rem 3rem;
  box-shadow: var(--shadow-dark-card);
}

.cta-content p {
  color: var(--text-secondary);
  font-size: 1.125rem;
  line-height: 1.6;
  margin-bottom: 2.5rem;
}

.footer {
  background: #07080C;
  color: var(--text-muted);
  padding: 3rem 0 2rem;
}

.footer-grid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 2rem;
}

.footer-column {
  text-align: center;
}

.footer-brand {
  margin-bottom: 1rem;
}

.footer-brand img {
  height: 2rem;
  width: auto;
  margin: 0 auto;
  display: block;
}

@media (max-width: 767px) {
  .footer-brand-column {
    order: 1;
  }
}

.footer-description {
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 1.5rem;
  font-size: 0.95rem;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}

.footer-cta {
  margin-top: 1rem;
}

.footer-highlight {
  color: var(--green-primary);
  font-weight: 500;
  font-size: 0.9rem;
}

.footer-title {
  color: var(--text-primary);
  font-weight: 600;
  margin-bottom: 1rem;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 0.75rem;
}

.footer-links a {
  color: var(--text-muted);
  transition: color 0.3s ease;
  font-size: 0.95rem;
  line-height: 1.5;
  text-decoration: none;
}

.footer-links a:hover {
  color: var(--green-primary);
}

.footer-bottom {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-align: center;
  padding-top: 2rem;
  border-top: 1px solid var(--border-primary);
  font-size: 0.9rem;
  color: var(--text-muted);
}

@media (min-width: 768px) {
  .footer {
    padding: 4rem 0 2rem;
  }
  .footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    text-align: left;
  }
  .footer-column {
    text-align: left;
  }
  .footer-brand img {
    height: 2.5rem;
    margin: 0;
    display: block;
  }
  .footer-description {
    margin-left: 0;
    margin-right: 0;
    max-width: none;
  }
}
@media (min-width: 1024px) {
  .footer-grid {
    grid-template-columns: 2fr 1fr 1fr;
    gap: 3rem;
  }
  .footer-brand-column {
    max-width: 420px;
  }
  .footer-bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    gap: 0;
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background: rgba(5, 6, 7, 0.95) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid var(--border-primary) !important;
  transition: all 0.3s ease;
}
.header.scrolled {
  background: rgba(11, 13, 16, 0.98) !important;
  border-bottom-color: var(--border-green-muted) !important;
  box-shadow: var(--shadow-lg);
}

.header-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  max-width: 1200px;
  margin: 0 auto;
  transition: all var(--transition);
}

.logo {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  font-weight: 800 !important;
  font-size: 1.25rem !important;
  color: var(--text-primary) !important;
  letter-spacing: -0.02em !important;
  text-decoration: none;
}
.logo img {
  height: 2rem !important;
  width: auto !important;
  transition: opacity var(--transition);
}
.logo:hover {
  color: var(--green-primary) !important;
}
.logo:hover img {
  opacity: 0.8;
}

.mobile-menu-button {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
}
.mobile-menu-button span {
  width: 24px !important;
  height: 2px !important;
  background: var(--text-primary) !important;
  margin: 3px 0 !important;
  transition: all 0.3s ease !important;
  transform-origin: center !important;
}
.mobile-menu-button.active span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px) !important;
}
.mobile-menu-button.active span:nth-child(2) {
  opacity: 0 !important;
}
.mobile-menu-button.active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px) !important;
}

.nav-links {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  background: rgba(5, 6, 7, 0.98) !important;
  backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid var(--border-primary) !important;
  flex-direction: column !important;
  padding: 1.5rem !important;
  gap: 1.5rem !important;
  list-style: none !important;
  margin: 0 !important;
  opacity: 0 !important;
  transform: translateY(-10px) !important;
  transition: opacity 0.3s ease, transform 0.3s ease !important;
  pointer-events: none !important;
}
.nav-links.mobile-open {
  display: flex !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
.nav-links li {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.nav-links a:not(.btn-primary) {
  display: flex !important;
  align-items: center !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  font-size: 1.1rem !important;
  letter-spacing: -0.01em !important;
  padding: 0.75rem 0 !important;
  width: 100% !important;
  min-height: 44px !important;
}
.nav-links a:not(.btn-primary):hover {
  color: var(--green-primary) !important;
}
.nav-links .btn-primary {
  width: 100% !important;
  justify-content: center !important;
  margin-top: 0.5rem !important;
}

@media (min-width: 768px) {
  .mobile-menu-button {
    display: none !important;
  }
  .nav-links {
    display: flex !important;
    position: static !important;
    flex-direction: row !important;
    background: none !important;
    backdrop-filter: none !important;
    border: none !important;
    padding: 0 !important;
    gap: 2rem !important;
    align-items: center !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }
  .nav-links li {
    width: auto !important;
  }
  .nav-links a:not(.btn-primary) {
    font-size: 0.95rem !important;
    padding: 0 !important;
    min-height: auto !important;
    width: auto !important;
    position: relative !important;
  }
  .nav-links a:not(.btn-primary)::after {
    content: "" !important;
    position: absolute !important;
    bottom: -4px !important;
    left: 0 !important;
    width: 0 !important;
    height: 2px !important;
    background: var(--green-primary) !important;
    transition: width 0.3s ease !important;
  }
  .nav-links a:not(.btn-primary):hover::after {
    width: 100% !important;
  }
  .nav-links .btn-primary {
    margin-top: 0 !important;
  }
  .logo {
    font-size: 1.5rem !important;
  }
  .logo img {
    height: 2.5rem !important;
  }
}
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding-top: calc(var(--nav-height) + var(--space-16));
  padding-bottom: var(--space-12);
  position: relative;
  overflow: hidden;
  background: radial-gradient(ellipse 1200px 600px at 50% -200px, rgba(140, 198, 63, 0.06), transparent 70%), linear-gradient(135deg, #0a0a0a 0%, #111111 50%, #0f0f0f 100%);
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 1000px 500px at 50% 0%, rgba(140, 198, 63, 0.08), transparent 60%), radial-gradient(circle 800px at 20% 80%, rgba(140, 198, 63, 0.06), transparent 50%), radial-gradient(circle 600px at 80% 20%, rgba(255, 255, 255, 0.03), transparent 50%);
  pointer-events: none;
  z-index: 1;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(140, 198, 63, 0.12) 1px, transparent 1px), linear-gradient(90deg, rgba(140, 198, 63, 0.12) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.8;
  pointer-events: none;
  transform: perspective(800px) rotateX(25deg);
  transform-origin: center top;
  mask: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
  -webkit-mask: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
}

.hero-grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 10;
  max-width: 1600px;
  margin: 0 auto;
  gap: var(--space-12);
}
@media (max-width: 1920px) {
  .hero-grid {
    margin: var(--space-12) auto;
  }
}
@media (min-width: 1024px) and (max-width: 1920px) {
  .hero-grid {
    gap: var(--space-16);
    margin: var(--space-16) auto;
  }
}

.hero-content {
  text-align: center;
  width: 100%;
}

.hero-eyebrow {
  display: inline-block;
  padding: 0.375rem 0.875rem;
  background: rgba(140, 198, 63, 0.08);
  color: var(--green-primary);
  border: 1px solid rgba(140, 198, 63, 0.2);
  border-radius: 16px;
  font-size: 0.8rem;
  font-weight: var(--font-medium);
  margin-bottom: var(--space-4);
  letter-spacing: 0.02em;
}
@media (min-width: 1024px) {
  .hero-eyebrow {
    margin-bottom: var(--space-5);
  }
}

.hero-title {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: var(--font-extrabold);
  line-height: 1.15;
  margin-bottom: var(--space-6);
  color: var(--text-primary);
  letter-spacing: var(--tracking-tighter);
}
@media (min-width: 1024px) {
  .hero-title {
    font-size: clamp(2.75rem, 4.5vw, 4rem);
    line-height: 1.1;
  }
}
.hero-title .accent {
  color: var(--green-primary);
  background: linear-gradient(135deg, var(--green-primary), #9AE66E);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-subtitle {
  font-size: 1.125rem;
  color: var(--text-secondary);
  margin-bottom: var(--space-8);
  max-width: 800px;
  line-height: 1.6;
  font-weight: 400;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .hero-subtitle {
    font-size: 1.25rem;
    line-height: 1.55;
  }
}

.hero-cta {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
  justify-content: center;
}
@media (min-width: 640px) {
  .hero-cta {
    flex-direction: row;
    gap: var(--space-5);
  }
}

.hero-trust-note {
  font-size: var(--text-sm);
  color: var(--text-muted);
  text-align: center;
  margin-top: var(--space-5);
}

.hero-visual {
  position: relative;
  transform-style: preserve-3d;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.hero-mockup-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.safari-mockup {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-lg);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 900px;
}
@media (min-width: 768px) {
  .safari-mockup {
    max-width: 1000px;
  }
}
@media (min-width: 1024px) {
  .safari-mockup {
    max-width: 1200px;
  }
}

.safari-window {
  position: relative;
}

.safari-titlebar {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border-primary);
}

.safari-controls {
  display: flex;
  gap: var(--space-1);
}

.safari-controls .control {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}
.safari-controls .control.close {
  background: #ff5f57;
}
.safari-controls .control.minimize {
  background: #ffbd2e;
}
.safari-controls .control.maximize {
  background: #28ca42;
}

.safari-title {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-left: auto;
}

.safari-content img {
  width: 100%;
  height: auto;
  display: block;
}

.hero-phone {
  position: absolute;
  bottom: -10%;
  right: -6%;
  width: 24%;
  z-index: 15;
  transform: rotate(-4deg);
}
@media (max-width: 1200px) {
  .hero-phone {
    right: -4%;
    width: 22%;
    bottom: -8%;
    transform: rotate(-3deg);
  }
}
@media (max-width: 1023px) {
  .hero-phone {
    display: none;
  }
}

.phone-frame {
  background: var(--bg-secondary);
  border: 6px solid var(--bg-tertiary);
  border-radius: 28px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  position: relative;
}
.phone-frame::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 3px;
  background: var(--bg-primary);
  border-radius: var(--radius-full);
  z-index: var(--z-above);
}

.phone-screen img {
  width: 100%;
  height: auto;
  display: block;
}

.benefits-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}
@media (min-width: 768px) {
  .benefits-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-8);
  }
}

@media (min-width: 768px) {
  .section--four-up .benefits-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.benefit-card {
  text-align: center;
  padding: var(--space-8);
}
.benefit-card h3 {
  font-size: var(--text-xl);
  font-weight: var(--font-bold);
  margin-bottom: var(--space-4);
  color: var(--text-primary);
}
.benefit-card p {
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
  margin: 0;
}

.workflow-container {
  position: relative;
}

.workflow-visual {
  position: relative;
}

.workflow-steps {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}
@media (max-width: 767px) {
  .workflow-steps {
    position: relative;
  }
  .workflow-steps::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 16px;
    bottom: 16px;
    width: 2px;
    background: var(--border-green-muted);
    z-index: 0;
  }
}
@media (min-width: 768px) {
  .workflow-steps {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    grid-template-rows: auto auto;
    align-items: start;
    -moz-column-gap: var(--space-4);
         column-gap: var(--space-4);
    row-gap: var(--space-10);
  }
  .workflow-steps > :nth-child(6) {
    display: none;
  }
  .workflow-steps > :nth-child(7) {
    grid-row: 2;
    grid-column: 1;
  }
  .workflow-steps > :nth-child(8) {
    grid-row: 2;
    grid-column: 2;
  }
  .workflow-steps > :nth-child(9) {
    grid-row: 2;
    grid-column: 3;
  }
  .workflow-steps > :nth-child(10) {
    grid-row: 2;
    grid-column: 4;
  }
  .workflow-steps > :nth-child(11) {
    grid-row: 2;
    grid-column: 5;
  }
}

.workflow-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
}
@media (min-width: 768px) {
  .workflow-step {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .workflow-step {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    max-width: none;
    gap: var(--space-4);
    z-index: 1;
  }
}

.workflow-step .step-number {
  margin-bottom: var(--space-3);
}
@media (max-width: 767px) {
  .workflow-step .step-number {
    margin-bottom: 0;
    flex-shrink: 0;
  }
}

@media (max-width: 767px) {
  .workflow-step .step-content {
    flex: 1;
  }
}
.workflow-step .step-content h3 {
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  margin-bottom: var(--space-1);
  color: var(--text-primary);
}
.workflow-step .step-content p {
  font-size: var(--text-sm);
  color: var(--text-muted);
  line-height: var(--leading-snug);
  margin: 0;
}
.workflow-step .step-content .step-contrast {
  font-size: var(--text-xs);
  color: var(--text-subtle);
  font-style: italic;
  margin-top: var(--space-1);
}

.workflow-connector {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  margin: 0 var(--space-2);
}
@media (max-width: 767px) {
  .workflow-connector {
    display: none;
  }
}
.workflow-connector svg {
  opacity: 0.6;
  transition: opacity var(--transition);
}
.workflow-connector svg:hover {
  opacity: 1;
}
.workflow-connector svg path {
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  animation: workflow-line-draw 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  animation-delay: calc(0.3s + var(--connector-i, 1) * 0.15s);
}

@keyframes workflow-line-draw {
  to {
    stroke-dashoffset: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .workflow-connector svg path {
    animation: none;
    stroke-dashoffset: 0;
  }
}
.workflow-benefits .benefit-highlight {
  background: var(--bg-tertiary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  text-align: center;
  transition: all var(--transition);
  position: relative;
  overflow: hidden;
}
.workflow-benefits .benefit-highlight::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--green-subtle);
  opacity: 0;
  transition: opacity var(--transition);
  pointer-events: none;
}
.workflow-benefits .benefit-highlight:hover {
  transform: translateY(-4px);
  border-color: var(--border-green-muted);
  box-shadow: var(--shadow-lg), var(--glow-green-subtle);
}
.workflow-benefits .benefit-highlight:hover::before {
  opacity: 1;
}
.workflow-benefits .benefit-highlight-icon {
  width: 3rem;
  height: 3rem;
  background: var(--green-subtle);
  border: 1px solid var(--border-green-muted);
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--space-4) auto;
  color: var(--green-primary);
  position: relative;
  z-index: var(--z-above);
}
.workflow-benefits h4 {
  font-size: var(--text-lg);
  font-weight: var(--font-semibold);
  margin-bottom: var(--space-3);
  color: var(--text-primary);
  position: relative;
  z-index: var(--z-above);
}
.workflow-benefits p {
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
  font-size: var(--text-sm);
  margin: 0;
  position: relative;
  z-index: var(--z-above);
}

@media (max-width: 768px) {
  .hero {
    padding-top: calc(var(--nav-height) + var(--space-8));
    text-align: center;
  }
  .hero-title {
    font-size: clamp(var(--text-3xl), 8vw, var(--text-5xl));
  }
  .hero-subtitle {
    font-size: var(--text-base);
    margin-left: auto;
    margin-right: auto;
  }
  .hero-cta {
    flex-direction: column;
    gap: var(--space-3);
  }
  .safari-mockup {
    transform: none;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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SkE7RUFBUztBRm9KVDs7QUVuSkE7RUFBVTtBRnVKVjs7QUV0SkE7RUFBZ0I7QUYwSmhCOztBRXpKQTtFQUFRO0FGNkpSOztBRTVKQTtFQUFlO0FGZ0tmOztBRS9KQTtFQUFRO0FGbUtSOztBRWxLQTtFQUFVO0FGc0tWOztBRW5LQTtFQUFnQjtBRnVLaEI7O0FFdEtBO0VBQWU7QUYwS2Y7O0FFektBO0VBQWE7QUY2S2I7O0FFNUtBO0VBQWtCO0FGZ0xsQjs7QUUvS0E7RUFBbUI7QUZtTG5COztBRWxMQTtFQUFpQjtBRnNMakI7O0FFckxBO0VBQWU7QUZ5TGY7O0FFeExBO0VBQVk7QUY0TFo7O0FFM0xBO0VBQWE7QUYrTGI7O0FFNUxBO0VBQVM7QUZnTVQ7O0FFL0xBO0VBQVM7QUZtTVQ7O0FFbE1BO0VBQVM7QUZzTVQ7O0FFck1BO0VBQVM7QUZ5TVQ7O0FFeE1BO0VBQVM7QUY0TVQ7O0FFM01BO0VBQVU7QUYrTVY7O0FFMU1BO0VBQU87QUY4TVA7O0FFN01BO0VBQVE7QUZpTlI7O0FFaE5BO0VBQVE7QUZvTlI7O0FFbk5BO0VBQVE7QUZ1TlI7O0FFdE5BO0VBQVE7QUYwTlI7O0FFek5BO0VBQVM7QUY2TlQ7O0FFNU5BO0VBQVM7QUZnT1Q7O0FFN05BO0VBQU87QUZpT1A7O0FFaE9BO0VBQVE7RUFBNkI7QUZxT3JDOztBRXBPQTtFQUFRO0VBQTZCO0FGeU9yQzs7QUV4T0E7RUFBUTtFQUE4QjtBRjZPdEM7O0FFNU9BO0VBQVE7RUFBOEI7QUZpUHRDOztBRTdPQTtFQUNFO0VBQ0E7RUFDQTtBRmdQRjs7QUUzT0E7RUFDRTtFQUNBO0FGOE9GOztBRTNPQTtFQUNFO0FGOE9GOztBRTNPQTtFQUNFO0VBQ0E7QUY4T0Y7O0FFek9BO0VBQ0U7RUFDQTtBRjRPRjs7QUU5T0E7RUFDRTtFQUNBO0FGNE9GOztBRXpPQTtFQUNFO0VBQ0E7QUY0T0Y7O0FFdk9BO0VBQ0U7QUYwT0Y7O0FFdk9BO0VBQ0U7QUYwT0Y7O0FFdk9BO0VBQ0U7RUFDQTtBRjBPRjtBRXhPRTtFQUNFO0FGME9KOztBRXBPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRnVPRjs7QUVsT0E7RUFDRTtJQUFpQjtFRnNPakI7QUFDRjtBRXBPQTtFQUNFO0lBQWtCO0VGdU9sQjtFRXRPQTtJQUFnQjtFRnlPaEI7QUFDRjtBRXZPQTtFQUNFO0lBQWU7RUYwT2Y7QUFDRjtBRzNpQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7QUgyaUJGO0FHemlCRTtFQUNFO0VBQ0E7QUgyaUJKO0FHeGlCRTtFQUNFO0VBQ0E7QUgwaUJKO0FHdmlCRTtFQUNFO0VBQ0E7RUFDQTtBSHlpQko7O0FHbGlCQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FIb2lCRjtBR2xpQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIb2lCSjtBR2ppQkU7RUFDRTtFQUNBO0FIbWlCSjs7QUc5aEJBO0VBRUU7RUFDQTtFQUNBO0FIZ2lCRjtBRzloQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIZ2lCSjtBRzdoQkU7RUFDRTtFQUNBO0FIK2hCSjs7QUcxaEJBO0VBRUU7RUFDQTtFQUNBO0FINGhCRjtBRzFoQkU7RUFDRTtFQUNBO0FINGhCSjs7QUd2aEJBO0VBQ0U7RUFDQTtFQUNBO0FIMGhCRjs7QUd2aEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUgwaEJGOztBR2poQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSG9oQkY7QUdsaEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUhvaEJKO0FHamhCRTtFQUNFO0VBQ0E7RUFDQTtBSG1oQko7QUdqaEJJO0VBQ0U7QUhtaEJOOztBRzlnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBSGloQkY7O0FHOWdCQTtFQUNFO0VBQ0E7RUFDQTtBSGloQkY7O0FHOWdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FIaWhCRjs7QUc3Z0JBO0VBQ0U7QUhnaEJGO0FHOWdCRTtFQUNFO0FIZ2hCSjs7QUc1Z0JBO0VBQ0U7RUFDQTtBSCtnQkY7O0FHMWdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUg2Z0JGOztBR3hnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSDJnQkY7O0FHeGdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUgyZ0JGOztBR3RnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUh5Z0JGOztBR3RnQkE7RUFDRTtFQUNBO0VBQ0E7QUh5Z0JGOztBR3RnQkE7RUFDRTtFQUNBO0VBQ0E7QUh5Z0JGOztBR3BnQkE7RUFDRTtFQUNBO0VBQ0E7QUh1Z0JGO0FHcmdCRTtFQUNFO0FIdWdCSjs7QUduZ0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHNnQkY7QUdwZ0JFO0VBQ0U7QUhzZ0JKOztBR2xnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBSHFnQkY7O0FHaGdCQTtFQUNFO0VBQ0E7RUFDQTtBSG1nQkY7O0FHaGdCQTtFQUNFO0VBQ0E7RUFDQTtBSG1nQkY7QUdqZ0JFO0VBTEY7SUFNSTtFSG9nQkY7QUFDRjs7QUdoZ0JFO0VBREY7SUFFSTtFSG9nQkY7QUFDRjs7QUdqZ0JBO0VBQ0U7RUFDQTtFQUNBO0FIb2dCRjtBR2xnQkU7RUFDRTtFQUNBO0VBQ0E7QUhvZ0JKO0FHamdCRTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSG1nQko7QUdqZ0JJOztFQUNFO0VBQ0E7RUFDQTtBSG9nQk47QUdoZ0JFO0VBQ0U7RUFDQTtBSGtnQko7QUcvZkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBSGlnQko7O0FHN2ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIZ2dCRjs7QUc3ZkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUhnZ0JGOztBRzdmQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUhnZ0JGO0FHOWZFO0VBQ0U7RUFDQTtBSGdnQko7QUc3ZkU7RUFDRTtFQUNBO0FIK2ZKO0FHNWZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUg4Zko7O0FHeGZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUgyZkY7O0FHeGZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUgyZkY7O0FHeGZBO0VBQ0U7QUgyZkY7O0FHamZBO0VBQ0U7RUFDQTtFQUNBO0FIb2ZGOztBR2pmQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FIb2ZGO0FHbGZFO0VBQ0U7QUhvZko7O0FHaGZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSG1mRjs7QUdoZkE7RUFDRTtFQUNBO0VBQ0E7QUhtZkY7O0FHOWVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSGlmRjtBRy9lRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSGlmSjtBRzllRTtFQUNFO0VBQ0E7QUhnZko7QUc3ZUU7RUFDRTtFQUNBO0VBQ0E7QUgrZUo7QUc3ZUk7RUFBVTtBSGdmZDtBRy9lSTtFQUFhO0FIa2ZqQjtBR2pmSTtFQUFhO0FIb2ZqQjtBR2pmRTtFQUNFO0VBQ0E7RUFDQTtBSG1mSjtBR2hmRTtFQUNFO0FIa2ZKO0FHaGZJO0VBQ0U7RUFDQTtFQUNBO0FIa2ZOOztBRzdlQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSGdmRjtBRzllRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSGdmSjtBRzdlRTtFQUNFO0VBQ0E7RUFDQTtBSCtlSjs7QUd6ZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FINGVGO0FHMWVFO0VBUEY7SUFRSTtJQUNBO0VINmVGO0FBQ0Y7O0FHMWVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSDZlRjs7QUcxZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBSDZlRjs7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O0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUowekRKOztBSXZ6REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBSjB6REo7O0FJdnpEQTtFQUNJO0FKMHpESjs7QUl2ekRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSjB6REo7O0FJdnpEQTtFQUNJO0FKMHpESjs7QUl2ekRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKMHpESjs7QUl2ekRBO0VBQ0k7RUFDQTtBSjB6REo7O0FJdHpEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUp5ekRKOztBSXR6REE7RUFDSTtFQUNBO0VBQ0E7QUp5ekRKOztBSXR6REE7RUFDSTtFQUNBO0VBQ0E7QUp5ekRKOztBSXR6REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSnl6REo7O0FJdHpEQTtFQUNJO0VBQ0E7QUp5ekRKOztBSXR6REE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKeXpESjs7QUl0ekRBO0VBQ0k7QUp5ekRKOztBSXJ6REE7RUFDSTtJQUNJO0VKd3pETjtFSXJ6REU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUp1ekROO0VJcHpERTtJQUNJO0VKc3pETjtFSW56REU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VKcXpETjtFSWx6REU7SUFDSTtFSm96RE47RUlqekRFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFSm16RE47RUloekRFO0lBQ0k7RUprekROO0VJL3lERTtJQUNJO0lBQ0E7SUFDQTtFSml6RE47RUk5eURFO0lBQ0k7RUpnekROO0VJN3lERTtJQUNJO0VKK3lETjtFSTV5REU7SUFDSTtFSjh5RE47QUFDRjtBSXp5REE7RUFDSTtJQUFXO0lBQWU7RUo2eUQ1QjtFSTV5REU7SUFBTTtJQUFlO0VKZ3pEdkI7QUFDRjtBSTl5REE7RUFDSTtJQUFLO0lBQTJDO0VKa3pEbEQ7RUlqekRFO0lBQU07RUpvekRSO0VJbnpERTtJQUFNO0VKc3pEUjtFSXJ6REU7SUFBTztJQUE4QztFSnl6RHZEO0FBQ0Y7QUl2ekRBO0VBQ0k7SUFBVztFSjB6RGI7RUl6ekRFO0lBQU07RUo0ekRSO0FBQ0Y7QUkxekRBO0VBQ0k7SUFBTztJQUE2QjtFSjh6RHRDO0VJN3pERTtJQUFLO0lBQTBCO0VKaTBEakM7QUFDRjtBSS96REE7RUFDSTtJQUFPO0lBQThCO0VKbTBEdkM7RUlsMERFO0lBQUs7SUFBMEI7RUpzMERqQztBQUNGO0FJcDBEQTtFQUNJO0lBQU87SUFBNkI7RUp3MER0QztFSXYwREU7SUFBSztJQUEwQjtFSjIwRGpDO0FBQ0Y7QUl6MERBO0VBQ0k7SUFBTztJQUE2QjtFSjYwRHRDO0VJNTBERTtJQUFLO0lBQTBCO0VKZzFEakM7QUFDRjtBSTkwREE7RUFDSTtJQUFPO0lBQXVCO0VKazFEaEM7RUlqMURFO0lBQUs7SUFBcUI7RUpxMUQ1QjtBQUNGO0FJajFEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUptMURKOztBSWgxREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw4UUFDSTtFQUdKO0FKZzFESjs7QUk3MERBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUpnMURKOztBSTcwREE7RUFDSTtFQUNBO0FKZzFESjs7QUk3MERBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUpnMURKOztBSTcwREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSmcxREo7O0FJNzBEQTtFQUNJO0VBQ0E7QUpnMURKOztBSTcwREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUpnMURKOztBSTcwREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSmcxREo7O0FJNzBEQTtFQUNJO0VBQ0E7QUpnMURKOztBSTcwREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKZzFESjs7QUk3MERBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKZzFESjs7QUk3MERBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKZzFESjs7QUk3MERBO0VBQ0k7RUFDQTtFQUNBO0FKZzFESjs7QUl2MERBO0VBQ0k7RUFDQTtBSjAwREo7O0FJdjBEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKMDBESjs7QUl2MERBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUowMERKOztBSXIwREE7RUFDSTtFQUNBO0FKdzBESjs7QUlyMERBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSncwREo7O0FJcjBEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FKdzBESjs7QUluMERBO0VBQ0k7RUFDQTtFQUNBO0FKczBESjs7QUluMERBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUpzMERKOztBSW4wREE7RUFDSTtBSnMwREo7O0FJbjBEQTtFQUNJO0FKczBESjs7QUluMERBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUpzMERKOztBSS96REk7RUFESjtJQUVRO0VKbTBETjtBQUNGOztBSWgwREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSm0wREo7O0FJaDBEQTtFQUNJO0FKbTBESjs7QUloMERBO0VBQ0k7RUFDQTtFQUNBO0FKbTBESjs7QUloMERBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKbTBESjs7QUloMERBO0VBQ0k7RUFDQTtF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QW43RUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQXE3RUo7QUFsN0VFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFvN0VKOztBQWg3RUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQW03RUY7QUE3NkVFO0VBVkY7SUFXSTtFQWc3RUY7QUFDRjtBQTk2RUU7RUFDRTtFQUNBO0FBZzdFSjtBQTk2RUk7RUFDRTtBQWc3RU47QUF2NkVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUF5NkVKOztBQXI2RUE7RUFDRTtJQUFLO0VBeTZFTDtBQUNGO0FBdDZFQTtFQUNFO0lBQ0U7SUFDQTtFQXc2RUY7QUFDRjtBQW42RUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBcTZFSjtBQW42RUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXE2RU47QUFsNkVJO0VBQ0U7RUFDQTtFQUNBO0FBbzZFTjtBQWw2RU07RUFDRTtBQW82RVI7QUEvNUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBaTZFSjtBQTk1RUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFnNkVKO0FBNzVFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQSs1RUo7O0FBejVFQTtFQUNFO0lBQ0U7SUFDQTtFQTQ1RUY7RUF6NUVBO0lBQ0U7RUEyNUVGO0VBeDVFQTtJQUNFO0lBQ0E7SUFDQTtFQTA1RUY7RUF2NUVBO0lBQ0U7SUFDQTtFQXk1RUY7RUF0NUVBO0lBQ0U7RUF3NUVGO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9tYXJrZXRpbmcvc3R5bGVzL21hcmtldGluZy1zaW1wbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbWFya2V0aW5nL3N0eWxlcy9fdG9rZW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL21hcmtldGluZy9zdHlsZXMvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbWFya2V0aW5nL3N0eWxlcy9fY29tcG9uZW50cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9tYXJrZXRpbmcvc3R5bGVzL19sZWdhY3kuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBmYW5YWEwgTWFya2V0aW5nIC0gTGluZWFyLWluc3BpcmVkIERlc2lnbiBTeXN0ZW1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gUGFydGlhbHMgYXJlIHB1cmUgQ1NTIHJ1bGVzICsgQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzIHdpdGggbm8gU0NTUyBleHBvcnRzLFxuLy8gc28gQHVzZSB3aXRob3V0IGFsaWFzZXMgc2ltcGx5IGVtaXRzIHRoZWlyIENTUyBpbnRvIHRoZSByb290IHN0eWxlc2hlZXQuXG4vLyAoTWlncmF0ZWQgZnJvbSBAaW1wb3J0IGFmdGVyIHRoZSBEYXJ0IFNhc3MgMy4wIGRlcHJlY2F0aW9uIHdhcm5pbmcuKVxuQHVzZSAndG9rZW5zJztcbkB1c2UgJ2Jhc2UnO1xuQHVzZSAnY29tcG9uZW50cyc7XG5AdXNlICdsZWdhY3knO1xuXG4vLyDilIDilIAgQ3VzdG9tIE1hcmtldGluZyBTZWN0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLy8g4pSA4pSAIEhlYWRlciAmIE5hdmlnYXRpb24gKEVuaGFuY2VkIHdpdGggaW5saW5lIHN0eWxlIGNvbXBhdGliaWxpdHkpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA1MDsgLy8gT3ZlcnJpZGUgaW5saW5lIHotaW5kZXhcbiAgYmFja2dyb3VuZDogcmdiYSg1LCA2LCA3LCAwLjk1KSAhaW1wb3J0YW50OyAvLyBPdmVycmlkZSBpbmxpbmUgYmFja2dyb3VuZFxuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCkgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBcbiAgJi5zY3JvbGxlZCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMSwgMTMsIDE2LCAwLjk4KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJvcmRlci1ncmVlbi1tdXRlZCkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICB9XG59XG5cbi5oZWFkZXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5sb2dvIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGdhcDogMC43NXJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbSAhaW1wb3J0YW50O1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbSAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIFxuICBpbWcge1xuICAgIGhlaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKTtcbiAgfVxuICBcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWdyZWVuLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgXG4gICAgaW1nIHtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICB9XG4gIH1cbn1cblxuLy8gTW9iaWxlIE5hdmlnYXRpb24gQnV0dG9uXG4ubW9iaWxlLW1lbnUtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAzMnB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgXG4gIHNwYW4ge1xuICAgIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAycHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAzcHggMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgJi5hY3RpdmUgc3BhbjpudGgtY2hpbGQoMSkge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoNnB4LCA2cHgpICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gICYuYWN0aXZlIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gICYuYWN0aXZlIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSg2cHgsIC02cHgpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gTmF2aWdhdGlvbiBMaW5rc1xuLm5hdi1saW5rcyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMTAwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoNSwgNiwgNywgMC45OCkgIWltcG9ydGFudDtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE2cHgpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgZ2FwOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG4gIFxuICAmLm1vYmlsZS1vcGVuIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSAhaW1wb3J0YW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIGxpIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLy8gUGxhaW4gbmF2IGxpbmtzIChOT1QgdGhlIC5idG4tcHJpbWFyeSBDVEEg4oCUIGl0IGdldHMgaXRzIG93biBjaHJvbWUgZnJvbVxuICAvLyB0aGUgdW5pZmllZCBidXR0b24gcnVsZSBpbiBfY29tcG9uZW50cy5zY3NzKS5cbiAgYTpub3QoLmJ0bi1wcmltYXJ5KSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxLjFyZW0gIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogNDRweCAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tZ3JlZW4tcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBNb2JpbGUgbmF2IENUQTogb25seSB0aGUgbGF5b3V0IGRpZmZlcnMgZnJvbSB0aGUgc3lzdGVtIGRlZmF1bHRcbiAgLy8gKGZ1bGwtd2lkdGggaW5zaWRlIHRoZSBkcmF3ZXIsIHNsaWdodCB0b3AgbWFyZ2luIGZyb20gc2libGluZ3MpLlxuICAvLyBDb2xvdXIsIHJhZGl1cywgaG92ZXIsIHBhZGRpbmcsIGZvbnQtc2l6ZSBjb21lIGZyb20gdGhlIHVuaWZpZWRcbiAgLy8gLmJ0bi1wcmltYXJ5IHJ1bGUgaW4gX2NvbXBvbmVudHMuc2Nzcy5cbiAgLmJ0bi1wcmltYXJ5IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gRGVza3RvcCBOYXZpZ2F0aW9uIE92ZXJyaWRlc1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tb2JpbGUtbWVudS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLm5hdi1saW5rcyB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBnYXA6IDJyZW0gIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgXG4gICAgbGkge1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLy8gUGxhaW4gbmF2IGxpbmtzOiB1bmRlcmxpbmUgZ3Jvd3Mgb24gaG92ZXIuIFRoZSAuYnRuLXByaW1hcnkgaGFuZGxlc1xuICAgIC8vIGl0cyBvd24gbGlmdCB2aWEgdGhlIHVuaWZpZWQgcnVsZSDigJQgbm8gZ2xvYmFsIGE6aG92ZXIgdHJhbnNmb3JtLlxuICAgIGE6bm90KC5idG4tcHJpbWFyeSkge1xuICAgICAgZm9udC1zaXplOiAwLjk1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJycgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogLTRweCAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8vIERlc2t0b3AgbmF2IENUQTogZHJvcCB0aGUgbW9iaWxlIGRyYXdlcidzIGZ1bGwtd2lkdGggbWFyZ2luIG9ubHkuXG4gICAgLy8gU2l6aW5nIGFuZCBob3ZlciBjb21lIGZyb20gdGhlIHVuaWZpZWQgLmJ0bi1wcmltYXJ5IHJ1bGUuXG4gICAgLmJ0bi1wcmltYXJ5IHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgXG4gIC5sb2dvIHtcbiAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgIFxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDIuNXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIAgSGVybyBTZWN0aW9uIChMaW5lYXItaW5zcGlyZWQpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uaGVybyB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvLyBOYXYgaXMgcG9zaXRpb246Zml4ZWQgYW5kIDgwcHggdGFsbC4gQWRkaW5nIHNwYWNlLTE2ICg2NHB4KSBvZiBicmVhdGhpbmdcbiAgLy8gcm9vbSBiZWxvdyBpdCBzbyB0aGUgZXllYnJvdyBkb2Vzbid0IHNpdCBmbHVzaCBhZ2FpbnN0IHRoZSBuYXYgZWRnZS5cbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tbmF2LWhlaWdodCkgKyB2YXIoLS1zcGFjZS0xNikpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMTIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6XG4gICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMTIwMHB4IDYwMHB4IGF0IDUwJSAtMjAwcHgsIHJnYmEoMTQwLCAxOTgsIDYzLCAwLjA2KSwgdHJhbnNwYXJlbnQgNzAlKSxcbiAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMGEwYTBhIDAlLCAjMTExMTExIDUwJSwgIzBmMGYwZiAxMDAlKTtcbn1cblxuLy8gU3R1bm5pbmcgUGFnZWRvbmUtc3R5bGUgYmFja2dyb3VuZCBwYXR0ZXJuc1xuLmhlcm86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiBcbiAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSAxMDAwcHggNTAwcHggYXQgNTAlIDAlLCByZ2JhKDE0MCwgMTk4LCA2MywgMC4wOCksIHRyYW5zcGFyZW50IDYwJSksXG4gICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSA4MDBweCBhdCAyMCUgODAlLCByZ2JhKDE0MCwgMTk4LCA2MywgMC4wNiksIHRyYW5zcGFyZW50IDUwJSksXG4gICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSA2MDBweCBhdCA4MCUgMjAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpLCB0cmFuc3BhcmVudCA1MCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTtcbn1cblxuLmhlcm86OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IFxuICAgIGxpbmVhci1ncmFkaWVudChyZ2JhKDE0MCwgMTk4LCA2MywgMC4xMikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLFxuICAgIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgxNDAsIDE5OCwgNjMsIDAuMTIpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTtcbiAgYmFja2dyb3VuZC1zaXplOiA2MHB4IDYwcHg7XG4gIG9wYWNpdHk6IDAuODtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoODAwcHgpIHJvdGF0ZVgoMjVkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xuICBtYXNrOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgYmxhY2sgMjAlLCBibGFjayA4MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAtd2Via2l0LW1hc2s6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCBibGFjayAyMCUsIGJsYWNrIDgwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG59XG5cbi5oZXJvLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGdhcDogdmFyKC0tc3BhY2UtMTIpO1xuICBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE5MjBweCkge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtMTIpIGF1dG87XG4gIH1cbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxOTIwcHgpIHtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTE2KTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLTE2KSBhdXRvO1xuICB9XG59XG5cbi5oZXJvLWNvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBIZXJvIGV5ZWJyb3cgLSBDbGVhbiBhbmQgbWluaW1hbFxuLmhlcm8tZXllYnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zNzVyZW0gMC44NzVyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMTQwLCAxOTgsIDYzLCAwLjA4KTtcbiAgY29sb3I6IHZhcigtLWdyZWVuLXByaW1hcnkpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0MCwgMTk4LCA2MywgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTUpO1xuICB9XG59XG5cbi5oZXJvLXRpdGxlIHtcbiAgLy8gTW9iaWxlL3RhYmxldDogMzIg4oaSIDQ4IHB4LiBEZXNrdG9wOiA0NCDihpIgNjQgcHguIERvd24gZnJvbSA3NiBweCBtYXggLS1cbiAgLy8gdGhlIHByZXZpb3VzIHNpemUgZG9taW5hdGVkIHRoZSBoZXJvIGFuZCBwdXNoZWQgdGhlIHRydXN0IG5vdGUgKyBDVEFzXG4gIC8vIG91dCBvZiB0aGUgZm9sZC4gUGxhbiB0YXJnZXQgd2FzIDU2LTcyIHB4OyA2NCBweCBzaXRzIGF0IHRoZSBsb3dlciBlbmRcbiAgLy8gZm9yIGEgY2FsbWVyIEIyQiBmZWVsLlxuICBmb250LXNpemU6IGNsYW1wKDJyZW0sIDV2dywgM3JlbSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWV4dHJhYm9sZCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS02KTtcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS10cmFja2luZy10aWdodGVyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyLjc1cmVtLCA0LjV2dywgNHJlbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgfVxuICBcbiAgLmFjY2VudCB7XG4gICAgY29sb3I6IHZhcigtLWdyZWVuLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdyZWVuLXByaW1hcnkpLCAjOUFFNjZFKTtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICB9XG59XG5cbi5oZXJvLXN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtOCk7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIFxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICB9XG59XG5cbi5oZXJvLWN0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS01KTtcbiAgfVxuICAvLyBTaXppbmcgY29tZXMgZnJvbSAuYnRuLWxnIG9uIHRoZSBidXR0b25zIHRoZW1zZWx2ZXMgKHNldCBpbiBoZXJvLmh0bWwudHdpZyksXG4gIC8vIHNvIGhlcm8gQ1RBcyBtYXRjaCB0aGUgZmluYWwtQ1RBIGJ1dHRvbiBleGFjdGx5IOKAlCBzYW1lIDUycHggaGVpZ2h0LFxuICAvLyBzYW1lIDE4cHggZm9udCwgc2FtZSAxNi8zMiBwYWRkaW5nLiBObyBiZXNwb2tlIG92ZXJyaWRlcyBoZXJlLlxufVxuXG4vLyBUcnVzdCBub3RlIHVuZGVyIENUQXNcbi5oZXJvLXRydXN0LW5vdGUge1xuICBmb250LXNpemU6IHZhcigtLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi8vIEhlcm8gdmlzdWFsIC0gUGFnZWRvbmUgc3R5bGUgd2l0aCBvdmVybGFwcGluZyBtb2NrdXBzXG4uaGVyby12aXN1YWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5oZXJvLW1vY2t1cC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vLyBTYWZhcmkgbW9ja3VwIC0gUGFnZWRvbmUgc3R5bGUgZGVza3RvcCBtb2NrdXBcbi5zYWZhcmktbW9ja3VwIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IDAgMTJweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDkwMHB4O1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIH1cbiAgXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgfVxufVxuXG4uc2FmYXJpLXdpbmRvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNhZmFyaS10aXRsZWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXByaW1hcnkpO1xufVxuXG4uc2FmYXJpLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLnNhZmFyaS1jb250cm9scyAuY29udHJvbCB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgXG4gICYuY2xvc2UgeyBiYWNrZ3JvdW5kOiAjZmY1ZjU3OyB9XG4gICYubWluaW1pemUgeyBiYWNrZ3JvdW5kOiAjZmZiZDJlOyB9XG4gICYubWF4aW1pemUgeyBiYWNrZ3JvdW5kOiAjMjhjYTQyOyB9XG59XG5cbi5zYWZhcmktdGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uc2FmYXJpLWNvbnRlbnQge1xuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLyBQaG9uZSBtb2NrdXAgb3ZlcmxheSAtIFBhZ2Vkb25lIHN0eWxlXG4uaGVyby1waG9uZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMTAlO1xuICByaWdodDogLTYlO1xuICB3aWR0aDogMjQlO1xuICB6LWluZGV4OiAxNTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTRkZWcpO1xuICBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHJpZ2h0OiAtNCU7XG4gICAgd2lkdGg6IDIyJTtcbiAgICBib3R0b206IC04JTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7XG4gIH1cbiAgXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5waG9uZS1mcmFtZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gIGJvcmRlcjogNnB4IHNvbGlkIHZhcigtLWJnLXRlcnRpYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7XG4gICAgei1pbmRleDogdmFyKC0tei1hYm92ZSk7XG4gIH1cbn1cblxuLnBob25lLXNjcmVlbiBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8g4pSA4pSAIEJlbmVmaXRzIEdyaWQgKHJlZGVzaWduZWQgYXMgVHJ1c3Qgc2VjdGlvbikg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5iZW5lZml0cy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdhcDogdmFyKC0tc3BhY2UtNik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTgpO1xuICB9XG59XG5cbi5zZWN0aW9uLS1mb3VyLXVwIC5iZW5lZml0cy1ncmlkIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxufVxuXG4uYmVuZWZpdC1jYXJkIHtcbiAgQGV4dGVuZCAuY2FyZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS04KTtcbiAgXG4gIGgzIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQteGwpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICB9XG4gIFxuICBwIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1sZWFkaW5nLXJlbGF4ZWQpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4vLyDilIDilIAgV29ya2Zsb3cgU2VjdGlvbiAoRklHIDEuMCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi53b3JrZmxvdy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi53b3JrZmxvdy12aXN1YWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi53b3JrZmxvdy1zdGVwcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtOCk7XG5cbiAgLy8gTW9iaWxlOiByZW5kZXIgYSBjb250aW51b3VzIHZlcnRpY2FsIGxpbmUgZG93biB0aGUgc3RlcC1jaXJjbGUgY29sdW1uLFxuICAvLyBiZWhpbmQgZWFjaCBzdGVwLiBSZXBsYWNlcyB0aGUgcGVyLWNvbm5lY3RvciByb3RhdGVkLVNWRyBoYWNrIHdoaWNoIGhhZFxuICAvLyBpdHMgdmlzdWFsIGxpbmUgYXQgeD0zMCBmcm9tIHRoZSByb3cgbGVmdCB3aGlsZSB0aGUgc3RlcCBjaXJjbGUncyBjZW50cmVcbiAgLy8gc2l0cyBhdCB4PTE2IOKAlCB0aGV5IG5ldmVyIGFsaWduZWQuIFRoaXMgcHNldWRvLWVsZW1lbnQgaXMgcG9zaXRpb25lZFxuICAvLyBleGFjdGx5IGF0IHRoZSBjaXJjbGUgY29sdW1uIGFuZCBydW5zIGZyb20gdGhlIGZpcnN0IGNpcmNsZSBjZW50cmUgdG9cbiAgLy8gdGhlIGxhc3QsIHdpdGggdGhlIGNpcmNsZXMgb3ZlcmxheWluZyB0aGUgbGluZSBmb3IgYSBjbGVhbiBzdGVwcGVyLlxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxNXB4OyAvLyAoMzJweCBjaXJjbGUgd2lkdGggLyAyKSAtICgycHggbGluZSB3aWR0aCAvIDIpXG4gICAgICB0b3A6IDE2cHg7XG4gICAgICBib3R0b206IDE2cHg7XG4gICAgICB3aWR0aDogMnB4O1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyLWdyZWVuLW11dGVkKTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVza3RvcDogMyszIGdyaWQuIFNpeCBzdGVwIGNhcmRzIGF0IDE4MHB4IGluIG9uZSByb3cgbGVmdCBubyByb29tIGZvclxuICAvLyBHZXJtYW4gdGl0bGVzIG9yIHRoZSBcIlN0YXR0OlwiIGxpbmVzOyB0d28gcm93cyBvZiB0aHJlZSBnaXZlIGVhY2ggY2FyZFxuICAvLyB+Mzgw4oCTNDIwcHggdG8gYnJlYXRoZS4gVGhlIGNvbm5lY3RvciBiZXR3ZWVuIHN0ZXAgMyBhbmQgc3RlcCA0ICg2dGggRE9NXG4gIC8vIGNoaWxkIG9mIC53b3JrZmxvdy1zdGVwcykgaXMgaGlkZGVuIHNvIGVhY2ggcm93IHJlYWRzIGNsZWFubHkgTOKGklIuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0byAxZnIgYXV0byAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIGNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLTQpO1xuICAgIHJvdy1nYXA6IHZhcigtLXNwYWNlLTEwKTtcblxuICAgID4gOm50aC1jaGlsZCg2KSAgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgPiA6bnRoLWNoaWxkKDcpICB7IGdyaWQtcm93OiAyOyBncmlkLWNvbHVtbjogMTsgfVxuICAgID4gOm50aC1jaGlsZCg4KSAgeyBncmlkLXJvdzogMjsgZ3JpZC1jb2x1bW46IDI7IH1cbiAgICA+IDpudGgtY2hpbGQoOSkgIHsgZ3JpZC1yb3c6IDI7IGdyaWQtY29sdW1uOiAzOyB9XG4gICAgPiA6bnRoLWNoaWxkKDEwKSB7IGdyaWQtcm93OiAyOyBncmlkLWNvbHVtbjogNDsgfVxuICAgID4gOm50aC1jaGlsZCgxMSkgeyBncmlkLXJvdzogMjsgZ3JpZC1jb2x1bW46IDU7IH1cbiAgfVxufVxuXG4ud29ya2Zsb3ctc3RlcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTQpO1xuICAgIC8vIExpZnQgYWJvdmUgdGhlIGNvbnRpbnVvdXMgdmVydGljYWwgbGluZSBkcmF3biBieSAud29ya2Zsb3ctc3RlcHM6OmJlZm9yZVxuICAgIC8vIHNvIHRoZSBzdGVwIGNpcmNsZSB2aXN1YWxseSBicmVha3MgdGhlIGxpbmUuXG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4ud29ya2Zsb3ctc3RlcCAuc3RlcC1udW1iZXIge1xuICBAZXh0ZW5kIC5zdGVwLW51bWJlcjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIFxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG59XG5cbi53b3JrZmxvdy1zdGVwIC5zdGVwLWNvbnRlbnQge1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1iYXNlKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtc20pO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGVhZGluZy1zbnVnKTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuc3RlcC1jb250cmFzdCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXhzKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zdWJ0bGUpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0xKTtcbiAgfVxufVxuXG4ud29ya2Zsb3ctY29ubmVjdG9yIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCB2YXIoLS1zcGFjZS0yKTtcblxuICAvLyBNb2JpbGU6IGhpZGRlbiDigJQgdGhlIGNvbnRpbnVvdXMgdmVydGljYWwgbGluZSBkcmF3biBieSAud29ya2Zsb3ctc3RlcHM6OmJlZm9yZVxuICAvLyBoYW5kbGVzIHRoZSB2aXN1YWwgY29ubmVjdGlvbiBiZXR3ZWVuIHN0ZXBzLiBBdm9pZHMgdGhlXG4gIC8vIG1pc2FsaWduZWQtcm90YXRlZC1TVkcgYXJ0ZWZhY3QgKHZpc3VhbCBsaW5lIGxhbmRlZCAxNHB4IHRvIHRoZSByaWdodFxuICAvLyBvZiB3aGVyZSB0aGUgc3RlcCBjaXJjbGUgY29sdW1uIGFjdHVhbGx5IGlzKS5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLy8gRHJhdy1vbi1sb2FkIGFuaW1hdGlvbjogZWFjaCBjb25uZWN0b3Igc3RhcnRzIHdpdGggc3Ryb2tlIG9mZnNldCA2MFxuICAvLyAocGF0aCB3aWR0aCkgYW5kIGFuaW1hdGVzIHRvIDAgb3ZlciA2MDBtcy4gU3RhZ2dlcmVkIGJ5IC0tY29ubmVjdG9yLWlcbiAgLy8gc2V0IGlubGluZSBpbiB0aGUgdGVtcGxhdGUgc28gY29uc2VjdXRpdmUgbGluZXMgZHJhdyBpbiBzZXF1ZW5jZS5cbiAgLy8gUnVucyBvbmNlIHBlciBwYWdlIGxvYWQuIE5vdCBzY3JvbGwtdHJpZ2dlcmVkIC0tIHZpc2l0b3JzIGxhbmRpbmdcbiAgLy8gbWlkLXBhZ2Ugc2VlIHRoZSBzdGF0aWMgZW5kIHN0YXRlLlxuICBzdmcgcGF0aCB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogNjA7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDYwO1xuICAgIGFuaW1hdGlvbjogd29ya2Zsb3ctbGluZS1kcmF3IDAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMC4zcyArIHZhcigtLWNvbm5lY3Rvci1pLCAxKSAqIDAuMTVzKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdvcmtmbG93LWxpbmUtZHJhdyB7XG4gIHRvIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IH1cbn1cblxuLy8gUmVzcGVjdCB1c2VyIG1vdGlvbiBwcmVmZXJlbmNlczogcmVuZGVyIGNvbm5lY3RvcnMgc3RhdGljYWxseS5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC53b3JrZmxvdy1jb25uZWN0b3Igc3ZnIHBhdGgge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgfVxufVxuXG4vLyBXb3JrZmxvdyBCZW5lZml0c1xuLndvcmtmbG93LWJlbmVmaXRzIHtcbiAgLmJlbmVmaXQtaGlnaGxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtOCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLXN1YnRsZSk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWdyZWVuLW11dGVkKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyksIHZhcigtLWdsb3ctZ3JlZW4tc3VidGxlKTtcbiAgICAgIFxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIC5iZW5lZml0LWhpZ2hsaWdodC1pY29uIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4tc3VidGxlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZ3JlZW4tbXV0ZWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvIHZhcigtLXNwYWNlLTQpIGF1dG87XG4gICAgY29sb3I6IHZhcigtLWdyZWVuLXByaW1hcnkpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWFib3ZlKTtcbiAgfVxuICBcbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1sZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWFib3ZlKTtcbiAgfVxuICBcbiAgcCB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGVhZGluZy1yZWxheGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtc20pO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogdmFyKC0tei1hYm92ZSk7XG4gIH1cbn1cblxuLy8g4pSA4pSAIFJlc3BvbnNpdmUgRW5oYW5jZW1lbnRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmhlcm8ge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLW5hdi1oZWlnaHQpICsgdmFyKC0tc3BhY2UtOCkpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBcbiAgLmhlcm8tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAodmFyKC0tdGV4dC0zeGwpLCA4dncsIHZhcigtLXRleHQtNXhsKSk7XG4gIH1cbiAgXG4gIC5oZXJvLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtYmFzZSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIFxuICAuaGVyby1jdGEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgfVxuICBcbiAgLnNhZmFyaS1tb2NrdXAge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGZhblhYTCBEZXNpZ24gU3lzdGVtIC0gTGluZWFyLWluc3BpcmVkIFRva2Vuc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG46cm9vdCB7XG4gIC8vIOKUgOKUgCBDb2xvciBTeXN0ZW0gKGZhblhYTCBCbGFjay9HcmVlbiBTY2hlbWUpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBcbiAgLy8gQmFja2dyb3VuZHMgKHZlcnkgZGFyaywgTGluZWFyLWluc3BpcmVkIHByb2dyZXNzaW9uKVxuICAtLWJnLXByaW1hcnk6ICMwQTBCMEE7ICAgICAgICAvLyBEZWVwZXN0IGJsYWNrIGZvciBtYWluIHNlY3Rpb25zXG4gIC0tYmctc2Vjb25kYXJ5OiAjMTExMzEyOyAgICAgIC8vIFNsaWdodGx5IGxpZ2h0ZXIgZm9yIHNlY3Rpb24gdHJhbnNpdGlvbnNcbiAgLS1iZy10ZXJ0aWFyeTogIzFBMUQxQjsgICAgICAgLy8gQ2FyZCBiYWNrZ3JvdW5kcywgZWxldmF0ZWQgc3VyZmFjZXNcbiAgLS1iZy1lbGV2YXRlZDogIzIxMjUyMTsgICAgICAgLy8gTW9kYWwgb3ZlcmxheXMsIGhpZ2hlc3QgZWxldmF0aW9uXG4gIFxuICAvLyBmYW5YWEwgR3JlZW4gU3lzdGVtIChyZXN0cmFpbmVkIGFjY2VudCB1c2FnZSBsaWtlIExpbmVhcilcbiAgLS1ncmVlbi1wcmltYXJ5OiAjOENDNjNGOyAgICAgLy8gTWFpbiBmYW5YWEwgZ3JlZW5cbiAgLS1ncmVlbi1ob3ZlcjogI0E2RTg0QTsgICAgICAgLy8gQnJpZ2h0ZXIgZ3JlZW4gZm9yIGhvdmVyIHN0YXRlc1xuICAtLWdyZWVuLW11dGVkOiAjNkI5QTJGOyAgICAgICAvLyBNdXRlZCBncmVlbiBmb3Igc2Vjb25kYXJ5IGVsZW1lbnRzXG4gIC0tZ3JlZW4tZGFyazogIzVEOEYxRjsgICAgICAgIC8vIERhcmtlciBncmVlbiBmb3IgcHJlc3NlZCBzdGF0ZXNcbiAgLS1ncmVlbi1zdWJ0bGU6IHJnYmEoMTQwLCAxOTgsIDYzLCAwLjEyKTsgLy8gVmVyeSBzdWJ0bGUgZ3JlZW4gZm9yIGJhY2tncm91bmRzXG4gIFxuICAvLyBUZXh0IEhpZXJhcmNoeVxuICAtLXRleHQtcHJpbWFyeTogI0Y1RjVGNDsgICAgICAvLyBIZWFkbGluZXMsIHByaW1hcnkgY29udGVudFxuICAtLXRleHQtc2Vjb25kYXJ5OiAjRTdFN0U1OyAgICAvLyBCb2R5IHRleHQsIHJlYWRhYmxlIGNvbnRlbnRcbiAgLS10ZXh0LW11dGVkOiAjQTFBMUEwOyAgICAgICAgLy8gU2Vjb25kYXJ5IGluZm9ybWF0aW9uLCBjYXB0aW9uc1xuICAtLXRleHQtc3VidGxlOiAjNkI2QjZBOyAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZXMsIGxvd2VzdCBwcmlvcml0eVxuICAtLXRleHQtb24tZ3JlZW46ICMxMTEzMTI7ICAgICAvLyBUZXh0IG9uIGdyZWVuIGJhY2tncm91bmRzXG4gIFxuICAvLyBCb3JkZXJzICYgRGl2aWRlcnMgKHZlcnkgc3VidGxlIGxpa2UgTGluZWFyKVxuICAtLWJvcmRlci1wcmltYXJ5OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpOyAgLy8gTWFpbiBib3JkZXJzXG4gIC0tYm9yZGVyLXNlY29uZGFyeTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTsgLy8gU3VidGxlIGRpdmlkZXJzXG4gIC0tYm9yZGVyLWdyZWVuOiByZ2JhKDE0MCwgMTk4LCA2MywgMC4zKTsgICAgICAvLyBHcmVlbiBhY2NlbnQgYm9yZGVyc1xuICAtLWJvcmRlci1ncmVlbi1tdXRlZDogcmdiYSgxNDAsIDE5OCwgNjMsIDAuMTUpOyAvLyBNdXRlZCBncmVlbiBib3JkZXJzXG4gIFxuICAvLyDilIDilIAgVHlwb2dyYXBoeSBTY2FsZSAoTGluZWFyLWluc3BpcmVkIGhpZXJhcmNoeSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIFxuICAvLyBGb250IEZhbWlseVxuICAtLWZvbnQtZmFtaWx5OiAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjtcbiAgXG4gIC8vIEZvbnQgU2l6ZXMgKGdlbmVyb3VzIHNjYWxlIGxpa2UgTGluZWFyKVxuICAtLXRleHQteHM6IDAuNzVyZW07ICAgIC8vIDEycHhcbiAgLS10ZXh0LXNtOiAwLjg3NXJlbTsgICAvLyAxNHB4XG4gIC0tdGV4dC1iYXNlOiAxcmVtOyAgICAgLy8gMTZweFxuICAtLXRleHQtbGc6IDEuMTI1cmVtOyAgIC8vIDE4cHhcbiAgLS10ZXh0LXhsOiAxLjI1cmVtOyAgICAvLyAyMHB4XG4gIC0tdGV4dC0yeGw6IDEuNXJlbTsgICAgLy8gMjRweFxuICAtLXRleHQtM3hsOiAxLjg3NXJlbTsgIC8vIDMwcHhcbiAgLS10ZXh0LTR4bDogMi4yNXJlbTsgICAvLyAzNnB4XG4gIC0tdGV4dC01eGw6IDNyZW07ICAgICAgLy8gNDhweFxuICAtLXRleHQtNnhsOiAzLjc1cmVtOyAgIC8vIDYwcHhcbiAgLS10ZXh0LTd4bDogNC41cmVtOyAgICAvLyA3MnB4XG4gIC0tdGV4dC04eGw6IDZyZW07ICAgICAgLy8gOTZweFxuICBcbiAgLy8gRm9udCBXZWlnaHRzXG4gIC0tZm9udC1saWdodDogMzAwO1xuICAtLWZvbnQtbm9ybWFsOiA0MDA7XG4gIC0tZm9udC1tZWRpdW06IDUwMDtcbiAgLS1mb250LXNlbWlib2xkOiA2MDA7XG4gIC0tZm9udC1ib2xkOiA3MDA7XG4gIC0tZm9udC1leHRyYWJvbGQ6IDgwMDtcbiAgLS1mb250LWJsYWNrOiA5MDA7XG4gIFxuICAvLyBMaW5lIEhlaWdodHMgKG9wdGltaXplZCBmb3IgcmVhZGFiaWxpdHkpXG4gIC0tbGVhZGluZy10aWdodDogMS4yNTtcbiAgLS1sZWFkaW5nLXNudWc6IDEuMzc1O1xuICAtLWxlYWRpbmctbm9ybWFsOiAxLjU7XG4gIC0tbGVhZGluZy1yZWxheGVkOiAxLjYyNTtcbiAgLS1sZWFkaW5nLWxvb3NlOiAyO1xuICBcbiAgLy8gTGV0dGVyIFNwYWNpbmcgKHN1YnRsZSwgbGlrZSBMaW5lYXIpXG4gIC0tdHJhY2tpbmctdGlnaHRlcjogLTAuMDVlbTtcbiAgLS10cmFja2luZy10aWdodDogLTAuMDI1ZW07XG4gIC0tdHJhY2tpbmctbm9ybWFsOiAwZW07XG4gIC0tdHJhY2tpbmctd2lkZTogMC4wMjVlbTtcbiAgLS10cmFja2luZy13aWRlcjogMC4wNWVtO1xuICBcbiAgLy8g4pSA4pSAIFNwYWNpbmcgU2NhbGUgKDhweCBiYXNlLCBMaW5lYXIgYXBwcm9hY2gpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBcbiAgLS1zcGFjZS0xOiAwLjI1cmVtOyAgICAvLyA0cHhcbiAgLS1zcGFjZS0yOiAwLjVyZW07ICAgICAvLyA4cHhcbiAgLS1zcGFjZS0zOiAwLjc1cmVtOyAgICAvLyAxMnB4XG4gIC0tc3BhY2UtNDogMXJlbTsgICAgICAgLy8gMTZweFxuICAtLXNwYWNlLTU6IDEuMjVyZW07ICAgIC8vIDIwcHhcbiAgLS1zcGFjZS02OiAxLjVyZW07ICAgICAvLyAyNHB4XG4gIC0tc3BhY2UtODogMnJlbTsgICAgICAgLy8gMzJweFxuICAtLXNwYWNlLTEwOiAyLjVyZW07ICAgIC8vIDQwcHhcbiAgLS1zcGFjZS0xMjogM3JlbTsgICAgICAvLyA0OHB4XG4gIC0tc3BhY2UtMTY6IDRyZW07ICAgICAgLy8gNjRweFxuICAtLXNwYWNlLTIwOiA1cmVtOyAgICAgIC8vIDgwcHhcbiAgLS1zcGFjZS0yNDogNnJlbTsgICAgICAvLyA5NnB4XG4gIC0tc3BhY2UtMzI6IDhyZW07ICAgICAgLy8gMTI4cHhcbiAgLS1zcGFjZS00MDogMTByZW07ICAgICAvLyAxNjBweFxuICAtLXNwYWNlLTQ4OiAxMnJlbTsgICAgIC8vIDE5MnB4XG4gIFxuICAvLyBTZWN0aW9uIFNwYWNpbmcgKGdlbmVyb3VzIHZlcnRpY2FsIHJoeXRobSlcbiAgLS1zZWN0aW9uLXNtOiB2YXIoLS1zcGFjZS0xNik7ICAvLyA2NHB4IC0gc21hbGwgc2VjdGlvbnNcbiAgLS1zZWN0aW9uLW1kOiB2YXIoLS1zcGFjZS0yMCk7ICAvLyA4MHB4IC0gbWVkaXVtIHNlY3Rpb25zXG4gIC0tc2VjdGlvbi1sZzogdmFyKC0tc3BhY2UtMjQpOyAgLy8gOTZweCAtIGxhcmdlIHNlY3Rpb25zXG4gIC0tc2VjdGlvbi14bDogdmFyKC0tc3BhY2UtMzIpOyAgLy8gMTI4cHggLSBoZXJvLCBtYWpvciBzZWN0aW9uc1xuICBcbiAgLy8gQ29udGFpbmVyIFdpZHRoc1xuICAtLWNvbnRhaW5lci1zbTogNjQwcHg7XG4gIC0tY29udGFpbmVyLW1kOiA3NjhweDtcbiAgLS1jb250YWluZXItbGc6IDEwMjRweDtcbiAgLS1jb250YWluZXIteGw6IDEyODBweDtcbiAgLS1jb250YWluZXItMnhsOiAxNTM2cHg7XG4gIC0tY29udGFpbmVyLW1hcmtldGluZzogMTIwMHB4OyAvLyBNYWluIG1hcmtldGluZyBjb250YWluZXJcbiAgXG4gIC8vIOKUgOKUgCBFZmZlY3RzICYgU2hhZG93cyAocHJlbWl1bSwgcmVzdHJhaW5lZCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIFxuICAvLyBTaGFkb3dzIChzdWJ0bGUgZGVwdGggbGlrZSBMaW5lYXIpXG4gIC0tc2hhZG93LXNtOiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgLS1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICAtLXNoYWRvdy1tZDogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgLS1zaGFkb3ctbGc6IDAgMjVweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIC0tc2hhZG93LXhsOiAwIDM1cHggNzBweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICBcbiAgLy8gR3JlZW4gR2xvdyBFZmZlY3RzIChyZXN0cmFpbmVkIGFjY2VudClcbiAgLS1nbG93LWdyZWVuLXN1YnRsZTogMCAwIDIwcHggcmdiYSgxNDAsIDE5OCwgNjMsIDAuMSk7XG4gIC0tZ2xvdy1ncmVlbjogMCAwIDQwcHggcmdiYSgxNDAsIDE5OCwgNjMsIDAuMik7XG4gIC0tZ2xvdy1ncmVlbi1zdHJvbmc6IDAgMCA2MHB4IHJnYmEoMTQwLCAxOTgsIDYzLCAwLjMpO1xuICBcbiAgLy8gQm9yZGVyIFJhZGl1cyAoY29uc2lzdGVudCB3aXRoIExpbmVhcidzIGFwcHJvYWNoKVxuICAtLXJhZGl1cy1zbTogNnB4O1xuICAtLXJhZGl1czogOHB4O1xuICAtLXJhZGl1cy1tZDogMTJweDtcbiAgLS1yYWRpdXMtbGc6IDE2cHg7XG4gIC0tcmFkaXVzLXhsOiAyNHB4O1xuICAtLXJhZGl1cy1mdWxsOiA5OTk5cHg7XG4gIFxuICAvLyDilIDilIAgVHJhbnNpdGlvbnMgKHNtb290aCwgcHJvZmVzc2lvbmFsKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgXG4gIC0tdHJhbnNpdGlvbi1mYXN0OiAxNTBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAtLXRyYW5zaXRpb246IDIwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIC0tdHJhbnNpdGlvbi1zbG93OiAzMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAtLXRyYW5zaXRpb24tc2xvd2VyOiA1MDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBcbiAgLy8g4pSA4pSAIFotSW5kZXggU2NhbGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIFxuICAtLXotYmVoaW5kOiAtMTtcbiAgLS16LW5vcm1hbDogMDtcbiAgLS16LWFib3ZlOiAxO1xuICAtLXotc3RpY2t5OiAxMDtcbiAgLS16LWZpeGVkOiAxMDA7XG4gIC0tei1vdmVybGF5OiAxMDAwO1xuICAtLXotbW9kYWw6IDEwMTA7XG4gIC0tei1wb3BvdmVyOiAxMDIwO1xuICAtLXotdG9vbHRpcDogMTAzMDtcbiAgLS16LXRvcDogMjE0NzQ4MzY0NztcbiAgXG4gIC8vIOKUgOKUgCBCcmVha3BvaW50cyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgXG4gIC0tYnAtc206IDY0MHB4O1xuICAtLWJwLW1kOiA3NjhweDtcbiAgLS1icC1sZzogMTAyNHB4O1xuICAtLWJwLXhsOiAxMjgwcHg7XG4gIC0tYnAtMnhsOiAxNTM2cHg7XG4gIFxuICAvLyDilIDilIAgQ29tcG9uZW50LXNwZWNpZmljIFZhcmlhYmxlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgXG4gIC8vIEZJRyBMYWJlbHMgKExpbmVhci1zdHlsZSBzZWN0aW9uIG51bWJlcmluZylcbiAgLS1maWctY29sb3I6IHZhcigtLWdyZWVuLXByaW1hcnkpO1xuICAtLWZpZy1iZzogdmFyKC0tZ3JlZW4tc3VidGxlKTtcbiAgLS1maWctYm9yZGVyOiB2YXIoLS1ib3JkZXItZ3JlZW4tbXV0ZWQpO1xuICBcbiAgLy8gQ2FyZHNcbiAgLS1jYXJkLWJnOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XG4gIC0tY2FyZC1ib3JkZXI6IHZhcigtLWJvcmRlci1wcmltYXJ5KTtcbiAgLS1jYXJkLXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKTtcbiAgLS1jYXJkLXNoYWRvdy1ob3ZlcjogdmFyKC0tc2hhZG93LWxnKTtcbiAgXG4gIC8vIEJ1dHRvbnNcbiAgLS1idG4taGVpZ2h0OiA0NHB4O1xuICAtLWJ0bi1wYWRkaW5nLXg6IHZhcigtLXNwYWNlLTYpO1xuICAtLWJ0bi1wYWRkaW5nLXk6IHZhcigtLXNwYWNlLTMpO1xuICAtLWJ0bi1ib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpOyAvLyAxMnB4LCB1bmlmaWVkIGFjcm9zcyBhbGwgLmJ0bi0qIHZhcmlhbnRzXG4gIFxuICAvLyBOYXZpZ2F0aW9uXG4gIC0tbmF2LWhlaWdodDogODBweDtcbiAgLS1uYXYtYmc6IHJnYmEoMTAsIDExLCAxMCwgMC44KTtcbiAgLS1uYXYtYmx1cjogYmx1cigxNnB4KTtcbiAgXG4gIC8vIOKUgOKUgCBMZWdhY3kgU3VwcG9ydCAobWFpbnRhaW4gY29tcGF0aWJpbGl0eSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIFxuICAtLXByaW1hcnk6IHZhcigtLWJnLXByaW1hcnkpO1xuICAtLWFjY2VudDogdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG4gIC0tYmc6IHZhcigtLWJnLXByaW1hcnkpO1xuICAtLWJnLWFsdDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbiAgLS10ZXh0OiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAtLWJvcmRlcjogdmFyKC0tYm9yZGVyLXByaW1hcnkpO1xufVxuXG4vLyDilIDilIAgRGFyayBNb2RlIEVuaGFuY2VtZW50cyAoZW5zdXJlIGNvbnNpc3RlbmN5KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICA6cm9vdCB7XG4gICAgLy8gRW5zdXJlIGRhcmsgbW9kZSB2YWx1ZXMgYXJlIGNvbnNpc3RlbnRcbiAgICBjb2xvci1zY2hlbWU6IGRhcms7XG4gIH1cbn1cblxuLy8g4pSA4pSAIEZvbnQgRmVhdHVyZSBTZXR0aW5ncyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuaHRtbCB7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXG4gICAgJ2N2MDInIDEsICAvLyBDb250ZXh0dWFsIGFsdGVybmF0ZXNcbiAgICAnY3YwMycgMSwgIC8vIENvbnRleHR1YWwgYWx0ZXJuYXRlcyAgXG4gICAgJ2N2MDQnIDEsICAvLyBDb250ZXh0dWFsIGFsdGVybmF0ZXNcbiAgICAnY3YxMScgMSwgIC8vIFN0eWxpc3RpYyBzZXRcbiAgICAnY2FsdCcgMSwgIC8vIENvbnRleHR1YWwgYWx0ZXJuYXRlc1xuICAgICdsaWdhJyAxLCAgLy8gU3RhbmRhcmQgbGlnYXR1cmVzXG4gICAgJ2tlcm4nIDE7ICAvLyBLZXJuaW5nXG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBTdHlsZXMgLSBMaW5lYXItaW5zcGlyZWQgRm91bmRhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyDilIDilIAgUmVzZXQgJiBCYXNlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmh0bWwge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcbiAgICAnY3YwMicgMSwgIC8vIENvbnRleHR1YWwgYWx0ZXJuYXRlc1xuICAgICdjdjAzJyAxLCAgLy8gQ29udGV4dHVhbCBhbHRlcm5hdGVzICBcbiAgICAnY3YwNCcgMSwgIC8vIENvbnRleHR1YWwgYWx0ZXJuYXRlc1xuICAgICdjdjExJyAxLCAgLy8gU3R5bGlzdGljIHNldFxuICAgICdjYWx0JyAxLCAgLy8gQ29udGV4dHVhbCBhbHRlcm5hdGVzXG4gICAgJ2xpZ2EnIDEsICAvLyBTdGFuZGFyZCBsaWdhdHVyZXNcbiAgICAna2VybicgMTsgIC8vIEtlcm5pbmdcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1iYXNlKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxlYWRpbmctbm9ybWFsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbm9ybWFsKTtcbiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDtcbn1cblxuLy8g4pSA4pSAIFR5cG9ncmFwaHkgSGllcmFyY2h5IChMaW5lYXItc3R5bGUpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vLyBIZWFkaW5nc1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWV4dHJhYm9sZCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1sZWFkaW5nLXRpZ2h0KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXRyYWNraW5nLXRpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogY2xhbXAodmFyKC0tdGV4dC00eGwpLCA1dncsIHZhcigtLXRleHQtN3hsKSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS10cmFja2luZy10aWdodGVyKTtcbiAgbGluZS1oZWlnaHQ6IDAuOTU7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTYpO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAodmFyKC0tdGV4dC0zeGwpLCA0dncsIHZhcigtLXRleHQtNXhsKSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTUpO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogY2xhbXAodmFyKC0tdGV4dC0yeGwpLCAzdncsIHZhcigtLXRleHQtM3hsKSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1sZWFkaW5nLXNudWcpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuaDQge1xuICBmb250LXNpemU6IHZhcigtLXRleHQteGwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWxnKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuaDYge1xuICBmb250LXNpemU6IHZhcigtLXRleHQtYmFzZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG59XG5cbi8vIEJvZHkgdGV4dFxucCB7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1sZWFkaW5nLXJlbGF4ZWQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBMYXJnZSB0ZXh0XG4udGV4dC1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1sZyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1sZWFkaW5nLXJlbGF4ZWQpO1xuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4vLyBTbWFsbCB0ZXh0XG4udGV4dC1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1zbSk7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLy8g4pSA4pSAIExpbmtzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5hIHtcbiAgY29sb3I6IHZhcigtLWdyZWVuLXByaW1hcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gIFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW4taG92ZXIpO1xuICB9XG4gIFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxufVxuXG4vLyDilIDilIAgTGlzdHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbnVsLCBvbCB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtNik7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICBcbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxlYWRpbmctcmVsYXhlZCk7XG4gIH1cbn1cblxuLy8gUmVtb3ZlIGRlZmF1bHQgbGlzdCBzdHlsZXMgd2hlbiBhcHByb3ByaWF0ZVxuLmxpc3Qtbm9uZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLy8g4pSA4pSAIExheW91dCBVdGlsaXRpZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8vIENvbnRhaW5lciAoTGluZWFyLXN0eWxlIG1heC13aWR0aClcbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1tYXJrZXRpbmcpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS02KTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNik7XG4gIFxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTQpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTQpO1xuICB9XG59XG5cbi8vIFNlY3Rpb24gcGFkZGluZyAoZ2VuZXJvdXMgbGlrZSBMaW5lYXIpXG4uc2VjdGlvbiB7XG4gIHBhZGRpbmc6IHZhcigtLXNlY3Rpb24tbGcpIDA7XG4gIFxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zZWN0aW9uLW1kKSAwO1xuICB9XG59XG5cbi5zZWN0aW9uLXNtIHtcbiAgcGFkZGluZzogdmFyKC0tc2VjdGlvbi1zbSkgMDtcbiAgXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTE2KSAwO1xuICB9XG59XG5cbi5zZWN0aW9uLXhsIHtcbiAgcGFkZGluZzogdmFyKC0tc2VjdGlvbi14bCkgMDtcbiAgXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHBhZGRpbmc6IHZhcigtLXNlY3Rpb24tbGcpIDA7XG4gIH1cbn1cblxuLy8g4pSA4pSAIFRleHQgVXRpbGl0aWVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4udGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi50ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4udGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LXByaW1hcnkgeyBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTsgfVxuLnRleHQtc2Vjb25kYXJ5IHsgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTsgfVxuLnRleHQtbXV0ZWQgeyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IH1cbi50ZXh0LXN1YnRsZSB7IGNvbG9yOiB2YXIoLS10ZXh0LXN1YnRsZSk7IH1cbi50ZXh0LWdyZWVuIHsgY29sb3I6IHZhcigtLWdyZWVuLXByaW1hcnkpOyB9XG5cbi5mb250LWxpZ2h0IHsgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbGlnaHQpOyB9XG4uZm9udC1ub3JtYWwgeyBmb250LXdlaWdodDogdmFyKC0tZm9udC1ub3JtYWwpOyB9XG4uZm9udC1tZWRpdW0geyBmb250LXdlaWdodDogdmFyKC0tZm9udC1tZWRpdW0pOyB9XG4uZm9udC1zZW1pYm9sZCB7IGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTsgfVxuLmZvbnQtYm9sZCB7IGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpOyB9XG4uZm9udC1leHRyYWJvbGQgeyBmb250LXdlaWdodDogdmFyKC0tZm9udC1leHRyYWJvbGQpOyB9XG5cbi8vIOKUgOKUgCBEaXNwbGF5IFV0aWxpdGllcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmJsb2NrIHsgZGlzcGxheTogYmxvY2s7IH1cbi5pbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmU7IH1cbi5pbmxpbmUtYmxvY2sgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbi5mbGV4IHsgZGlzcGxheTogZmxleDsgfVxuLmlubGluZS1mbGV4IHsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbi5ncmlkIHsgZGlzcGxheTogZ3JpZDsgfVxuLmhpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLy8gRmxleCB1dGlsaXRpZXNcbi5pdGVtcy1jZW50ZXIgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4uaXRlbXMtc3RhcnQgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuLml0ZW1zLWVuZCB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuLmp1c3RpZnktY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbi5qdXN0aWZ5LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi5qdXN0aWZ5LXN0YXJ0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4uanVzdGlmeS1lbmQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4uZmxleC1jb2wgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4uZmxleC13cmFwIHsgZmxleC13cmFwOiB3cmFwOyB9XG5cbi8vIEdhcCB1dGlsaXRpZXNcbi5nYXAtMiB7IGdhcDogdmFyKC0tc3BhY2UtMik7IH1cbi5nYXAtMyB7IGdhcDogdmFyKC0tc3BhY2UtMyk7IH1cbi5nYXAtNCB7IGdhcDogdmFyKC0tc3BhY2UtNCk7IH1cbi5nYXAtNiB7IGdhcDogdmFyKC0tc3BhY2UtNik7IH1cbi5nYXAtOCB7IGdhcDogdmFyKC0tc3BhY2UtOCk7IH1cbi5nYXAtMTIgeyBnYXA6IHZhcigtLXNwYWNlLTEyKTsgfVxuXG4vLyDilIDilIAgU3BhY2luZyBVdGlsaXRpZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8vIE1hcmdpblxuLm0tMCB7IG1hcmdpbjogMDsgfVxuLm10LTQgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00KTsgfVxuLm1iLTQgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTsgfVxuLm1iLTYgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS02KTsgfVxuLm1iLTggeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS04KTsgfVxuLm1iLTEyIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMTIpOyB9XG4ubWItMTYgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xNik7IH1cblxuLy8gUGFkZGluZ1xuLnAtMCB7IHBhZGRpbmc6IDA7IH1cbi5weS00IHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTQpOyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7IH1cbi5weS04IHsgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTgpOyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtOCk7IH1cbi5weC00IHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00KTsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNCk7IH1cbi5weC02IHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS02KTsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNik7IH1cblxuLy8g4pSA4pSAIEltYWdlcyAmIE1lZGlhIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIOKUgOKUgCBGb2N1cyBTdGF0ZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbio6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbio6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbio6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1ncmVlbi1wcmltYXJ5KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLy8g4pSA4pSAIFNlbGVjdGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbi1zdWJ0bGUpO1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLXN1YnRsZSk7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4vLyDilIDilIAgU2Nyb2xsYmFyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDhweDtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ib3JkZXItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIFxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgfVxufVxuXG4vLyDilIDilIAgU2NyZWVuIFJlYWRlciBPbmx5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyDilIDilIAgUmVzcG9uc2l2ZSBIZWxwZXJzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1tb2JpbGUgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlkZGVuLWRlc2t0b3AgeyBkaXNwbGF5OiBub25lOyB9XG4gIC5zaG93LWRlc2t0b3AgeyBkaXNwbGF5OiBibG9jazsgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNob3ctbW9iaWxlIHsgZGlzcGxheTogYmxvY2s7IH1cbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21wb25lbnRzIC0gTGluZWFyLWluc3BpcmVkIFVJIFByaW1pdGl2ZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8g4pSA4pSAIEJ1dHRvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vL1xuLy8gVW5pZmllZCBidXR0b24gc3lzdGVtLiBgLmJ0bi1wcmltYXJ5YCwgYC5idG4tc2Vjb25kYXJ5YCwgYC5idG4tZ2hvc3RgIGVhY2hcbi8vIHB1bGwgaW4gdGhlIHNoYXJlZCAlYnRuLWJhc2UgdmlhIEBleHRlbmQsIHNvIGFueSBvZiB0aGVtIHdvcmtzIHN0YW5kYWxvbmVcbi8vIGluIG1hcmt1cCAoZS5nLiA8YSBjbGFzcz1cImJ0bi1wcmltYXJ5XCI+KSDigJQgbm8gbmVlZCB0byBhZGQgYC5idG5gIGFzIGFcbi8vIHNlcGFyYXRlIGNsYXNzLiBgLmJ0bmAgaXRzZWxmIHN0YXlzIGFyb3VuZCBhcyBhbiBhbGlhcyBmb3IgdGhlIGJhc2Vcbi8vIHByb3BlcnRpZXMgZm9yIGxlZ2FjeS9leHBsaWNpdCB1c2UuXG4vL1xuLy8gSG92ZXI6IHRyYW5zbGF0ZVkoLTFweCkgKyBzaGFkb3cgdXBncmFkZSArIGJnIGxpZ2h0ZW4sIDIwMG1zIGVhc2UuIEFjdGl2ZTpcbi8vIHRyYW5zbGF0ZVkoMCkuIFNhbWUgcmh5dGhtIGFjcm9zcyBldmVyeSBidXR0b24gb24gdGhlIHBhZ2UuXG5cbiVidG4tYmFzZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgaGVpZ2h0OiB2YXIoLS1idG4taGVpZ2h0KTtcbiAgcGFkZGluZzogdmFyKC0tYnRuLXBhZGRpbmcteSkgdmFyKC0tYnRuLXBhZGRpbmcteCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1idG4tYm9yZGVyLXJhZGl1cyk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IHZhcigtLXRleHQtYmFzZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uKSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pLFxuICAgICAgICAgICAgICBjb2xvciB2YXIoLS10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24pLFxuICAgICAgICAgICAgICBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1ncmVlbi1zdWJ0bGUpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbn1cblxuLmJ0biB7IEBleHRlbmQgJWJ0bi1iYXNlOyB9XG5cbi8vIFByaW1hcnkgQnV0dG9uIChmYW5YWEwgZ3JlZW4pXG4uYnRuLXByaW1hcnkge1xuICBAZXh0ZW5kICVidG4tYmFzZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LW9uLWdyZWVuKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmVlbi1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbi1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmVlbi1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtb24tZ3JlZW4pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpLCB2YXIoLS1nbG93LWdyZWVuKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgfVxufVxuXG4vLyBTZWNvbmRhcnkgQnV0dG9uIChvdXRsaW5lKVxuLmJ0bi1zZWNvbmRhcnkge1xuICBAZXh0ZW5kICVidG4tYmFzZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1ncmVlbi1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItZ3JlZW4pO1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLXN1YnRsZSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmVlbi1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW4taG92ZXIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpLCB2YXIoLS1nbG93LWdyZWVuLXN1YnRsZSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLy8gR2hvc3QgQnV0dG9uIChtaW5pbWFsKVxuLmJ0bi1naG9zdCB7XG4gIEBleHRlbmQgJWJ0bi1iYXNlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgfVxufVxuXG4vLyBCdXR0b24gU2l6ZXMg4oCUIGFwcGxpZWQgYWxvbmdzaWRlIGFueSB2YXJpYW50IChlLmcuIC5idG4tcHJpbWFyeS5idG4tc20pLlxuLmJ0bi1zbSB7XG4gIGhlaWdodDogMzZweDtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtNCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1zbSk7XG59XG5cbi5idG4tbGcge1xuICBoZWlnaHQ6IDUycHg7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpIHZhcigtLXNwYWNlLTgpO1xuICBmb250LXNpemU6IHZhcigtLXRleHQtbGcpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG59XG5cbi8vIExlZ2FjeSBhbGlhc2VzIGZvciB0ZW1wbGF0ZXMgdGhhdCBzdGlsbCB1c2UgLmJ0bi1sYXJnZSAvIC5idG4tc21hbGwuXG4uYnRuLWxhcmdlIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG4uYnRuLXNtYWxsIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG5cbi8vIOKUgOKUgCBDYXJkcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2FyZC1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdyk7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLXNsb3cpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIFxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbi1zdWJ0bGUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICBcbiAgJjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWdyZWVuLW11dGVkKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jYXJkLXNoYWRvdy1ob3ZlciksIHZhcigtLWdsb3ctZ3JlZW4tc3VidGxlKTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc2Vjb25kYXJ5KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4uY2FyZC1ib2R5IHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLmNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNik7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItc2Vjb25kYXJ5KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4vLyBDYXJkIHZhcmlhbnRzXG4uY2FyZC1lbGV2YXRlZCB7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG4gIFxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteGwpLCB2YXIoLS1nbG93LWdyZWVuLXN1YnRsZSk7XG4gIH1cbn1cblxuLmNhcmQtZmxhdCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1wcmltYXJ5KTtcbn1cblxuLy8g4pSA4pSAIEZJRyBMYWJlbHMgKExpbmVhci1zdHlsZSBzZWN0aW9uIG51bWJlcmluZykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5maWctbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWZpZy1iZyk7XG4gIGNvbG9yOiB2YXIoLS1maWctY29sb3IpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1maWctYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZm9udC1mYW1pbHk6ICdKZXRCcmFpbnMgTW9ubycsICdGaXJhIENvZGUnLCBDb25zb2xhcywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IHZhcigtLXRleHQteHMpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS10cmFja2luZy13aWRlKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi8vIOKUgOKUgCBFeWVicm93cyAoc2VjdGlvbiBsYWJlbHMpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uZXllYnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXNtKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtc2VtaWJvbGQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tdHJhY2tpbmctd2lkZXIpO1xuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uZXllYnJvdy1hY2NlbnQge1xuICBjb2xvcjogdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLXN1YnRsZSk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZ3JlZW4tbXV0ZWQpO1xufVxuXG4vLyDilIDilIAgQmFkZ2VzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTtcbiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC14cyk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LW1lZGl1bSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS10cmFja2luZy13aWRlKTtcbn1cblxuLmJhZGdlLWdyZWVuIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4tc3VidGxlKTtcbiAgY29sb3I6IHZhcigtLWdyZWVuLXByaW1hcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1ncmVlbi1tdXRlZCk7XG59XG5cbi5iYWRnZS1zdWJ0bGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICBjb2xvcjogdmFyKC0tdGV4dC1zdWJ0bGUpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1zZWNvbmRhcnkpO1xufVxuXG4vLyDilIDilIAgTmFycmF0aXZlIFNlY3Rpb24gKHByb3NlIGJvZHksIG5vdCBhIGNhcmQgZ3JpZCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5uYXJyYXRpdmUtYmxvY2sge1xuICBtYXgtd2lkdGg6IDcyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zKTtcbiAgfVxufVxuXG4ubmFycmF0aXZlLWJvZHkge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS02KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNztcblxuICBwICsgcCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG4gIH1cbn1cblxuLnNlY3Rpb24tbm90ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS02KTtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXNtKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyDilIDilIAgQ29udGFjdCBmb3JtIChpbmxpbmUgbWFya2V0aW5nIENUQSBmb3JtKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmNvbnRhY3QtZm9ybS13cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS04KSBhdXRvIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jb250YWN0LWZvcm0tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxufVxuXG4uY29udGFjdC1mb3JtLWZpZWxkLS1mdWxsIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgfVxufVxuXG4uY29udGFjdC1mb3JtLWZpZWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcblxuICBsYWJlbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXNtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEyMG1zIGVhc2UsIGJveC1zaGFkb3cgMTIwbXMgZWFzZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0tZ3JlZW4tc3VidGxlKTtcbiAgICB9XG4gIH1cblxuICB0ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICBtaW4taGVpZ2h0OiA3cmVtO1xuICB9XG5cbiAgdWwge1xuICAgIGNvbG9yOiAjYzAzOTJiO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1zbSk7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS0xKSAwIDA7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00KTtcbiAgfVxufVxuXG4uY29udGFjdC1mb3JtLWhvbmV5cG90IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTAwMDBweDtcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNvbnRhY3QtZm9ybS1zdWJtaXQge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS02KTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY29udGFjdC1mb3JtLXN1Y2Nlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTgpIHZhcigtLXNwYWNlLTYpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbi1zdWJ0bGUpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItZ3JlZW4tbXV0ZWQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuXG4gIC5jb250YWN0LWZvcm0tc3VjY2Vzcy1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIH1cblxuICBoMyB7XG4gICAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1heC13aWR0aDogNDgwcHg7XG4gIH1cbn1cblxuLy8g4pSA4pSAIFNlcGFyYXRvcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5zZXBhcmF0b3Ige1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyLXByaW1hcnkpO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtOCkgMDtcbn1cblxuLnNlcGFyYXRvci12ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMjRweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyLXByaW1hcnkpO1xuICBtYXJnaW46IDAgdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5zZXBhcmF0b3ItZ3JlZW4ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgOTBkZWcsXG4gICAgdHJhbnNwYXJlbnQgMCUsXG4gICAgdmFyKC0tZ3JlZW4tcHJpbWFyeSkgNTAlLFxuICAgIHRyYW5zcGFyZW50IDEwMCVcbiAgKTtcbn1cblxuLy8g4pSA4pSAIEZlYXR1cmUgTGlzdHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5mZWF0dXJlLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5mZWF0dXJlLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgMDtcbiAgXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1zZWNvbmRhcnkpO1xuICB9XG59XG5cbi5mZWF0dXJlLWljb24ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5mZWF0dXJlLXRleHQge1xuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICBmb250LXNpemU6IHZhcigtLXRleHQtYmFzZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1sZWFkaW5nLXJlbGF4ZWQpO1xufVxuXG4vLyDilIDilIAgTW9ja3VwIEZyYW1lcyAoTGluZWFyLXN0eWxlIHByb2R1Y3Qgc2hvd2Nhc2VzKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLm1vY2t1cC1icm93c2VyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIFxuICAubW9ja3VwLXRpdGxlYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItcHJpbWFyeSk7XG4gIH1cbiAgXG4gIC5tb2NrdXAtY29udHJvbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbiAgfVxuICBcbiAgLm1vY2t1cC1jb250cm9sIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIFxuICAgICYuY2xvc2UgeyBiYWNrZ3JvdW5kOiAjZmY1ZjU3OyB9XG4gICAgJi5taW5pbWl6ZSB7IGJhY2tncm91bmQ6ICNmZmJkMmU7IH1cbiAgICAmLm1heGltaXplIHsgYmFja2dyb3VuZDogIzI4Y2E0MjsgfVxuICB9XG4gIFxuICAubW9ja3VwLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtc20pO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBcbiAgLm1vY2t1cC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIFxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4ubW9ja3VwLXBob25lIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICBib3JkZXI6IDhweCBzb2xpZCB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteGwpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEycHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7XG4gIH1cbiAgXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vIOKUgOKUgCBUcnVzdCBFbGVtZW50cyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLnRydXN0LWJhciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLTYpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS04KSAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXByaW1hcnkpO1xuICBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTQpO1xuICB9XG59XG5cbi50cnVzdC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXNtKTtcbiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udHJ1c3QtaWNvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiB2YXIoLS1ncmVlbi1wcmltYXJ5KTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50cnVzdC10ZXh0IHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxlYWRpbmctc251Zyk7XG4gIFxuICAuaGlnaGxpZ2h0IHtcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbiAgfVxufVxuXG4vLyDilIDilIAgU3RlcCBJbmRpY2F0b3JzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uc3RlcHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTgpIDA7XG59XG5cbi5zdGVwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLnN0ZXAtbnVtYmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tdGV4dC1vbi1ncmVlbik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXNtKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG59XG5cbi5zdGVwLWNvbm5lY3RvciB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyLXByaW1hcnkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICAmLmFjdGl2ZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbi1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcyAxcyBlYXNlLWluLW91dDtcbiAgfVxufVxuXG4vLyDilIDilIAgQW5pbWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuQGtleWZyYW1lcyBwcm9ncmVzcyB7XG4gIGZyb20geyB0cmFuc2Zvcm06IHNjYWxlWCgwKTsgfVxuICB0byB7IHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG59XG5cbkBrZXlmcmFtZXMgZmxvYXQtZ2VudGxlIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZS1pbi11cCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI0cHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uYW5pbWF0ZS1mbG9hdCB7XG4gIGFuaW1hdGlvbjogZmxvYXQtZ2VudGxlIDZzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4uYW5pbWF0ZS1mYWRlLWluLXVwIHtcbiAgYW5pbWF0aW9uOiBmYWRlLWluLXVwIDAuNnMgZWFzZS1vdXQgZm9yd2FyZHM7XG59XG5cbi8vIFNjcm9sbC10cmlnZ2VyZWQgYW5pbWF0aW9ucy5cbi8vXG4vLyBTdGVwIDIgZGlzYWJsZWQgdGhlIG9sZCBJbnRlcnNlY3Rpb25PYnNlcnZlciBwYXR0ZXJuIChpdCBsZWZ0IGNhcmRzIGJlbG93XG4vLyB0aGUgZm9sZCBhdCBvcGFjaXR5OjAgd2hlbiB0aGUgb2JzZXJ2ZXIgbWlzc2VkIHRoZW0gb24gZmFzdCBzY3JvbGxzKS4gVGhlXG4vLyAuYW5pbWF0ZS1vbi1zY3JvbGwgbGVnYWN5IGNsYXNzIHN0YXlzIGFzIGEgdmlzaWJsZSBuby1vcCBzbyBhbnkgbGVmdG92ZXJcbi8vIG1hcmt1cCBkb2Vzbid0IHJlZ3Jlc3MuXG4vL1xuLy8gVGhlIHBsYW4ncyBtb3Rpb24gYnJpZWYgYXNrZWQgZm9yIFwiZmFkZS1pbiBvbiBzY3JvbGwsIH40MDBtcywgZWFzZS1vdXRcIi5cbi8vIFdlIHJlaW50cm9kdWNlIGl0IHZpYSBDU1Mgc2Nyb2xsLWRyaXZlbiBhbmltYXRpb25zIChhbmltYXRpb24tdGltZWxpbmU6XG4vLyB2aWV3KCkpIOKAlCBwdXJlIENTUywgR1BVLWFjY2VsZXJhdGVkLCBubyBKUywgbm8gb2JzZXJ2ZXIuXG4vL1xuLy8gQmVoYXZpb3VyOlxuLy8gICAtIHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHNraXAgYW5pbWF0aW9uIGVudGlyZWx5OyBjb250ZW50IGlzIHN0YXRpYy5cbi8vICAgLSBicm93c2VycyB3aXRob3V0IHZpZXctdGltZWxpbmUgc3VwcG9ydCAoU2FmYXJpIDwgMjYsIEZpcmVmb3ggPCAxMzcpOlxuLy8gICAgIEBzdXBwb3J0cyBnYXRlIGZhbGxzIGJhY2sgdG8gbm8gYW5pbWF0aW9uOyBjb250ZW50IHJlbmRlcnMgYXQgdGhlXG4vLyAgICAgZW5kLXN0YXRlLCBmdWxseSB2aXNpYmxlLiBObyBoaWRkZW4gY29udGVudCBmYWlsdXJlIG1vZGUgcG9zc2libGUuXG4vLyAgIC0gQW5pbWF0aW9uIGZpcmVzIHBlciBlbGVtZW50IGFzIGl0IGNyb3NzZXMgZnJvbSAxMCUgdG8gNjAlIG9mIGl0c1xuLy8gICAgIHZpZXdwb3J0LWVudHJ5IHBoYXNlLiBBYm92ZS10aGUtZm9sZCBlbGVtZW50cyBvbiBsb2FkIGFyZSBhbHJlYWR5XG4vLyAgICAgcGFzdCBlbnRyeSBhbmQgc3RhcnQgYXQgdGhlIGVuZCBzdGF0ZSAodmlzaWJsZSBpbW1lZGlhdGVseSkuXG5cbi5hbmltYXRlLW9uLXNjcm9sbCxcbi5qcyAuYW5pbWF0ZS1vbi1zY3JvbGwge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi8vIFNjcm9sbC1mYWRlIGZvciBzZWN0aW9uIGNvbnRlbnQuXG4vL1xuLy8gRGVmYXVsdCBzdGF0ZSBpcyB2aXNpYmxlIChvcGFjaXR5OjEsIG5vIHRyYW5zZm9ybSkgc28gY29udGVudCBjYW4gbmV2ZXJcbi8vIGdldCBzdHVjayBoaWRkZW4gaWYgSlMgZmFpbHMuIFRoZSBjb21wYW5pb24gc2NyaXB0IGluIGJhc2UuaHRtbC50d2lnXG4vLyBhZGRzIC5mYWRlLXBlbmRpbmcgdG8gdGFyZ2V0cyBvbmx5IEFGVEVSIGNvbmZpcm1pbmcgdGhlIG9ic2VydmVyIGlzXG4vLyB3aXJlZCwgdGhlbiByZW1vdmVzIGl0IGFzIGVhY2ggZWxlbWVudCBlbnRlcnMgdGhlIHZpZXdwb3J0LiBBIDNzXG4vLyBzYWZldHkgdGltZW91dCByZXZlYWxzIGFueSBzdGlsbC1wZW5kaW5nIGVsZW1lbnRzIHJlZ2FyZGxlc3Mgb2Zcbi8vIG9ic2VydmVyIHN0YXRlLlxuXG46aXMoLnNlY3Rpb24sIC5jdGEtc2VjdGlvbikgLmNvbnRhaW5lciA+ICoge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2Utb3V0LCB0cmFuc2Zvcm0gNDAwbXMgZWFzZS1vdXQ7XG59XG5cbjppcyguc2VjdGlvbiwgLmN0YS1zZWN0aW9uKSAuY29udGFpbmVyID4gKi5mYWRlLXBlbmRpbmcge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjRweCk7XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIDppcyguc2VjdGlvbiwgLmN0YS1zZWN0aW9uKSAuY29udGFpbmVyID4gKixcbiAgOmlzKC5zZWN0aW9uLCAuY3RhLXNlY3Rpb24pIC5jb250YWluZXIgPiAqLmZhZGUtcGVuZGluZyB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBTdGFnZ2VyIGRlbGF5c1xuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XG4gIC5zdGFnZ2VyLSN7JGl9IHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAjeyRpICogMC4xfXM7XG4gIH1cbn1cblxuLy8g4pSA4pSAIExvYWRpbmcgU3RhdGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uc2tlbGV0b24ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgOTBkZWcsXG4gICAgdmFyKC0tYmctc2Vjb25kYXJ5KSAyNSUsXG4gICAgdmFyKC0tYmctdGVydGlhcnkpIDUwJSxcbiAgICB2YXIoLS1iZy1zZWNvbmRhcnkpIDc1JVxuICApO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcbiAgYW5pbWF0aW9uOiBzaGltbWVyIDEuNXMgaW5maW5pdGU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG59XG5cbkBrZXlmcmFtZXMgc2hpbW1lciB7XG4gIDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMCUgMDsgfVxuICAxMDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwOyB9XG59XG5cbi8vIOKUgOKUgCBSZXNwb25zaXZlIFV0aWxpdGllcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5idG4ge1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7IC8vIEJldHRlciB0b3VjaCB0YXJnZXRzIG9uIG1vYmlsZVxuICB9XG4gIFxuICAuY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgfVxuICBcbiAgLm1vY2t1cC1icm93c2VyIC5tb2NrdXAtdGl0bGViYXIge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICB9XG59XG5cbi8vIOKUgOKUgCBQcm9kdWN0IFNob3djYXNlIChhbHRlcm5hdGluZyBpbWFnZSByb3dzKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vXG4vLyBUaGUgVHdpZyB0ZW1wbGF0ZXMgdXNlIHRoZXNlIGNsYXNzZXMgKHByb2R1Y3Rfc2hvd2Nhc2UuaHRtbC50d2lnKS5cbi8vIFdpdGhvdXQgdGhlc2UgcnVsZXMsIHRoZSBidWxsZXRzIHN0YWNrZWQgYWJvdmUgYW4gdW5zaXplZCBtb25zdGVyIGltYWdlLFxuLy8gaW5mbGF0aW5nIHRoZSBzZWN0aW9uIHRvIH4xODM4cHggb24gZGVza3RvcC5cblxuLnByb2R1Y3QtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBnYXA6IHZhcigtLXNwYWNlLTEyKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMTYpO1xuICB9XG59XG5cbi5wcm9kdWN0LWNvbnRlbnQge1xuICAvLyBMYXlvdXQgY29tZXMgZnJvbSB0aGUgcGFyZW50IGdyaWQ7IG5vdGhpbmcgdG8gZG8gaGVyZS5cbn1cblxuLnByb2R1Y3QtdmlzdWFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3QtbW9ja3VwIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteGwpO1xuICB9XG59XG5cbi8vIENhcGFiaWxpdHkgcm93cyBhbHRlcm5hdGUgaW1hZ2UgcG9zaXRpb24uIE9yZGVyIHN3YXAgb25seSBraWNrcyBpbiBhdCB0aGVcbi8vIDItY29sdW1uIGRlc2t0b3AgYnJlYWtwb2ludDsgYmVsb3cgdGhhdCwgY29udGVudCBzdGFja3MgYWJvdmUgaW1hZ2UgZWl0aGVyIHdheS5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnByb2R1Y3QtZ3JpZC0taW1hZ2UtbGVmdCB7XG4gICAgLnByb2R1Y3QtY29udGVudCB7IG9yZGVyOiAyOyB9XG4gICAgLnByb2R1Y3QtdmlzdWFsICB7IG9yZGVyOiAxOyB9XG4gIH1cbn1cblxuLy8gQ2FwYWJpbGl0eS1yb3cgdGV4dCBhbGlnbm1lbnQ6IGxlZnQtYWxpZ25lZCAodGhlIHRpdGxlIHNpdHMgbmV4dCB0byBhXG4vLyBzY3JlZW5zaG90LCBub3QgYWJvdmUgb25lKS4gVGhlIGJhcmUgLnNlY3Rpb24tdGl0bGUgcnVsZSBjZW50cmVzIGJ5IGRlZmF1bHRcbi8vIGluc2lkZSB0cnVzdF9zZWN0aW9uOyBvdmVycmlkZSBoZXJlIHNvIGEgY2FwYWJpbGl0eSByb3cncyB0aXRsZSBmbG93cyB3aXRoXG4vLyBpdHMgYnVsbGV0cy5cbi5wcm9kdWN0LWNvbnRlbnQge1xuICAuc2VjdGlvbi10aXRsZSxcbiAgLnNlY3Rpb24tc3VidGl0bGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmZpZy1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIH1cbn1cblxuLy8gUHJvZHVjdCByb3dzIHN0YWNrZWQgaW5zaWRlIGEgc2luZ2xlIHNlY3Rpb24gKGUuZy4gXCJEaWUgUGxhdHRmb3JtXCIgYmxvY2spLlxuLy8gRmlyc3Qgcm93IHNpdHMgZmx1c2ggd2l0aCB0aGUgc2VjdGlvbiBoZWFkZXI7IHN1YnNlcXVlbnQgcm93cyBnZXQgdmVydGljYWxcbi8vIGJyZWF0aGluZyByb29tLlxuLnByb2R1Y3Qtcm93ICsgLnByb2R1Y3Qtcm93IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMjApO1xufVxuXG4ucHJvZHVjdC1yb3ctdGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLXRleHQtMnhsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtYm9sZCk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMyk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTN4bCk7XG4gIH1cbn1cblxuLnByb2R1Y3Qtcm93LWJvZHkge1xuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGVhZGluZy1yZWxheGVkKTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtNik7XG59XG5cbi8vIOKUgOKUgCBUYWlsd2luZC1jb21wYXRpYmlsaXR5IHNoaW0g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vL1xuLy8gQSBzbWFsbCBzZXQgb2YgdXRpbGl0eSBjbGFzc2VzIHRoZSBjb21wb25lbnQgdGVtcGxhdGVzIChwYXJ0bmVyc2hpcC5odG1sLnR3aWcsXG4vLyB3b3JrZmxvdy5odG1sLnR3aWcpIHJlZmVyZW5jZS4gVGhleSB3ZXJlIGF1dGhvcmVkIGFnYWluc3QgVGFpbHdpbmQgYnV0IHRoZVxuLy8gYWN0aXZlIG1hcmtldGluZyBzdHlsZXNoZWV0IGRvZXNuJ3Qgc2hpcCBUYWlsd2luZC4gUmF0aGVyIHRoYW4gcmV3cml0ZSBldmVyeVxuLy8gdGVtcGxhdGUsIHdlIHByb3ZpZGUgaGFuZC1yb2xsZWQgZXF1aXZhbGVudHMgZm9yIHRoZSBleGFjdCB1dGlsaXRpZXMgdXNlZC5cbi8vIEFkZGluZyBhIG5ldyB1dGlsaXR5PyBFaXRoZXIgYWRkIGl0IGhlcmUgb3IgY29udmVydCB0aGUgdGVtcGxhdGUgdG8gcHJvamVjdFxuLy8gY2xhc3NlcyDigJQgZG8gbm90IHN0YXJ0IHB1bGxpbmcgVGFpbHdpbmQgaW4uXG5cbi50ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnRleHQtZ3JlZW4gIHsgY29sb3I6IHZhcigtLWdyZWVuLXByaW1hcnkpOyB9XG4udGV4dC1tdXRlZCAgeyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IH1cbi50ZXh0LWxhcmdlICB7IGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1sZyk7IGxpbmUtaGVpZ2h0OiB2YXIoLS1sZWFkaW5nLXJlbGF4ZWQpOyB9XG4udGV4dC14bCAgICAgeyBmb250LXNpemU6IHZhcigtLXRleHQteGwpOyB9XG4uZm9udC1ib2xkICAgeyBmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTsgfVxuXG4ubWItNCAgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTsgfVxuLm1iLTEyIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMTIpOyB9XG4ubWItMTYgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xNik7IH1cbi5tdC0xMiB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTEyKTsgfVxuLm10LTE2IHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMTYpOyB9XG5cbi5ncmlkICAgICAgICAgIHsgZGlzcGxheTogZ3JpZDsgfVxuLmdyaWQtY29scy0xICAgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuLmdhcC04ICAgICAgICAgeyBnYXA6IHZhcigtLXNwYWNlLTgpOyB9XG4uZ2FwLTEyICAgICAgICB7IGdhcDogdmFyKC0tc3BhY2UtMTIpOyB9XG4uaXRlbXMtc3RhcnQgICB7IGFsaWduLWl0ZW1zOiBzdGFydDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1kXFw6Z3JpZC1jb2xzLTMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmxnXFw6Z3JpZC1jb2xzLTIgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG59XG5cbi8vIOKUgOKUgCBTZWN0aW9uIHZpc3VhbCByaHl0aG0gKGFsdGVybmF0aW5nIHRvbmVzICsgdHJhbnNpdGlvbiBoYWlybGluZXMpIOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vLyBBbHRlcm5hdGUgZXZlcnkgb3RoZXIgLnNlY3Rpb24gYmV0d2VlbiBiZy1wcmltYXJ5IChkZWZhdWx0KSBhbmQgYmctc2Vjb25kYXJ5LlxuLy8gOm50aC1vZi10eXBlIGNvdW50cyA8c2VjdGlvbj4gZWxlbWVudHMgcmVnYXJkbGVzcyBvZiBjbGFzcywgc28gdGhlIGhlcm9cbi8vICg8c2VjdGlvbiBjbGFzcz1cImhlcm9cIj4pIGlzIHBvc2l0aW9uIDEg4oCUIHRoZSBhbHRlcm5hdGlvbiBiZWdpbnMgd2l0aCB0aGVcbi8vIGZpcnN0IC5zZWN0aW9uIGFmdGVyIHRoZSBoZXJvIChwaWxvdC1zdHJpcCkuXG5ib2R5ID4gLnNlY3Rpb246bnRoLW9mLXR5cGUoMm4pIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbn1cblxuLy8gVGhpbiBoYWlybGluZSBhdCB0aGUgdG9wIG9mIGV2ZXJ5IC5zZWN0aW9uIHRvIGNyaXNwbHkgbWFyayB0cmFuc2l0aW9uc1xuLy8gYmV0d2VlbiBhZGphY2VudCBkYXJrIHN1cmZhY2VzLiBIZXJvIGlzIGV4Y2x1ZGVkIChpdHMgb3duIHRyZWF0bWVudCkuXG4uc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlY3Rpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgOTBkZWcsXG4gICAgdHJhbnNwYXJlbnQgMCUsXG4gICAgdmFyKC0tYm9yZGVyLXByaW1hcnkpIDMwJSxcbiAgICB2YXIoLS1ib3JkZXItcHJpbWFyeSkgNzAlLFxuICAgIHRyYW5zcGFyZW50IDEwMCVcbiAgKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IHZhcigtLXotYWJvdmUpO1xufVxuXG4vLyBBdWRpZW5jZSB0YWJzIGtlZXBzIHRoZSBzb2Z0IHRvcC1hbmNob3JlZCByYWRpYWwgZ2xvdy5cbi5hdWRpZW5jZS10YWJzLXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICAgIDkwMHB4IGNpcmNsZSBhdCA1MCUgMCUsXG4gICAgICByZ2JhKDE0MCwgMTk4LCA2MywgMC4wNikgMCUsXG4gICAgICB0cmFuc3BhcmVudCA2MCVcbiAgICApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IHZhcigtLXotYmVoaW5kKTtcbiAgfVxufVxuXG4vLyDilIDilIAgRm9jYWwgc2VjdGlvbiB0cmVhdG1lbnRzICh0aGUgXCJzdHVubmluZ1wiIGJhY2tncm91bmRzKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLy8gKEIpIFJ1aHJwcmludCDigJQgaGVhdnkgc3RhZ2Ugc3BvdGxpZ2h0LiBUaHJlZSBsYXllcmVkIHJhZGlhbCBncmFkaWVudHM6XG4vLyBhIHN0cm9uZyBncmVlbiBmb2NhbCBjZW50cmVkIG9uIHRoZSBxdW90ZSBjYXJkLCBwbHVzIHR3byBzb2Z0ZXIgb2Zmc2V0XG4vLyBhY2NlbnRzIChvbmUgdGVhbC10aW50ZWQsIG9uZSBncmVlbikgZm9yIHBhcmFsbGF4LWZlZWxpbmcgZGVwdGguXG4uc2VjdGlvbjpoYXMoLnBhcnRuZXJzaGlwLXF1b3RlLWNhcmQpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICA3MDBweCBjaXJjbGUgYXQgNTAlIDc1JSxcbiAgICAgICAgcmdiYSgxNDAsIDE5OCwgNjMsIDAuMTgpIDAlLFxuICAgICAgICB0cmFuc3BhcmVudCA1NSVcbiAgICAgICksXG4gICAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgIDUwMHB4IGNpcmNsZSBhdCA2NSUgNzAlLFxuICAgICAgICByZ2JhKDgwLCAxODAsIDE2MCwgMC4wOCkgMCUsXG4gICAgICAgIHRyYW5zcGFyZW50IDU1JVxuICAgICAgKSxcbiAgICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgNTAwcHggY2lyY2xlIGF0IDM1JSA3MCUsXG4gICAgICAgIHJnYmEoMTQwLCAxOTgsIDYzLCAwLjA3KSAwJSxcbiAgICAgICAgdHJhbnNwYXJlbnQgNTUlXG4gICAgICApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IHZhcigtLXotYmVoaW5kKTtcbiAgfVxufVxuXG4vLyAoQSkgV29ya2Zsb3cg4oCUIHBlcnNwZWN0aXZlIGdyaWQgaW4gZmFuWFhMIGdyZWVuLiAzRCByb3RhdGVYKDI1ZGVnKSBvbiBhXG4vLyA2MMOXNjAgZ3JpZCBsYXR0aWNlLCBtYXNrZWQgdG8gZmFkZSBhdCB0b3AgYW5kIGJvdHRvbSBlZGdlcy4gU2FtZSB0ZWNobmlxdWVcbi8vIHRoZSBoZXJvIGFscmVhZHkgdXNlczsgdGhpcyBtYXRjaGVzIHRoZSB3b3JrZmxvdydzIFwic3RydWN0dXJlZCBwcm9jZXNzXCJcbi8vIG1lc3NhZ2UgdmlzdWFsbHkuXG4uc2VjdGlvbjpoYXMoLndvcmtmbG93LWNvbnRhaW5lcikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgLy8gQ2xpcCB0aGUgcGVyc3BlY3RpdmUtdHJhbnNmb3JtZWQgZ3JpZCBsYXR0aWNlIHNvIHRoZSAzRC1yb3RhdGVkIGxpbmVzXG4gIC8vIGNhbid0IGV4dGVuZCBwYXN0IHRoZSBzZWN0aW9uIGJvdW5kcy5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgICBsaW5lYXItZ3JhZGllbnQocmdiYSgxNDAsIDE5OCwgNjMsIDAuMDgpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgxNDAsIDE5OCwgNjMsIDAuMDgpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDYwcHggNjBweDtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoODAwcHgpIHJvdGF0ZVgoMjJkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG4gICAgbWFzazogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMCUsIGJsYWNrIDE4JSwgYmxhY2sgNzUlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAtd2Via2l0LW1hc2s6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCBibGFjayAxOCUsIGJsYWNrIDc1JSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogdmFyKC0tei1iZWhpbmQpO1xuICB9XG59XG5cbi8vIChEKSBQcm9ibGVtIHNlY3Rpb24g4oCUIHN1YnRsZSBmcmFjdGFsLW5vaXNlIGdyYWluIHBsdXMgYSBmYWludCBncmVlblxuLy8gdW5kZXJ0b25lLiBBZGRzIHZpc3VhbCB3ZWlnaHQgdG8gYSBwcmV2aW91c2x5IGZsYXQgc3VyZmFjZS4gVGFnIHRoZVxuLy8gc2VjdGlvbiB2aWEgc2VjdGlvbkNsYXNzPVwic2VjdGlvbi0tcHJvYmxlbVwiIGZyb20gdGhlIFR3aWcgaW5jbHVkZS5cbi5zZWN0aW9uLS1wcm9ibGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOlxuICAgICAgcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAxMDAwcHggY2lyY2xlIGF0IDUwJSAxMDAlLFxuICAgICAgICByZ2JhKDE0MCwgMTk4LCA2MywgMC4wNikgMCUsXG4gICAgICAgIHRyYW5zcGFyZW50IDYwJVxuICAgICAgKSxcbiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjIwJyBoZWlnaHQ9JzIyMCc+PGZpbHRlciBpZD0nbic+PGZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9JzAuOScgbnVtT2N0YXZlcz0nMicgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjxmZUNvbG9yTWF0cml4IHZhbHVlcz0nMCAwIDAgMCAxICAwIDAgMCAwIDEgIDAgMCAwIDAgMSAgMCAwIDAgMC4zNSAwJy8+PC9maWx0ZXI+PHJlY3Qgd2lkdGg9JzEwMCUyNScgaGVpZ2h0PScxMDAlMjUnIGZpbHRlcj0ndXJsKCUyM24pJy8+PC9zdmc+XCIpO1xuICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuLCBub3JtYWw7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBtaXgtYmxlbmQtbW9kZTogc2NyZWVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IHZhcigtLXotYmVoaW5kKTtcbiAgfVxufVxuXG4vLyAoQykgRmluYWwgQ1RBIOKAlCBzbG93bHktcm90YXRpbmcgY29uaWMgZ3JhZGllbnQgaGFsby4gU2luZ2xlIG1vdmluZy1iZ1xuLy8gZWxlbWVudCBvbiB0aGUgcGFnZTsgZnVsbCBvcHQtb3V0IG9uIHByZWZlcnMtcmVkdWNlZC1tb3Rpb24gKGJlY29tZXMgYVxuLy8gc3RhdGljIHJhZGlhbCBnbG93IGluc3RlYWQpLlxuLmN0YS1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIC8vIENsaXAgdGhlIGhhbG8gYXQgc2VjdGlvbiBib3VuZHMgc28gdGhlIGluc2V0OiAtMjUlIGV4dGVuc2lvbiBjYW4ndFxuICAvLyBibGVlZCBpbnRvIHRoZSBmb290ZXIgYmVsb3cgb3IgdGhlIHNlY3Rpb24gYWJvdmUuXG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogLTI1JTtcbiAgICBiYWNrZ3JvdW5kOiBjb25pYy1ncmFkaWVudChcbiAgICAgIGZyb20gMGRlZyxcbiAgICAgIHRyYW5zcGFyZW50IDBkZWcsXG4gICAgICByZ2JhKDE0MCwgMTk4LCA2MywgMC4xNikgNjBkZWcsXG4gICAgICB0cmFuc3BhcmVudCAxMjBkZWcsXG4gICAgICByZ2JhKDE0MCwgMTk4LCA2MywgMC4wOCkgMjAwZGVnLFxuICAgICAgdHJhbnNwYXJlbnQgMjYwZGVnLFxuICAgICAgcmdiYSgxNDAsIDE5OCwgNjMsIDAuMTIpIDMyMGRlZyxcbiAgICAgIHRyYW5zcGFyZW50IDM2MGRlZ1xuICAgICk7XG4gICAgZmlsdGVyOiBibHVyKDYwcHgpO1xuICAgIGFuaW1hdGlvbjogY3RhLWhhbG8tc3BpbiA2MHMgbGluZWFyIGluZmluaXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IHZhcigtLXotYmVoaW5kKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGN0YS1oYWxvLXNwaW4ge1xuICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8gICB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmN0YS1zZWN0aW9uOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICAgIDkwMHB4IGNpcmNsZSBhdCA1MCUgNTAlLFxuICAgICAgcmdiYSgxNDAsIDE5OCwgNjMsIDAuMTApIDAlLFxuICAgICAgdHJhbnNwYXJlbnQgNjAlXG4gICAgKTtcbiAgICBmaWx0ZXI6IG5vbmU7XG4gICAgaW5zZXQ6IDA7XG4gIH1cbn1cblxuLy8gKEUpIEZJRyAxLjUgXCJXYXMgc2ljaCDDpG5kZXJ0XCIg4oCUIHNvZnQgZ2xvdyByaXNpbmcgdW5kZXIgdGhlIDLDlzIgYmVuZWZpdCBncmlkLlxuLy8gTG93ZXItb3BhY2l0eSB0aGFuIHRoZSBwYXJ0bmVyc2hpcCBzdGFnZTsgcmVhZHMgYXMgYSBxdWlldCBsaWZ0LCBub3QgYSBmb2NhbC5cbi5zZWN0aW9uLS1mb3VyLXVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgICA5MDBweCBjaXJjbGUgYXQgNTAlIDEwMCUsXG4gICAgICByZ2JhKDE0MCwgMTk4LCA2MywgMC4wNSkgMCUsXG4gICAgICB0cmFuc3BhcmVudCA2MCVcbiAgICApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IHZhcigtLXotYmVoaW5kKTtcbiAgfVxufVxuXG4vLyAoRikgRklHIDEuNyBcIlBpbG90cGhhc2Ug4oCUIGtlaW4gZmluYW56aWVsbGVzIFJpc2lrb1wiLiBUb3AtYW5jaG9yZWQgcmFkaWFsXG4vLyBzbyB0aGUgUElMT1RQSEFTRSBleWVicm93ICsgaGVhZGxpbmUgc2l0IG9uIGEgc29mdCB3YXJtIHNwb3RsaWdodC5cbi8vIE9wdCBpbiB2aWEgc2VjdGlvbkNsYXNzPVwic2VjdGlvbi0tYWNjZW50LXByaWNpbmdcIiBvbiB0aGUgbmFycmF0aXZlX3NlY3Rpb25cbi8vIGluY2x1ZGUuXG4uc2VjdGlvbi0tYWNjZW50LXByaWNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICAgIDEyMDBweCBjaXJjbGUgYXQgNTAlIDAlLFxuICAgICAgcmdiYSgxNDAsIDE5OCwgNjMsIDAuMDcpIDAlLFxuICAgICAgdHJhbnNwYXJlbnQgNjUlXG4gICAgKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWJlaGluZCk7XG4gIH1cbn1cblxuLy8g4pSA4pSAIEF1ZGllbmNlIFRhYnMgKEFscGluZS1kcml2ZW4sIHdpdGggbm8tSlMgc3RhY2sgZmFsbGJhY2spIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uYXVkaWVuY2UtdGFicyB7XG4gIG1heC13aWR0aDogMTA4MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmF1ZGllbmNlLXRhYi1iYXIge1xuICAvLyBIaWRkZW4gYnkgZGVmYXVsdCDigJQgb25seSBtZWFuaW5nZnVsIHdoZW4gQWxwaW5lIGRyaXZlcyB0aGUgdGFiIHN0YXRlLlxuICAvLyBXaXRob3V0IEpTLCB0aGUgYmFyIGlzIGludmlzaWJsZSBhbmQgdGhlIHBhbmVscyBqdXN0IHN0YWNrIGJlbG93LlxuICBkaXNwbGF5OiBub25lO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXByaW1hcnkpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS04KTtcbiAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmpzIC5hdWRpZW5jZS10YWItYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmF1ZGllbmNlLXRhYi10cmlnZ2VyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTUpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uKSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWdyZWVuLXByaW1hcnkpO1xuICB9XG59XG5cbi5hdWRpZW5jZS10YWItcGFuZWwge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS04KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMTIpO1xuICB9XG5cbiAgLy8gV2l0aG91dCBKUywgc2VwYXJhdGUgY29uc2VjdXRpdmUgc3RhY2tlZCBwYW5lbHMuXG4gICYgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0xNik7XG4gIH1cbn1cblxuLy8gV2l0aCBKUywgb25seSBvbmUgcGFuZWwgaXMgdmlzaWJsZSBhdCBhIHRpbWUg4oCUIEFscGluZSBoYW5kbGVzIGRpc3BsYXkuXG4uanMgLmF1ZGllbmNlLXRhYi1wYW5lbCArIC5hdWRpZW5jZS10YWItcGFuZWwge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uYXVkaWVuY2UtdGFiLXRpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTN4bCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LWJvbGQpO1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtNCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1sZWFkaW5nLXRpZ2h0KTtcbn1cblxuLmF1ZGllbmNlLXRhYi1wcm9zZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1iYXNlKTtcbiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxlYWRpbmctcmVsYXhlZCk7XG4gIG1hcmdpbjogMDtcbn1cblxuLmF1ZGllbmNlLXRhYi12aXN1YWwge1xuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXhsKTtcbiAgfVxufVxuXG4vLyDilIDilIAgRkFRIEFjY29yZGlvbiAoc2VtYW50aWMgPGRldGFpbHM+LWJhc2VkKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmZhcS1hY2NvcmRpb24ge1xuICBtYXgtd2lkdGg6IDc2MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmZhcS1pdGVtIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uKTtcblxuICAmW29wZW5dIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1ncmVlbi1tdXRlZCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKTtcbiAgfVxufVxuXG4uZmFxLXN1bW1hcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTUpIHZhcigtLXNwYWNlLTYpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBkaXNjbG9zdXJlIHRyaWFuZ2xlIG9uIGV2ZXJ5IGVuZ2luZS5cbiAgJjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgJjo6bWFya2VyICAgICAgICAgICAgICB7IGRpc3BsYXk6IG5vbmU7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctZWxldmF0ZWQpO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIH1cbn1cblxuLmZhcS1xdWVzdGlvbiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1sZyk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1sZWFkaW5nLXNudWcpO1xufVxuXG4uZmFxLWNoZXZyb24ge1xuICBmbGV4LXNocmluazogMDtcbiAgY29sb3I6IHZhcigtLWdyZWVuLXByaW1hcnkpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgW29wZW5dID4gLmZhcS1zdW1tYXJ5ICYge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbn1cblxuLmZhcS1hbnN3ZXIge1xuICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLTYpIHZhcigtLXNwYWNlLTUpO1xuICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICBmb250LXNpemU6IHZhcigtLXRleHQtYmFzZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1sZWFkaW5nLXJlbGF4ZWQpO1xufVxuXG4vLyDilIDilIAgUGFydG5lcnNoaXAgcXVvdGUgY2FyZCAobG9nbyArIHZlcmJhdGltIHF1b3RlICsgYXR0cmlidXRpb24pIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4ucGFydG5lcnNoaXAtcXVvdGUtY2FyZCB7XG4gIG1heC13aWR0aDogNzYwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wYXJ0bmVyc2hpcC1xdW90ZS1sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIHZhcigtLXNwYWNlLTUpO1xuICBtYXgtaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogYXV0bztcbiAgLy8gVGhlIFJ1aHJwcmludCBTVkcgc2hpcHMgd2l0aCBmaWxsICMyYjJhMjkgKG5lYXItYmxhY2spLiBPbiB0aGUgZGFya1xuICAvLyBjYXJkIGl0IHdvdWxkIGJlIGludmlzaWJsZS4gYnJpZ2h0bmVzcygwKSBjcnVzaGVzIHRvIHB1cmUgYmxhY2ssXG4gIC8vIGludmVydCgxKSBmbGlwcyB0aGF0IHRvIHB1cmUgd2hpdGUg4oCUIGEgY2hlYXAgZnVsbC1yZWNvbG91ciBmb3IgYW55XG4gIC8vIHNvbGlkLWZpbGwgU1ZHIHRoYXQgbmVlZHMgdG8gcmVhZCBhcyBmb3JlZ3JvdW5kIHRvbmUuXG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gIG9wYWNpdHk6IDAuOTI7XG59XG5cbi5wYXJ0bmVyc2hpcC1xdW90ZS10ZXh0IHtcbiAgLy8gTW9iaWxlOiAxNnB4IHNudWcgc28gdGhlIG11bHRpLWxpbmUgcXVvdGUgc2l0cyBwcm9wb3J0aW9uYWwgdG8gdGhlXG4gIC8vIDE4cHggc2VjdGlvbiBzdWJ0aXRsZSByaWdodCBhYm92ZSBpdC4gRGVza3RvcDogMjBweCByZWxheGVkIGZvciB0aGVcbiAgLy8gY3JlZGliaWxpdHktYW5jaG9yIHdlaWdodCB0aGUgcGxhbiBhc2tzIGZvci5cbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWJhc2UpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGVhZGluZy1zbnVnKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtbWVkaXVtKTtcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTQpO1xuICAvLyBTdHlsZSBhcyBhIHJlYWwgPGJsb2NrcXVvdGU+OiBpdGFsaWNpc2VkLCB3aXRoIGxpZ2h0IHF1b3RlIG1hcmtzXG4gIC8vIGltcGxpY2l0IGZyb20gdGhlIHZpc3VhbCBlbXBoYXNpcy5cbiAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC14bCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxlYWRpbmctcmVsYXhlZCk7XG4gIH1cbn1cblxuLnBhcnRuZXJzaGlwLXF1b3RlLWF0dHJpYnV0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1zbSk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tdHJhY2tpbmctd2lkZSk7XG59XG5cbi8vIOKUgOKUgCBQaWxvdCBTdHJpcCAobGl2ZSBzaG9wcyBcIkxpdmUgaW0gUGlsb3RiZXRyaWViXCIpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4ucGlsb3Qtc3RyaXAtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG59XG5cbi5waWxvdC1zdHJpcC1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuXG4gIC8vIOKUgOKUgCBQaG9uZSAoPDc2OHB4KTogaG9yaXpvbnRhbCBzd2lwZSBjYXJvdXNlbCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gTmF0aXZlIENTUyBzY3JvbGwtc25hcCwgbm8gSlMuIE9uZSBjYXJkIGNlbnRyZXMgaW4gdGhlIHZpZXdwb3J0LCB0aGVcbiAgLy8gbmV4dCB+MTUlIHBlZWtzIG9uIHRoZSByaWdodCBlZGdlIHVuZGVyIGEgc29mdCBmYWRlIHNvIHVzZXJzIHNlZSB0aGF0XG4gIC8vIHRoZXJlJ3MgbW9yZSB0byBzd2lwZSB0by5cbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIHNjcm9sbC1wYWRkaW5nLWlubGluZTogdmFyKC0tc3BhY2UtNCk7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBibGFjayA5MiUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgYmxhY2sgOTIlLCB0cmFuc3BhcmVudCAxMDAlKTtcblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAvLyDilIDilIAgVGFibGV0ICjiiaU3NjhweCk6IHdyYXAgZ3JpZCwgbm8gY2Fyb3VzZWwg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogbm9uZTtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87XG4gICAgbWFzay1pbWFnZTogbm9uZTtcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IG5vbmU7XG4gIH1cblxuICAvLyDilIDilIAgRGVza3RvcCAo4omlMTAyNHB4KTogd2lkZXIgZ2FwIGJldHdlZW4gdGhlICh1cCB0byA0KSBjYXJkcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIGdhcDogdmFyKC0tc3BhY2UtNik7XG4gIH1cbn1cblxuLnBpbG90LXN0cmlwLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC8vIFBob25lOiBlYWNoIGNhcmQgdGFrZXMgfjgwJSBvZiB0aGUgdmlld3BvcnQgc28gdGhlIG5leHQgcGVla3MuXG4gIGZsZXg6IDAgMCA4MCU7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLy8gVGFibGV0OiAyLXVwIHdyYXAuIEhhbGYgdGhlIHJvdyB3aWR0aCBtaW51cyBoYWxmIHRoZSBnYXAuXG4gICAgZmxleDogMSAxIGNhbGMoNTAlIC0gdmFyKC0tc3BhY2UtMikpO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC8vIERlc2t0b3A6IHNocmluayB0byBhIDI0MHB4IGJhc2lzIHdpdGggYSAyODBweCBtYXgg4oCUIDQgY2FyZHMgZml0XG4gICAgLy8gaW4gdGhlIDEyMDAgY29udGFpbmVyIHdpdGggZ2FwLTYgYmV0d2VlbiwgZmV3ZXIgKGUuZy4gMiBpbiBsb2NhbFxuICAgIC8vIGZpeHR1cmVzKSBzdGF5IGNlbnRyZWQgYXQgYSByZWFzb25hYmxlIHdpZHRoLlxuICAgIGZsZXg6IDAgMSAyNDBweDtcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICB9XG59XG5cbi5waWxvdC1zdHJpcC1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS02KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uKSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pLCBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG5hLnBpbG90LXN0cmlwLWNhcmQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1ncmVlbi1tdXRlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWVsZXZhdGVkKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpLCB2YXIoLS1nbG93LWdyZWVuLXN1YnRsZSk7XG59XG5cbi5waWxvdC1zdHJpcC1sb2dvIHtcbiAgd2lkdGg6IDcycHg7XG4gIGhlaWdodDogNzJweDtcbiAgLy8gQ1NTIG1hc2sgZmxpcHMgY2x1YiBsb2dvcyBmcm9tIHRoZWlyIG93biBicmFuZCBjb2xvdXJzIHRvIHRoZSBwYWdlXG4gIC8vIGZvcmVncm91bmQgdG9uZSwgc28gdGhlIHN0cmlwIHJlYWRzIGFzIGEgY29uc2lzdGVudCBtb25vY2hyb21lIHJvdy5cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgLXdlYmtpdC1tYXNrOiB2YXIoLS1sb2dvLXVybCkgY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQ7XG4gIG1hc2s6IHZhcigtLWxvZ28tdXJsKSBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdDtcbn1cblxuLnBpbG90LXN0cmlwLW5hbWUge1xuICBmb250LXNpemU6IHZhcigtLXRleHQtYmFzZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXNlbWlib2xkKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGVhZGluZy1zbnVnKTtcbn1cblxuLnBpbG90LXN0cmlwLWhvc3Qge1xuICBmb250LXNpemU6IHZhcigtLXRleHQteHMpO1xuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXRyYWNraW5nLXdpZGUpO1xufVxuXG4vLyDilIDilIAgQ1RBIEJ1dHRvbiBHcm91cHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi5jdGEtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTgpO1xufVxuXG4uY3RhLWRpc2NsYWltZXIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS04KTtcbiAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXNtKTtcbiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGVnYWN5IElubGluZSBTdHlsZXMgLSBFeHRyYWN0ZWQgZnJvbSBiYXNlLmh0bWwudHdpZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCB0aGUgaW5saW5lIENTUyB0aGF0IHdhcyBpbiB0aGUgPHN0eWxlPiB0YWcgb2YgdGhlIFxuLy8gYmFzZSB0ZW1wbGF0ZS4gVGhlc2Ugc3R5bGVzIG5lZWQgdG8gYmUgcHJvcGVybHkgb3JnYW5pemVkIGFuZCBwb3RlbnRpYWxseVxuLy8gY29uc29saWRhdGVkIHdpdGggb3VyIG5ldyBkZXNpZ24gc3lzdGVtLlxuXG4vLyDilIDilIAgTGVnYWN5IENTUyBWYXJpYWJsZXMgKGVzc2VudGlhbCBmb3IgZXhpc3RpbmcgbGF5b3V0KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuOnJvb3Qge1xuICAgIC8vIFVzZSBvdXIgbmV3IGRlc2lnbiBzeXN0ZW0gdmFyaWFibGVzIGJ5IGRlZmF1bHQsIGJ1dCBhZGQgbGVnYWN5IGZhbGxiYWNrc1xuICAgIC8vIERlZmF1bHQgdG8gYmctcHJpbWFyeSAoZGVlcGVyIGJsYWNrKSBzbyB0aGUgbnRoLW9mLXR5cGUoMm4pIGFsdGVybmF0aW9uXG4gICAgLy8gaW4gX2NvbXBvbmVudHMuc2NzcyBjYW4gbGlmdCBldmVyeSBvdGhlciBzZWN0aW9uIHRvIGJnLXNlY29uZGFyeS5cbiAgICAvLyBQcmV2aW91c2x5IHRoaXMgcmVzb2x2ZWQgdG8gYmctc2Vjb25kYXJ5LCB3aGljaCBtYWRlIHRoZSBhbHRlcm5hdGlvbiBhIG5vLW9wLlxuICAgIC0tYmctc2VjdGlvbjogdmFyKC0tYmctcHJpbWFyeSwgIzBBMEIwQSk7XG4gICAgLS1zaGFkb3ctZGFyay1jYXJkOiB2YXIoLS1zaGFkb3cteGwsIDAgMjRweCA4MHB4IHJnYmEoMCwwLDAsMC40NSkpO1xufVxuXG4vLyDilIDilIAgTGVnYWN5IFJlc2V0ICYgQmFzZSBTdHlsZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiogeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH1cbmh0bWwgeyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgfVxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJvZHktbGVnYWN5KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5LWxlZ2FjeSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5hIHsgY29sb3I6IGluaGVyaXQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuaW1nIHsgbWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyB9XG4uY29udGFpbmVyLWxlZ2FjeSB7IG1heC13aWR0aDogMTIwMHB4OyBtYXJnaW46IDAgYXV0bzsgcGFkZGluZzogMCAxLjVyZW07IH1cblxuLy8g4pSA4pSAIExlZ2FjeSBIZWFkZXIgJiBOYXZpZ2F0aW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uaGVhZGVyLWxlZ2FjeSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNSwgNiwgNywgMC45NSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE2cHgpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE2cHgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItcHJpbWFyeS1sZWdhY3kpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi5oZWFkZXItbGVnYWN5LnNjcm9sbGVkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDExLCAxMywgMTYsIDAuOTgpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWJvcmRlci1oaWdobGlnaHRlZC1sZWdhY3kpO1xufVxuXG4uaGVhZGVyLW5hdi1sZWdhY3kge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5sb2dvLWxlZ2FjeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWxlZ2FjeSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59XG5cbi5sb2dvLWxlZ2FjeSBpbWcgeyBcbiAgICBoZWlnaHQ6IDJyZW07IFxuICAgIHdpZHRoOiBhdXRvOyBcbn1cblxuLy8gTW9iaWxlIE5hdmlnYXRpb24gLSBMRUdBQ1lcbi5tb2JpbGUtbWVudS1idXR0b24tbGVnYWN5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm1vYmlsZS1tZW51LWJ1dHRvbi1sZWdhY3kgc3BhbiB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1wcmltYXJ5LWxlZ2FjeSk7XG4gICAgbWFyZ2luOiAzcHggMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cblxuLm1vYmlsZS1tZW51LWJ1dHRvbi1sZWdhY3kuYWN0aXZlIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDZweCwgNnB4KTtcbn1cblxuLm1vYmlsZS1tZW51LWJ1dHRvbi1sZWdhY3kuYWN0aXZlIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4ubW9iaWxlLW1lbnUtYnV0dG9uLWxlZ2FjeS5hY3RpdmUgc3BhbjpudGgtY2hpbGQoMykge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDZweCwgLTZweCk7XG59XG5cbi5uYXYtbGlua3MtbGVnYWN5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDUsIDYsIDcsIDAuOTgpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNnB4KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXByaW1hcnktbGVnYWN5KTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5uYXYtbGlua3MtbGVnYWN5Lm1vYmlsZS1vcGVuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ubmF2LWxpbmtzLWxlZ2FjeSBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5uYXYtbGlua3MtbGVnYWN5IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktbGVnYWN5KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNDRweDtcbn1cblxuLm5hdi1saW5rcy1sZWdhY3kgYTpob3ZlciB7IFxuICAgIGNvbG9yOiB2YXIoLS1ncmVlbi1wcmltYXJ5LWxlZ2FjeSk7IFxufVxuXG4ubmF2LWxpbmtzLWxlZ2FjeSAuYnRuLXByaW1hcnktbGVnYWN5IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbi1wcmltYXJ5LWxlZ2FjeSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtb24tZ3JlZW4tbGVnYWN5KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi5uYXYtbGlua3MtbGVnYWN5IC5idG4tcHJpbWFyeS1sZWdhY3k6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLWhvdmVyLWxlZ2FjeSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtb24tZ3JlZW4tbGVnYWN5KSAhaW1wb3J0YW50O1xufVxuXG4vLyBMZWdhY3kgUHJpbWFyeSBCdXR0b24gU3R5bGVzXG4uYnRuLXByaW1hcnktbGVnYWN5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLXByaW1hcnktbGVnYWN5KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1vbi1ncmVlbi1sZWdhY3kpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ0bi1wcmltYXJ5LWxlZ2FjeSBzdmcge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG59XG5cbi5idG4tcHJpbWFyeS1sZWdhY3k6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdyZWVuLWhvdmVyLWxlZ2FjeSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1ncmVlbi1nbG93LWxlZ2FjeSk7XG59XG5cbi5idG4tcHJpbWFyeS1sZWdhY3kuaGVyby1jdGEge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBhbmltYXRpb246IHB1bHNlR2xvdy1sZWdhY3kgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5idG4tcHJpbWFyeS1sZWdhY3kuaGVyby1jdGE6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSBzY2FsZSgxLjA1KTtcbiAgICBib3gtc2hhZG93OiAwIDE2cHggNDhweCByZ2JhKDE0MCwgMTk4LCA2MywgMC40KTtcbn1cblxuLmJ0bi1wcmltYXJ5LWxlZ2FjeS5oZXJvLWN0YTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDI1NSwyNTUsMjU1LDAuMiksIHRyYW5zcGFyZW50KTtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuNXM7XG59XG5cbi5idG4tcHJpbWFyeS1sZWdhY3kuaGVyby1jdGE6aG92ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAwJTtcbn1cblxuLy8gRGVza3RvcCBOYXZpZ2F0aW9uIC0gTEVHQUNZXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubW9iaWxlLW1lbnUtYnV0dG9uLWxlZ2FjeSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5uYXYtbGlua3MtbGVnYWN5IHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAubmF2LWxpbmtzLWxlZ2FjeSBsaSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAubmF2LWxpbmtzLWxlZ2FjeSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBcbiAgICAubmF2LWxpbmtzLWxlZ2FjeSBhOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIH1cbiAgICBcbiAgICAubmF2LWxpbmtzLWxlZ2FjeSBhOm5vdCguYnRuLXByaW1hcnktbGVnYWN5KTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC00cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4tcHJpbWFyeS1sZWdhY3kpO1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XG4gICAgfVxuICAgIFxuICAgIC5uYXYtbGlua3MtbGVnYWN5IGE6bm90KC5idG4tcHJpbWFyeS1sZWdhY3kpOmhvdmVyOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAubmF2LWxpbmtzLWxlZ2FjeSAuYnRuLXByaW1hcnktbGVnYWN5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBcbiAgICAubmF2LWxpbmtzLWxlZ2FjeSAuYnRuLXByaW1hcnktbGVnYWN5OmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIH1cbiAgICBcbiAgICAubG9nby1sZWdhY3kge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG4gICAgXG4gICAgLmxvZ28tbGVnYWN5IGltZyB7XG4gICAgICAgIGhlaWdodDogMi41cmVtO1xuICAgIH1cbn1cblxuLy8g4pSA4pSAIExlZ2FjeSBBbmltYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5Aa2V5ZnJhbWVzIHN0YWRpdW1MaWdodHMtbGVnYWN5IHtcbiAgICAwJSwgMTAwJSB7IG9wYWNpdHk6IDAuMTU7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICA1MCUgeyBvcGFjaXR5OiAwLjI1OyB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG59XG5cbkBrZXlmcmFtZXMgZmxvYXRpbmdQYXJ0aWNsZXMtbGVnYWN5IHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDB2aCkgcm90YXRlKDBkZWcpOyBvcGFjaXR5OiAwOyB9XG4gICAgMTAlIHsgb3BhY2l0eTogMTsgfVxuICAgIDkwJSB7IG9wYWNpdHk6IDE7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCkgcm90YXRlKDM2MGRlZyk7IG9wYWNpdHk6IDA7IH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZUdsb3ctbGVnYWN5IHtcbiAgICAwJSwgMTAwJSB7IGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgxNDAsIDE5OCwgNjMsIDAuMyk7IH1cbiAgICA1MCUgeyBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMTQwLCAxOTgsIDYzLCAwLjYpLCAwIDAgODBweCByZ2JhKDE0MCwgMTk4LCA2MywgMC4yKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGNvdW50VXAtbGVnYWN5IHtcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyBvcGFjaXR5OiAwOyB9XG4gICAgdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IG9wYWNpdHk6IDE7IH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdC1sZWdhY3kge1xuICAgIGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpOyBvcGFjaXR5OiAwOyB9XG4gICAgdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IG9wYWNpdHk6IDE7IH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQtbGVnYWN5IHtcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyBvcGFjaXR5OiAwOyB9XG4gICAgdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IG9wYWNpdHk6IDE7IH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcC1sZWdhY3kge1xuICAgIGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7IG9wYWNpdHk6IDA7IH1cbiAgICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgb3BhY2l0eTogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHNjYWxlSW4tbGVnYWN5IHtcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjkpOyBvcGFjaXR5OiAwOyB9XG4gICAgdG8geyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9XG59XG5cbi8vIOKUgOKUgCBMZWdhY3kgSGVybyBTZWN0aW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uaGVyby1sZWdhY3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBwYWRkaW5nOiA1cmVtIDAgM3JlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnktbGVnYWN5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5oZXJvLWxlZ2FjeTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IFxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSAxNDAwcHggODAwcHggYXQgODAlIDIwJSwgcmdiYSgxNDAsMTk4LDYzLDAuMTUpIDAlLCB0cmFuc3BhcmVudCA2MCUpLFxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSAxMDAwcHggNjAwcHggYXQgMjAlIDgwJSwgcmdiYSgxNDAsMTk4LDYzLDAuMDgpIDAlLCB0cmFuc3BhcmVudCA1MCUpLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1iZy1wcmltYXJ5LWxlZ2FjeSkgMCUsICMwYTBiMGUgMTAwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5oZXJvLXBhcnRpY2xlcy1sZWdhY3kge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC4zO1xufVxuXG4uaGVyby1wYXJ0aWNsZXMtbGVnYWN5OjpiZWZvcmUge1xuICAgIGxlZnQ6IDgwJTtcbiAgICBhbmltYXRpb24tZGVsYXk6IDVzO1xufVxuXG4uaGVyby1wYXJ0aWNsZXMtbGVnYWN5OjphZnRlciB7XG4gICAgY29udGVudDogJ/CfpYUnO1xuICAgIGxlZnQ6IDYwJTtcbiAgICBhbmltYXRpb24tZGVsYXk6IDdzO1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xufVxuXG4uaGVyby1ncmlkLWxlZ2FjeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhlcm8tY29udGVudC1sZWdhY3kge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvcmRlcjogMTtcbn1cblxuLmhlcm8tZXllYnJvdy1sZWdhY3kge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNDAsMTk4LDYzLDAuMSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWhpZ2hsaWdodGVkLWxlZ2FjeSk7XG4gICAgY29sb3I6IHZhcigtLWdyZWVuLXByaW1hcnktbGVnYWN5KTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5oZXJvLXRpdGxlLWxlZ2FjeSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjg3NXJlbSwgOHZ3LCA0LjVyZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWxlZ2FjeSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB0ZXh0LXNoYWRvdzogMCA0cHggMjBweCByZ2JhKDE0MCwgMTk4LCA2MywgMC4yKTtcbn1cblxuLmhlcm8tdGl0bGUtbGVnYWN5IC5hY2NlbnQge1xuICAgIGNvbG9yOiB2YXIoLS1ncmVlbi1wcmltYXJ5LWxlZ2FjeSk7XG4gICAgdGV4dC1zaGFkb3c6IHZhcigtLXNoYWRvdy1ncmVlbi1nbG93LWxlZ2FjeSk7XG59XG5cbi5oZXJvLXN1YnRpdGxlLWxlZ2FjeSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWJvZHktbGVnYWN5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmhlcm8tY3RhLWxlZ2FjeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzIwcHg7XG59XG5cbi5idG4tc2Vjb25kYXJ5LWxlZ2FjeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWxlZ2FjeSk7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tZ3JlZW4tcHJpbWFyeS1sZWdhY3kpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnRuLXNlY29uZGFyeS1sZWdhY3k6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4tcHJpbWFyeS1sZWdhY3kpO1xuICAgIGNvbG9yOiB2YXIoLS1ncmVlbi1wcmltYXJ5LWxlZ2FjeSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNDAsMTk4LDYzLDAuMDUpO1xufVxuXG4vLyBOT1RFOiBUaGUgZXh0cmFjdGVkIENTUyBjb250aW51ZXMgZm9yIGFub3RoZXIgfjEwMDAgbGluZXNcbi8vIFRoaXMgaW5jbHVkZXMgYWxsIHRoZSBvdGhlciBzZWN0aW9ucywgY29tcG9uZW50cywgcmVzcG9uc2l2ZSBzdHlsZXMsIGV0Yy5cbi8vIEZvciBicmV2aXR5LCBJJ20gc2hvd2luZyB0aGUgcGF0dGVybiBhbmQgc3RydWN0dXJlIGhlcmUuXG5cbi8vIOKUgOKUgCBTZWN0aW9uIEJhc2UgU3R5bGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uc2VjdGlvbiB7XG4gICAgcGFkZGluZzogM3JlbSAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY3Rpb24pO1xufVxuXG4uc2VjdGlvbi10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS43NXJlbSwgNnZ3LCAzcmVtKTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnNlY3Rpb24tc3VidGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG8gMnJlbTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG59XG5cbi8vIOKUgOKUgCBDVEEgU2VjdGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmN0YS1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWN0aW9uKTtcbiAgICBwYWRkaW5nOiA1cmVtIDA7XG59XG5cbi5jdGEtY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHBhZGRpbmc6IDRyZW0gM3JlbTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctZGFyay1jYXJkKTtcbn1cblxuLmN0YS1jb250ZW50IHAge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLy8g4pSA4pSAIEZvb3RlciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLmZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogIzA3MDgwQztcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgcGFkZGluZzogM3JlbSAwIDJyZW07XG59XG5cbi5mb290ZXItZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4uZm9vdGVyLWNvbHVtbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZm9vdGVyLWJyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uZm9vdGVyLWJyYW5kIGltZyB7IFxuICAgIGhlaWdodDogMnJlbTsgXG4gICAgd2lkdGg6IGF1dG87IFxuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBPbiBtb2JpbGUgKGZsZXggY29sdW1uKSB0aGUgYnJhbmQgYmxvY2sgc2l0cyBsYXN0IHNvIHRoZSBuYXYgY29sdW1uc1xuLy8gc3VyZmFjZSBmaXJzdDsgb24gZGVza3RvcCB0aGUgZ3JpZCByZXN0b3JlcyBzb3VyY2Ugb3JkZXIgc28gdGhlIGJyYW5kXG4vLyB0YWtlcyB0aGUgd2lkZSBsZWZ0IGNvbHVtbi5cbi5mb290ZXItYnJhbmQtY29sdW1uIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgfVxufVxuXG4uZm9vdGVyLWRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmZvb3Rlci1jdGEge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5mb290ZXItaGlnaGxpZ2h0IHtcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmZvb3Rlci10aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbn1cblxuLmZvb3Rlci1saW5rcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmZvb3Rlci1saW5rcyBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLmZvb3Rlci1saW5rcyBhIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmZvb3Rlci1saW5rcyBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW4tcHJpbWFyeSk7XG59XG5cbi5mb290ZXItYm90dG9tIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLy8g4pSA4pSAIFJlc3BvbnNpdmUgRm9vdGVyIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogNHJlbSAwIDJyZW07XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItZ3JpZCB7IFxuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IFxuICAgICAgICBnYXA6IDJyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItY29sdW1uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1icmFuZCBpbWcge1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZm9vdGVyLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgMWZyO1xuICAgICAgICBnYXA6IDNyZW07XG4gICAgfVxuICAgIFxuICAgIC5mb290ZXItYnJhbmQtY29sdW1uIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICB9XG4gICAgXG4gICAgLmZvb3Rlci1ib3R0b20geyBcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZ2FwOiAwO1xuICAgIH1cbn1cblxuXG4vLyBUaGlzIGxlZ2FjeSBmaWxlIHNob3VsZCBiZSBncmFkdWFsbHkgcmVmYWN0b3JlZCBhbmQgY29uc29saWRhdGVkXG4vLyB3aXRoIHRoZSBuZXcgZGVzaWduIHN5c3RlbSBpbiBfdG9rZW5zLnNjc3MsIF9iYXNlLnNjc3MsIF9jb21wb25lbnRzLnNjc3MiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/