/*!***********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-4.use[3]!./assets/sass/index.scss ***!
  \***********************************************************************************************************************************************************************************/
@charset "UTF-8";
/*!
Theme Name: Gridia Marketing
Theme URI: https://gridia.lat
Author: Kronoscode Team.
Description: Sitio de marketing de Gridia: catálogos digitales con pedidos por WhatsApp.
Version: 2.0.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: gridia-marketing
Tags: custom-logo, webpack, acf, acf pro
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Abstracts (variables, mixins)
# Generic (normalize, tokens, reboot, box sizing)
# Base (typography, buttons, forms, mockups)
# Layouts (header, footer)
# Components (ACF flexible content: cp-*)
# Site (blog, article, 404)
# Utilities
--------------------------------------------------------------*/
/* ——— Gridia brand (from the logo) */
/* ——— Neutrals (from the reference) */
/* ——— Legacy names used by generic/utilities */
/* Fonts are loaded in <head> (includes/features/gridia-seo.php) with display=swap. */
/*————————————————————————————————————————————————————*\
    ●❱ MIXINGS
\*————————————————————————————————————————————————————*/
/** Based in: https://codepen.io/MadeByMike/pen/vNrvdZ?editors=0110 */
/*————————————————————————————————————————————————————*\
    ●❱ SHORTHANDS MIXINS HELPERS
\*————————————————————————————————————————————————————*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

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

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

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

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

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

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

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

/* Interactive
========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*
Theme Name: Gridia Marketing
Author: Kronoscode Team
Description: Sitio de marketing de Gridia.lat
Version: 2.0
*/
h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}

/*  |> BREAKPOINTS
——————————————————————————————————————————————————————*/
/*  |> OTHERS (used by reboot)
——————————————————————————————————————————————————————*/
:root {
  /* ——— Brand */
  --c-purple: #8f5dfa;
  --c-purple-600: #7646ee;
  --c-purple-700: #5d30d6;
  --c-purple-50: #f2edff;
  --c-lavender: #e2d9ff;
  --c-lime: #effa5d;
  --c-wa: #25d366;
  /* ——— Neutrals */
  --c-bg: #ececee;
  --c-surface: #f5f5f7;
  --c-card: #fbfbfc;
  --c-ink: #0f0f13;
  --c-text: #2f2f38;
  --c-muted: #5c5c68;
  --c-line: rgba(16, 16, 20, .08);
  --c-dark: #18171c;
  --c-dark-2: #232229;
  --c-dark-line: rgba(255, 255, 255, .1);
  --c-dark-muted: #a9a8b4;
  /* ——— Type */
  --f-display: Inter Tight, Inter, system-ui, -apple-system, Segoe UI, sans-serif;
  --f-body: Inter, system-ui, -apple-system, Segoe UI, sans-serif;
  --fs-hero: clamp(2.5rem, 1.6rem + 3.9vw, 4.5rem);
  --fs-h1: clamp(2.25rem, 1.6rem + 2.8vw, 3.75rem);
  --fs-h2: clamp(1.875rem, 1.4rem + 2vw, 3rem);
  --fs-h3: clamp(1.125rem, 1.05rem + .3vw, 1.3rem);
  --fs-lead: clamp(1.0625rem, 1rem + .3vw, 1.25rem);
  --fs-body: 1rem;
  --fs-sm: .9375rem;
  --fs-xs: .8125rem;
  /* ——— Layout */
  --container: 1200px;
  --container-narrow: 860px;
  --gutter: clamp(1.25rem, .8rem + 2vw, 2rem);
  --section-y: clamp(4rem, 2.5rem + 6vw, 7.5rem);
  --header-h: 76px;
  /* ——— Shape */
  --r-xs: 8px;
  --r-sm: 12px;
  --r-md: 18px;
  --r-lg: 24px;
  --r-xl: 32px;
  --r-pill: 999px;
  /* ——— Elevation */
  --sh-sm: 0 1px 2px rgba(16, 16, 20, .05), 0 1px 1px rgba(16, 16, 20, .03);
  --sh-md: 0 10px 30px -12px rgba(16, 16, 20, .18), 0 2px 6px rgba(16, 16, 20, .04);
  --sh-lg: 0 30px 60px -24px rgba(40, 20, 90, .35);
  --sh-purple: 0 12px 32px -8px rgba(118, 70, 238, .55);
  /* ——— Motion */
  --ease: cubic-bezier(.2, .7, .2, 1);
  --g-trans: .3s;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 1.5rem);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
/*  |> Section animations ([CP-INNER] Settings)
——————————————————————————————————————————————————————*/
.active--animation-yes {
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}

.js .active--animation-yes:not(.is-visible) {
  opacity: 0;
}
.js .active--animation-yes:not(.is-visible).animation--slide_up {
  transform: translateY(32px);
}
.js .active--animation-yes:not(.is-visible).animation--slide_left {
  transform: translateX(-40px);
}
.js .active--animation-yes:not(.is-visible).animation--slide_right {
  transform: translateX(40px);
}
.js .active--animation-yes:not(.is-visible).animation--zoom_in {
  transform: scale(0.94);
}
.js .active--animation-yes:not(.is-visible).animation--rotate_in {
  transform: rotate(-3deg) scale(0.97);
}

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

body {
  margin: 0;
  font-family: var(--ff-primary);
  font-weight: 400;
  line-height: var(--body-line-height);
  font-size: var(--body-font-size);
  color: var(--c-body-primary);
  background-color: var(--c-body-bg);
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  text-rendering: optimizeSpeed;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

hr {
  margin: 1rem 0;
  color: var(--hr-color);
  background-color: currentColor;
  border: 0;
  opacity: var(--hr-opacity);
}

hr:not([size]) {
  height: 1px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-bs-original-title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: 700;
}

small {
  font-size: 80%;
}

mark {
  padding: var(--mark-padding);
  background-color: var(--mark-bg);
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: var(--link-color);
  transition-property: color, background, text-decoration-color;
  transition-duration: var(--g-trans);
}
a:hover, a:focus {
  color: var(--link-hover-color);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--ff-monospace);
  font-size: 1em;
  direction: ltr /* rtl:ignore */;
  unicode-bidi: bidi-override;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  color: #fff;
  background-color: #18171c;
}
kbd kbd {
  padding: 0;
  font-weight: 400;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
}

th {
  font-weight: 700;
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]::-webkit-calendar-picker-indicator {
  display: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: inherit;
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
}

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

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Body & typography
--------------------------------------------------------------*/
body {
  margin: 0;
  background: var(--c-bg);
  color: var(--c-text);
  font-family: var(--f-body);
  font-size: var(--fs-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--c-ink);
  font-family: var(--f-display);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

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

img, svg, video {
  max-width: 100%;
  height: auto;
}

:focus-visible {
  outline: 2px solid var(--c-purple-600);
  outline-offset: 3px;
  border-radius: 6px;
}

::selection {
  background: var(--c-lime);
  color: var(--c-ink);
}

.skip-link:focus {
  position: fixed !important;
  z-index: 1000;
}

.g-icon {
  width: 1.25em;
  height: 1.25em;
  flex-shrink: 0;
}

/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/
.g-main {
  padding-top: calc(var(--header-h) + 1rem);
  overflow-x: clip;
}

.g-container {
  width: 100%;
  max-width: calc(var(--container) + var(--gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.g-container--narrow {
  max-width: calc(var(--container-narrow) + var(--gutter) * 2);
}

.g-section {
  position: relative;
  padding-block: calc(var(--section-y) / 2);
}
.g-section:first-child {
  padding-top: clamp(2rem, 1rem + 3vw, 3.5rem);
}
.g-section:last-child {
  padding-bottom: var(--section-y);
}

/*--------------------------------------------------------------
# Heading pattern
--------------------------------------------------------------*/
.g-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9rem;
  max-width: 760px;
  margin: 0 auto clamp(2.25rem, 1.5rem + 2.5vw, 3.75rem);
  text-align: center;
}
.g-heading--left {
  align-items: flex-start;
  margin-inline: 0;
  text-align: left;
}

.g-title {
  font-size: var(--fs-h2);
}

.g-subtitle {
  max-width: 620px;
  color: var(--c-muted);
  font-size: var(--fs-lead);
  line-height: 1.55;
}

.g-eyebrow {
  color: var(--c-purple-600);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.g-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.85rem 0.4rem 0.55rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: var(--sh-sm);
  color: var(--c-text);
  font-size: var(--fs-xs);
  font-weight: 500;
  backdrop-filter: blur(8px);
}
.g-pill__dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--c-lime);
  box-shadow: 0 0 0 3px rgba(239, 250, 93, 0.35), 0 0 0 1px rgba(16, 16, 20, 0.12) inset;
}
.g-pill .g-icon {
  width: 1rem;
  height: 1rem;
  color: var(--c-purple-600);
}
.g-pill--dark {
  border-color: var(--c-dark-line);
  background: var(--c-dark-2);
  color: #fff;
}
.g-pill--dark .g-icon {
  color: var(--c-lime);
}

/*--------------------------------------------------------------
# Buttons & links
--------------------------------------------------------------*/
.g-btn {
  --btn-bg: var(--c-card);
  --btn-color: var(--c-ink);
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 48px;
  padding: 0.75rem 1.35rem;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  background: var(--btn-bg);
  color: var(--btn-color);
  font-family: var(--f-body);
  font-size: var(--fs-sm);
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  transition: transform var(--g-trans) var(--ease), box-shadow var(--g-trans) var(--ease), background-color var(--g-trans), color var(--g-trans), border-color var(--g-trans);
}
.g-btn .g-icon {
  width: 1.05rem;
  height: 1.05rem;
  transition: transform var(--g-trans) var(--ease);
}
.g-btn:hover {
  transform: translateY(-1px);
}
.g-btn:hover .g-icon {
  transform: translateX(2px);
}
.g-btn:active {
  transform: translateY(0);
}
.g-btn--primary {
  --btn-bg: var(--c-purple-600);
  --btn-color: #fff;
  box-shadow: var(--sh-purple), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.g-btn--primary:hover {
  --btn-bg: var(--c-purple-700);
  box-shadow: 0 16px 40px -10px rgba(118, 70, 238, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.g-btn--dark {
  --btn-bg: var(--c-dark);
  --btn-color: #fff;
}
.g-btn--dark:hover {
  --btn-bg: #000;
}
.g-btn--ghost {
  --btn-bg: rgba(255, 255, 255, .6);
  border-color: rgba(16, 16, 20, 0.12);
}
.g-btn--ghost:hover {
  --btn-bg: #fff;
}
.g-btn--ghost-light {
  --btn-bg: rgba(255, 255, 255, .06);
  --btn-color: #fff;
  border-color: rgba(255, 255, 255, 0.18);
}
.g-btn--ghost-light:hover {
  --btn-bg: rgba(255, 255, 255, .12);
}
.g-btn--sm {
  min-height: 40px;
  padding: 0.55rem 1rem;
  font-size: var(--fs-xs);
}
.g-btn--block {
  width: 100%;
}

.g-ctas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}
.g-ctas--center {
  justify-content: center;
}

.g-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--c-purple-600);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.g-text-link .g-icon {
  width: 1rem;
  height: 1rem;
  transition: transform var(--g-trans) var(--ease);
}
.g-text-link:hover .g-icon {
  transform: translateX(3px);
}

/*--------------------------------------------------------------
# Small building blocks
--------------------------------------------------------------*/
.g-icon-tile {
  display: inline-grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  flex-shrink: 0;
  border-radius: var(--r-sm);
  background: var(--c-dark);
  box-shadow: 0 8px 18px -8px rgba(16, 16, 20, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  color: #fff;
}
.g-icon-tile .g-icon {
  width: 1.3rem;
  height: 1.3rem;
}
.g-icon-tile--purple {
  background: linear-gradient(160deg, var(--c-purple), var(--c-purple-600));
  box-shadow: var(--sh-purple);
}

.g-chip {
  display: inline-grid;
  place-items: center;
  width: 1.15em;
  height: 1.15em;
  margin-inline: 0.12em;
  border-radius: 50%;
  background: var(--c-purple);
  box-shadow: 0 0 0 4px rgba(143, 93, 250, 0.2), 0 6px 22px rgba(143, 93, 250, 0.6);
  color: #fff;
  vertical-align: -0.12em;
}
.g-chip .g-icon {
  width: 0.62em;
  height: 0.62em;
}
.g-chip--whatsapp {
  background: var(--c-wa);
  box-shadow: 0 0 0 4px rgba(37, 211, 102, 0.2), 0 6px 22px rgba(37, 211, 102, 0.55);
}
.g-chip--tag, .g-chip--sparkles {
  background: var(--c-lime);
  color: var(--c-ink);
  box-shadow: 0 0 0 4px rgba(239, 250, 93, 0.18), 0 6px 22px rgba(239, 250, 93, 0.45);
}

.g-checklist {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.g-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  line-height: 1.5;
}
.g-checklist .g-icon {
  width: 1.35rem;
  height: 1.35rem;
  padding: 0.22rem;
  border-radius: 50%;
  background: var(--c-purple-50);
  color: var(--c-purple-600);
  stroke-width: 2.6;
}
.g-checklist--compact {
  gap: 0.55rem;
  font-size: var(--fs-sm);
}

/*--------------------------------------------------------------
# Logo
--------------------------------------------------------------*/
.g-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--c-ink);
}
.g-logo--light {
  color: #fff;
}
.g-logo__img {
  width: auto;
  height: 30px;
}
.g-logo__word {
  font-family: var(--f-display);
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1;
}

.g-logo__mark {
  display: inline-grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12%;
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
}
.g-logo__mark i {
  display: block;
  border-radius: 22%;
  background: var(--c-lime);
}
.g-logo__mark i:nth-child(2), .g-logo__mark i:nth-child(3) {
  border-radius: 50%;
  background: var(--c-purple);
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.g-breadcrumbs {
  margin-bottom: 1.5rem;
}
.g-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--c-muted);
  font-size: var(--fs-xs);
}
.g-breadcrumbs li + li::before {
  content: "/";
  margin-right: 0.35rem;
  opacity: 0.45;
}
.g-breadcrumbs a:hover {
  color: var(--c-purple-600);
}
.g-breadcrumbs [aria-current] {
  color: var(--c-ink);
  font-weight: 500;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
.g-field {
  display: grid;
  gap: 0.4rem;
}
.g-field label {
  color: var(--c-ink);
  font-size: var(--fs-xs);
  font-weight: 600;
}
.g-field label span {
  color: var(--c-purple-600);
}
.g-field--full {
  grid-column: 1/-1;
}

.g-field input,
.g-field select,
.g-field textarea,
.g-search input {
  width: 100%;
  min-height: 48px;
  padding: 0.75rem 1rem;
  border: 1px solid rgba(16, 16, 20, 0.14);
  border-radius: var(--r-sm);
  background: #fff;
  color: var(--c-ink);
  font: inherit;
  font-size: var(--fs-sm);
  transition: border-color var(--g-trans), box-shadow var(--g-trans);
}
.g-field input:focus,
.g-field select:focus,
.g-field textarea:focus,
.g-search input:focus {
  outline: none;
  border-color: var(--c-purple-600);
  box-shadow: 0 0 0 4px rgba(143, 93, 250, 0.18);
}
.g-field input[aria-invalid=true],
.g-field select[aria-invalid=true],
.g-field textarea[aria-invalid=true],
.g-search input[aria-invalid=true] {
  border-color: #d64545;
}

.g-field textarea {
  resize: vertical;
}

.g-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.g-search {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 520px;
  margin: 2rem auto 0;
}
.g-search > .g-icon {
  position: absolute;
  left: 1.1rem;
  color: var(--c-muted);
}
.g-search input {
  min-height: 56px;
  padding-left: 3rem;
  padding-right: 7rem;
  border-radius: var(--r-pill);
  box-shadow: var(--sh-md);
}
.g-search .g-btn {
  position: absolute;
  right: 0.4rem;
}

/*--------------------------------------------------------------
# Prose (articles, legal, transcripts)
--------------------------------------------------------------*/
.g-prose {
  color: var(--c-text);
  font-size: 1.0625rem;
  line-height: 1.75;
}
.g-prose > * + * {
  margin-top: 1.25em;
}
.g-prose h2 {
  margin-top: 2.2em;
  font-size: clamp(1.5rem, 1.3rem + 0.8vw, 1.9rem);
}
.g-prose h3 {
  margin-top: 1.8em;
  font-size: 1.3rem;
}
.g-prose a {
  color: var(--c-purple-600);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.g-prose ul, .g-prose ol {
  padding-left: 1.3em;
}
.g-prose li + li {
  margin-top: 0.4em;
}
.g-prose img {
  border-radius: var(--r-md);
}
.g-prose blockquote {
  margin-inline: 0;
  padding: 1.25rem 1.5rem;
  border-left: 3px solid var(--c-purple);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  background: var(--c-card);
}
.g-prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-sm);
}
.g-prose table th, .g-prose table td {
  padding: 0.7rem 0.8rem;
  border-bottom: 1px solid var(--c-line);
  text-align: left;
}

/*--------------------------------------------------------------
# Pagination & empty state
--------------------------------------------------------------*/
.g-pagination {
  margin-top: 3rem;
}
.g-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4rem;
}
.g-pagination .page-numbers {
  display: inline-grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  padding-inline: 0.9rem;
  border-radius: var(--r-pill);
  background: var(--c-card);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.g-pagination .page-numbers.current {
  background: var(--c-dark);
  color: #fff;
}
.g-pagination .page-numbers:hover:not(.current) {
  background: #fff;
}

.g-empty {
  display: grid;
  justify-items: center;
  gap: 1rem;
  padding: 4rem 1rem;
  color: var(--c-muted);
  text-align: center;
}

/*--------------------------------------------------------------
# Decorative phone screens (template-parts/mockups/screen.php)
--------------------------------------------------------------*/
/* Signal, wifi and battery glyphs; $color is a URL-encoded hex (e.g. %2318171c). */
/* iPhone 16 Pro proportions: 71.5 × 149.6 mm body, black titanium frame. */
.g-phone {
  --ui-accent: var(--c-purple-600);
  --phone-frame: linear-gradient(135deg, #77767c 0%, #2f2e33 22%, #5d5c62 48%, #252429 74%, #6a696f 100%);
  position: relative;
  width: 100%;
  aspect-ratio: 71.5/149.6;
  padding: 3.4%;
  border: 3px solid transparent;
  border-radius: 17%/8.1%;
  background: linear-gradient(#060607, #060607) padding-box, var(--phone-frame) border-box;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06), 0 30px 60px -20px rgba(20, 16, 40, 0.45), var(--sh-lg);
  font-size: clamp(7px, 4cqi, 12px);
}
.g-phone::before, .g-phone::after {
  content: "";
  position: absolute;
  width: 3px;
  border-radius: 2px;
}
.g-phone::before {
  top: 17%;
  left: -6px;
  height: 24%;
  background: linear-gradient(#4a494f 0 13%, transparent 13% 25%, #4a494f 25% 58%, transparent 58% 67%, #4a494f 67% 100%);
}
.g-phone::after {
  top: 26%;
  right: -6px;
  height: 46%;
  background: linear-gradient(#4a494f 0 23%, transparent 23% 70%, #3c3b41 70% 89%, transparent 89%);
}
.g-phone__screen {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.8em;
  height: 100%;
  padding: 3.4em 0.95em 1.1em;
  overflow: hidden;
  border-radius: 14%/6.6%;
  background: #fafafb;
  color: var(--c-ink);
  line-height: 1.3;
}
.g-phone__screen::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 50%;
  width: 31%;
  height: 1.85em;
  border-radius: 1em;
  z-index: 3;
  background: #000;
  transform: translateX(-50%);
}
.g-phone__screen::after {
  content: "9:41";
  position: absolute;
  top: 0.75em;
  right: 0;
  left: 0;
  z-index: 2;
  height: 2.2em;
  padding-left: 1.8em;
  background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 68 12%27 fill=%27%2318171c%27%3E%3Crect x=%270%27 y=%277%27 width=%273%27 height=%274%27 rx=%27.8%27/%3E%3Crect x=%274.5%27 y=%275%27 width=%273%27 height=%276%27 rx=%27.8%27/%3E%3Crect x=%279%27 y=%273%27 width=%273%27 height=%278%27 rx=%27.8%27/%3E%3Crect x=%2713.5%27 y=%271%27 width=%273%27 height=%2710%27 rx=%27.8%27/%3E%3Cpath d=%27M29 11.2 25.6 7.6a4.8 4.8 0 0 1 6.8 0zM22.9 4.9a8.6 8.6 0 0 1 12.2 0l-1.4 1.4a6.6 6.6 0 0 0-9.4 0z%27/%3E%3Crect x=%2741.5%27 y=%271.5%27 width=%2722%27 height=%279%27 rx=%272.6%27 fill=%27none%27 stroke=%27%2318171c%27 stroke-opacity=%27.4%27/%3E%3Crect x=%2743.5%27 y=%273.5%27 width=%2716%27 height=%275%27 rx=%271.4%27/%3E%3Cpath d=%27M65.5 4.4v3.2a1.7 1.7 0 0 0 0-3.2z%27 fill-opacity=%27.45%27/%3E%3C/svg%3E") no-repeat right 1.4em center/4.4em auto;
  font-size: 1.05em;
  font-weight: 700;
  line-height: 2.2em;
  letter-spacing: -0.01em;
}

.g-ui-top {
  display: flex;
  align-items: center;
  gap: 0.6em;
}
.g-ui-top .g-ui-name {
  flex: 1;
  font-weight: 700;
}

.g-ui-avatar {
  width: 2.2em;
  height: 2.2em;
  flex-shrink: 0;
  border-radius: 50%;
  background: conic-gradient(var(--c-lime) 0 25%, var(--c-purple) 0 50%, var(--c-lime) 0 75%, var(--c-purple) 0);
}

.g-ui-cart {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.2em;
  height: 2.2em;
  border-radius: 50%;
  background: #efeff2;
}
.g-ui-cart .g-icon {
  width: 1.2em;
  height: 1.2em;
}
.g-ui-cart b {
  position: absolute;
  top: -0.2em;
  right: -0.2em;
  display: grid;
  place-items: center;
  width: 1.3em;
  height: 1.3em;
  border-radius: 50%;
  background: var(--ui-accent);
  color: #fff;
  font-size: 0.75em;
}

.g-ui-search {
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.75em 0.9em;
  border-radius: 999px;
  background: #efeff2;
  color: #8a8a95;
}
.g-ui-search .g-icon {
  width: 1.1em;
  height: 1.1em;
}
.g-ui-search.is-active {
  box-shadow: 0 0 0 1.5px var(--ui-accent);
  color: var(--c-ink);
}

.g-ui-promo {
  position: relative;
  display: grid;
  gap: 0.2em;
  padding: 1.2em 1em;
  overflow: hidden;
  border-radius: 1em;
  background: radial-gradient(circle at 85% 20%, rgba(239, 250, 93, 0.55), transparent 40%), linear-gradient(135deg, var(--c-purple), var(--c-purple-700));
  color: #fff;
}
.g-ui-promo b {
  font-size: 1.2em;
}
.g-ui-promo small {
  opacity: 0.8;
}

.g-ui-badge {
  justify-self: start;
  padding: 0.2em 0.6em;
  border-radius: 999px;
  background: var(--c-lime);
  color: var(--c-ink);
  font-size: 0.85em;
  font-weight: 700;
}

.g-ui-chips {
  display: flex;
  gap: 0.4em;
  overflow: hidden;
}
.g-ui-chips span {
  flex-shrink: 0;
  padding: 0.45em 0.8em;
  border-radius: 999px;
  background: #efeff2;
  font-size: 0.9em;
  white-space: nowrap;
}
.g-ui-chips span.is-on {
  background: var(--c-ink);
  color: #fff;
}

.g-ui-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7em;
}

.g-ui-card {
  display: grid;
  gap: 0.35em;
}
.g-ui-card i {
  display: block;
  width: 75%;
  height: 0.55em;
  border-radius: 999px;
  background: #e3e3e8;
}
.g-ui-card b {
  font-size: 0.95em;
}

.g-ui-thumb {
  position: relative;
  display: block;
  aspect-ratio: 1;
  border-radius: 0.8em;
  background: linear-gradient(150deg, #f1ecff, #d9ccff);
}
.g-ui-thumb--1 {
  background: linear-gradient(150deg, #fbfde0, #eaf28c);
}
.g-ui-thumb--2 {
  background: linear-gradient(150deg, #ffe9e2, #ffc3ae);
}
.g-ui-thumb--3 {
  background: linear-gradient(150deg, #e3f4ff, #b6dcf7);
}
.g-ui-thumb em {
  position: absolute;
  top: 0.45em;
  left: 0.45em;
  padding: 0.15em 0.5em;
  border-radius: 999px;
  background: #fff;
  font-size: 0.75em;
  font-style: normal;
  font-weight: 700;
}

.g-ui-row {
  display: flex;
  align-items: center;
  gap: 0.7em;
  padding: 0.55em;
  border-radius: 0.9em;
  background: #fff;
  box-shadow: 0 1px 3px rgba(16, 16, 20, 0.06);
}
.g-ui-row .g-ui-thumb {
  width: 3.2em;
  flex-shrink: 0;
}
.g-ui-row__text {
  display: grid;
  flex: 1;
}
.g-ui-row__text small {
  color: var(--c-muted);
}

.g-ui-qty {
  padding: 0.3em 0.6em;
  border-radius: 999px;
  background: #efeff2;
  font-size: 0.85em;
  white-space: nowrap;
}

.g-ui-label {
  font-size: 1.15em;
  font-weight: 700;
}

.g-ui-total {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 0.8em;
  border-top: 1px dashed #d8d8de;
}
.g-ui-total b {
  font-size: 1.15em;
}

.g-ui-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4em;
  padding: 0.9em;
  border-radius: 999px;
  background: var(--ui-accent);
  color: #fff;
  font-weight: 700;
}
.g-ui-button .g-icon {
  width: 1.2em;
  height: 1.2em;
}
.g-ui-button--wa {
  background: var(--c-wa);
  color: #0b3d20;
}

.g-ui-hero-img {
  position: relative;
  aspect-ratio: 1/0.9;
  border-radius: 1em;
  background: linear-gradient(150deg, #f1ecff, #cbb8ff);
}

.g-ui-dots {
  position: absolute;
  bottom: 0.7em;
  left: 50%;
  display: flex;
  gap: 0.3em;
  transform: translateX(-50%);
}
.g-ui-dots i {
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
}
.g-ui-dots i.is-on {
  width: 1.3em;
  border-radius: 999px;
  background: #fff;
}

.g-ui-product {
  display: grid;
  gap: 0.35em;
}
.g-ui-product > b {
  font-size: 1.25em;
}
.g-ui-product small {
  margin-top: 0.3em;
  color: var(--c-muted);
}

.g-ui-price {
  color: var(--ui-accent);
  font-size: 1.15em;
  font-weight: 700;
}

.g-ui-sizes {
  display: flex;
  gap: 0.4em;
}
.g-ui-sizes span {
  display: grid;
  place-items: center;
  width: 2.4em;
  height: 2.4em;
  border: 1.5px solid #dcdce2;
  border-radius: 0.6em;
  font-weight: 600;
}
.g-ui-sizes span.is-on {
  border-color: var(--c-ink);
  background: var(--c-ink);
  color: #fff;
}
.g-ui-sizes span.is-off {
  color: #b5b5bd;
  text-decoration: line-through;
}

.g-ui-colors {
  display: flex;
  gap: 0.5em;
}
.g-ui-colors i {
  width: 1.7em;
  height: 1.7em;
  border-radius: 50%;
}
.g-ui-colors i.c1 {
  background: #1d1d22;
}
.g-ui-colors i.c2 {
  background: #f1efe9;
  box-shadow: inset 0 0 0 1px #d8d8de;
}
.g-ui-colors i.c3 {
  background: #4a72d9;
}
.g-ui-colors i.is-on {
  box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--ui-accent);
}

.g-ui-stock {
  justify-self: start;
  margin-top: 0.2em;
  padding: 0.3em 0.7em;
  border-radius: 999px;
  background: #fff4e5;
  color: #a85b00;
  font-size: 0.9em;
  font-weight: 700;
}

.g-ui-option {
  display: flex;
  align-items: center;
  gap: 0.7em;
  padding: 0.8em;
  border: 1.5px solid #e3e3e8;
  border-radius: 0.9em;
  background: #fff;
}
.g-ui-option i {
  width: 1.2em;
  height: 1.2em;
  flex-shrink: 0;
  border: 1.5px solid #c9c9d1;
  border-radius: 50%;
}
.g-ui-option span {
  display: grid;
}
.g-ui-option span small {
  color: var(--c-muted);
}
.g-ui-option.is-on {
  border-color: var(--ui-accent);
  background: var(--c-purple-50);
}
.g-ui-option.is-on i {
  border: 0.35em solid var(--ui-accent);
}

.g-phone--shot .g-phone__screen {
  padding: 2.9em 0 0;
  background: #093529;
}
.g-phone--shot .g-phone__screen::after {
  background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 68 12%27 fill=%27%23ffffff%27%3E%3Crect x=%270%27 y=%277%27 width=%273%27 height=%274%27 rx=%27.8%27/%3E%3Crect x=%274.5%27 y=%275%27 width=%273%27 height=%276%27 rx=%27.8%27/%3E%3Crect x=%279%27 y=%273%27 width=%273%27 height=%278%27 rx=%27.8%27/%3E%3Crect x=%2713.5%27 y=%271%27 width=%273%27 height=%2710%27 rx=%27.8%27/%3E%3Cpath d=%27M29 11.2 25.6 7.6a4.8 4.8 0 0 1 6.8 0zM22.9 4.9a8.6 8.6 0 0 1 12.2 0l-1.4 1.4a6.6 6.6 0 0 0-9.4 0z%27/%3E%3Crect x=%2741.5%27 y=%271.5%27 width=%2722%27 height=%279%27 rx=%272.6%27 fill=%27none%27 stroke=%27%23ffffff%27 stroke-opacity=%27.4%27/%3E%3Crect x=%2743.5%27 y=%273.5%27 width=%2716%27 height=%275%27 rx=%271.4%27/%3E%3Cpath d=%27M65.5 4.4v3.2a1.7 1.7 0 0 0 0-3.2z%27 fill-opacity=%27.45%27/%3E%3C/svg%3E") no-repeat right 1.4em center/4.4em auto;
  color: #fff;
}

.g-phone__shot {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

.g-phone--whatsapp .g-phone__screen {
  padding: 0;
  gap: 0;
  background: #efe7dd;
}
.g-phone--whatsapp .g-phone__screen::after {
  background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 68 12%27 fill=%27%23ffffff%27%3E%3Crect x=%270%27 y=%277%27 width=%273%27 height=%274%27 rx=%27.8%27/%3E%3Crect x=%274.5%27 y=%275%27 width=%273%27 height=%276%27 rx=%27.8%27/%3E%3Crect x=%279%27 y=%273%27 width=%273%27 height=%278%27 rx=%27.8%27/%3E%3Crect x=%2713.5%27 y=%271%27 width=%273%27 height=%2710%27 rx=%27.8%27/%3E%3Cpath d=%27M29 11.2 25.6 7.6a4.8 4.8 0 0 1 6.8 0zM22.9 4.9a8.6 8.6 0 0 1 12.2 0l-1.4 1.4a6.6 6.6 0 0 0-9.4 0z%27/%3E%3Crect x=%2741.5%27 y=%271.5%27 width=%2722%27 height=%279%27 rx=%272.6%27 fill=%27none%27 stroke=%27%23ffffff%27 stroke-opacity=%27.4%27/%3E%3Crect x=%2743.5%27 y=%273.5%27 width=%2716%27 height=%275%27 rx=%271.4%27/%3E%3Cpath d=%27M65.5 4.4v3.2a1.7 1.7 0 0 0 0-3.2z%27 fill-opacity=%27.45%27/%3E%3C/svg%3E") no-repeat right 1.4em center/4.4em auto;
  color: #fff;
}

.g-ui-wa-top {
  display: flex;
  align-items: center;
  gap: 0.6em;
  padding: 3.3em 0.9em 0.8em;
  background: #0b5c4b;
  color: #fff;
}
.g-ui-wa-top span:last-child {
  display: grid;
}
.g-ui-wa-top span:last-child small {
  opacity: 0.75;
}

.g-ui-wa-chat {
  display: flex;
  flex-direction: column;
  gap: 0.7em;
  padding: 1em 0.8em;
}

.g-ui-bubble {
  display: grid;
  gap: 0.3em;
  max-width: 90%;
  margin-left: auto;
  padding: 0.8em 0.9em;
  border-radius: 1em 1em 0.2em 1em;
  background: #d8fdd2;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
}
.g-ui-bubble small {
  color: #4b5a4a;
}
.g-ui-bubble--in {
  margin-left: 0;
  border-radius: 1em 1em 1em 0.2em;
  background: #fff;
}

/*--------------------------------------------------------------
# Decorative QR (template-parts/mockups/screen.php)
--------------------------------------------------------------*/
.g-qr {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1;
  padding: 12%;
  border-radius: var(--r-lg);
  background: #fff;
  color: var(--c-ink);
  box-shadow: var(--sh-md);
}
.g-qr svg {
  width: 100%;
  height: 100%;
}
.g-qr__logo {
  position: absolute;
  display: grid;
  place-items: center;
  width: 22%;
  aspect-ratio: 1;
  border-radius: 24%;
  background: #fff;
  box-shadow: 0 0 0 4px #fff;
}
.g-qr__logo .g-logo__mark {
  width: 70%;
  height: 70%;
}
.g-qr--rounded {
  color: var(--c-purple-700);
}
.g-qr--dots {
  background: var(--c-lime);
}
.g-qr--dots .g-qr__logo {
  box-shadow: 0 0 0 4px var(--c-lime);
}

.g-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 100;
  padding: 0.85rem var(--gutter) 0;
  pointer-events: none;
}
.admin-bar .g-header {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar .g-header {
    top: 46px;
  }
}
.g-header__bar {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  max-width: 1080px;
  min-height: 60px;
  margin-inline: auto;
  padding: 0.5rem 0.5rem 0.5rem 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--r-md);
  background: rgba(24, 23, 28, 0.92);
  box-shadow: 0 18px 40px -18px rgba(16, 16, 20, 0.55);
  color: #fff;
  pointer-events: auto;
  backdrop-filter: blur(14px) saturate(140%);
  transition: box-shadow var(--g-trans), background-color var(--g-trans);
}
.g-header.is-scrolled .g-header__bar {
  background: rgba(24, 23, 28, 0.97);
}
.g-header .g-logo {
  flex-shrink: 0;
}
.g-header__nav {
  flex: 1;
}
.g-header__nav ul {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.g-header__nav a {
  display: block;
  padding: 0.5rem 0.8rem;
  border-radius: var(--r-xs);
  color: var(--c-dark-muted);
  font-size: var(--fs-sm);
  font-weight: 500;
  white-space: nowrap;
  transition: color var(--g-trans), background-color var(--g-trans);
}
.g-header__nav a:hover, .g-header__nav a[aria-current] {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}
.g-header__nav-footer {
  display: none;
}
.g-header__nav .g-header__sub {
  position: absolute;
  top: calc(100% + 0.75rem);
  left: 50%;
  z-index: 2;
  display: grid;
  gap: 0.15rem;
  min-width: 240px;
  padding: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--r-md);
  background: rgba(24, 23, 28, 0.98);
  box-shadow: var(--sh-lg);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 6px);
  transition: opacity var(--g-trans), transform var(--g-trans) var(--ease), visibility var(--g-trans);
}
.g-header__nav .g-header__sub::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 0.85rem;
}
.g-header__nav .g-header__sub a {
  padding: 0.65rem 0.85rem;
  color: rgba(255, 255, 255, 0.8);
}
.g-header__item {
  position: relative;
}
.g-header__parent {
  display: flex;
  align-items: center;
}
.g-header__parent a {
  padding-right: 0.3rem;
}
.g-header__sub-toggle {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  margin-right: 0.3rem;
  padding: 0;
  border: 0;
  border-radius: var(--r-xs);
  background: transparent;
  color: var(--c-dark-muted);
  cursor: pointer;
  transition: color var(--g-trans), background-color var(--g-trans);
}
.g-header__sub-toggle .g-icon {
  width: 0.95rem;
  height: 0.95rem;
  transition: transform var(--g-trans) var(--ease);
}
.g-header__sub-toggle:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}
.g-header__item.is-open > .g-header__parent .g-header__sub-toggle .g-icon {
  transform: rotate(180deg);
}
@media (min-width: 1180px) {
  .g-header__item.has-children:hover > .g-header__sub, .g-header__item.has-children:focus-within > .g-header__sub, .g-header__item.is-open > .g-header__sub {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
  }
  .g-header__item.has-children:hover > .g-header__parent .g-header__sub-toggle .g-icon {
    transform: rotate(180deg);
  }
}
.g-header__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}
.g-header__login {
  padding: 0.5rem 0.75rem;
  white-space: nowrap;
  color: #fff;
  font-size: var(--fs-sm);
  font-weight: 500;
}
.g-header__login:hover {
  color: var(--c-lime);
}
.g-header__toggle {
  display: none;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: var(--r-sm);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
}
.g-header__toggle .is-close {
  display: none;
}
.g-header__toggle[aria-expanded=true] .is-open {
  display: none;
}
.g-header__toggle[aria-expanded=true] .is-close {
  display: block;
}
@media (max-width: 1179px) {
  .g-header__bar {
    gap: 0.75rem;
    padding-left: 1rem;
  }
  .g-header__login {
    display: none;
  }
  .g-header__toggle {
    display: grid;
  }
  .g-header__sub-toggle {
    width: 44px;
    height: 44px;
    margin-right: 0;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
  }
  .g-header__nav {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    left: 0;
    display: grid;
    gap: 1rem;
    padding: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--r-md);
    background: var(--c-dark);
    box-shadow: var(--sh-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity var(--g-trans), transform var(--g-trans) var(--ease), visibility var(--g-trans);
  }
  .g-header__nav ul {
    display: grid;
    justify-content: stretch;
  }
  .g-header__nav a {
    padding: 0.85rem 1rem;
    color: #fff;
    font-size: 1rem;
  }
  .g-header__nav .g-header__parent a {
    flex: 1;
  }
  .g-header__nav .g-header__sub {
    position: static;
    display: none;
    min-width: 0;
    margin: 0.1rem 0 0.4rem 1rem;
    padding: 0 0 0 0.5rem;
    border: 0;
    border-left: 1px solid var(--c-dark-line);
    border-radius: 0;
    background: none;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .g-header__nav .g-header__sub::before {
    content: none;
  }
  .g-header__nav .g-header__sub a {
    padding: 0.6rem 0.85rem;
    color: rgba(255, 255, 255, 0.75);
    font-size: var(--fs-sm);
  }
  .g-header__nav .is-open > .g-header__sub {
    display: grid;
  }
  .g-header__nav-footer {
    display: grid;
    gap: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--c-dark-line);
  }
  .g-header__nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}
.g-header__nav-cta {
  display: none;
}
@media (max-width: 560px) {
  .g-header__actions > .g-btn {
    display: none;
  }
  .g-header__nav-cta {
    display: inline-flex;
  }
}
@media (max-width: 420px) {
  .g-header .g-logo__word {
    display: none;
  }
}

@media (max-width: 1179px) {
  .js .g-header__nav:not(.is-open) {
    pointer-events: none;
  }
}

.g-footer {
  padding: 0 var(--gutter) var(--gutter);
  color: var(--c-dark-muted);
  font-size: var(--fs-sm);
}
.g-footer__card, .g-footer__bottom {
  max-width: calc(var(--container) + 2rem);
  margin-inline: auto;
  border-radius: var(--r-lg);
  background: var(--c-dark);
}
.g-footer__card {
  position: relative;
  padding: clamp(2rem, 1.2rem + 3vw, 3.5rem);
  overflow: hidden;
}
.g-footer__card::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -10%;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(143, 93, 250, 0.22), transparent 65%);
  pointer-events: none;
}
.g-footer__top {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr);
  gap: clamp(2rem, 1rem + 4vw, 5rem);
}
@media (max-width: 900px) {
  .g-footer__top {
    grid-template-columns: 1fr;
  }
}
.g-footer__brand {
  display: grid;
  align-content: start;
  gap: 1.25rem;
}
.g-footer__tagline {
  max-width: 300px;
  color: #fff;
  line-height: 1.55;
}
.g-footer__contact {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.g-footer__contact li, .g-footer__contact a {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}
.g-footer__contact a:hover {
  color: #fff;
}
.g-footer__contact .g-icon {
  width: 1.05rem;
  height: 1.05rem;
  color: var(--c-lime);
}
.g-footer__columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2rem 1.5rem;
}
@media (max-width: 640px) {
  .g-footer__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.g-footer__columns ul {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.g-footer__title {
  margin-bottom: 1rem;
  color: #fff;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.g-footer__link {
  transition: color var(--g-trans);
}
.g-footer__link:hover {
  color: #fff;
}
.g-footer__social {
  position: relative;
  display: flex;
  justify-content: flex-end;
  gap: 0.6rem;
  margin: 2.5rem 0 0;
  padding: 2rem 0 0;
  border-top: 1px solid var(--c-dark-line);
  list-style: none;
  --brand: var(--c-lime);
  --brand-ink: var(--c-ink);
}
.g-footer__social a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  transition: transform var(--g-trans) var(--ease), background var(--g-trans), border-color var(--g-trans), color var(--g-trans);
}
.g-footer__social a:hover, .g-footer__social a:focus-visible {
  border-color: transparent;
  background: var(--brand);
  color: var(--brand-ink);
  transform: translateY(-2px);
}
.g-footer__social .g-icon {
  width: 1.25rem;
  height: 1.25rem;
}
.g-footer__social-link--whatsapp {
  --brand: #25d366;
  --brand-ink: #fff;
}
.g-footer__social-link--instagram {
  --brand: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
  --brand-ink: #fff;
}
.g-footer__social-link--facebook {
  --brand: #0866ff;
  --brand-ink: #fff;
}
.g-footer__social-link--youtube {
  --brand: #ff0000;
  --brand-ink: #fff;
}
.g-footer__social-link--telegram {
  --brand: #26a5e4;
  --brand-ink: #fff;
}
.g-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.4rem;
  padding: 1.1rem clamp(1.25rem, 1rem + 1.5vw, 2rem);
  font-size: var(--fs-xs);
}
.g-footer__bottom ul {
  display: flex;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.g-wa-float {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 90;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--c-wa);
  box-shadow: 0 14px 30px -8px rgba(37, 211, 102, 0.65);
  color: #fff;
  transition: transform var(--g-trans) var(--ease);
}
.g-wa-float .g-icon {
  width: 1.75rem;
  height: 1.75rem;
}
.g-wa-float:hover {
  transform: scale(1.06);
}

/* Blocks (ACF/flexible-content/cp-*.php)
--------------------------------------------- */
.cp-hero__inner {
  display: grid;
  justify-items: center;
}
.cp-hero__header {
  display: grid;
  justify-items: center;
  gap: 1.25rem;
  max-width: 860px;
  text-align: center;
}
.cp-hero__title {
  font-size: var(--fs-hero);
  letter-spacing: -0.035em;
}
.cp-hero__subtitle {
  max-width: 640px;
  color: var(--c-muted);
  font-size: var(--fs-lead);
  line-height: 1.55;
}
.cp-hero .g-ctas {
  margin-top: 0.5rem;
}
.cp-hero {
  /* ——— Orbit stage */
}
.cp-hero__stage {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 1080px;
  min-height: 460px;
  margin-top: clamp(2rem, 1rem + 3vw, 3.5rem);
  padding-block: 1rem;
}
.cp-hero__stage::before {
  content: "";
  position: absolute;
  inset: 8% 18%;
  background-image: radial-gradient(rgba(143, 93, 250, 0.22) 1px, transparent 1.2px);
  background-size: 18px 18px;
  mask-image: radial-gradient(ellipse at center, #000 20%, transparent 70%);
  pointer-events: none;
}
.cp-hero__lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.cp-hero__line {
  fill: none;
  stroke: url(#cp-hero-line);
  stroke-width: 1.5;
  stroke-dasharray: 6 8;
  animation: cp-hero-flow 2.4s linear infinite;
  animation-delay: calc(var(--i) * -0.4s);
}
.cp-hero__nodes {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  pointer-events: none;
}
.cp-hero__node {
  position: absolute;
  top: var(--y);
  left: var(--x);
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.55), 0 0 0 7px rgba(143, 93, 250, 0.35), var(--sh-md);
  color: var(--c-purple-600);
  transform: translate(-50%, -50%);
  animation: cp-hero-float 6s var(--ease) infinite;
  animation-delay: calc(var(--i) * -1s);
}
.cp-hero__node .g-icon {
  width: 1.4rem;
  height: 1.4rem;
}
.cp-hero__device {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 1rem;
}
.cp-hero__glow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 440px;
  height: 440px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(143, 93, 250, 0.45), rgba(143, 93, 250, 0.12) 45%, transparent 70%);
  transform: translate(-50%, -55%);
  pointer-events: none;
}
.cp-hero__mockup {
  position: relative;
  width: 250px;
  container-type: inline-size;
}
.cp-hero__media {
  position: relative;
  width: min(340px, 80vw);
  height: auto;
  border-radius: var(--r-lg);
}
.cp-hero__bubble {
  position: absolute;
  right: -46%;
  bottom: 14%;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.7rem 0.9rem 0.7rem 0.7rem;
  border-radius: var(--r-md);
  background: #fff;
  box-shadow: var(--sh-lg);
  color: var(--c-ink);
  font-size: var(--fs-xs);
  line-height: 1.3;
  white-space: nowrap;
  animation: cp-hero-float 5s var(--ease) infinite;
}
.cp-hero__bubble span:nth-child(2) {
  display: grid;
}
.cp-hero__bubble span:nth-child(2) small {
  color: var(--c-muted);
}
.cp-hero__bubble-icon {
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: var(--c-wa);
  color: #fff;
}
.cp-hero__bubble-icon .g-icon {
  width: 1.2rem;
  height: 1.2rem;
}
.cp-hero__bubble-check {
  color: var(--c-wa);
  stroke-width: 2.6;
}
.cp-hero__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 0.9rem;
  border-radius: var(--r-pill);
  background: var(--c-dark);
  box-shadow: var(--sh-md);
  color: #fff;
  font-size: var(--fs-xs);
  font-weight: 500;
}
.cp-hero__link .g-icon {
  width: 1rem;
  height: 1rem;
  color: var(--c-lime);
}
.cp-hero {
  /* ——— Trust bullets */
}
.cp-hero__trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  width: 100%;
  max-width: 880px;
  margin: clamp(2rem, 1rem + 3vw, 3rem) 0 0;
  padding: 0;
  list-style: none;
}
.cp-hero__trust li {
  display: grid;
  justify-items: center;
  gap: 0.75rem;
  color: var(--c-ink);
  font-family: var(--f-display);
  font-size: 1.05rem;
  font-weight: 600;
  text-align: center;
}
.cp-hero__trust .g-icon-tile {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: var(--sh-md);
  color: var(--c-purple-600);
}
@media (max-width: 900px) {
  .cp-hero__stage {
    min-height: 0;
    padding-block: 2rem 0;
  }
  .cp-hero__lines, .cp-hero__nodes {
    display: none;
  }
  .cp-hero__bubble {
    right: -18%;
  }
}
@media (max-width: 560px) {
  .cp-hero__trust {
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }
  .cp-hero__trust li {
    grid-auto-flow: column;
    justify-content: start;
    font-size: 1rem;
    text-align: left;
  }
  .cp-hero__mockup {
    width: 220px;
  }
  .cp-hero__bubble {
    right: -12%;
    bottom: 8%;
  }
}

@keyframes cp-hero-flow {
  to {
    stroke-dashoffset: -28;
  }
}
@keyframes cp-hero-float {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -6px;
  }
}
.cp-page-hero {
  padding-bottom: clamp(2.5rem, 1.5rem + 3vw, 4rem);
}
.cp-page-hero__grid {
  position: absolute;
  inset: -2rem 0 0;
  background-image: linear-gradient(rgba(16, 16, 20, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(16, 16, 20, 0.05) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 60% 70% at 50% 30%, #000 30%, transparent 75%);
  pointer-events: none;
}
.cp-page-hero__grid::after {
  content: "";
  position: absolute;
  top: 10%;
  left: 50%;
  width: 560px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(143, 93, 250, 0.28), transparent 65%);
  transform: translateX(-50%);
}
.cp-page-hero__inner {
  position: relative;
  display: grid;
  justify-items: center;
}
.cp-page-hero__header {
  display: grid;
  justify-items: center;
  gap: 1.15rem;
  max-width: 840px;
  text-align: center;
}
.cp-page-hero__title {
  font-size: var(--fs-h1);
  letter-spacing: -0.035em;
}
.cp-page-hero__subtitle {
  max-width: 640px;
  color: var(--c-muted);
  font-size: var(--fs-lead);
  line-height: 1.55;
}
.cp-page-hero .g-ctas {
  margin-top: 0.5rem;
}
.cp-page-hero__media {
  width: 100%;
  max-width: 1000px;
  margin: clamp(2rem, 1rem + 3vw, 3.5rem) 0 0;
  padding: 0.6rem;
  border: 1px solid var(--c-line);
  border-radius: var(--r-xl);
  background: rgba(255, 255, 255, 0.55);
  box-shadow: var(--sh-lg);
}
.cp-page-hero__media img {
  display: block;
  width: 100%;
  border-radius: calc(var(--r-xl) - 0.6rem);
}

.cp-problem-solution__card {
  position: relative;
  overflow: hidden;
  border-radius: var(--r-xl);
  background: var(--c-dark);
  color: #fff;
}
.cp-problem-solution__card::before {
  content: "";
  position: absolute;
  top: -30%;
  left: 50%;
  width: 760px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(143, 93, 250, 0.2), transparent 65%);
  transform: translateX(-50%);
  pointer-events: none;
}
.cp-problem-solution__top {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 2.25rem;
  padding: clamp(2.5rem, 1.5rem + 4vw, 5rem) clamp(1.25rem, 1rem + 3vw, 4rem) clamp(2rem, 1rem + 3vw, 3.5rem);
  text-align: center;
}
.cp-problem-solution__title {
  max-width: 720px;
  color: #fff;
  font-size: var(--fs-h2);
}
.cp-problem-solution__problems {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 960px) {
  .cp-problem-solution__problems {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .cp-problem-solution__problems {
    grid-template-columns: 1fr;
  }
}
.cp-problem-solution__problems li {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 0.9rem;
  padding: 1.25rem;
  border: 1px solid var(--c-dark-line);
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.03);
  color: var(--c-dark-muted);
  font-size: var(--fs-sm);
  line-height: 1.5;
  text-align: left;
}
.cp-problem-solution__icon {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: rgba(255, 92, 92, 0.14);
  color: #ff8a8a;
}
.cp-problem-solution__icon .g-icon {
  width: 1.1rem;
  height: 1.1rem;
}
.cp-problem-solution__solution {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 1.25rem;
  margin: 0 0.5rem 0.5rem;
  padding: clamp(2.5rem, 1.5rem + 4vw, 4.5rem) clamp(1.25rem, 1rem + 3vw, 4rem);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-top-color: rgba(255, 255, 255, 0.45);
  border-radius: calc(var(--r-xl) - 0.5rem);
  background: linear-gradient(180deg, #1f1e24, var(--c-dark));
  text-align: center;
}
.cp-problem-solution__statement {
  max-width: 900px;
  color: #fff;
  font-family: var(--f-display);
  font-size: clamp(1.75rem, 1.2rem + 2.3vw, 3rem);
  font-weight: 500;
  line-height: 1.22;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.cp-problem-solution__text {
  max-width: 640px;
  color: var(--c-dark-muted);
  font-size: var(--fs-lead);
}
.cp-problem-solution {
  /* ——— Light variant (PainPointsSection) */
}
.cp-problem-solution--light .cp-problem-solution__card {
  border: 1px solid var(--c-line);
  background: var(--c-card);
  color: var(--c-text);
}
.cp-problem-solution--light .cp-problem-solution__card::before {
  opacity: 0.6;
}
.cp-problem-solution--light .cp-problem-solution__title, .cp-problem-solution--light .cp-problem-solution__statement {
  color: var(--c-ink);
}
.cp-problem-solution--light .cp-problem-solution__problems li {
  border-color: var(--c-line);
  background: #fff;
  color: var(--c-text);
}
.cp-problem-solution--light .cp-problem-solution__icon {
  background: #fdecec;
  color: #c93b3b;
}
.cp-problem-solution--light .cp-problem-solution__solution {
  border-color: var(--c-line);
  background: linear-gradient(180deg, var(--c-purple-50), #fff);
}
.cp-problem-solution--light .cp-problem-solution__text {
  color: var(--c-muted);
}

.cp-feature-cards__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-feature-cards {
  /* Bento rhythm: 3 cards per row, then a 1/3 + 2/3 row (like the reference). */
}
.cp-feature-cards__card {
  display: flex;
  flex-direction: column;
  grid-column: span 2;
  padding: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: var(--r-lg);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
  transition: transform var(--g-trans) var(--ease), box-shadow var(--g-trans);
}
.cp-feature-cards__card:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-3px);
}
.cp-feature-cards__card:nth-child(5n+5) {
  grid-column: span 4;
}
.cp-feature-cards__grid[data-count="4"] .cp-feature-cards__card, .cp-feature-cards__grid[data-count="2"] .cp-feature-cards__card {
  grid-column: span 3;
}
.cp-feature-cards__grid[data-count="3"] .cp-feature-cards__card, .cp-feature-cards__grid[data-count="6"] .cp-feature-cards__card, .cp-feature-cards__grid[data-count="9"] .cp-feature-cards__card {
  grid-column: span 2;
}
.cp-feature-cards__visual {
  position: relative;
  display: grid;
  place-items: center;
  height: 168px;
  overflow: hidden;
  border-radius: calc(var(--r-lg) - 0.5rem);
  background: radial-gradient(circle at 50% 120%, rgba(143, 93, 250, 0.45), transparent 60%), linear-gradient(180deg, #f1ecff, #e2d9ff);
}
.cp-feature-cards__card:nth-child(3n+2) .cp-feature-cards__visual {
  background: radial-gradient(rgba(143, 93, 250, 0.25) 1px, transparent 1.2px) 0 0/14px 14px, linear-gradient(180deg, #f5f2ff, #e8e1ff);
}
.cp-feature-cards__card:nth-child(5n+5) .cp-feature-cards__visual {
  background: radial-gradient(circle at 80% 0%, rgba(239, 250, 93, 0.55), transparent 40%), linear-gradient(180deg, #ece5ff, #d6c9ff);
}
.cp-feature-cards__ring {
  position: absolute;
  width: 128px;
  height: 128px;
  border: 1px solid rgba(118, 70, 238, 0.2);
  border-radius: 50%;
}
.cp-feature-cards__ring--2 {
  width: 200px;
  height: 200px;
  border-style: dashed;
  border-color: rgba(118, 70, 238, 0.15);
}
.cp-feature-cards__orb {
  position: relative;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #4b4757, var(--c-dark) 70%);
  box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.55), 0 18px 38px -10px rgba(93, 48, 214, 0.7);
  color: #fff;
  transition: transform 0.5s var(--ease);
}
.cp-feature-cards__orb .g-icon {
  width: 1.6rem;
  height: 1.6rem;
}
.cp-feature-cards__card:hover .cp-feature-cards__orb {
  transform: scale(1.06) rotate(-4deg);
}
.cp-feature-cards__body {
  display: grid;
  align-content: start;
  gap: 0.5rem;
  flex: 1;
  padding: 1.15rem 1rem 1rem;
}
.cp-feature-cards__title {
  font-size: var(--fs-h3);
}
.cp-feature-cards__text {
  color: var(--c-muted);
  font-size: var(--fs-sm);
  line-height: 1.55;
}
.cp-feature-cards .g-text-link {
  margin-top: 0.35rem;
}
@media (max-width: 960px) {
  .cp-feature-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cp-feature-cards__card, .cp-feature-cards__card:nth-child(5n+5), .cp-feature-cards__grid[data-count] .cp-feature-cards__card {
    grid-column: span 1;
  }
}
@media (max-width: 600px) {
  .cp-feature-cards__grid {
    grid-template-columns: 1fr;
  }
  .cp-feature-cards__visual {
    height: 140px;
  }
}

.cp-feature-detail__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(2rem, 1rem + 4vw, 5rem);
}
.cp-feature-detail--image-left .cp-feature-detail__visual {
  order: -1;
}
.cp-feature-detail__content {
  display: grid;
  justify-items: start;
  gap: 1rem;
}
.cp-feature-detail__title {
  font-size: clamp(1.75rem, 1.3rem + 1.7vw, 2.6rem);
}
.cp-feature-detail__text {
  color: var(--c-muted);
  font-size: var(--fs-lead);
}
.cp-feature-detail .g-checklist {
  margin-top: 0.5rem;
}
.cp-feature-detail .g-text-link {
  margin-top: 0.5rem;
}
.cp-feature-detail__visual {
  margin: 0;
}
.cp-feature-detail__visual > img {
  display: block;
  width: 100%;
  border-radius: var(--r-xl);
  box-shadow: var(--sh-md);
}
.cp-feature-detail__placeholder {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 5/4;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: var(--r-xl);
  background: radial-gradient(rgba(143, 93, 250, 0.22) 1px, transparent 1.2px) 0 0/16px 16px, radial-gradient(circle at 50% 50%, rgba(143, 93, 250, 0.35), transparent 55%), linear-gradient(180deg, #f3efff, #e0d6ff);
  box-shadow: var(--sh-sm);
}
.cp-feature-detail__orb {
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #4b4757, var(--c-dark) 70%);
  box-shadow: 0 0 0 12px rgba(255, 255, 255, 0.5), 0 0 0 13px rgba(118, 70, 238, 0.2), 0 24px 50px -12px rgba(93, 48, 214, 0.7);
  color: #fff;
  transform: translateY(-18%);
}
.cp-feature-detail__orb .g-icon {
  width: 2.4rem;
  height: 2.4rem;
}
.cp-feature-detail__chip {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  max-width: 60%;
  padding: 0.55rem 0.85rem;
  border-radius: var(--r-pill);
  background: #fff;
  box-shadow: var(--sh-md);
  color: var(--c-ink);
  font-size: var(--fs-xs);
  font-weight: 500;
  white-space: nowrap;
}
.cp-feature-detail__chip .g-icon {
  width: 1rem;
  height: 1rem;
  color: var(--c-purple-600);
  stroke-width: 2.6;
}
.cp-feature-detail__chip--0 {
  top: 9%;
  left: 8%;
}
.cp-feature-detail__chip--1 {
  bottom: 25%;
  right: 6%;
}
.cp-feature-detail__chip--2 {
  bottom: 8%;
  left: 10%;
}
@media (max-width: 860px) {
  .cp-feature-detail__inner {
    grid-template-columns: 1fr;
  }
  .cp-feature-detail--image-left .cp-feature-detail__visual {
    order: 0;
  }
}
@media (max-width: 480px) {
  .cp-feature-detail__chip {
    max-width: 80%;
    font-size: 0.72rem;
  }
}

.cp-comparison-table__wrap {
  max-width: 920px;
  margin-inline: auto;
  padding: 0.5rem;
  border-radius: var(--r-lg);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
}
.cp-comparison-table__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: var(--fs-sm);
}
.cp-comparison-table__table th, .cp-comparison-table__table td {
  padding: 1rem 1.15rem;
  border-bottom: 1px solid var(--c-line);
  text-align: left;
  vertical-align: middle;
}
.cp-comparison-table__table thead th {
  border-bottom: 0;
  color: var(--c-muted);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.cp-comparison-table__table tbody tr:last-child > * {
  border-bottom: 0;
}
.cp-comparison-table__table tbody th {
  color: var(--c-ink);
  font-weight: 500;
}
.cp-comparison-table__table td > span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  vertical-align: middle;
}
.cp-comparison-table__table td > span + span {
  margin-left: 0.4rem;
}
.cp-comparison-table__table .is-highlight {
  background: var(--c-dark);
  color: #fff;
}
.cp-comparison-table__table thead .is-highlight {
  display: table-cell;
  border-radius: var(--r-md) var(--r-md) 0 0;
  color: #fff;
}
.cp-comparison-table__table thead .is-highlight .g-logo__mark {
  width: 1rem;
  height: 1rem;
  margin-right: 0.4rem;
  vertical-align: -2px;
}
.cp-comparison-table__table tbody tr:last-child .is-highlight {
  border-radius: 0 0 var(--r-md) var(--r-md);
}
.cp-comparison-table__table tbody .is-highlight {
  border-bottom-color: var(--c-dark-line);
}
.cp-comparison-table__yes, .cp-comparison-table__no {
  display: inline-grid !important;
  place-items: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
}
.cp-comparison-table__yes .g-icon, .cp-comparison-table__no .g-icon {
  width: 1rem;
  height: 1rem;
  stroke-width: 2.6;
}
.cp-comparison-table__yes {
  background: var(--c-lime);
  color: var(--c-ink);
}
.cp-comparison-table__no {
  background: rgba(16, 16, 20, 0.06);
  color: var(--c-muted);
}
@media (max-width: 640px) {
  .cp-comparison-table__table thead {
    display: none;
  }
  .cp-comparison-table__table tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--c-line);
  }
  .cp-comparison-table__table tbody th {
    grid-column: 1/-1;
    border: 0;
    padding-bottom: 0.25rem;
  }
  .cp-comparison-table__table td {
    display: grid;
    gap: 0.35rem;
    margin: 0.25rem;
    border: 0;
    border-radius: var(--r-sm);
    background: rgba(16, 16, 20, 0.03);
  }
  .cp-comparison-table__table td::before {
    content: attr(data-label);
    color: var(--c-muted);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
  }
  .cp-comparison-table__table td.is-highlight::before {
    color: var(--c-dark-muted);
  }
  .cp-comparison-table__table tbody tr:last-child .is-highlight,
  .cp-comparison-table__table .is-highlight {
    border-radius: var(--r-sm);
  }
}

.cp-how-it-works__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: step;
}
.cp-how-it-works__step {
  position: relative;
  display: grid;
  align-content: start;
  gap: 0.6rem;
  padding: 0.5rem 0.5rem 1.5rem;
  border-radius: var(--r-lg);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
}
.cp-how-it-works__visual {
  position: relative;
  display: grid;
  place-items: center;
  height: 180px;
  margin-bottom: 0.75rem;
  overflow: hidden;
  border-radius: calc(var(--r-lg) - 0.5rem);
  background: radial-gradient(circle at 50% 100%, rgba(143, 93, 250, 0.4), transparent 60%), linear-gradient(180deg, #f3efff, #e4dbff);
}
.cp-how-it-works__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cp-how-it-works__orb {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.45), var(--sh-md);
  color: var(--c-purple-600);
}
.cp-how-it-works__orb .g-icon {
  width: 1.8rem;
  height: 1.8rem;
}
.cp-how-it-works__number {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  padding: 0.25rem 0.6rem;
  border-radius: var(--r-pill);
  background: var(--c-dark);
  color: var(--c-lime);
  font-family: var(--f-display);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
}
.cp-how-it-works__title, .cp-how-it-works__text {
  padding-inline: 1rem;
}
.cp-how-it-works__title {
  font-size: var(--fs-h3);
}
.cp-how-it-works__text {
  color: var(--c-muted);
  font-size: var(--fs-sm);
}
.cp-how-it-works .g-ctas {
  margin-top: 2.5rem;
}

.cp-step-timeline__list {
  position: relative;
  display: grid;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-step-timeline__list::before {
  content: "";
  position: absolute;
  top: 1.5rem;
  bottom: 1.5rem;
  left: 1.5rem;
  width: 2px;
  background: linear-gradient(180deg, var(--c-purple), rgba(143, 93, 250, 0.1));
  transform: translateX(-50%);
}
.cp-step-timeline__step {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: clamp(1rem, 0.5rem + 2vw, 2rem);
}
.cp-step-timeline__marker {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--c-dark);
  box-shadow: 0 0 0 6px var(--c-bg);
  color: var(--c-lime);
}
.cp-step-timeline__marker .g-icon {
  width: 1.3rem;
  height: 1.3rem;
}
.cp-step-timeline__card {
  display: grid;
  gap: 0.75rem;
  padding: clamp(1.25rem, 1rem + 1vw, 2rem);
  border-radius: var(--r-lg);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
}
.cp-step-timeline__number {
  color: var(--c-purple-600);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.cp-step-timeline__title {
  font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.75rem);
}
.cp-step-timeline__text {
  color: var(--c-muted);
}
.cp-step-timeline .g-checklist {
  margin-top: 0.25rem;
}
.cp-step-timeline__image {
  margin: 0.5rem 0 0;
}
.cp-step-timeline__image img {
  display: block;
  width: 100%;
  border-radius: var(--r-md);
}
.cp-step-timeline__tip {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin-top: 0.25rem;
  padding: 0.85rem 1rem;
  border-radius: var(--r-sm);
  background: rgba(239, 250, 93, 0.45);
  color: var(--c-ink);
  font-size: var(--fs-sm);
}
.cp-step-timeline__tip .g-icon {
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.15rem;
}

.cp-customer-journey__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--steps), minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-customer-journey__track::before {
  content: "";
  position: absolute;
  top: 32px;
  right: calc(50% / var(--steps));
  left: calc(50% / var(--steps));
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--c-purple) 0 8px, transparent 8px 16px);
  opacity: 0.55;
}
.cp-customer-journey__step {
  position: relative;
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 0.9rem;
  text-align: center;
}
.cp-customer-journey__node {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 6px var(--c-bg), 0 0 0 7px rgba(143, 93, 250, 0.3), var(--sh-md);
  color: var(--c-purple-600);
}
.cp-customer-journey__node .g-icon {
  width: 1.5rem;
  height: 1.5rem;
}
.cp-customer-journey__step:last-child .cp-customer-journey__node {
  background: var(--c-wa);
  color: #fff;
}
.cp-customer-journey__index {
  position: absolute;
  top: -4px;
  left: calc(50% + 18px);
  z-index: 2;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--c-dark);
  color: var(--c-lime);
  font-size: 0.7rem;
  font-weight: 700;
}
.cp-customer-journey__text {
  max-width: 170px;
  color: var(--c-ink);
  font-size: var(--fs-sm);
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 900px) {
  .cp-customer-journey__track {
    grid-template-columns: 1fr;
    max-width: 420px;
    margin-inline: auto;
  }
  .cp-customer-journey__track::before {
    top: 32px;
    bottom: 32px;
    left: 32px;
    right: auto;
    width: 2px;
    height: auto;
    background: repeating-linear-gradient(180deg, var(--c-purple) 0 8px, transparent 8px 16px);
  }
  .cp-customer-journey__step {
    grid-template-columns: 64px 1fr;
    align-items: center;
    justify-items: start;
    gap: 1.25rem;
    text-align: left;
  }
  .cp-customer-journey__index {
    left: 46px;
  }
  .cp-customer-journey__text {
    max-width: none;
  }
}

.cp-showcase__viewport {
  overflow-x: auto;
  padding: 1rem 0 2rem;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--gutter);
  scrollbar-width: none;
}
.cp-showcase__viewport::-webkit-scrollbar {
  display: none;
}
.cp-showcase__list {
  display: flex;
  gap: clamp(1rem, 0.5rem + 1.5vw, 1.75rem);
  width: max-content;
  margin: 0 auto;
  padding: 0 var(--gutter);
  list-style: none;
}
.cp-showcase__item {
  scroll-snap-align: start;
}
.cp-showcase__figure {
  display: grid;
  justify-items: center;
  gap: 1.1rem;
  margin: 0;
}
.cp-showcase__frame {
  width: clamp(200px, 15vw + 120px, 236px);
  container-type: inline-size;
  transition: transform 0.5s var(--ease);
}
.cp-showcase__frame img {
  display: block;
  width: 100%;
  border-radius: var(--r-lg);
  box-shadow: var(--sh-lg);
}
.cp-showcase__item:nth-child(even) .cp-showcase__frame {
  transform: translateY(1.5rem);
}
.cp-showcase__item:hover .cp-showcase__frame {
  transform: translateY(-0.5rem);
}
.cp-showcase__item:nth-child(even) .cp-showcase__caption {
  transform: translateY(1.5rem);
}
.cp-showcase__caption {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  max-width: 220px;
  color: var(--c-ink);
  font-size: var(--fs-sm);
  font-weight: 500;
  line-height: 1.4;
}
.cp-showcase__index {
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--c-dark);
  color: var(--c-lime);
  font-size: 0.72rem;
  font-weight: 700;
}
.cp-showcase {
  /* ——— Tiles variant (QR styles) */
}
.cp-showcase--tiles .cp-showcase__viewport {
  overflow: visible;
  padding: 0;
}
.cp-showcase--tiles .cp-showcase__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  width: auto;
  max-width: calc(var(--container) + var(--gutter) * 2);
}
.cp-showcase--tiles .cp-showcase__item:nth-child(even) .cp-showcase__frame, .cp-showcase--tiles .cp-showcase__item:nth-child(even) .cp-showcase__caption {
  transform: none;
}
.cp-showcase--tiles .cp-showcase__figure {
  padding: 1.5rem;
  border-radius: var(--r-lg);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
}
.cp-showcase--tiles .cp-showcase__frame {
  width: 100%;
  max-width: 240px;
}
.cp-showcase--tiles .cp-showcase__caption {
  align-items: center;
  font-family: var(--f-display);
  font-size: 1.1rem;
  font-weight: 600;
}

.cp-audience__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.cp-audience__grid::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 70%;
  height: 60%;
  border: 1px dashed rgba(143, 93, 250, 0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.cp-audience__grid > li {
  position: relative;
  display: flex;
}
@media (max-width: 900px) {
  .cp-audience__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .cp-audience__grid {
    grid-template-columns: 1fr;
  }
}
.cp-audience__item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
  padding: 1.25rem;
  border-radius: var(--r-lg);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
  transition: transform var(--g-trans) var(--ease), box-shadow var(--g-trans);
}
.cp-audience a.cp-audience__item:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-3px);
}
.cp-audience__tile {
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  flex-shrink: 0;
  border-radius: var(--r-sm);
  background: linear-gradient(160deg, #3a3842, var(--c-dark));
  box-shadow: 0 10px 22px -10px rgba(16, 16, 20, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  color: #fff;
}
.cp-audience__tile .g-icon {
  width: 1.45rem;
  height: 1.45rem;
}
.cp-audience__item.is-light .cp-audience__tile {
  border: 2px solid var(--c-dark);
  background: #fff;
  box-shadow: 0 10px 22px -12px rgba(16, 16, 20, 0.5);
  color: var(--c-ink);
}
.cp-audience__body {
  display: grid;
  flex: 1;
  gap: 0.3rem;
}
.cp-audience__title {
  color: var(--c-ink);
  font-family: var(--f-display);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.25;
}
.cp-audience__text {
  color: var(--c-muted);
  font-size: var(--fs-sm);
  line-height: 1.5;
}
.cp-audience__arrow {
  align-self: center;
  color: var(--c-purple-600);
  transition: transform var(--g-trans) var(--ease);
}
a.cp-audience__item:hover .cp-audience__arrow {
  transform: translateX(3px);
}

.cp-benefits__diagram {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  max-width: 1000px;
  height: 360px;
  margin: 0 auto 3rem;
}
.cp-benefits__side {
  position: relative;
  grid-row: 1;
  height: 100%;
}
.cp-benefits__side--left {
  grid-column: 1;
}
.cp-benefits__side--right {
  grid-column: 3;
}
.cp-benefits__side::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(16, 16, 20, 0.12));
}
.cp-benefits__side--right::before {
  background: linear-gradient(90deg, rgba(16, 16, 20, 0.12), transparent);
}
.cp-benefits__node {
  --pos: calc(var(--i) * 25%);
  position: absolute;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff;
  box-shadow: var(--sh-md);
  color: var(--c-muted);
}
.cp-benefits__node .g-icon {
  width: 1.1rem;
  height: 1.1rem;
}
.cp-benefits__side--left .cp-benefits__node {
  color: #b7b6c0;
}
.cp-benefits__side--left .cp-benefits__node:nth-child(1) {
  top: 12%;
  left: 30%;
}
.cp-benefits__side--left .cp-benefits__node:nth-child(2) {
  top: 20%;
  left: 62%;
}
.cp-benefits__side--left .cp-benefits__node:nth-child(3) {
  top: calc(50% - 21px);
  left: 10%;
}
.cp-benefits__side--left .cp-benefits__node:nth-child(4) {
  top: 70%;
  left: 60%;
}
.cp-benefits__side--left .cp-benefits__node:nth-child(5) {
  top: 80%;
  left: 26%;
}
.cp-benefits__side--right .cp-benefits__node {
  color: var(--c-ink);
}
.cp-benefits__side--right .cp-benefits__node:nth-child(1) {
  top: 14%;
  right: 52%;
}
.cp-benefits__side--right .cp-benefits__node:nth-child(2) {
  top: 22%;
  right: 16%;
}
.cp-benefits__side--right .cp-benefits__node:nth-child(3) {
  top: calc(50% - 21px);
  right: 52%;
  background: var(--c-wa);
  color: #fff;
}
.cp-benefits__side--right .cp-benefits__node:nth-child(4) {
  top: 72%;
  right: 44%;
  background: var(--c-lime);
}
.cp-benefits__side--right .cp-benefits__node:nth-child(5) {
  top: 80%;
  right: 10%;
}
.cp-benefits__dial {
  position: relative;
  grid-row: 1;
  grid-column: 2;
  width: 320px;
  height: 320px;
}
.cp-benefits__arc {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0 0, rgba(143, 93, 250, 0.15) 0, rgba(143, 93, 250, 0.75) 30%, var(--c-purple-600) 50%, transparent 50% 100%);
  mask: radial-gradient(circle, transparent 0, #000 0);
}
.cp-benefits__arc::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(16, 16, 20, 0.1);
  border-radius: 50%;
}
.cp-benefits__core {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #4b4757, var(--c-dark) 70%);
  box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.55), 0 20px 40px -12px rgba(93, 48, 214, 0.8);
  transform: translate(-50%, -50%);
}
.cp-benefits__core .g-logo__mark {
  width: 1.9rem;
  height: 1.9rem;
}
.cp-benefits__label {
  position: absolute;
  padding: 0.4rem 0.8rem;
  border-radius: var(--r-pill);
  background: var(--c-dark);
  box-shadow: var(--sh-md);
  color: #fff;
  font-size: var(--fs-xs);
  font-weight: 500;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}
.cp-benefits__label--0 {
  top: 0;
  left: 50%;
}
.cp-benefits__label--1 {
  top: 50%;
  left: 100%;
}
.cp-benefits__label--2 {
  top: 100%;
  left: 50%;
}
.cp-benefits__label--3 {
  top: 50%;
  left: 0;
}
.cp-benefits__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-benefits__item {
  display: grid;
  align-content: start;
  gap: 0.65rem;
  padding: 1.5rem;
  border-radius: var(--r-lg);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
}
.cp-benefits__title {
  margin-top: 0.35rem;
  font-size: var(--fs-h3);
}
.cp-benefits__text {
  color: var(--c-muted);
  font-size: var(--fs-sm);
}
@media (max-width: 960px) {
  .cp-benefits__diagram {
    grid-template-columns: 1fr;
    justify-items: center;
    height: auto;
    padding-block: 1.5rem;
  }
  .cp-benefits__side {
    display: none;
  }
  .cp-benefits__dial {
    grid-column: 1;
  }
  .cp-benefits__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .cp-benefits__dial {
    width: 240px;
    height: 240px;
  }
  .cp-benefits__label--1 {
    left: 88%;
  }
  .cp-benefits__label--3 {
    left: 12%;
  }
  .cp-benefits__list {
    grid-template-columns: 1fr;
  }
}

.cp-pricing__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-pricing__grid[data-count="3"], .cp-pricing__grid[data-count="5"], .cp-pricing__grid[data-count="6"], .cp-pricing__grid[data-count="9"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1060px) {
  .cp-pricing__grid, .cp-pricing__grid[data-count] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .cp-pricing__grid, .cp-pricing__grid[data-count] {
    grid-template-columns: 1fr;
  }
}
.cp-pricing__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding: 1.75rem 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: var(--r-lg);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
}
.cp-pricing__card .g-btn {
  margin-block: 0.5rem;
}
.cp-pricing__card .g-checklist {
  padding-top: 1rem;
  border-top: 1px solid var(--c-line);
}
.cp-pricing__card.is-highlighted {
  overflow: hidden;
  border-color: transparent;
  background: var(--c-dark);
  box-shadow: var(--sh-lg);
  color: var(--c-dark-muted);
}
.cp-pricing__card.is-highlighted::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -80px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(143, 93, 250, 0.5), transparent 65%);
  pointer-events: none;
}
.cp-pricing__card.is-highlighted .cp-pricing__name,
.cp-pricing__card.is-highlighted .cp-pricing__amount {
  color: #fff;
}
.cp-pricing__card.is-highlighted .cp-pricing__limit {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.cp-pricing__card.is-highlighted .g-checklist {
  border-color: var(--c-dark-line);
}
.cp-pricing__card.is-highlighted .g-checklist .g-icon {
  background: rgba(239, 250, 93, 0.15);
  color: var(--c-lime);
}
.cp-pricing__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.cp-pricing__name {
  font-size: 1.15rem;
}
.cp-pricing__badge {
  padding: 0.25rem 0.65rem;
  border-radius: var(--r-pill);
  background: var(--c-lime);
  color: var(--c-ink);
  font-size: 0.72rem;
  font-weight: 700;
}
.cp-pricing__price {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}
.cp-pricing__amount {
  color: var(--c-ink);
  font-family: var(--f-display);
  font-size: clamp(2.5rem, 2rem + 1.5vw, 3.25rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1;
}
.cp-pricing__period {
  font-size: var(--fs-sm);
}
.cp-pricing__limit {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 0.45rem;
  padding: 0.35rem 0.75rem;
  border-radius: var(--r-pill);
  background: var(--c-purple-50);
  color: var(--c-purple-700);
  font-size: var(--fs-xs);
  font-weight: 600;
}
.cp-pricing__limit .g-icon {
  width: 1rem;
  height: 1rem;
}
.cp-pricing__description {
  font-size: var(--fs-sm);
}
.cp-pricing__note {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  max-width: 820px;
  margin: 2rem auto 0;
  padding: 1rem 1.25rem;
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.55);
  color: var(--c-muted);
  font-size: var(--fs-sm);
}
.cp-pricing__note .g-icon {
  margin-top: 0.1rem;
  color: var(--c-purple-600);
}
.cp-pricing .g-ctas {
  margin-top: 2rem;
}

.cp-testimonials__rows {
  display: grid;
  gap: 1rem;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.cp-testimonials__marquee {
  display: flex;
  gap: 1rem;
  width: max-content;
}
.cp-testimonials__marquee:hover .cp-testimonials__track {
  animation-play-state: paused;
}
.cp-testimonials__track {
  display: flex;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  animation: cp-testimonials-scroll 50s linear infinite;
}
.cp-testimonials__marquee.is-reverse .cp-testimonials__track {
  animation-direction: reverse;
}
.cp-testimonials__card {
  width: min(360px, 80vw);
  padding: 1.5rem;
  border-radius: var(--r-lg);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
}
.cp-testimonials__card blockquote {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.25rem;
  height: 100%;
  margin: 0;
}
.cp-testimonials__quote {
  color: var(--c-ink);
  font-size: var(--fs-sm);
  line-height: 1.6;
}
.cp-testimonials__author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.cp-testimonials__author cite {
  display: block;
  color: var(--c-ink);
  font-size: var(--fs-sm);
  font-style: normal;
  font-weight: 600;
}
.cp-testimonials__author small {
  color: var(--c-muted);
  font-size: var(--fs-xs);
}
.cp-testimonials__author small a {
  text-decoration: underline;
}
.cp-testimonials__photo {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  object-fit: cover;
}
.cp-testimonials__photo--initial {
  display: grid;
  place-items: center;
  background: var(--c-lavender);
  color: var(--c-purple-700);
  font-weight: 700;
}
@media (prefers-reduced-motion: reduce) {
  .cp-testimonials__rows {
    mask-image: none;
  }
  .cp-testimonials__marquee {
    flex-wrap: wrap;
    width: auto;
    padding-inline: var(--gutter);
  }
  .cp-testimonials__track[aria-hidden] {
    display: none;
  }
  .cp-testimonials__track {
    flex-wrap: wrap;
    animation: none;
  }
}

@keyframes cp-testimonials-scroll {
  to {
    transform: translateX(calc(-100% - 1rem));
  }
}
.cp-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr);
  gap: clamp(2rem, 1rem + 4vw, 5rem);
  align-items: start;
}
@media (max-width: 900px) {
  .cp-faq__inner {
    grid-template-columns: 1fr;
  }
}
.cp-faq__aside {
  display: grid;
  justify-items: start;
  gap: 1.25rem;
}
.cp-faq__aside .g-heading {
  margin-bottom: 0;
}
@media (min-width: 901px) {
  .cp-faq__aside {
    position: sticky;
    top: calc(var(--header-h) + 2rem);
  }
}
.cp-faq__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.cp-faq__nav a {
  padding: 0.45rem 0.9rem;
  border-radius: var(--r-pill);
  background: var(--c-card);
  color: var(--c-ink);
  font-size: var(--fs-xs);
  font-weight: 500;
}
.cp-faq__nav a:hover {
  background: #fff;
}
.cp-faq__groups {
  display: grid;
  gap: 2rem;
}
.cp-faq__group {
  display: grid;
  gap: 0.6rem;
}
.cp-faq__group-title {
  margin-bottom: 0.25rem;
  font-size: var(--fs-h3);
}
.cp-faq__item {
  border-radius: var(--r-md);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
  transition: background-color var(--g-trans);
}
.cp-faq__item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  color: var(--c-ink);
  font-weight: 600;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}
.cp-faq__item summary::-webkit-details-marker {
  display: none;
}
.cp-faq__item[open] {
  background: #fff;
}
.cp-faq__item[open] .cp-faq__toggle {
  background: var(--c-dark);
  color: var(--c-lime);
  transform: rotate(45deg);
}
.cp-faq__toggle {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--c-purple-50);
  color: var(--c-purple-600);
  transition: transform var(--g-trans) var(--ease), background-color var(--g-trans);
}
.cp-faq__toggle .g-icon {
  width: 1rem;
  height: 1rem;
}
.cp-faq__answer {
  padding: 0 1.25rem 1.25rem;
  color: var(--c-muted);
  font-size: var(--fs-sm);
  line-height: 1.65;
}

.cp-blog-preview__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: clamp(2rem, 1.5rem + 2vw, 3rem);
}
.cp-blog-preview__head .g-heading {
  margin-bottom: 0;
}

.cp-cta-banner__card {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 1.25rem;
  padding: clamp(3rem, 2rem + 4vw, 5.5rem) clamp(1.25rem, 1rem + 3vw, 4rem);
  overflow: hidden;
  border-radius: var(--r-xl);
  background: var(--c-dark);
  color: var(--c-dark-muted);
  text-align: center;
  isolation: isolate;
}
.cp-cta-banner__card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1.2px);
  background-size: 20px 20px;
  mask-image: radial-gradient(ellipse at center, #000 10%, transparent 70%);
}
.cp-cta-banner__glow {
  position: absolute;
  bottom: -60%;
  left: 50%;
  z-index: -1;
  width: 760px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(143, 93, 250, 0.55), transparent 62%);
  transform: translateX(-50%);
}
.cp-cta-banner__mark {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #4b4757, #0f0f12 70%);
  box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.05), 0 0 40px rgba(143, 93, 250, 0.6);
}
.cp-cta-banner__mark .g-logo__mark {
  width: 1.75rem;
  height: 1.75rem;
}
.cp-cta-banner__title {
  max-width: 720px;
  color: #fff;
  font-size: var(--fs-h2);
}
.cp-cta-banner__subtitle {
  max-width: 580px;
  font-size: var(--fs-lead);
}
.cp-cta-banner .g-ctas {
  margin-top: 0.5rem;
}
.cp-cta-banner__note {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: var(--fs-xs);
}
.cp-cta-banner__note .g-icon {
  width: 1rem;
  height: 1rem;
  color: var(--c-lime);
}

.cp-use-case__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 1rem + 3vw, 4rem);
  padding: clamp(1.75rem, 1rem + 3vw, 3.5rem);
  border-radius: var(--r-xl);
  background: radial-gradient(circle at 100% 0%, rgba(239, 250, 93, 0.45), transparent 35%), linear-gradient(160deg, #f3efff, #e2d9ff);
}
@media (max-width: 860px) {
  .cp-use-case__card {
    grid-template-columns: 1fr;
  }
}
.cp-use-case__story {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 1rem;
}
.cp-use-case__title {
  font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.25rem);
}
.cp-use-case__scenario {
  color: var(--c-text);
  font-size: var(--fs-lead);
  line-height: 1.6;
}
.cp-use-case__steps {
  display: grid;
  align-content: center;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-use-case__steps li {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 1rem 1.15rem;
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.8);
  box-shadow: var(--sh-sm);
  color: var(--c-ink);
  font-size: var(--fs-sm);
  font-weight: 500;
}
.cp-use-case__number {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--c-dark);
  color: var(--c-lime);
  font-size: var(--fs-xs);
  font-weight: 700;
}

.cp-contact-channels__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-contact-channels__item {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 0.6rem;
  padding: 1.5rem;
  border-radius: var(--r-lg);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
}
.cp-contact-channels__item .g-icon-tile {
  margin-bottom: 0.5rem;
}
.cp-contact-channels__title {
  font-size: var(--fs-h3);
}
.cp-contact-channels__value {
  color: var(--c-ink);
  font-weight: 600;
  word-break: break-word;
}
.cp-contact-channels a.cp-contact-channels__value {
  color: var(--c-purple-600);
}
.cp-contact-channels a.cp-contact-channels__value:hover {
  text-decoration: underline;
}
.cp-contact-channels__note {
  color: var(--c-muted);
  font-size: var(--fs-sm);
}

.cp-contact-form__card {
  padding: clamp(1.5rem, 1rem + 3vw, 3.5rem);
  border-radius: var(--r-xl);
  background: var(--c-card);
  box-shadow: var(--sh-md);
}
.cp-contact-form__card .g-heading {
  margin-bottom: 2rem;
}
.cp-contact-form__form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.1rem;
}
@media (max-width: 600px) {
  .cp-contact-form__form {
    grid-template-columns: 1fr;
  }
}
.cp-contact-form__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 0.5rem;
}
.cp-contact-form__status {
  color: var(--c-muted);
  font-size: var(--fs-sm);
}
.cp-contact-form__status.is-error {
  color: #c23434;
}
.cp-contact-form__status.is-success {
  color: #1b7f4a;
  font-weight: 600;
}
.cp-contact-form .nf-response-msg {
  padding: 1.1rem 1.25rem;
  border: 1px solid rgba(27, 127, 74, 0.25);
  border-radius: var(--r-md);
  background: rgba(27, 127, 74, 0.08);
  color: #1b7f4a;
  font-weight: 600;
  text-align: center;
  outline: none;
}
.cp-contact-form .nf-response-msg p {
  margin: 0;
}

.cp-video__frame {
  position: relative;
  max-width: 980px;
  aspect-ratio: 16/9;
  margin-inline: auto;
  overflow: hidden;
  border-radius: var(--r-xl);
  background: var(--c-dark);
  box-shadow: var(--sh-lg);
}
.cp-video__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.cp-video__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.cp-video__poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cp-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: var(--c-purple-600);
  box-shadow: 0 0 0 12px rgba(143, 93, 250, 0.3), var(--sh-purple);
  color: #fff;
  transform: translate(-50%, -50%);
  transition: transform var(--g-trans) var(--ease);
}
.cp-video__play .g-icon {
  width: 2rem;
  height: 2rem;
  margin-left: 4px;
  fill: currentColor;
}
.cp-video__poster:hover .cp-video__play {
  transform: translate(-50%, -50%) scale(1.06);
}
.cp-video__transcript {
  max-width: 860px;
  margin: 1.5rem auto 0;
  padding: 1rem 1.25rem;
  border-radius: var(--r-md);
  background: var(--c-card);
}
.cp-video__transcript summary {
  color: var(--c-ink);
  font-weight: 600;
  cursor: pointer;
}
.cp-video__transcript .g-prose {
  margin-top: 1rem;
  font-size: var(--fs-sm);
}

.cp-rich-text.is-page .g-breadcrumbs ol {
  justify-content: flex-start;
}
.cp-rich-text__header {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--c-line);
}
.cp-rich-text__title {
  font-size: var(--fs-h2);
}
.cp-rich-text.is-page .cp-rich-text__title {
  font-size: var(--fs-h1);
}
.cp-rich-text__updated {
  color: var(--c-muted);
  font-size: var(--fs-sm);
}
.cp-rich-text .g-prose {
  padding: clamp(1.5rem, 1rem + 2vw, 3rem);
  border-radius: var(--r-xl);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
}

/*--------------------------------------------------------------
# Post grid & card
--------------------------------------------------------------*/
.g-post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.g-post-grid > li {
  display: flex;
}
@media (max-width: 960px) {
  .g-post-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .g-post-grid {
    grid-template-columns: 1fr;
  }
}

.g-post-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0.5rem;
  border-radius: var(--r-lg);
  background: var(--c-card);
  box-shadow: var(--sh-sm);
  transition: transform var(--g-trans) var(--ease), box-shadow var(--g-trans);
}
.g-post-card:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-3px);
}
.g-post-card__media {
  display: block;
  aspect-ratio: 1200/630;
  overflow: hidden;
  border-radius: calc(var(--r-lg) - 0.5rem);
  background: linear-gradient(160deg, #f1ecff, #ddd2ff);
}
.g-post-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--ease);
}
.g-post-card:hover .g-post-card__media img {
  transform: scale(1.04);
}
.g-post-card__placeholder {
  display: grid;
  place-items: center;
  height: 100%;
  color: rgba(118, 70, 238, 0.5);
}
.g-post-card__placeholder .g-icon {
  width: 2.5rem;
  height: 2.5rem;
}
.g-post-card__body {
  display: grid;
  align-content: start;
  gap: 0.55rem;
  flex: 1;
  padding: 1.1rem 1rem 1rem;
}
.g-post-card__cat {
  justify-self: start;
  color: var(--c-purple-600);
  font-size: var(--fs-xs);
  font-weight: 600;
}
.g-post-card__title {
  font-size: 1.2rem;
  line-height: 1.25;
}
.g-post-card__title a:hover {
  color: var(--c-purple-600);
}
.g-post-card__excerpt {
  color: var(--c-muted);
  font-size: var(--fs-sm);
}
.g-post-card__meta {
  margin-top: auto;
  padding-top: 0.5rem;
  color: var(--c-muted);
  font-size: var(--fs-xs);
}

/*--------------------------------------------------------------
# Listing
--------------------------------------------------------------*/
.cp-page-hero--blog .g-search {
  margin-top: 1.75rem;
}

.g-category-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 2.5rem;
}
.g-category-filter a {
  padding: 0.55rem 1rem;
  border-radius: var(--r-pill);
  background: var(--c-card);
  color: var(--c-ink);
  font-size: var(--fs-sm);
  font-weight: 500;
  transition: background-color var(--g-trans), color var(--g-trans);
}
.g-category-filter a:hover {
  background: #fff;
}
.g-category-filter a[aria-current] {
  background: var(--c-dark);
  color: #fff;
}

/*--------------------------------------------------------------
# Article
--------------------------------------------------------------*/
.g-article__header {
  padding-bottom: 2rem;
  text-align: center;
}
.g-article__header .g-container--narrow {
  display: grid;
  justify-items: center;
  gap: 1.1rem;
}
.g-article__title {
  font-size: clamp(2rem, 1.5rem + 2.2vw, 3.25rem);
}
.g-article__excerpt {
  max-width: 680px;
  color: var(--c-muted);
  font-size: var(--fs-lead);
}
.g-article__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1.25rem;
  color: var(--c-muted);
  font-size: var(--fs-xs);
}
.g-article__meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.g-article__meta .g-icon {
  width: 1rem;
  height: 1rem;
}
.g-article__cover {
  max-width: 1080px;
  margin: 2.5rem auto 0;
}
.g-article__cover img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--r-xl);
  box-shadow: var(--sh-md);
}
.g-article__layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 760px);
  justify-content: center;
  gap: clamp(2rem, 1rem + 3vw, 4rem);
  padding-bottom: var(--section-y);
}
@media (max-width: 1023px) {
  .g-article__layout {
    grid-template-columns: minmax(0, 760px);
  }
}
@media (max-width: 1023px) {
  .g-article__aside {
    display: none;
  }
}
.g-article__content {
  display: grid;
  gap: 2.5rem;
  min-width: 0;
}
.g-article__faq {
  display: grid;
  gap: 0.6rem;
}
.g-article__faq h2 {
  margin-bottom: 0.5rem;
  font-size: 1.6rem;
}

.g-toc {
  position: sticky;
  top: calc(var(--header-h) + 2rem);
  padding: 1.25rem;
  border-radius: var(--r-md);
  background: var(--c-card);
}
.g-toc__title {
  margin-bottom: 0.75rem;
  color: var(--c-ink);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.g-toc ol {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding-left: 1.1rem;
  color: var(--c-muted);
  font-size: var(--fs-sm);
}
.g-toc a:hover,
.g-toc a.is-active {
  color: var(--c-purple-600);
}

.g-inline-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.25rem;
  margin-block: 2.5rem;
  padding: 1.25rem 1.5rem;
  border-radius: var(--r-lg);
  background: var(--c-dark);
  color: var(--c-dark-muted);
}
.g-inline-cta__mark {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--c-purple-600);
  color: #fff;
}
.g-inline-cta__body {
  flex: 1;
  min-width: 200px;
}
.g-inline-cta__title {
  color: #fff;
  font-family: var(--f-display);
  font-size: 1.15rem;
  font-weight: 600;
}
.g-inline-cta__text {
  margin-top: 0.25rem !important;
  font-size: var(--fs-sm);
}
.g-prose .g-inline-cta a {
  color: #fff;
  text-decoration: none;
}

.g-share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--c-line);
}
.g-share__label {
  margin-right: 0.5rem;
  color: var(--c-ink);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.g-share__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 40px;
  padding: 0.5rem 0.95rem;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--c-card);
  color: var(--c-ink);
  font: inherit;
  font-size: var(--fs-xs);
  font-weight: 600;
  cursor: pointer;
}
.g-share__btn:hover {
  background: #fff;
}
.g-share__btn .g-icon {
  width: 1rem;
  height: 1rem;
}

.g-author {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem;
  border-radius: var(--r-lg);
  background: var(--c-card);
}
.g-author__photo {
  width: 3.5rem;
  height: 3.5rem;
  flex-shrink: 0;
  border-radius: 50%;
  object-fit: cover;
}
.g-author__photo--initial {
  display: grid;
  place-items: center;
  background: var(--c-lavender);
  color: var(--c-purple-700);
  font-size: 1.25rem;
  font-weight: 700;
}
.g-author__name {
  color: var(--c-ink);
  font-weight: 600;
}
.g-author__bio {
  margin-top: 0.25rem !important;
  color: var(--c-muted);
  font-size: var(--fs-sm);
}

/*--------------------------------------------------------------
# 404
--------------------------------------------------------------*/
.g-404 {
  min-height: 70vh;
  padding-top: clamp(3rem, 2rem + 4vw, 6rem);
}
.g-404__code {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--c-ink);
  font-family: var(--f-display);
  font-size: clamp(5rem, 3rem + 8vw, 9rem);
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 1;
}
.g-404__code .g-logo__mark {
  width: 0.75em;
  height: 0.75em;
}
.g-404 .g-ctas {
  margin-top: 2rem;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #fff;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #0f0f13;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QjtBTXJVRTtFQUEwQjtBTndVNUI7QU12VUU7RUFBMkI7QU4wVTdCO0FNelVFO0VBQXVCO0FONFV6QjtBTTNVRTtFQUF5QjtBTjhVM0I7O0FPdmJBOzs7RUFHSTtFQUNBO0FQMGJKOztBT3phQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUNBO0VBQ0E7QVAwYUo7O0FPL1pBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUGthSjs7QU8vWkE7RUFDSTtBUGthSjs7QU94WkE7Ozs7OztFQU1JO0FQMlpKOztBT2xaQTtFQUNJO0VBQ0E7QVBxWko7O0FPMVlBOztFQUdJO0VBQ0E7RUFDQTtBUDRZSjs7QU90WUE7RUFDSTtFQUNBO0VBQ0E7QVB5WUo7O0FPbllBOztFQUVJO0FQc1lKOztBT25ZQTs7O0VBR0k7RUFDQTtBUHNZSjs7QU9uWUE7Ozs7RUFJSTtBUHNZSjs7QU9qWUE7O0VBRUk7QVBvWUo7O0FPallBO0VBQ0k7QVBvWUo7O0FPL1hBO0VBQ0k7RUFDQTtBUGtZSjs7QU81WEE7RUFDSTtBUCtYSjs7QU92WEE7O0VBRUk7QVAwWEo7O0FPbFhBO0VBQ0k7QVBxWEo7O0FPOVdBO0VBQ0k7RUFDQTtBUGlYSjs7QU94V0E7O0VBRUk7RUFDQTtFQUNBO0FQMldKOztBT3hXQTtFQUNJO0FQMldKOztBT3hXQTtFQUNJO0FQMldKOztBT3JXQTtFQUNJO0VBR0E7RUFDQTtBUHNXSjtBT3BXSTtFQUNJO0FQc1dSOztBTzFWSTtFQUVJO0VBQ0E7QVA0VlI7O0FPclZBOzs7O0VBSUk7RUFDQTtFQUNBO0VBQ0E7QVB3Vko7O0FPalZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVBvVko7QU9qVkk7RUFDSTtFQUNBO0VBQ0E7QVBtVlI7O0FPL1VBO0VBQ0k7QVBrVko7QU8vVUk7RUFDSTtBUGlWUjs7QU83VUE7RUFDSTtFQUNBLFdEN1FRO0VDOFFSLHlCRDdRSztBTjZsQlQ7QU85VUk7RUFDSTtFQUNBO0FQZ1ZSOztBT3ZVQTtFQUNJO0FQMFVKOztBT3BVQTs7RUFFSTtFQUNBO0VBRUE7QVBzVUo7O0FPOVRBO0VBQ0k7RUFDQTtBUGlVSjs7QU85VEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBUGlVSjs7QU8xVEE7RUFDSTtFQUNBO0VBQ0E7QVA2VEo7O0FPMVRBOzs7Ozs7RUFNSTtFQUNBO0VBQ0E7QVA2VEo7O0FPclRBO0VBQ0k7QVB3VEo7O0FPbFRBO0VBRUk7QVBvVEo7O0FPNVNBO0VBQ0k7QVArU0o7O0FPMVNBOzs7OztFQUtJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVA2U0o7O0FPelNBOztFQUVJO0FQNFNKOztBT3RTQTtFQUNJO0FQeVNKOztBT3RTQTtFQUdJO0FQdVNKO0FPcFNJO0VBQ0k7QVBzU1I7O0FPL1JBO0VBQ0k7QVBrU0o7O0FPMVJBOzs7O0VBS0k7QVA0Uko7QU96UlE7Ozs7RUFDSTtBUDhSWjs7QU92UkE7RUFDSTtFQUNBO0FQMFJKOztBT3JSQTtFQUNJO0FQd1JKOztBTzlRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FQaVJKOztBT3pRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQNFFKO0FPMVFJO0VBQ0k7QVA0UVI7O0FPclFBOzs7Ozs7O0VBT0k7QVB3UUo7O0FPclFBO0VBQ0k7QVB3UUo7O0FPL1BBO0VBQ0k7RUFDQTtBUGtRSjs7QU8xUEE7Ozs7Ozs7Q0FBQTtBQVdBO0VBQ0k7QVAwUEo7O0FPclBBO0VBQ0k7QVB3UEo7O0FPbFBBO0VBQ0k7QVBxUEo7O0FPL09BO0VBQ0k7RUFDQTtBUGtQSjs7QU83T0E7RUFDSTtBUGdQSjs7QU8zT0E7RUFDSTtBUDhPSjs7QU92T0E7RUFDSTtFQUNBO0FQME9KOztBT2xPQTtFQUNJO0FQcU9KOztBTzdOQTtFQUNJO0FQZ09KOztBTzdOQTtBQUNBO0VBQ0k7SUFDSTtFUGdPTjtFTzdORTs7O0lBR0k7SUFDQTtJQUNBO0lBQ0E7RVArTk47QUFDRjtBUXYwQkE7MkZBQUE7QUFFQTs7O0VBR0M7QVJ5MEJEOztBUXQwQkE7RUFDQztBUnkwQkQ7O0FTbDFCQTs7K0RBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHExQkY7O0FTbDFCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHExQkY7O0FTbDFCQTtFQUNFO0FUcTFCRjs7QVNsMUJBO0VBQ0U7RUFDQTtBVHExQkY7O0FTbDFCQTtFQUNFO0VBQ0E7QVRxMUJGOztBU2wxQkE7RUFDRTtFQUNBO0VBQ0E7QVRxMUJGOztBU2wxQkE7RUFDRTtFQUNBO0FUcTFCRjs7QVNsMUJBO0VBQ0U7RUFDQTtBVHExQkY7O0FTbDFCQTtFQUNFO0VBQ0E7RUFDQTtBVHExQkY7O0FTbDFCQTs7K0RBQUE7QUFHQTtFQUNFO0VBQ0E7QVRxMUJGOztBU2wxQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBVHExQkY7QVNuMUJFO0VBQ0U7QVRxMUJKOztBU2oxQkE7RUFDRTtFQUNBO0FUbzFCRjtBU2wxQkU7RUFDRTtBVG8xQko7QVNqMUJFO0VBQ0U7QVRtMUJKOztBUy8wQkE7OytEQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVGsxQkY7QVNoMUJFO0VBQ0U7RUFDQTtFQUNBO0FUazFCSjs7QVM5MEJBO0VBQ0U7QVRpMUJGOztBUzkwQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBVGkxQkY7O0FTOTBCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRpMUJGOztBUzkwQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRpMUJGO0FTLzBCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRpMUJKO0FTOTBCRTtFQUNFO0VBQ0E7RUFDQTtBVGcxQko7QVM3MEJFO0VBQ0U7RUFDQTtFQUNBO0FUKzBCSjtBUzcwQkk7RUFBVTtBVGcxQmQ7O0FTNTBCQTs7K0RBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVQrMEJGO0FTNzBCRTtFQUNFO0VBQ0E7RUFDQTtBVCswQko7QVM1MEJFO0VBQ0U7QVQ4MEJKO0FTNTBCSTtFQUFVO0FUKzBCZDtBUzUwQkU7RUFDRTtBVDgwQko7QVMzMEJFO0VBQ0U7RUFDQTtFQUNBO0FUNjBCSjtBUzMwQkk7RUFDRTtFQUNBO0FUNjBCTjtBU3owQkU7RUFDRTtFQUNBO0FUMjBCSjtBU3owQkk7RUFBVTtBVDQwQmQ7QVN6MEJFO0VBQ0U7RUFDQTtBVDIwQko7QVN6MEJJO0VBQVU7QVQ0MEJkO0FTejBCRTtFQUNFO0VBQ0E7RUFDQTtBVDIwQko7QVN6MEJJO0VBQVU7QVQ0MEJkO0FTejBCRTtFQUNFO0VBQ0E7RUFDQTtBVDIwQko7QVN4MEJFO0VBQ0U7QVQwMEJKOztBU3QwQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBVHkwQkY7QVN2MEJFO0VBQ0U7QVR5MEJKOztBU3IwQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVR3MEJGO0FTdDBCRTtFQUNFO0VBQ0E7RUFDQTtBVHcwQko7QVNyMEJFO0VBQ0U7QVR1MEJKOztBU24wQkE7OytEQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRzMEJGO0FTcDBCRTtFQUNFO0VBQ0E7QVRzMEJKO0FTbjBCRTtFQUNFO0VBQ0E7QVRxMEJKOztBU2owQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVG8wQkY7QVNsMEJFO0VBQ0U7RUFDQTtBVG8wQko7QVNqMEJFO0VBQWM7RUFBeUI7QVRxMEJ6QztBU3AwQkU7RUFBc0I7RUFBMkI7RUFBcUI7QVR5MEJ4RTs7QVN0MEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHkwQkY7QVN2MEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVR5MEJKO0FTdDBCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUdzBCSjtBU3IwQkU7RUFDRTtFQUNBO0FUdTBCSjs7QVNuMEJBOzsrREFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVRzMEJGO0FTcDBCRTtFQUFXO0FUdTBCYjtBU3IwQkU7RUFDRTtFQUNBO0FUdTBCSjtBU3AwQkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUczBCSjs7QVNsMEJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUcTBCRjtBU24wQkU7RUFDRTtFQUNBO0VBQ0E7QVRxMEJKO0FTbjBCSTtFQUNFO0VBQ0E7QVRxMEJOOztBU2gwQkE7OytEQUFBO0FBR0E7RUFDRTtBVG0wQkY7QVNqMEJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUbTBCSjtBU2gwQkU7RUFDRTtFQUNBO0VBQ0E7QVRrMEJKO0FTL3pCRTtFQUNFO0FUaTBCSjtBUzl6QkU7RUFDRTtFQUNBO0FUZzBCSjs7QVM1ekJBOzsrREFBQTtBQUdBO0VBQ0U7RUFDQTtBVCt6QkY7QVM3ekJFO0VBQ0U7RUFDQTtFQUNBO0FUK3pCSjtBUzd6Qkk7RUFBTztBVGcwQlg7QVM3ekJFO0VBQ0U7QVQrekJKOztBUzN6QkE7Ozs7RUFJRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVDh6QkY7QVM1ekJFOzs7O0VBQ0U7RUFDQTtFQUNBO0FUaTBCSjtBUzl6QkU7Ozs7RUFDRTtBVG0wQko7O0FTL3pCQTtFQUNFO0FUazBCRjs7QVMvekJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVGswQkY7O0FTL3pCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVGswQkY7QVNoMEJFO0VBQ0U7RUFDQTtFQUNBO0FUazBCSjtBUy96QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUaTBCSjtBUzl6QkU7RUFDRTtFQUNBO0FUZzBCSjs7QVM1ekJBOzsrREFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0FUK3pCRjtBUzd6QkU7RUFDRTtBVCt6Qko7QVM1ekJFO0VBQ0U7RUFDQTtBVDh6Qko7QVMzekJFO0VBQ0U7RUFDQTtBVDZ6Qko7QVMxekJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVQ0ekJKO0FTenpCRTtFQUNFO0FUMnpCSjtBU3h6QkU7RUFDRTtBVDB6Qko7QVN2ekJFO0VBQ0U7QVR5ekJKO0FTdHpCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVR3ekJKO0FTcnpCRTtFQUNFO0VBQ0E7RUFDQTtBVHV6Qko7QVNyekJJO0VBQ0U7RUFDQTtFQUNBO0FUdXpCTjs7QVNsekJBOzsrREFBQTtBQUdBO0VBQ0U7QVRxekJGO0FTbnpCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FUcXpCSjtBU2x6QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRvekJKO0FTbHpCSTtFQUNFO0VBQ0E7QVRvekJOO0FTanpCSTtFQUNFO0FUbXpCTjs7QVM5eUJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUaXpCRjs7QVM5eUJBOzsrREFBQTtBQUdBO0FBS0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVQ2eUJGO0FTMXlCRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0FUMnlCSjtBU3h5QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBVDB5Qko7QVN2eUJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVR5eUJKO0FTdHlCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVR3eUJKO0FTcnlCSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUdXlCTjtBU255Qkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHF5Qk47O0FTaHlCQTtFQUNFO0VBQ0E7RUFDQTtBVG15QkY7QVNqeUJFO0VBQ0U7RUFDQTtBVG15Qko7O0FTL3hCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRreUJGOztBUy94QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVGt5QkY7QVNoeUJFO0VBQVU7RUFBYztBVG95QjFCO0FTbHlCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRveUJKOztBU2h5QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVG15QkY7QVNqeUJFO0VBQVU7RUFBYztBVHF5QjFCO0FTbnlCRTtFQUNFO0VBQ0E7QVRxeUJKOztBU2p5QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUb3lCRjtBU2x5QkU7RUFBSTtBVHF5Qk47QVNweUJFO0VBQVE7QVR1eUJWOztBU3B5QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHV5QkY7O0FTcHlCQTtFQUNFO0VBQ0E7RUFDQTtBVHV5QkY7QVNyeUJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUdXlCSjtBU3J5Qkk7RUFDRTtFQUNBO0FUdXlCTjs7QVNseUJBO0VBQ0U7RUFDQTtFQUNBO0FUcXlCRjs7QVNseUJBO0VBQ0U7RUFDQTtBVHF5QkY7QVNueUJFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHF5Qko7QVNseUJFO0VBQUk7QVRxeUJOOztBU2x5QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUcXlCRjtBU255QkU7RUFBTztBVHN5QlQ7QVNyeUJFO0VBQU87QVR3eUJUO0FTdnlCRTtFQUFPO0FUMHlCVDtBU3h5QkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVQweUJKOztBU3R5QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHl5QkY7QVN2eUJFO0VBQ0U7RUFDQTtBVHl5Qko7QVN0eUJFO0VBQ0U7RUFDQTtBVHd5Qko7QVN0eUJJO0VB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QVVoOERFO0VBQ0U7QVZrOERKO0FVLzdERTtFQUNFO0FWaThESjtBVS83REk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZpOEROO0FVOTdESTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZnOEROO0FVOTdETTtFQUVFO0VBQ0E7QVYrN0RSO0FVMzdESTtFQUNFO0FWNjdETjtBVTE3REk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjQ3RE47QVUxN0RNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWNDdEUjtBVXo3RE07RUFDRTtFQUNBO0FWMjdEUjtBVXQ3REU7RUFDRTtBVnc3REo7QVVyN0RFO0VBQ0U7RUFDQTtBVnU3REo7QVVyN0RJO0VBQ0U7QVZ1N0ROO0FVbjdERTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnE3REo7QVVuN0RJO0VBQ0U7RUFDQTtFQUNBO0FWcTdETjtBVWw3REk7RUFDRTtFQUNBO0FWbzdETjtBVWg3REU7RUFDRTtBVms3REo7QVUvNkRFO0VBQ0U7SUFHRTtJQUNBO0lBQ0E7RVYrNkRKO0VVNTZERTtJQUNFO0VWODZESjtBQUNGO0FVMzZERTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FWNjZESjtBVTE2REU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWNDZESjtBVTE2REk7RUFDRTtBVjQ2RE47QVV4NkRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVYwNkRKO0FVeDZESTtFQUNFO0FWMDZETjtBVXQ2RE07RUFBVztBVnk2RGpCO0FVeDZETTtFQUFZO0FWMjZEbEI7QVV2NkRFO0VBQ0U7SUFDRTtJQUNBO0VWeTZESjtFVXQ2REU7SUFDRTtFVnc2REo7RVVyNkRFO0lBQ0U7RVZ1NkRKO0VVcDZERTtJQUNF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RTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJvNkVKO0FhbDZFSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FibzZFTjtBYWg2RUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJrNkVKO0FhLzVFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYmk2RUo7QWE5NUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiZzZFSjtBYTc1RUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiKzVFSjtBYTc1RUk7RUFBVTtFQUFlO0FiaTZFN0I7QWE5NUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYmc2RUo7QWE3NUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiKzVFSjtBYTU1RUU7RUFDRTtFQUNBO0VBQ0E7QWI4NUVKO0FhMzVFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FiNjVFSjtBYTE1RUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWI0NUVKO0FhMTVFSTtFQUNFO0FiNDVFTjtBYTE1RU07RUFBUTtBYjY1RWQ7QWF6NUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWIyNUVKO0FhejVFSTtFQUFVO0VBQWU7QWI2NUU3QjtBYTE1RUU7RUFDRTtFQUNBO0FiNDVFSjtBYXo1RUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FiMjVFSjtBYXo1RUk7RUFDRTtFQUNBO0VBQ0E7QWIyNUVOO0FhdmxGQTtFQWdNRTtBYjA1RUY7QWF6NUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYjI1RUo7QWF6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O0FoQjgxRk47QWdCMTFGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCNDFGSjtBZ0IxMUZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWhCNDFGTjtBZ0J4MUZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCMDFGSjtBZ0J4MUZJO0VBQVU7RUFBZTtBaEI0MUY3QjtBZ0J6MUZFO0VBQ0U7QWhCMjFGSjtBZ0J4MUZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEIwMUZKO0FnQnYxRkU7RUFDRTtBaEJ5MUZKO0FnQnQxRkU7RUFDRTtFQUNBO0VBQ0E7QWhCdzFGSjtBZ0JyMUZFO0VBQ0U7QWhCdTFGSjtBZ0JwMUZFO0VBQ0U7SUFDRTtFaEJzMUZKO0VnQm4xRkU7SUFHRTtFaEJtMUZKO0FBQ0Y7QWdCaDFGRTtFQUNFO0lBQ0U7RWhCazFGSjtFZ0IvMEZFO0lBQ0U7RWhCaTFGSjtBQUNGOztBaUI5OUZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpCaStGSjtBaUI5OUZFO0VBQ0U7QWpCZytGSjtBaUI3OUZFO0VBQ0U7RUFDQTtFQUNBO0FqQis5Rko7QWlCNTlGRTtFQUNFO0FqQjg5Rko7QWlCMzlGRTtFQUNFO0VBQ0E7QWpCNjlGSjtBaUIxOUZFO0VBQ0U7QWpCNDlGSjtBaUJ6OUZFO0VBQ0U7QWpCMjlGSjtBaUJ4OUZFO0VBQ0U7QWpCMDlGSjtBaUJ4OUZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpCMDlGTjtBaUJ0OUZFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxvTkFDRTtFQUdGO0FqQnE5Rko7QWlCbDlGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJvOUZKO0FpQmw5Rkk7RUFBVTtFQUFlO0FqQnM5RjdCO0FpQm45RkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJxOUZKO0FpQm45Rkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakJxOUZOO0FpQmw5Rkk7RUFBTztFQUFTO0FqQnM5RnBCO0FpQnI5Rkk7RUFBTztFQUFhO0FqQnk5RnhCO0FpQng5Rkk7RUFBTztFQUFZO0FqQjQ5RnZCO0FpQno5RkU7RUFDRTtJQUNFO0VqQjI5Rko7RWlCeDlGRTtJQUNFO0VqQjA5Rko7QUFDRjtBaUJ2OUZFO0VBQ0U7SUFDRTtJQUNBO0VqQnk5Rko7QUFDRjs7QWtCNWtHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEIra0dKO0FrQjVrR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEI4a0dKO0FrQjVrR0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEI4a0dOO0FrQjNrR0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCNmtHTjtBa0Ixa0dJO0VBQ0U7QWxCNGtHTjtBa0J6a0dJO0VBQ0U7RUFDQTtBbEIya0dOO0FrQnhrR0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEIwa0dOO0FrQnZrR0k7RUFDRTtBbEJ5a0dOO0FrQnRrR0k7RUFDRTtFQUNBO0FsQndrR047QWtCcmtHSTtFQUNFO0VBQ0E7RUFDQTtBbEJ1a0dOO0FrQnJrR007RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEJ1a0dSO0FrQm5rR0k7RUFDRTtBbEJxa0dOO0FrQmxrR0k7RUFDRTtBbEJva0dOO0FrQmhrR0U7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQmlrR0o7QWtCL2pHSTtFQUNFO0VBQ0E7RUFDQTtBbEJpa0dOO0FrQjdqR0U7RUFDRTtFQUNBO0FsQitqR0o7QWtCNWpHRTtFQUNFO0VBQ0E7QWxCOGpHSjtBa0IzakdFO0VBRUk7SUFBUTtFbEI2akdaO0VrQjNqR0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFbEI2akdOO0VrQjFqR0k7SUFDRTtJQUNBO0lBQ0E7RWxCNGpHTjtFa0J6akdJO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsQjJqR047RWtCempHTTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxCMmpHUjtFa0J4akdNO0lBQ0U7RWxCMGpHUjtFa0J0akdJOztJQUVFO0VsQndqR047QUFDRjs7QW1CeHNHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5CMnNHSjtBbUJ4c0dFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkIwc0dKO0FtQnZzR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG9JQUNFO0FuQndzR047QW1CcnNHSTtFQUNFO0VBQ0E7RUFDQTtBbkJ1c0dOO0FtQm5zR0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQnFzR0o7QW1CbnNHSTtFQUFVO0VBQWU7QW5CdXNHN0I7QW1CcHNHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5Cc3NHSjtBbUJuc0dFO0VBRUU7QW5Cb3NHSjtBbUJqc0dFO0VBQ0U7QW5CbXNHSjtBbUJoc0dFO0VBQ0U7RUFDQTtBbkJrc0dKO0FtQi9yR0U7RUFDRTtBbkJpc0dKOztBb0JweEdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnV4R0o7QW9CcnhHSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCdXhHTjtBb0JueEdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXBCcXhHSjtBb0JseEdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCb3hHSjtBb0JseEdJO0VBQVU7RUFBZTtBcEJzeEc3QjtBb0JueEdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnF4R0o7QW9CbHhHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCb3hHSjtBb0JqeEdFO0VBQ0U7QXBCbXhHSjtBb0JoeEdFO0VBQ0U7QXBCa3hHSjtBb0Ivd0dFO0VBQ0U7QXBCaXhHSjtBb0I5d0dFO0VBQ0U7QXBCZ3hHSjtBb0I5d0dJO0VBQ0U7RUFDQTtFQUNBO0FwQmd4R047QW9CNXdHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEI4d0dKO0FvQjV3R0k7RUFDRTtFQUNBO0VBQ0E7QXBCOHdHTjs7QXFCNzJHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQmczR0o7QXFCOTJHSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCZzNHTjtBcUI1MkdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQjgyR0o7QXFCMzJHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQjYyR0o7QXFCMzJHSTtFQUFVO0VBQWU7QXJCKzJHN0I7QXFCNTJHRTtFQUNFO0VBQ0E7QXJCODJHSjtBcUIzMkdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCNjJHSjtBcUIxMkdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckI0MkdKO0FxQnoyR0U7RUFDRTtJQUNFO0lBQ0E7SUFDQTtFckIyMkdKO0VxQnoyR0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFckIyMkdOO0VxQnYyR0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VyQnkyR0o7RXFCdDJHRTtJQUNFO0VyQncyR0o7RXFCcjJHRTtJQUNFO0VyQnUyR0o7QUFDRjs7QXNCaDlHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCbTlHSjtBc0JqOUdJO0VBQXVCO0F0Qm85RzNCO0FzQmo5R0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCbTlHSjtBc0JoOUdFO0VBQ0U7QXRCazlHSjtBc0IvOEdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRCaTlHSjtBc0I5OEdFO0VBQ0U7RUFDQTtFQUNBO0F0Qmc5R0o7QXNCOThH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QUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QnEzSFI7QXlCbDNITTs7RUFDc0I7QXpCcTNINUI7QXlCbjNITTtFQUFxQjtFQUFzQztBekJ1M0hqRTtBeUJyM0hNO0VBQ0U7QXpCdTNIUjtBeUJyM0hRO0VBQVU7RUFBcUM7QXpCeTNIdkQ7QXlCcDNIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F6QnMzSEo7QXlCbjNIRTtFQUNFO0F6QnEzSEo7QXlCbDNIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekJvM0hKO0F5QmozSEU7RUFDRTtFQUNBO0VBQ0E7QXpCbTNISjtBeUJoM0hFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QmszSEo7QXlCLzJIRTtFQUNFO0F6QmkzSEo7QXlCOTJIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QmczSEo7QXlCOTJISTtFQUFVO0VBQWE7QXpCazNIM0I7QXlCLzJIRTtFQUNFO0F6QmkzSEo7QXlCOTJIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QmczSEo7QXlCOTJISTtFQUNFO0VBQ0E7QXpCZzNITjtBeUI1MkhFO0VBQ0U7QXpCODJISjs7QTBCdGdJRTtFQUNFO0VBQ0E7RUFDQTtBMUJ5Z0lKO0EwQnRnSUU7RUFDRTtFQUNBO0VBQ0E7QTFCd2dJSjtBMEJ0Z0lJO0VBQ0U7QTFCd2dJTjtBMEJwZ0lFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQnNnSUo7QTBCbmdJRTtFQUNFO0ExQnFnSUo7QTBCbGdJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCb2dJSjtBMEJsZ0lJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQm9nSU47QTBCaGdJRTtFQUNFO0VBQ0E7RUFDQTtBMUJrZ0lKO0EwQi8vSEU7RUFDRTtFQUNBO0VBQ0E7QTFCaWdJSjtBMEIvL0hJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUJpZ0lOO0EwQjkvSEk7RUFDRTtFQUNBO0ExQmdnSU47QTBCOS9ITTtFQUFJO0ExQmlnSVY7QTBCNy9IRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0ExQisvSEo7QTBCNy9ISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCKy9ITjtBMEIzL0hFO0VBQ0U7SUFBVTtFMUI4L0haO0UwQjcvSEU7SUFBYTtJQUFpQjtJQUFhO0UxQmtnSTdDO0UwQmpnSUU7SUFBd0I7RTFCb2dJMUI7RTBCbmdJRTtJQUFXO0lBQWlCO0UxQnVnSTlCO0FBQ0Y7O0EwQnBnSUE7RUFDRTtJQUFLO0UxQndnSUw7QUFDRjtBMkIxbUlFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTNCNG1JSjtBMkIxbUlJO0VBTkY7SUFPSTtFM0I2bUlKO0FBQ0Y7QTJCMW1JRTtFQUNFO0VBQ0E7RUFDQTtBM0I0bUlKO0EyQjFtSUk7RUFDRTtBM0I0bUlOO0EyQnptSUk7RUFURjtJQVVJO0lBQ0E7RTNCNG1JSjtBQUNGO0EyQnptSUU7RUFDRTtFQUNBO0VBQ0E7QTNCMm1JSjtBMkJ6bUlJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQjJtSU47QTJCem1JTTtFQUFVO0EzQjRtSWhCO0EyQnhtSUU7RUFDRTtFQUNBO0EzQjBtSUo7QTJCdm1JRTtFQUNFO0VBQ0E7QTNCeW1JSjtBMkJ0bUlFO0VBQ0U7RUFDQTtBM0J3bUlKO0EyQnJtSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBM0J1bUlKO0EyQnJtSUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0J1bUlOO0EyQnJtSU07RUFBNEI7QTNCd21JbEM7QTJCcm1JSTtFQUNFO0EzQnVtSU47QTJCcG1JSTtFQUNFO0VBQ0E7RUFDQTtBM0JzbUlOO0EyQmxtSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCb21JSjtBMkJsbUlJO0VBQVU7RUFBYTtBM0JzbUkzQjtBMkJubUlFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTNCcW1JSjs7QTRCanRJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUJvdElKO0E0Qmx0SUk7RUFDRTtBNUJvdElOOztBNkI3dElFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0JndUlKO0E2Qjl0SUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0JndUlOO0E2QjV0SUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCOHRJSjtBNkIzdElFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCNnRJSjtBNkIzdElJO0VBQWdCO0VBQWdCO0E3Qit0SXBDO0E2QjV0SUU7RUFDRTtFQUNBO0VBQ0E7QTdCOHRJSjtBNkIzdElFO0VBQ0U7RUFDQTtBN0I2dElKO0E2QjF0SUU7RUFDRTtBN0I0dElKO0E2Qnp0SUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0IydElKO0E2Qnp0SUk7RUFDRTtFQUNBO0VBQ0E7QTdCMnRJTjs7QThCbnlJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxvSUFDRTtBOUJxeUlOO0E4Qmx5SUk7RUFWRjtJQVdJO0U5QnF5SUo7QUFDRjtBOEJseUlFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTlCb3lJSjtBOEJqeUlFO0VBQ0U7QTlCbXlJSjtBOEJoeUlFO0VBQ0U7RUFDQTtFQUNBO0E5Qmt5SUo7QThCL3hJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUJpeUlKO0E4Qi94SUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUJpeUlOO0E4Qjd4SUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUIreElKOztBK0IvMUlFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQmsySUo7QStCLzFJRTtF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QUNBO0VBQ0E7RW1DakdBO0F0QzI3SkQsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9pbmRleC5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9hYnN0cmFjdHMvdmFyaWFibGVzL19jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9hYnN0cmFjdHMvbWl4aW5zL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL21peGlucy9faW50ZXJwb2xldGUuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvZ2VuZXJpYy9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vZ3JpZGlhLW1hcmtldGluZy8uL2Fzc2V0cy9zYXNzL2dlbmVyaWMvX3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvZ2VuZXJpYy9fcmVib290LnNjc3MiLCJ3ZWJwYWNrOi8vZ3JpZGlhLW1hcmtldGluZy8uL2Fzc2V0cy9zYXNzL2dlbmVyaWMvX2JveC1zaXppbmcuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvYmFzZS9fYmFzZS5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9sYXlvdXRzL19oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvbGF5b3V0cy9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vZ3JpZGlhLW1hcmtldGluZy8uL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX2NvbXBvbmVudHMuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9ibG9ja3MvX2NwLWhlcm8uc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9ibG9ja3MvX2NwLXBhZ2UtaGVyby5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9jb21wb25lbnRzL2Jsb2Nrcy9fY3AtcHJvYmxlbS1zb2x1dGlvbi5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9jb21wb25lbnRzL2Jsb2Nrcy9fY3AtZmVhdHVyZS1jYXJkcy5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9jb21wb25lbnRzL2Jsb2Nrcy9fY3AtZmVhdHVyZS1kZXRhaWwuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9ibG9ja3MvX2NwLWNvbXBhcmlzb24tdGFibGUuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9ibG9ja3MvX2NwLWhvdy1pdC13b3Jrcy5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9jb21wb25lbnRzL2Jsb2Nrcy9fY3Atc3RlcC10aW1lbGluZS5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9jb21wb25lbnRzL2Jsb2Nrcy9fY3AtY3VzdG9tZXItam91cm5leS5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9jb21wb25lbnRzL2Jsb2Nrcy9fY3Atc2hvd2Nhc2Uuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9ibG9ja3MvX2NwLWF1ZGllbmNlLnNjc3MiLCJ3ZWJwYWNrOi8vZ3JpZGlhLW1hcmtldGluZy8uL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvYmxvY2tzL19jcC1iZW5lZml0cy5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9jb21wb25lbnRzL2Jsb2Nrcy9fY3AtcHJpY2luZy5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9jb21wb25lbnRzL2Jsb2Nrcy9fY3AtdGVzdGltb25pYWxzLnNjc3MiLCJ3ZWJwYWNrOi8vZ3JpZGlhLW1hcmtldGluZy8uL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvYmxvY2tzL19jcC1mYXEuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9ibG9ja3MvX2NwLWJsb2ctcHJldmlldy5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9jb21wb25lbnRzL2Jsb2Nrcy9fY3AtY3RhLWJhbm5lci5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9jb21wb25lbnRzL2Jsb2Nrcy9fY3AtdXNlLWNhc2Uuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9ibG9ja3MvX2NwLWNvbnRhY3QtY2hhbm5lbHMuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9ibG9ja3MvX2NwLWNvbnRhY3QtZm9ybS5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9jb21wb25lbnRzL2Jsb2Nrcy9fY3AtdmlkZW8uc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9ibG9ja3MvX2NwLXJpY2gtdGV4dC5zY3NzIiwid2VicGFjazovL2dyaWRpYS1tYXJrZXRpbmcvLi9hc3NldHMvc2Fzcy9zaXRlL19ibG9nLnNjc3MiLCJ3ZWJwYWNrOi8vZ3JpZGlhLW1hcmtldGluZy8uL2Fzc2V0cy9zYXNzL3V0aWxpdGllcy9fZ2VuZXJhbF91dGlsaXRpZXMuc2NzcyIsIndlYnBhY2s6Ly9ncmlkaWEtbWFya2V0aW5nLy4vYXNzZXRzL3Nhc3MvdXRpbGl0aWVzL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJ3ZWJwYWNrOi8vZ3JpZGlhLW1hcmtldGluZy8uL2Fzc2V0cy9zYXNzL3V0aWxpdGllcy9fYWxpZ25tZW50cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIVxuVGhlbWUgTmFtZTogR3JpZGlhIE1hcmtldGluZ1xuVGhlbWUgVVJJOiBodHRwczovL2dyaWRpYS5sYXRcbkF1dGhvcjogS3Jvbm9zY29kZSBUZWFtLlxuRGVzY3JpcHRpb246IFNpdGlvIGRlIG1hcmtldGluZyBkZSBHcmlkaWE6IGNhdMOhbG9nb3MgZGlnaXRhbGVzIGNvbiBwZWRpZG9zIHBvciBXaGF0c0FwcC5cblZlcnNpb246IDIuMC4wXG5SZXF1aXJlcyBQSFA6IDguMFxuTGljZW5zZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIgb3IgbGF0ZXJcbkxpY2Vuc2UgVVJJOiBMSUNFTlNFXG5UZXh0IERvbWFpbjogZ3JpZGlhLW1hcmtldGluZ1xuVGFnczogY3VzdG9tLWxvZ28sIHdlYnBhY2ssIGFjZiwgYWNmIHByb1xuKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuPj4+IFRBQkxFIE9GIENPTlRFTlRTOlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBBYnN0cmFjdHMgKHZhcmlhYmxlcywgbWl4aW5zKVxuIyBHZW5lcmljIChub3JtYWxpemUsIHRva2VucywgcmVib290LCBib3ggc2l6aW5nKVxuIyBCYXNlICh0eXBvZ3JhcGh5LCBidXR0b25zLCBmb3JtcywgbW9ja3VwcylcbiMgTGF5b3V0cyAoaGVhZGVyLCBmb290ZXIpXG4jIENvbXBvbmVudHMgKEFDRiBmbGV4aWJsZSBjb250ZW50OiBjcC0qKVxuIyBTaXRlIChibG9nLCBhcnRpY2xlLCA0MDQpXG4jIFV0aWxpdGllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AaW1wb3J0IFwiYWJzdHJhY3RzL2Fic3RyYWN0c1wiO1xuXG5AaW1wb3J0IFwiZ2VuZXJpYy9ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJnZW5lcmljL3Jvb3RcIjtcbkBpbXBvcnQgXCJnZW5lcmljL3JlYm9vdFwiO1xuQGltcG9ydCBcImdlbmVyaWMvYm94LXNpemluZ1wiO1xuXG5AaW1wb3J0IFwiYmFzZS9iYXNlXCI7XG5cbkBpbXBvcnQgXCJsYXlvdXRzL2hlYWRlclwiO1xuQGltcG9ydCBcImxheW91dHMvZm9vdGVyXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbXBvbmVudHNcIjtcblxuQGltcG9ydCBcInNpdGUvYmxvZ1wiO1xuXG5AaW1wb3J0IFwidXRpbGl0aWVzL2dlbmVyYWxfdXRpbGl0aWVzXCI7XG4iLCIvKiDigJTigJTigJQgR3JpZGlhIGJyYW5kIChmcm9tIHRoZSBsb2dvKSAqL1xuJGMtcHVycGxlOiAjOGY1ZGZhO1xuJGMtcHVycGxlLTYwMDogIzc2NDZlZTtcbiRjLXB1cnBsZS03MDA6ICM1ZDMwZDY7XG4kYy1wdXJwbGUtNTA6ICNmMmVkZmY7XG4kYy1sYXZlbmRlcjogI2UyZDlmZjtcbiRjLWxpbWU6ICNlZmZhNWQ7XG4kYy13YTogIzI1ZDM2NjtcblxuLyog4oCU4oCU4oCUIE5ldXRyYWxzIChmcm9tIHRoZSByZWZlcmVuY2UpICovXG4kYy1iZzogI2VjZWNlZTtcbiRjLXN1cmZhY2U6ICNmNWY1Zjc7XG4kYy1jYXJkOiAjZmJmYmZjO1xuJGMtaW5rOiAjMGYwZjEzO1xuJGMtdGV4dDogIzJmMmYzODtcbiRjLW11dGVkOiAjNWM1YzY4O1xuJGMtZGFyazogIzE4MTcxYztcbiRjLWRhcmstMjogIzIzMjIyOTtcblxuLyog4oCU4oCU4oCUIExlZ2FjeSBuYW1lcyB1c2VkIGJ5IGdlbmVyaWMvdXRpbGl0aWVzICovXG4kY29sb3JfX2JhY2tncm91bmQtYm9keTogJGMtYmc7XG4kY29sb3JfX2JhY2tncm91bmQtc2NyZWVuOiAjZmZmO1xuJGNvbG9yX190ZXh0LXNjcmVlbjogJGMtaW5rO1xuJGNvbG9yX19saW5rOiAkYy1wdXJwbGUtNjAwO1xuJGNvbG9yX190ZXh0LW1haW46ICRjLXRleHQ7XG4kY29sb3JfX2JvcmRlci1pbnB1dDogcmdiYSgxNiwgMTYsIDIwLCAuMTQpO1xuIiwiLyogRm9udHMgYXJlIGxvYWRlZCBpbiA8aGVhZD4gKGluY2x1ZGVzL2ZlYXR1cmVzL2dyaWRpYS1zZW8ucGhwKSB3aXRoIGRpc3BsYXk9c3dhcC4gKi9cbiRmb250X19kaXNwbGF5OiBcIkludGVyIFRpZ2h0XCIsIFwiSW50ZXJcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIHNhbnMtc2VyaWY7XG4kZm9udF9fbWFpbjogXCJJbnRlclwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgc2Fucy1zZXJpZjtcbiRmb250X19jb2RlOiBtb25hY28sIGNvbnNvbGFzLCBcIkFuZGFsZSBNb25vXCIsIFwiRGVqYVZ1IFNhbnMgTW9ub1wiLCBtb25vc3BhY2U7XG4kZm9udF9fcHJlOiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgY291cmllciwgbW9ub3NwYWNlO1xuJGZvbnRfX2xpbmUtaGVpZ2h0LWJvZHk6IDEuNjtcbiRmb250X19saW5lLWhlaWdodC1wcmU6IDEuNjtcbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQGZ1bmN0aW9uIHBvdygkdmFsdWUsICRwb3c6IDEpIHtcblx0QHJldHVybiBpZigkcG93PT0wLCAxLCAkdmFsdWUgKiBwb3coJHZhbHVlLCAkcG93IC0gMSkpO1xufVxuXG5AZnVuY3Rpb24gcm91bmRlZCgkdmFsdWUsICRwcmVjaXNpb246IDEpIHtcblx0JHBvdzEwOiBwb3coMTAsICRwcmVjaXNpb24pO1xuXHRAcmV0dXJuIG1hdGguZGl2KHJvdW5kKCR2YWx1ZSAqICRwb3cxMCksICRwb3cxMCk7XG59XG5cbi8q4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCUKlxcXG4gICAg4peP4p2xIE1JWElOR1NcblxcKuKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlCovXG5cbkBtaXhpbiBtX3F1ZXJ5KCR3aWR0aCwgJHR5cGU6ICdtYXgnKSB7XG5cdCR3aWR0aF92YWx1ZTogdHJpbV91bml0KCR3aWR0aCk7XG5cdCR3aWR0aF91bml0OiB1bml0KCR3aWR0aCk7XG5cdCR3aWR0aF9waXhlbHM6IDA7XG5cdCR3aWR0aF9icDogMDtcblx0JHJlbV92YWx1ZTogMTY7XG5cblx0Ly9EZXRlY3QgdW5pdFxuXHRAaWYgJHdpZHRoX3VuaXQ9PSdyZW0nb3IgJHdpZHRoX3VuaXQ9PSdlbScge1xuXHRcdCR3aWR0aF9waXhlbHM6ICR3aWR0aF92YWx1ZSAqICRyZW1fdmFsdWU7XG5cdH1cblxuXHRAZWxzZSB7XG5cdFx0JHdpZHRoX3BpeGVsczogJHdpZHRoX3ZhbHVlO1xuXHR9XG5cblx0QGlmICR0eXBlPT0nbWF4JyB7XG5cblx0XHQkd2lkdGhfYnA6IG1hdGguZGl2KCR3aWR0aF9waXhlbHMsICRyZW1fdmFsdWUpICogMWVtO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoX2JwKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cblx0fVxuXG5cdEBlbHNlIHtcblxuXHRcdC8vQHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcblx0XHQkd2lkdGhfYnA6IG1hdGguZGl2KCR3aWR0aF9waXhlbHMgKyAuMDIsICRyZW1fdmFsdWUpICogMWVtO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoX2JwKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cblxufVxuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuIHtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxcHggIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxcHggIWltcG9ydGFudDtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRtYXJnaW46IC0xcHggIWltcG9ydGFudDtcblx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXHRjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcblx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBjb2woJGNvbC1udW06IFwiXCIpIHtcblx0QGlmICgkY29sLW51bT09MTIpIHtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cblxuXHRAZWxzZSBpZiAoJGNvbC1udW09PVwiXCIpIHtcblx0XHRmbGV4LWJhc2lzOiAwO1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cblx0QGVsc2UgaWYoJGNvbC1udW09PVwiYXV0b1wiKSB7XG5cdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cblx0QGVsc2Uge1xuXHRcdGZsZXg6IDAgMCA4LjMzJSAqICRjb2wtbnVtO1xuXHRcdG1heC13aWR0aDogOC4zMyUgKiAkY29sLW51bTtcblx0fVxufVxuXG5AbWl4aW4gc2VsZWN0X3N0eWxlIHtcblx0YmFja2dyb3VuZDogd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtcHJpbWFyeSk7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0cGFkZGluZzogMC41cmVtIDFyZW07XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1pbWFnZTogdmFyKC0taWNvbi1hcnJvdy1kb3duKTtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAxNnB4O1xufVxuXG5AbWl4aW4gaG92ZXIge1xuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vIENlbnRlciBibG9ja1xuQG1peGluIGNlbnRlci1ibG9jayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBDb2x1bW4gd2lkdGggd2l0aCBtYXJnaW5cbkBtaXhpbiBjb2x1bW4td2lkdGgoJG51bWJlckNvbHVtbnM6IDMpIHtcblx0d2lkdGg6IG1hcC1nZXQoJGNvbHVtbnMsICRudW1iZXJDb2x1bW5zKSAtICggKCAkY29sdW1uc19fbWFyZ2luICogKCAkbnVtYmVyQ29sdW1ucyAtIDEgKSApIC8gJG51bWJlckNvbHVtbnMgKTtcbn1cbiIsIi8qKiBCYXNlZCBpbjogaHR0cHM6Ly9jb2RlcGVuLmlvL01hZGVCeU1pa2UvcGVuL3ZOcnZkWj9lZGl0b3JzPTAxMTAgKi9cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbiRyZW1fYmFzZV9weDogMTY7XG4kZml4X3NhZmFyaTogZmFsc2UgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiB0cmltX3VuaXQoJHZhbHVlKSB7XG4gICAgQHJldHVybiBtYXRoLmRpdigkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKTtcbn1cblxuQGZ1bmN0aW9uIGZyb21fYmFzZV9weCgkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG1hdGguZGl2KHRyaW1fdW5pdCgkdmFsdWUpLCAkcmVtLWJhc2UtcHgpO1xufVxuXG5AbWl4aW4gaW50ZXJwb2xhdGUoJHByb3BlcnRpZXMsICRtaW4tc2NyZWVuLCAkbWF4LXNjcmVlbiwgJG1pbi12YWx1ZSwgJG1heC12YWx1ZSwgJGlzX2ltcG9ydGFudDogbnVsbCkge1xuXG4gICAgJG1pbi1zY3JlZW5fdW5pdDogdW5pdCgkbWluLXNjcmVlbik7XG4gICAgJG1heC1zY3JlZW5fdW5pdDogdW5pdCgkbWF4LXNjcmVlbik7XG4gICAgJG1pbi12YWx1ZV91bml0OiB1bml0KCRtaW4tdmFsdWUpO1xuICAgICRtYXgtdmFsdWVfdW5pdDogdW5pdCgkbWF4LXZhbHVlKTtcblxuICAgIC8qICB8PiBVbml0IGNoZWNrXG4gICAg4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCU4oCUKi9cblxuICAgIEBpZiAkbWluLXNjcmVlbl91bml0ICE9JG1heC1zY3JlZW5fdW5pdCB7XG4gICAgICAgIEBlcnJvciBcIlRoZSB1bml0cyBmb3IgJG1pbi1zY3JlZW4gYW5kICRtYXgtc2NyZWVuIGFyZSBkaWZmZXJlbnQuIFlvdSBjYW4gdXNlICdlbScsICdweCcgb3IgJ3JlbScsIGJ1dCBub3QgaW4gY29tYmluYXRpb24uXCI7XG4gICAgfVxuXG4gICAgQGlmICRtaW4tdmFsdWVfdW5pdCAhPSRtYXgtdmFsdWVfdW5pdCB7XG4gICAgICAgIEBlcnJvciBcIlRoZSB1bml0cyBmb3IgJG1pbi12YWx1ZSBhbmQgJG1heC12YWx1ZSBhcmUgZGlmZmVyZW50LiBZb3UgY2FuIHVzZSAnZW0nLCAncHgnIG9yICdyZW0nLCBidXQgbm90IGluIGNvbWJpbmF0aW9uLlwiO1xuICAgIH1cblxuICAgICRtYXgtc2NyZWVuLWVtOiAkbWF4LXNjcmVlbjtcbiAgICAkbWluLXNjcmVlbi1lbTogJG1pbi1zY3JlZW47XG5cbiAgICAvKiAgfD4gQ29udmVydCBzY3JlZW4gc2l6ZXMgZm9yIG1lZGlhIHF1ZXJpZXMgdG8gJ2VtJ1xuICAgIOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlCovXG4gICAgLyoqIEBzZWUgaHR0cHM6Ly96ZWxsd2suY29tL2Jsb2cvbWVkaWEtcXVlcnktdW5pdHMvICovXG5cbiAgICAvKiogSWYgd2UgdXNlICdyZW0nLCB3ZSBjb252ZXJ0IHRoZW0gdG8gJ2VtJyAqL1xuICAgIEBpZiAkbWluLXNjcmVlbl91bml0PT1yZW0gYW5kICRtYXgtc2NyZWVuX3VuaXQ9PXJlbSB7XG4gICAgICAgICRtYXgtc2NyZWVuLWVtOiB0cmltX3VuaXQoJG1heC1zY3JlZW4tZW0pICogMWVtO1xuICAgICAgICAkbWluLXNjcmVlbi1lbTogdHJpbV91bml0KCRtaW4tc2NyZWVuLWVtKSAqIDFlbTtcbiAgICB9XG5cbiAgICAvKiogSWYgd2UgdXNlICdweCcsIHdlIGNvbnZlcnQgdGhlbSB0byAnZW0nICovXG4gICAgQGlmICRtaW4tc2NyZWVuX3VuaXQ9PXB4IGFuZCAkbWF4LXNjcmVlbl91bml0PT1weCB7XG4gICAgICAgICRtYXgtc2NyZWVuLWVtOiBmcm9tX2Jhc2VfcHgoJG1heC1zY3JlZW4pICogMWVtO1xuICAgICAgICAkbWluLXNjcmVlbi1lbTogZnJvbV9iYXNlX3B4KCRtaW4tc2NyZWVuKSAqIDFlbTtcbiAgICB9XG5cbiAgICAmIHtcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJG1pbi12YWx1ZSAkaXNfaW1wb3J0YW50O1xuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuXG4gICAgICAgIC8qLWNsZWFuLWNzcyBpZ25vcmU6c3RhcnQgKi9cbiAgICAgICAgbWluLXdpZHRoOiBpZigkZml4X3NhZmFyaSwgMHZ3LCBudWxsKTtcbiAgICAgICAgLyotY2xlYW4tY3NzIGlnbm9yZTplbmQgKi9cblxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi1zY3JlZW4tZW0pIHtcbiAgICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiBjYWxjLWludGVycG9sYXRpb24oJG1pbi1zY3JlZW4sICRtYXgtc2NyZWVuLCAkbWluLXZhbHVlLCAkbWF4LXZhbHVlKSAkaXNfaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1heC1zY3JlZW4tZW0pIHtcbiAgICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkbWF4LXZhbHVlICRpc19pbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFJlcXVpcmVzIHRoZSBjYWxjLWludGVycG9sYXRpb24gZnVuY3Rpb24gd2hpY2ggY2FuIGFsc28gYmUgdXNlZCBpbmRlcGVuZGVudGx5XG5cbkBmdW5jdGlvbiBjYWxjLWludGVycG9sYXRpb24oJG1pbi1zY3JlZW4sICRtYXgtc2NyZWVuLCAkbWluLXZhbHVlLCAkbWF4LXZhbHVlKSB7XG5cbiAgICAkbWluLXNjcmVlbl91bml0OiB1bml0KCRtaW4tc2NyZWVuKTtcbiAgICAkbWF4LXNjcmVlbl91bml0OiB1bml0KCRtYXgtc2NyZWVuKTtcbiAgICAkbWluLXZhbHVlX3VuaXQ6IHVuaXQoJG1pbi12YWx1ZSk7XG4gICAgJG1heC12YWx1ZV91bml0OiB1bml0KCRtYXgtdmFsdWUpO1xuXG4gICAgLyogIHw+IFNjcmVlbiBzaXplc1xuICAgIOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlCovXG5cbiAgICAvKiogSWYgd2UgdXNlICdyZW0nLCB3ZSBjb252ZXJ0IHRoZSBzY3JlZW4gc2l6ZXMgdG8gJ3JlbScgKi9cbiAgICBAaWYgJG1pbi12YWx1ZV91bml0PT1yZW0gYW5kICRtYXgtdmFsdWVfdW5pdD09cmVtIHtcblxuICAgICAgICBAaWYgJG1pbi1zY3JlZW5fdW5pdD09ZW0gYW5kICRtYXgtc2NyZWVuX3VuaXQ9PWVtIHtcbiAgICAgICAgICAgICRtYXgtc2NyZWVuOiB0cmltX3VuaXQoJG1heC1zY3JlZW4pICogMXJlbTtcbiAgICAgICAgICAgICRtaW4tc2NyZWVuOiB0cmltX3VuaXQoJG1pbi1zY3JlZW4pICogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmICRtaW4tc2NyZWVuX3VuaXQ9PXB4IGFuZCAkbWF4LXNjcmVlbl91bml0PT1weCB7XG4gICAgICAgICAgICAkbWF4LXNjcmVlbjogZnJvbV9iYXNlX3B4KCRtYXgtc2NyZWVuKSAqIDFyZW07XG4gICAgICAgICAgICAkbWluLXNjcmVlbjogZnJvbV9iYXNlX3B4KCRtaW4tc2NyZWVuKSAqIDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAvKiogSWYgd2UgdXNlICdweCcsIHdlIGNvbnZlcnQgdGhlIHNjcmVlbiBzaXplcyB0byAncHgnICovXG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJG1pbi12YWx1ZV91bml0PT1weCBhbmQgJG1heC12YWx1ZV91bml0PT1weCB7XG5cbiAgICAgICAgQGlmICRtaW4tc2NyZWVuX3VuaXQ9PWVtIGFuZCAkbWF4LXNjcmVlbl91bml0PT1lbSBvciAkbWluLXNjcmVlbl91bml0PT1yZW0gYW5kICRtYXgtc2NyZWVuX3VuaXQ9PXJlbSB7XG4gICAgICAgICAgICAkbWF4LXNjcmVlbjogdHJpbV91bml0KCRtYXgtc2NyZWVuKSAqICRyZW1fYmFzZV9weCAqIDFweDtcbiAgICAgICAgICAgICRtaW4tc2NyZWVuOiB0cmltX3VuaXQoJG1pbi1zY3JlZW4pICogJHJlbV9iYXNlX3B4ICogMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIElmIHdlIHVzZSAnZW0nLCB3ZSBjb252ZXJ0IHNjcmVlbiBzaXplcyB0byAnZW0nICovXG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJG1pbi12YWx1ZV91bml0PT1lbSBhbmQgJG1heC12YWx1ZV91bml0PT1lbSB7XG4gICAgICAgIEBpZiAkbWluLXNjcmVlbl91bml0PT1yZW0gYW5kICRtYXgtc2NyZWVuX3VuaXQ9PXJlbSB7XG4gICAgICAgICAgICAkbWF4LXNjcmVlbjogdHJpbV91bml0KCRtYXgtc2NyZWVuKSAqIDFlbTtcbiAgICAgICAgICAgICRtaW4tc2NyZWVuOiB0cmltX3VuaXQoJG1pbi1zY3JlZW4pICogMWVtO1xuXG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAkbWluLXNjcmVlbl91bml0PT1weCBhbmQgJG1heC1zY3JlZW5fdW5pdD09cHgge1xuICAgICAgICAgICAgJG1heC1zY3JlZW46IGZyb21fYmFzZV9weCgkbWF4LXNjcmVlbikgKiAxZW07XG4gICAgICAgICAgICAkbWluLXNjcmVlbjogZnJvbV9iYXNlX3B4KCRtaW4tc2NyZWVuKSAqIDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICRhOiBtYXRoLmRpdigkbWF4LXZhbHVlIC0gJG1pbi12YWx1ZSwgJG1heC1zY3JlZW4gLSAkbWluLXNjcmVlbik7XG4gICAgJGI6ICRtaW4tdmFsdWUgLSAkYSAqICRtaW4tc2NyZWVuO1xuXG4gICAgJHNpZ246IFwiK1wiO1xuXG4gICAgQGlmICgkYiA8IDApIHtcbiAgICAgICAgJHNpZ246IFwiLVwiO1xuICAgICAgICAkYjogYWJzKCRiKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuIGNhbGMoI3skYSoxMDB9dncgI3skc2lnbn0gI3skYn0pO1xufVxuXG4vKuKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlCpcXFxuICAgIOKXj+KdsSBTSE9SVEhBTkRTIE1JWElOUyBIRUxQRVJTXG5cXCrigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJQqL1xuXG4kbWluX3NjcmVuX3NpemU6IDU3NnB4O1xuJG1heF9zY3Jlbl9zaXplOiAxNDQwcHg7XG5cbkBtaXhpbiByZnMoJHByb3BpZXR5LCAkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydDogbnVsbCl7XG4gICAgQGluY2x1ZGUgaW50ZXJwb2xhdGUoJHByb3BpZXR5LCAkbWluX3NjcmVuX3NpemUsICRtYXhfc2NyZW5fc2l6ZSwgJG1pbl9zLCAkbWF4X3MsICRpc19pbXBvcnQpO1xufVxuXG5AbWl4aW4gZm9udC1zaXplKCRtaW5fcywgJG1heF9zLCAkaXNfaW1wb3J0OiBudWxsKXtcbiAgICBAaW5jbHVkZSBpbnRlcnBvbGF0ZSgnZm9udC1zaXplJywgJG1pbl9zY3Jlbl9zaXplLCAkbWF4X3NjcmVuX3NpemUsICRtaW5fcywgJG1heF9zLCAkaXNfaW1wb3J0KTtcbn1cblxuQG1peGluIG1hcmdpbigkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydDogbnVsbCl7XG4gICAgQGluY2x1ZGUgaW50ZXJwb2xhdGUoJ21hcmdpbicsICRtaW5fc2NyZW5fc2l6ZSwgJG1heF9zY3Jlbl9zaXplLCAkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCRtaW5fcywgJG1heF9zLCAkaXNfaW1wb3J0OiBudWxsKXtcbiAgICBAaW5jbHVkZSBpbnRlcnBvbGF0ZSgnbWFyZ2luLXRvcCcsICRtaW5fc2NyZW5fc2l6ZSwgJG1heF9zY3Jlbl9zaXplLCAkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tbGVmdCgkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydDogbnVsbCl7XG4gICAgQGluY2x1ZGUgaW50ZXJwb2xhdGUoJ21hcmdpbi1sZWZ0JywgJG1pbl9zY3Jlbl9zaXplLCAkbWF4X3NjcmVuX3NpemUsICRtaW5fcywgJG1heF9zLCAkaXNfaW1wb3J0KTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydDogbnVsbCl7XG4gICAgQGluY2x1ZGUgaW50ZXJwb2xhdGUoJ21hcmdpbi1yaWdodCcsICRtaW5fc2NyZW5fc2l6ZSwgJG1heF9zY3Jlbl9zaXplLCAkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tYm90dG9tKCRtaW5fcywgJG1heF9zLCAkaXNfaW1wb3J0OiBudWxsKXtcbiAgICBAaW5jbHVkZSBpbnRlcnBvbGF0ZSgnbWFyZ2luLWJvdHRvbScsICRtaW5fc2NyZW5fc2l6ZSwgJG1heF9zY3Jlbl9zaXplLCAkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCRtaW5fcywgJG1heF9zLCAkaXNfaW1wb3J0OiBudWxsKXtcbiAgICBAaW5jbHVkZSBpbnRlcnBvbGF0ZSgncGFkZGluZycsICRtaW5fc2NyZW5fc2l6ZSwgJG1heF9zY3Jlbl9zaXplLCAkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXRvcCgkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydDogbnVsbCl7XG4gICAgQGluY2x1ZGUgaW50ZXJwb2xhdGUoJ3BhZGRpbmctdG9wJywgJG1pbl9zY3Jlbl9zaXplLCAkbWF4X3NjcmVuX3NpemUsICRtaW5fcywgJG1heF9zLCAkaXNfaW1wb3J0KTtcbn1cblxuQG1peGluIHBhZGRpbmctcmlnaHQoJG1pbl9zLCAkbWF4X3MsICRpc19pbXBvcnQ6IG51bGwpe1xuICAgIEBpbmNsdWRlIGludGVycG9sYXRlKCdwYWRkaW5nLXJpZ2h0JywgJG1pbl9zY3Jlbl9zaXplLCAkbWF4X3NjcmVuX3NpemUsICRtaW5fcywgJG1heF9zLCAkaXNfaW1wb3J0KTtcbn1cblxuQG1peGluIHBhZGRpbmctbGVmdCgkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydDogbnVsbCl7XG4gICAgQGluY2x1ZGUgaW50ZXJwb2xhdGUoJ3BhZGRpbmctbGVmdCcsICRtaW5fc2NyZW5fc2l6ZSwgJG1heF9zY3Jlbl9zaXplLCAkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWJvdHRvbSgkbWluX3MsICRtYXhfcywgJGlzX2ltcG9ydDogbnVsbCl7XG4gICAgQGluY2x1ZGUgaW50ZXJwb2xhdGUoJ3BhZGRpbmctYm90dG9tJywgJG1pbl9zY3Jlbl9zaXplLCAkbWF4X3NjcmVuX3NpemUsICRtaW5fcywgJG1heF9zLCAkaXNfaW1wb3J0KTtcbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuIGh0bWwge1xuXHRsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgfVxuICBcbiAgLyogU2VjdGlvbnNcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gIFxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbiAgXG4gIGJvZHkge1xuXHRtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAgICovXG4gIFxuICBtYWluIHtcblx0ZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAqL1xuICBcbiAgaDEge1xuXHRmb250LXNpemU6IDJlbTtcblx0bWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuICBcbiAgLyogR3JvdXBpbmcgY29udGVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgXG4gIC8qKlxuICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICovXG4gIFxuICBociB7XG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG5cdGhlaWdodDogMDsgLyogMSAqL1xuXHRvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICB9XG4gIFxuICAvKipcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbiAgXG4gIHByZSB7XG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuXHRmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICB9XG4gIFxuICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuICBcbiAgYSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIFxuICAvKipcbiAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICovXG4gIFxuICBhYmJyW3RpdGxlXSB7XG5cdGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gIH1cbiAgXG4gIC8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgKi9cbiAgXG4gIGIsXG4gIHN0cm9uZyB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuICBcbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcblx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG5cdGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gIH1cbiAgXG4gIC8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG4gIFxuICBzbWFsbCB7XG5cdGZvbnQtc2l6ZTogODAlO1xuICB9XG4gIFxuICAvKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAqIGFsbCBicm93c2Vycy5cbiAgICovXG4gIFxuICBzdWIsXG4gIHN1cCB7XG5cdGZvbnQtc2l6ZTogNzUlO1xuXHRsaW5lLWhlaWdodDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbiAgXG4gIHN1YiB7XG5cdGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuICBcbiAgc3VwIHtcblx0dG9wOiAtMC41ZW07XG4gIH1cbiAgXG4gIC8qIEVtYmVkZGVkIGNvbnRlbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gIFxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG4gIFxuICBpbWcge1xuXHRib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cbiAgXG4gIC8qIEZvcm1zXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICBcbiAgLyoqXG4gICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAqL1xuICBcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuXHRmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuXHRmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cblx0bGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cblx0bWFyZ2luOiAwOyAvKiAyICovXG4gIH1cbiAgXG4gIC8qKlxuICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICovXG4gIFxuICBidXR0b24sXG4gIGlucHV0IHsgLyogMSAqL1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAqL1xuICBcbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvKiAxICovXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIFxuICAvKipcbiAgICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICovXG4gIFxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG4gIFxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICovXG4gIFxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG5cdGJvcmRlci1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcbiAgfVxuICBcbiAgLyoqXG4gICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICovXG4gIFxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG5cdG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuICBcbiAgLyoqXG4gICAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICovXG4gIFxuICBmaWVsZHNldCB7XG5cdHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICovXG4gIFxuICBsZWdlbmQge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG5cdGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG5cdGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG5cdG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuXHRwYWRkaW5nOiAwOyAvKiAzICovXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgfVxuICBcbiAgLyoqXG4gICAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuICBcbiAgcHJvZ3Jlc3Mge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAgICovXG4gIFxuICB0ZXh0YXJlYSB7XG5cdG92ZXJmbG93OiBhdXRvO1xuICB9XG4gIFxuICAvKipcbiAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAgICovXG4gIFxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuXHRwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cbiAgXG4gIC8qKlxuICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAqL1xuICBcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcblx0aGVpZ2h0OiBhdXRvO1xuICB9XG4gIFxuICAvKipcbiAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgKi9cbiAgXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cblx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbiAgfVxuICBcbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICovXG4gIFxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICovXG4gIFxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cblx0Zm9udDogaW5oZXJpdDsgLyogMiAqL1xuICB9XG4gIFxuICAvKiBJbnRlcmFjdGl2ZVxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgXG4gIC8qXG4gICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gICAqL1xuICBcbiAgZGV0YWlscyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIFxuICAvKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuICBcbiAgc3VtbWFyeSB7XG5cdGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuICBcbiAgLyogTWlzY1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgXG4gIC8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gICAqL1xuICBcbiAgdGVtcGxhdGUge1xuXHRkaXNwbGF5OiBub25lO1xuICB9XG4gIFxuICAvKipcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gICAqL1xuICBcbiAgW2hpZGRlbl0ge1xuXHRkaXNwbGF5OiBub25lO1xuICB9IiwiLypcblRoZW1lIE5hbWU6IEdyaWRpYSBNYXJrZXRpbmdcbkF1dGhvcjogS3Jvbm9zY29kZSBUZWFtXG5EZXNjcmlwdGlvbjogU2l0aW8gZGUgbWFya2V0aW5nIGRlIEdyaWRpYS5sYXRcblZlcnNpb246IDIuMFxuKi9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogIHw+IEJSRUFLUE9JTlRTXG7igJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJTigJQqL1xuJGJwLXNtOiAzNmVtO1xuJGJwLW1kOiA0OGVtO1xuJGJwLWxnOiA2NGVtO1xuJGJwLXhsOiA4MGVtO1xuXG4vKiAgfD4gT1RIRVJTICh1c2VkIGJ5IHJlYm9vdClcbuKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlCovXG4kZW5hYmxlLWJ1dHRvbi1wb2ludGVyczogdHJ1ZSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy15OiAwLjJyZW07XG4ka2JkLXBhZGRpbmcteDogMC40cmVtO1xuJGtiZC1jb2xvcjogI2ZmZjtcbiRrYmQtYmc6ICMxODE3MWM7XG5cbjpyb290IHtcbiAgLyog4oCU4oCU4oCUIEJyYW5kICovXG4gIC0tYy1wdXJwbGU6ICN7JGMtcHVycGxlfTtcbiAgLS1jLXB1cnBsZS02MDA6ICN7JGMtcHVycGxlLTYwMH07XG4gIC0tYy1wdXJwbGUtNzAwOiAjeyRjLXB1cnBsZS03MDB9O1xuICAtLWMtcHVycGxlLTUwOiAjeyRjLXB1cnBsZS01MH07XG4gIC0tYy1sYXZlbmRlcjogI3skYy1sYXZlbmRlcn07XG4gIC0tYy1saW1lOiAjeyRjLWxpbWV9O1xuICAtLWMtd2E6ICN7JGMtd2F9O1xuXG4gIC8qIOKAlOKAlOKAlCBOZXV0cmFscyAqL1xuICAtLWMtYmc6ICN7JGMtYmd9O1xuICAtLWMtc3VyZmFjZTogI3skYy1zdXJmYWNlfTtcbiAgLS1jLWNhcmQ6ICN7JGMtY2FyZH07XG4gIC0tYy1pbms6ICN7JGMtaW5rfTtcbiAgLS1jLXRleHQ6ICN7JGMtdGV4dH07XG4gIC0tYy1tdXRlZDogI3skYy1tdXRlZH07XG4gIC0tYy1saW5lOiByZ2JhKDE2LCAxNiwgMjAsIC4wOCk7XG4gIC0tYy1kYXJrOiAjeyRjLWRhcmt9O1xuICAtLWMtZGFyay0yOiAjeyRjLWRhcmstMn07XG4gIC0tYy1kYXJrLWxpbmU6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpO1xuICAtLWMtZGFyay1tdXRlZDogI2E5YThiNDtcblxuICAvKiDigJTigJTigJQgVHlwZSAqL1xuICAtLWYtZGlzcGxheTogI3skZm9udF9fZGlzcGxheX07XG4gIC0tZi1ib2R5OiAjeyRmb250X19tYWlufTtcbiAgLS1mcy1oZXJvOiBjbGFtcCgyLjVyZW0sIDEuNnJlbSArIDMuOXZ3LCA0LjVyZW0pO1xuICAtLWZzLWgxOiBjbGFtcCgyLjI1cmVtLCAxLjZyZW0gKyAyLjh2dywgMy43NXJlbSk7XG4gIC0tZnMtaDI6IGNsYW1wKDEuODc1cmVtLCAxLjRyZW0gKyAydncsIDNyZW0pO1xuICAtLWZzLWgzOiBjbGFtcCgxLjEyNXJlbSwgMS4wNXJlbSArIC4zdncsIDEuM3JlbSk7XG4gIC0tZnMtbGVhZDogY2xhbXAoMS4wNjI1cmVtLCAxcmVtICsgLjN2dywgMS4yNXJlbSk7XG4gIC0tZnMtYm9keTogMXJlbTtcbiAgLS1mcy1zbTogLjkzNzVyZW07XG4gIC0tZnMteHM6IC44MTI1cmVtO1xuXG4gIC8qIOKAlOKAlOKAlCBMYXlvdXQgKi9cbiAgLS1jb250YWluZXI6IDEyMDBweDtcbiAgLS1jb250YWluZXItbmFycm93OiA4NjBweDtcbiAgLS1ndXR0ZXI6IGNsYW1wKDEuMjVyZW0sIC44cmVtICsgMnZ3LCAycmVtKTtcbiAgLS1zZWN0aW9uLXk6IGNsYW1wKDRyZW0sIDIuNXJlbSArIDZ2dywgNy41cmVtKTtcbiAgLS1oZWFkZXItaDogNzZweDtcblxuICAvKiDigJTigJTigJQgU2hhcGUgKi9cbiAgLS1yLXhzOiA4cHg7XG4gIC0tci1zbTogMTJweDtcbiAgLS1yLW1kOiAxOHB4O1xuICAtLXItbGc6IDI0cHg7XG4gIC0tci14bDogMzJweDtcbiAgLS1yLXBpbGw6IDk5OXB4O1xuXG4gIC8qIOKAlOKAlOKAlCBFbGV2YXRpb24gKi9cbiAgLS1zaC1zbTogMCAxcHggMnB4IHJnYmEoMTYsIDE2LCAyMCwgLjA1KSwgMCAxcHggMXB4IHJnYmEoMTYsIDE2LCAyMCwgLjAzKTtcbiAgLS1zaC1tZDogMCAxMHB4IDMwcHggLTEycHggcmdiYSgxNiwgMTYsIDIwLCAuMTgpLCAwIDJweCA2cHggcmdiYSgxNiwgMTYsIDIwLCAuMDQpO1xuICAtLXNoLWxnOiAwIDMwcHggNjBweCAtMjRweCByZ2JhKDQwLCAyMCwgOTAsIC4zNSk7XG4gIC0tc2gtcHVycGxlOiAwIDEycHggMzJweCAtOHB4IHJnYmEoMTE4LCA3MCwgMjM4LCAuNTUpO1xuXG4gIC8qIOKAlOKAlOKAlCBNb3Rpb24gKi9cbiAgLS1lYXNlOiBjdWJpYy1iZXppZXIoLjIsIC43LCAuMiwgMSk7XG4gIC0tZy10cmFuczogLjNzO1xufVxuXG5odG1sIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIHNjcm9sbC1wYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1oZWFkZXItaCkgKyAxLjVyZW0pO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICBodG1sIHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG87XG4gIH1cblxuICAqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4wMW1zICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogIHw+IFNlY3Rpb24gYW5pbWF0aW9ucyAoW0NQLUlOTkVSXSBTZXR0aW5ncylcbuKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlOKAlCovXG4uYWN0aXZlLS1hbmltYXRpb24teWVzIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuOHMgdmFyKC0tZWFzZSksIHRyYW5zZm9ybSAuOHMgdmFyKC0tZWFzZSk7XG59XG5cbi5qcyAuYWN0aXZlLS1hbmltYXRpb24teWVzOm5vdCguaXMtdmlzaWJsZSkge1xuICBvcGFjaXR5OiAwO1xuXG4gICYuYW5pbWF0aW9uLS1zbGlkZV91cCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMnB4KTsgfVxuICAmLmFuaW1hdGlvbi0tc2xpZGVfbGVmdCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7IH1cbiAgJi5hbmltYXRpb24tLXNsaWRlX3JpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwcHgpOyB9XG4gICYuYW5pbWF0aW9uLS16b29tX2luIHsgdHJhbnNmb3JtOiBzY2FsZSguOTQpOyB9XG4gICYuYW5pbWF0aW9uLS1yb3RhdGVfaW4geyB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZykgc2NhbGUoLjk3KTsgfVxufVxuIiwiLy8gUmVib290XG4vL1xuLy8gTm9ybWFsaXphdGlvbiBvZiBIVE1MIGVsZW1lbnRzLCBtYW51YWxseSBmb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzIHRvIHJlbW92ZVxuLy8gc3R5bGVzIHRhcmdldGluZyBpcnJlbGV2YW50IGJyb3dzZXJzIHdoaWxlIGFwcGx5aW5nIG5ldyBzdHlsZXMuXG4vL1xuLy8gTm9ybWFsaXplIGlzIGxpY2Vuc2VkIE1JVC4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG5cbi8vIERvY3VtZW50XG4vL1xuLy8gQ2hhbmdlIGZyb20gYGJveC1zaXppbmc6IGNvbnRlbnQtYm94YCBzbyB0aGF0IGB3aWR0aGAgaXMgbm90IGFmZmVjdGVkIGJ5IGBwYWRkaW5nYCBvciBgYm9yZGVyYC5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IC8vSW1wcm92ZSBDU1Ncbn1cblxuXG4vLyBSb290XG4vL1xuLy8gQWJpbGl0eSB0byB0aGUgdmFsdWUgb2YgdGhlIHJvb3QgZm9udCBzaXplcywgYWZmZWN0aW5nIHRoZSB2YWx1ZSBvZiBgcmVtYC5cbi8vIG51bGwgYnkgZGVmYXVsdCwgdGh1cyBub3RoaW5nIGlzIGdlbmVyYXRlZC5cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuLy8gNC4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCByZWJvb3QtYm9keS1ydWxlc1xuYm9keSB7XG4gICAgbWFyZ2luOiAwOyAvLyAxXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZmLXByaW1hcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWJvZHktbGluZS1oZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYm9keS1mb250LXNpemUpO1xuICAgIGNvbG9yOiB2YXIoLS1jLWJvZHktcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ib2R5LWJnKTsgLy8gMlxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xuICAgIC1tb3otdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gM1xuICAgIHRleHQtc2l6ZS1hZGp1c3Q6MTAwJTsgLy8gM1xuXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyAvLyA0XG5cbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDsgLy8gSW1wcm92ZSBDU1MgcmVzZXRcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDsgLy8gSW1wcm92ZSBDU1MgcmVzZXRcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy9JbXByb3ZlIHRleHQgcmVuZGVyaW5nIGluIE1BQyBPU1xufVxuXG4vLyBzY3NzLWRvY3MtZW5kIHJlYm9vdC1ib2R5LXJ1bGVzXG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIFJlc2V0IEZpcmVmb3gncyBncmF5IGNvbG9yXG4vLyAyLiBTZXQgY29ycmVjdCBoZWlnaHQgYW5kIHByZXZlbnQgdGhlIGBzaXplYCBhdHRyaWJ1dGUgdG8gbWFrZSB0aGUgYGhyYCBsb29rIGxpa2UgYW4gaW5wdXQgZmllbGRcblxuaHIge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIGNvbG9yOiB2YXIoLS1oci1jb2xvcik7IC8vIDFcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyOiAwO1xuICAgIG9wYWNpdHk6IHZhcigtLWhyLW9wYWNpdHkpO1xufVxuXG5ocjpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAxcHg7IC8vIDJcbn1cblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gMS4gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vICAgIEJ5IGRlZmF1bHQsIGA8aDE+YC1gPGg2PmAgYWxsIHJlY2VpdmUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gV2UgbnVrZSB0aGUgdG9wXG4vLyAgICBtYXJnaW4gZm9yIGVhc2llciBjb250cm9sIHdpdGhpbiB0eXBlIHNjYWxlcyBhcyBpdCBhdm9pZHMgbWFyZ2luIGNvbGxhcHNpbmcuXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5cbnAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gRHVwbGljYXRlIGJlaGF2aW9yIHRvIHRoZSBkYXRhLWJzLSogYXR0cmlidXRlIGZvciBvdXIgdG9vbHRpcCBwbHVnaW5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDQuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1icy1vcmlnaW5hbC10aXRsZV0ge1xuICAgIC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgICBjdXJzb3I6IGhlbHA7IC8vIDNcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIDRcbn1cblxuXG4vLyBBZGRyZXNzXG5cbmFkZHJlc3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cbi8vIExpc3RzXG5cbm9sLFxudWwge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbm9sIG9sLFxudWwgdWwsXG5vbCB1bCxcbnVsIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vL0ltcHJvdmUgQ1NTIFJlc2V0XG4vL2h0dHBzOi8vd3d3LnNjb3R0b2hhcmEubWUvYmxvZy8yMDE5LzAxLzEyL2xpc3RzLWFuZC1zYWZhcmkuaHRtbFxudWxbcm9sZT0nbGlzdCddLFxub2xbcm9sZT0nbGlzdCddIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5kdCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLy8gMS4gVW5kbyBicm93c2VyIGRlZmF1bHRcblxuZGQge1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyAvLyAxXG59XG5cblxuLy8gQmxvY2txdW90ZVxuXG5ibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vIFN0cm9uZ1xuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuXG4vLyBTbWFsbFxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcblxufVxuXG5cbi8vIE1hcmtcblxubWFyayB7XG4gICAgcGFkZGluZzogdmFyKC0tbWFyay1wYWRkaW5nKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tYXJrLWJnKTtcbn1cblxuXG4vLyBTdWIgYW5kIFN1cFxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuXG5zdWIsXG5zdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtLjI1ZW07XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtLjVlbTtcbn1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgICBjb2xvcjogdmFyKC0tbGluay1jb2xvcik7XG4gICAgLy8gdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1saW5rLWRlY29yYXRpb24pO1xuICAgIC8vIHRyYW5zaXRpb246IHZhcigtLWctdHJhbnMpIGNvbG9yLCB2YXIoLS1nLXRyYW5zKSBiYWNrZ3JvdW5kLCB2YXIoLS1nLXRyYW5zKSB0ZXh0LWRlY29yYXRpb24tY29sb3I7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQsIHRleHQtZGVjb3JhdGlvbi1jb2xvcjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1nLXRyYW5zKTtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdmFyKC0tbGluay1ob3Zlci1jb2xvcik7XG4gICAgICAgIC8vIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tbGluay1ob3Zlci1kZWNvcmF0aW9uKTtcbiAgICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pIHtcblxuICAgICYsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG5cbi8vIENvZGVcblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mZi1tb25vc3BhY2UpO1xuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgZGlyZWN0aW9uOiBsdHIgI3tcIi8qIHJ0bDppZ25vcmUgKi9cIn07XG4gICAgdW5pY29kZS1iaWRpOiBiaWRpLW92ZXJyaWRlO1xufVxuXG4vLyAxLiBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHRvcCBtYXJnaW5cbi8vIDIuIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4vLyAzLiBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcblxucHJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyAxXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLy8gMlxuICAgIG92ZXJmbG93OiBhdXRvOyAvLyAzXG5cbiAgICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICAgIGNvZGUge1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgfVxufVxuXG5jb2RlIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgICBhPiYge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG59XG5cbmtiZCB7XG4gICAgcGFkZGluZzogJGtiZC1wYWRkaW5nLXkgJGtiZC1wYWRkaW5nLXg7XG4gICAgY29sb3I6ICRrYmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcblxuICAgIGtiZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBBcHBseSBhIGNvbnNpc3RlbnQgbWFyZ2luIHN0cmF0ZWd5IChtYXRjaGVzIG91ciB0eXBlIHN0eWxlcykuXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcblxuaW1nLFxuc3ZnIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gSW1wcm92ZSBDU1MgUmVzZXRcbiAgICAvLyBkaXNwbGF5OiBibG9jazsgLy8gSW1wcm92ZSBDU1MgUmVzZXRcbiAgICBoZWlnaHQ6IGF1dG87IC8vIEltcHJvdmUgQ1NTIFJlc2V0XG59XG5cblxuLy8gVGFibGVzXG4vL1xuLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xuXG50YWJsZSB7XG4gICAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuY2FwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLy8gMS4gUmVtb3ZlcyBmb250LXdlaWdodCBib2xkIGJ5IGluaGVyaXRpbmdcbi8vIDIuIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgYHRleHQtYWxpZ25gLlxuLy8gMy4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG5cbnRoIHtcbiAgICBmb250LXdlaWdodDogNzAwOyAvLyAxXG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuICAgIHRleHQtYWxpZ246IC13ZWJraXQtbWF0Y2gtcGFyZW50OyAvLyAzXG59XG5cbnRoZWFkLFxudGJvZHksXG50Zm9vdCxcbnRyLFxudGQsXG50aCB7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5cbi8vIEZvcm1zXG4vL1xuLy8gMS4gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cblxubGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxufVxuXG4vLyBSZW1vdmUgdGhlIGRlZmF1bHQgYGJvcmRlci1yYWRpdXNgIHRoYXQgbWFjT1MgQ2hyb21lIGFkZHMuXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuXG5idXR0b24ge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBFeHBsaWNpdGx5IHJlbW92ZSBmb2N1cyBvdXRsaW5lIGluIENocm9taXVtIHdoZW4gaXQgc2hvdWxkbid0IGJlXG4vLyB2aXNpYmxlIChlLmcuIGFzIHJlc3VsdCBvZiBtb3VzZSBjbGljayBvciB0b3VjaCB0YXApLiBJdCBhbHJlYWR5XG4vLyBzaG91bGQgYmUgZG9pbmcgdGhpcyBhdXRvbWF0aWNhbGx5LCBidXQgc2VlbXMgdG8gY3VycmVudGx5IGJlXG4vLyBjb25mdXNlZCBhbmQgYXBwbGllcyBpdHMgdmVyeSB2aXNpYmxlIHR3by10b25lIG91dGxpbmUgYW55d2F5LlxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gICAgbWFyZ2luOiAwOyAvLyAxXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8vSW1wcm92ZSBmb3IgbW9kZXJuIGJyb3dzZXJzXG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveFxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLy8gU2V0IHRoZSBjdXJzb3IgZm9yIG5vbi1gPGJ1dHRvbj5gIGJ1dHRvbnNcbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzMwNTYyXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWxlY3Qge1xuICAgIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDk5MFxuICAgIHdvcmQtd3JhcDogbm9ybWFsO1xuXG4gICAgLy8gVW5kbyB0aGUgb3BhY2l0eSBjaGFuZ2UgZnJvbSBDaHJvbWVcbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi8vIFJlbW92ZSB0aGUgZHJvcGRvd24gYXJyb3cgaW4gQ2hyb21lIGZyb20gaW5wdXRzIGJ1aWx0IHdpdGggZGF0YWxpc3RzLlxuLy8gU2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS81NDk5NzExOFxuXG5bbGlzdF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuLy8gMy4gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIGJ1dHRvbiBlbGVtZW50cy5cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG4vLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG5cbiAgICBAaWYgJGVuYWJsZS1idXR0b24tcG9pbnRlcnMge1xuICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmUgbGlrZSBOb3JtYWxpemUuXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8vIDEuIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpciAoaG9yaXpvbnRhbCkgY29udGFpbmVycy5cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7IC8vIDFcbn1cblxuLy8gMS4gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbi8vICAgIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuLy8gICAgU28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgZmllbGRzZXRzIGJlaGF2ZSBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbi8vICAgIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbi8vIDIuIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuXG5maWVsZHNldCB7XG4gICAgbWluLXdpZHRoOiAwOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICAgIG1hcmdpbjogMDsgLy8gMlxuICAgIGJvcmRlcjogMDsgLy8gMlxufVxuXG4vLyAxLiBCeSB1c2luZyBgZmxvYXQ6IGxlZnRgLCB0aGUgbGVnZW5kIHdpbGwgYmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50LlxuLy8gICAgVGhpcyB3YXkgdGhlIGJvcmRlciBvZiBhIGZpZWxkc2V0IHdyYXBzIGFyb3VuZCB0aGUgbGVnZW5kIGlmIHByZXNlbnQuXG4vLyAyLiBGaXggd3JhcHBpbmcgYnVnLlxuLy8gICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjk3MTJcblxubGVnZW5kIHtcbiAgICBmbG9hdDogbGVmdDsgLy8gMVxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgICArKiB7XG4gICAgICAgIGNsZWFyOiBsZWZ0OyAvLyAyXG4gICAgfVxufVxuXG4vLyBGaXggaGVpZ2h0IG9mIGlucHV0cyB3aXRoIGEgdHlwZSBvZiBkYXRldGltZS1sb2NhbCwgZGF0ZSwgbW9udGgsIHdlZWssIG9yIHRpbWVcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE4ODQyXG5cbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyLFxuOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZSxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWhvdXItZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsXG46Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCxcbjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyAxLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbi8vIDIuIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vICAgIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gICAgYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gICAgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAxXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDJcbn1cblxuLy8gMS4gQSBmZXcgaW5wdXQgdHlwZXMgc2hvdWxkIHN0YXkgTFRSXG4vLyBTZWUgaHR0cHM6Ly9ydGxzdHlsaW5nLmNvbS9wb3N0cy9ydGwtc3R5bGluZyNmb3JtLWlucHV0c1xuLy8gMi4gUlRMIG9ubHkgb3V0cHV0XG4vLyBTZWUgaHR0cHM6Ly9ydGxjc3MuY29tL2xlYXJuL3VzYWdlLWd1aWRlL2NvbnRyb2wtZGlyZWN0aXZlcy8jcmF3XG5cbi8qIHJ0bDpyYXc6XG5bdHlwZT1cInRlbFwiXSxcblt0eXBlPVwidXJsXCJdLFxuW3R5cGU9XCJlbWFpbFwiXSxcblt0eXBlPVwibnVtYmVyXCJdIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG4qL1xuXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmUgcGFkZGluZyBhcm91bmQgY29sb3IgcGlja2VycyBpbiB3ZWJraXQgYnJvd3NlcnNcblxuOjotd2Via2l0LWNvbG9yLXN3YXRjaC13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5cbi8vIEluaGVyaXQgZm9udCBmYW1pbHkgYW5kIGxpbmUgaGVpZ2h0IGZvciBmaWxlIGlucHV0IGJ1dHRvbnNcblxuOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgZm9udDogaW5oZXJpdDtcbn1cblxuLy8gMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGBcbi8vIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDFcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcblxub3V0cHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8vIFJlbW92ZSBib3JkZXIgZnJvbSBpZnJhbWVcblxuaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbi8vIFN1bW1hcnlcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnNcblxuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtOyAvLyAxXG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8vIFByb2dyZXNzXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxucHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuXG4vLyBIaWRkZW4gYXR0cmlidXRlXG4vL1xuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZS5cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogUmVtb3ZlIGFsbCBhbmltYXRpb25zLCB0cmFuc2l0aW9ucyBhbmQgc21vb3RoIHNjcm9sbCBmb3IgcGVvcGxlIHRoYXQgcHJlZmVyIG5vdCB0byBzZWUgdGhlbSAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICBodG1sOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0bztcbiAgICB9XG5cbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuICAvLyBCYXNlZCBvbiA6XG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMi4wLjEgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIDEuIFJlbW92ZSBhbmltYXRpb25zIHdoZW4gbW90aW9uIGlzIHJlZHVjZWQgKG9waW5pb25hdGVkKVxuICAvLyAyLiBSZW1vdmUgZml4ZWQgYmFja2dyb3VuZCBhdHRhY2htZW50cyB3aGVuIG1vdGlvbiBpcyByZWR1Y2VkIChvcGluaW9uYXRlZClcbiAgLy8gMy4gUmVtb3ZlIHRpbWVkIHNjcm9sbGluZyBiZWhhdmlvcnMgd2hlbiBtb3Rpb24gaXMgcmVkdWNlZCAob3BpbmlvbmF0ZWQpXG4gIC8vIDQuIFJlbW92ZSB0cmFuc2l0aW9ucyB3aGVuIG1vdGlvbiBpcyByZWR1Y2VkIChvcGluaW9uYXRlZClcbi8vICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbi8vICAgICAqOm5vdChbYXJpYS1idXN5PVwidHJ1ZVwiXSksXG4vLyAgICAgOm5vdChbYXJpYS1idXN5PVwidHJ1ZVwiXSk6OmJlZm9yZSxcbi8vICAgICA6bm90KFthcmlhLWJ1c3k9XCJ0cnVlXCJdKTo6YWZ0ZXIge1xuLy8gICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBpbml0aWFsICFpbXBvcnRhbnQ7IC8vIDJcbi8vICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7IC8vIDFcbi8vICAgICAgIGFuaW1hdGlvbi1kZWxheTogLTFtcyAhaW1wb3J0YW50OyAvLyAxXG4vLyAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7IC8vIDFcbi8vICAgICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50OyAvLyAzXG4vLyAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcyAhaW1wb3J0YW50OyAvLyA0XG4vLyAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcyAhaW1wb3J0YW50OyAvLyA0XG4vLyAgICAgfVxuLy8gICB9IiwiLyogSW5oZXJpdCBib3gtc2l6aW5nIHRvIG1vcmUgZWFzaWx5IGNoYW5nZSBpdCdzIHZhbHVlIG9uIGEgY29tcG9uZW50IGxldmVsLlxuQGxpbmsgaHR0cDovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS8gKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG5cdGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmh0bWwge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBCb2R5ICYgdHlwb2dyYXBoeVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iZyk7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZi1ib2R5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mcy1ib2R5KTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICBmb250LWZhbWlseTogdmFyKC0tZi1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMDg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcbiAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuXG5wIHtcbiAgdGV4dC13cmFwOiBwcmV0dHk7XG59XG5cbmEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5pbWcsIHN2ZywgdmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYy1wdXJwbGUtNjAwKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtbGltZSk7XG4gIGNvbG9yOiB2YXIoLS1jLWluayk7XG59XG5cbi5za2lwLWxpbms6Zm9jdXMge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuLmctaWNvbiB7XG4gIHdpZHRoOiAxLjI1ZW07XG4gIGhlaWdodDogMS4yNWVtO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBMYXlvdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5nLW1haW4ge1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1oZWFkZXItaCkgKyAxcmVtKTtcbiAgb3ZlcmZsb3cteDogY2xpcDtcbn1cblxuLmctY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250YWluZXIpICsgdmFyKC0tZ3V0dGVyKSAqIDIpO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tZ3V0dGVyKTtcblxuICAmLS1uYXJyb3cge1xuICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250YWluZXItbmFycm93KSArIHZhcigtLWd1dHRlcikgKiAyKTtcbiAgfVxufVxuXG4uZy1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNlY3Rpb24teSkgLyAyKTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogY2xhbXAoMnJlbSwgMXJlbSArIDN2dywgMy41cmVtKTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNlY3Rpb24teSk7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBIZWFkaW5nIHBhdHRlcm5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5nLWhlYWRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IC45cmVtO1xuICBtYXgtd2lkdGg6IDc2MHB4O1xuICBtYXJnaW46IDAgYXV0byBjbGFtcCgyLjI1cmVtLCAxLjVyZW0gKyAyLjV2dywgMy43NXJlbSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmLS1sZWZ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4taW5saW5lOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLmctdGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLWZzLWgyKTtcbn1cblxuLmctc3VidGl0bGUge1xuICBtYXgtd2lkdGg6IDYyMHB4O1xuICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZnMtbGVhZCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU1O1xufVxuXG4uZy1leWVicm93IHtcbiAgY29sb3I6IHZhcigtLWMtcHVycGxlLTYwMCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5nLXBpbGwge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAuNXJlbTtcbiAgcGFkZGluZzogLjRyZW0gLjg1cmVtIC40cmVtIC41NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1waWxsKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNzIpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaC1zbSk7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQpO1xuICBmb250LXNpemU6IHZhcigtLWZzLXhzKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG5cbiAgJl9fZG90IHtcbiAgICB3aWR0aDogLjU1cmVtO1xuICAgIGhlaWdodDogLjU1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWxpbWUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDIzOSwgMjUwLCA5MywgLjM1KSwgMCAwIDAgMXB4IHJnYmEoMTYsIDE2LCAyMCwgLjEyKSBpbnNldDtcbiAgfVxuXG4gIC5nLWljb24ge1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNjAwKTtcbiAgfVxuXG4gICYtLWRhcmsge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1kYXJrLWxpbmUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtZGFyay0yKTtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgIC5nLWljb24geyBjb2xvcjogdmFyKC0tYy1saW1lKTsgfVxuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgQnV0dG9ucyAmIGxpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZy1idG4ge1xuICAtLWJ0bi1iZzogdmFyKC0tYy1jYXJkKTtcbiAgLS1idG4tY29sb3I6IHZhcigtLWMtaW5rKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogLjU1cmVtO1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiAuNzVyZW0gMS4zNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItcGlsbCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1iZyk7XG4gIGNvbG9yOiB2YXIoLS1idG4tY29sb3IpO1xuICBmb250LWZhbWlseTogdmFyKC0tZi1ib2R5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWctdHJhbnMpIHZhcigtLWVhc2UpLCBib3gtc2hhZG93IHZhcigtLWctdHJhbnMpIHZhcigtLWVhc2UpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWctdHJhbnMpLCBjb2xvciB2YXIoLS1nLXRyYW5zKSwgYm9yZGVyLWNvbG9yIHZhcigtLWctdHJhbnMpO1xuXG4gIC5nLWljb24ge1xuICAgIHdpZHRoOiAxLjA1cmVtO1xuICAgIGhlaWdodDogMS4wNXJlbTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tZy10cmFucykgdmFyKC0tZWFzZSk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cbiAgICAuZy1pY29uIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAmLS1wcmltYXJ5IHtcbiAgICAtLWJ0bi1iZzogdmFyKC0tYy1wdXJwbGUtNjAwKTtcbiAgICAtLWJ0bi1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1wdXJwbGUpLCBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjI1KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgLS1idG4tYmc6IHZhcigtLWMtcHVycGxlLTcwMCk7XG4gICAgICBib3gtc2hhZG93OiAwIDE2cHggNDBweCAtMTBweCByZ2JhKDExOCwgNzAsIDIzOCwgLjcpLCBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjI1KTtcbiAgICB9XG4gIH1cblxuICAmLS1kYXJrIHtcbiAgICAtLWJ0bi1iZzogdmFyKC0tYy1kYXJrKTtcbiAgICAtLWJ0bi1jb2xvcjogI2ZmZjtcblxuICAgICY6aG92ZXIgeyAtLWJ0bi1iZzogIzAwMDsgfVxuICB9XG5cbiAgJi0tZ2hvc3Qge1xuICAgIC0tYnRuLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC42KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTYsIDE2LCAyMCwgLjEyKTtcblxuICAgICY6aG92ZXIgeyAtLWJ0bi1iZzogI2ZmZjsgfVxuICB9XG5cbiAgJi0tZ2hvc3QtbGlnaHQge1xuICAgIC0tYnRuLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNik7XG4gICAgLS1idG4tY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xOCk7XG5cbiAgICAmOmhvdmVyIHsgLS1idG4tYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEyKTsgfVxuICB9XG5cbiAgJi0tc20ge1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogLjU1cmVtIDFyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7XG4gIH1cblxuICAmLS1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmctY3RhcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAuNzVyZW07XG5cbiAgJi0tY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uZy10ZXh0LWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAuMzVyZW07XG4gIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS02MDApO1xuICBmb250LXNpemU6IHZhcigtLWZzLXNtKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAuZy1pY29uIHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWctdHJhbnMpIHZhcigtLWVhc2UpO1xuICB9XG5cbiAgJjpob3ZlciAuZy1pY29uIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFNtYWxsIGJ1aWxkaW5nIGJsb2Nrc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmctaWNvbi10aWxlIHtcbiAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAyLjc1cmVtO1xuICBoZWlnaHQ6IDIuNzVyZW07XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXNtKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1kYXJrKTtcbiAgYm94LXNoYWRvdzogMCA4cHggMThweCAtOHB4IHJnYmEoMTYsIDE2LCAyMCwgLjU1KSwgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTtcbiAgY29sb3I6ICNmZmY7XG5cbiAgLmctaWNvbiB7XG4gICAgd2lkdGg6IDEuM3JlbTtcbiAgICBoZWlnaHQ6IDEuM3JlbTtcbiAgfVxuXG4gICYtLXB1cnBsZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2MGRlZywgdmFyKC0tYy1wdXJwbGUpLCB2YXIoLS1jLXB1cnBsZS02MDApKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1wdXJwbGUpO1xuICB9XG59XG5cbi5nLWNoaXAge1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEuMTVlbTtcbiAgaGVpZ2h0OiAxLjE1ZW07XG4gIG1hcmdpbi1pbmxpbmU6IC4xMmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtcHVycGxlKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTQzLCA5MywgMjUwLCAuMiksIDAgNnB4IDIycHggcmdiYSgxNDMsIDkzLCAyNTAsIC42KTtcbiAgY29sb3I6ICNmZmY7XG4gIHZlcnRpY2FsLWFsaWduOiAtLjEyZW07XG5cbiAgLmctaWNvbiB7XG4gICAgd2lkdGg6IC42MmVtO1xuICAgIGhlaWdodDogLjYyZW07XG4gIH1cblxuICAmLS13aGF0c2FwcCB7IGJhY2tncm91bmQ6IHZhcigtLWMtd2EpOyBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgzNywgMjExLCAxMDIsIC4yKSwgMCA2cHggMjJweCByZ2JhKDM3LCAyMTEsIDEwMiwgLjU1KTsgfVxuICAmLS10YWcsICYtLXNwYXJrbGVzIHsgYmFja2dyb3VuZDogdmFyKC0tYy1saW1lKTsgY29sb3I6IHZhcigtLWMtaW5rKTsgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMjM5LCAyNTAsIDkzLCAuMTgpLCAwIDZweCAyMnB4IHJnYmEoMjM5LCAyNTAsIDkzLCAuNDUpOyB9XG59XG5cbi5nLWNoZWNrbGlzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogLjhyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IC43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAuZy1pY29uIHtcbiAgICB3aWR0aDogMS4zNXJlbTtcbiAgICBoZWlnaHQ6IDEuMzVyZW07XG4gICAgcGFkZGluZzogLjIycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXB1cnBsZS01MCk7XG4gICAgY29sb3I6IHZhcigtLWMtcHVycGxlLTYwMCk7XG4gICAgc3Ryb2tlLXdpZHRoOiAyLjY7XG4gIH1cblxuICAmLS1jb21wYWN0IHtcbiAgICBnYXA6IC41NXJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIExvZ29cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5nLWxvZ28ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAuNTVyZW07XG4gIGNvbG9yOiB2YXIoLS1jLWluayk7XG5cbiAgJi0tbGlnaHQgeyBjb2xvcjogI2ZmZjsgfVxuXG4gICZfX2ltZyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG5cbiAgJl9fd29yZCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWYtZGlzcGxheSk7XG4gICAgZm9udC1zaXplOiAxLjM1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuXG4uZy1sb2dvX19tYXJrIHtcbiAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIGdhcDogMTIlO1xuICB3aWR0aDogMS42cmVtO1xuICBoZWlnaHQ6IDEuNnJlbTtcbiAgZmxleC1zaHJpbms6IDA7XG5cbiAgaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMjIlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtbGltZSk7XG5cbiAgICAmOm50aC1jaGlsZCgyKSwgJjpudGgtY2hpbGQoMykge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUpO1xuICAgIH1cbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEJyZWFkY3J1bWJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZy1icmVhZGNydW1icyB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICBvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAuMzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7XG4gIH1cblxuICBsaSArIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgIG1hcmdpbi1yaWdodDogLjM1cmVtO1xuICAgIG9wYWNpdHk6IC40NTtcbiAgfVxuXG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS02MDApO1xuICB9XG5cbiAgW2FyaWEtY3VycmVudF0ge1xuICAgIGNvbG9yOiB2YXIoLS1jLWluayk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEZvcm1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZy1maWVsZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogLjRyZW07XG5cbiAgbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jLWluayk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgIHNwYW4geyBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNjAwKTsgfVxuICB9XG5cbiAgJi0tZnVsbCB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgfVxufVxuXG4uZy1maWVsZCBpbnB1dCxcbi5nLWZpZWxkIHNlbGVjdCxcbi5nLWZpZWxkIHRleHRhcmVhLFxuLmctc2VhcmNoIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmc6IC43NXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2LCAxNiwgMjAsIC4xNCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItc20pO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IHZhcigtLWZzLXNtKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLWctdHJhbnMpLCBib3gtc2hhZG93IHZhcigtLWctdHJhbnMpO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLXB1cnBsZS02MDApO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDE0MywgOTMsIDI1MCwgLjE4KTtcbiAgfVxuXG4gICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDY0NTQ1O1xuICB9XG59XG5cbi5nLWZpZWxkIHRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmctaHAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZy1zZWFyY2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDUyMHB4O1xuICBtYXJnaW46IDJyZW0gYXV0byAwO1xuXG4gID4gLmctaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEuMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgbWluLWhlaWdodDogNTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogN3JlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXBpbGwpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoLW1kKTtcbiAgfVxuXG4gIC5nLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAuNHJlbTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFByb3NlIChhcnRpY2xlcywgbGVnYWwsIHRyYW5zY3JpcHRzKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmctcHJvc2Uge1xuICBjb2xvcjogdmFyKC0tYy10ZXh0KTtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuXG4gID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDEuMjVlbTtcbiAgfVxuXG4gIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAyLjJlbTtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNXJlbSwgMS4zcmVtICsgLjh2dywgMS45cmVtKTtcbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAxLjhlbTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS02MDApO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweDtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjNlbTtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi10b3A6IC40ZW07XG4gIH1cblxuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItbWQpO1xuICB9XG5cbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luLWlubGluZTogMDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWMtcHVycGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLXItc20pIHZhcigtLXItc20pIDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1jYXJkKTtcbiAgfVxuXG4gIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pO1xuXG4gICAgdGgsIHRkIHtcbiAgICAgIHBhZGRpbmc6IC43cmVtIC44cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWMtbGluZSk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFBhZ2luYXRpb24gJiBlbXB0eSBzdGF0ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmctcGFnaW5hdGlvbiB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG5cbiAgLm5hdi1saW5rcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAuNHJlbTtcbiAgfVxuXG4gIC5wYWdlLW51bWJlcnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBwYWRkaW5nLWlubGluZTogLjlyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1waWxsKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWNhcmQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAmLmN1cnJlbnQge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1kYXJrKTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICY6aG92ZXI6bm90KC5jdXJyZW50KSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG4uZy1lbXB0eSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxcmVtO1xuICBwYWRkaW5nOiA0cmVtIDFyZW07XG4gIGNvbG9yOiB2YXIoLS1jLW11dGVkKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIERlY29yYXRpdmUgcGhvbmUgc2NyZWVucyAodGVtcGxhdGUtcGFydHMvbW9ja3Vwcy9zY3JlZW4ucGhwKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2lnbmFsLCB3aWZpIGFuZCBiYXR0ZXJ5IGdseXBoczsgJGNvbG9yIGlzIGEgVVJMLWVuY29kZWQgaGV4IChlLmcuICUyMzE4MTcxYykuICovXG5AZnVuY3Rpb24gZy1zdGF0dXMtaWNvbnMoJGNvbG9yKSB7XG4gIEByZXR1cm4gdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA2OCAxMicgZmlsbD0nI3skY29sb3J9JyUzRSUzQ3JlY3QgeD0nMCcgeT0nNycgd2lkdGg9JzMnIGhlaWdodD0nNCcgcng9Jy44Jy8lM0UlM0NyZWN0IHg9JzQuNScgeT0nNScgd2lkdGg9JzMnIGhlaWdodD0nNicgcng9Jy44Jy8lM0UlM0NyZWN0IHg9JzknIHk9JzMnIHdpZHRoPSczJyBoZWlnaHQ9JzgnIHJ4PScuOCcvJTNFJTNDcmVjdCB4PScxMy41JyB5PScxJyB3aWR0aD0nMycgaGVpZ2h0PScxMCcgcng9Jy44Jy8lM0UlM0NwYXRoIGQ9J00yOSAxMS4yIDI1LjYgNy42YTQuOCA0LjggMCAwIDEgNi44IDB6TTIyLjkgNC45YTguNiA4LjYgMCAwIDEgMTIuMiAwbC0xLjQgMS40YTYuNiA2LjYgMCAwIDAtOS40IDB6Jy8lM0UlM0NyZWN0IHg9JzQxLjUnIHk9JzEuNScgd2lkdGg9JzIyJyBoZWlnaHQ9JzknIHJ4PScyLjYnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skY29sb3J9JyBzdHJva2Utb3BhY2l0eT0nLjQnLyUzRSUzQ3JlY3QgeD0nNDMuNScgeT0nMy41JyB3aWR0aD0nMTYnIGhlaWdodD0nNScgcng9JzEuNCcvJTNFJTNDcGF0aCBkPSdNNjUuNSA0LjR2My4yYTEuNyAxLjcgMCAwIDAgMC0zLjJ6JyBmaWxsLW9wYWNpdHk9Jy40NScvJTNFJTNDL3N2ZyUzRVwiKSBuby1yZXBlYXQgcmlnaHQgMS40ZW0gY2VudGVyIC8gNC40ZW0gYXV0bztcbn1cblxuLyogaVBob25lIDE2IFBybyBwcm9wb3J0aW9uczogNzEuNSDDlyAxNDkuNiBtbSBib2R5LCBibGFjayB0aXRhbml1bSBmcmFtZS4gKi9cbi5nLXBob25lIHtcbiAgLS11aS1hY2NlbnQ6IHZhcigtLWMtcHVycGxlLTYwMCk7XG4gIC0tcGhvbmUtZnJhbWU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM3Nzc2N2MgMCUsICMyZjJlMzMgMjIlLCAjNWQ1YzYyIDQ4JSwgIzI1MjQyOSA3NCUsICM2YTY5NmYgMTAwJSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogNzEuNSAvIDE0OS42O1xuICBwYWRkaW5nOiAzLjQlO1xuICBib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMTclIC8gOC4xJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCMwNjA2MDcsICMwNjA2MDcpIHBhZGRpbmctYm94LCB2YXIoLS1waG9uZS1mcmFtZSkgYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA2KSwgMCAzMHB4IDYwcHggLTIwcHggcmdiYSgyMCwgMTYsIDQwLCAuNDUpLCB2YXIoLS1zaC1sZyk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoN3B4LCA0Y3FpLCAxMnB4KTtcblxuICAvLyBTaWRlIGJ1dHRvbnM6IGFjdGlvbiArIHZvbHVtZSBvbiB0aGUgbGVmdCwgcG93ZXIgKyBjYW1lcmEgY29udHJvbCBvbiB0aGUgcmlnaHQuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IDE3JTtcbiAgICBsZWZ0OiAtNnB4O1xuICAgIGhlaWdodDogMjQlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjNGE0OTRmIDAgMTMlLCB0cmFuc3BhcmVudCAxMyUgMjUlLCAjNGE0OTRmIDI1JSA1OCUsIHRyYW5zcGFyZW50IDU4JSA2NyUsICM0YTQ5NGYgNjclIDEwMCUpO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHRvcDogMjYlO1xuICAgIHJpZ2h0OiAtNnB4O1xuICAgIGhlaWdodDogNDYlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjNGE0OTRmIDAgMjMlLCB0cmFuc3BhcmVudCAyMyUgNzAlLCAjM2MzYjQxIDcwJSA4OSUsIHRyYW5zcGFyZW50IDg5JSk7XG4gIH1cblxuICAmX19zY3JlZW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAuOGVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAzLjRlbSAuOTVlbSAxLjFlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0JSAvIDYuNiU7XG4gICAgYmFja2dyb3VuZDogI2ZhZmFmYjtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAvLyBEeW5hbWljIElzbGFuZC5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLjdlbTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiAzMSU7XG4gICAgICBoZWlnaHQ6IDEuODVlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxuICAgIC8vIFN0YXR1cyBiYXI6IGNsb2NrIG9uIHRoZSBsZWZ0LCBzaWduYWwvd2lmaS9iYXR0ZXJ5IG9uIHRoZSByaWdodC5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIjk6NDFcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLjc1ZW07XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgaGVpZ2h0OiAyLjJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS44ZW07XG4gICAgICBiYWNrZ3JvdW5kOiBnLXN0YXR1cy1pY29ucygnJTIzMTgxNzFjJyk7XG4gICAgICBmb250LXNpemU6IDEuMDVlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMi4yZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuICAgIH1cbiAgfVxufVxuXG4uZy11aS10b3Age1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IC42ZW07XG5cbiAgLmctdWktbmFtZSB7XG4gICAgZmxleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG5cbi5nLXVpLWF2YXRhciB7XG4gIHdpZHRoOiAyLjJlbTtcbiAgaGVpZ2h0OiAyLjJlbTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogY29uaWMtZ3JhZGllbnQodmFyKC0tYy1saW1lKSAwIDI1JSwgdmFyKC0tYy1wdXJwbGUpIDAgNTAlLCB2YXIoLS1jLWxpbWUpIDAgNzUlLCB2YXIoLS1jLXB1cnBsZSkgMCk7XG59XG5cbi5nLXVpLWNhcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAyLjJlbTtcbiAgaGVpZ2h0OiAyLjJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZWZlZmYyO1xuXG4gIC5nLWljb24geyB3aWR0aDogMS4yZW07IGhlaWdodDogMS4yZW07IH1cblxuICBiIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtLjJlbTtcbiAgICByaWdodDogLS4yZW07XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxLjNlbTtcbiAgICBoZWlnaHQ6IDEuM2VtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1hY2NlbnQpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gIH1cbn1cblxuLmctdWktc2VhcmNoIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAuNWVtO1xuICBwYWRkaW5nOiAuNzVlbSAuOWVtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogI2VmZWZmMjtcbiAgY29sb3I6ICM4YThhOTU7XG5cbiAgLmctaWNvbiB7IHdpZHRoOiAxLjFlbTsgaGVpZ2h0OiAxLjFlbTsgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxLjVweCB2YXIoLS11aS1hY2NlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jLWluayk7XG4gIH1cbn1cblxuLmctdWktcHJvbW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogLjJlbTtcbiAgcGFkZGluZzogMS4yZW0gMWVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODUlIDIwJSwgcmdiYSgyMzksIDI1MCwgOTMsIC41NSksIHRyYW5zcGFyZW50IDQwJSksIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWMtcHVycGxlKSwgdmFyKC0tYy1wdXJwbGUtNzAwKSk7XG4gIGNvbG9yOiAjZmZmO1xuXG4gIGIgeyBmb250LXNpemU6IDEuMmVtOyB9XG4gIHNtYWxsIHsgb3BhY2l0eTogLjg7IH1cbn1cblxuLmctdWktYmFkZ2Uge1xuICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICBwYWRkaW5nOiAuMmVtIC42ZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWxpbWUpO1xuICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICBmb250LXNpemU6IC44NWVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uZy11aS1jaGlwcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogLjRlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBzcGFuIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwYWRkaW5nOiAuNDVlbSAuOGVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICNlZmVmZjI7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAmLmlzLW9uIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtaW5rKTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG4uZy11aS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IC43ZW07XG59XG5cbi5nLXVpLWNhcmQge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IC4zNWVtO1xuXG4gIGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgaGVpZ2h0OiAuNTVlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZTNlM2U4O1xuICB9XG5cbiAgYiB7IGZvbnQtc2l6ZTogLjk1ZW07IH1cbn1cblxuLmctdWktdGh1bWIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGJvcmRlci1yYWRpdXM6IC44ZW07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNTBkZWcsICNmMWVjZmYsICNkOWNjZmYpO1xuXG4gICYtLTEgeyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCAjZmJmZGUwLCAjZWFmMjhjKTsgfVxuICAmLS0yIHsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE1MGRlZywgI2ZmZTllMiwgI2ZmYzNhZSk7IH1cbiAgJi0tMyB7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNTBkZWcsICNlM2Y0ZmYsICNiNmRjZjcpOyB9XG5cbiAgZW0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC40NWVtO1xuICAgIGxlZnQ6IC40NWVtO1xuICAgIHBhZGRpbmc6IC4xNWVtIC41ZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBmb250LXNpemU6IC43NWVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG5cbi5nLXVpLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogLjdlbTtcbiAgcGFkZGluZzogLjU1ZW07XG4gIGJvcmRlci1yYWRpdXM6IC45ZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDE2LCAxNiwgMjAsIC4wNik7XG5cbiAgLmctdWktdGh1bWIge1xuICAgIHdpZHRoOiAzLjJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZmxleDogMTtcblxuICAgIHNtYWxsIHsgY29sb3I6IHZhcigtLWMtbXV0ZWQpOyB9XG4gIH1cbn1cblxuLmctdWktcXR5IHtcbiAgcGFkZGluZzogLjNlbSAuNmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogI2VmZWZmMjtcbiAgZm9udC1zaXplOiAuODVlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmctdWktbGFiZWwge1xuICBmb250LXNpemU6IDEuMTVlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmctdWktdG90YWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAuOGVtO1xuICBib3JkZXItdG9wOiAxcHggZGFzaGVkICNkOGQ4ZGU7XG5cbiAgYiB7IGZvbnQtc2l6ZTogMS4xNWVtOyB9XG59XG5cbi5nLXVpLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IC40ZW07XG4gIHBhZGRpbmc6IC45ZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS11aS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAuZy1pY29uIHsgd2lkdGg6IDEuMmVtOyBoZWlnaHQ6IDEuMmVtOyB9XG5cbiAgJi0td2EgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdhKTsgY29sb3I6ICMwYjNkMjA7IH1cbn1cblxuLmctdWktaGVyby1pbWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFzcGVjdC1yYXRpbzogMSAvIC45O1xuICBib3JkZXItcmFkaXVzOiAxZW07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNTBkZWcsICNmMWVjZmYsICNjYmI4ZmYpO1xufVxuXG4uZy11aS1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC43ZW07XG4gIGxlZnQ6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAuM2VtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgaSB7XG4gICAgd2lkdGg6IC41ZW07XG4gICAgaGVpZ2h0OiAuNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC42KTtcblxuICAgICYuaXMtb24geyB3aWR0aDogMS4zZW07IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIH1cbn1cblxuLmctdWktcHJvZHVjdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogLjM1ZW07XG5cbiAgPiBiIHsgZm9udC1zaXplOiAxLjI1ZW07IH1cbiAgc21hbGwgeyBtYXJnaW4tdG9wOiAuM2VtOyBjb2xvcjogdmFyKC0tYy1tdXRlZCk7IH1cbn1cblxuLmctdWktcHJpY2Uge1xuICBjb2xvcjogdmFyKC0tdWktYWNjZW50KTtcbiAgZm9udC1zaXplOiAxLjE1ZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5nLXVpLXNpemVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAuNGVtO1xuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMi40ZW07XG4gICAgaGVpZ2h0OiAyLjRlbTtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkICNkY2RjZTI7XG4gICAgYm9yZGVyLXJhZGl1czogLjZlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgJi5pcy1vbiB7IGJvcmRlci1jb2xvcjogdmFyKC0tYy1pbmspOyBiYWNrZ3JvdW5kOiB2YXIoLS1jLWluayk7IGNvbG9yOiAjZmZmOyB9XG4gICAgJi5pcy1vZmYgeyBjb2xvcjogI2I1YjViZDsgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgfVxufVxuXG4uZy11aS1jb2xvcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IC41ZW07XG5cbiAgaSB7XG4gICAgd2lkdGg6IDEuN2VtO1xuICAgIGhlaWdodDogMS43ZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgJi5jMSB7IGJhY2tncm91bmQ6ICMxZDFkMjI7IH1cbiAgICAmLmMyIHsgYmFja2dyb3VuZDogI2YxZWZlOTsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICNkOGQ4ZGU7IH1cbiAgICAmLmMzIHsgYmFja2dyb3VuZDogIzRhNzJkOTsgfVxuICAgICYuaXMtb24geyBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZiwgMCAwIDAgMy41cHggdmFyKC0tdWktYWNjZW50KTsgfVxuICB9XG59XG5cbi5nLXVpLXN0b2NrIHtcbiAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgbWFyZ2luLXRvcDogLjJlbTtcbiAgcGFkZGluZzogLjNlbSAuN2VtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogI2ZmZjRlNTtcbiAgY29sb3I6ICNhODViMDA7XG4gIGZvbnQtc2l6ZTogLjllbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmctdWktb3B0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAuN2VtO1xuICBwYWRkaW5nOiAuOGVtO1xuICBib3JkZXI6IDEuNXB4IHNvbGlkICNlM2UzZTg7XG4gIGJvcmRlci1yYWRpdXM6IC45ZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgaSB7XG4gICAgd2lkdGg6IDEuMmVtO1xuICAgIGhlaWdodDogMS4yZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCAjYzljOWQxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG5cbiAgICBzbWFsbCB7IGNvbG9yOiB2YXIoLS1jLW11dGVkKTsgfVxuICB9XG5cbiAgJi5pcy1vbiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS11aS1hY2NlbnQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtcHVycGxlLTUwKTtcblxuICAgIGkgeyBib3JkZXI6IC4zNWVtIHNvbGlkIHZhcigtLXVpLWFjY2VudCk7IH1cbiAgfVxufVxuXG4uZy1waG9uZS0tc2hvdCAuZy1waG9uZV9fc2NyZWVuIHtcbiAgcGFkZGluZzogMi45ZW0gMCAwO1xuICBiYWNrZ3JvdW5kOiAjMDkzNTI5O1xuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBnLXN0YXR1cy1pY29ucygnJTIzZmZmZmZmJyk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLmctcGhvbmVfX3Nob3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbn1cblxuLmctcGhvbmUtLXdoYXRzYXBwIC5nLXBob25lX19zY3JlZW4ge1xuICBwYWRkaW5nOiAwO1xuICBnYXA6IDA7XG4gIGJhY2tncm91bmQ6ICNlZmU3ZGQ7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IGctc3RhdHVzLWljb25zKCclMjNmZmZmZmYnKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4uZy11aS13YS10b3Age1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IC42ZW07XG4gIHBhZGRpbmc6IDMuM2VtIC45ZW0gLjhlbTtcbiAgYmFja2dyb3VuZDogIzBiNWM0YjtcbiAgY29sb3I6ICNmZmY7XG5cbiAgc3BhbjpsYXN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuXG4gICAgc21hbGwgeyBvcGFjaXR5OiAuNzU7IH1cbiAgfVxufVxuXG4uZy11aS13YS1jaGF0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAuN2VtO1xuICBwYWRkaW5nOiAxZW0gLjhlbTtcbn1cblxuLmctdWktYnViYmxlIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAuM2VtO1xuICBtYXgtd2lkdGg6IDkwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmc6IC44ZW0gLjllbTtcbiAgYm9yZGVyLXJhZGl1czogMWVtIDFlbSAuMmVtIDFlbTtcbiAgYmFja2dyb3VuZDogI2Q4ZmRkMjtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA4KTtcblxuICBzbWFsbCB7IGNvbG9yOiAjNGI1YTRhOyB9XG5cbiAgJi0taW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDFlbSAxZW0gMWVtIC4yZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIERlY29yYXRpdmUgUVIgKHRlbXBsYXRlLXBhcnRzL21vY2t1cHMvc2NyZWVuLnBocClcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5nLXFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBwYWRkaW5nOiAxMiU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItbGcpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaC1tZCk7XG5cbiAgc3ZnIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfVxuXG4gICZfX2xvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDIyJTtcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMjQlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICNmZmY7XG5cbiAgICAuZy1sb2dvX19tYXJrIHsgd2lkdGg6IDcwJTsgaGVpZ2h0OiA3MCU7IH1cbiAgfVxuXG4gICYtLXJvdW5kZWQgeyBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNzAwKTsgfVxuICAmLS1kb3RzIHsgYmFja2dyb3VuZDogdmFyKC0tYy1saW1lKTsgfVxuICAmLS1kb3RzIC5nLXFyX19sb2dvIHsgYm94LXNoYWRvdzogMCAwIDAgNHB4IHZhcigtLWMtbGltZSk7IH1cbn1cbiIsIi5nLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwO1xuICBwYWRkaW5nOiAuODVyZW0gdmFyKC0tZ3V0dGVyKSAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAuYWRtaW4tYmFyICYge1xuICAgIHRvcDogMzJweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3ODJweCkge1xuICAgICAgdG9wOiA0NnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2JhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgcGFkZGluZzogLjVyZW0gLjVyZW0gLjVyZW0gMS4yNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wOCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1tZCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNCwgMjMsIDI4LCAuOTIpO1xuICAgIGJveC1zaGFkb3c6IDAgMThweCA0MHB4IC0xOHB4IHJnYmEoMTYsIDE2LCAyMCwgLjU1KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCkgc2F0dXJhdGUoMTQwJSk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS1nLXRyYW5zKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1nLXRyYW5zKTtcbiAgfVxuXG4gICYuaXMtc2Nyb2xsZWQgJl9fYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0LCAyMywgMjgsIC45Nyk7XG4gIH1cblxuICAuZy1sb2dvIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gICZfX25hdiB7XG4gICAgZmxleDogMTtcblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogLjI1cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IC41cmVtIC44cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci14cyk7XG4gICAgICBjb2xvcjogdmFyKC0tYy1kYXJrLW11dGVkKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1nLXRyYW5zKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1nLXRyYW5zKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICZbYXJpYS1jdXJyZW50XSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA2KTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1mb290ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZy1oZWFkZXJfX3N1YiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoMTAwJSArIC43NXJlbSk7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdhcDogLjE1cmVtO1xuICAgICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICAgIHBhZGRpbmc6IC41cmVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1tZCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0LCAyMywgMjgsIC45OCk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1sZyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNnB4KTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZy10cmFucyksIHRyYW5zZm9ybSB2YXIoLS1nLXRyYW5zKSB2YXIoLS1lYXNlKSwgdmlzaWJpbGl0eSB2YXIoLS1nLXRyYW5zKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IC44NXJlbTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IC42NXJlbSAuODVyZW07XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19wYXJlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGEge1xuICAgICAgcGFkZGluZy1yaWdodDogLjNyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fc3ViLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC4zcmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXIteHMpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jLWRhcmstbXV0ZWQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1nLXRyYW5zKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1nLXRyYW5zKTtcblxuICAgIC5nLWljb24ge1xuICAgICAgd2lkdGg6IC45NXJlbTtcbiAgICAgIGhlaWdodDogLjk1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWctdHJhbnMpIHZhcigtLWVhc2UpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDYpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbS5pcy1vcGVuID4gJl9fcGFyZW50ICZfX3N1Yi10b2dnbGUgLmctaWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMTgwcHgpIHtcbiAgICAmX19pdGVtLmhhcy1jaGlsZHJlbjpob3ZlciA+ICZfX3N1YixcbiAgICAmX19pdGVtLmhhcy1jaGlsZHJlbjpmb2N1cy13aXRoaW4gPiAmX19zdWIsXG4gICAgJl9faXRlbS5pcy1vcGVuID4gJl9fc3ViIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgfVxuXG4gICAgJl9faXRlbS5oYXMtY2hpbGRyZW46aG92ZXIgPiAmX19wYXJlbnQgJl9fc3ViLXRvZ2dsZSAuZy1pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgJl9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAmX19sb2dpbiB7XG4gICAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWMtbGltZSk7XG4gICAgfVxuICB9XG5cbiAgJl9fdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItc20pO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA4KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAuaXMtY2xvc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIC5pcy1vcGVuIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmlzLWNsb3NlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogMTE3OXB4KSB7XG4gICAgJl9fYmFyIHtcbiAgICAgIGdhcDogLjc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIH1cblxuICAgICZfX2xvZ2luIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgfVxuXG4gICAgJl9fc3ViLXRvZ2dsZSB7XG4gICAgICB3aWR0aDogNDRweDtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA2KTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICZfX25hdiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoMTAwJSArIC41cmVtKTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBnYXA6IDFyZW07XG4gICAgICBwYWRkaW5nOiAuNzVyZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wOCk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLW1kKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtZGFyayk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1sZyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1nLXRyYW5zKSwgdHJhbnNmb3JtIHZhcigtLWctdHJhbnMpIHZhcigtLWVhc2UpLCB2aXNpYmlsaXR5IHZhcigtLWctdHJhbnMpO1xuXG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IC44NXJlbSAxcmVtO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAuZy1oZWFkZXJfX3BhcmVudCBhIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgLmctaGVhZGVyX19zdWIge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1hcmdpbjogLjFyZW0gMCAuNHJlbSAxcmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAuNXJlbTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWMtZGFyay1saW5lKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6IC42cmVtIC44NXJlbTtcbiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNzUpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pcy1vcGVuID4gLmctaGVhZGVyX19zdWIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgfVxuXG4gICAgICAmLWZvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogLjVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAuNzVyZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jLWRhcmstbGluZSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtb3BlbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19uYXYtY3RhIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gICAgJl9fYWN0aW9ucyA+IC5nLWJ0biB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX25hdi1jdGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgLmctbG9nb19fd29yZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uanMgLmctaGVhZGVyX19uYXY6bm90KC5pcy1vcGVuKSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTc5cHgpIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuIiwiLmctZm9vdGVyIHtcbiAgcGFkZGluZzogMCB2YXIoLS1ndXR0ZXIpIHZhcigtLWd1dHRlcik7XG4gIGNvbG9yOiB2YXIoLS1jLWRhcmstbXV0ZWQpO1xuICBmb250LXNpemU6IHZhcigtLWZzLXNtKTtcblxuICAmX19jYXJkLFxuICAmX19ib3R0b20ge1xuICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250YWluZXIpICsgMnJlbSk7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWxnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWRhcmspO1xuICB9XG5cbiAgJl9fY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IGNsYW1wKDJyZW0sIDEuMnJlbSArIDN2dywgMy41cmVtKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC00MCU7XG4gICAgICByaWdodDogLTEwJTtcbiAgICAgIHdpZHRoOiA1MjBweDtcbiAgICAgIGhlaWdodDogNTIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDE0MywgOTMsIDI1MCwgLjIyKSwgdHJhbnNwYXJlbnQgNjUlKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMi4yZnIpO1xuICAgIGdhcDogY2xhbXAoMnJlbSwgMXJlbSArIDR2dywgNXJlbSk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgfVxuXG4gICZfX2JyYW5kIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGdhcDogMS4yNXJlbTtcbiAgfVxuXG4gICZfX3RhZ2xpbmUge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIH1cblxuICAmX19jb250YWN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogLjZyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpLCBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAuNTVyZW07XG4gICAgfVxuXG4gICAgYTpob3ZlciB7IGNvbG9yOiAjZmZmOyB9XG5cbiAgICAuZy1pY29uIHtcbiAgICAgIHdpZHRoOiAxLjA1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjA1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWMtbGltZSk7XG4gICAgfVxuICB9XG5cbiAgJl9fY29sdW1ucyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiAycmVtIDEuNXJlbTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBnYXA6IC42NXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1nLXRyYW5zKTtcblxuICAgICY6aG92ZXIgeyBjb2xvcjogI2ZmZjsgfVxuICB9XG5cbiAgJl9fc29jaWFsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogLjZyZW07XG4gICAgbWFyZ2luOiAyLjVyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDJyZW0gMCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jLWRhcmstbGluZSk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIC0tYnJhbmQ6IHZhcigtLWMtbGltZSk7XG4gICAgLS1icmFuZC1pbms6IHZhcigtLWMtaW5rKTtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogNDRweDtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEyKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA1KTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWctdHJhbnMpIHZhcigtLWVhc2UpLCBiYWNrZ3JvdW5kIHZhcigtLWctdHJhbnMpLCBib3JkZXItY29sb3IgdmFyKC0tZy10cmFucyksIGNvbG9yIHZhcigtLWctdHJhbnMpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYnJhbmQtaW5rKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nLWljb24geyB3aWR0aDogMS4yNXJlbTsgaGVpZ2h0OiAxLjI1cmVtOyB9XG4gIH1cblxuICAmX19zb2NpYWwtbGluayB7XG4gICAgJi0td2hhdHNhcHAgeyAtLWJyYW5kOiAjMjVkMzY2OyAtLWJyYW5kLWluazogI2ZmZjsgfVxuICAgICYtLWluc3RhZ3JhbSB7IC0tYnJhbmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzAlIDEwNyUsICNmZGY0OTcgMCUsICNmZDU5NDkgNDUlLCAjZDYyNDlmIDYwJSwgIzI4NWFlYiA5MCUpOyAtLWJyYW5kLWluazogI2ZmZjsgfVxuICAgICYtLWZhY2Vib29rIHsgLS1icmFuZDogIzA4NjZmZjsgLS1icmFuZC1pbms6ICNmZmY7IH1cbiAgICAmLS15b3V0dWJlIHsgLS1icmFuZDogI2ZmMDAwMDsgLS1icmFuZC1pbms6ICNmZmY7IH1cbiAgICAmLS10ZWxlZ3JhbSB7IC0tYnJhbmQ6ICMyNmE1ZTQ7IC0tYnJhbmQtaW5rOiAjZmZmOyB9XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLjRyZW07XG4gICAgcGFkZGluZzogMS4xcmVtIGNsYW1wKDEuMjVyZW0sIDFyZW0gKyAxLjV2dywgMnJlbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5nLXdhLWZsb2F0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMS4yNXJlbTtcbiAgYm90dG9tOiAxLjI1cmVtO1xuICB6LWluZGV4OiA5MDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDU4cHg7XG4gIGhlaWdodDogNThweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdhKTtcbiAgYm94LXNoYWRvdzogMCAxNHB4IDMwcHggLThweCByZ2JhKDM3LCAyMTEsIDEwMiwgLjY1KTtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1nLXRyYW5zKSB2YXIoLS1lYXNlKTtcblxuICAuZy1pY29uIHsgd2lkdGg6IDEuNzVyZW07IGhlaWdodDogMS43NXJlbTsgfVxuXG4gICY6aG92ZXIgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpOyB9XG59XG4iLCIvKiBCbG9ja3MgKEFDRi9mbGV4aWJsZS1jb250ZW50L2NwLSoucGhwKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW1wb3J0IFwiYmxvY2tzL2Jsb2Nrc1wiO1xuIiwiLmNwLWhlcm8ge1xuICAmX19pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMS4yNXJlbTtcbiAgICBtYXgtd2lkdGg6IDg2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLWhlcm8pO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAzNWVtO1xuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgY29sb3I6IHZhcigtLWMtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtbGVhZCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIH1cblxuICAuZy1jdGFzIHtcbiAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgfVxuXG4gIC8qIOKAlOKAlOKAlCBPcmJpdCBzdGFnZSAqL1xuICAmX19zdGFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwODBweDtcbiAgICBtaW4taGVpZ2h0OiA0NjBweDtcbiAgICBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCAxcmVtICsgM3Z3LCAzLjVyZW0pO1xuICAgIHBhZGRpbmctYmxvY2s6IDFyZW07XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiA4JSAxOCU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQocmdiYSgxNDMsIDkzLCAyNTAsIC4yMikgMXB4LCB0cmFuc3BhcmVudCAxLjJweCk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbiAgICAgIG1hc2staW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgIzAwMCAyMCUsIHRyYW5zcGFyZW50IDcwJSk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19saW5lcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICZfX2xpbmUge1xuICAgIGZpbGw6IG5vbmU7XG4gICAgc3Ryb2tlOiB1cmwoI2NwLWhlcm8tbGluZSk7XG4gICAgc3Ryb2tlLXdpZHRoOiAxLjU7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogNiA4O1xuICAgIGFuaW1hdGlvbjogY3AtaGVyby1mbG93IDIuNHMgbGluZWFyIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1pKSAqIC0uNHMpO1xuICB9XG5cbiAgJl9fbm9kZXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJl9fbm9kZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogdmFyKC0teSk7XG4gICAgbGVmdDogdmFyKC0teCk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiA1NHB4O1xuICAgIGhlaWdodDogNTRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA2cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAuNTUpLCAwIDAgMCA3cHggcmdiYSgxNDMsIDkzLCAyNTAsIC4zNSksIHZhcigtLXNoLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNjAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBhbmltYXRpb246IGNwLWhlcm8tZmxvYXQgNnMgdmFyKC0tZWFzZSkgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWkpICogLTFzKTtcblxuICAgIC5nLWljb24geyB3aWR0aDogMS40cmVtOyBoZWlnaHQ6IDEuNHJlbTsgfVxuICB9XG5cbiAgJl9fZGV2aWNlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDFyZW07XG4gIH1cblxuICAmX19nbG93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiA0NDBweDtcbiAgICBoZWlnaHQ6IDQ0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDE0MywgOTMsIDI1MCwgLjQ1KSwgcmdiYSgxNDMsIDkzLCAyNTAsIC4xMikgNDUlLCB0cmFuc3BhcmVudCA3MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01NSUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJl9fbW9ja3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgfVxuXG4gICZfX21lZGlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IG1pbigzNDBweCwgODB2dyk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItbGcpO1xuICB9XG5cbiAgJl9fYnViYmxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC00NiU7XG4gICAgYm90dG9tOiAxNCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjY1cmVtO1xuICAgIHBhZGRpbmc6IC43cmVtIC45cmVtIC43cmVtIC43cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItbWQpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2gtbGcpO1xuICAgIGNvbG9yOiB2YXIoLS1jLWluayk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGFuaW1hdGlvbjogY3AtaGVyby1mbG9hdCA1cyB2YXIoLS1lYXNlKSBpbmZpbml0ZTtcblxuICAgIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG5cbiAgICAgIHNtYWxsIHsgY29sb3I6IHZhcigtLWMtbXV0ZWQpOyB9XG4gICAgfVxuICB9XG5cbiAgJl9fYnViYmxlLWljb24ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMi4ycmVtO1xuICAgIGhlaWdodDogMi4ycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdhKTtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgIC5nLWljb24geyB3aWR0aDogMS4ycmVtOyBoZWlnaHQ6IDEuMnJlbTsgfVxuICB9XG5cbiAgJl9fYnViYmxlLWNoZWNrIHtcbiAgICBjb2xvcjogdmFyKC0tYy13YSk7XG4gICAgc3Ryb2tlLXdpZHRoOiAyLjY7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC40NXJlbTtcbiAgICBwYWRkaW5nOiAuNXJlbSAuOXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXBpbGwpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtZGFyayk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2gtbWQpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAuZy1pY29uIHtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgY29sb3I6IHZhcigtLWMtbGltZSk7XG4gICAgfVxuICB9XG5cbiAgLyog4oCU4oCU4oCUIFRydXN0IGJ1bGxldHMgKi9cbiAgJl9fdHJ1c3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogMS41cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogODgwcHg7XG4gICAgbWFyZ2luOiBjbGFtcCgycmVtLCAxcmVtICsgM3Z3LCAzcmVtKSAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogLjc1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWMtaW5rKTtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mLWRpc3BsYXkpO1xuICAgICAgZm9udC1zaXplOiAxLjA1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuZy1pY29uLXRpbGUge1xuICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoLW1kKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS02MDApO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICZfX3N0YWdlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWJsb2NrOiAycmVtIDA7XG4gICAgfVxuXG4gICAgJl9fbGluZXMsXG4gICAgJl9fbm9kZXMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19idWJibGUge1xuICAgICAgcmlnaHQ6IC0xOCU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gICAgJl9fdHJ1c3Qge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IC45cmVtO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tb2NrdXAge1xuICAgICAgd2lkdGg6IDIyMHB4O1xuICAgIH1cblxuICAgICZfX2J1YmJsZSB7XG4gICAgICByaWdodDogLTEyJTtcbiAgICAgIGJvdHRvbTogOCU7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgY3AtaGVyby1mbG93IHtcbiAgdG8geyBzdHJva2UtZGFzaG9mZnNldDogLTI4OyB9XG59XG5cbkBrZXlmcmFtZXMgY3AtaGVyby1mbG9hdCB7XG4gIDAlLCAxMDAlIHsgdHJhbnNsYXRlOiAwIDA7IH1cbiAgNTAlIHsgdHJhbnNsYXRlOiAwIC02cHg7IH1cbn1cbiIsIi5jcC1wYWdlLWhlcm8ge1xuICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMi41cmVtLCAxLjVyZW0gKyAzdncsIDRyZW0pO1xuXG4gICZfX2dyaWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogLTJyZW0gMCAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgICBsaW5lYXItZ3JhZGllbnQocmdiYSgxNiwgMTYsIDIwLCAuMDUpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgxNiwgMTYsIDIwLCAuMDUpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDU2cHggNTZweDtcbiAgICBtYXNrLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSA2MCUgNzAlIGF0IDUwJSAzMCUsICMwMDAgMzAlLCB0cmFuc3BhcmVudCA3NSUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDU2MHB4O1xuICAgICAgaGVpZ2h0OiAzNjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMTQzLCA5MywgMjUwLCAuMjgpLCB0cmFuc3BhcmVudCA2NSUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMS4xNXJlbTtcbiAgICBtYXgtd2lkdGg6IDg0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLWgxKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMzVlbTtcbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgIGNvbG9yOiB2YXIoLS1jLW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLWxlYWQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICB9XG5cbiAgLmctY3RhcyB7XG4gICAgbWFyZ2luLXRvcDogLjVyZW07XG4gIH1cblxuICAmX19tZWRpYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgbWFyZ2luOiBjbGFtcCgycmVtLCAxcmVtICsgM3Z3LCAzLjVyZW0pIDAgMDtcbiAgICBwYWRkaW5nOiAuNnJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLWxpbmUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXIteGwpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjU1KTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1sZyk7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tci14bCkgLSAuNnJlbSk7XG4gICAgfVxuICB9XG59XG4iLCIuY3AtcHJvYmxlbS1zb2x1dGlvbiB7XG4gICZfX2NhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXIteGwpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtZGFyayk7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTMwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiA3NjBweDtcbiAgICAgIGhlaWdodDogNTIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDE0MywgOTMsIDI1MCwgLjIpLCB0cmFuc3BhcmVudCA2NSUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAyLjI1cmVtO1xuICAgIHBhZGRpbmc6IGNsYW1wKDIuNXJlbSwgMS41cmVtICsgNHZ3LCA1cmVtKSBjbGFtcCgxLjI1cmVtLCAxcmVtICsgM3Z3LCA0cmVtKSBjbGFtcCgycmVtLCAxcmVtICsgM3Z3LCAzLjVyZW0pO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtaDIpO1xuICB9XG5cbiAgJl9fcHJvYmxlbXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogMXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWl0ZW1zOiBzdGFydDtcbiAgICAgIGdhcDogLjlyZW07XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1kYXJrLWxpbmUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1tZCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wMyk7XG4gICAgICBjb2xvcjogdmFyKC0tYy1kYXJrLW11dGVkKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAyLjI1cmVtO1xuICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDkyLCA5MiwgLjE0KTtcbiAgICBjb2xvcjogI2ZmOGE4YTtcblxuICAgIC5nLWljb24geyB3aWR0aDogMS4xcmVtOyBoZWlnaHQ6IDEuMXJlbTsgfVxuICB9XG5cbiAgJl9fc29sdXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEuMjVyZW07XG4gICAgbWFyZ2luOiAwIC41cmVtIC41cmVtO1xuICAgIHBhZGRpbmc6IGNsYW1wKDIuNXJlbSwgMS41cmVtICsgNHZ3LCA0LjVyZW0pIGNsYW1wKDEuMjVyZW0sIDFyZW0gKyAzdncsIDRyZW0pO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE0KTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC40NSk7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yLXhsKSAtIC41cmVtKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMWYxZTI0LCB2YXIoLS1jLWRhcmspKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX19zdGF0ZW1lbnQge1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWYtZGlzcGxheSk7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjc1cmVtLCAxLjJyZW0gKyAyLjN2dywgM3JlbSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yMjtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMjVlbTtcbiAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgIGNvbG9yOiB2YXIoLS1jLWRhcmstbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtbGVhZCk7XG4gIH1cblxuICAvKiDigJTigJTigJQgTGlnaHQgdmFyaWFudCAoUGFpblBvaW50c1NlY3Rpb24pICovXG4gICYtLWxpZ2h0ICZfX2NhcmQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtbGluZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1jYXJkKTtcbiAgICBjb2xvcjogdmFyKC0tYy10ZXh0KTtcblxuICAgICY6OmJlZm9yZSB7IG9wYWNpdHk6IC42OyB9XG4gIH1cblxuICAmLS1saWdodCAmX190aXRsZSxcbiAgJi0tbGlnaHQgJl9fc3RhdGVtZW50IHtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICB9XG5cbiAgJi0tbGlnaHQgJl9fcHJvYmxlbXMgbGkge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1saW5lKTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQpO1xuICB9XG5cbiAgJi0tbGlnaHQgJl9faWNvbiB7XG4gICAgYmFja2dyb3VuZDogI2ZkZWNlYztcbiAgICBjb2xvcjogI2M5M2IzYjtcbiAgfVxuXG4gICYtLWxpZ2h0ICZfX3NvbHV0aW9uIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWMtbGluZSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tYy1wdXJwbGUtNTApLCAjZmZmKTtcbiAgfVxuXG4gICYtLWxpZ2h0ICZfX3RleHQge1xuICAgIGNvbG9yOiB2YXIoLS1jLW11dGVkKTtcbiAgfVxufVxuIiwiLmNwLWZlYXR1cmUtY2FyZHMge1xuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8qIEJlbnRvIHJoeXRobTogMyBjYXJkcyBwZXIgcm93LCB0aGVuIGEgMS8zICsgMi8zIHJvdyAobGlrZSB0aGUgcmVmZXJlbmNlKS4gKi9cbiAgJl9fY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgcGFkZGluZzogLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuNyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1sZyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1jYXJkKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1zbSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWctdHJhbnMpIHZhcigtLWVhc2UpLCBib3gtc2hhZG93IHZhcigtLWctdHJhbnMpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1tZCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNW4gKyA1KSB7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiA0O1xuICAgIH1cbiAgfVxuXG4gICZfX2dyaWRbZGF0YS1jb3VudD1cIjRcIl0gJl9fY2FyZCxcbiAgJl9fZ3JpZFtkYXRhLWNvdW50PVwiMlwiXSAmX19jYXJkIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICB9XG5cbiAgJl9fZ3JpZFtkYXRhLWNvdW50PVwiM1wiXSAmX19jYXJkLFxuICAmX19ncmlkW2RhdGEtY291bnQ9XCI2XCJdICZfX2NhcmQsXG4gICZfX2dyaWRbZGF0YS1jb3VudD1cIjlcIl0gJl9fY2FyZCB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxuXG4gICZfX3Zpc3VhbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDE2OHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yLWxnKSAtIC41cmVtKTtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA1MCUgMTIwJSwgcmdiYSgxNDMsIDkzLCAyNTAsIC40NSksIHRyYW5zcGFyZW50IDYwJSksXG4gICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZjFlY2ZmLCAjZTJkOWZmKTtcbiAgfVxuXG4gICZfX2NhcmQ6bnRoLWNoaWxkKDNuICsgMikgJl9fdmlzdWFsIHtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgcmFkaWFsLWdyYWRpZW50KHJnYmEoMTQzLCA5MywgMjUwLCAuMjUpIDFweCwgdHJhbnNwYXJlbnQgMS4ycHgpIDAgMCAvIDE0cHggMTRweCxcbiAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmNWYyZmYsICNlOGUxZmYpO1xuICB9XG5cbiAgJl9fY2FyZDpudGgtY2hpbGQoNW4gKyA1KSAmX192aXN1YWwge1xuICAgIGJhY2tncm91bmQ6XG4gICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDgwJSAwJSwgcmdiYSgyMzksIDI1MCwgOTMsIC41NSksIHRyYW5zcGFyZW50IDQwJSksXG4gICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZWNlNWZmLCAjZDZjOWZmKTtcbiAgfVxuXG4gICZfX3Jpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTI4cHg7XG4gICAgaGVpZ2h0OiAxMjhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDExOCwgNzAsIDIzOCwgLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICYtLTIge1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDExOCwgNzAsIDIzOCwgLjE1KTtcbiAgICB9XG4gIH1cblxuICAmX19vcmIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDM1JSAzMCUsICM0YjQ3NTcsIHZhcigtLWMtZGFyaykgNzAlKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA4cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAuNTUpLCAwIDE4cHggMzhweCAtMTBweCByZ2JhKDkzLCA0OCwgMjE0LCAuNyk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyB2YXIoLS1lYXNlKTtcblxuICAgIC5nLWljb24geyB3aWR0aDogMS42cmVtOyBoZWlnaHQ6IDEuNnJlbTsgfVxuICB9XG5cbiAgJl9fY2FyZDpob3ZlciAmX19vcmIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNikgcm90YXRlKC00ZGVnKTtcbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDEuMTVyZW0gMXJlbSAxcmVtO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtaDMpO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgY29sb3I6IHZhcigtLWMtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICB9XG5cbiAgLmctdGV4dC1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAuMzVyZW07XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAmX19ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG5cbiAgICAmX19jYXJkLFxuICAgICZfX2NhcmQ6bnRoLWNoaWxkKDVuICsgNSksXG4gICAgJl9fZ3JpZFtkYXRhLWNvdW50XSAmX19jYXJkIHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgJl9fZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cbiAgICAmX192aXN1YWwge1xuICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jcC1mZWF0dXJlLWRldGFpbCB7XG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDEuMDVmcik7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGNsYW1wKDJyZW0sIDFyZW0gKyA0dncsIDVyZW0pO1xuICB9XG5cbiAgJi0taW1hZ2UtbGVmdCAmX192aXN1YWwge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAganVzdGlmeS1pdGVtczogc3RhcnQ7XG4gICAgZ2FwOiAxcmVtO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS43NXJlbSwgMS4zcmVtICsgMS43dncsIDIuNnJlbSk7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1sZWFkKTtcbiAgfVxuXG4gIC5nLWNoZWNrbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogLjVyZW07XG4gIH1cblxuICAuZy10ZXh0LWxpbmsge1xuICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICB9XG5cbiAgJl9fdmlzdWFsIHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICA+IGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci14bCk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1tZCk7XG4gICAgfVxuICB9XG5cbiAgJl9fcGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgYXNwZWN0LXJhdGlvOiA1IC8gNDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXIteGwpO1xuICAgIGJhY2tncm91bmQ6XG4gICAgICByYWRpYWwtZ3JhZGllbnQocmdiYSgxNDMsIDkzLCAyNTAsIC4yMikgMXB4LCB0cmFuc3BhcmVudCAxLjJweCkgMCAwIC8gMTZweCAxNnB4LFxuICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA1MCUgNTAlLCByZ2JhKDE0MywgOTMsIDI1MCwgLjM1KSwgdHJhbnNwYXJlbnQgNTUlKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmM2VmZmYsICNlMGQ2ZmYpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoLXNtKTtcbiAgfVxuXG4gICZfX29yYiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiA5NnB4O1xuICAgIGhlaWdodDogOTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzNSUgMzAlLCAjNGI0NzU3LCB2YXIoLS1jLWRhcmspIDcwJSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KSwgMCAwIDAgMTNweCByZ2JhKDExOCwgNzAsIDIzOCwgLjIpLCAwIDI0cHggNTBweCAtMTJweCByZ2JhKDkzLCA0OCwgMjE0LCAuNyk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOCUpO1xuXG4gICAgLmctaWNvbiB7IHdpZHRoOiAyLjRyZW07IGhlaWdodDogMi40cmVtOyB9XG4gIH1cblxuICAmX19jaGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC40NXJlbTtcbiAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICBwYWRkaW5nOiAuNTVyZW0gLjg1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItcGlsbCk7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1tZCk7XG4gICAgY29sb3I6IHZhcigtLWMtaW5rKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLXhzKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAuZy1pY29uIHtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgY29sb3I6IHZhcigtLWMtcHVycGxlLTYwMCk7XG4gICAgICBzdHJva2Utd2lkdGg6IDIuNjtcbiAgICB9XG5cbiAgICAmLS0wIHsgdG9wOiA5JTsgbGVmdDogOCU7IH1cbiAgICAmLS0xIHsgYm90dG9tOiAyNSU7IHJpZ2h0OiA2JTsgfVxuICAgICYtLTIgeyBib3R0b206IDglOyBsZWZ0OiAxMCU7IH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICZfX2lubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cblxuICAgICYtLWltYWdlLWxlZnQgJl9fdmlzdWFsIHtcbiAgICAgIG9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICZfX2NoaXAge1xuICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICBmb250LXNpemU6IC43MnJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jcC1jb21wYXJpc29uLXRhYmxlIHtcbiAgJl9fd3JhcCB7XG4gICAgbWF4LXdpZHRoOiA5MjBweDtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItbGcpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtY2FyZCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2gtc20pO1xuICB9XG5cbiAgJl9fdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG5cbiAgICB0aCwgdGQge1xuICAgICAgcGFkZGluZzogMXJlbSAxLjE1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWMtbGluZSk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICB0aGVhZCB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgY29sb3I6IHZhcigtLWMtbXV0ZWQpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wNmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICB0Ym9keSB0cjpsYXN0LWNoaWxkID4gKiB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHRib2R5IHRoIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLWluayk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIHRkID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IC41cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICB0ZCA+IHNwYW4gKyBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNHJlbTtcbiAgICB9XG5cbiAgICAuaXMtaGlnaGxpZ2h0IHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtZGFyayk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICB0aGVhZCAuaXMtaGlnaGxpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLW1kKSB2YXIoLS1yLW1kKSAwIDA7XG4gICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgLmctbG9nb19fbWFyayB7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjRyZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRib2R5IHRyOmxhc3QtY2hpbGQgLmlzLWhpZ2hsaWdodCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tci1tZCkgdmFyKC0tci1tZCk7XG4gICAgfVxuXG4gICAgdGJvZHkgLmlzLWhpZ2hsaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jLWRhcmstbGluZSk7XG4gICAgfVxuICB9XG5cbiAgJl9feWVzLFxuICAmX19ubyB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQgIWltcG9ydGFudDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxLjZyZW07XG4gICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgLmctaWNvbiB7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgIHN0cm9rZS13aWR0aDogMi42O1xuICAgIH1cbiAgfVxuXG4gICZfX3llcyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1saW1lKTtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICB9XG5cbiAgJl9fbm8ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTYsIDE2LCAyMCwgLjA2KTtcbiAgICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAmX190YWJsZSB7XG4gICAgICB0aGVhZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIHBhZGRpbmc6IC41cmVtIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLWxpbmUpO1xuICAgICAgfVxuXG4gICAgICB0Ym9keSB0aCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC4yNXJlbTtcbiAgICAgIH1cblxuICAgICAgdGQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6IC4zNXJlbTtcbiAgICAgICAgbWFyZ2luOiAuMjVyZW07XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1zbSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTYsIDE2LCAyMCwgLjAzKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWMtbXV0ZWQpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjcycmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtaGlnaGxpZ2h0OjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWRhcmstbXV0ZWQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRib2R5IHRyOmxhc3QtY2hpbGQgLmlzLWhpZ2hsaWdodCxcbiAgICAgIC5pcy1oaWdobGlnaHQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXNtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jcC1ob3ctaXQtd29ya3Mge1xuICAmX19zdGVwcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNDBweCwgMWZyKSk7XG4gICAgZ2FwOiAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgY291bnRlci1yZXNldDogc3RlcDtcbiAgfVxuXG4gICZfX3N0ZXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGdhcDogLjZyZW07XG4gICAgcGFkZGluZzogLjVyZW0gLjVyZW0gMS41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItbGcpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtY2FyZCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2gtc20pO1xuICB9XG5cbiAgJl9fdmlzdWFsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTgwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLjc1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1yLWxnKSAtIC41cmVtKTtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA1MCUgMTAwJSwgcmdiYSgxNDMsIDkzLCAyNTAsIC40KSwgdHJhbnNwYXJlbnQgNjAlKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmM2VmZmYsICNlNGRiZmYpO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgJl9fb3JiIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDcycHg7XG4gICAgaGVpZ2h0OiA3MnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAuNDUpLCB2YXIoLS1zaC1tZCk7XG4gICAgY29sb3I6IHZhcigtLWMtcHVycGxlLTYwMCk7XG5cbiAgICAuZy1pY29uIHsgd2lkdGg6IDEuOHJlbTsgaGVpZ2h0OiAxLjhyZW07IH1cbiAgfVxuXG4gICZfX251bWJlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjg1cmVtO1xuICAgIGxlZnQ6IC44NXJlbTtcbiAgICBwYWRkaW5nOiAuMjVyZW0gLjZyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1waWxsKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1jLWxpbWUpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mLWRpc3BsYXkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtO1xuICB9XG5cbiAgJl9fdGl0bGUsXG4gICZfX3RleHQge1xuICAgIHBhZGRpbmctaW5saW5lOiAxcmVtO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtaDMpO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgY29sb3I6IHZhcigtLWMtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pO1xuICB9XG5cbiAgLmctY3RhcyB7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICB9XG59XG4iLCIuY3Atc3RlcC10aW1lbGluZSB7XG4gICZfX2xpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMS4yNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEuNXJlbTtcbiAgICAgIGJvdHRvbTogMS41cmVtO1xuICAgICAgbGVmdDogMS41cmVtO1xuICAgICAgd2lkdGg6IDJweDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWMtcHVycGxlKSwgcmdiYSgxNDMsIDkzLCAyNTAsIC4xKSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJl9fc3RlcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzcmVtIG1pbm1heCgwLCAxZnIpO1xuICAgIGdhcDogY2xhbXAoMXJlbSwgLjVyZW0gKyAydncsIDJyZW0pO1xuICB9XG5cbiAgJl9fbWFya2VyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWRhcmspO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDZweCB2YXIoLS1jLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tYy1saW1lKTtcblxuICAgIC5nLWljb24geyB3aWR0aDogMS4zcmVtOyBoZWlnaHQ6IDEuM3JlbTsgfVxuICB9XG5cbiAgJl9fY2FyZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IC43NXJlbTtcbiAgICBwYWRkaW5nOiBjbGFtcCgxLjI1cmVtLCAxcmVtICsgMXZ3LCAycmVtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWxnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWNhcmQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoLXNtKTtcbiAgfVxuXG4gICZfX251bWJlciB7XG4gICAgY29sb3I6IHZhcigtLWMtcHVycGxlLTYwMCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuMzVyZW0sIDEuMnJlbSArIC42dncsIDEuNzVyZW0pO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgY29sb3I6IHZhcigtLWMtbXV0ZWQpO1xuICB9XG5cbiAgLmctY2hlY2tsaXN0IHtcbiAgICBtYXJnaW4tdG9wOiAuMjVyZW07XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgbWFyZ2luOiAuNXJlbSAwIDA7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItbWQpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IC42cmVtO1xuICAgIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgICBwYWRkaW5nOiAuODVyZW0gMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgMjUwLCA5MywgLjQ1KTtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pO1xuXG4gICAgLmctaWNvbiB7XG4gICAgICB3aWR0aDogMS4xcmVtO1xuICAgICAgaGVpZ2h0OiAxLjFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAuMTVyZW07XG4gICAgfVxuICB9XG59XG4iLCIuY3AtY3VzdG9tZXItam91cm5leSB7XG4gICZfX3RyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1zdGVwcyksIG1pbm1heCgwLCAxZnIpKTtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzMnB4O1xuICAgICAgcmlnaHQ6IGNhbGMoNTAlIC8gdmFyKC0tc3RlcHMpKTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC8gdmFyKC0tc3RlcHMpKTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tYy1wdXJwbGUpIDAgOHB4LCB0cmFuc3BhcmVudCA4cHggMTZweCk7XG4gICAgICBvcGFjaXR5OiAuNTU7XG4gICAgfVxuICB9XG5cbiAgJl9fc3RlcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjlyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9fbm9kZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA2cHggdmFyKC0tYy1iZyksIDAgMCAwIDdweCByZ2JhKDE0MywgOTMsIDI1MCwgLjMpLCB2YXIoLS1zaC1tZCk7XG4gICAgY29sb3I6IHZhcigtLWMtcHVycGxlLTYwMCk7XG5cbiAgICAuZy1pY29uIHsgd2lkdGg6IDEuNXJlbTsgaGVpZ2h0OiAxLjVyZW07IH1cbiAgfVxuXG4gICZfX3N0ZXA6bGFzdC1jaGlsZCAmX19ub2RlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXdhKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gICZfX2luZGV4IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNHB4O1xuICAgIGxlZnQ6IGNhbGMoNTAlICsgMThweCk7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1jLWxpbWUpO1xuICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIG1heC13aWR0aDogMTcwcHg7XG4gICAgY29sb3I6IHZhcigtLWMtaW5rKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAmX190cmFjayB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDMycHg7XG4gICAgICAgIGJvdHRvbTogMzJweDtcbiAgICAgICAgbGVmdDogMzJweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWMtcHVycGxlKSAwIDhweCwgdHJhbnNwYXJlbnQgOHB4IDE2cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3N0ZXAge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA2NHB4IDFmcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWl0ZW1zOiBzdGFydDtcbiAgICAgIGdhcDogMS4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgJl9faW5kZXgge1xuICAgICAgbGVmdDogNDZweDtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jcC1zaG93Y2FzZSB7XG4gICZfX3ZpZXdwb3J0IHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHBhZGRpbmc6IDFyZW0gMCAycmVtO1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICAgIHNjcm9sbC1wYWRkaW5nLWlubGluZTogdmFyKC0tZ3V0dGVyKTtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiBjbGFtcCgxcmVtLCAuNXJlbSArIDEuNXZ3LCAxLjc1cmVtKTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCB2YXIoLS1ndXR0ZXIpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG4gIH1cblxuICAmX19maWd1cmUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMS4xcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX2ZyYW1lIHtcbiAgICB3aWR0aDogY2xhbXAoMjAwcHgsIDE1dncgKyAxMjBweCwgMjM2cHgpO1xuICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIHZhcigtLWVhc2UpO1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWxnKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoLWxnKTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtOm50aC1jaGlsZChldmVuKSAmX19mcmFtZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEuNXJlbSk7XG4gIH1cblxuICAmX19pdGVtOmhvdmVyICZfX2ZyYW1lIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLS41cmVtKTtcbiAgfVxuXG4gICZfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pICZfX2NhcHRpb24ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxLjVyZW0pO1xuICB9XG5cbiAgJl9fY2FwdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IC41NXJlbTtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIGNvbG9yOiB2YXIoLS1jLWluayk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG5cbiAgJl9faW5kZXgge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1jLWxpbWUpO1xuICAgIGZvbnQtc2l6ZTogLjcycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICAvKiDigJTigJTigJQgVGlsZXMgdmFyaWFudCAoUVIgc3R5bGVzKSAqL1xuICAmLS10aWxlcyAmX192aWV3cG9ydCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICYtLXRpbGVzICZfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRhaW5lcikgKyB2YXIoLS1ndXR0ZXIpICogMik7XG4gIH1cblxuICAmLS10aWxlcyAmX19pdGVtOm50aC1jaGlsZChldmVuKSAmX19mcmFtZSxcbiAgJi0tdGlsZXMgJl9faXRlbTpudGgtY2hpbGQoZXZlbikgJl9fY2FwdGlvbiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgJi0tdGlsZXMgJl9fZmlndXJlIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1sZyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1jYXJkKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1zbSk7XG4gIH1cblxuICAmLS10aWxlcyAmX19mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgfVxuXG4gICYtLXRpbGVzICZfX2NhcHRpb24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWYtZGlzcGxheSk7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxufVxuIiwiLmNwLWF1ZGllbmNlIHtcbiAgJl9fZ3JpZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogMXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwNDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIGhlaWdodDogNjAlO1xuICAgICAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMTQzLCA5MywgMjUwLCAuMyk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTYwcHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1sZyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1jYXJkKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1zbSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWctdHJhbnMpIHZhcigtLWVhc2UpLCBib3gtc2hhZG93IHZhcigtLWctdHJhbnMpO1xuICB9XG5cbiAgYS5jcC1hdWRpZW5jZV9faXRlbTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2gtbWQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgfVxuXG4gICZfX3RpbGUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMy4yNXJlbTtcbiAgICBoZWlnaHQ6IDMuMjVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1zbSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2MGRlZywgIzNhMzg0MiwgdmFyKC0tYy1kYXJrKSk7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDIycHggLTEwcHggcmdiYSgxNiwgMTYsIDIwLCAuNyksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTIpO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgLmctaWNvbiB7IHdpZHRoOiAxLjQ1cmVtOyBoZWlnaHQ6IDEuNDVyZW07IH1cbiAgfVxuXG4gICZfX2l0ZW0uaXMtbGlnaHQgJl9fdGlsZSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYy1kYXJrKTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMnB4IC0xMnB4IHJnYmEoMTYsIDE2LCAyMCwgLjUpO1xuICAgIGNvbG9yOiB2YXIoLS1jLWluayk7XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGZsZXg6IDE7XG4gICAgZ2FwOiAuM3JlbTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mLWRpc3BsYXkpO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuXG4gICZfX2Fycm93IHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWMtcHVycGxlLTYwMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWctdHJhbnMpIHZhcigtLWVhc2UpO1xuICB9XG5cbiAgYS5jcC1hdWRpZW5jZV9faXRlbTpob3ZlciAmX19hcnJvdyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG4gIH1cbn1cbiIsIi5jcC1iZW5lZml0cyB7XG4gICZfX2RpYWdyYW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgaGVpZ2h0OiAzNjBweDtcbiAgICBtYXJnaW46IDAgYXV0byAzcmVtO1xuICB9XG5cbiAgJl9fc2lkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgICYtLWxlZnQgeyBncmlkLWNvbHVtbjogMTsgfVxuICAgICYtLXJpZ2h0IHsgZ3JpZC1jb2x1bW46IDM7IH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMTYsIDE2LCAyMCwgLjEyKSk7XG4gICAgfVxuXG4gICAgJi0tcmlnaHQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMTYsIDE2LCAyMCwgLjEyKSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuXG4gICZfX25vZGUge1xuICAgIC0tcG9zOiBjYWxjKHZhcigtLWkpICogMjUlKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogNDJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1tZCk7XG4gICAgY29sb3I6IHZhcigtLWMtbXV0ZWQpO1xuXG4gICAgLmctaWNvbiB7IHdpZHRoOiAxLjFyZW07IGhlaWdodDogMS4xcmVtOyB9XG4gIH1cblxuICAmX19zaWRlLS1sZWZ0ICZfX25vZGUge1xuICAgIGNvbG9yOiAjYjdiNmMwO1xuXG4gICAgJjpudGgtY2hpbGQoMSkgeyB0b3A6IDEyJTsgbGVmdDogMzAlOyB9XG4gICAgJjpudGgtY2hpbGQoMikgeyB0b3A6IDIwJTsgbGVmdDogNjIlOyB9XG4gICAgJjpudGgtY2hpbGQoMykgeyB0b3A6IGNhbGMoNTAlIC0gMjFweCk7IGxlZnQ6IDEwJTsgfVxuICAgICY6bnRoLWNoaWxkKDQpIHsgdG9wOiA3MCU7IGxlZnQ6IDYwJTsgfVxuICAgICY6bnRoLWNoaWxkKDUpIHsgdG9wOiA4MCU7IGxlZnQ6IDI2JTsgfVxuICB9XG5cbiAgJl9fc2lkZS0tcmlnaHQgJl9fbm9kZSB7XG4gICAgY29sb3I6IHZhcigtLWMtaW5rKTtcblxuICAgICY6bnRoLWNoaWxkKDEpIHsgdG9wOiAxNCU7IHJpZ2h0OiA1MiU7IH1cbiAgICAmOm50aC1jaGlsZCgyKSB7IHRvcDogMjIlOyByaWdodDogMTYlOyB9XG4gICAgJjpudGgtY2hpbGQoMykgeyB0b3A6IGNhbGMoNTAlIC0gMjFweCk7IHJpZ2h0OiA1MiU7IGJhY2tncm91bmQ6IHZhcigtLWMtd2EpOyBjb2xvcjogI2ZmZjsgfVxuICAgICY6bnRoLWNoaWxkKDQpIHsgdG9wOiA3MiU7IHJpZ2h0OiA0NCU7IGJhY2tncm91bmQ6IHZhcigtLWMtbGltZSk7IH1cbiAgICAmOm50aC1jaGlsZCg1KSB7IHRvcDogODAlOyByaWdodDogMTAlOyB9XG4gIH1cblxuICAmX19kaWFsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgd2lkdGg6IDMyMHB4O1xuICAgIGhlaWdodDogMzIwcHg7XG4gIH1cblxuICAmX19hcmMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgIGNvbmljLWdyYWRpZW50KGZyb20gMGRlZywgdHJhbnNwYXJlbnQgMCAwLCByZ2JhKDE0MywgOTMsIDI1MCwgLjE1KSAwLCByZ2JhKDE0MywgOTMsIDI1MCwgLjc1KSAzMCUsIHZhcigtLWMtcHVycGxlLTYwMCkgNTAlLCB0cmFuc3BhcmVudCA1MCUgMTAwJSk7XG4gICAgbWFzazogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgdHJhbnNwYXJlbnQgMCwgIzAwMCAwKTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTYsIDE2LCAyMCwgLjEpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiA3MnB4O1xuICAgIGhlaWdodDogNzJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzNSUgMzAlLCAjNGI0NzU3LCB2YXIoLS1jLWRhcmspIDcwJSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIC41NSksIDAgMjBweCA0MHB4IC0xMnB4IHJnYmEoOTMsIDQ4LCAyMTQsIC44KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgIC5nLWxvZ29fX21hcmsgeyB3aWR0aDogMS45cmVtOyBoZWlnaHQ6IDEuOXJlbTsgfVxuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nOiAuNHJlbSAuOHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXBpbGwpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtZGFyayk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2gtbWQpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICYtLTAgeyB0b3A6IDA7IGxlZnQ6IDUwJTsgfVxuICAgICYtLTEgeyB0b3A6IDUwJTsgbGVmdDogMTAwJTsgfVxuICAgICYtLTIgeyB0b3A6IDEwMCU7IGxlZnQ6IDUwJTsgfVxuICAgICYtLTMgeyB0b3A6IDUwJTsgbGVmdDogMDsgfVxuICB9XG5cbiAgJl9fbGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGdhcDogLjY1cmVtO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWxnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWNhcmQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoLXNtKTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAuMzVyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1oMyk7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAmX19kaWFncmFtIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZy1ibG9jazogMS41cmVtO1xuICAgIH1cblxuICAgICZfX3NpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19kaWFsIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NjBweCkge1xuICAgICZfX2RpYWwge1xuICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICB9XG5cbiAgICAmX19sYWJlbC0tMSB7IGxlZnQ6IDg4JTsgfVxuICAgICZfX2xhYmVsLS0zIHsgbGVmdDogMTIlOyB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgfVxufVxuIiwiLmNwLXByaWNpbmcge1xuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICZbZGF0YS1jb3VudD1cIjNcIl0sXG4gICAgJltkYXRhLWNvdW50PVwiNVwiXSxcbiAgICAmW2RhdGEtY291bnQ9XCI2XCJdLFxuICAgICZbZGF0YS1jb3VudD1cIjlcIl0geyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7IH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDYwcHgpIHtcbiAgICAgICYsICZbZGF0YS1jb3VudF0geyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICYsICZbZGF0YS1jb3VudF0geyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAuOXJlbTtcbiAgICBwYWRkaW5nOiAxLjc1cmVtIDEuNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC44KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWxnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWNhcmQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoLXNtKTtcblxuICAgIC5nLWJ0biB7XG4gICAgICBtYXJnaW4tYmxvY2s6IC41cmVtO1xuICAgIH1cblxuICAgIC5nLWNoZWNrbGlzdCB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jLWxpbmUpO1xuICAgIH1cblxuICAgICYuaXMtaGlnaGxpZ2h0ZWQge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWRhcmspO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2gtbGcpO1xuICAgICAgY29sb3I6IHZhcigtLWMtZGFyay1tdXRlZCk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMTIwcHg7XG4gICAgICAgIHJpZ2h0OiAtODBweDtcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICBoZWlnaHQ6IDI4MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMTQzLCA5MywgMjUwLCAuNSksIHRyYW5zcGFyZW50IDY1JSk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuXG4gICAgICAuY3AtcHJpY2luZ19fbmFtZSxcbiAgICAgIC5jcC1wcmljaW5nX19hbW91bnQgeyBjb2xvcjogI2ZmZjsgfVxuXG4gICAgICAuY3AtcHJpY2luZ19fbGltaXQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wOCk7IGNvbG9yOiAjZmZmOyB9XG5cbiAgICAgIC5nLWNoZWNrbGlzdCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1kYXJrLWxpbmUpO1xuXG4gICAgICAgIC5nLWljb24geyBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgMjUwLCA5MywgLjE1KTsgY29sb3I6IHZhcigtLWMtbGltZSk7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19oZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogLjVyZW07XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBmb250LXNpemU6IDEuMTVyZW07XG4gIH1cblxuICAmX19iYWRnZSB7XG4gICAgcGFkZGluZzogLjI1cmVtIC42NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXBpbGwpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtbGltZSk7XG4gICAgY29sb3I6IHZhcigtLWMtaW5rKTtcbiAgICBmb250LXNpemU6IC43MnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgJl9fcHJpY2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogLjI1cmVtO1xuICB9XG5cbiAgJl9fYW1vdW50IHtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mLWRpc3BsYXkpO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMi41cmVtLCAycmVtICsgMS41dncsIDMuMjVyZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDRlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gICZfX3BlcmlvZCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG4gIH1cblxuICAmX19saW1pdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogLjQ1cmVtO1xuICAgIHBhZGRpbmc6IC4zNXJlbSAuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1waWxsKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXB1cnBsZS01MCk7XG4gICAgY29sb3I6IHZhcigtLWMtcHVycGxlLTcwMCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgIC5nLWljb24geyB3aWR0aDogMXJlbTsgaGVpZ2h0OiAxcmVtOyB9XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG4gIH1cblxuICAmX19ub3RlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogLjc1cmVtO1xuICAgIG1heC13aWR0aDogODIwcHg7XG4gICAgbWFyZ2luOiAycmVtIGF1dG8gMDtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1tZCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNTUpO1xuICAgIGNvbG9yOiB2YXIoLS1jLW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTtcblxuICAgIC5nLWljb24ge1xuICAgICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgICBjb2xvcjogdmFyKC0tYy1wdXJwbGUtNjAwKTtcbiAgICB9XG4gIH1cblxuICAuZy1jdGFzIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICB9XG59XG4iLCIuY3AtdGVzdGltb25pYWxzIHtcbiAgJl9fcm93cyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgIzAwMCA4JSwgIzAwMCA5MiUsIHRyYW5zcGFyZW50KTtcbiAgfVxuXG4gICZfX21hcnF1ZWUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxcmVtO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcblxuICAgICY6aG92ZXIgLmNwLXRlc3RpbW9uaWFsc19fdHJhY2sge1xuICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICB9XG4gIH1cblxuICAmX190cmFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBhbmltYXRpb246IGNwLXRlc3RpbW9uaWFscy1zY3JvbGwgNTBzIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxuXG4gICZfX21hcnF1ZWUuaXMtcmV2ZXJzZSAmX190cmFjayB7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gICZfX2NhcmQge1xuICAgIHdpZHRoOiBtaW4oMzYwcHgsIDgwdncpO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWxnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWNhcmQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoLXNtKTtcblxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fcXVvdGUge1xuICAgIGNvbG9yOiB2YXIoLS1jLWluayk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgfVxuXG4gICZfX2F1dGhvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogLjc1cmVtO1xuXG4gICAgY2l0ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiB2YXIoLS1jLWluayk7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgY29sb3I6IHZhcigtLWMtbXV0ZWQpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7XG5cbiAgICAgIGEgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIH1cbiAgfVxuXG4gICZfX3Bob3RvIHtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcblxuICAgICYtLWluaXRpYWwge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWxhdmVuZGVyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS03MDApO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICZfX3Jvd3MgeyBtYXNrLWltYWdlOiBub25lOyB9XG4gICAgJl9fbWFycXVlZSB7IGZsZXgtd3JhcDogd3JhcDsgd2lkdGg6IGF1dG87IHBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpOyB9XG4gICAgJl9fdHJhY2tbYXJpYS1oaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICZfX3RyYWNrIHsgZmxleC13cmFwOiB3cmFwOyBhbmltYXRpb246IG5vbmU7IH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNwLXRlc3RpbW9uaWFscy1zY3JvbGwge1xuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xMDAlIC0gMXJlbSkpOyB9XG59XG4iLCIuY3AtZmFxIHtcbiAgJl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgLjhmcikgbWlubWF4KDAsIDEuNGZyKTtcbiAgICBnYXA6IGNsYW1wKDJyZW0sIDFyZW0gKyA0dncsIDVyZW0pO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuICB9XG5cbiAgJl9fYXNpZGUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAganVzdGlmeS1pdGVtczogc3RhcnQ7XG4gICAgZ2FwOiAxLjI1cmVtO1xuXG4gICAgLmctaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDFweCkge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogY2FsYyh2YXIoLS1oZWFkZXItaCkgKyAycmVtKTtcbiAgICB9XG4gIH1cblxuICAmX19uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogLjVyZW07XG5cbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6IC40NXJlbSAuOXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItcGlsbCk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWNhcmQpO1xuICAgICAgY29sb3I6IHZhcigtLWMtaW5rKTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgJjpob3ZlciB7IGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICB9XG4gIH1cblxuICAmX19ncm91cHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAycmVtO1xuICB9XG5cbiAgJl9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAuNnJlbTtcbiAgfVxuXG4gICZfX2dyb3VwLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1oMyk7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWNhcmQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoLXNtKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWctdHJhbnMpO1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGdhcDogMXJlbTtcbiAgICAgIHBhZGRpbmc6IDEuMXJlbSAxLjI1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWMtaW5rKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICAmW29wZW5dIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgfVxuXG4gICAgJltvcGVuXSAuY3AtZmFxX190b2dnbGUge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1kYXJrKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLWxpbWUpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RvZ2dsZSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1wdXJwbGUtNTApO1xuICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS02MDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1nLXRyYW5zKSB2YXIoLS1lYXNlKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1nLXRyYW5zKTtcblxuICAgIC5nLWljb24geyB3aWR0aDogMXJlbTsgaGVpZ2h0OiAxcmVtOyB9XG4gIH1cblxuICAmX19hbnN3ZXIge1xuICAgIHBhZGRpbmc6IDAgMS4yNXJlbSAxLjI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jLW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgfVxufVxuIiwiLmNwLWJsb2ctcHJldmlldyB7XG4gICZfX2hlYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMnJlbSwgMS41cmVtICsgMnZ3LCAzcmVtKTtcblxuICAgIC5nLWhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jcC1jdGEtYmFubmVyIHtcbiAgJl9fY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiBjbGFtcCgzcmVtLCAycmVtICsgNHZ3LCA1LjVyZW0pIGNsYW1wKDEuMjVyZW0sIDFyZW0gKyAzdncsIDRyZW0pO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci14bCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tYy1kYXJrLW11dGVkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAuMDgpIDFweCwgdHJhbnNwYXJlbnQgMS4ycHgpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gICAgICBtYXNrLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICMwMDAgMTAlLCB0cmFuc3BhcmVudCA3MCUpO1xuICAgIH1cbiAgfVxuXG4gICZfX2dsb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC02MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiA3NjBweDtcbiAgICBoZWlnaHQ6IDUyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDE0MywgOTMsIDI1MCwgLjU1KSwgdHJhbnNwYXJlbnQgNjIlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmX19tYXJrIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDM1JSAzMCUsICM0YjQ3NTcsICMwZjBmMTIgNzAlKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA4cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDUpLCAwIDAgNDBweCByZ2JhKDE0MywgOTMsIDI1MCwgLjYpO1xuXG4gICAgLmctbG9nb19fbWFyayB7IHdpZHRoOiAxLjc1cmVtOyBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtaDIpO1xuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1sZWFkKTtcbiAgfVxuXG4gIC5nLWN0YXMge1xuICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICB9XG5cbiAgJl9fbm90ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IC40NXJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLXhzKTtcblxuICAgIC5nLWljb24ge1xuICAgICAgd2lkdGg6IDFyZW07XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBjb2xvcjogdmFyKC0tYy1saW1lKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jcC11c2UtY2FzZSB7XG4gICZfX2NhcmQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICBnYXA6IGNsYW1wKDEuNXJlbSwgMXJlbSArIDN2dywgNHJlbSk7XG4gICAgcGFkZGluZzogY2xhbXAoMS43NXJlbSwgMXJlbSArIDN2dywgMy41cmVtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXhsKTtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxMDAlIDAlLCByZ2JhKDIzOSwgMjUwLCA5MywgLjQ1KSwgdHJhbnNwYXJlbnQgMzUlKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCgxNjBkZWcsICNmM2VmZmYsICNlMmQ5ZmYpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gIH1cblxuICAmX19zdG9yeSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBhbGlnbi1jb250ZW50OiBzdGFydDtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBzdGFydDtcbiAgICBnYXA6IDFyZW07XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDEuM3JlbSArIDEuMnZ3LCAyLjI1cmVtKTtcbiAgfVxuXG4gICZfX3NjZW5hcmlvIHtcbiAgICBjb2xvcjogdmFyKC0tYy10ZXh0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLWxlYWQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cblxuICAmX19zdGVwcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAuNzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAuOXJlbTtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMS4xNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItbWQpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOCk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1zbSk7XG4gICAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuXG4gICZfX251bWJlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tYy1saW1lKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLXhzKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG4iLCIuY3AtY29udGFjdC1jaGFubmVscyB7XG4gICZfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMzBweCwgMWZyKSk7XG4gICAgZ2FwOiAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGp1c3RpZnktaXRlbXM6IHN0YXJ0O1xuICAgIGdhcDogLjZyZW07XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItbGcpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtY2FyZCk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2gtc20pO1xuXG4gICAgLmctaWNvbi10aWxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLWgzKTtcbiAgfVxuXG4gICZfX3ZhbHVlIHtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgfVxuXG4gIGEuY3AtY29udGFjdC1jaGFubmVsc19fdmFsdWUge1xuICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS02MDApO1xuXG4gICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIH1cblxuICAmX19ub3RlIHtcbiAgICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG4gIH1cbn1cbiIsIi5jcC1jb250YWN0LWZvcm0ge1xuICAmX19jYXJkIHtcbiAgICBwYWRkaW5nOiBjbGFtcCgxLjVyZW0sIDFyZW0gKyAzdncsIDMuNXJlbSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci14bCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1jYXJkKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaC1tZCk7XG5cbiAgICAuZy1oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fZm9ybSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiAxLjFyZW07XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgfVxuXG4gICZfX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICB9XG5cbiAgJl9fc3RhdHVzIHtcbiAgICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG5cbiAgICAmLmlzLWVycm9yIHsgY29sb3I6ICNjMjM0MzQ7IH1cbiAgICAmLmlzLXN1Y2Nlc3MgeyBjb2xvcjogIzFiN2Y0YTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICB9XG5cbiAgLy8gTmluamEgRm9ybXMgc3VjY2VzcyBtZXNzYWdlIChzaG93biBhZnRlciB0aGUgZm9ybSBoaWRlcyBpdHNlbGYpLlxuICAubmYtcmVzcG9uc2UtbXNnIHtcbiAgICBwYWRkaW5nOiAxLjFyZW0gMS4yNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI3LCAxMjcsIDc0LCAuMjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItbWQpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjcsIDEyNywgNzQsIC4wOCk7XG4gICAgY29sb3I6ICMxYjdmNGE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIHAgeyBtYXJnaW46IDA7IH1cbiAgfVxufVxuIiwiLmNwLXZpZGVvIHtcbiAgJl9fZnJhbWUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDk4MHB4O1xuICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXhsKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWRhcmspO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoLWxnKTtcblxuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3Bvc3RlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgJl9fcGxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDg0cHg7XG4gICAgaGVpZ2h0OiA4NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXB1cnBsZS02MDApO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEycHggcmdiYSgxNDMsIDkzLCAyNTAsIC4zKSwgdmFyKC0tc2gtcHVycGxlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tZy10cmFucykgdmFyKC0tZWFzZSk7XG5cbiAgICAuZy1pY29uIHtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG4gIH1cblxuICAmX19wb3N0ZXI6aG92ZXIgJl9fcGxheSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4wNik7XG4gIH1cblxuICAmX190cmFuc2NyaXB0IHtcbiAgICBtYXgtd2lkdGg6IDg2MHB4O1xuICAgIG1hcmdpbjogMS41cmVtIGF1dG8gMDtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1tZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1jYXJkKTtcblxuICAgIHN1bW1hcnkge1xuICAgICAgY29sb3I6IHZhcigtLWMtaW5rKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLmctcHJvc2Uge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pO1xuICAgIH1cbiAgfVxufVxuIiwiLmNwLXJpY2gtdGV4dCB7XG4gICYuaXMtcGFnZSAuZy1icmVhZGNydW1icyBvbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogLjc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy1saW5lKTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLWgyKTtcbiAgfVxuXG4gICYuaXMtcGFnZSAmX190aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1oMSk7XG4gIH1cblxuICAmX191cGRhdGVkIHtcbiAgICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG4gIH1cblxuICAuZy1wcm9zZSB7XG4gICAgcGFkZGluZzogY2xhbXAoMS41cmVtLCAxcmVtICsgMnZ3LCAzcmVtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXhsKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWNhcmQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoLXNtKTtcbiAgfVxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBQb3N0IGdyaWQgJiBjYXJkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZy1wb3N0LWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogMXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gID4gbGkgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cblxuLmctcG9zdC1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IC41cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWxnKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1jYXJkKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2gtc20pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tZy10cmFucykgdmFyKC0tZWFzZSksIGJveC1zaGFkb3cgdmFyKC0tZy10cmFucyk7XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2gtbWQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgfVxuXG4gICZfX21lZGlhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBhc3BlY3QtcmF0aW86IDEyMDAgLyA2MzA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXItbGcpIC0gLjVyZW0pO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjBkZWcsICNmMWVjZmYsICNkZGQyZmYpO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIHZhcigtLWVhc2UpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIgJl9fbWVkaWEgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDQpO1xuICB9XG5cbiAgJl9fcGxhY2Vob2xkZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6IHJnYmEoMTE4LCA3MCwgMjM4LCAuNSk7XG5cbiAgICAuZy1pY29uIHsgd2lkdGg6IDIuNXJlbTsgaGVpZ2h0OiAyLjVyZW07IH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gICAgZ2FwOiAuNTVyZW07XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAxLjFyZW0gMXJlbSAxcmVtO1xuICB9XG5cbiAgJl9fY2F0IHtcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS02MDApO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG5cbiAgICBhOmhvdmVyIHsgY29sb3I6IHZhcigtLWMtcHVycGxlLTYwMCk7IH1cbiAgfVxuXG4gICZfX2V4Y2VycHQge1xuICAgIGNvbG9yOiB2YXIoLS1jLW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTtcbiAgfVxuXG4gICZfX21ldGEge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IC41cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jLW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLXhzKTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIExpc3Rpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jcC1wYWdlLWhlcm8tLWJsb2cgLmctc2VhcmNoIHtcbiAgbWFyZ2luLXRvcDogMS43NXJlbTtcbn1cblxuLmctY2F0ZWdvcnktZmlsdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuXG4gIGEge1xuICAgIHBhZGRpbmc6IC41NXJlbSAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItcGlsbCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1jYXJkKTtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1nLXRyYW5zKSwgY29sb3IgdmFyKC0tZy10cmFucyk7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4gICAgJlthcmlhLWN1cnJlbnRdIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtZGFyayk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBBcnRpY2xlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZy1hcnRpY2xlIHtcbiAgJl9faGVhZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuZy1jb250YWluZXItLW5hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxLjFyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgMS41cmVtICsgMi4ydncsIDMuMjVyZW0pO1xuICB9XG5cbiAgJl9fZXhjZXJwdCB7XG4gICAgbWF4LXdpZHRoOiA2ODBweDtcbiAgICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1sZWFkKTtcbiAgfVxuXG4gICZfX21ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogLjVyZW0gMS4yNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogLjM1cmVtO1xuICAgIH1cblxuICAgIC5nLWljb24geyB3aWR0aDogMXJlbTsgaGVpZ2h0OiAxcmVtOyB9XG4gIH1cblxuICAmX19jb3ZlciB7XG4gICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gICAgbWFyZ2luOiAyLjVyZW0gYXV0byAwO1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLXhsKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoLW1kKTtcbiAgICB9XG4gIH1cblxuICAmX19sYXlvdXQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNDBweCBtaW5tYXgoMCwgNzYwcHgpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogY2xhbXAoMnJlbSwgMXJlbSArIDN2dywgNHJlbSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNlY3Rpb24teSk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCA3NjBweCk7XG4gICAgfVxuICB9XG5cbiAgJl9fYXNpZGUge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDIuNXJlbTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAmX19mYXEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAuNnJlbTtcblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgfVxuICB9XG59XG5cbi5nLXRvYyB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogY2FsYyh2YXIoLS1oZWFkZXItaCkgKyAycmVtKTtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1tZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtY2FyZCk7XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBvbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IC41cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYy1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy1zbSk7XG4gIH1cblxuICBhOmhvdmVyLFxuICBhLmlzLWFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWMtcHVycGxlLTYwMCk7XG4gIH1cbn1cblxuLmctaW5saW5lLWN0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxcmVtIDEuMjVyZW07XG4gIG1hcmdpbi1ibG9jazogMi41cmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tci1sZyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1jLWRhcmstbXV0ZWQpO1xuXG4gICZfX21hcmsge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtcHVycGxlLTYwMCk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWYtZGlzcGxheSk7XG4gICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAuMjVyZW0gIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTtcbiAgfVxuXG4gIC5nLXByb3NlICYgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5nLXNoYXJlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IC41cmVtO1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYy1saW5lKTtcblxuICAmX19sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAmX19idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNDVyZW07XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAuNXJlbSAuOTVyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXItcGlsbCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1jYXJkKTtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mcy14cyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4gICAgLmctaWNvbiB7IHdpZHRoOiAxcmVtOyBoZWlnaHQ6IDFyZW07IH1cbiAgfVxufVxuXG4uZy1hdXRob3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxcmVtO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXItbGcpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWNhcmQpO1xuXG4gICZfX3Bob3RvIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMy41cmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcblxuICAgICYtLWluaXRpYWwge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWxhdmVuZGVyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXB1cnBsZS03MDApO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAmX19iaW8ge1xuICAgIG1hcmdpbi10b3A6IC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1jLW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLXNtKTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIDQwNFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmctNDA0IHtcbiAgbWluLWhlaWdodDogNzB2aDtcbiAgcGFkZGluZy10b3A6IGNsYW1wKDNyZW0sIDJyZW0gKyA0dncsIDZyZW0pO1xuXG4gICZfX2NvZGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYy1pbmspO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mLWRpc3BsYXkpO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoNXJlbSwgM3JlbSArIDh2dywgOXJlbSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgLmctbG9nb19fbWFyayB7XG4gICAgICB3aWR0aDogLjc1ZW07XG4gICAgICBoZWlnaHQ6IC43NWVtO1xuICAgIH1cbiAgfVxuXG4gIC5nLWN0YXMge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgVXRpbGl0aWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEFjY2Vzc2liaWxpdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGltcG9ydCBcImFjY2Vzc2liaWxpdHlcIjtcblxuLyogQWxpZ25tZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW1wb3J0IFwiYWxpZ25tZW50c1wiO1xuIiwiLyogVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcblx0Y2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuXHRoZWlnaHQ6IDFweDtcblx0bWFyZ2luOiAtMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0d2lkdGg6IDFweDtcblx0d29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDsgLy8gTWFueSBzY3JlZW4gcmVhZGVyIGFuZCBicm93c2VyIGNvbWJpbmF0aW9ucyBhbm5vdW5jZSBicm9rZW4gd29yZHMgYXMgdGhleSB3b3VsZCBhcHBlYXIgdmlzdWFsbHkuXG5cblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19iYWNrZ3JvdW5kLXNjcmVlbjtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuXHRcdGNsaXA6IGF1dG8gIWltcG9ydGFudDtcblx0XHRjbGlwLXBhdGg6IG5vbmU7XG5cdFx0Y29sb3I6ICRjb2xvcl9fdGV4dC1zY3JlZW47XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRsZWZ0OiA1cHg7XG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0dG9wOiA1cHg7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0ei1pbmRleDogMTAwMDAwOyAvLyBBYm92ZSBXUCB0b29sYmFyLlxuXHR9XG59XG5cbi8qIERvIG5vdCBzaG93IHRoZSBvdXRsaW5lIG9uIHRoZSBza2lwIGxpbmsgdGFyZ2V0LiAqL1xuI3ByaW1hcnlbdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG5cdG91dGxpbmU6IDA7XG59XG4iLCIuYWxpZ25sZWZ0IHtcblxuXHQvKnJ0bDppZ25vcmUqL1xuXHRmbG9hdDogbGVmdDtcblxuXHQvKnJ0bDppZ25vcmUqL1xuXHRtYXJnaW4tcmlnaHQ6IDEuNWVtO1xuXHRtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cblxuLmFsaWducmlnaHQge1xuXG5cdC8qcnRsOmlnbm9yZSovXG5cdGZsb2F0OiByaWdodDtcblxuXHQvKnJ0bDppZ25vcmUqL1xuXHRtYXJnaW4tbGVmdDogMS41ZW07XG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuXHRjbGVhcjogYm90aDtcblxuXHRAaW5jbHVkZSBjZW50ZXItYmxvY2s7XG5cblx0bWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/