@charset "UTF-8";
/*
Theme Name:         CodeLagoon
Theme URI:          https://github.com/gin0115/codelagoon
Author:             gin0115
Author URI:         https://github.com/gin0115
Description:        The CodeLagoon theme — a pro-tool aesthetic for a code-snippet sharing site.
Version:            1.0.0
Update URI:			false
Requires at least:  6.1
Requires PHP:       8.3
License:            GNU General Public License v3 or later
License URI:        http://www.gnu.org/licenses/gpl-3.0.html
Text Domain:        codelagoon
Domain Path:        /languages
Tags:               codelagoon
*/
/* Smooth scrolling */
@media (prefers-reduced-motion: no-preference) {
  * {
    scroll-behavior: smooth;
  }
}
body {
  line-height: 1.55;
  background: var(--cl-bg, #131313);
  color: var(--cl-on-surface, #e5e2e1);
  /* Font smoothing */
  text-rendering: geometricprecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (max-width: 781px) {
  body {
    line-height: 1.5;
  }
}

/*
 * Make core block surfaces follow the site theme automatically. Any block
 * with `.has-base-background-color` / `.has-tertiary-background-color`
 * (the palette slugs in theme.json) now reads from the current CSS
 * custom-property palette, so palettes swap in lock-step with the picker.
 */
.has-base-background-color {
  background-color: var(--cl-surface) !important;
}

.has-tertiary-background-color {
  background-color: var(--cl-surface-low) !important;
}

.has-surface-container-background-color {
  background-color: var(--cl-surface-container) !important;
}

.has-surface-high-background-color {
  background-color: var(--cl-surface-high) !important;
}

.has-surface-lowest-background-color {
  background-color: var(--cl-surface-lowest) !important;
}

.has-contrast-color {
  color: var(--cl-on-surface) !important;
}

.has-secondary-color {
  color: var(--cl-on-surface-variant) !important;
}

.has-primary-color {
  color: var(--cl-primary) !important;
}

/* Reduce widows and orphans */
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
caption,
figcaption,
li {
  text-wrap: pretty;
}

/* Remove double-bold headings */
.wp-block-heading strong,
.wp-block-heading b {
  font-weight: inherit;
}

/**
 * Sticky-footer layout — make `<body>` fill the viewport vertically, let
 * the Gutenberg site wrapper and its inner `<main>` grow to absorb any
 * spare space, so a short page's footer still sits on the viewport edge
 * instead of floating under a half-empty page.
 *
 * Targets the standard block-theme output: `<body>` > `.wp-site-blocks`
 * > `header` / `main` / `footer` (from templates/*.html + parts/*.html).
 */
body {
  min-height: 100vh;
}

body.admin-bar {
  min-height: calc(100vh - 32px);
}

@media screen and (max-width: 782px) {
  body.admin-bar {
    min-height: calc(100vh - 46px);
  }
}
body {
  display: flex;
  flex-direction: column;
}

.wp-site-blocks {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

.wp-site-blocks > main {
  flex: 1 0 auto;
}

/**
 * Page
 * - Description of page styles
 */
.wp-theme-style {
  color: #fff;
  padding: 2px;
  appearance: auto;
  direction: ltr;
}
@media (min-width: 960px) {
  .wp-theme-style {
    background-color: #21759b;
  }
}
@media (max-width: 781px) {
  .wp-theme-style {
    background-color: #d54e21;
  }
}
@media (min-width: 782px) and (max-width: 959px) {
  .wp-theme-style {
    background-color: #7ad03a;
  }
}

button {
  padding: 8px 15px;
}
button:hover {
  text-decoration: underline;
}

/**
 * Lagoon-specific theme styles.
 *
 * All colour and radius values come from CSS custom properties emitted by
 * Gin0115\Codelagoon\Theme\SiteThemeService. Palette swaps are driven by the
 * `data-site-theme` attribute on <html>; component rules only read variables.
 *
 * Do NOT add hex values here. Define them in SiteThemes::THEMES.
 */
.codelag-site-header {
  align-items: center;
  padding: 0.6rem clamp(1rem, 3vw, 2.5rem) !important;
  margin: 0 !important;
  background: var(--cl-surface) !important;
  border-bottom: 1px solid var(--cl-outline-variant);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
}
.codelag-site-header__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: var(--cl-primary);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}
.codelag-site-header__brand:hover, .codelag-site-header__brand:focus-visible {
  opacity: 0.85;
}
.codelag-site-header__brand-icon {
  font-size: 1.25rem !important;
  color: var(--cl-primary);
}
.codelag-site-header__brand-text {
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: -0.03em;
}
.codelag-site-header .codelag-site-header__nav .wp-block-navigation__container {
  gap: 1.25rem !important;
}
.codelag-site-header .codelag-site-header__nav .wp-block-navigation-item__content {
  color: var(--cl-on-surface);
  opacity: 0.65;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  text-decoration: none;
  padding: 0.25rem 0 !important;
  transition: color 160ms ease, opacity 160ms ease;
}
.codelag-site-header .codelag-site-header__nav .wp-block-navigation-item__content:hover, .codelag-site-header .codelag-site-header__nav .wp-block-navigation-item__content:focus-visible {
  color: var(--cl-primary);
  opacity: 1;
}
.codelag-site-header .codelag-site-header__nav .current-menu-item .wp-block-navigation-item__content {
  color: var(--cl-primary);
  opacity: 1;
  border-bottom: 2px solid var(--cl-primary);
}
.codelag-site-header__icon-button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--cl-on-surface);
  opacity: 0.7;
  cursor: pointer;
  border-radius: var(--cl-radius-pill);
  transition: color 160ms ease, background 160ms ease, opacity 160ms ease;
}
.codelag-site-header__icon-button:hover, .codelag-site-header__icon-button:focus-visible {
  color: var(--cl-primary);
  opacity: 1;
  background: var(--cl-surface-high);
}

.codelag-lagoon-header {
  background: var(--cl-surface-low) !important;
  color: var(--cl-on-surface);
  border: 0 !important;
  border-radius: var(--cl-radius-lg) !important;
  padding: 1.25rem clamp(1rem, 2vw, 1.75rem) !important;
  gap: 1.25rem !important;
  align-items: flex-start !important;
}
.codelag-lagoon-header__left {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
}
.codelag-lagoon-header__avatar {
  flex: 0 0 auto;
  align-self: flex-start;
  margin-top: 0.1rem;
}
.codelag-lagoon-header__avatar img {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50%;
  display: block;
}
.codelag-lagoon-header__title {
  color: var(--cl-on-surface);
  word-break: break-word;
}

.codelag-lagoon-meta {
  align-items: center;
  gap: 0.6rem !important;
  color: var(--cl-on-surface-variant);
}
.codelag-lagoon-meta .codelag-meta-author {
  color: var(--cl-primary);
  font-weight: 600;
}
.codelag-lagoon-meta .codelag-meta-author a {
  color: inherit;
  text-decoration: none;
}
.codelag-lagoon-meta .codelag-meta-author a::before {
  content: "@";
  opacity: 0.8;
}
.codelag-lagoon-meta .codelag-meta-author a:hover, .codelag-lagoon-meta .codelag-meta-author a:focus-visible {
  text-decoration: underline;
}
.codelag-lagoon-meta .codelag-meta-date {
  color: var(--cl-on-surface-variant);
  font-size: 0.78rem;
  opacity: 0.8;
}
.codelag-lagoon-meta .codelag-meta-date::before {
  content: "•";
  margin-right: 0.55rem;
  color: var(--cl-on-surface-variant);
  opacity: 0.5;
}

.codelag-lagoon-excerpt {
  color: var(--cl-on-surface-variant);
}

.codelag-lagoon-chips {
  align-items: center;
}

.codelag-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.75rem;
  border-radius: var(--cl-radius-pill);
  background: var(--cl-surface-container);
  color: var(--cl-on-surface-variant);
  font-size: 0.72rem;
  font-family: inherit;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  letter-spacing: 0;
}
.codelag-chip a {
  color: inherit;
  text-decoration: none;
}
.codelag-chip a:hover, .codelag-chip a:focus-visible {
  color: var(--cl-primary);
}
.codelag-chip .wp-block-post-terms__prefix,
.codelag-chip .wp-block-post-terms__suffix {
  font-size: inherit;
}

.codelag-chip--lang a {
  color: var(--cl-primary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
  font-size: 0.68rem;
}

.codelag-chip--purpose a:hover, .codelag-chip--purpose a:focus-visible,
.codelag-chip--tag a:hover,
.codelag-chip--tag a:focus-visible {
  color: var(--cl-primary);
}

.codelag-header-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: flex-start;
  gap: 0.55rem !important;
  margin: 0 0 0 auto !important;
  align-self: flex-start;
  text-align: right;
}

.codelag-share-button,
.codelag-download-button, .codelag-theme-picker {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.95rem;
  border-radius: var(--cl-radius-pill);
  border: 0;
  background: var(--cl-surface-high);
  color: var(--cl-on-surface);
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  text-decoration: none;
  cursor: pointer;
  transition: background 160ms ease, transform 160ms ease, color 160ms ease;
}
.codelag-share-button:hover,
.codelag-download-button:hover, .codelag-theme-picker:hover, .codelag-share-button:focus-visible,
.codelag-download-button:focus-visible, .codelag-theme-picker:focus-visible {
  background: var(--cl-surface-container);
  color: var(--cl-primary);
  transform: scale(0.97);
}
[disabled].codelag-share-button,
[disabled].codelag-download-button, [disabled].codelag-theme-picker {
  opacity: 0.65;
  cursor: progress;
  transform: none;
}

.codelag-theme-picker {
  padding: 0.25rem 0.35rem 0.25rem 0.8rem;
  gap: 0.35rem;
}
.codelag-theme-picker__label {
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--cl-on-surface-variant);
}
.codelag-theme-picker__select {
  appearance: none;
  -webkit-appearance: none;
  padding: 0.25rem 1.75rem 0.25rem 0.6rem;
  border-radius: var(--cl-radius-pill);
  border: 0;
  background-color: var(--cl-surface-container);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%2300f0ff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.55rem center;
  background-size: 10px 10px;
  color: var(--cl-on-surface);
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.3;
}
.codelag-theme-picker__select:focus-visible {
  outline: 2px solid var(--cl-primary);
  outline-offset: 1px;
}

.codelag-share-button::before,
.codelag-download-button::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  background-color: currentcolor;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.codelag-share-button::before {
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z' fill='black'/></svg>");
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z' fill='black'/></svg>");
}

.codelag-download-button::before {
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z' fill='black'/></svg>");
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z' fill='black'/></svg>");
}

.codelag-edit-button {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.75rem;
  border-radius: var(--cl-radius-pill);
  border: 0;
  background: var(--cl-accent);
  color: var(--cl-surface-lowest);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.codelag-edit-button::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  background-color: currentcolor;
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z' fill='black'/></svg>");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z' fill='black'/></svg>");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
.codelag-edit-button:hover, .codelag-edit-button:focus-visible {
  background: var(--cl-accent-dim);
  transform: scale(0.97);
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.25);
}

.codelag-fork-button {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 1.15rem;
  border-radius: var(--cl-radius-pill);
  border: 0;
  background: linear-gradient(135deg, var(--cl-primary) 0%, var(--cl-primary-dim) 100%);
  color: var(--cl-primary-text);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  cursor: pointer;
  box-shadow: 0 0 20px rgba(0, 240, 255, 0.22);
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.codelag-fork-button::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  background-color: currentcolor;
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M5 3.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm0 2.122a2.25 2.25 0 1 0-1.5 0v.878A2.25 2.25 0 0 0 5.75 8.5h1.5v2.128a2.251 2.251 0 1 0 1.5 0V8.5h1.5a2.25 2.25 0 0 0 2.25-2.25v-.878a2.25 2.25 0 1 0-1.5 0v.878a.75.75 0 0 1-.75.75h-4.5A.75.75 0 0 1 5 6.25v-.878ZM8.75 12.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm3-8.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z' fill='black'/></svg>");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M5 3.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm0 2.122a2.25 2.25 0 1 0-1.5 0v.878A2.25 2.25 0 0 0 5.75 8.5h1.5v2.128a2.251 2.251 0 1 0 1.5 0V8.5h1.5a2.25 2.25 0 0 0 2.25-2.25v-.878a2.25 2.25 0 1 0-1.5 0v.878a.75.75 0 0 1-.75.75h-4.5A.75.75 0 0 1 5 6.25v-.878ZM8.75 12.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm3-8.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z' fill='black'/></svg>");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
.codelag-fork-button:hover, .codelag-fork-button:focus-visible {
  transform: scale(0.97);
  box-shadow: 0 0 28px rgba(0, 240, 255, 0.35);
}
.codelag-fork-button[disabled] {
  opacity: 0.65;
  cursor: progress;
  transform: none;
}

.codelag-lineage {
  margin-top: 0.9rem;
  color: var(--cl-on-surface-variant);
  font-size: 0.82rem;
  line-height: 1.55;
}
.codelag-lineage__icon {
  flex: 0 0 auto;
  margin-right: 0.35rem;
  vertical-align: -2px;
  color: var(--cl-primary);
  opacity: 0.9;
}
.codelag-lineage__parent {
  margin: 0;
}
.codelag-lineage__parent a {
  color: var(--cl-primary);
  text-decoration: none;
  font-weight: 600;
}
.codelag-lineage__parent a:hover, .codelag-lineage__parent a:focus-visible {
  text-decoration: underline;
}
.codelag-lineage__chain {
  display: inline-block;
  margin-top: 0.55rem;
}
.codelag-lineage__chain summary {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.22rem 0.75rem;
  border-radius: var(--cl-radius-pill);
  background: var(--cl-surface-container);
  color: var(--cl-on-surface-variant);
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  list-style: none;
}
.codelag-lineage__chain summary::-webkit-details-marker {
  display: none;
}
.codelag-lineage__chain summary::before {
  content: "▸";
  font-size: 0.65rem;
  color: var(--cl-primary);
  transition: transform 160ms ease;
}
.codelag-lineage__chain summary:hover, .codelag-lineage__chain summary:focus-visible {
  color: var(--cl-primary);
}
.codelag-lineage__chain[open] summary::before {
  content: "▾";
}
.codelag-lineage__list {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
}
.codelag-lineage__list li {
  margin: 0.2rem 0;
}
.codelag-lineage__list a {
  color: var(--cl-primary);
  text-decoration: none;
}
.codelag-lineage__list a:hover, .codelag-lineage__list a:focus-visible {
  text-decoration: underline;
}
.codelag-lineage__meta {
  color: var(--cl-on-surface-variant);
  opacity: 0.7;
  font-size: 0.72rem;
}
.codelag-lineage__deleted {
  opacity: 0.55;
  font-style: italic;
}

.codelag-lagoon-comments {
  background: var(--cl-surface-low) !important;
  color: var(--cl-on-surface);
  border: 0 !important;
}
.codelag-lagoon-comments__title {
  color: var(--cl-on-surface);
  padding-bottom: 0.5rem;
  border-bottom: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}
.codelag-lagoon-comments__title::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  background-color: var(--cl-primary);
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M21 6h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1zm-4 6V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1z' fill='black'/></svg>");
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M21 6h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1zm-4 6V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1z' fill='black'/></svg>");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-columns {
  padding: 1rem;
  margin-bottom: 0.5rem !important;
  background: var(--cl-surface-container);
  border-radius: var(--cl-radius);
  border: 0;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-avatar img {
  border-radius: 50%;
  display: block;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-author-name {
  color: var(--cl-primary);
  font-weight: 700;
  font-size: 0.88rem;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-author-name a {
  color: inherit;
  text-decoration: none;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-author-name a::before {
  content: "@";
  opacity: 0.85;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-author-name a:hover, .codelag-lagoon-comments .codelag-comments-list .wp-block-comment-author-name a:focus-visible {
  text-decoration: underline;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-date {
  color: var(--cl-on-surface-variant);
  opacity: 0.8;
  font-size: 0.78rem;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-content {
  margin-top: 0.3rem;
  color: var(--cl-on-surface-variant);
  font-size: 0.88rem;
  line-height: 1.55;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-content p {
  margin: 0.3rem 0;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-content code {
  background: var(--cl-surface-lowest);
  padding: 0.1rem 0.35rem;
  border-radius: var(--cl-radius-sm);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.88em;
  color: var(--cl-primary);
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-content pre {
  background: var(--cl-surface-lowest);
  padding: 0.75rem 1rem;
  border-radius: var(--cl-radius-sm);
  overflow-x: auto;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-content blockquote {
  border-left: 2px solid var(--cl-primary);
  margin: 0.5rem 0;
  padding: 0.25rem 0 0.25rem 0.9rem;
  color: var(--cl-on-surface-variant);
  opacity: 0.85;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-content a {
  color: var(--cl-primary);
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-reply-link a,
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-edit-link a {
  color: var(--cl-primary);
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 600;
}
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-reply-link a:hover, .codelag-lagoon-comments .codelag-comments-list .wp-block-comment-reply-link a:focus-visible,
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-edit-link a:hover,
.codelag-lagoon-comments .codelag-comments-list .wp-block-comment-edit-link a:focus-visible {
  text-decoration: underline;
}
.codelag-lagoon-comments .codelag-comment-form-editor {
  margin-top: 0.75rem;
}
.codelag-lagoon-comments .wp-editor-wrap {
  border-radius: var(--cl-radius);
  overflow: hidden;
  border: 0 !important;
  background: var(--cl-surface-low) !important;
  box-shadow: none !important;
}
.codelag-lagoon-comments .wp-editor-tools {
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 0.45rem !important;
}
.codelag-lagoon-comments .wp-editor-tabs {
  display: inline-flex !important;
  gap: 0 !important;
  padding: 0.2rem !important;
  background: var(--cl-surface-container) !important;
  border: 1px solid var(--cl-outline-variant) !important;
  border-radius: var(--cl-radius-pill) !important;
}
.codelag-lagoon-comments .wp-switch-editor {
  background: transparent !important;
  color: var(--cl-on-surface-variant) !important;
  border: 0 !important;
  border-radius: var(--cl-radius-pill) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.35rem 0.95rem !important;
  margin: 0 !important;
  box-shadow: none !important;
  transition: color 160ms ease, background 160ms ease;
}
.codelag-lagoon-comments .wp-switch-editor:hover, .codelag-lagoon-comments .wp-switch-editor:focus-visible {
  color: var(--cl-primary) !important;
  background: var(--cl-surface-high) !important;
}
.codelag-lagoon-comments .wp-switch-editor.switch-tmce[aria-pressed=true], .codelag-lagoon-comments .wp-switch-editor.switch-html[aria-pressed=true] {
  color: var(--cl-primary-text) !important;
  background: var(--cl-primary) !important;
}
html body .codelag-lagoon-comments .mce-toolbar-grp, html body .codelag-lagoon-comments .mce-tinymce .mce-toolbar-grp,
.codelag-lagoon-comments .mce-toolbar-grp {
  background: var(--cl-toolbar) !important;
  border: 0 !important;
  box-shadow: none !important;
}
.codelag-lagoon-comments .mce-tinymce {
  border: 0 !important;
  box-shadow: none !important;
  background: var(--cl-surface-low) !important;
}
.codelag-lagoon-comments .mce-toolbar .mce-btn,
.codelag-lagoon-comments .mce-toolbar .mce-btn button {
  background: transparent !important;
  color: var(--cl-on-surface-variant) !important;
  border: 0 !important;
  box-shadow: none !important;
}
.codelag-lagoon-comments .mce-toolbar .mce-btn .mce-ico,
.codelag-lagoon-comments .mce-toolbar .mce-btn button .mce-ico {
  color: var(--cl-on-surface-variant) !important;
}
.codelag-lagoon-comments .mce-toolbar .mce-btn:hover, .codelag-lagoon-comments .mce-toolbar .mce-btn.mce-active, .codelag-lagoon-comments .mce-toolbar .mce-btn[aria-pressed=true],
.codelag-lagoon-comments .mce-toolbar .mce-btn button:hover,
.codelag-lagoon-comments .mce-toolbar .mce-btn button.mce-active,
.codelag-lagoon-comments .mce-toolbar .mce-btn button[aria-pressed=true] {
  background: var(--cl-surface-high) !important;
  color: var(--cl-primary) !important;
}
.codelag-lagoon-comments .mce-toolbar .mce-btn:hover .mce-ico, .codelag-lagoon-comments .mce-toolbar .mce-btn.mce-active .mce-ico, .codelag-lagoon-comments .mce-toolbar .mce-btn[aria-pressed=true] .mce-ico,
.codelag-lagoon-comments .mce-toolbar .mce-btn button:hover .mce-ico,
.codelag-lagoon-comments .mce-toolbar .mce-btn button.mce-active .mce-ico,
.codelag-lagoon-comments .mce-toolbar .mce-btn button[aria-pressed=true] .mce-ico {
  color: var(--cl-primary) !important;
}
.codelag-lagoon-comments .mce-toolbar .mce-btn-group {
  border: 0 !important;
}
.codelag-lagoon-comments .mce-container,
.codelag-lagoon-comments .mce-container *,
.codelag-lagoon-comments .mce-panel {
  background-color: transparent !important;
  border-color: transparent !important;
}
.codelag-lagoon-comments .quicktags-toolbar {
  background: var(--cl-surface-container) !important;
  border: 0 !important;
  padding: 0.3rem 0.45rem !important;
}
.codelag-lagoon-comments .quicktags-toolbar input.ed_button,
.codelag-lagoon-comments .quicktags-toolbar input.button {
  background: var(--cl-surface-high) !important;
  color: var(--cl-on-surface-variant) !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 0.7rem !important;
  padding: 0.25rem 0.55rem !important;
  border-radius: var(--cl-radius-sm) !important;
}
.codelag-lagoon-comments .quicktags-toolbar input.ed_button:hover, .codelag-lagoon-comments .quicktags-toolbar input.ed_button:focus-visible,
.codelag-lagoon-comments .quicktags-toolbar input.button:hover,
.codelag-lagoon-comments .quicktags-toolbar input.button:focus-visible {
  background: var(--cl-surface-highest) !important;
  color: var(--cl-primary) !important;
}
.codelag-lagoon-comments .wp-editor-area,
.codelag-lagoon-comments textarea.wp-editor-area {
  background: var(--cl-surface-lowest) !important;
  color: var(--cl-on-surface) !important;
  border: 0 !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
  padding: 0.85rem 1rem !important;
}
.codelag-lagoon-comments .mce-edit-area {
  background: var(--cl-surface-lowest) !important;
  border: 0 !important;
}
.codelag-lagoon-comments .mce-statusbar {
  background: var(--cl-toolbar) !important;
  border: 0 !important;
  border-top: 1px solid var(--cl-secondary) !important;
  color: var(--cl-on-surface-variant) !important;
}
.codelag-lagoon-comments .mce-path {
  background: transparent !important;
}
.codelag-lagoon-comments .mce-path-item {
  display: inline-block;
  padding: 0.15rem 0.5rem !important;
  margin: 0.2rem !important;
  border-radius: var(--cl-radius-sm) !important;
  background: var(--cl-surface-highest) !important;
  color: var(--cl-accent) !important;
  opacity: 0.8;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.04em;
  text-transform: lowercase;
}
.codelag-lagoon-comments .mce-path-item:hover, .codelag-lagoon-comments .mce-path-item:focus-visible {
  color: var(--cl-accent) !important;
  opacity: 1;
}
.codelag-lagoon-comments .mce-resizehandle {
  background: transparent !important;
  color: var(--cl-accent) !important;
  opacity: 0.55;
}
.codelag-lagoon-comments .mce-resizehandle:hover {
  opacity: 1;
}
.codelag-lagoon-comments .form-submit {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.75rem;
}
.codelag-lagoon-comments .comment-reply-title {
  color: var(--cl-on-surface);
  font-family: inherit;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 1.25rem 0 0.5rem !important;
}
.codelag-lagoon-comments .comment-reply-title small {
  font-size: 0.7rem;
  margin-left: 0.75rem;
  font-weight: 600;
}
.codelag-lagoon-comments .comment-reply-title small a {
  color: var(--cl-primary);
  text-decoration: none;
}
.codelag-lagoon-comments .logged-in-as,
.codelag-lagoon-comments .comment-notes,
.codelag-lagoon-comments .comment-form-cookies-consent {
  font-size: 0.75rem;
  color: var(--cl-on-surface-variant);
  opacity: 0.7;
  margin: 0.25rem 0 0.5rem;
}
.codelag-lagoon-comments .logged-in-as a,
.codelag-lagoon-comments .comment-notes a,
.codelag-lagoon-comments .comment-form-cookies-consent a {
  color: var(--cl-primary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.codelag-lagoon-comments input.codelag-comment-submit,
.codelag-lagoon-comments input[type=submit].codelag-comment-submit,
.codelag-lagoon-comments .form-submit .codelag-comment-submit,
.codelag-lagoon-comments .form-submit input[type=submit] {
  all: unset;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.6rem 1.5rem;
  border-radius: var(--cl-radius-pill);
  background: linear-gradient(135deg, var(--cl-primary) 0%, var(--cl-primary-dim) 100%);
  color: var(--cl-primary-text);
  font-family: inherit;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  cursor: pointer;
  box-shadow: 0 0 18px rgba(0, 240, 255, 0.2);
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.codelag-lagoon-comments input.codelag-comment-submit:hover, .codelag-lagoon-comments input.codelag-comment-submit:focus-visible,
.codelag-lagoon-comments input[type=submit].codelag-comment-submit:hover,
.codelag-lagoon-comments input[type=submit].codelag-comment-submit:focus-visible,
.codelag-lagoon-comments .form-submit .codelag-comment-submit:hover,
.codelag-lagoon-comments .form-submit .codelag-comment-submit:focus-visible,
.codelag-lagoon-comments .form-submit input[type=submit]:hover,
.codelag-lagoon-comments .form-submit input[type=submit]:focus-visible {
  transform: scale(0.97);
  box-shadow: 0 0 26px rgba(0, 240, 255, 0.32);
}

body:not(.logged-in) .codelag-lagoon-comments {
  display: none;
}

.wp-block-codelag-lagoon-prose {
  color: var(--cl-on-surface-variant);
  font-size: 0.9rem;
  line-height: 1.6;
}
.wp-block-codelag-lagoon-prose a {
  color: var(--cl-primary);
}
.wp-block-codelag-lagoon-prose code {
  background: var(--cl-surface-container);
  color: var(--cl-primary);
  padding: 0.1rem 0.4rem;
  border-radius: var(--cl-radius-sm);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/**
 * Floating theme-picker panel — draggable between the left and right edges,
 * expands from a side toggle button.
 *
 * All colour and radius values come from the active palette via
 * `var(--cl-*)`, so the panel follows whichever theme the user is in.
 */
.codelag-theme-panel {
  position: fixed;
  top: 45%;
  z-index: 1000;
  display: flex;
  align-items: flex-start;
  pointer-events: none;
}
.codelag-theme-panel[data-side=right] {
  right: 0;
  flex-direction: row;
}
.codelag-theme-panel[data-side=left] {
  left: 0;
  flex-direction: row-reverse;
}
.codelag-theme-panel__toggle, .codelag-theme-panel__close, .codelag-theme-panel__side-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  color: var(--cl-on-surface-variant);
  cursor: pointer;
  pointer-events: auto;
  transition: color 160ms ease, background 160ms ease;
}
.codelag-theme-panel__toggle:hover, .codelag-theme-panel__toggle:focus-visible, .codelag-theme-panel__close:hover, .codelag-theme-panel__close:focus-visible, .codelag-theme-panel__side-btn:hover, .codelag-theme-panel__side-btn:focus-visible {
  color: var(--cl-primary);
}
.codelag-theme-panel__toggle .material-symbols-outlined, .codelag-theme-panel__close .material-symbols-outlined, .codelag-theme-panel__side-btn .material-symbols-outlined {
  font-size: 1.1rem;
}
.codelag-theme-panel__toggle {
  width: 2.2rem;
  height: 2.2rem;
  background: var(--cl-surface-container);
  color: var(--cl-primary);
  border: 1px solid var(--cl-outline-variant);
}
.codelag-theme-panel__toggle .material-symbols-outlined {
  font-size: 1.25rem;
}
.codelag-theme-panel:has(.codelag-theme-panel__body:not([hidden])) .codelag-theme-panel__toggle {
  align-self: flex-start;
}
.codelag-theme-panel[data-side=right] .codelag-theme-panel__toggle {
  border-radius: var(--cl-radius) 0 0 var(--cl-radius);
}
.codelag-theme-panel[data-side=left] .codelag-theme-panel__toggle {
  border-radius: 0 var(--cl-radius) var(--cl-radius) 0;
}
.codelag-theme-panel__body {
  pointer-events: auto;
  width: 15rem;
  padding: 1rem;
  background: var(--cl-surface-low);
  color: var(--cl-on-surface);
  border: 1px solid var(--cl-outline-variant);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.codelag-theme-panel[data-side=right] .codelag-theme-panel__body {
  border-radius: 0 0 0 var(--cl-radius);
  margin-right: 0;
}
.codelag-theme-panel[data-side=left] .codelag-theme-panel__body {
  border-radius: 0 0 var(--cl-radius) 0;
}
.codelag-theme-panel__body[hidden] {
  display: none !important;
}
.codelag-theme-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.codelag-theme-panel__header-actions {
  display: flex;
  align-items: center;
  gap: 0.15rem;
}
.codelag-theme-panel__title {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--cl-on-surface-variant);
}
.codelag-theme-panel__close, .codelag-theme-panel__side-btn {
  width: 1.8rem;
  height: 1.8rem;
  border-radius: var(--cl-radius-pill);
}
.codelag-theme-panel__close:hover, .codelag-theme-panel__close:focus-visible, .codelag-theme-panel__side-btn:hover, .codelag-theme-panel__side-btn:focus-visible {
  background: var(--cl-surface-high);
}
.codelag-theme-panel__field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.codelag-theme-panel__label {
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--cl-on-surface-variant);
  opacity: 0.8;
}
.codelag-theme-panel__cols {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.2rem;
  border-radius: var(--cl-radius-pill);
  background: var(--cl-surface-container);
  align-self: flex-start;
}
.codelag-theme-panel__cols-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--cl-on-surface-variant);
  cursor: pointer;
  border-radius: var(--cl-radius-pill);
  transition: background 160ms ease, color 160ms ease;
}
.codelag-theme-panel__cols-btn .material-symbols-outlined {
  font-size: 1rem !important;
}
.codelag-theme-panel__cols-btn:hover, .codelag-theme-panel__cols-btn:focus-visible {
  color: var(--cl-primary);
}
.codelag-theme-panel__cols-btn[aria-pressed=true] {
  background: var(--cl-primary);
  color: var(--cl-primary-text);
}
.codelag-theme-panel__select {
  appearance: none;
  -webkit-appearance: none;
  padding: 0.4rem 1.75rem 0.4rem 0.7rem;
  background-color: var(--cl-surface-container);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.55rem center;
  background-size: 10px 10px;
  border: 1px solid var(--cl-outline-variant);
  border-radius: var(--cl-radius-pill);
  color: var(--cl-on-surface);
  font-size: 0.8rem;
  line-height: 1.3;
  cursor: pointer;
}
.codelag-theme-panel__select:hover, .codelag-theme-panel__select:focus-visible {
  border-color: var(--cl-primary);
  outline: none;
}

/**
 * Lagoon archive page (CPT archive + three taxonomy archives).
 *
 * The filter bar and snippet card visuals live with their blocks in the
 * blocks mu-plugin; this partial only styles the page-level chrome around
 * them: hero heading, grid wrapper, pagination, empty state.
 *
 * Colour / radius flow through `var(--cl-*)` so the archive follows the
 * active site palette.
 */
.codelag-archive {
  color: var(--cl-on-surface);
  background: var(--cl-bg);
}
.codelag-archive__hero {
  margin-bottom: 0.75rem;
}
.codelag-archive__title {
  color: var(--cl-on-surface) !important;
  font-weight: 800;
  text-align: left !important;
}
.codelag-archive__desc {
  color: var(--cl-on-surface-variant);
  font-size: 0.9rem;
  line-height: 1.55;
  margin-top: 0.35rem;
}
.codelag-archive__query {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.codelag-archive__query[aria-busy=true] {
  opacity: 0.6;
  pointer-events: none;
}
.codelag-archive .wp-block-post-template.codelag-archive__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 1rem;
}
.codelag-archive .wp-block-post-template.codelag-archive__grid > li {
  margin: 0;
}
.codelag-archive__empty {
  padding: 2rem 1rem;
  text-align: center;
  color: var(--cl-on-surface-variant);
  opacity: 0.7;
  font-style: italic;
}
.codelag-archive__pagination {
  margin-top: 1.5rem;
}
.codelag-archive__pagination .wp-block-query-pagination-numbers {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--cl-on-surface-variant);
}
.codelag-archive__pagination .wp-block-query-pagination-numbers a,
.codelag-archive__pagination .wp-block-query-pagination-numbers .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.8rem;
  height: 1.8rem;
  padding: 0 0.5rem;
  border-radius: var(--cl-radius-pill);
  color: var(--cl-on-surface-variant);
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 600;
}
.codelag-archive__pagination .wp-block-query-pagination-numbers a:hover, .codelag-archive__pagination .wp-block-query-pagination-numbers a:focus-visible,
.codelag-archive__pagination .wp-block-query-pagination-numbers .page-numbers:hover,
.codelag-archive__pagination .wp-block-query-pagination-numbers .page-numbers:focus-visible {
  color: var(--cl-primary);
  background: var(--cl-surface-container);
}
.codelag-archive__pagination .wp-block-query-pagination-numbers a.current,
.codelag-archive__pagination .wp-block-query-pagination-numbers .page-numbers.current {
  background: var(--cl-primary);
  color: var(--cl-primary-text);
}
.codelag-archive__pagination .wp-block-query-pagination-previous,
.codelag-archive__pagination .wp-block-query-pagination-next {
  color: var(--cl-on-surface-variant);
  text-decoration: none;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.codelag-archive__pagination .wp-block-query-pagination-previous:hover, .codelag-archive__pagination .wp-block-query-pagination-previous:focus-visible,
.codelag-archive__pagination .wp-block-query-pagination-next:hover,
.codelag-archive__pagination .wp-block-query-pagination-next:focus-visible {
  color: var(--cl-primary);
}

@media (min-width: 720px) {
  :root[data-codelag-cols="2"] .codelag-archive .wp-block-post-template.codelag-archive__grid {
    display: block !important;
    column-count: 2;
    column-gap: 1rem;
  }
  :root[data-codelag-cols="2"] .codelag-archive .wp-block-post-template.codelag-archive__grid > li {
    break-inside: avoid;
    margin-bottom: 1rem;
    display: block;
  }
}

/**
 * Theme override for `codelag/ascii-art`.
 *
 * The block ships with neutral stock WordPress styling (see the block's own
 * style.scss). Here we overlay CodeLagoon's palette — `--cl-surface-*`,
 * `--cl-on-*`, accent colours — so the rotating art reads as part of the
 * themed chrome without having to know anything about the block itself.
 */
.codelag-ascii-art,
.wp-block-codelag-ascii-art {
  color: var(--cl-on-surface);
  background: var(--cl-surface-low);
  border: 1px solid var(--cl-outline-variant);
  border-radius: var(--cl-radius);
  padding: 100px;
}
.codelag-ascii-art__stage,
.wp-block-codelag-ascii-art__stage {
  color: var(--cl-primary);
  font-size: 0.8rem;
  line-height: 1.2;
  text-shadow: 0 0 8px color-mix(in srgb, var(--cl-primary) 30%, transparent);
}
.codelag-ascii-art__next,
.wp-block-codelag-ascii-art__next {
  color: var(--cl-primary);
  border-color: var(--cl-primary);
}
.codelag-ascii-art__next:hover, .codelag-ascii-art__next:focus-visible,
.wp-block-codelag-ascii-art__next:hover,
.wp-block-codelag-ascii-art__next:focus-visible {
  background: color-mix(in srgb, var(--cl-primary) 15%, transparent);
  color: var(--cl-primary);
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zYXNzL2Fzc2V0cy9zYXNzL3N0eWxlLnNjc3MiLCJhc3NldHMvc2Fzcy9iYXNlL190aGVtZS1kZXRhaWxzLnNjc3MiLCJhc3NldHMvc2Fzcy9iYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJhc3NldHMvc2Fzcy9zdHlsZS5zY3NzIiwiYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImFzc2V0cy9zYXNzL2xheW91dC9fcGFnZS5zY3NzIiwiYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9fbGFnb29uLnNjc3MiLCJhc3NldHMvc2Fzcy9jb21wb25lbnRzL190aGVtZS1wYW5lbC5zY3NzIiwiYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9fYXJjaGl2ZS5zY3NzIiwiYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9fYXNjaWktYXJ0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQUE7QUNBQTs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNFQSxxQkFBQTtBQUNBO0VBQ0M7SUFDQyx1QkFBQTtFQ2dCQTtBQUNGO0FEYkE7RUFDQyxpQkFBQTtFQUNBLGlDQUFBO0VBQ0Esb0NBQUE7RUFFQSxtQkFBQTtFQUNBLGtDQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTtBQ2NEO0FDVkU7RUZaRjtJQVdFLGdCQUFBO0VDZUE7QUFDRjs7QURaQTs7Ozs7RUFBQTtBQU1BO0VBQ0MsOENBQUE7QUNlRDs7QURiQTtFQUNDLGtEQUFBO0FDZ0JEOztBRGRBO0VBQ0Msd0RBQUE7QUNpQkQ7O0FEZkE7RUFDQyxtREFBQTtBQ2tCRDs7QURoQkE7RUFDQyxxREFBQTtBQ21CRDs7QURqQkE7RUFDQyxzQ0FBQTtBQ29CRDs7QURsQkE7RUFDQyw4Q0FBQTtBQ3FCRDs7QURuQkE7RUFDQyxtQ0FBQTtBQ3NCRDs7QURuQkEsOEJBQUE7QUFDQTs7Ozs7Ozs7Ozs7RUFXQyxpQkFBQTtBQ3NCRDs7QURu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RDtBTzd1Q0M7O0VBQ0Msd0JBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsMkVBQUE7QVBndkNGO0FPN3VDQzs7RUFDQyx3QkFBQTtFQUNBLCtCQUFBO0FQZ3ZDRjtBTzl1Q0U7OztFQUVDLGtFQUFBO0VBQ0Esd0JBQUE7QVBpdkNIIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgXCJiYXNlL3RoZW1lLWRldGFpbHNcIjtcbkB1c2UgXCJiYXNlXCI7XG5AdXNlIFwibGF5b3V0XCI7XG5AdXNlIFwiY29tcG9uZW50c1wiO1xuIiwiLypcblRoZW1lIE5hbWU6ICAgICAgICAgQ29kZUxhZ29vblxuVGhlbWUgVVJJOiAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vZ2luMDExNS9jb2RlbGFnb29uXG5BdXRob3I6ICAgICAgICAgICAgIGdpbjAxMTVcbkF1dGhvciBVUkk6ICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2dpbjAxMTVcbkRlc2NyaXB0aW9uOiAgICAgICAgVGhlIENvZGVMYWdvb24gdGhlbWUg4oCUIGEgcHJvLXRvb2wgYWVzdGhldGljIGZvciBhIGNvZGUtc25pcHBldCBzaGFyaW5nIHNpdGUuXG5WZXJzaW9uOiAgICAgICAgICAgIDEuMC4wXG5VcGRhdGUgVVJJOlx0XHRcdGZhbHNlXG5SZXF1aXJlcyBhdCBsZWFzdDogIDYuMVxuUmVxdWlyZXMgUEhQOiAgICAgICA4LjNcbkxpY2Vuc2U6ICAgICAgICAgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMgb3IgbGF0ZXJcbkxpY2Vuc2UgVVJJOiAgICAgICAgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAuaHRtbFxuVGV4dCBEb21haW46ICAgICAgICBjb2RlbGFnb29uXG5Eb21haW4gUGF0aDogICAgICAgIC9sYW5ndWFnZXNcblRhZ3M6ICAgICAgICAgICAgICAgY29kZWxhZ29vblxuKi9cbiIsIkB1c2UgXCIuLi9hYnN0cmFjdHMvbWl4aW5zXCIgYXMgKjtcblxuLyogU21vb3RoIHNjcm9sbGluZyAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG5cdCoge1xuXHRcdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuXHR9XG59XG5cbmJvZHkge1xuXHRsaW5lLWhlaWdodDogMS41NTtcblx0YmFja2dyb3VuZDogdmFyKC0tY2wtYmcsICMxMzEzMTMpO1xuXHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSwgI2U1ZTJlMSk7XG5cblx0LyogRm9udCBzbW9vdGhpbmcgKi9cblx0dGV4dC1yZW5kZXJpbmc6IGdlb21ldHJpY3ByZWNpc2lvbjtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKG1lZGl1bSkge1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdH1cbn1cblxuLypcbiAqIE1ha2UgY29yZSBibG9jayBzdXJmYWNlcyBmb2xsb3cgdGhlIHNpdGUgdGhlbWUgYXV0b21hdGljYWxseS4gQW55IGJsb2NrXG4gKiB3aXRoIGAuaGFzLWJhc2UtYmFja2dyb3VuZC1jb2xvcmAgLyBgLmhhcy10ZXJ0aWFyeS1iYWNrZ3JvdW5kLWNvbG9yYFxuICogKHRoZSBwYWxldHRlIHNsdWdzIGluIHRoZW1lLmpzb24pIG5vdyByZWFkcyBmcm9tIHRoZSBjdXJyZW50IENTU1xuICogY3VzdG9tLXByb3BlcnR5IHBhbGV0dGUsIHNvIHBhbGV0dGVzIHN3YXAgaW4gbG9jay1zdGVwIHdpdGggdGhlIHBpY2tlci5cbiAqL1xuLmhhcy1iYXNlLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbC1zdXJmYWNlKSAhaW1wb3J0YW50O1xufVxuLmhhcy10ZXJ0aWFyeS1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2wtc3VyZmFjZS1sb3cpICFpbXBvcnRhbnQ7XG59XG4uaGFzLXN1cmZhY2UtY29udGFpbmVyLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbC1zdXJmYWNlLWNvbnRhaW5lcikgIWltcG9ydGFudDtcbn1cbi5oYXMtc3VyZmFjZS1oaWdoLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbC1zdXJmYWNlLWhpZ2gpICFpbXBvcnRhbnQ7XG59XG4uaGFzLXN1cmZhY2UtbG93ZXN0LWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbC1zdXJmYWNlLWxvd2VzdCkgIWltcG9ydGFudDtcbn1cbi5oYXMtY29udHJhc3QtY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSkgIWltcG9ydGFudDtcbn1cbi5oYXMtc2Vjb25kYXJ5LWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCkgIWltcG9ydGFudDtcbn1cbi5oYXMtcHJpbWFyeS1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4vKiBSZWR1Y2Ugd2lkb3dzIGFuZCBvcnBoYW5zICovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wLFxuYmxvY2txdW90ZSxcbmNhcHRpb24sXG5maWdjYXB0aW9uLFxubGkge1xuXHR0ZXh0LXdyYXA6IHByZXR0eTtcbn1cblxuLyogUmVtb3ZlIGRvdWJsZS1ib2xkIGhlYWRpbmdzICovXG4ud3AtYmxvY2staGVhZGluZyBzdHJvbmcsXG4ud3AtYmxvY2staGVhZGluZyBiIHtcblx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLypcblRoZW1lIE5hbWU6ICAgICAgICAgQ29kZUxhZ29vblxuVGhlbWUgVVJJOiAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vZ2luMDExNS9jb2RlbGFnb29uXG5BdXRob3I6ICAgICAgICAgICAgIGdpbjAxMTVcbkF1dGhvciBVUkk6ICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2dpbjAxMTVcbkRlc2NyaXB0aW9uOiAgICAgICAgVGhlIENvZGVMYWdvb24gdGhlbWUg4oCUIGEgcHJvLXRvb2wgYWVzdGhldGljIGZvciBhIGNvZGUtc25pcHBldCBzaGFyaW5nIHNpdGUuXG5WZXJzaW9uOiAgICAgICAgICAgIDEuMC4wXG5VcGRhdGUgVVJJOlx0XHRcdGZhbHNlXG5SZXF1aXJlcyBhdCBsZWFzdDogIDYuMVxuUmVxdWlyZXMgUEhQOiAgICAgICA4LjNcbkxpY2Vuc2U6ICAgICAgICAgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMgb3IgbGF0ZXJcbkxpY2Vuc2UgVVJJOiAgICAgICAgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0zLjAuaHRtbFxuVGV4dCBEb21haW46ICAgICAgICBjb2RlbGFnb29uXG5Eb21haW4gUGF0aDogICAgICAgIC9sYW5ndWFnZXNcblRhZ3M6ICAgICAgICAgICAgICAgY29kZWxhZ29vblxuKi9cbi8qIFNtb290aCBzY3JvbGxpbmcgKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAqIHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgfVxufVxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1iZywgIzEzMTMxMyk7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLCAjZTVlMmUxKTtcbiAgLyogRm9udCBzbW9vdGhpbmcgKi9cbiAgdGV4dC1yZW5kZXJpbmc6IGdlb21ldHJpY3ByZWNpc2lvbjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzgxcHgpIHtcbiAgYm9keSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufVxuXG4vKlxuICogTWFrZSBjb3JlIGJsb2NrIHN1cmZhY2VzIGZvbGxvdyB0aGUgc2l0ZSB0aGVtZSBhdXRvbWF0aWNhbGx5LiBBbnkgYmxvY2tcbiAqIHdpdGggYC5oYXMtYmFzZS1iYWNrZ3JvdW5kLWNvbG9yYCAvIGAuaGFzLXRlcnRpYXJ5LWJhY2tncm91bmQtY29sb3JgXG4gKiAodGhlIHBhbGV0dGUgc2x1Z3MgaW4gdGhlbWUuanNvbikgbm93IHJlYWRzIGZyb20gdGhlIGN1cnJlbnQgQ1NTXG4gKiBjdXN0b20tcHJvcGVydHkgcGFsZXR0ZSwgc28gcGFsZXR0ZXMgc3dhcCBpbiBsb2NrLXN0ZXAgd2l0aCB0aGUgcGlja2VyLlxuICovXG4uaGFzLWJhc2UtYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsLXN1cmZhY2UpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtdGVydGlhcnktYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsLXN1cmZhY2UtbG93KSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLXN1cmZhY2UtY29udGFpbmVyLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbC1zdXJmYWNlLWNvbnRhaW5lcikgIWltcG9ydGFudDtcbn1cblxuLmhhcy1zdXJmYWNlLWhpZ2gtYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsLXN1cmZhY2UtaGlnaCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1zdXJmYWNlLWxvd2VzdC1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2wtc3VyZmFjZS1sb3dlc3QpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtY29udHJhc3QtY29sb3Ige1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1zZWNvbmRhcnktY29sb3Ige1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLXByaW1hcnktY29sb3Ige1xuICBjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSkgIWltcG9ydGFudDtcbn1cblxuLyogUmVkdWNlIHdpZG93cyBhbmQgb3JwaGFucyAqL1xuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucCxcbmJsb2NrcXVvdGUsXG5jYXB0aW9uLFxuZmlnY2FwdGlvbixcbmxpIHtcbiAgdGV4dC13cmFwOiBwcmV0dHk7XG59XG5cbi8qIFJlbW92ZSBkb3VibGUtYm9sZCBoZWFkaW5ncyAqL1xuLndwLWJsb2NrLWhlYWRpbmcgc3Ryb25nLFxuLndwLWJsb2NrLWhlYWRpbmcgYiB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIFN0aWNreS1mb290ZXIgbGF5b3V0IOKAlCBtYWtlIGA8Ym9keT5gIGZpbGwgdGhlIHZpZXdwb3J0IHZlcnRpY2FsbHksIGxldFxuICogdGhlIEd1dGVuYmVyZyBzaXRlIHdyYXBwZXIgYW5kIGl0cyBpbm5lciBgPG1haW4+YCBncm93IHRvIGFic29yYiBhbnlcbiAqIHNwYXJlIHNwYWNlLCBzbyBhIHNob3J0IHBhZ2UncyBmb290ZXIgc3RpbGwgc2l0cyBvbiB0aGUgdmlld3BvcnQgZWRnZVxuICogaW5zdGVhZCBvZiBmbG9hdGluZyB1bmRlciBhIGhhbGYtZW1wdHkgcGFnZS5cbiAqXG4gKiBUYXJnZXRzIHRoZSBzdGFuZGFyZCBibG9jay10aGVtZSBvdXRwdXQ6IGA8Ym9keT5gID4gYC53cC1zaXRlLWJsb2Nrc2BcbiAqID4gYGhlYWRlcmAgLyBgbWFpbmAgLyBgZm9vdGVyYCAoZnJvbSB0ZW1wbGF0ZXMvKi5odG1sICsgcGFydHMvKi5odG1sKS5cbiAqL1xuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG5ib2R5LmFkbWluLWJhciB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMnB4KTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzgycHgpIHtcbiAgYm9keS5hZG1pbi1iYXIge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0NnB4KTtcbiAgfVxufVxuYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi53cC1zaXRlLWJsb2NrcyB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ud3Atc2l0ZS1ibG9ja3MgPiBtYWluIHtcbiAgZmxleDogMSAwIGF1dG87XG59XG5cbi8qKlxuICogUGFnZVxuICogLSBEZXNjcmlwdGlvbiBvZiBwYWdlIHN0eWxlc1xuICovXG4ud3AtdGhlbWUtc3R5bGUge1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMnB4O1xuICBhcHBlYXJhbmNlOiBhdXRvO1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAud3AtdGhlbWUtc3R5bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTc1OWI7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3ODFweCkge1xuICAud3AtdGhlbWUtc3R5bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTRlMjE7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3ODJweCkgYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gIC53cC10aGVtZS1zdHlsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdhZDAzYTtcbiAgfVxufVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiA4cHggMTVweDtcbn1cbmJ1dHRvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKipcbiAqIExhZ29vbi1zcGVjaWZpYyB0aGVtZSBzdHlsZXMuXG4gKlxuICogQWxsIGNvbG91ciBhbmQgcmFkaXVzIHZhbHVlcyBjb21lIGZyb20gQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzIGVtaXR0ZWQgYnlcbiAqIEdpbjAxMTVcXENvZGVsYWdvb25cXFRoZW1lXFxTaXRlVGhlbWVTZXJ2aWNlLiBQYWxldHRlIHN3YXBzIGFyZSBkcml2ZW4gYnkgdGhlXG4gKiBgZGF0YS1zaXRlLXRoZW1lYCBhdHRyaWJ1dGUgb24gPGh0bWw+OyBjb21wb25lbnQgcnVsZXMgb25seSByZWFkIHZhcmlhYmxlcy5cbiAqXG4gKiBEbyBOT1QgYWRkIGhleCB2YWx1ZXMgaGVyZS4gRGVmaW5lIHRoZW0gaW4gU2l0ZVRoZW1lczo6VEhFTUVTLlxuICovXG4uY29kZWxhZy1zaXRlLWhlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNnJlbSBjbGFtcCgxcmVtLCAzdncsIDIuNXJlbSkgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jbC1vdXRsaW5lLXZhcmlhbnQpO1xuICBib3gtc2hhZG93OiAwIDZweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uY29kZWxhZy1zaXRlLWhlYWRlcl9fYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuICBmb250LXdlaWdodDogODAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cbi5jb2RlbGFnLXNpdGUtaGVhZGVyX19icmFuZDpob3ZlciwgLmNvZGVsYWctc2l0ZS1oZWFkZXJfX2JyYW5kOmZvY3VzLXZpc2libGUge1xuICBvcGFjaXR5OiAwLjg1O1xufVxuLmNvZGVsYWctc2l0ZS1oZWFkZXJfX2JyYW5kLWljb24ge1xuICBmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xufVxuLmNvZGVsYWctc2l0ZS1oZWFkZXJfX2JyYW5kLXRleHQge1xuICBmb250LXNpemU6IDEuMDVyZW07XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xufVxuLmNvZGVsYWctc2l0ZS1oZWFkZXIgLmNvZGVsYWctc2l0ZS1oZWFkZXJfX25hdiAud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyIHtcbiAgZ2FwOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1zaXRlLWhlYWRlciAuY29kZWxhZy1zaXRlLWhlYWRlcl9fbmF2IC53cC1ibG9jay1uYXZpZ2F0aW9uLWl0ZW1fX2NvbnRlbnQge1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSk7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMTYwbXMgZWFzZSwgb3BhY2l0eSAxNjBtcyBlYXNlO1xufVxuLmNvZGVsYWctc2l0ZS1oZWFkZXIgLmNvZGVsYWctc2l0ZS1oZWFkZXJfX25hdiAud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtX19jb250ZW50OmhvdmVyLCAuY29kZWxhZy1zaXRlLWhlYWRlciAuY29kZWxhZy1zaXRlLWhlYWRlcl9fbmF2IC53cC1ibG9jay1uYXZpZ2F0aW9uLWl0ZW1fX2NvbnRlbnQ6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcbiAgb3BhY2l0eTogMTtcbn1cbi5jb2RlbGFnLXNpdGUtaGVhZGVyIC5jb2RlbGFnLXNpdGUtaGVhZGVyX19uYXYgLmN1cnJlbnQtbWVudS1pdGVtIC53cC1ibG9jay1uYXZpZ2F0aW9uLWl0ZW1fX2NvbnRlbnQge1xuICBjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG4gIG9wYWNpdHk6IDE7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1jbC1wcmltYXJ5KTtcbn1cbi5jb2RlbGFnLXNpdGUtaGVhZGVyX19pY29uLWJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UpO1xuICBvcGFjaXR5OiAwLjc7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzLXBpbGwpO1xuICB0cmFuc2l0aW9uOiBjb2xvciAxNjBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE2MG1zIGVhc2UsIG9wYWNpdHkgMTYwbXMgZWFzZTtcbn1cbi5jb2RlbGFnLXNpdGUtaGVhZGVyX19pY29uLWJ1dHRvbjpob3ZlciwgLmNvZGVsYWctc2l0ZS1oZWFkZXJfX2ljb24tYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtaGlnaCk7XG59XG5cbi5jb2RlbGFnLWxhZ29vbi1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWxvdykgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UpO1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzLWxnKSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxLjI1cmVtIGNsYW1wKDFyZW0sIDJ2dywgMS43NXJlbSkgIWltcG9ydGFudDtcbiAgZ2FwOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1sYWdvb24taGVhZGVyX19sZWZ0IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLmNvZGVsYWctbGFnb29uLWhlYWRlcl9fYXZhdGFyIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi10b3A6IDAuMXJlbTtcbn1cbi5jb2RlbGFnLWxhZ29vbi1oZWFkZXJfX2F2YXRhciBpbWcge1xuICB3aWR0aDogMzZweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jb2RlbGFnLWxhZ29vbi1oZWFkZXJfX3RpdGxlIHtcbiAgY29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UpO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uY29kZWxhZy1sYWdvb24tbWV0YSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC42cmVtICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xufVxuLmNvZGVsYWctbGFnb29uLW1ldGEgLmNvZGVsYWctbWV0YS1hdXRob3Ige1xuICBjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uY29kZWxhZy1sYWdvb24tbWV0YSAuY29kZWxhZy1tZXRhLWF1dGhvciBhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jb2RlbGFnLWxhZ29vbi1tZXRhIC5jb2RlbGFnLW1ldGEtYXV0aG9yIGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiQFwiO1xuICBvcGFjaXR5OiAwLjg7XG59XG4uY29kZWxhZy1sYWdvb24tbWV0YSAuY29kZWxhZy1tZXRhLWF1dGhvciBhOmhvdmVyLCAuY29kZWxhZy1sYWdvb24tbWV0YSAuY29kZWxhZy1tZXRhLWF1dGhvciBhOmZvY3VzLXZpc2libGUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5jb2RlbGFnLWxhZ29vbi1tZXRhIC5jb2RlbGFnLW1ldGEtZGF0ZSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuICBmb250LXNpemU6IDAuNzhyZW07XG4gIG9wYWNpdHk6IDAuODtcbn1cbi5jb2RlbGFnLWxhZ29vbi1tZXRhIC5jb2RlbGFnLW1ldGEtZGF0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLigKJcIjtcbiAgbWFyZ2luLXJpZ2h0OiAwLjU1cmVtO1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uY29kZWxhZy1sYWdvb24tZXhjZXJwdCB7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xufVxuXG4uY29kZWxhZy1sYWdvb24tY2hpcHMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY29kZWxhZy1jaGlwIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuMjhyZW0gMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzLXBpbGwpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWNvbnRhaW5lcik7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cbi5jb2RlbGFnLWNoaXAgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uY29kZWxhZy1jaGlwIGE6aG92ZXIsIC5jb2RlbGFnLWNoaXAgYTpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xufVxuLmNvZGVsYWctY2hpcCAud3AtYmxvY2stcG9zdC10ZXJtc19fcHJlZml4LFxuLmNvZGVsYWctY2hpcCAud3AtYmxvY2stcG9zdC10ZXJtc19fc3VmZml4IHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4uY29kZWxhZy1jaGlwLS1sYW5nIGEge1xuICBjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC42OHJlbTtcbn1cblxuLmNvZGVsYWctY2hpcC0tcHVycG9zZSBhOmhvdmVyLCAuY29kZWxhZy1jaGlwLS1wdXJwb3NlIGE6Zm9jdXMtdmlzaWJsZSxcbi5jb2RlbGFnLWNoaXAtLXRhZyBhOmhvdmVyLFxuLmNvZGVsYWctY2hpcC0tdGFnIGE6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcbn1cblxuLmNvZGVsYWctaGVhZGVyLWFjdGlvbnMge1xuICBmbGV4OiAwIDAgYXV0byAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiAwLjU1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAwIDAgYXV0byAhaW1wb3J0YW50O1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNvZGVsYWctc2hhcmUtYnV0dG9uLFxuLmNvZGVsYWctZG93bmxvYWQtYnV0dG9uLCAuY29kZWxhZy10aGVtZS1waWNrZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjRyZW07XG4gIHBhZGRpbmc6IDAuNHJlbSAwLjk1cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCk7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1oaWdoKTtcbiAgY29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UpO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTYwbXMgZWFzZSwgdHJhbnNmb3JtIDE2MG1zIGVhc2UsIGNvbG9yIDE2MG1zIGVhc2U7XG59XG4uY29kZWxhZy1zaGFyZS1idXR0b246aG92ZXIsXG4uY29kZWxhZy1kb3dubG9hZC1idXR0b246aG92ZXIsIC5jb2RlbGFnLXRoZW1lLXBpY2tlcjpob3ZlciwgLmNvZGVsYWctc2hhcmUtYnV0dG9uOmZvY3VzLXZpc2libGUsXG4uY29kZWxhZy1kb3dubG9hZC1idXR0b246Zm9jdXMtdmlzaWJsZSwgLmNvZGVsYWctdGhlbWUtcGlja2VyOmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWNvbnRhaW5lcik7XG4gIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcbn1cbltkaXNhYmxlZF0uY29kZWxhZy1zaGFyZS1idXR0b24sXG5bZGlzYWJsZWRdLmNvZGVsYWctZG93bmxvYWQtYnV0dG9uLCBbZGlzYWJsZWRdLmNvZGVsYWctdGhlbWUtcGlja2VyIHtcbiAgb3BhY2l0eTogMC42NTtcbiAgY3Vyc29yOiBwcm9ncmVzcztcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4uY29kZWxhZy10aGVtZS1waWNrZXIge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuMzVyZW0gMC4yNXJlbSAwLjhyZW07XG4gIGdhcDogMC4zNXJlbTtcbn1cbi5jb2RlbGFnLXRoZW1lLXBpY2tlcl9fbGFiZWwge1xuICBmb250LXNpemU6IDAuNjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xufVxuLmNvZGVsYWctdGhlbWUtcGlja2VyX19zZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMS43NXJlbSAwLjI1cmVtIDAuNnJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzLXBpbGwpO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsLXN1cmZhY2UtY29udGFpbmVyKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMic+PHBhdGggZD0nTTIgNGw0IDQgNC00JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwZjBmZicgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC41NXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSk7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuLmNvZGVsYWctdGhlbWUtcGlja2VyX19zZWxlY3Q6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jbC1wcmltYXJ5KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbn1cblxuLmNvZGVsYWctc2hhcmUtYnV0dG9uOjpiZWZvcmUsXG4uY29kZWxhZy1kb3dubG9hZC1idXR0b246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtYXNrLXNpemU6IGNvbnRhaW47XG4gIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG59XG5cbi5jb2RlbGFnLXNoYXJlLWJ1dHRvbjo6YmVmb3JlIHtcbiAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eicgZmlsbD0nYmxhY2snLz48L3N2Zz5cIik7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eicgZmlsbD0nYmxhY2snLz48L3N2Zz5cIik7XG59XG5cbi5jb2RlbGFnLWRvd25sb2FkLWJ1dHRvbjo6YmVmb3JlIHtcbiAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXonIGZpbGw9J2JsYWNrJy8+PC9zdmc+XCIpO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnPjxwYXRoIGQ9J00xOSA5aC00VjNIOXY2SDVsNyA3IDctN3pNNSAxOHYyaDE0di0ySDV6JyBmaWxsPSdibGFjaycvPjwvc3ZnPlwiKTtcbn1cblxuLmNvZGVsYWctZWRpdC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjM1cmVtO1xuICBwYWRkaW5nOiAwLjNyZW0gMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzLXBpbGwpO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1jbC1zdXJmYWNlLWxvd2VzdCk7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlLCBib3gtc2hhZG93IDE2MG1zIGVhc2UsIGJhY2tncm91bmQgMTYwbXMgZWFzZTtcbn1cbi5jb2RlbGFnLWVkaXQtYnV0dG9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxM3B4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGExIDEgMCAwIDAgMC0xLjQxbC0yLjM0LTIuMzRhMSAxIDAgMCAwLTEuNDEgMGwtMS44MyAxLjgzIDMuNzUgMy43NSAxLjgzLTEuODN6JyBmaWxsPSdibGFjaycvPjwvc3ZnPlwiKTtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiBjb250YWluO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnPjxwYXRoIGQ9J00zIDE3LjI1VjIxaDMuNzVMMTcuODEgOS45NGwtMy43NS0zLjc1TDMgMTcuMjV6TTIwLjcxIDcuMDRhMSAxIDAgMCAwIDAtMS40MWwtMi4zNC0yLjM0YTEgMSAwIDAgMC0xLjQxIDBsLTEuODMgMS44MyAzLjc1IDMuNzUgMS44My0xLjgzeicgZmlsbD0nYmxhY2snLz48L3N2Zz5cIik7XG4gIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG59XG4uY29kZWxhZy1lZGl0LWJ1dHRvbjpob3ZlciwgLmNvZGVsYWctZWRpdC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLWFjY2VudC1kaW0pO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpO1xuICBib3gtc2hhZG93OiAwIDAgMThweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4uY29kZWxhZy1mb3JrLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNHJlbTtcbiAgcGFkZGluZzogMC40NXJlbSAxLjE1cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCk7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY2wtcHJpbWFyeSkgMCUsIHZhcigtLWNsLXByaW1hcnktZGltKSAxMDAlKTtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnktdGV4dCk7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDI0MCwgMjU1LCAwLjIyKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE2MG1zIGVhc2UsIGJveC1zaGFkb3cgMTYwbXMgZWFzZTtcbn1cbi5jb2RlbGFnLWZvcmstYnV0dG9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxM3B4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNic+PHBhdGggZD0nTTUgMy4yNWEuNzUuNzUgMCAxIDEtMS41IDAgLjc1Ljc1IDAgMCAxIDEuNSAwWm0wIDIuMTIyYTIuMjUgMi4yNSAwIDEgMC0xLjUgMHYuODc4QTIuMjUgMi4yNSAwIDAgMCA1Ljc1IDguNWgxLjV2Mi4xMjhhMi4yNTEgMi4yNTEgMCAxIDAgMS41IDBWOC41aDEuNWEyLjI1IDIuMjUgMCAwIDAgMi4yNS0yLjI1di0uODc4YTIuMjUgMi4yNSAwIDEgMC0xLjUgMHYuODc4YS43NS43NSAwIDAgMS0uNzUuNzVoLTQuNUEuNzUuNzUgMCAwIDEgNSA2LjI1di0uODc4Wk04Ljc1IDEyLjc1YS43NS43NSAwIDEgMS0xLjUgMCAuNzUuNzUgMCAwIDEgMS41IDBabTMtOC43NWEuNzUuNzUgMCAxIDAgMC0xLjUuNzUuNzUgMCAwIDAgMCAxLjVaJyBmaWxsPSdibGFjaycvPjwvc3ZnPlwiKTtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiBjb250YWluO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGQ9J001IDMuMjVhLjc1Ljc1IDAgMSAxLTEuNSAwIC43NS43NSAwIDAgMSAxLjUgMFptMCAyLjEyMmEyLjI1IDIuMjUgMCAxIDAtMS41IDB2Ljg3OEEyLjI1IDIuMjUgMCAwIDAgNS43NSA4LjVoMS41djIuMTI4YTIuMjUxIDIuMjUxIDAgMSAwIDEuNSAwVjguNWgxLjVhMi4yNSAyLjI1IDAgMCAwIDIuMjUtMi4yNXYtLjg3OGEyLjI1IDIuMjUgMCAxIDAtMS41IDB2Ljg3OGEuNzUuNzUgMCAwIDEtLjc1Ljc1aC00LjVBLjc1Ljc1IDAgMCAxIDUgNi4yNXYtLjg3OFpNOC43NSAxMi43NWEuNzUuNzUgMCAxIDEtMS41IDAgLjc1Ljc1IDAgMCAxIDEuNSAwWm0zLTguNzVhLjc1Ljc1IDAgMSAwIDAtMS41Ljc1Ljc1IDAgMCAwIDAgMS41WicgZmlsbD0nYmxhY2snLz48L3N2Zz5cIik7XG4gIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG59XG4uY29kZWxhZy1mb3JrLWJ1dHRvbjpob3ZlciwgLmNvZGVsYWctZm9yay1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7XG4gIGJveC1zaGFkb3c6IDAgMCAyOHB4IHJnYmEoMCwgMjQwLCAyNTUsIDAuMzUpO1xufVxuLmNvZGVsYWctZm9yay1idXR0b25bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC42NTtcbiAgY3Vyc29yOiBwcm9ncmVzcztcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4uY29kZWxhZy1saW5lYWdlIHtcbiAgbWFyZ2luLXRvcDogMC45cmVtO1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcbiAgZm9udC1zaXplOiAwLjgycmVtO1xuICBsaW5lLWhlaWdodDogMS41NTtcbn1cbi5jb2RlbGFnLWxpbmVhZ2VfX2ljb24ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAwLjM1cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTJweDtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuICBvcGFjaXR5OiAwLjk7XG59XG4uY29kZWxhZy1saW5lYWdlX19wYXJlbnQge1xuICBtYXJnaW46IDA7XG59XG4uY29kZWxhZy1saW5lYWdlX19wYXJlbnQgYSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLmNvZGVsYWctbGluZWFnZV9fcGFyZW50IGE6aG92ZXIsIC5jb2RlbGFnLWxpbmVhZ2VfX3BhcmVudCBhOmZvY3VzLXZpc2libGUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5jb2RlbGFnLWxpbmVhZ2VfX2NoYWluIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAwLjU1cmVtO1xufVxuLmNvZGVsYWctbGluZWFnZV9fY2hhaW4gc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNHJlbTtcbiAgcGFkZGluZzogMC4yMnJlbSAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtY29udGFpbmVyKTtcbiAgY29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC42OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5jb2RlbGFnLWxpbmVhZ2VfX2NoYWluIHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNvZGVsYWctbGluZWFnZV9fY2hhaW4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLilrhcIjtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlO1xufVxuLmNvZGVsYWctbGluZWFnZV9fY2hhaW4gc3VtbWFyeTpob3ZlciwgLmNvZGVsYWctbGluZWFnZV9fY2hhaW4gc3VtbWFyeTpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xufVxuLmNvZGVsYWctbGluZWFnZV9fY2hhaW5bb3Blbl0gc3VtbWFyeTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLilr5cIjtcbn1cbi5jb2RlbGFnLWxpbmVhZ2VfX2xpc3Qge1xuICBtYXJnaW46IDAuNXJlbSAwIDA7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbn1cbi5jb2RlbGFnLWxpbmVhZ2VfX2xpc3QgbGkge1xuICBtYXJnaW46IDAuMnJlbSAwO1xufVxuLmNvZGVsYWctbGluZWFnZV9fbGlzdCBhIHtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uY29kZWxhZy1saW5lYWdlX19saXN0IGE6aG92ZXIsIC5jb2RlbGFnLWxpbmVhZ2VfX2xpc3QgYTpmb2N1cy12aXNpYmxlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uY29kZWxhZy1saW5lYWdlX19tZXRhIHtcbiAgY29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCk7XG4gIG9wYWNpdHk6IDAuNztcbiAgZm9udC1zaXplOiAwLjcycmVtO1xufVxuLmNvZGVsYWctbGluZWFnZV9fZGVsZXRlZCB7XG4gIG9wYWNpdHk6IDAuNTU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1sb3cpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHNfX3RpdGxlIHtcbiAgY29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UpO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjQ1cmVtO1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzX190aXRsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS4xZW07XG4gIGhlaWdodDogMS4xZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuICBtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0Jz48cGF0aCBkPSdNMjEgNmgtMnY5SDZ2MmMwIC41NS40NSAxIDEgMWgxMWw0IDRWN2MwLS41NS0uNDUtMS0xLTF6bS00IDZWM2MwLS41NS0uNDUtMS0xLTFIM2MtLjU1IDAtMSAuNDUtMSAxdjE0bDQtNGgxMGMuNTUgMCAxLS40NSAxLTF6JyBmaWxsPSdibGFjaycvPjwvc3ZnPlwiKTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0Jz48cGF0aCBkPSdNMjEgNmgtMnY5SDZ2MmMwIC41NS40NSAxIDEgMWgxMWw0IDRWN2MwLS41NS0uNDUtMS0xLTF6bS00IDZWM2MwLS41NS0uNDUtMS0xLTFIM2MtLjU1IDAtMSAuNDUtMSAxdjE0bDQtNGgxMGMuNTUgMCAxLS40NSAxLTF6JyBmaWxsPSdibGFjaycvPjwvc3ZnPlwiKTtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiBjb250YWluO1xuICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5jb2RlbGFnLWNvbW1lbnRzLWxpc3QgLndwLWJsb2NrLWNvbHVtbnMge1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1jb250YWluZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMpO1xuICBib3JkZXI6IDA7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLmNvZGVsYWctY29tbWVudHMtbGlzdCAud3AtYmxvY2stYXZhdGFyIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLmNvZGVsYWctY29tbWVudHMtbGlzdCAud3AtYmxvY2stY29tbWVudC1hdXRob3ItbmFtZSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5jb2RlbGFnLWNvbW1lbnRzLWxpc3QgLndwLWJsb2NrLWNvbW1lbnQtYXV0aG9yLW5hbWUgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLmNvZGVsYWctY29tbWVudHMtbGlzdCAud3AtYmxvY2stY29tbWVudC1hdXRob3ItbmFtZSBhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkBcIjtcbiAgb3BhY2l0eTogMC44NTtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29kZWxhZy1jb21tZW50cy1saXN0IC53cC1ibG9jay1jb21tZW50LWF1dGhvci1uYW1lIGE6aG92ZXIsIC5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29kZWxhZy1jb21tZW50cy1saXN0IC53cC1ibG9jay1jb21tZW50LWF1dGhvci1uYW1lIGE6Zm9jdXMtdmlzaWJsZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5jb2RlbGFnLWNvbW1lbnRzLWxpc3QgLndwLWJsb2NrLWNvbW1lbnQtZGF0ZSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuICBvcGFjaXR5OiAwLjg7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29kZWxhZy1jb21tZW50cy1saXN0IC53cC1ibG9jay1jb21tZW50LWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAwLjNyZW07XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuICBmb250LXNpemU6IDAuODhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU1O1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5jb2RlbGFnLWNvbW1lbnRzLWxpc3QgLndwLWJsb2NrLWNvbW1lbnQtY29udGVudCBwIHtcbiAgbWFyZ2luOiAwLjNyZW0gMDtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29kZWxhZy1jb21tZW50cy1saXN0IC53cC1ibG9jay1jb21tZW50LWNvbnRlbnQgY29kZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtbG93ZXN0KTtcbiAgcGFkZGluZzogMC4xcmVtIDAuMzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1zbSk7XG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMC44OGVtO1xuICBjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLmNvZGVsYWctY29tbWVudHMtbGlzdCAud3AtYmxvY2stY29tbWVudC1jb250ZW50IHByZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtbG93ZXN0KTtcbiAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtc20pO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5jb2RlbGFnLWNvbW1lbnRzLWxpc3QgLndwLWJsb2NrLWNvbW1lbnQtY29udGVudCBibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1jbC1wcmltYXJ5KTtcbiAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgcGFkZGluZzogMC4yNXJlbSAwIDAuMjVyZW0gMC45cmVtO1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcbiAgb3BhY2l0eTogMC44NTtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29kZWxhZy1jb21tZW50cy1saXN0IC53cC1ibG9jay1jb21tZW50LWNvbnRlbnQgYSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29kZWxhZy1jb21tZW50cy1saXN0IC53cC1ibG9jay1jb21tZW50LXJlcGx5LWxpbmsgYSxcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29kZWxhZy1jb21tZW50cy1saXN0IC53cC1ibG9jay1jb21tZW50LWVkaXQtbGluayBhIHtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29kZWxhZy1jb21tZW50cy1saXN0IC53cC1ibG9jay1jb21tZW50LXJlcGx5LWxpbmsgYTpob3ZlciwgLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5jb2RlbGFnLWNvbW1lbnRzLWxpc3QgLndwLWJsb2NrLWNvbW1lbnQtcmVwbHktbGluayBhOmZvY3VzLXZpc2libGUsXG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLmNvZGVsYWctY29tbWVudHMtbGlzdCAud3AtYmxvY2stY29tbWVudC1lZGl0LWxpbmsgYTpob3Zlcixcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29kZWxhZy1jb21tZW50cy1saXN0IC53cC1ibG9jay1jb21tZW50LWVkaXQtbGluayBhOmZvY3VzLXZpc2libGUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29kZWxhZy1jb21tZW50LWZvcm0tZWRpdG9yIHtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAud3AtZWRpdG9yLXdyYXAge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1sb3cpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAud3AtZWRpdG9yLXRvb2xzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjQ1cmVtICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLndwLWVkaXRvci10YWJzIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuMnJlbSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWNvbnRhaW5lcikgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2wtb3V0bGluZS12YXJpYW50KSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAud3Atc3dpdGNoLWVkaXRvciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwLjY4cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICBwYWRkaW5nOiAwLjM1cmVtIDAuOTVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMTYwbXMgZWFzZSwgYmFja2dyb3VuZCAxNjBtcyBlYXNlO1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC53cC1zd2l0Y2gtZWRpdG9yOmhvdmVyLCAuY29kZWxhZy1sYWdvb24tY29tbWVudHMgLndwLXN3aXRjaC1lZGl0b3I6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWhpZ2gpICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLndwLXN3aXRjaC1lZGl0b3Iuc3dpdGNoLXRtY2VbYXJpYS1wcmVzc2VkPXRydWVdLCAuY29kZWxhZy1sYWdvb24tY29tbWVudHMgLndwLXN3aXRjaC1lZGl0b3Iuc3dpdGNoLWh0bWxbYXJpYS1wcmVzc2VkPXRydWVdIHtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnktdGV4dCkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtcHJpbWFyeSkgIWltcG9ydGFudDtcbn1cbmh0bWwgYm9keSAuY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS10b29sYmFyLWdycCwgaHRtbCBib2R5IC5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAubWNlLXRpbnltY2UgLm1jZS10b29sYmFyLWdycCxcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAubWNlLXRvb2xiYXItZ3JwIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtdG9vbGJhcikgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAubWNlLXRpbnltY2Uge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWxvdykgIWltcG9ydGFudDtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAubWNlLXRvb2xiYXIgLm1jZS1idG4sXG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS10b29sYmFyIC5tY2UtYnRuIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS10b29sYmFyIC5tY2UtYnRuIC5tY2UtaWNvLFxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5tY2UtdG9vbGJhciAubWNlLWJ0biBidXR0b24gLm1jZS1pY28ge1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KSAhaW1wb3J0YW50O1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5tY2UtdG9vbGJhciAubWNlLWJ0bjpob3ZlciwgLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5tY2UtdG9vbGJhciAubWNlLWJ0bi5tY2UtYWN0aXZlLCAuY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS10b29sYmFyIC5tY2UtYnRuW2FyaWEtcHJlc3NlZD10cnVlXSxcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAubWNlLXRvb2xiYXIgLm1jZS1idG4gYnV0dG9uOmhvdmVyLFxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5tY2UtdG9vbGJhciAubWNlLWJ0biBidXR0b24ubWNlLWFjdGl2ZSxcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAubWNlLXRvb2xiYXIgLm1jZS1idG4gYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtaGlnaCkgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS10b29sYmFyIC5tY2UtYnRuOmhvdmVyIC5tY2UtaWNvLCAuY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS10b29sYmFyIC5tY2UtYnRuLm1jZS1hY3RpdmUgLm1jZS1pY28sIC5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAubWNlLXRvb2xiYXIgLm1jZS1idG5bYXJpYS1wcmVzc2VkPXRydWVdIC5tY2UtaWNvLFxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5tY2UtdG9vbGJhciAubWNlLWJ0biBidXR0b246aG92ZXIgLm1jZS1pY28sXG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS10b29sYmFyIC5tY2UtYnRuIGJ1dHRvbi5tY2UtYWN0aXZlIC5tY2UtaWNvLFxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5tY2UtdG9vbGJhciAubWNlLWJ0biBidXR0b25bYXJpYS1wcmVzc2VkPXRydWVdIC5tY2UtaWNvIHtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS10b29sYmFyIC5tY2UtYnRuLWdyb3VwIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS1jb250YWluZXIsXG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS1jb250YWluZXIgKixcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAubWNlLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5xdWlja3RhZ3MtdG9vbGJhciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtY29udGFpbmVyKSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMC4zcmVtIDAuNDVyZW0gIWltcG9ydGFudDtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAucXVpY2t0YWdzLXRvb2xiYXIgaW5wdXQuZWRfYnV0dG9uLFxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5xdWlja3RhZ3MtdG9vbGJhciBpbnB1dC5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWhpZ2gpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMC43cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41NXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtc20pICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLnF1aWNrdGFncy10b29sYmFyIGlucHV0LmVkX2J1dHRvbjpob3ZlciwgLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5xdWlja3RhZ3MtdG9vbGJhciBpbnB1dC5lZF9idXR0b246Zm9jdXMtdmlzaWJsZSxcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAucXVpY2t0YWdzLXRvb2xiYXIgaW5wdXQuYnV0dG9uOmhvdmVyLFxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5xdWlja3RhZ3MtdG9vbGJhciBpbnB1dC5idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtaGlnaGVzdCkgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLndwLWVkaXRvci1hcmVhLFxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIHRleHRhcmVhLndwLWVkaXRvci1hcmVhIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1sb3dlc3QpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlKSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjg1cmVtIDFyZW0gIWltcG9ydGFudDtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAubWNlLWVkaXQtYXJlYSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtbG93ZXN0KSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAubWNlLXN0YXR1c2JhciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXRvb2xiYXIpICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2wtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KSAhaW1wb3J0YW50O1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5tY2UtcGF0aCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS1wYXRoLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMTVyZW0gMC41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMC4ycmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1zbSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1oaWdoZXN0KSAhaW1wb3J0YW50O1xuICBjb2xvcjogdmFyKC0tY2wtYWNjZW50KSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjg7XG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwLjcycmVtICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS1wYXRoLWl0ZW06aG92ZXIsIC5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAubWNlLXBhdGgtaXRlbTpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6IHZhcigtLWNsLWFjY2VudCkgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAubWNlLXJlc2l6ZWhhbmRsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jbC1hY2NlbnQpICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNTU7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLm1jZS1yZXNpemVoYW5kbGU6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5mb3JtLXN1Ym1pdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1hcmdpbi10b3A6IDAuNzVyZW07XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLmNvbW1lbnQtcmVwbHktdGl0bGUge1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuNzhyZW0gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDEuMjVyZW0gMCAwLjVyZW0gIWltcG9ydGFudDtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29tbWVudC1yZXBseS10aXRsZSBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29tbWVudC1yZXBseS10aXRsZSBzbWFsbCBhIHtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLmxvZ2dlZC1pbi1hcyxcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29tbWVudC1ub3Rlcyxcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29tbWVudC1mb3JtLWNvb2tpZXMtY29uc2VudCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCk7XG4gIG9wYWNpdHk6IDAuNztcbiAgbWFyZ2luOiAwLjI1cmVtIDAgMC41cmVtO1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5sb2dnZWQtaW4tYXMgYSxcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuY29tbWVudC1ub3RlcyBhLFxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5jb21tZW50LWZvcm0tY29va2llcy1jb25zZW50IGEge1xuICBjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxcHg7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4O1xufVxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIGlucHV0LmNvZGVsYWctY29tbWVudC1zdWJtaXQsXG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgaW5wdXRbdHlwZT1zdWJtaXRdLmNvZGVsYWctY29tbWVudC1zdWJtaXQsXG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgLmZvcm0tc3VibWl0IC5jb2RlbGFnLWNvbW1lbnQtc3VibWl0LFxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5mb3JtLXN1Ym1pdCBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBhbGw6IHVuc2V0O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMC40cmVtO1xuICBwYWRkaW5nOiAwLjZyZW0gMS41cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNsLXByaW1hcnkpIDAlLCB2YXIoLS1jbC1wcmltYXJ5LWRpbSkgMTAwJSk7XG4gIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5LXRleHQpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjcycmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMCAxOHB4IHJnYmEoMCwgMjQwLCAyNTUsIDAuMik7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlLCBib3gtc2hhZG93IDE2MG1zIGVhc2U7XG59XG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMgaW5wdXQuY29kZWxhZy1jb21tZW50LXN1Ym1pdDpob3ZlciwgLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIGlucHV0LmNvZGVsYWctY29tbWVudC1zdWJtaXQ6Zm9jdXMtdmlzaWJsZSxcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyBpbnB1dFt0eXBlPXN1Ym1pdF0uY29kZWxhZy1jb21tZW50LXN1Ym1pdDpob3Zlcixcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyBpbnB1dFt0eXBlPXN1Ym1pdF0uY29kZWxhZy1jb21tZW50LXN1Ym1pdDpmb2N1cy12aXNpYmxlLFxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5mb3JtLXN1Ym1pdCAuY29kZWxhZy1jb21tZW50LXN1Ym1pdDpob3Zlcixcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuZm9ybS1zdWJtaXQgLmNvZGVsYWctY29tbWVudC1zdWJtaXQ6Zm9jdXMtdmlzaWJsZSxcbi5jb2RlbGFnLWxhZ29vbi1jb21tZW50cyAuZm9ybS1zdWJtaXQgaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyLFxuLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIC5mb3JtLXN1Ym1pdCBpbnB1dFt0eXBlPXN1Ym1pdF06Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7XG4gIGJveC1zaGFkb3c6IDAgMCAyNnB4IHJnYmEoMCwgMjQwLCAyNTUsIDAuMzIpO1xufVxuXG5ib2R5Om5vdCgubG9nZ2VkLWluKSAuY29kZWxhZy1sYWdvb24tY29tbWVudHMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ud3AtYmxvY2stY29kZWxhZy1sYWdvb24tcHJvc2Uge1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG4ud3AtYmxvY2stY29kZWxhZy1sYWdvb24tcHJvc2UgYSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcbn1cbi53cC1ibG9jay1jb2RlbGFnLWxhZ29vbi1wcm9zZSBjb2RlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1jb250YWluZXIpO1xuICBjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG4gIHBhZGRpbmc6IDAuMXJlbSAwLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1zbSk7XG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG59XG5cbi8qKlxuICogRmxvYXRpbmcgdGhlbWUtcGlja2VyIHBhbmVsIOKAlCBkcmFnZ2FibGUgYmV0d2VlbiB0aGUgbGVmdCBhbmQgcmlnaHQgZWRnZXMsXG4gKiBleHBhbmRzIGZyb20gYSBzaWRlIHRvZ2dsZSBidXR0b24uXG4gKlxuICogQWxsIGNvbG91ciBhbmQgcmFkaXVzIHZhbHVlcyBjb21lIGZyb20gdGhlIGFjdGl2ZSBwYWxldHRlIHZpYVxuICogYHZhcigtLWNsLSopYCwgc28gdGhlIHBhbmVsIGZvbGxvd3Mgd2hpY2hldmVyIHRoZW1lIHRoZSB1c2VyIGlzIGluLlxuICovXG4uY29kZWxhZy10aGVtZS1wYW5lbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA0NSU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsW2RhdGEtc2lkZT1yaWdodF0ge1xuICByaWdodDogMDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsW2RhdGEtc2lkZT1sZWZ0XSB7XG4gIGxlZnQ6IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsX190b2dnbGUsIC5jb2RlbGFnLXRoZW1lLXBhbmVsX19jbG9zZSwgLmNvZGVsYWctdGhlbWUtcGFuZWxfX3NpZGUtYnRuIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdHJhbnNpdGlvbjogY29sb3IgMTYwbXMgZWFzZSwgYmFja2dyb3VuZCAxNjBtcyBlYXNlO1xufVxuLmNvZGVsYWctdGhlbWUtcGFuZWxfX3RvZ2dsZTpob3ZlciwgLmNvZGVsYWctdGhlbWUtcGFuZWxfX3RvZ2dsZTpmb2N1cy12aXNpYmxlLCAuY29kZWxhZy10aGVtZS1wYW5lbF9fY2xvc2U6aG92ZXIsIC5jb2RlbGFnLXRoZW1lLXBhbmVsX19jbG9zZTpmb2N1cy12aXNpYmxlLCAuY29kZWxhZy10aGVtZS1wYW5lbF9fc2lkZS1idG46aG92ZXIsIC5jb2RlbGFnLXRoZW1lLXBhbmVsX19zaWRlLWJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xufVxuLmNvZGVsYWctdGhlbWUtcGFuZWxfX3RvZ2dsZSAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCwgLmNvZGVsYWctdGhlbWUtcGFuZWxfX2Nsb3NlIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLCAuY29kZWxhZy10aGVtZS1wYW5lbF9fc2lkZS1idG4gLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQge1xuICBmb250LXNpemU6IDEuMXJlbTtcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsX190b2dnbGUge1xuICB3aWR0aDogMi4ycmVtO1xuICBoZWlnaHQ6IDIuMnJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1jb250YWluZXIpO1xuICBjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsLW91dGxpbmUtdmFyaWFudCk7XG59XG4uY29kZWxhZy10aGVtZS1wYW5lbF9fdG9nZ2xlIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLmNvZGVsYWctdGhlbWUtcGFuZWw6aGFzKC5jb2RlbGFnLXRoZW1lLXBhbmVsX19ib2R5Om5vdChbaGlkZGVuXSkpIC5jb2RlbGFnLXRoZW1lLXBhbmVsX190b2dnbGUge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuLmNvZGVsYWctdGhlbWUtcGFuZWxbZGF0YS1zaWRlPXJpZ2h0XSAuY29kZWxhZy10aGVtZS1wYW5lbF9fdG9nZ2xlIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzKSAwIDAgdmFyKC0tY2wtcmFkaXVzKTtcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsW2RhdGEtc2lkZT1sZWZ0XSAuY29kZWxhZy10aGVtZS1wYW5lbF9fdG9nZ2xlIHtcbiAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1jbC1yYWRpdXMpIHZhcigtLWNsLXJhZGl1cykgMDtcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsX19ib2R5IHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHdpZHRoOiAxNXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1sb3cpO1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsLW91dGxpbmUtdmFyaWFudCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC43NXJlbTtcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsW2RhdGEtc2lkZT1yaWdodF0gLmNvZGVsYWctdGhlbWUtcGFuZWxfX2JvZHkge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCB2YXIoLS1jbC1yYWRpdXMpO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uY29kZWxhZy10aGVtZS1wYW5lbFtkYXRhLXNpZGU9bGVmdF0gLmNvZGVsYWctdGhlbWUtcGFuZWxfX2JvZHkge1xuICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tY2wtcmFkaXVzKSAwO1xufVxuLmNvZGVsYWctdGhlbWUtcGFuZWxfX2JvZHlbaGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMC41cmVtO1xufVxuLmNvZGVsYWctdGhlbWUtcGFuZWxfX2hlYWRlci1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjE1cmVtO1xufVxuLmNvZGVsYWctdGhlbWUtcGFuZWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAwLjY4cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsX19jbG9zZSwgLmNvZGVsYWctdGhlbWUtcGFuZWxfX3NpZGUtYnRuIHtcbiAgd2lkdGg6IDEuOHJlbTtcbiAgaGVpZ2h0OiAxLjhyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1waWxsKTtcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsX19jbG9zZTpob3ZlciwgLmNvZGVsYWctdGhlbWUtcGFuZWxfX2Nsb3NlOmZvY3VzLXZpc2libGUsIC5jb2RlbGFnLXRoZW1lLXBhbmVsX19zaWRlLWJ0bjpob3ZlciwgLmNvZGVsYWctdGhlbWUtcGFuZWxfX3NpZGUtYnRuOmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWhpZ2gpO1xufVxuLmNvZGVsYWctdGhlbWUtcGFuZWxfX2ZpZWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjNyZW07XG59XG4uY29kZWxhZy10aGVtZS1wYW5lbF9fbGFiZWwge1xuICBmb250LXNpemU6IDAuNjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuICBvcGFjaXR5OiAwLjg7XG59XG4uY29kZWxhZy10aGVtZS1wYW5lbF9fY29scyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuMnJlbTtcbiAgcGFkZGluZzogMC4ycmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtY29udGFpbmVyKTtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsX19jb2xzLWJ0biB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEuOXJlbTtcbiAgaGVpZ2h0OiAxLjlyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1waWxsKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlLCBjb2xvciAxNjBtcyBlYXNlO1xufVxuLmNvZGVsYWctdGhlbWUtcGFuZWxfX2NvbHMtYnRuIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHtcbiAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy10aGVtZS1wYW5lbF9fY29scy1idG46aG92ZXIsIC5jb2RlbGFnLXRoZW1lLXBhbmVsX19jb2xzLWJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xufVxuLmNvZGVsYWctdGhlbWUtcGFuZWxfX2NvbHMtYnRuW2FyaWEtcHJlc3NlZD10cnVlXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tY2wtcHJpbWFyeS10ZXh0KTtcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsX19zZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHBhZGRpbmc6IDAuNHJlbSAxLjc1cmVtIDAuNHJlbSAwLjdyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsLXN1cmZhY2UtY29udGFpbmVyKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMic+PHBhdGggZD0nTTIgNGw0IDQgNC00JyBmaWxsPSdub25lJyBzdHJva2U9J2N1cnJlbnRDb2xvcicgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC41NXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jbC1vdXRsaW5lLXZhcmlhbnQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCk7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlKTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jb2RlbGFnLXRoZW1lLXBhbmVsX19zZWxlY3Q6aG92ZXIsIC5jb2RlbGFnLXRoZW1lLXBhbmVsX19zZWxlY3Q6Zm9jdXMtdmlzaWJsZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qKlxuICogTGFnb29uIGFyY2hpdmUgcGFnZSAoQ1BUIGFyY2hpdmUgKyB0aHJlZSB0YXhvbm9teSBhcmNoaXZlcykuXG4gKlxuICogVGhlIGZpbHRlciBiYXIgYW5kIHNuaXBwZXQgY2FyZCB2aXN1YWxzIGxpdmUgd2l0aCB0aGVpciBibG9ja3MgaW4gdGhlXG4gKiBibG9ja3MgbXUtcGx1Z2luOyB0aGlzIHBhcnRpYWwgb25seSBzdHlsZXMgdGhlIHBhZ2UtbGV2ZWwgY2hyb21lIGFyb3VuZFxuICogdGhlbTogaGVybyBoZWFkaW5nLCBncmlkIHdyYXBwZXIsIHBhZ2luYXRpb24sIGVtcHR5IHN0YXRlLlxuICpcbiAqIENvbG91ciAvIHJhZGl1cyBmbG93IHRocm91Z2ggYHZhcigtLWNsLSopYCBzbyB0aGUgYXJjaGl2ZSBmb2xsb3dzIHRoZVxuICogYWN0aXZlIHNpdGUgcGFsZXR0ZS5cbiAqL1xuLmNvZGVsYWctYXJjaGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtYmcpO1xufVxuLmNvZGVsYWctYXJjaGl2ZV9faGVybyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG4uY29kZWxhZy1hcmNoaXZlX190aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlKSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogODAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG4uY29kZWxhZy1hcmNoaXZlX19kZXNjIHtcbiAgY29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCk7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMS41NTtcbiAgbWFyZ2luLXRvcDogMC4zNXJlbTtcbn1cbi5jb2RlbGFnLWFyY2hpdmVfX3F1ZXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xufVxuLmNvZGVsYWctYXJjaGl2ZV9fcXVlcnlbYXJpYS1idXN5PXRydWVdIHtcbiAgb3BhY2l0eTogMC42O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5jb2RlbGFnLWFyY2hpdmUgLndwLWJsb2NrLXBvc3QtdGVtcGxhdGUuY29kZWxhZy1hcmNoaXZlX19ncmlkIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50O1xuICBnYXA6IDFyZW07XG59XG4uY29kZWxhZy1hcmNoaXZlIC53cC1ibG9jay1wb3N0LXRlbXBsYXRlLmNvZGVsYWctYXJjaGl2ZV9fZ3JpZCA+IGxpIHtcbiAgbWFyZ2luOiAwO1xufVxuLmNvZGVsYWctYXJjaGl2ZV9fZW1wdHkge1xuICBwYWRkaW5nOiAycmVtIDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCk7XG4gIG9wYWNpdHk6IDAuNztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLmNvZGVsYWctYXJjaGl2ZV9fcGFnaW5hdGlvbiB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cbi5jb2RlbGFnLWFyY2hpdmVfX3BhZ2luYXRpb24gLndwLWJsb2NrLXF1ZXJ5LXBhZ2luYXRpb24tbnVtYmVycyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuMjVyZW07XG4gIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xufVxuLmNvZGVsYWctYXJjaGl2ZV9fcGFnaW5hdGlvbiAud3AtYmxvY2stcXVlcnktcGFnaW5hdGlvbi1udW1iZXJzIGEsXG4uY29kZWxhZy1hcmNoaXZlX19wYWdpbmF0aW9uIC53cC1ibG9jay1xdWVyeS1wYWdpbmF0aW9uLW51bWJlcnMgLnBhZ2UtbnVtYmVycyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLXdpZHRoOiAxLjhyZW07XG4gIGhlaWdodDogMS44cmVtO1xuICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzLXBpbGwpO1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDAuNzhyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uY29kZWxhZy1hcmNoaXZlX19wYWdpbmF0aW9uIC53cC1ibG9jay1xdWVyeS1wYWdpbmF0aW9uLW51bWJlcnMgYTpob3ZlciwgLmNvZGVsYWctYXJjaGl2ZV9fcGFnaW5hdGlvbiAud3AtYmxvY2stcXVlcnktcGFnaW5hdGlvbi1udW1iZXJzIGE6Zm9jdXMtdmlzaWJsZSxcbi5jb2RlbGFnLWFyY2hpdmVfX3BhZ2luYXRpb24gLndwLWJsb2NrLXF1ZXJ5LXBhZ2luYXRpb24tbnVtYmVycyAucGFnZS1udW1iZXJzOmhvdmVyLFxuLmNvZGVsYWctYXJjaGl2ZV9fcGFnaW5hdGlvbiAud3AtYmxvY2stcXVlcnktcGFnaW5hdGlvbi1udW1iZXJzIC5wYWdlLW51bWJlcnM6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1jb250YWluZXIpO1xufVxuLmNvZGVsYWctYXJjaGl2ZV9fcGFnaW5hdGlvbiAud3AtYmxvY2stcXVlcnktcGFnaW5hdGlvbi1udW1iZXJzIGEuY3VycmVudCxcbi5jb2RlbGFnLWFyY2hpdmVfX3BhZ2luYXRpb24gLndwLWJsb2NrLXF1ZXJ5LXBhZ2luYXRpb24tbnVtYmVycyAucGFnZS1udW1iZXJzLmN1cnJlbnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnktdGV4dCk7XG59XG4uY29kZWxhZy1hcmNoaXZlX19wYWdpbmF0aW9uIC53cC1ibG9jay1xdWVyeS1wYWdpbmF0aW9uLXByZXZpb3VzLFxuLmNvZGVsYWctYXJjaGl2ZV9fcGFnaW5hdGlvbiAud3AtYmxvY2stcXVlcnktcGFnaW5hdGlvbi1uZXh0IHtcbiAgY29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAwLjcycmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xufVxuLmNvZGVsYWctYXJjaGl2ZV9fcGFnaW5hdGlvbiAud3AtYmxvY2stcXVlcnktcGFnaW5hdGlvbi1wcmV2aW91czpob3ZlciwgLmNvZGVsYWctYXJjaGl2ZV9fcGFnaW5hdGlvbiAud3AtYmxvY2stcXVlcnktcGFnaW5hdGlvbi1wcmV2aW91czpmb2N1cy12aXNpYmxlLFxuLmNvZGVsYWctYXJjaGl2ZV9fcGFnaW5hdGlvbiAud3AtYmxvY2stcXVlcnktcGFnaW5hdGlvbi1uZXh0OmhvdmVyLFxuLmNvZGVsYWctYXJjaGl2ZV9fcGFnaW5hdGlvbiAud3AtYmxvY2stcXVlcnktcGFnaW5hdGlvbi1uZXh0OmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICA6cm9vdFtkYXRhLWNvZGVsYWctY29scz1cIjJcIl0gLmNvZGVsYWctYXJjaGl2ZSAud3AtYmxvY2stcG9zdC10ZW1wbGF0ZS5jb2RlbGFnLWFyY2hpdmVfX2dyaWQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1nYXA6IDFyZW07XG4gIH1cbiAgOnJvb3RbZGF0YS1jb2RlbGFnLWNvbHM9XCIyXCJdIC5jb2RlbGFnLWFyY2hpdmUgLndwLWJsb2NrLXBvc3QtdGVtcGxhdGUuY29kZWxhZy1hcmNoaXZlX19ncmlkID4gbGkge1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vKipcbiAqIFRoZW1lIG92ZXJyaWRlIGZvciBgY29kZWxhZy9hc2NpaS1hcnRgLlxuICpcbiAqIFRoZSBibG9jayBzaGlwcyB3aXRoIG5ldXRyYWwgc3RvY2sgV29yZFByZXNzIHN0eWxpbmcgKHNlZSB0aGUgYmxvY2sncyBvd25cbiAqIHN0eWxlLnNjc3MpLiBIZXJlIHdlIG92ZXJsYXkgQ29kZUxhZ29vbidzIHBhbGV0dGUg4oCUIGAtLWNsLXN1cmZhY2UtKmAsXG4gKiBgLS1jbC1vbi0qYCwgYWNjZW50IGNvbG91cnMg4oCUIHNvIHRoZSByb3RhdGluZyBhcnQgcmVhZHMgYXMgcGFydCBvZiB0aGVcbiAqIHRoZW1lZCBjaHJvbWUgd2l0aG91dCBoYXZpbmcgdG8ga25vdyBhbnl0aGluZyBhYm91dCB0aGUgYmxvY2sgaXRzZWxmLlxuICovXG4uY29kZWxhZy1hc2NpaS1hcnQsXG4ud3AtYmxvY2stY29kZWxhZy1hc2NpaS1hcnQge1xuICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtbG93KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2wtb3V0bGluZS12YXJpYW50KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzKTtcbiAgcGFkZGluZzogMTAwcHg7XG59XG4uY29kZWxhZy1hc2NpaS1hcnRfX3N0YWdlLFxuLndwLWJsb2NrLWNvZGVsYWctYXNjaWktYXJ0X19zdGFnZSB7XG4gIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRleHQtc2hhZG93OiAwIDAgOHB4IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jbC1wcmltYXJ5KSAzMCUsIHRyYW5zcGFyZW50KTtcbn1cbi5jb2RlbGFnLWFzY2lpLWFydF9fbmV4dCxcbi53cC1ibG9jay1jb2RlbGFnLWFzY2lpLWFydF9fbmV4dCB7XG4gIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcbn1cbi5jb2RlbGFnLWFzY2lpLWFydF9fbmV4dDpob3ZlciwgLmNvZGVsYWctYXNjaWktYXJ0X19uZXh0OmZvY3VzLXZpc2libGUsXG4ud3AtYmxvY2stY29kZWxhZy1hc2NpaS1hcnRfX25leHQ6aG92ZXIsXG4ud3AtYmxvY2stY29kZWxhZy1hc2NpaS1hcnRfX25leHQ6Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jbC1wcmltYXJ5KSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xufSIsIkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5cbi8vIE1lZGlhIHF1ZXJ5IFwiZ3JlYXRlciB0aGFuICRicmVha3BvaW50XCIuXG5AbWl4aW4gYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuXHRAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkge1xuXHRcdCRicmVha3BvaW50LXZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpO1xuXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXZhbHVlKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdEB3YXJuIFwiVW5kZWZpbmVkIEJyZWFrcG9pbnQ6ICgjeyRicmVha3BvaW50fSkuIEF2YWlsYWJsZSBicmVha3BvaW50czogI3ttYXAua2V5cygkYnJlYWtwb2ludHMpfVwiO1xuXHR9XG59XG5cbi8vIE1lZGlhIHF1ZXJ5IFwibGVzcyB0aGFuICRicmVha3BvaW50XCIuXG5AbWl4aW4gYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG5cdEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XG5cdFx0JGJyZWFrcG9pbnQtdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG5cblx0XHRAbWVkaWEgKG1heC13aWR0aDogKCRicmVha3BvaW50LXZhbHVlIC0gMSkpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QHdhcm4gXCJVbmRlZmluZWQgQnJlYWtwb2ludDogKCN7JGJyZWFrcG9pbnR9KS4gQXZhaWxhYmxlIGJyZWFrcG9pbnRzOiAje21hcC5rZXlzKCRicmVha3BvaW50cyl9XCI7XG5cdH1cbn1cblxuLy8gTWVkaWEgcXVlcnkgXCJiZXR3ZWVuICRhIGFuZCAkYlwiLlxuQG1peGluIGJyZWFrcG9pbnQtYmV0d2VlbigkYSwgJGIpIHtcblx0QGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJGEpIGFuZCBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRiKSB7XG5cdFx0JGJyZWFrcG9pbnQtYTogbWFwLmdldCgkYnJlYWtwb2ludHMsICRhKTtcblx0XHQkYnJlYWtwb2ludC1iOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJGIpO1xuXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWEpIGFuZCAobWF4LXdpZHRoOiAoJGJyZWFrcG9pbnQtYiAtIDEpKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdEBpZiAobWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYSkgPT0gZmFsc2UpIHtcblx0XHRcdEB3YXJuIFwiVW5kZWZpbmVkIEJyZWFrcG9pbnQ6ICN7JGF9LiBBdmFpbGFibGUgYnJlYWtwb2ludHM6ICN7bWFwLmtleXMoJGJyZWFrcG9pbnRzKX1cIjtcblx0XHR9XG5cdFx0QGlmIChtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRiKSA9PSBmYWxzZSkge1xuXHRcdFx0QHdhcm4gXCJVbmRlZmluZWQgQnJlYWtwb2ludDogI3skYn0uIEF2YWlsYWJsZSBicmVha3BvaW50czogI3ttYXAua2V5cygkYnJlYWtwb2ludHMpfVwiO1xuXHRcdH1cblx0fVxufVxuIiwiQHVzZSBcIi4uL2Fic3RyYWN0cy9taXhpbnNcIiBhcyAqO1xuXG4vKipcbiAqIFN0aWNreS1mb290ZXIgbGF5b3V0IOKAlCBtYWtlIGA8Ym9keT5gIGZpbGwgdGhlIHZpZXdwb3J0IHZlcnRpY2FsbHksIGxldFxuICogdGhlIEd1dGVuYmVyZyBzaXRlIHdyYXBwZXIgYW5kIGl0cyBpbm5lciBgPG1haW4+YCBncm93IHRvIGFic29yYiBhbnlcbiAqIHNwYXJlIHNwYWNlLCBzbyBhIHNob3J0IHBhZ2UncyBmb290ZXIgc3RpbGwgc2l0cyBvbiB0aGUgdmlld3BvcnQgZWRnZVxuICogaW5zdGVhZCBvZiBmbG9hdGluZyB1bmRlciBhIGhhbGYtZW1wdHkgcGFnZS5cbiAqXG4gKiBUYXJnZXRzIHRoZSBzdGFuZGFyZCBibG9jay10aGVtZSBvdXRwdXQ6IGA8Ym9keT5gID4gYC53cC1zaXRlLWJsb2Nrc2BcbiAqID4gYGhlYWRlcmAgLyBgbWFpbmAgLyBgZm9vdGVyYCAoZnJvbSB0ZW1wbGF0ZXMvKi5odG1sICsgcGFydHMvKi5odG1sKS5cbiAqL1xuYm9keSB7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4vLyBXaGVuIHRoZSBXUCBhZG1pbiBiYXIgaXMgdmlzaWJsZSwgY29yZSBwdXRzIGEgMzJweCAoNDZweCBvbiBzbWFsbCBzY3JlZW5zKVxuLy8gbWFyZ2luLXRvcCBvbiBgPGh0bWw+YCB0byBtYWtlIHJvb20gZm9yIGl0LiBUaGF0IG1hcmdpbiBhZGRzIHRvIHRoZSB0b3RhbFxuLy8gZG9jdW1lbnQgaGVpZ2h0LCBzbyB3ZSBzaHJpbmsgYm9keSdzIG1pbi1oZWlnaHQgYnkgdGhlIHNhbWUgYW1vdW50IOKAlFxuLy8gb3RoZXJ3aXNlIHRoZSBmb290ZXIgc2l0cyBhIGJhci1oZWlnaHQgYmVsb3cgdGhlIHZpZXdwb3J0IGJvdHRvbS5cbmJvZHkuYWRtaW4tYmFyIHtcblx0bWluLWhlaWdodDogY2FsYygxMDB2aCAtIDMycHgpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3ODJweCkge1xuXHRib2R5LmFkbWluLWJhciB7XG5cdFx0bWluLWhlaWdodDogY2FsYygxMDB2aCAtIDQ2cHgpO1xuXHR9XG59XG5cbmJvZHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ud3Atc2l0ZS1ibG9ja3Mge1xuXHRmbGV4OiAxIDAgYXV0bztcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLndwLXNpdGUtYmxvY2tzID4gbWFpbiB7XG5cdGZsZXg6IDEgMCBhdXRvO1xufVxuXG4vKipcbiAqIFBhZ2VcbiAqIC0gRGVzY3JpcHRpb24gb2YgcGFnZSBzdHlsZXNcbiAqL1xuLndwLXRoZW1lLXN0eWxlIHtcblx0Y29sb3I6ICNmZmY7XG5cdHBhZGRpbmc6IDJweDtcblx0YXBwZWFyYW5jZTogYXV0bzsgLy8gQWRkZWQgdG8gdGVzdCBhdXRvcHJlZml4ZXIgdmlhIHBvc3Rjc3Ncblx0ZGlyZWN0aW9uOiBsdHI7IC8vIEFkZGVkIHRvIHRlc3QgcnRsY3NzXG5cblx0Ly8gQWRkZWQgdG8gdGVzdCAnZ3JlYXRlciB0aGFuIGJyZWFrcG9pbnQnIG1peGluLlxuXHRAaW5jbHVkZSBicmVha3BvaW50LXVwKGxhcmdlKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzIxNzU5Yjtcblx0fVxuXG5cdC8vIEFkZGVkIHRvIHRlc3QgJ2xlc3MgdGhhbiBicmVha3BvaW50JyBtaXhpbi5cblx0QGluY2x1ZGUgYnJlYWtwb2ludC1kb3duKG1lZGl1bSkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNkNTRlMjE7XG5cdH1cblxuXHQvLyBBZGRlZCB0byB0ZXN0ICdiZXR3ZWVuIGJyZWFrcG9pbnRzJyBtaXhpbi5cblx0QGluY2x1ZGUgYnJlYWtwb2ludC1iZXR3ZWVuKG1lZGl1bSwgbGFyZ2UpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjN2FkMDNhO1xuXHR9XG59XG4iLCJidXR0b24ge1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblxuXHQmOmhvdmVyIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxufVxuIiwiLyoqXG4gKiBMYWdvb24tc3BlY2lmaWMgdGhlbWUgc3R5bGVzLlxuICpcbiAqIEFsbCBjb2xvdXIgYW5kIHJhZGl1cyB2YWx1ZXMgY29tZSBmcm9tIENTUyBjdXN0b20gcHJvcGVydGllcyBlbWl0dGVkIGJ5XG4gKiBHaW4wMTE1XFxDb2RlbGFnb29uXFxUaGVtZVxcU2l0ZVRoZW1lU2VydmljZS4gUGFsZXR0ZSBzd2FwcyBhcmUgZHJpdmVuIGJ5IHRoZVxuICogYGRhdGEtc2l0ZS10aGVtZWAgYXR0cmlidXRlIG9uIDxodG1sPjsgY29tcG9uZW50IHJ1bGVzIG9ubHkgcmVhZCB2YXJpYWJsZXMuXG4gKlxuICogRG8gTk9UIGFkZCBoZXggdmFsdWVzIGhlcmUuIERlZmluZSB0aGVtIGluIFNpdGVUaGVtZXM6OlRIRU1FUy5cbiAqL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNpdGUgaGVhZGVyICh0b3AgbmF2LCBzaXRlLXdpZGUpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNvZGVsYWctc2l0ZS1oZWFkZXIge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiAwLjZyZW0gY2xhbXAoMXJlbSwgM3Z3LCAyLjVyZW0pICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlKSAhaW1wb3J0YW50O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2wtb3V0bGluZS12YXJpYW50KTtcblx0Ym94LXNoYWRvdzogMCA2cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXG5cdCZfX2JyYW5kIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogMC41cmVtO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdFx0Zm9udC13ZWlnaHQ6IDgwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0b3BhY2l0eTogMC44NTtcblx0XHR9XG5cdH1cblxuXHQmX19icmFuZC1pY29uIHtcblx0XHRmb250LXNpemU6IDEuMjVyZW0gIWltcG9ydGFudDtcblx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdH1cblxuXHQmX19icmFuZC10ZXh0IHtcblx0XHRmb250LXNpemU6IDEuMDVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHRsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcblx0fVxuXG5cdC5jb2RlbGFnLXNpdGUtaGVhZGVyX19uYXYge1xuXHRcdC53cC1ibG9jay1uYXZpZ2F0aW9uX19jb250YWluZXIge1xuXHRcdFx0Z2FwOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0LndwLWJsb2NrLW5hdmlnYXRpb24taXRlbV9fY29udGVudCB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSk7XG5cdFx0XHRvcGFjaXR5OiAwLjY1O1xuXHRcdFx0Zm9udC1zaXplOiAwLjcycmVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0cGFkZGluZzogMC4yNXJlbSAwICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAxNjBtcyBlYXNlLCBvcGFjaXR5IDE2MG1zIGVhc2U7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmN1cnJlbnQtbWVudS1pdGVtIC53cC1ibG9jay1uYXZpZ2F0aW9uLWl0ZW1fX2NvbnRlbnQge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1jbC1wcmltYXJ5KTtcblx0XHR9XG5cdH1cblxuXHQmX19pY29uLWJ1dHRvbiB7XG5cdFx0YXBwZWFyYW5jZTogbm9uZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdHdpZHRoOiAycmVtO1xuXHRcdGhlaWdodDogMnJlbTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogMDtcblx0XHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSk7XG5cdFx0b3BhY2l0eTogMC43O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCk7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgMTYwbXMgZWFzZSwgYmFja2dyb3VuZCAxNjBtcyBlYXNlLCBvcGFjaXR5IDE2MG1zIGVhc2U7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1oaWdoKTtcblx0XHR9XG5cdH1cblxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhlYWRlciBjYXJkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNvZGVsYWctbGFnb29uLWhlYWRlciB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtbG93KSAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSk7XG5cdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtbGcpICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IDEuMjVyZW0gY2xhbXAoMXJlbSwgMnZ3LCAxLjc1cmVtKSAhaW1wb3J0YW50O1xuXHRnYXA6IDEuMjVyZW0gIWltcG9ydGFudDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcblxuXHQmX19sZWZ0IHtcblx0XHRmbGV4OiAxIDEgYXV0bztcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Jl9fYXZhdGFyIHtcblx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHRhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXHRcdG1hcmdpbi10b3A6IDAuMXJlbTtcblxuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogMzZweCAhaW1wb3J0YW50O1xuXHRcdFx0aGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0Y29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UpO1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdH1cbn1cblxuLmNvZGVsYWctbGFnb29uLW1ldGEge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNnJlbSAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcblxuXHQuY29kZWxhZy1tZXRhLWF1dGhvciB7XG5cdFx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIkBcIjtcblx0XHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmNvZGVsYWctbWV0YS1kYXRlIHtcblx0XHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcblx0XHRmb250LXNpemU6IDAuNzhyZW07XG5cdFx0b3BhY2l0eTogMC44O1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwi4oCiXCI7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDAuNTVyZW07XG5cdFx0XHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcblx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHR9XG5cdH1cbn1cblxuLmNvZGVsYWctbGFnb29uLWV4Y2VycHQge1xuXHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcbn1cblxuLy8gQ2hpcCByb3cgYmVsb3cgdGhlIG1ldGEg4oCUIGxhbmd1YWdlIC8gcHVycG9zZSAvIHRhZ3MuXG4uY29kZWxhZy1sYWdvb24tY2hpcHMge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBCYXNlIGNoaXAg4oCUIHNoYXJlZCBzaGFwZS9wYWRkaW5nL2xpbmUtaGVpZ2h0IGZvciBsYW5ndWFnZS9wdXJwb3NlL3RhZ3Mgc29cbi8vIHRoZXkgc2l0IGF0IGlkZW50aWNhbCBoZWlnaHRzIHJlZ2FyZGxlc3Mgb2YgY29udGVudC4gRm9udCB3ZWlnaHQgKyBjb2xvdXJcbi8vIHZhcnkgcGVyIHZhcmlhbnQuXG4uY29kZWxhZy1jaGlwIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAuMjhyZW0gMC43NXJlbTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzLXBpbGwpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWNvbnRhaW5lcik7XG5cdGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuXHRmb250LXNpemU6IDAuNzJyZW07XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRsZXR0ZXItc3BhY2luZzogMDtcblxuXHRhIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdFx0fVxuXHR9XG5cblx0LndwLWJsb2NrLXBvc3QtdGVybXNfX3ByZWZpeCxcblx0LndwLWJsb2NrLXBvc3QtdGVybXNfX3N1ZmZpeCB7XG5cdFx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHR9XG59XG5cbi5jb2RlbGFnLWNoaXAtLWxhbmcgYSB7XG5cdGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Zm9udC1zaXplOiAwLjY4cmVtO1xufVxuXG4uY29kZWxhZy1jaGlwLS1wdXJwb3NlIGEsXG4uY29kZWxhZy1jaGlwLS10YWcgYSB7XG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuXHR9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVhZGVyIGFjdGlvbnMgZ3JvdXAgKHRoZW1lIC8gc2hhcmUgLyBkb3dubG9hZCAvIGZvcmspXG4vLyBBYnNvbHV0ZS1wb3NpdGlvbmVkIGNsdXN0ZXIgdG9wLXJpZ2h0IG9mIHRoZSBoZWFkZXIgY2FyZC5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY29kZWxhZy1oZWFkZXItYWN0aW9ucyB7XG5cdGZsZXg6IDAgMCBhdXRvICFpbXBvcnRhbnQ7XG5cdGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuXHRhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDAuNTVyZW0gIWltcG9ydGFudDtcblx0bWFyZ2luOiAwIDAgMCBhdXRvICFpbXBvcnRhbnQ7XG5cdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vLyBTaGFyZWQgcGlsbCBzdHlsaW5nIGZvciB0aGUgbmV1dHJhbCBidXR0b25zICh0aGVtZSAvIHNoYXJlIC8gZG93bmxvYWQpLlxuLy8gRm9yayBidXR0b24gZ2V0cyB0aGUgcHJpbWFyeS1ncmFkaWVudCB0cmVhdG1lbnQgYmVsb3cuXG4lY29kZWxhZy1waWxsLW5ldXRyYWwge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAwLjRyZW07XG5cdHBhZGRpbmc6IDAuNHJlbSAwLjk1cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCk7XG5cdGJvcmRlcjogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1oaWdoKTtcblx0Y29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UpO1xuXHRmb250LXNpemU6IDAuN3JlbTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMTYwbXMgZWFzZSwgdHJhbnNmb3JtIDE2MG1zIGVhc2UsIGNvbG9yIDE2MG1zIGVhc2U7XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWNvbnRhaW5lcik7XG5cdFx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7XG5cdH1cblxuXHQmW2Rpc2FibGVkXSB7XG5cdFx0b3BhY2l0eTogMC42NTtcblx0XHRjdXJzb3I6IHByb2dyZXNzO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0fVxufVxuXG4uY29kZWxhZy10aGVtZS1waWNrZXIge1xuXHRAZXh0ZW5kICVjb2RlbGFnLXBpbGwtbmV1dHJhbDtcblx0cGFkZGluZzogMC4yNXJlbSAwLjM1cmVtIDAuMjVyZW0gMC44cmVtO1xuXHRnYXA6IDAuMzVyZW07XG5cblx0Jl9fbGFiZWwge1xuXHRcdGZvbnQtc2l6ZTogMC42MnJlbTtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcblx0XHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcblx0fVxuXG5cdCZfX3NlbGVjdCB7XG5cdFx0YXBwZWFyYW5jZTogbm9uZTtcblx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0cGFkZGluZzogMC4yNXJlbSAxLjc1cmVtIDAuMjVyZW0gMC42cmVtO1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1waWxsKTtcblx0XHRib3JkZXI6IDA7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2wtc3VyZmFjZS1jb250YWluZXIpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInPjxwYXRoIGQ9J00yIDRsNCA0IDQtNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMGYwZmYnIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIik7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjU1cmVtIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTBweDtcblx0XHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSk7XG5cdFx0Zm9udC1zaXplOiAwLjcycmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cblx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHR9XG5cdH1cbn1cblxuLmNvZGVsYWctc2hhcmUtYnV0dG9uLFxuLmNvZGVsYWctZG93bmxvYWQtYnV0dG9uIHtcblx0QGV4dGVuZCAlY29kZWxhZy1waWxsLW5ldXRyYWw7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogMTNweDtcblx0XHRoZWlnaHQ6IDEzcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuXHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0bWFzay1zaXplOiBjb250YWluO1xuXHRcdC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHQtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcblx0fVxufVxuXG4uY29kZWxhZy1zaGFyZS1idXR0b246OmJlZm9yZSB7XG5cdG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnPjxwYXRoIGQ9J00zLjkgMTJjMC0xLjcxIDEuMzktMy4xIDMuMS0zLjFoNFY3SDdjLTIuNzYgMC01IDIuMjQtNSA1czIuMjQgNSA1IDVoNHYtMS45SDdjLTEuNzEgMC0zLjEtMS4zOS0zLjEtMy4xek04IDEzaDh2LTJIOHYyem05LTZoLTR2MS45aDRjMS43MSAwIDMuMSAxLjM5IDMuMSAzLjFzLTEuMzkgMy4xLTMuMSAzLjFoLTRWMTdoNGMyLjc2IDAgNS0yLjI0IDUtNXMtMi4yNC01LTUtNXonIGZpbGw9J2JsYWNrJy8+PC9zdmc+XCIpO1xuXHQtd2Via2l0LW1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnPjxwYXRoIGQ9J00zLjkgMTJjMC0xLjcxIDEuMzktMy4xIDMuMS0zLjFoNFY3SDdjLTIuNzYgMC01IDIuMjQtNSA1czIuMjQgNSA1IDVoNHYtMS45SDdjLTEuNzEgMC0zLjEtMS4zOS0zLjEtMy4xek04IDEzaDh2LTJIOHYyem05LTZoLTR2MS45aDRjMS43MSAwIDMuMSAxLjM5IDMuMSAzLjFzLTEuMzkgMy4xLTMuMSAzLjFoLTRWMTdoNGMyLjc2IDAgNS0yLjI0IDUtNXMtMi4yNC01LTUtNXonIGZpbGw9J2JsYWNrJy8+PC9zdmc+XCIpO1xufVxuXG4uY29kZWxhZy1kb3dubG9hZC1idXR0b246OmJlZm9yZSB7XG5cdG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnPjxwYXRoIGQ9J00xOSA5aC00VjNIOXY2SDVsNyA3IDctN3pNNSAxOHYyaDE0di0ySDV6JyBmaWxsPSdibGFjaycvPjwvc3ZnPlwiKTtcblx0LXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0Jz48cGF0aCBkPSdNMTkgOWgtNFYzSDl2Nkg1bDcgNyA3LTd6TTUgMTh2MmgxNHYtMkg1eicgZmlsbD0nYmxhY2snLz48L3N2Zz5cIik7XG59XG5cbi8vIEVkaXQgYnV0dG9uIOKAlCB0ZXJ0aWFyeS95ZWxsb3cgYWNjZW50LiBPbmx5IHJlbmRlcnMgd2hlbiB0aGUgdmlld2VyIGNhblxuLy8gZWRpdCB0aGUgY3VycmVudCBsYWdvb24gKGF1dGhvciArIGVkaXRvcnMvYWRtaW5zKS5cbi5jb2RlbGFnLWVkaXQtYnV0dG9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMC4zNXJlbTtcblx0cGFkZGluZzogMC4zcmVtIDAuNzVyZW07XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1waWxsKTtcblx0Ym9yZGVyOiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jbC1hY2NlbnQpO1xuXHRjb2xvcjogdmFyKC0tY2wtc3VyZmFjZS1sb3dlc3QpO1xuXHRmb250LXNpemU6IDAuNzhyZW07XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgZWFzZSwgYm94LXNoYWRvdyAxNjBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE2MG1zIGVhc2U7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogMTNweDtcblx0XHRoZWlnaHQ6IDEzcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudGNvbG9yO1xuXHRcdG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnPjxwYXRoIGQ9J00zIDE3LjI1VjIxaDMuNzVMMTcuODEgOS45NGwtMy43NS0zLjc1TDMgMTcuMjV6TTIwLjcxIDcuMDRhMSAxIDAgMCAwIDAtMS40MWwtMi4zNC0yLjM0YTEgMSAwIDAgMC0xLjQxIDBsLTEuODMgMS44MyAzLjc1IDMuNzUgMS44My0xLjgzeicgZmlsbD0nYmxhY2snLz48L3N2Zz5cIik7XG5cdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRtYXNrLXNpemU6IGNvbnRhaW47XG5cdFx0LXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0Jz48cGF0aCBkPSdNMyAxNy4yNVYyMWgzLjc1TDE3LjgxIDkuOTRsLTMuNzUtMy43NUwzIDE3LjI1ek0yMC43MSA3LjA0YTEgMSAwIDAgMCAwLTEuNDFsLTIuMzQtMi4zNGExIDEgMCAwIDAtMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3onIGZpbGw9J2JsYWNrJy8+PC9zdmc+XCIpO1xuXHRcdC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHQtd2Via2l0LW1hc2stc2l6ZTogY29udGFpbjtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2wtYWNjZW50LWRpbSk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcblx0XHRib3gtc2hhZG93OiAwIDAgMThweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXHR9XG59XG5cbi8vIFByaW1hcnkgQ1RBIOKAlCBjeWFuIGdyYWRpZW50IHBpbGwuXG4uY29kZWxhZy1mb3JrLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IDAuNHJlbTtcblx0cGFkZGluZzogMC40NXJlbSAxLjE1cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCk7XG5cdGJvcmRlcjogMDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY2wtcHJpbWFyeSkgMCUsIHZhcigtLWNsLXByaW1hcnktZGltKSAxMDAlKTtcblx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnktdGV4dCk7XG5cdGZvbnQtc2l6ZTogMC43MnJlbTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDI0MCwgMjU1LCAwLjIyKTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDE2MG1zIGVhc2UsIGJveC1zaGFkb3cgMTYwbXMgZWFzZTtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOiAxM3B4O1xuXHRcdGhlaWdodDogMTNweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Y29sb3I7XG5cdFx0bWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNic+PHBhdGggZD0nTTUgMy4yNWEuNzUuNzUgMCAxIDEtMS41IDAgLjc1Ljc1IDAgMCAxIDEuNSAwWm0wIDIuMTIyYTIuMjUgMi4yNSAwIDEgMC0xLjUgMHYuODc4QTIuMjUgMi4yNSAwIDAgMCA1Ljc1IDguNWgxLjV2Mi4xMjhhMi4yNTEgMi4yNTEgMCAxIDAgMS41IDBWOC41aDEuNWEyLjI1IDIuMjUgMCAwIDAgMi4yNS0yLjI1di0uODc4YTIuMjUgMi4yNSAwIDEgMC0xLjUgMHYuODc4YS43NS43NSAwIDAgMS0uNzUuNzVoLTQuNUEuNzUuNzUgMCAwIDEgNSA2LjI1di0uODc4Wk04Ljc1IDEyLjc1YS43NS43NSAwIDEgMS0xLjUgMCAuNzUuNzUgMCAwIDEgMS41IDBabTMtOC43NWEuNzUuNzUgMCAxIDAgMC0xLjUuNzUuNzUgMCAwIDAgMCAxLjVaJyBmaWxsPSdibGFjaycvPjwvc3ZnPlwiKTtcblx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdG1hc2stc2l6ZTogY29udGFpbjtcblx0XHQtd2Via2l0LW1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGQ9J001IDMuMjVhLjc1Ljc1IDAgMSAxLTEuNSAwIC43NS43NSAwIDAgMSAxLjUgMFptMCAyLjEyMmEyLjI1IDIuMjUgMCAxIDAtMS41IDB2Ljg3OEEyLjI1IDIuMjUgMCAwIDAgNS43NSA4LjVoMS41djIuMTI4YTIuMjUxIDIuMjUxIDAgMSAwIDEuNSAwVjguNWgxLjVhMi4yNSAyLjI1IDAgMCAwIDIuMjUtMi4yNXYtLjg3OGEyLjI1IDIuMjUgMCAxIDAtMS41IDB2Ljg3OGEuNzUuNzUgMCAwIDEtLjc1Ljc1aC00LjVBLjc1Ljc1IDAgMCAxIDUgNi4yNXYtLjg3OFpNOC43NSAxMi43NWEuNzUuNzUgMCAxIDEtMS41IDAgLjc1Ljc1IDAgMCAxIDEuNSAwWm0zLTguNzVhLjc1Ljc1IDAgMSAwIDAtMS41Ljc1Ljc1IDAgMCAwIDAgMS41WicgZmlsbD0nYmxhY2snLz48L3N2Zz5cIik7XG5cdFx0LXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuXHR9XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOTcpO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAyOHB4IHJnYmEoMCwgMjQwLCAyNTUsIDAuMzUpO1xuXHR9XG5cblx0JltkaXNhYmxlZF0ge1xuXHRcdG9wYWNpdHk6IDAuNjU7XG5cdFx0Y3Vyc29yOiBwcm9ncmVzcztcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb3JrIGxpbmVhZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY29kZWxhZy1saW5lYWdlIHtcblx0bWFyZ2luLXRvcDogMC45cmVtO1xuXHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcblx0Zm9udC1zaXplOiAwLjgycmVtO1xuXHRsaW5lLWhlaWdodDogMS41NTtcblxuXHQmX19pY29uIHtcblx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IDAuMzVyZW07XG5cdFx0dmVydGljYWwtYWxpZ246IC0ycHg7XG5cdFx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdG9wYWNpdHk6IDAuOTtcblx0fVxuXG5cdCZfX3BhcmVudCB7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fY2hhaW4ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tdG9wOiAwLjU1cmVtO1xuXG5cdFx0c3VtbWFyeSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDAuNHJlbTtcblx0XHRcdHBhZGRpbmc6IDAuMjJyZW0gMC43NXJlbTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1waWxsKTtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtY29udGFpbmVyKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0XHRmb250LXNpemU6IDAuNjhyZW07XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdFx0XHQmOjotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogXCLilrhcIjtcblx0XHRcdFx0Zm9udC1zaXplOiAwLjY1cmVtO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZbb3Blbl0gc3VtbWFyeTo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwi4pa+XCI7XG5cdFx0fVxuXHR9XG5cblx0Jl9fbGlzdCB7XG5cdFx0bWFyZ2luOiAwLjVyZW0gMCAwO1xuXHRcdHBhZGRpbmctbGVmdDogMS4yNXJlbTtcblxuXHRcdGxpIHtcblx0XHRcdG1hcmdpbjogMC4ycmVtIDA7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19tZXRhIHtcblx0XHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0Zm9udC1zaXplOiAwLjcycmVtO1xuXHR9XG5cblx0Jl9fZGVsZXRlZCB7XG5cdFx0b3BhY2l0eTogMC41NTtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb21tZW50cyBzZWN0aW9uIChmdWxsLXdpZHRoLCBvd24gc3VyZmFjZSlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY29kZWxhZy1sYWdvb24tY29tbWVudHMge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWxvdykgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UpO1xuXHRib3JkZXI6IDAgIWltcG9ydGFudDtcblxuXHQmX190aXRsZSB7XG5cdFx0Y29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UpO1xuXHRcdHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG5cdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogMC40NXJlbTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0d2lkdGg6IDEuMWVtO1xuXHRcdFx0aGVpZ2h0OiAxLjFlbTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdFx0bWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZD0nTTIxIDZoLTJ2OUg2djJjMCAuNTUuNDUgMSAxIDFoMTFsNCA0VjdjMC0uNTUtLjQ1LTEtMS0xem0tNCA2VjNjMC0uNTUtLjQ1LTEtMS0xSDNjLS41NSAwLTEgLjQ1LTEgMXYxNGw0LTRoMTBjLjU1IDAgMS0uNDUgMS0xeicgZmlsbD0nYmxhY2snLz48L3N2Zz5cIik7XG5cdFx0XHQtd2Via2l0LW1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjQgMjQnPjxwYXRoIGQ9J00yMSA2aC0ydjlINnYyYzAgLjU1LjQ1IDEgMSAxaDExbDQgNFY3YzAtLjU1LS40NS0xLTEtMXptLTQgNlYzYzAtLjU1LS40NS0xLTEtMUgzYy0uNTUgMC0xIC40NS0xIDF2MTRsNC00aDEwYy41NSAwIDEtLjQ1IDEtMXonIGZpbGw9J2JsYWNrJy8+PC9zdmc+XCIpO1xuXHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdG1hc2stc2l6ZTogY29udGFpbjtcblx0XHRcdC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuXHRcdH1cblx0fVxuXG5cdC5jb2RlbGFnLWNvbW1lbnRzLWxpc3Qge1xuXHRcdC53cC1ibG9jay1jb2x1bW5zIHtcblx0XHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtY29udGFpbmVyKTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cyk7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0fVxuXG5cdFx0LndwLWJsb2NrLWF2YXRhciBpbWcge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0LndwLWJsb2NrLWNvbW1lbnQtYXV0aG9yLW5hbWUge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGZvbnQtc2l6ZTogMC44OHJlbTtcblxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIkBcIjtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjg1O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC53cC1ibG9jay1jb21tZW50LWRhdGUge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCk7XG5cdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0XHRmb250LXNpemU6IDAuNzhyZW07XG5cdFx0fVxuXG5cdFx0LndwLWJsb2NrLWNvbW1lbnQtY29udGVudCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwLjNyZW07XG5cdFx0XHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcblx0XHRcdGZvbnQtc2l6ZTogMC44OHJlbTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjU1O1xuXG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luOiAwLjNyZW0gMDtcblx0XHRcdH1cblxuXHRcdFx0Y29kZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtbG93ZXN0KTtcblx0XHRcdFx0cGFkZGluZzogMC4xcmVtIDAuMzVyZW07XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1zbSk7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMC44OGVtO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdFx0XHR9XG5cblx0XHRcdHByZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtbG93ZXN0KTtcblx0XHRcdFx0cGFkZGluZzogMC43NXJlbSAxcmVtO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtc20pO1xuXHRcdFx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHRcdFx0fVxuXG5cdFx0XHRibG9ja3F1b3RlIHtcblx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1jbC1wcmltYXJ5KTtcblx0XHRcdFx0bWFyZ2luOiAwLjVyZW0gMDtcblx0XHRcdFx0cGFkZGluZzogMC4yNXJlbSAwIDAuMjVyZW0gMC45cmVtO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcblx0XHRcdFx0b3BhY2l0eTogMC44NTtcblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQud3AtYmxvY2stY29tbWVudC1yZXBseS1saW5rLFxuXHRcdC53cC1ibG9jay1jb21tZW50LWVkaXQtbGluayB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMC43OHJlbTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gUGxhY2Vob2xkZXIgcGFyYWdyYXBoIFdvcmRQcmVzcyB3cmFwcyBhcm91bmQgdGhlIGVkaXRvci4gS2VlcCBhIHRvdWNoXG5cdC8vIG9mIHRvcCBtYXJnaW4gc28gaXQgZG9lc24ndCBodWcgdGhlIGxhc3QgY29tbWVudC5cblx0LmNvZGVsYWctY29tbWVudC1mb3JtLWVkaXRvciB7XG5cdFx0bWFyZ2luLXRvcDogMC43NXJlbTtcblx0fVxuXG5cdC8vIFRpbnlNQ0UgY2hyb21lICh0b29sYmFyLCB0YWJzLCB3cmFwcGVyKS4gVGhlIGlmcmFtZSBib2R5IGlzIHN0eWxlZFxuXHQvLyBzZXBhcmF0ZWx5IHZpYSBjb250ZW50X3N0eWxlIGluamVjdGlvbiBpbiB0aGVtZS1jb21tZW50LWVkaXRvci5waHAuXG5cdC8vIE5vdGU6IGAud3AtZWRpdG9yLXdyYXBgIGlzIGEgU0lCTElORyBvZiBgLmNvZGVsYWctY29tbWVudC1mb3JtLWVkaXRvcmAsXG5cdC8vIG5vdCBhIGNoaWxkIOKAlCBzbyB0aGVzZSBydWxlcyBhcmUgc2NvcGVkIHRvIGAuY29kZWxhZy1sYWdvb24tY29tbWVudHNgXG5cdC8vICh0aGUgb3V0ZXIgZnVsbC13aWR0aCBzZWN0aW9uKSByYXRoZXIgdGhhbiB0aGUgcGFyYWdyYXBoIHdyYXBwZXIuXG5cdC53cC1lZGl0b3Itd3JhcCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzKTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtbG93KSAhaW1wb3J0YW50O1xuXHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdC8vIFZpc3VhbCAvIENvZGUgdGFicyBhYm92ZSB0aGUgZWRpdG9yIOKAlCBzaGFyZWQgcGlsbCBjb250YWluZXIgd2l0aCBhXG5cdC8vIHN1YnRsZSBvdXRsaW5lLiBCb3RoIHRhYnMgbG9vayBpZGVudGljYWwgdW50aWwgYWN0aXZlOiB0aGUgYWN0aXZlIHRhYlxuXHQvLyBsaWdodHMgdXAgY3lhbi5cblx0LndwLWVkaXRvci10b29scyB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMC40NXJlbSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LndwLWVkaXRvci10YWJzIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuXHRcdGdhcDogMCAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmc6IDAuMnJlbSAhaW1wb3J0YW50O1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtY29udGFpbmVyKSAhaW1wb3J0YW50O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsLW91dGxpbmUtdmFyaWFudCkgIWltcG9ydGFudDtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCkgIWltcG9ydGFudDtcblx0fVxuXG5cdC53cC1zd2l0Y2gtZWRpdG9yIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpICFpbXBvcnRhbnQ7XG5cdFx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzLXBpbGwpICFpbXBvcnRhbnQ7XG5cdFx0Zm9udC1zaXplOiAwLjY4cmVtICFpbXBvcnRhbnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXHRcdHBhZGRpbmc6IDAuMzVyZW0gMC45NXJlbSAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAxNjBtcyBlYXNlLCBiYWNrZ3JvdW5kIDE2MG1zIGVhc2U7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSkgIWltcG9ydGFudDtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtaGlnaCkgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQmLnN3aXRjaC10bWNlW2FyaWEtcHJlc3NlZD1cInRydWVcIl0sXG5cdFx0Ji5zd2l0Y2gtaHRtbFthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5LXRleHQpICFpbXBvcnRhbnQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jbC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdC8vIFRpbnlNQ0UgdmlzdWFsLW1vZGUgdG9vbGJhciAoaWNvbnMpLiBVc2UgYGh0bWwgYm9keWAgcHJlZml4IGZvclxuXHQvLyBtYXhpbXVtIHNwZWNpZmljaXR5IHRvIGJlYXQgdGhlIFRpbnlNQ0Ugc2tpbiBzdHlsZXNoZWV0LlxuXHRodG1sIGJvZHkgJiAubWNlLXRvb2xiYXItZ3JwLFxuXHRodG1sIGJvZHkgJiAubWNlLXRpbnltY2UgLm1jZS10b29sYmFyLWdycCxcblx0Lm1jZS10b29sYmFyLWdycCB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2wtdG9vbGJhcikgIWltcG9ydGFudDtcblx0XHRib3JkZXI6IDAgIWltcG9ydGFudDtcblx0XHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQubWNlLXRpbnltY2Uge1xuXHRcdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWxvdykgIWltcG9ydGFudDtcblx0fVxuXG5cdC5tY2UtdG9vbGJhciAubWNlLWJ0bixcblx0Lm1jZS10b29sYmFyIC5tY2UtYnRuIGJ1dHRvbiB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KSAhaW1wb3J0YW50O1xuXHRcdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuXHRcdC5tY2UtaWNvIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmLm1jZS1hY3RpdmUsXG5cdFx0JlthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtaGlnaCkgIWltcG9ydGFudDtcblx0XHRcdGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuXG5cdFx0XHQubWNlLWljbyB7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5tY2UtdG9vbGJhciAubWNlLWJ0bi1ncm91cCB7XG5cdFx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQubWNlLWNvbnRhaW5lcixcblx0Lm1jZS1jb250YWluZXIgKixcblx0Lm1jZS1wYW5lbCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQvLyBIVE1MLW1vZGUgcXVpY2t0YWdzIHRvb2xiYXIuXG5cdC5xdWlja3RhZ3MtdG9vbGJhciB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1jb250YWluZXIpICFpbXBvcnRhbnQ7XG5cdFx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZzogMC4zcmVtIDAuNDVyZW0gIWltcG9ydGFudDtcblxuXHRcdGlucHV0LmVkX2J1dHRvbixcblx0XHRpbnB1dC5idXR0b24ge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1oaWdoKSAhaW1wb3J0YW50O1xuXHRcdFx0Y29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCkgIWltcG9ydGFudDtcblx0XHRcdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0Zm9udC1zaXplOiAwLjdyZW0gIWltcG9ydGFudDtcblx0XHRcdHBhZGRpbmc6IDAuMjVyZW0gMC41NXJlbSAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzLXNtKSAhaW1wb3J0YW50O1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1oaWdoZXN0KSAhaW1wb3J0YW50O1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSkgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBIVE1MLW1vZGUgdGV4dGFyZWEuXG5cdC53cC1lZGl0b3ItYXJlYSxcblx0dGV4dGFyZWEud3AtZWRpdG9yLWFyZWEge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtbG93ZXN0KSAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlKSAhaW1wb3J0YW50O1xuXHRcdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHRcdGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nOiAwLjg1cmVtIDFyZW0gIWltcG9ydGFudDtcblx0fVxuXG5cdC5tY2UtZWRpdC1hcmVhIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWxvd2VzdCkgIWltcG9ydGFudDtcblx0XHRib3JkZXI6IDAgIWltcG9ydGFudDtcblx0fVxuXG5cdC8vIFN0YXR1cyBiYXIg4oCUIG1hdGNoZXMgdGhlIHRvb2xiYXIgdG9uZSBzbyB0b3AgYW5kIGJvdHRvbSBjaHJvbWUgcmVhZFxuXHQvLyBhcyBhIHBhaXJlZCBmcmFtZSBhcm91bmQgdGhlIGJvZHkuXG5cdC5tY2Utc3RhdHVzYmFyIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jbC10b29sYmFyKSAhaW1wb3J0YW50O1xuXHRcdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jbC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCkgIWltcG9ydGFudDtcblx0fVxuXG5cdC8vIFRoZSBwYXRoIGluZGljYXRvciAoXCJwXCIgLyBcImJsb2NrcXVvdGVcIiBicmVhZGNydW1iKSBwaWNrcyB1cCBhIHN1YnRsZVxuXHQvLyB5ZWxsb3cgYWNjZW50IOKAlCB0aGUgb25seSBwbGFjZSB5ZWxsb3cgYXBwZWFycyBpbiB0aGlzIFVJLCB1c2VkXG5cdC8vIHNwYXJpbmdseSBhcyBhIHdhcm0gYWNjZW50LiBHaXZlbiBpdHMgb3duIGNoaXAgYmFja2dyb3VuZCBzbyBpdFxuXHQvLyBzdGFuZHMgb3V0IGZyb20gdGhlIHN0YXR1c2JhciBiZWhpbmQgaXQuXG5cdC5tY2UtcGF0aCB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0fVxuXG5cdC5tY2UtcGF0aC1pdGVtIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMC4xNXJlbSAwLjVyZW0gIWltcG9ydGFudDtcblx0XHRtYXJnaW46IDAuMnJlbSAhaW1wb3J0YW50O1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1zbSkgIWltcG9ydGFudDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWhpZ2hlc3QpICFpbXBvcnRhbnQ7XG5cdFx0Y29sb3I6IHZhcigtLWNsLWFjY2VudCkgIWltcG9ydGFudDtcblx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0Zm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhaW1wb3J0YW50O1xuXHRcdGZvbnQtc2l6ZTogMC43MnJlbSAhaW1wb3J0YW50O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jbC1hY2NlbnQpICFpbXBvcnRhbnQ7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxuXG5cdC8vIFJlc2l6ZSBoYW5kbGUgYXQgdGhlIGJvdHRvbS1yaWdodCDigJQgZGltIHllbGxvdyB0aWNrIHNvIHlvdSBjYW4gc2VlXG5cdC8vIHdoZXJlIHRvIGdyYWIgaXQgd2l0aG91dCBzY3JlYW1pbmcuXG5cdC5tY2UtcmVzaXplaGFuZGxlIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiB2YXIoLS1jbC1hY2NlbnQpICFpbXBvcnRhbnQ7XG5cdFx0b3BhY2l0eTogMC41NTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cdH1cblxuXHQvLyBSaWdodC1hbGlnbiBzdWJtaXQgYnV0dG9uIGJlbG93IHRoZSBlZGl0b3IuXG5cdC5mb3JtLXN1Ym1pdCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdG1hcmdpbi10b3A6IDAuNzVyZW07XG5cdH1cblxuXHQvLyBcIkxlYXZlIGEgY29tbWVudFwiIC8gXCJSZXBseSB0byBYXCIgaGVhZGluZyBhYm92ZSB0aGUgZm9ybS5cblx0LmNvbW1lbnQtcmVwbHktdGl0bGUge1xuXHRcdGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlKTtcblx0XHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0XHRmb250LXNpemU6IDAuNzhyZW0gIWltcG9ydGFudDtcblx0XHRmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdG1hcmdpbjogMS4yNXJlbSAwIDAuNXJlbSAhaW1wb3J0YW50O1xuXG5cdFx0c21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiAwLjdyZW07XG5cdFx0XHRtYXJnaW4tbGVmdDogMC43NXJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBcIkxvZ2dlZCBpbiBhcyBYLiBFZGl0IHlvdXIgcHJvZmlsZS4gTG9nIG91dD9cIiArIFwiUmVxdWlyZWQgZmllbGRz4oCmXCIgbm90aWNlIGxpbmVzLlxuXHQubG9nZ2VkLWluLWFzLFxuXHQuY29tbWVudC1ub3Rlcyxcblx0LmNvbW1lbnQtZm9ybS1jb29raWVzLWNvbnNlbnQge1xuXHRcdGZvbnQtc2l6ZTogMC43NXJlbTtcblx0XHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0bWFyZ2luOiAwLjI1cmVtIDAgMC41cmVtO1xuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweDtcblx0XHRcdHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4O1xuXHRcdH1cblx0fVxuXG5cdC8vIFRoZSBzdWJtaXQgYnV0dG9uLiBDb3JlIHJlbmRlcnMgYXMgPGlucHV0IHR5cGU9XCJzdWJtaXRcIj4sIHdoaWNoIGluaGVyaXRzXG5cdC8vIGJyb3dzZXIgZm9ybS1jb250cm9sIGRlZmF1bHRzLiBXZSBudWtlIHRob3NlIHdpdGggYGFsbDogdW5zZXRgIHRoZW5cblx0Ly8gcmVidWlsZCB0aGUgcGlsbCBieSBoYW5kIHNvIGl0J3MgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSB0aGUgRm9yayBidXR0b24uXG5cdGlucHV0LmNvZGVsYWctY29tbWVudC1zdWJtaXQsXG5cdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uY29kZWxhZy1jb21tZW50LXN1Ym1pdCxcblx0LmZvcm0tc3VibWl0IC5jb2RlbGFnLWNvbW1lbnQtc3VibWl0LFxuXHQuZm9ybS1zdWJtaXQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0YWxsOiB1bnNldDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGdhcDogMC40cmVtO1xuXHRcdHBhZGRpbmc6IDAuNnJlbSAxLjVyZW07XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzLXBpbGwpO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNsLXByaW1hcnkpIDAlLCB2YXIoLS1jbC1wcmltYXJ5LWRpbSkgMTAwJSk7XG5cdFx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnktdGV4dCk7XG5cdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdFx0Zm9udC1zaXplOiAwLjcycmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRib3gtc2hhZG93OiAwIDAgMThweCByZ2JhKDAsIDI0MCwgMjU1LCAwLjIpO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlLCBib3gtc2hhZG93IDE2MG1zIGVhc2U7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOTcpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDI2cHggcmdiYSgwLCAyNDAsIDI1NSwgMC4zMik7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEJlbHQtYW5kLWJyYWNlczogaGlkZSB0aGUgd2hvbGUgY29tbWVudHMgc2VjdGlvbiBmb3IgbG9nZ2VkLW91dCB2aWV3ZXJzLlxuYm9keTpub3QoLmxvZ2dlZC1pbikgLmNvZGVsYWctbGFnb29uLWNvbW1lbnRzIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQcm9zZSBzbG90IChlZGl0YWJsZSBpbnRyby9vdXRybyBibG9ja3MgYXJvdW5kIHRoZSBsYWdvb24gdmlld2VyKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi53cC1ibG9jay1jb2RlbGFnLWxhZ29vbi1wcm9zZSB7XG5cdGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuXHRmb250LXNpemU6IDAuOXJlbTtcblx0bGluZS1oZWlnaHQ6IDEuNjtcblxuXHRhIHtcblx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdH1cblxuXHRjb2RlIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWNvbnRhaW5lcik7XG5cdFx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdHBhZGRpbmc6IDAuMXJlbSAwLjRyZW07XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzLXNtKTtcblx0XHRmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuXHR9XG59XG4iLCIvKipcbiAqIEZsb2F0aW5nIHRoZW1lLXBpY2tlciBwYW5lbCDigJQgZHJhZ2dhYmxlIGJldHdlZW4gdGhlIGxlZnQgYW5kIHJpZ2h0IGVkZ2VzLFxuICogZXhwYW5kcyBmcm9tIGEgc2lkZSB0b2dnbGUgYnV0dG9uLlxuICpcbiAqIEFsbCBjb2xvdXIgYW5kIHJhZGl1cyB2YWx1ZXMgY29tZSBmcm9tIHRoZSBhY3RpdmUgcGFsZXR0ZSB2aWFcbiAqIGB2YXIoLS1jbC0qKWAsIHNvIHRoZSBwYW5lbCBmb2xsb3dzIHdoaWNoZXZlciB0aGVtZSB0aGUgdXNlciBpcyBpbi5cbiAqL1xuXG4uY29kZWxhZy10aGVtZS1wYW5lbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNDUlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAmW2RhdGEtc2lkZT1cInJpZ2h0XCJdIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgICZbZGF0YS1zaWRlPVwibGVmdFwiXSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG4gICAgJl9fdG9nZ2xlLFxuICAgICZfX2Nsb3NlLFxuICAgICZfX3NpZGUtYnRuIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMTYwbXMgZWFzZSwgYmFja2dyb3VuZCAxNjBtcyBlYXNlO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICAgIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFNpZGUgdGFiIGJ1dHRvbiDigJQgYWx3YXlzIHZpc2libGUsIHNuYXBwZWQgdG8gdGhlIGVkZ2UuXG4gICAgJl9fdG9nZ2xlIHtcbiAgICAgICAgd2lkdGg6IDIuMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNsLXN1cmZhY2UtY29udGFpbmVyKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jbC1vdXRsaW5lLXZhcmlhbnQpO1xuICAgICAgICAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gV2hlbiB0aGUgcGFuZWwgaXMgb3BlbiAoYm9keSBub3QgaGlkZGVuKSB0aGUgdG9nZ2xlIGljb24gc2l0cyBiZXNpZGVcbiAgICAvLyB0aGUgYm9keSwgc28gYWxpZ24gaXRzIHZlcnRpY2FsIGNlbnRyZSB3aXRoIHRoZSBcIkFQUEVBUkFOQ0VcIiB0aXRsZVxuICAgIC8vIHJvdyBpbnNpZGUgdGhlIGJvZHkuIEJvZHkgaGFzIGBwYWRkaW5nOiAxcmVtYCArIHRpdGxlIHdpdGggdGlueVxuICAgIC8vIDAuNjhyZW0gdGV4dCwgc28gdGhlIHRpdGxlIHJvdyBjZW50cmVzIOKJiCAxLjM1cmVtIGZyb20gdGhlIGJvZHkgdG9wLlxuICAgIC8vIFRvZ2dsZSBpcyAyLjJyZW0gdGFsbCBzbyBtYXJnaW4tdG9wIH4wLjI1cmVtIGdldHMgaXRzIGNlbnRyZSBhbGlnbmVkLlxuICAgICY6aGFzKCAmX19ib2R5Om5vdChbaGlkZGVuXSkpICZfX3RvZ2dsZSB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgICZbZGF0YS1zaWRlPVwicmlnaHRcIl0gJl9fdG9nZ2xlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2wtcmFkaXVzKSAwIDAgdmFyKC0tY2wtcmFkaXVzKTtcbiAgICB9XG4gICAgJltkYXRhLXNpZGU9XCJsZWZ0XCJdICZfX3RvZ2dsZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tY2wtcmFkaXVzKSB2YXIoLS1jbC1yYWRpdXMpIDA7XG4gICAgfVxuICAgIC8vIFRoZSBwb3BvdXQgcGFuZWwgYm9keSDigJQgc2xpZGVzIG9wZW4gZnJvbSB0aGUgc2lkZSB0aGUgdG9nZ2xlIGlzIG9uLlxuICAgICZfX2JvZHkge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgd2lkdGg6IDE1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWxvdyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2wtb3V0bGluZS12YXJpYW50KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICAvLyBib3gtc2hhZG93OiAwIDEycHggNDBweCByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICAgIH1cbiAgICAmW2RhdGEtc2lkZT1cInJpZ2h0XCJdICZfX2JvZHkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCB2YXIoLS1jbC1yYWRpdXMpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgICZbZGF0YS1zaWRlPVwibGVmdFwiXSAmX19ib2R5IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWNsLXJhZGl1cykgMDtcbiAgICB9XG4gICAgJl9fYm9keVtoaWRkZW5dIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgIH1cbiAgICAmX19oZWFkZXItYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC4xNXJlbTtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDAuNjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuICAgIH1cbiAgICAmX19jbG9zZSxcbiAgICAmX19zaWRlLWJ0biB7XG4gICAgICAgIHdpZHRoOiAxLjhyZW07XG4gICAgICAgIGhlaWdodDogMS44cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCk7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWhpZ2gpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2ZpZWxkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjNyZW07XG4gICAgfVxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjYycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbiAgICAmX19jb2xzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC4ycmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjJyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1waWxsKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1jb250YWluZXIpO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAmX19jb2xzLWJ0biB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEuOXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjlyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1waWxsKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNjBtcyBlYXNlLCBjb2xvciAxNjBtcyBlYXNlO1xuICAgICAgICAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICAgICZbYXJpYS1wcmVzc2VkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jbC1wcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5LXRleHQpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3NlbGVjdCB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDEuNzVyZW0gMC40cmVtIDAuN3JlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2wtc3VyZmFjZS1jb250YWluZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJz48cGF0aCBkPSdNMiA0bDQgNCA0LTQnIGZpbGw9J25vbmUnIHN0cm9rZT0nY3VycmVudENvbG9yJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjU1cmVtIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDEwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNsLW91dGxpbmUtdmFyaWFudCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNsLXJhZGl1cy1waWxsKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UpO1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyoqXG4gKiBMYWdvb24gYXJjaGl2ZSBwYWdlIChDUFQgYXJjaGl2ZSArIHRocmVlIHRheG9ub215IGFyY2hpdmVzKS5cbiAqXG4gKiBUaGUgZmlsdGVyIGJhciBhbmQgc25pcHBldCBjYXJkIHZpc3VhbHMgbGl2ZSB3aXRoIHRoZWlyIGJsb2NrcyBpbiB0aGVcbiAqIGJsb2NrcyBtdS1wbHVnaW47IHRoaXMgcGFydGlhbCBvbmx5IHN0eWxlcyB0aGUgcGFnZS1sZXZlbCBjaHJvbWUgYXJvdW5kXG4gKiB0aGVtOiBoZXJvIGhlYWRpbmcsIGdyaWQgd3JhcHBlciwgcGFnaW5hdGlvbiwgZW1wdHkgc3RhdGUuXG4gKlxuICogQ29sb3VyIC8gcmFkaXVzIGZsb3cgdGhyb3VnaCBgdmFyKC0tY2wtKilgIHNvIHRoZSBhcmNoaXZlIGZvbGxvd3MgdGhlXG4gKiBhY3RpdmUgc2l0ZSBwYWxldHRlLlxuICovXG5cbi5jb2RlbGFnLWFyY2hpdmUge1xuXHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZSk7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNsLWJnKTtcblxuXHQmX19oZXJvIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlKSAhaW1wb3J0YW50O1xuXHRcdGZvbnQtd2VpZ2h0OiA4MDA7XG5cdFx0dGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuXHR9XG5cblx0Jl9fZGVzYyB7XG5cdFx0Y29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCk7XG5cdFx0Zm9udC1zaXplOiAwLjlyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTU7XG5cdFx0bWFyZ2luLXRvcDogMC4zNXJlbTtcblx0fVxuXG5cdCZfX3F1ZXJ5IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAxcmVtO1xuXG5cdFx0JlthcmlhLWJ1c3k9XCJ0cnVlXCJdIHtcblx0XHRcdG9wYWNpdHk6IDAuNjtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC8vIERlZmF1bHQ6IHNpbmdsZSBjb2x1bW4gKHRoZXNlIGFyZSBjb2RlIHNuaXBwZXRzIOKAlCAxIGNvbCBpcyB0aGVcblx0Ly8gc2Vuc2libGUgcmVhZGluZyB3aWR0aCkuIDItY29sdW1uIG1vZGUgaXMgYXBwbGllZCBhdCB0aGUgOnJvb3Rcblx0Ly8gbGV2ZWwgdmlhIGBkYXRhLWNvZGVsYWctY29scz1cIjJcImAgKHNlZSBiZWxvdykgYW5kIGZsaXBzIHRvIENTU1xuXHQvLyBjb2x1bW5zIHNvIHZhcmlhYmxlLWhlaWdodCBjYXJkcyBkb24ndCBsZWF2ZSByb3ctYWxpZ25tZW50IGdhcHMuXG5cdC53cC1ibG9jay1wb3N0LXRlbXBsYXRlLmNvZGVsYWctYXJjaGl2ZV9fZ3JpZCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG5cdFx0Z2FwOiAxcmVtO1xuXG5cdFx0PiBsaSB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZW1wdHkge1xuXHRcdHBhZGRpbmc6IDJyZW0gMXJlbTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Y29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCk7XG5cdFx0b3BhY2l0eTogMC43O1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0fVxuXG5cdCZfX3BhZ2luYXRpb24ge1xuXHRcdG1hcmdpbi10b3A6IDEuNXJlbTtcblxuXHRcdC53cC1ibG9jay1xdWVyeS1wYWdpbmF0aW9uLW51bWJlcnMge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAwLjI1cmVtO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNsLW9uLXN1cmZhY2UtdmFyaWFudCk7XG5cblx0XHRcdGEsXG5cdFx0XHQucGFnZS1udW1iZXJzIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRtaW4td2lkdGg6IDEuOHJlbTtcblx0XHRcdFx0aGVpZ2h0OiAxLjhyZW07XG5cdFx0XHRcdHBhZGRpbmc6IDAgMC41cmVtO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMtcGlsbCk7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMC43OHJlbTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzLXZpc2libGUge1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jbC1zdXJmYWNlLWNvbnRhaW5lcik7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLmN1cnJlbnQge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5LXRleHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LndwLWJsb2NrLXF1ZXJ5LXBhZ2luYXRpb24tcHJldmlvdXMsXG5cdFx0LndwLWJsb2NrLXF1ZXJ5LXBhZ2luYXRpb24tbmV4dCB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2wtb24tc3VyZmFjZS12YXJpYW50KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGZvbnQtc2l6ZTogMC43MnJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jbC1wcmltYXJ5KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gVHdvLWNvbHVtbiBtb2RlIHVzZXMgQ1NTIGNvbHVtbnMgaW5zdGVhZCBvZiBDU1MgZ3JpZC4gR3JpZHMgYWxpZ24gcm93cyxcbi8vIHdoaWNoIGxlYXZlcyB1Z2x5IHZlcnRpY2FsIGdhcHMgd2hlbiBjYXJkcyBoYXZlIGRpZmZlcmVudCBoZWlnaHRzXG4vLyAoc25pcHBldCBwcmV2aWV3cyB2YXJ5KS4gQ1NTIGNvbHVtbnMgZmxvdyB0b3AtdG8tYm90dG9tIGluIGVhY2ggY29sdW1uLFxuLy8gZmlsbGluZyB0aGUgbGVmdCBjb2x1bW4gZmlyc3QsIHNvIGdhcHMgZGlzYXBwZWFyLlxuLy8gU2NvcGVkIG9uIDxodG1sPiB2aWEgYGRhdGEtY29kZWxhZy1jb2xzYCAoZW1pdHRlZCBieSBTaXRlVGhlbWVTZXJ2aWNlJ3Ncbi8vIGBsYW5ndWFnZV9hdHRyaWJ1dGVzYCBmaWx0ZXIpLCBzbyB0aGUgbGF5b3V0IGZvbGxvd3MgdGhlIHZpZXdlcidzXG4vLyBwcmVmZXJlbmNlIHNpdGUtd2lkZS4gQWx3YXlzIHNpbmdsZSBjb2x1bW4gYmVsb3cgNzIwcHggcmVnYXJkbGVzcy5cbjpyb290W2RhdGEtY29kZWxhZy1jb2xzPVwiMlwiXSAuY29kZWxhZy1hcmNoaXZlIC53cC1ibG9jay1wb3N0LXRlbXBsYXRlLmNvZGVsYWctYXJjaGl2ZV9fZ3JpZCB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuXHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0Y29sdW1uLWNvdW50OiAyO1xuXHRcdGNvbHVtbi1nYXA6IDFyZW07XG5cblx0XHQ+IGxpIHtcblx0XHRcdGJyZWFrLWluc2lkZTogYXZvaWQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIFRoZW1lIG92ZXJyaWRlIGZvciBgY29kZWxhZy9hc2NpaS1hcnRgLlxuICpcbiAqIFRoZSBibG9jayBzaGlwcyB3aXRoIG5ldXRyYWwgc3RvY2sgV29yZFByZXNzIHN0eWxpbmcgKHNlZSB0aGUgYmxvY2sncyBvd25cbiAqIHN0eWxlLnNjc3MpLiBIZXJlIHdlIG92ZXJsYXkgQ29kZUxhZ29vbidzIHBhbGV0dGUg4oCUIGAtLWNsLXN1cmZhY2UtKmAsXG4gKiBgLS1jbC1vbi0qYCwgYWNjZW50IGNvbG91cnMg4oCUIHNvIHRoZSByb3RhdGluZyBhcnQgcmVhZHMgYXMgcGFydCBvZiB0aGVcbiAqIHRoZW1lZCBjaHJvbWUgd2l0aG91dCBoYXZpbmcgdG8ga25vdyBhbnl0aGluZyBhYm91dCB0aGUgYmxvY2sgaXRzZWxmLlxuICovXG5cbi5jb2RlbGFnLWFzY2lpLWFydCxcbi53cC1ibG9jay1jb2RlbGFnLWFzY2lpLWFydCB7XG5cdGNvbG9yOiB2YXIoLS1jbC1vbi1zdXJmYWNlKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY2wtc3VyZmFjZS1sb3cpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jbC1vdXRsaW5lLXZhcmlhbnQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1jbC1yYWRpdXMpO1xuXHRwYWRkaW5nOiAxMDBweDtcblxuXHQmX19zdGFnZSB7XG5cdFx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdGZvbnQtc2l6ZTogMC44cmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0dGV4dC1zaGFkb3c6IDAgMCA4cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNsLXByaW1hcnkpIDMwJSwgdHJhbnNwYXJlbnQpO1xuXHR9XG5cblx0Jl9fbmV4dCB7XG5cdFx0Y29sb3I6IHZhcigtLWNsLXByaW1hcnkpO1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY2wtcHJpbWFyeSkgMTUlLCB0cmFuc3BhcmVudCk7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2wtcHJpbWFyeSk7XG5cdFx0fVxuXHR9XG59XG4iXX0= */