@charset "UTF-8";
@use "@/styles/functions" as *;
/* Foundations 
@import "foundations/tokens";
@import "foundations/reset";*/
.grecaptcha-badge {
  display: none !important; }

@property --responsive-scale-raw {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px; }

@layer foundations {
  :root {
    font-size: 16px;
    /* Typography */
    --font-family-primary: "ITC Avant Garde Gothic Pro", -apple-system,
      BlinkMacSystemFont, "Segoe UI", sans-serif;
    --fw-light: 200;
    --fw-normal: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;
    /* Colours */
    --c-BG: #ededed;
    --c-SLV-Black: black;
    --c-SLV-White: white;
    --c-SLV-Light-Grey: #d4d4d4;
    --c-SLV-Grey: #a9a8a9;
    --c-SLV-Grey-3: #6c6c6c;
    --c-SLV-Dark-Grey: #555;
    --c-SLV-Green: #88c86f;
    --c-SLV-Orange: #fcb445;
    --c-SLV-Blue: #79b3e2;
    --c-SLV-Red: #f1666a;
    --c-Form-Green: #329b2b;
    /* Semantic colours */
    --c-Primary: var(--c-SLV-Black);
    --c-Secondary: var(--c-SLV-Dark-Grey);
    --c-Focus: var(--c-SLV-Grey);
    --c-Error: var(--c-SLV-Red);
    --c-Success: var(--c-Form-Green);
    --c-text: var(--c-SLV-Black);
    --c-background: var(--c-SLV-White);
    --c-Member-Access: var(--c-SLV-Blue);
    --c-Member-Student: var(--c-SLV-Green);
    --c-Member-Family: var(--c-SLV-Orange);
    --c-Member-Cultural: var(--c-SLV-Red);
    /* Skeleton Colours */
    --c-sk-BG: #e0e0e0;
    --v-sk-highlight-offset: 0.0635;
    --c-sk-Highlight: oklch(
      from var(--c-sk-BG) calc(clamp(0, l + var(--v-sk-highlight-offset), 1)) c
        h
    );
    /* Spacing */
    --N: 0rem;
    --XXS: 0.5rem;
    --XS: 0.75rem;
    --S: 1rem;
    --M: 1.5rem;
    --L: 2rem;
    --XL: 3rem;
    --XXL: 4rem;
    --XXXL: 5.625rem;
    /* Layout */
    /* 
    IMPORTANT: If we update the max-width or min-width we need to use px values as our calcs don't support rems
    */
    --max-width: 1168px;
    --min-width: 448px;
    --responsive-range: calc(var(--max-width) - var(--min-width));
    --responsive-scale-raw: calc(100vw - var(--min-width));
    --responsive-scale: calc(
      tan(atan2(var(--responsive-scale-raw), var(--responsive-range))) / 1
    );
    --box-sizing: content-box;
    --gutter-page: clamp(20px, 4vw, var(--L));
    /* Timings */
    --ease-circular-in-out: cubic-bezier(0.85, 0, 0.15, 1);
    --ease-bounce-in-out: cubic-bezier(0.68, -0.55, 0.27, 1.55);
    --ease-quad-in-out: cubic-bezier(0.455, 0.03, 0.515, 0.955); }
  /* Resets and normalisations */
  * {
    box-sizing: var(--box-sizing); }
  html,
  body {
    margin: 0;
    padding: 0;
    font-size: 16px; }
  input {
    /* Reset browser styling */
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    letter-spacing: inherit;
    padding: 0;
    margin: 0;
    border: none;
    outline: none; }
  /* Remove autofill background */
  input:-webkit-autofill,
  input:-webkit-autofill:hover,
  input:-webkit-autofill:focus,
  input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px var(--c-background) inset !important;
    -webkit-text-fill-color: inherit !important; }
  /* Default element styles */
  html {
    height: 100%;
    background-color: var(--c-SLV-Black); }
  body {
    min-height: 100vh;
    margin: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: var(--c-background);
    overflow-x: hidden; }
  body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    place-items: center;
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-normal);
    /* Default text styles */
    font-family: var(--font-family-primary);
    font-size: responsive-clamp(16px, 18px);
    font-style: normal;
    font-weight: var(--fw-medium);
    line-height: responsive-clamp(25px, 26px);
    color: var(--c-text);
    leading-trim: both;
    text-edge: cap; }
  h2 {
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 38px; }
  h3 {
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 30px; }
  h4 {
    margin: var(--M) 0;
    leading-trim: both;
    text-edge: cap;
    font-size: 60px;
    font-style: normal;
    font-weight: var(--fw-semibold);
    line-height: 60px; }
  h5 {
    font-family: "ITC Avant Garde Gothic Pro";
    font-size: var(--S);
    font-style: normal;
    font-weight: var(--fw-semibold);
    line-height: var(--M); }
  a {
    color: black; }
  ul {
    padding: 0 0 0 1.375rem;
    margin: 0;
    list-style: none;
    gap: var(--XXS);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  li {
    position: relative; }
  li::before {
    content: "•";
    text-align: center;
    width: 1.375rem;
    position: absolute;
    left: -1.375rem; } }

/* styles/fonts.css */
@font-face {
  font-family: "ITC Avant Garde Gothic Pro";
  src: url("/fonts/Avant-Garde/ITCAvantGardePro-XLt.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "ITC Avant Garde Gothic Pro";
  src: url("/fonts/Avant-Garde/ITCAvantGardePro-XLtObl.otf") format("opentype");
  font-weight: 200;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: "ITC Avant Garde Gothic Pro";
  src: url("/fonts/Avant-Garde/ITCAvantGardePro-Bk.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "ITC Avant Garde Gothic Pro";
  src: url("/fonts/Avant-Garde/ITCAvantGardePro-BkObl.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: "ITC Avant Garde Gothic Pro";
  src: url("/fonts/Avant-Garde/ITCAvantGardePro-Md.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "ITC Avant Garde Gothic Pro";
  src: url("/fonts/Avant-Garde/ITCAvantGardePro-MdObl.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: "ITC Avant Garde Gothic Pro";
  src: url("/fonts/Avant-Garde/ITCAvantGardePro-Demi.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "ITC Avant Garde Gothic Pro";
  src: url("/fonts/Avant-Garde/ITCAvantGardePro-DemiObl.otf") format("opentype");
  font-weight: 600;
  font-style: italic;
  font-display: swap; }

@font-face {
  font-family: "ITC Avant Garde Gothic Pro";
  src: url("/fonts/Avant-Garde/ITCAvantGardePro-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "ITC Avant Garde Gothic Pro";
  src: url("/fonts/Avant-Garde/ITCAvantGardePro-BoldObl.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap; }

/* Blocks */
.feature-inner {
  width: 100%; }

.feature-image {
  display: block;
  width: 100%;
  height: auto;
  padding-bottom: var(--M); }

/* Privacy policy */
.privacy-policy {
  color: var(--c-SLV-Grey-3);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--XS);
  margin-bottom: var(--XL); }

/* Components */
.card {
  padding: var(--L);
  background: var(--c-background);
  border-radius: 4px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--S); }

/*
Header/Footer
*/
:is(header, footer) {
  background: var(--c-SLV-Black);
  place-content: center;
  place-items: center;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  color: var(--c-SLV-White); }

.layout-inner {
  padding: var(--M) clamp(var(--S), var(--L), 5vw);
  max-width: var(--max-width);
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  place-items: center;
  place-content: space-between; }

.logo-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.info-link-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--XS); }

.info-link-wrapper a,
.info-link-wrapper a:visited {
  color: var(--c-SLV-White);
  text-decoration: none; }

.info-link-wrapper .icon {
  display: none; }

.info-link-wrapper .info-text {
  display: inline; }

@media (max-width: 768px) {
  .info-link-wrapper .info-text,
  .info-link-wrapper .separator {
    display: none; }
  .info-link-wrapper .icon {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex; }
  .info-link-wrapper {
    gap: var(--S); } }

footer {
  container-type: inline-size; }

#footer-links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: var(--XXL); }

#footer-links a,
#footer-links a:visited {
  color: var(--c-SLV-White);
  font-family: var(--font-semibold);
  text-decoration: none;
  font-size: 12px;
  line-height: 18px; }

#footer-links a:hover {
  text-decoration: underline; }

@container (max-width: 840px) {
  footer .layout-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    place-items: center;
    gap: var(--L);
    padding: var(--XXL) 0; }
  #footer-links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--L);
    place-items: center; }
  :is(#footer-links a, #footer-links a:visited) {
    font-size: 14px;
    font-family: var(--font-bold);
    line-height: 20px; } }

/* Outer wrapper (full width + background) */
.page-wrapper {
  width: 100%;
  background-color: white;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

/* Inner container (centred, fixed width) */
.page-inner {
  max-width: 572px;
  margin: 0 auto;
  padding-left: var(--gutter-page);
  padding-right: var(--gutter-page); }

.feature-inner {
  max-width: 770px;
  margin: 0 auto; }

.content {
  width: 100%; }

.co {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.ci {
  width: 100%;
  max-width: var(--max-width);
  padding: var(--M) var(--gutter-page);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

/* Main content wrapper */
.content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: responsive-clamp(var(--XL), var(--L), true);
  /* Container queries */
  container-type: inline-size;
  container-name: content; }

/* UI */
/* Buttons */
.buttons {
  margin-bottom: var(--XL); }

/* BUTTON BASE */
.button {
  font-size: 16px;
  /* fallback for responsive-clamp */
  font-weight: var(--fw-bold);
  padding: var(--S) 1.875rem var(--XS);
  border-radius: 0.25rem;
  background-color: var(--c-Primary);
  border: 1px solid var(--c-Primary);
  color: var(--c-SLV-White);
  cursor: pointer;
  line-height: 1;
  /* IMPORTANT: fix weird vertical sizing */
  font-family: inherit;
  text-decoration: none;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

/* FULL WIDTH (you’ll use this a lot) */
.w-100 {
  width: 100%; }

/* HOVER */
.button:not(.disabled):hover {
  background-color: var(--c-Secondary);
  border-color: var(--c-Secondary); }

/* DISABLED */
.button.disabled,
.button:disabled {
  --c-element: var(--c-SLV-Grey);
  cursor: not-allowed;
  background-color: var(--c-element);
  border-color: var(--c-element);
  opacity: 0.5; }

/* =========================
   VARIANTS
========================= */
/* SECONDARY */
.button-secondary {
  background-color: transparent;
  color: var(--c-Primary); }

.button-secondary:not(.disabled):hover {
  background-color: transparent;
  border-color: var(--c-Primary);
  opacity: 0.7; }

/* ICON */
.button-icon {
  background-color: transparent;
  color: var(--c-Primary);
  border: none;
  padding: 0;
  width: auto; }

.button-icon:not(.disabled):hover {
  opacity: 0.7; }

/* TEXT */
.button-text {
  background: none;
  color: inherit;
  border: none;
  text-decoration: underline;
  padding: 0; }

/* Loading state */
.button--loading {
  position: relative; }
  .button--loading .button-loading-inner {
    display: none;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px; }
  .button--loading.is-loading {
    pointer-events: none; }
    .button--loading.is-loading:disabled {
      background-color: var(--c-Primary);
      border-color: var(--c-Primary);
      opacity: 1;
      cursor: wait; }
    .button--loading.is-loading .button-text-inner {
      display: none; }
    .button--loading.is-loading .button-loading-inner {
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex; }
    .button--loading.is-loading .button-spinner {
      width: 16px;
      height: 16px;
      border-radius: 50%;
      border: 2px solid rgba(255, 255, 255, 0.25);
      border-top-color: var(--c-SLV-White);
      -webkit-animation: button-spinner 0.8s linear infinite;
           -o-animation: button-spinner 0.8s linear infinite;
              animation: button-spinner 0.8s linear infinite; }

@-webkit-keyframes button-spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@-o-keyframes button-spinner {
  to {
    -o-transform: rotate(360deg);
       transform: rotate(360deg); } }

@keyframes button-spinner {
  to {
    -webkit-transform: rotate(360deg);
         -o-transform: rotate(360deg);
            transform: rotate(360deg); } }

/* Switch */
.switch {
  --sz-Switch: 1.125rem;
  --sz-Switch-Width: calc(var(--sz-Switch) * 2.5);
  --p-Switch: calc(var(--sz-Switch) / 4.5);
  --c-Switch-Active: var(--c-SLV-Green);
  --c-Switch-Focus: var(--c-Focus); }

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

.switch-label {
  cursor: pointer; }

.switch-wrapper {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--sz-Switch); }

.switch-tray {
  width: var(--sz-Switch-Width);
  height: var(--sz-Switch);
  padding: var(--p-Switch);
  background-color: var(--c-SLV-Grey);
  border-radius: var(--sz-Switch);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-transition: all 0.2s var(--ease-circular-in-out);
  -o-transition: all 0.2s var(--ease-circular-in-out);
  transition: all 0.2s var(--ease-circular-in-out);
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.switch-handle {
  width: var(--sz-Switch);
  aspect-ratio: 1 / 1;
  background-color: var(--c-SLV-Black);
  border-radius: var(--sz-Switch);
  position: absolute;
  top: 50%;
  left: var(--p-Switch);
  -webkit-transform: translateY(-50%);
       -o-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.2s var(--ease-circular-in-out);
  transition: -webkit-transform 0.2s var(--ease-circular-in-out);
  -o-transition: -o-transform 0.2s var(--ease-circular-in-out);
  transition: transform 0.2s var(--ease-circular-in-out);
  transition: transform 0.2s var(--ease-circular-in-out), -webkit-transform 0.2s var(--ease-circular-in-out), -o-transform 0.2s var(--ease-circular-in-out); }

.switch-label-text {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  line-height: 1.3; }

/* Focus accessibility */
.switch-input:focus-visible + .switch-wrapper .switch-tray {
  outline: calc(var(--p-Switch) / 2) solid var(--c-Switch-Focus);
  outline-offset: calc(var(--p-Switch) / 2); }

.switch-input:checked + .switch-wrapper .switch-handle {
  -webkit-transform: translateY(-50%) translateX(calc(var(--sz-Switch-Width) - var(--sz-Switch) - var(--p-Switch) + 4px));
       -o-transform: translateY(-50%) translateX(calc(var(--sz-Switch-Width) - var(--sz-Switch) - var(--p-Switch) + 4px));
          transform: translateY(-50%) translateX(calc(var(--sz-Switch-Width) - var(--sz-Switch) - var(--p-Switch) + 4px)); }

.switch-input:checked + .switch-wrapper .switch-tray {
  background-color: var(--c-Switch-Active); }

.switch-label.disabled {
  cursor: not-allowed;
  opacity: 0.5; }

.switch-tray.disabled {
  cursor: not-allowed; }

.switch-description {
  margin-top: var(--XXS); }

/* Used for the interests section */
.input-group.input-group--switches {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--S);
  padding-bottom: var(--L);
  /* keep your spacing consistent */ }

@media (max-width: 768px) {
  .input-group.input-group--switches {
    grid-template-columns: 1fr; } }

/* Select Input */
.select-input-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative; }

/* Container */
.select-input {
  border-radius: 4px;
  border: 1px solid var(--c-SLV-Grey);
  background: #fff;
  padding: var(--S);
  position: relative; }

/* Focus state (CSS-only using :focus-within) */
.select-input:focus-within {
  border-color: var(--c-Focus);
  border-width: 2px;
  margin: -1px; }

/* Inner wrapper */
.select-input-inner {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

/* Floating label */
.select-input-label {
  height: 0.8em;
  line-height: 1;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
       -o-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.15s var(--ease-circular-in-out);
  -o-transition: all 0.15s var(--ease-circular-in-out);
  transition: all 0.15s var(--ease-circular-in-out);
  color: var(--c-SLV-Grey-3);
  pointer-events: none; }

/* FLOAT STATE */
.select-input:focus-within .select-input-label,
.select-input.has-value .select-input-label {
  font-size: var(--XS);
  top: 0;
  -webkit-transform: translateY(0);
       -o-transform: translateY(0);
          transform: translateY(0); }

/* Native select */
.select-native {
  width: 100%;
  font-size: 18px;
  font-family: var(--font-family-primary);
  font-weight: var(--fw-medium);
  padding-top: 1em;
  padding-bottom: 4px;
  border: none;
  background: transparent;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer; }

/* Optional dropdown arrow */
.select-input-inner::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 20px;
  height: 20px;
  -webkit-transform: translateY(-50%);
       -o-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236c6c6c' stroke-width='1.5'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5'/%3E%3C/svg%3E") no-repeat center; }

/* Description */
.input-description {
  margin-top: var(--XXS);
  color: var(--c-SLV-Grey-3); }

/* Optional disabled */
.select-input:has(select:disabled) {
  background: var(--c-BG);
  border-color: var(--c-BG);
  cursor: not-allowed; }

/* Grouping */
.input-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--M);
  padding-bottom: var(--L); }

/* Text input */
.text-input-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--XS); }

.input-description {
  margin-top: 0; }

.text-input {
  border-radius: 4px;
  border: 1px solid var(--c-SLV-Grey);
  background: #fff;
  padding: var(--S); }

.text-input.focused {
  border-color: var(--c-Focus);
  border-width: 2px;
  margin: -1px; }

.text-input-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  place-items: center; }

.text-input-label {
  height: 0.8em;
  line-height: 1;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  -webkit-transition: all 0.15s var(--ease-circular-in-out);
  -o-transition: all 0.15s var(--ease-circular-in-out);
  transition: all 0.15s var(--ease-circular-in-out);
  color: var(--c-SLV-Grey-3); }

/* FLOAT STATE */
.text-input:is(.focused, .has-value) .text-input-label {
  font-size: var(--XS);
  top: 0;
  translate: 0 0;
  color: var(--c-SLV-Grey-3); }

/* INPUT */
.text-input input {
  font-size: 18px;
  padding-top: 1em;
  padding-bottom: 4px;
  height: auto;
  margin-bottom: 0;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  background: transparent; }

/* DISABLED / PENDING */
:is(.pending, .disabled) {
  cursor: not-allowed; }

:is(.pending, .disabled) * {
  cursor: not-allowed; }

.disabled {
  background-color: var(--c-BG);
  border-color: var(--c-BG);
  color: var(--c-SLV-Grey-3); }

/* VARIANTS */
.invalid {
  border-color: var(--c-Error);
  border-width: 2px;
  margin: -1px; }

.valid {
  border-color: var(--c-Success); }

/* ERROR */
.input-error {
  color: var(--c-Error);
  position: relative;
  padding-left: 18px;
  /*margin-top: 14px;*/ }

.input-error::before {
  content: "";
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  left: 0;
  top: 0.5px;
  width: 12px;
  height: 12px;
  background-size: 12px;
  background-repeat: no-repeat;
  background-position: bottom;
  background-image: url("/img/icons/red-cross-icon.svg"); }

/* UTILITIES */
.pending .text-input-label {
  opacity: 0.4; }

.pre-value .text-input-label {
  -webkit-transition: none;
  -o-transition: none;
  transition: none; }

/* Textarea */
.text-input textarea {
  font-size: 18px;
  padding-top: 1.4em;
  padding-bottom: 6px;
  min-height: 120px;
  width: 100%;
  border: none;
  outline: none;
  background: transparent;
  resize: vertical;
  font-family: inherit; }

.text-input.text-area {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.text-input.text-area .text-input-label {
  top: 0;
  translate: 0 0;
  font-size: var(--XS);
  line-height: 1; }

.text-input.text-area .text-input-inner {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

/* Payment buttons */
.donation-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--M);
  grid-auto-rows: 1fr;
  /* 🔥 THIS is the key */ }

/* Mobile */
@media (max-width: 768px) {
  .donation-group {
    grid-template-columns: 1fr; } }

.donation-option {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 43.5px;
  /* 👈 match your text input EXACTLY */
  padding: var(--S) var(--S);
  /* horizontal only */
  border: 1px solid var(--c-SLV-Grey);
  border-radius: 4px;
  background: #fff; }

.donation-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none; }

.donation-option span {
  font-size: 18px;
  line-height: 1;
  /* important */ }

.donation-option:has(input:checked) {
  border: 2px solid var(--c-SLV-Green); }

.donation-option:hover {
  border-color: var(--c-SLV-Grey-3); }

.text-input-wrapper + .input-group {
  margin-top: var(--M); }

.donation-group + .input-error {
  margin: 0; }

.donation-group.invalid:not(:has(input:checked)) .donation-option {
  border-color: var(--c-Error); }

/* Bookplates */
.donation-group--cards {
  grid-template-columns: repeat(3, 1fr); }

@media (max-width: 768px) {
  .donation-group--cards {
    grid-template-columns: 1fr;
    justify-items: center; }
  .donation-card {
    width: 100%;
    max-width: 280px; } }

.donation-option--card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0;
  height: auto;
  /* override fixed height */
  border: 1px solid var(--c-SLV-Grey);
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  overflow: hidden; }

.card-media {
  padding: 0;
  margin: 0;
  background: none; }

.card-media img {
  width: 100%;
  height: auto;
  display: block; }

.card-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--XXS); }

.price {
  font-weight: var(--fw-semibold);
  font-size: 20px; }

.donation-option--card:hover {
  border-color: var(--c-SLV-Grey-3); }

/* Variants */
@layer variants {
  .text-label {
    color: #5b6064; }
  .caption {
    font-size: 0.75rem;
    line-height: normal;
    color: var(--c-SLV-Dark-Grey); }
  p {
    font-size: 18px;
    font-weight: 500;
    line-height: 26px;
    letter-spacing: 0.36px; }
  .p2 {
    font-size: 1rem;
    font-weight: 500;
    line-height: 24px;
    letter-spacing: 0.32px; }
  .p3 {
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: 0.28px; }
  .p5 {
    font-size: 9px;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: 0.18px; }
  /* Fix CMS <p> inside .p3 */
  .p3 p {
    margin: 0;
    font: inherit;
    letter-spacing: inherit;
    color: inherit; }
  .p3--allow-spacing p {
    margin-block: 1em;
    /* restore browser-like spacing */ }
  .c2 {
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: 0.24px; } }

/* Utilities to come at the end to override other styles */
@layer utilities {
  .text-center {
    text-align: center; }
  .menu-open {
    overflow: hidden;
    max-height: 100vh; }
  .line-text {
    line-height: 1;
    height: 0.8em; }
  .fw-bold {
    font-weight: var(--fw-bold); }
  .text-secondary {
    color: var(--c-Secondary); }
  /* Animations */
  .skeleton-pulse {
    -webkit-animation: skeleton-pulse 1.5s var(--ease-circular-in-out) infinite;
         -o-animation: skeleton-pulse 1.5s var(--ease-circular-in-out) infinite;
            animation: skeleton-pulse 1.5s var(--ease-circular-in-out) infinite; }
  @-webkit-keyframes skeleton-pulse {
    0%, 100% {
      opacity: 1; }
    50% {
      opacity: 0.4; } }
  @-o-keyframes skeleton-pulse {
    0%, 100% {
      opacity: 1; }
    50% {
      opacity: 0.4; } }
  @keyframes skeleton-pulse {
    0%, 100% {
      opacity: 1; }
    50% {
      opacity: 0.4; } }
  .skeleton-wave {
    background: -webkit-linear-gradient(left, var(--c-sk-BG) 0%, var(--c-sk-Highlight) 50%, var(--c-sk-BG) 100%);
    background: -o-linear-gradient(left, var(--c-sk-BG) 0%, var(--c-sk-Highlight) 50%, var(--c-sk-BG) 100%);
    background: linear-gradient(90deg, var(--c-sk-BG) 0%, var(--c-sk-Highlight) 50%, var(--c-sk-BG) 100%);
    background-size: 200% 100%;
    -webkit-animation: skeleton-wave 1.5s var(--ease-circular-in-out) infinite;
         -o-animation: skeleton-wave 1.5s var(--ease-circular-in-out) infinite;
            animation: skeleton-wave 1.5s var(--ease-circular-in-out) infinite; }
  @-webkit-keyframes skeleton-wave {
    0% {
      background-position: 200% 0; }
    100% {
      background-position: -200% 0; } }
  @-o-keyframes skeleton-wave {
    0% {
      background-position: 200% 0; }
    100% {
      background-position: -200% 0; } }
  @keyframes skeleton-wave {
    0% {
      background-position: 200% 0; }
    100% {
      background-position: -200% 0; } }
  body.is-processing::after {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(255, 255, 255, 0.7);
    z-index: 9999; }
  body.is-processing::before {
    content: "";
    position: fixed;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    border: 3px solid #000;
    border-top-color: transparent;
    border-radius: 50%;
    -webkit-transform: translate(-50%, -50%);
         -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-animation: spin 0.8s linear infinite;
         -o-animation: spin 0.8s linear infinite;
            animation: spin 0.8s linear infinite;
    z-index: 10000; }
  @-webkit-keyframes spin {
    to {
      -webkit-transform: translate(-50%, -50%) rotate(360deg);
              transform: translate(-50%, -50%) rotate(360deg); } }
  @-o-keyframes spin {
    to {
      -o-transform: translate(-50%, -50%) rotate(360deg);
         transform: translate(-50%, -50%) rotate(360deg); } }
  @keyframes spin {
    to {
      -webkit-transform: translate(-50%, -50%) rotate(360deg);
           -o-transform: translate(-50%, -50%) rotate(360deg);
              transform: translate(-50%, -50%) rotate(360deg); } }
  /* Margin - All sides */
  .m-0 {
    margin: var(--N); }
  .m-xxs {
    margin: var(--XXS); }
  .m-xs {
    margin: var(--XS); }
  .m-s {
    margin: var(--S); }
  .m-m {
    margin: var(--M); }
  .m-l {
    margin: var(--L); }
  .m-xl {
    margin: var(--XL); }
  .m-xxl {
    margin: var(--XXL); }
  .m-xxxl {
    margin: var(--XXXL); }
  /* Margin - Top */
  .mt-0 {
    margin-top: var(--N); }
  .mt-xxs {
    margin-top: var(--XXS); }
  .mt-xs {
    margin-top: var(--XS); }
  .mt-s {
    margin-top: var(--S); }
  .mt-m {
    margin-top: var(--M); }
  .mt-l {
    margin-top: var(--L); }
  .mt-xl {
    margin-top: var(--XL); }
  .mt-xxl {
    margin-top: var(--XXL); }
  .mt-xxxl {
    margin-top: var(--XXXL); }
  /* Margin - Bottom */
  .mb-0 {
    margin-bottom: var(--N); }
  .mb-xxs {
    margin-bottom: var(--XXS); }
  .mb-xs {
    margin-bottom: var(--XS); }
  .mb-s {
    margin-bottom: var(--S); }
  .mb-m {
    margin-bottom: var(--M); }
  .mb-l {
    margin-bottom: var(--L); }
  .mb-xl {
    margin-bottom: var(--XL); }
  .mb-xxl {
    margin-bottom: var(--XXL); }
  .mb-xxxl {
    margin-bottom: var(--XXXL); }
  /* Margin - Left */
  .ml-0 {
    margin-left: var(--N); }
  .ml-xxs {
    margin-left: var(--XXS); }
  .ml-xs {
    margin-left: var(--XS); }
  .ml-s {
    margin-left: var(--S); }
  .ml-m {
    margin-left: var(--M); }
  .ml-l {
    margin-left: var(--L); }
  .ml-xl {
    margin-left: var(--XL); }
  .ml-xxl {
    margin-left: var(--XXL); }
  .ml-xxxl {
    margin-left: var(--XXXL); }
  /* Margin - Right */
  .mr-0 {
    margin-right: var(--N); }
  .mr-xxs {
    margin-right: var(--XXS); }
  .mr-xs {
    margin-right: var(--XS); }
  .mr-s {
    margin-right: var(--S); }
  .mr-m {
    margin-right: var(--M); }
  .mr-l {
    margin-right: var(--L); }
  .mr-xl {
    margin-right: var(--XL); }
  .mr-xxl {
    margin-right: var(--XXL); }
  .mr-xxxl {
    margin-right: var(--XXXL); }
  .pt-0 {
    padding-top: 0; }
  .pb-0 {
    padding-bottom: 0; }
  .pl-0 {
    padding-left: 0; }
  .pr-0 {
    padding-right: 0; }
  .p-0 {
    padding: 0; }
  /* Padding - All */
  .p-0 {
    padding: var(--N); }
  .p-xxs {
    padding: var(--XXS); }
  .p-xs {
    padding: var(--XS); }
  .p-s {
    padding: var(--S); }
  .p-m {
    padding: var(--M); }
  .p-l {
    padding: var(--L); }
  .p-xl {
    padding: var(--XL); }
  .p-xxl {
    padding: var(--XXL); }
  .p-xxxl {
    padding: var(--XXXL); }
  /* Padding - Top */
  .pt-0 {
    padding-top: var(--N); }
  .pt-xxs {
    padding-top: var(--XXS); }
  .pt-xs {
    padding-top: var(--XS); }
  .pt-s {
    padding-top: var(--S); }
  .pt-m {
    padding-top: var(--M); }
  .pt-l {
    padding-top: var(--L); }
  .pt-xl {
    padding-top: var(--XL); }
  .pt-xxl {
    padding-top: var(--XXL); }
  .pt-xxxl {
    padding-top: var(--XXXL); }
  /* Padding - Bottom */
  .pb-0 {
    padding-bottom: var(--N); }
  .pb-xxs {
    padding-bottom: var(--XXS); }
  .pb-xs {
    padding-bottom: var(--XS); }
  .pb-s {
    padding-bottom: var(--S); }
  .pb-m {
    padding-bottom: var(--M); }
  .pb-l {
    padding-bottom: var(--L); }
  .pb-xl {
    padding-bottom: var(--XL); }
  .pb-xxl {
    padding-bottom: var(--XXL); }
  .pb-xxxl {
    padding-bottom: var(--XXXL); }
  /* Padding - Left */
  .pl-0 {
    padding-left: var(--N); }
  .pl-xxs {
    padding-left: var(--XXS); }
  .pl-xs {
    padding-left: var(--XS); }
  .pl-s {
    padding-left: var(--S); }
  .pl-m {
    padding-left: var(--M); }
  .pl-l {
    padding-left: var(--L); }
  .pl-xl {
    padding-left: var(--XL); }
  .pl-xxl {
    padding-left: var(--XXL); }
  .pl-xxxl {
    padding-left: var(--XXXL); }
  /* Padding - Right */
  .pr-0 {
    padding-right: var(--N); }
  .pr-xxs {
    padding-right: var(--XXS); }
  .pr-xs {
    padding-right: var(--XS); }
  .pr-s {
    padding-right: var(--S); }
  .pr-m {
    padding-right: var(--M); }
  .pr-l {
    padding-right: var(--L); }
  .pr-xl {
    padding-right: var(--XL); }
  .pr-xxl {
    padding-right: var(--XXL); }
  .pr-xxxl {
    padding-right: var(--XXXL); } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCJmb3VuZGF0aW9ucy9fYmFzZS5zY3NzIiwiY29tcG9uZW50cy9fZm9udHMuc2NzcyIsImNvbXBvbmVudHMvYmxvY2tzL19mZWF0dXJlLnNjc3MiLCJjb21wb25lbnRzL2Jsb2Nrcy9fcHJpdmFjeS5zY3NzIiwiY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLWZvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fbGF5b3V0LnNjc3MiLCJjb21wb25lbnRzL3VpL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL3VpL19zd2l0Y2hlcy5zY3NzIiwiY29tcG9uZW50cy91aS9fc2VsZWN0LWlucHV0LnNjc3MiLCJjb21wb25lbnRzL3VpL190ZXh0LWlucHV0LnNjc3MiLCJjb21wb25lbnRzL3VpL19kb25hdGlvbi1vcHRpb25zLnNjc3MiLCJ2YXJpYW50cy9fdGV4dC5zY3NzIiwidXRpbGl0aWVzL19pbmRleC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQiw4QkFBSTtBQUVKOzs2QkRFNkI7QUVKM0I7RUFDRSx3QkFBd0IsRUFBQTs7QURNNUI7RUFDRSxrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFO0lBQ0UsZUFBZTtJQUVmLGVBQUE7SUFDQTtnREFBc0I7SUFFdEIsZUFBVztJQUNYLGdCQUFZO0lBQ1osZ0JBQVk7SUFDWixrQkFBYztJQUNkLGNBQVU7SUFFVixZQUFBO0lBQ0EsZUFBTztJQUNQLG9CQUFjO0lBQ2Qsb0JBQWM7SUFDZCwyQkFBbUI7SUFDbkIscUJBQWE7SUFDYix1QkFBZTtJQUNmLHVCQUFrQjtJQUNsQixzQkFBYztJQUNkLHVCQUFlO0lBQ2YscUJBQWE7SUFDYixvQkFBWTtJQUNaLHVCQUFlO0lBRWYscUJBQUE7SUFDQSwrQkFBWTtJQUNaLHFDQUFjO0lBQ2QsNEJBQVU7SUFDViwyQkFBVTtJQUNWLGdD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QUFBO0VBQ2hDO0lBQVMseUJBQXlCLEVBQUE7RUFDbEM7SUFBVSwwQkFBMEIsRUFBQTtFQUNwQztJQUFXLDJCQUEyQixFQUFBO0VBRXRDLG1CQUFBO0VBQ0E7SUFBUSxzQkFBc0IsRUFBQTtFQUM5QjtJQUFVLHdCQUF3QixFQUFBO0VBQ2xDO0lBQVMsdUJBQXVCLEVBQUE7RUFDaEM7SUFBUSxzQkFBc0IsRUFBQTtFQUM5QjtJQUFRLHNCQUFzQixFQUFBO0VBQzlCO0lBQVEsc0JBQXNCLEVBQUE7RUFDOUI7SUFBUyx1QkFBdUIsRUFBQTtFQUNoQztJQUFVLHdCQUF3QixFQUFBO0VBQ2xDO0lBQVcseUJBQXlCLEVBQUE7RUFFcEMsb0JBQUE7RUFDQTtJQUFRLHVCQUF1QixFQUFBO0VBQy9CO0lBQVUseUJBQXlCLEVBQUE7RUFDbkM7SUFBUyx3QkFBd0IsRUFBQTtFQUNqQztJQUFRLHVCQUF1QixFQUFBO0VBQy9CO0lBQVEsdUJBQXVCLEVBQUE7RUFDL0I7SUFBUSx1QkFBdUIsRUFBQTtFQUMvQjtJQUFTLHdCQUF3QixFQUFBO0VBQ2pDO0lBQVUseUJBQXlCLEVBQUE7RUFDbkM7SUFBVywwQkFBMEIsRUFBQSxFQUFJIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbkB1c2UgXCJAL3N0eWxlcy9mdW5jdGlvbnNcIiBhcyAqO1xuLyogRm91bmRhdGlvbnMgXG5AaW1wb3J0IFwiZm91bmRhdGlvbnMvdG9rZW5zXCI7XG5AaW1wb3J0IFwiZm91bmRhdGlvbnMvcmVzZXRcIjsqL1xuLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQHByb3BlcnR5IC0tcmVzcG9uc2l2ZS1zY2FsZS1yYXcge1xuICBzeW50YXg6IFwiPGxlbmd0aD5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwcHg7IH1cblxuQGxheWVyIGZvdW5kYXRpb25zIHtcbiAgOnJvb3Qge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAvKiBUeXBvZ3JhcGh5ICovXG4gICAgLS1mb250LWZhbWlseS1wcmltYXJ5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCIsIC1hcHBsZS1zeXN0ZW0sXG4gICAgICBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgc2Fucy1zZXJpZjtcbiAgICAtLWZ3LWxpZ2h0OiAyMDA7XG4gICAgLS1mdy1ub3JtYWw6IDQwMDtcbiAgICAtLWZ3LW1lZGl1bTogNTAwO1xuICAgIC0tZnctc2VtaWJvbGQ6IDYwMDtcbiAgICAtLWZ3LWJvbGQ6IDcwMDtcbiAgICAvKiBDb2xvdXJzICovXG4gICAgLS1jLUJHOiAjZWRlZGVkO1xuICAgIC0tYy1TTFYtQmxhY2s6IGJsYWNrO1xuICAgIC0tYy1TTFYtV2hpdGU6IHdoaXRlO1xuICAgIC0tYy1TTFYtTGlnaHQtR3JleTogI2Q0ZDRkNDtcbiAgICAtLWMtU0xWLUdyZXk6ICNhOWE4YTk7XG4gICAgLS1jLVNMVi1HcmV5LTM6ICM2YzZjNmM7XG4gICAgLS1jLVNMVi1EYXJrLUdyZXk6ICM1NTU7XG4gICAgLS1jLVNMVi1HcmVlbjogIzg4Yzg2ZjtcbiAgICAtLWMtU0xWLU9yYW5nZTogI2ZjYjQ0NTtcbiAgICAtLWMtU0xWLUJsdWU6ICM3OWIzZTI7XG4gICAgLS1jLVNMVi1SZWQ6ICNmMTY2NmE7XG4gICAgLS1jLUZvcm0tR3JlZW46ICMzMjliMmI7XG4gICAgLyogU2VtYW50aWMgY29sb3VycyAqL1xuICAgIC0tYy1QcmltYXJ5OiB2YXIoLS1jLVNMVi1CbGFjayk7XG4gICAgLS1jLVNlY29uZGFyeTogdmFyKC0tYy1TTFYtRGFyay1HcmV5KTtcbiAgICAtLWMtRm9jdXM6IHZhcigtLWMtU0xWLUdyZXkpO1xuICAgIC0tYy1FcnJvcjogdmFyKC0tYy1TTFYtUmVkKTtcbiAgICAtLWMtU3VjY2VzczogdmFyKC0tYy1Gb3JtLUdyZWVuKTtcbiAgICAtLWMtdGV4dDogdmFyKC0tYy1TTFYtQmxhY2spO1xuICAgIC0tYy1iYWNrZ3JvdW5kOiB2YXIoLS1jLVNMVi1XaGl0ZSk7XG4gICAgLS1jLU1lbWJlci1BY2Nlc3M6IHZhcigtLWMtU0xWLUJsdWUpO1xuICAgIC0tYy1NZW1iZXItU3R1ZGVudDogdmFyKC0tYy1TTFYtR3JlZW4pO1xuICAgIC0tYy1NZW1iZXItRmFtaWx5OiB2YXIoLS1jLVNMVi1PcmFuZ2UpO1xuICAgIC0tYy1NZW1iZXItQ3VsdHVyYWw6IHZhcigtLWMtU0xWLVJlZCk7XG4gICAgLyogU2tlbGV0b24gQ29sb3VycyAqL1xuICAgIC0tYy1zay1CRzogI2UwZTBlMDtcbiAgICAtLXYtc2staGlnaGxpZ2h0LW9mZnNldDogMC4wNjM1O1xuICAgIC0tYy1zay1IaWdobGlnaHQ6IG9rbGNoKFxuICAgICAgZnJvbSB2YXIoLS1jLXNrLUJHKSBjYWxjKGNsYW1wKDAsIGwgKyB2YXIoLS12LXNrLWhpZ2hsaWdodC1vZmZzZXQpLCAxKSkgY1xuICAgICAgICBoXG4gICAgKTtcbiAgICAvKiBTcGFjaW5nICovXG4gICAgLS1OOiAwcmVtO1xuICAgIC0tWFhTOiAwLjVyZW07XG4gICAgLS1YUzogMC43NXJlbTtcbiAgICAtLVM6IDFyZW07XG4gICAgLS1NOiAxLjVyZW07XG4gICAgLS1MOiAycmVtO1xuICAgIC0tWEw6IDNyZW07XG4gICAgLS1YWEw6IDRyZW07XG4gICAgLS1YWFhMOiA1LjYyNXJlbTtcbiAgICAvKiBMYXlvdXQgKi9cbiAgICAvKiBcbiAgICBJTVBPUlRBTlQ6IElmIHdlIHVwZGF0ZSB0aGUgbWF4LXdpZHRoIG9yIG1pbi13aWR0aCB3ZSBuZWVkIHRvIHVzZSBweCB2YWx1ZXMgYXMgb3VyIGNhbGNzIGRvbid0IHN1cHBvcnQgcmVtc1xuICAgICovXG4gICAgLS1tYXgtd2lkdGg6IDExNjhweDtcbiAgICAtLW1pbi13aWR0aDogNDQ4cHg7XG4gICAgLS1yZXNwb25zaXZlLXJhbmdlOiBjYWxjKHZhcigtLW1heC13aWR0aCkgLSB2YXIoLS1taW4td2lkdGgpKTtcbiAgICAtLXJlc3BvbnNpdmUtc2NhbGUtcmF3OiBjYWxjKDEwMHZ3IC0gdmFyKC0tbWluLXdpZHRoKSk7XG4gICAgLS1yZXNwb25zaXZlLXNjYWxlOiBjYWxjKFxuICAgICAgdGFuKGF0YW4yKHZhcigtLXJlc3BvbnNpdmUtc2NhbGUtcmF3KSwgdmFyKC0tcmVzcG9uc2l2ZS1yYW5nZSkpKSAvIDFcbiAgICApO1xuICAgIC0tYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLS1ndXR0ZXItcGFnZTogY2xhbXAoMjBweCwgNHZ3LCB2YXIoLS1MKSk7XG4gICAgLyogVGltaW5ncyAqL1xuICAgIC0tZWFzZS1jaXJjdWxhci1pbi1vdXQ6IGN1YmljLWJlemllcigwLjg1LCAwLCAwLjE1LCAxKTtcbiAgICAtLWVhc2UtYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI3LCAxLjU1KTtcbiAgICAtLWVhc2UtcXVhZC1pbi1vdXQ6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTsgfVxuICAvKiBSZXNldHMgYW5kIG5vcm1hbGlzYXRpb25zICovXG4gICoge1xuICAgIGJveC1zaXppbmc6IHZhcigtLWJveC1zaXppbmcpOyB9XG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICBpbnB1dCB7XG4gICAgLyogUmVzZXQgYnJvd3NlciBzdHlsaW5nICovXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC8qIFJlbW92ZSBhdXRvZmlsbCBiYWNrZ3JvdW5kICovXG4gIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG4gIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG4gIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwMDBweCB2YXIoLS1jLWJhY2tncm91bmQpIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAvKiBEZWZhdWx0IGVsZW1lbnQgc3R5bGVzICovXG4gIGh0bWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLVNMVi1CbGFjayk7IH1cbiAgYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJhY2tncm91bmQpO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuICBib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgLyogRGVmYXVsdCB0ZXh0IHN0eWxlcyAqL1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IHJlc3BvbnNpdmUtY2xhbXAoMTZweCwgMThweCk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1tZWRpdW0pO1xuICAgIGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLWNsYW1wKDI1cHgsIDI2cHgpO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQpO1xuICAgIGxlYWRpbmctdHJpbTogYm90aDtcbiAgICB0ZXh0LWVkZ2U6IGNhcDsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4OyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgaDQge1xuICAgIG1hcmdpbjogdmFyKC0tTSkgMDtcbiAgICBsZWFkaW5nLXRyaW06IGJvdGg7XG4gICAgdGV4dC1lZGdlOiBjYXA7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZnctc2VtaWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiA2MHB4OyB9XG4gIGg1IHtcbiAgICBmb250LWZhbWlseTogXCJJVEMgQXZhbnQgR2FyZGUgR290aGljIFByb1wiO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tUyk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1zZW1pYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLU0pOyB9XG4gIGEge1xuICAgIGNvbG9yOiBibGFjazsgfVxuICB1bCB7XG4gICAgcGFkZGluZzogMCAwIDAgMS4zNzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZ2FwOiB2YXIoLS1YWFMpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZGlzcGxheTogZmxleDsgfVxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxLjM3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTEuMzc1cmVtOyB9IH1cblxuLyogc3R5bGVzL2ZvbnRzLmNzcyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL0F2YW50LUdhcmRlL0lUQ0F2YW50R2FyZGVQcm8tWEx0Lm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL0F2YW50LUdhcmRlL0lUQ0F2YW50R2FyZGVQcm8tWEx0T2JsLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL0F2YW50LUdhcmRlL0lUQ0F2YW50R2FyZGVQcm8tQmsub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSVRDIEF2YW50IEdhcmRlIEdvdGhpYyBQcm9cIjtcbiAgc3JjOiB1cmwoXCIvZm9udHMvQXZhbnQtR2FyZGUvSVRDQXZhbnRHYXJkZVByby1Ca09ibC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJVEMgQXZhbnQgR2FyZGUgR290aGljIFByb1wiO1xuICBzcmM6IHVybChcIi9mb250cy9BdmFudC1HYXJkZS9JVENBdmFudEdhcmRlUHJvLU1kLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL0F2YW50LUdhcmRlL0lUQ0F2YW50R2FyZGVQcm8tTWRPYmwub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSVRDIEF2YW50IEdhcmRlIEdvdGhpYyBQcm9cIjtcbiAgc3JjOiB1cmwoXCIvZm9udHMvQXZhbnQtR2FyZGUvSVRDQXZhbnRHYXJkZVByby1EZW1pLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL0F2YW50LUdhcmRlL0lUQ0F2YW50R2FyZGVQcm8tRGVtaU9ibC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJVEMgQXZhbnQgR2FyZGUgR290aGljIFByb1wiO1xuICBzcmM6IHVybChcIi9mb250cy9BdmFudC1HYXJkZS9JVENBdmFudEdhcmRlUHJvLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSVRDIEF2YW50IEdhcmRlIEdvdGhpYyBQcm9cIjtcbiAgc3JjOiB1cmwoXCIvZm9udHMvQXZhbnQtR2FyZGUvSVRDQXZhbnRHYXJkZVByby1Cb2xkT2JsLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuLyogQmxvY2tzICovXG4uZmVhdHVyZS1pbm5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mZWF0dXJlLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1NKTsgfVxuXG4vKiBQcml2YWN5IHBvbGljeSAqL1xuLnByaXZhY3ktcG9saWN5IHtcbiAgY29sb3I6IHZhcigtLWMtU0xWLUdyZXktMyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tWFMpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1YTCk7IH1cblxuLyogQ29tcG9uZW50cyAqL1xuLmNhcmQge1xuICBwYWRkaW5nOiB2YXIoLS1MKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLVMpOyB9XG5cbi8qXG5IZWFkZXIvRm9vdGVyXG4qL1xuOmlzKGhlYWRlciwgZm9vdGVyKSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtU0xWLUJsYWNrKTtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6IHZhcigtLWMtU0xWLVdoaXRlKTsgfVxuXG4ubGF5b3V0LWlubmVyIHtcbiAgcGFkZGluZzogdmFyKC0tTSkgY2xhbXAodmFyKC0tUyksIHZhcigtLUwpLCA1dncpO1xuICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aCk7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBwbGFjZS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5sb2dvLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5pbmZvLWxpbmstd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tWFMpOyB9XG5cbi5pbmZvLWxpbmstd3JhcHBlciBhLFxuLmluZm8tbGluay13cmFwcGVyIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiB2YXIoLS1jLVNMVi1XaGl0ZSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uaW5mby1saW5rLXdyYXBwZXIgLmljb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pbmZvLWxpbmstd3JhcHBlciAuaW5mby10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuaW5mby1saW5rLXdyYXBwZXIgLmluZm8tdGV4dCxcbiAgLmluZm8tbGluay13cmFwcGVyIC5zZXBhcmF0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmluZm8tbGluay13cmFwcGVyIC5pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAuaW5mby1saW5rLXdyYXBwZXIge1xuICAgIGdhcDogdmFyKC0tUyk7IH0gfVxuXG5mb290ZXIge1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7IH1cblxuI2Zvb3Rlci1saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tWFhMKTsgfVxuXG4jZm9vdGVyLWxpbmtzIGEsXG4jZm9vdGVyLWxpbmtzIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiB2YXIoLS1jLVNMVi1XaGl0ZSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlbWlib2xkKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4OyB9XG5cbiNmb290ZXItbGlua3MgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogODQwcHgpIHtcbiAgZm9vdGVyIC5sYXlvdXQtaW5uZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLUwpO1xuICAgIHBhZGRpbmc6IHZhcigtLVhYTCkgMDsgfVxuICAjZm9vdGVyLWxpbmtzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tTCk7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjsgfVxuICA6aXMoI2Zvb3Rlci1saW5rcyBhLCAjZm9vdGVyLWxpbmtzIGE6dmlzaXRlZCkge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMjBweDsgfSB9XG5cbi8qIE91dGVyIHdyYXBwZXIgKGZ1bGwgd2lkdGggKyBiYWNrZ3JvdW5kKSAqL1xuLnBhZ2Utd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLyogSW5uZXIgY29udGFpbmVyIChjZW50cmVkLCBmaXhlZCB3aWR0aCkgKi9cbi5wYWdlLWlubmVyIHtcbiAgbWF4LXdpZHRoOiA1NzJweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ3V0dGVyLXBhZ2UpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ndXR0ZXItcGFnZSk7IH1cblxuLmZlYXR1cmUtaW5uZXIge1xuICBtYXgtd2lkdGg6IDc3MHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uY29udGVudCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uY2kge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICBwYWRkaW5nOiB2YXIoLS1NKSB2YXIoLS1ndXR0ZXItcGFnZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4vKiBNYWluIGNvbnRlbnQgd3JhcHBlciAqL1xuLmNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHJlc3BvbnNpdmUtY2xhbXAodmFyKC0tWEwpLCB2YXIoLS1MKSwgdHJ1ZSk7XG4gIC8qIENvbnRhaW5lciBxdWVyaWVzICovXG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgY29udGFpbmVyLW5hbWU6IGNvbnRlbnQ7IH1cblxuLyogVUkgKi9cbi8qIEJ1dHRvbnMgKi9cbi5idXR0b25zIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tWEwpOyB9XG5cbi8qIEJVVFRPTiBCQVNFICovXG4uYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICAvKiBmYWxsYmFjayBmb3IgcmVzcG9uc2l2ZS1jbGFtcCAqL1xuICBmb250LXdlaWdodDogdmFyKC0tZnctYm9sZCk7XG4gIHBhZGRpbmc6IHZhcigtLVMpIDEuODc1cmVtIHZhcigtLVhTKTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1QcmltYXJ5KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1QcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWMtU0xWLVdoaXRlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogSU1QT1JUQU5UOiBmaXggd2VpcmQgdmVydGljYWwgc2l6aW5nICovXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKiBGVUxMIFdJRFRIICh5b3XigJlsbCB1c2UgdGhpcyBhIGxvdCkgKi9cbi53LTEwMCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIEhPVkVSICovXG4uYnV0dG9uOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1TZWNvbmRhcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtU2Vjb25kYXJ5KTsgfVxuXG4vKiBESVNBQkxFRCAqL1xuLmJ1dHRvbi5kaXNhYmxlZCxcbi5idXR0b246ZGlzYWJsZWQge1xuICAtLWMtZWxlbWVudDogdmFyKC0tYy1TTFYtR3JleSk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtZWxlbWVudCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1lbGVtZW50KTtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZBUklBTlRTXG49PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTRUNPTkRBUlkgKi9cbi5idXR0b24tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1jLVByaW1hcnkpOyB9XG5cbi5idXR0b24tc2Vjb25kYXJ5Om5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1QcmltYXJ5KTtcbiAgb3BhY2l0eTogMC43OyB9XG5cbi8qIElDT04gKi9cbi5idXR0b24taWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tYy1QcmltYXJ5KTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogYXV0bzsgfVxuXG4uYnV0dG9uLWljb246bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICBvcGFjaXR5OiAwLjc7IH1cblxuLyogVEVYVCAqL1xuLmJ1dHRvbi10ZXh0IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogTG9hZGluZyBzdGF0ZSAqL1xuLmJ1dHRvbi0tbG9hZGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYnV0dG9uLS1sb2FkaW5nIC5idXR0b24tbG9hZGluZy1pbm5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4OyB9XG4gIC5idXR0b24tLWxvYWRpbmcuaXMtbG9hZGluZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuYnV0dG9uLS1sb2FkaW5nLmlzLWxvYWRpbmc6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1QcmltYXJ5KTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1QcmltYXJ5KTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjdXJzb3I6IHdhaXQ7IH1cbiAgICAuYnV0dG9uLS1sb2FkaW5nLmlzLWxvYWRpbmcgLmJ1dHRvbi10ZXh0LWlubmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYnV0dG9uLS1sb2FkaW5nLmlzLWxvYWRpbmcgLmJ1dHRvbi1sb2FkaW5nLWlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgLmJ1dHRvbi0tbG9hZGluZy5pcy1sb2FkaW5nIC5idXR0b24tc3Bpbm5lciB7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jLVNMVi1XaGl0ZSk7XG4gICAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDAuOHMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgYnV0dG9uLXNwaW5uZXIge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi8qIFN3aXRjaCAqL1xuLnN3aXRjaCB7XG4gIC0tc3otU3dpdGNoOiAxLjEyNXJlbTtcbiAgLS1zei1Td2l0Y2gtV2lkdGg6IGNhbGModmFyKC0tc3otU3dpdGNoKSAqIDIuNSk7XG4gIC0tcC1Td2l0Y2g6IGNhbGModmFyKC0tc3otU3dpdGNoKSAvIDQuNSk7XG4gIC0tYy1Td2l0Y2gtQWN0aXZlOiB2YXIoLS1jLVNMVi1HcmVlbik7XG4gIC0tYy1Td2l0Y2gtRm9jdXM6IHZhcigtLWMtRm9jdXMpOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci13aWR0aDogMDsgfVxuXG4uc3dpdGNoLWxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zd2l0Y2gtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXN6LVN3aXRjaCk7IH1cblxuLnN3aXRjaC10cmF5IHtcbiAgd2lkdGg6IHZhcigtLXN6LVN3aXRjaC1XaWR0aCk7XG4gIGhlaWdodDogdmFyKC0tc3otU3dpdGNoKTtcbiAgcGFkZGluZzogdmFyKC0tcC1Td2l0Y2gpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLVNMVi1HcmV5KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3otU3dpdGNoKTtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyB2YXIoLS1lYXNlLWNpcmN1bGFyLWluLW91dCk7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5zd2l0Y2gtaGFuZGxlIHtcbiAgd2lkdGg6IHZhcigtLXN6LVN3aXRjaCk7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtU0xWLUJsYWNrKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3otU3dpdGNoKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogdmFyKC0tcC1Td2l0Y2gpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIHZhcigtLWVhc2UtY2lyY3VsYXItaW4tb3V0KTsgfVxuXG4uc3dpdGNoLWxhYmVsLXRleHQge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4vKiBGb2N1cyBhY2Nlc3NpYmlsaXR5ICovXG4uc3dpdGNoLWlucHV0OmZvY3VzLXZpc2libGUgKyAuc3dpdGNoLXdyYXBwZXIgLnN3aXRjaC10cmF5IHtcbiAgb3V0bGluZTogY2FsYyh2YXIoLS1wLVN3aXRjaCkgLyAyKSBzb2xpZCB2YXIoLS1jLVN3aXRjaC1Gb2N1cyk7XG4gIG91dGxpbmUtb2Zmc2V0OiBjYWxjKHZhcigtLXAtU3dpdGNoKSAvIDIpOyB9XG5cbi5zd2l0Y2gtaW5wdXQ6Y2hlY2tlZCArIC5zd2l0Y2gtd3JhcHBlciAuc3dpdGNoLWhhbmRsZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKGNhbGModmFyKC0tc3otU3dpdGNoLVdpZHRoKSAtIHZhcigtLXN6LVN3aXRjaCkgLSB2YXIoLS1wLVN3aXRjaCkgKyA0cHgpKTsgfVxuXG4uc3dpdGNoLWlucHV0OmNoZWNrZWQgKyAuc3dpdGNoLXdyYXBwZXIgLnN3aXRjaC10cmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1Td2l0Y2gtQWN0aXZlKTsgfVxuXG4uc3dpdGNoLWxhYmVsLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi5zd2l0Y2gtdHJheS5kaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnN3aXRjaC1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLVhYUyk7IH1cblxuLyogVXNlZCBmb3IgdGhlIGludGVyZXN0cyBzZWN0aW9uICovXG4uaW5wdXQtZ3JvdXAuaW5wdXQtZ3JvdXAtLXN3aXRjaGVzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IHZhcigtLVMpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tTCk7XG4gIC8qIGtlZXAgeW91ciBzcGFjaW5nIGNvbnNpc3RlbnQgKi8gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmlucHV0LWdyb3VwLmlucHV0LWdyb3VwLS1zd2l0Y2hlcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuXG4vKiBTZWxlY3QgSW5wdXQgKi9cbi5zZWxlY3QtaW5wdXQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKiBDb250YWluZXIgKi9cbi5zZWxlY3QtaW5wdXQge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtU0xWLUdyZXkpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiB2YXIoLS1TKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEZvY3VzIHN0YXRlIChDU1Mtb25seSB1c2luZyA6Zm9jdXMtd2l0aGluKSAqL1xuLnNlbGVjdC1pbnB1dDpmb2N1cy13aXRoaW4ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtRm9jdXMpO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgbWFyZ2luOiAtMXB4OyB9XG5cbi8qIElubmVyIHdyYXBwZXIgKi9cbi5zZWxlY3QtaW5wdXQtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyogRmxvYXRpbmcgbGFiZWwgKi9cbi5zZWxlY3QtaW5wdXQtbGFiZWwge1xuICBoZWlnaHQ6IDAuOGVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgdmFyKC0tZWFzZS1jaXJjdWxhci1pbi1vdXQpO1xuICBjb2xvcjogdmFyKC0tYy1TTFYtR3JleS0zKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogRkxPQVQgU1RBVEUgKi9cbi5zZWxlY3QtaW5wdXQ6Zm9jdXMtd2l0aGluIC5zZWxlY3QtaW5wdXQtbGFiZWwsXG4uc2VsZWN0LWlucHV0Lmhhcy12YWx1ZSAuc2VsZWN0LWlucHV0LWxhYmVsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1YUyk7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi8qIE5hdGl2ZSBzZWxlY3QgKi9cbi5zZWxlY3QtbmF0aXZlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xuICBmb250LXdlaWdodDogdmFyKC0tZnctbWVkaXVtKTtcbiAgcGFkZGluZy10b3A6IDFlbTtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKiBPcHRpb25hbCBkcm9wZG93biBhcnJvdyAqL1xuLnNlbGVjdC1pbnB1dC1pbm5lcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM2YzZjNmMnIHN0cm9rZS13aWR0aD0nMS41JyUzRSUzQ3BhdGggZD0nTTUgNy41TDEwIDEyLjVMMTUgNy41Jy8lM0UlM0Mvc3ZnJTNFXCIpIG5vLXJlcGVhdCBjZW50ZXI7IH1cblxuLyogRGVzY3JpcHRpb24gKi9cbi5pbnB1dC1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLVhYUyk7XG4gIGNvbG9yOiB2YXIoLS1jLVNMVi1HcmV5LTMpOyB9XG5cbi8qIE9wdGlvbmFsIGRpc2FibGVkICovXG4uc2VsZWN0LWlucHV0OmhhcyhzZWxlY3Q6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1CRyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1CRyk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyogR3JvdXBpbmcgKi9cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tTSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1MKTsgfVxuXG4vKiBUZXh0IGlucHV0ICovXG4udGV4dC1pbnB1dC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1YUyk7IH1cblxuLmlucHV0LWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4udGV4dC1pbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1TTFYtR3JleSk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IHZhcigtLVMpOyB9XG5cbi50ZXh0LWlucHV0LmZvY3VzZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtRm9jdXMpO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgbWFyZ2luOiAtMXB4OyB9XG5cbi50ZXh0LWlucHV0LWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwbGFjZS1pdGVtczogY2VudGVyOyB9XG5cbi50ZXh0LWlucHV0LWxhYmVsIHtcbiAgaGVpZ2h0OiAwLjhlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zbGF0ZTogMCAtNTAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgdmFyKC0tZWFzZS1jaXJjdWxhci1pbi1vdXQpO1xuICBjb2xvcjogdmFyKC0tYy1TTFYtR3JleS0zKTsgfVxuXG4vKiBGTE9BVCBTVEFURSAqL1xuLnRleHQtaW5wdXQ6aXMoLmZvY3VzZWQsIC5oYXMtdmFsdWUpIC50ZXh0LWlucHV0LWxhYmVsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1YUyk7XG4gIHRvcDogMDtcbiAgdHJhbnNsYXRlOiAwIDA7XG4gIGNvbG9yOiB2YXIoLS1jLVNMVi1HcmV5LTMpOyB9XG5cbi8qIElOUFVUICovXG4udGV4dC1pbnB1dCBpbnB1dCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgcGFkZGluZy10b3A6IDFlbTtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLyogRElTQUJMRUQgLyBQRU5ESU5HICovXG46aXMoLnBlbmRpbmcsIC5kaXNhYmxlZCkge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbjppcygucGVuZGluZywgLmRpc2FibGVkKSAqIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLUJHKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLUJHKTtcbiAgY29sb3I6IHZhcigtLWMtU0xWLUdyZXktMyk7IH1cblxuLyogVkFSSUFOVFMgKi9cbi5pbnZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLUVycm9yKTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIG1hcmdpbjogLTFweDsgfVxuXG4udmFsaWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtU3VjY2Vzcyk7IH1cblxuLyogRVJST1IgKi9cbi5pbnB1dC1lcnJvciB7XG4gIGNvbG9yOiB2YXIoLS1jLUVycm9yKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gIC8qbWFyZ2luLXRvcDogMTRweDsqLyB9XG5cbi5pbnB1dC1lcnJvcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDAuNXB4O1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEycHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9pY29ucy9yZWQtY3Jvc3MtaWNvbi5zdmdcIik7IH1cblxuLyogVVRJTElUSUVTICovXG4ucGVuZGluZyAudGV4dC1pbnB1dC1sYWJlbCB7XG4gIG9wYWNpdHk6IDAuNDsgfVxuXG4ucHJlLXZhbHVlIC50ZXh0LWlucHV0LWxhYmVsIHtcbiAgdHJhbnNpdGlvbjogbm9uZTsgfVxuXG4vKiBUZXh0YXJlYSAqL1xuLnRleHQtaW5wdXQgdGV4dGFyZWEge1xuICBmb250LXNpemU6IDE4cHg7XG4gIHBhZGRpbmctdG9wOiAxLjRlbTtcbiAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgbWluLWhlaWdodDogMTIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICByZXNpemU6IHZlcnRpY2FsO1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4udGV4dC1pbnB1dC50ZXh0LWFyZWEge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4udGV4dC1pbnB1dC50ZXh0LWFyZWEgLnRleHQtaW5wdXQtbGFiZWwge1xuICB0b3A6IDA7XG4gIHRyYW5zbGF0ZTogMCAwO1xuICBmb250LXNpemU6IHZhcigtLVhTKTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnRleHQtaW5wdXQudGV4dC1hcmVhIC50ZXh0LWlucHV0LWlubmVyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLyogUGF5bWVudCBidXR0b25zICovXG4uZG9uYXRpb24tZ3JvdXAge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdhcDogdmFyKC0tTSk7XG4gIGdyaWQtYXV0by1yb3dzOiAxZnI7XG4gIC8qIPCflKUgVEhJUyBpcyB0aGUga2V5ICovIH1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmRvbmF0aW9uLWdyb3VwIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG5cbi5kb25hdGlvbi1vcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDQzLjVweDtcbiAgLyog8J+RiCBtYXRjaCB5b3VyIHRleHQgaW5wdXQgRVhBQ1RMWSAqL1xuICBwYWRkaW5nOiB2YXIoLS1TKSB2YXIoLS1TKTtcbiAgLyogaG9yaXpvbnRhbCBvbmx5ICovXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtU0xWLUdyZXkpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmRvbmF0aW9uLW9wdGlvbiBpbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmRvbmF0aW9uLW9wdGlvbiBzcGFuIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogaW1wb3J0YW50ICovIH1cblxuLmRvbmF0aW9uLW9wdGlvbjpoYXMoaW5wdXQ6Y2hlY2tlZCkge1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jLVNMVi1HcmVlbik7IH1cblxuLmRvbmF0aW9uLW9wdGlvbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1TTFYtR3JleS0zKTsgfVxuXG4udGV4dC1pbnB1dC13cmFwcGVyICsgLmlucHV0LWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tTSk7IH1cblxuLmRvbmF0aW9uLWdyb3VwICsgLmlucHV0LWVycm9yIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5kb25hdGlvbi1ncm91cC5pbnZhbGlkOm5vdCg6aGFzKGlucHV0OmNoZWNrZWQpKSAuZG9uYXRpb24tb3B0aW9uIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLUVycm9yKTsgfVxuXG4vKiBCb29rcGxhdGVzICovXG4uZG9uYXRpb24tZ3JvdXAtLWNhcmRzIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmRvbmF0aW9uLWdyb3VwLS1jYXJkcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyOyB9XG4gIC5kb25hdGlvbi1jYXJkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDI4MHB4OyB9IH1cblxuLmRvbmF0aW9uLW9wdGlvbi0tY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgLyogb3ZlcnJpZGUgZml4ZWQgaGVpZ2h0ICovXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtU0xWLUdyZXkpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uY2FyZC1tZWRpYSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4uY2FyZC1tZWRpYSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2FyZC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1YWFMpOyB9XG5cbi5wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1zZW1pYm9sZCk7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4uZG9uYXRpb24tb3B0aW9uLS1jYXJkOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLVNMVi1HcmV5LTMpOyB9XG5cbi8qIFZhcmlhbnRzICovXG5AbGF5ZXIgdmFyaWFudHMge1xuICAudGV4dC1sYWJlbCB7XG4gICAgY29sb3I6ICM1YjYwNjQ7IH1cbiAgLmNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiB2YXIoLS1jLVNMVi1EYXJrLUdyZXkpOyB9XG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjM2cHg7IH1cbiAgLnAyIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zMnB4OyB9XG4gIC5wMyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjhweDsgfVxuICAucDUge1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMThweDsgfVxuICAvKiBGaXggQ01TIDxwPiBpbnNpZGUgLnAzICovXG4gIC5wMyBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAucDMtLWFsbG93LXNwYWNpbmcgcCB7XG4gICAgbWFyZ2luLWJsb2NrOiAxZW07XG4gICAgLyogcmVzdG9yZSBicm93c2VyLWxpa2Ugc3BhY2luZyAqLyB9XG4gIC5jMiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjRweDsgfSB9XG5cbi8qIFV0aWxpdGllcyB0byBjb21lIGF0IHRoZSBlbmQgdG8gb3ZlcnJpZGUgb3RoZXIgc3R5bGVzICovXG5AbGF5ZXIgdXRpbGl0aWVzIHtcbiAgLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDsgfVxuICAubGluZS10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBoZWlnaHQ6IDAuOGVtOyB9XG4gIC5mdy1ib2xkIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZnctYm9sZCk7IH1cbiAgLnRleHQtc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogdmFyKC0tYy1TZWNvbmRhcnkpOyB9XG4gIC8qIEFuaW1hdGlvbnMgKi9cbiAgLnNrZWxldG9uLXB1bHNlIHtcbiAgICBhbmltYXRpb246IHNrZWxldG9uLXB1bHNlIDEuNXMgdmFyKC0tZWFzZS1jaXJjdWxhci1pbi1vdXQpIGluZmluaXRlOyB9XG4gIEBrZXlmcmFtZXMgc2tlbGV0b24tcHVsc2Uge1xuICAgIDAlLCAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICA1MCUge1xuICAgICAgb3BhY2l0eTogMC40OyB9IH1cbiAgLnNrZWxldG9uLXdhdmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tYy1zay1CRykgMCUsIHZhcigtLWMtc2stSGlnaGxpZ2h0KSA1MCUsIHZhcigtLWMtc2stQkcpIDEwMCUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICAgIGFuaW1hdGlvbjogc2tlbGV0b24td2F2ZSAxLjVzIHZhcigtLWVhc2UtY2lyY3VsYXItaW4tb3V0KSBpbmZpbml0ZTsgfVxuICBAa2V5ZnJhbWVzIHNrZWxldG9uLXdhdmUge1xuICAgIDAlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgMDsgfVxuICAgIDEwMCUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMCUgMDsgfSB9XG4gIGJvZHkuaXMtcHJvY2Vzc2luZzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICB6LWluZGV4OiA5OTk5OyB9XG4gIGJvZHkuaXMtcHJvY2Vzc2luZzo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICMwMDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB6LWluZGV4OiAxMDAwMDsgfVxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgzNjBkZWcpOyB9IH1cbiAgLyogTWFyZ2luIC0gQWxsIHNpZGVzICovXG4gIC5tLTAge1xuICAgIG1hcmdpbjogdmFyKC0tTik7IH1cbiAgLm0teHhzIHtcbiAgICBtYXJnaW46IHZhcigtLVhYUyk7IH1cbiAgLm0teHMge1xuICAgIG1hcmdpbjogdmFyKC0tWFMpOyB9XG4gIC5tLXMge1xuICAgIG1hcmdpbjogdmFyKC0tUyk7IH1cbiAgLm0tbSB7XG4gICAgbWFyZ2luOiB2YXIoLS1NKTsgfVxuICAubS1sIHtcbiAgICBtYXJnaW46IHZhcigtLUwpOyB9XG4gIC5tLXhsIHtcbiAgICBtYXJnaW46IHZhcigtLVhMKTsgfVxuICAubS14eGwge1xuICAgIG1hcmdpbjogdmFyKC0tWFhMKTsgfVxuICAubS14eHhsIHtcbiAgICBtYXJnaW46IHZhcigtLVhYWEwpOyB9XG4gIC8qIE1hcmdpbiAtIFRvcCAqL1xuICAubXQtMCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tTik7IH1cbiAgLm10LXh4cyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tWFhTKTsgfVxuICAubXQteHMge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLVhTKTsgfVxuICAubXQtcyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tUyk7IH1cbiAgLm10LW0ge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLU0pOyB9XG4gIC5tdC1sIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1MKTsgfVxuICAubXQteGwge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLVhMKTsgfVxuICAubXQteHhsIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1YWEwpOyB9XG4gIC5tdC14eHhsIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1YWFhMKTsgfVxuICAvKiBNYXJnaW4gLSBCb3R0b20gKi9cbiAgLm1iLTAge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLU4pOyB9XG4gIC5tYi14eHMge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLVhYUyk7IH1cbiAgLm1iLXhzIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1YUyk7IH1cbiAgLm1iLXMge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLVMpOyB9XG4gIC5tYi1tIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1NKTsgfVxuICAubWItbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tTCk7IH1cbiAgLm1iLXhsIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1YTCk7IH1cbiAgLm1iLXh4bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tWFhMKTsgfVxuICAubWIteHh4bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tWFhYTCk7IH1cbiAgLyogTWFyZ2luIC0gTGVmdCAqL1xuICAubWwtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLU4pOyB9XG4gIC5tbC14eHMge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1YWFMpOyB9XG4gIC5tbC14cyB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLVhTKTsgfVxuICAubWwtcyB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLVMpOyB9XG4gIC5tbC1tIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tTSk7IH1cbiAgLm1sLWwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1MKTsgfVxuICAubWwteGwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1YTCk7IH1cbiAgLm1sLXh4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLVhYTCk7IH1cbiAgLm1sLXh4eGwge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1YWFhMKTsgfVxuICAvKiBNYXJnaW4gLSBSaWdodCAqL1xuICAubXItMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1OKTsgfVxuICAubXIteHhzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLVhYUyk7IH1cbiAgLm1yLXhzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLVhTKTsgfVxuICAubXItcyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1TKTsgfVxuICAubXItbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1NKTsgfVxuICAubXItbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1MKTsgfVxuICAubXIteGwge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tWEwpOyB9XG4gIC5tci14eGwge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tWFhMKTsgfVxuICAubXIteHh4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1YWFhMKTsgfVxuICAucHQtMCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnBiLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5wbC0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnByLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnAtMCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAvKiBQYWRkaW5nIC0gQWxsICovXG4gIC5wLTAge1xuICAgIHBhZGRpbmc6IHZhcigtLU4pOyB9XG4gIC5wLXh4cyB7XG4gICAgcGFkZGluZzogdmFyKC0tWFhTKTsgfVxuICAucC14cyB7XG4gICAgcGFkZGluZzogdmFyKC0tWFMpOyB9XG4gIC5wLXMge1xuICAgIHBhZGRpbmc6IHZhcigtLVMpOyB9XG4gIC5wLW0ge1xuICAgIHBhZGRpbmc6IHZhcigtLU0pOyB9XG4gIC5wLWwge1xuICAgIHBhZGRpbmc6IHZhcigtLUwpOyB9XG4gIC5wLXhsIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1YTCk7IH1cbiAgLnAteHhsIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1YWEwpOyB9XG4gIC5wLXh4eGwge1xuICAgIHBhZGRpbmc6IHZhcigtLVhYWEwpOyB9XG4gIC8qIFBhZGRpbmcgLSBUb3AgKi9cbiAgLnB0LTAge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1OKTsgfVxuICAucHQteHhzIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tWFhTKTsgfVxuICAucHQteHMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1YUyk7IH1cbiAgLnB0LXMge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1TKTsgfVxuICAucHQtbSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLU0pOyB9XG4gIC5wdC1sIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tTCk7IH1cbiAgLnB0LXhsIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tWEwpOyB9XG4gIC5wdC14eGwge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1YWEwpOyB9XG4gIC5wdC14eHhsIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tWFhYTCk7IH1cbiAgLyogUGFkZGluZyAtIEJvdHRvbSAqL1xuICAucGItMCB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLU4pOyB9XG4gIC5wYi14eHMge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1YWFMpOyB9XG4gIC5wYi14cyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLVhTKTsgfVxuICAucGItcyB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLVMpOyB9XG4gIC5wYi1tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tTSk7IH1cbiAgLnBiLWwge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1MKTsgfVxuICAucGIteGwge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1YTCk7IH1cbiAgLnBiLXh4bCB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLVhYTCk7IH1cbiAgLnBiLXh4eGwge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1YWFhMKTsgfVxuICAvKiBQYWRkaW5nIC0gTGVmdCAqL1xuICAucGwtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1OKTsgfVxuICAucGwteHhzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLVhYUyk7IH1cbiAgLnBsLXhzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLVhTKTsgfVxuICAucGwtcyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1TKTsgfVxuICAucGwtbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1NKTsgfVxuICAucGwtbCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1MKTsgfVxuICAucGwteGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tWEwpOyB9XG4gIC5wbC14eGwge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tWFhMKTsgfVxuICAucGwteHh4bCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1YWFhMKTsgfVxuICAvKiBQYWRkaW5nIC0gUmlnaHQgKi9cbiAgLnByLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLU4pOyB9XG4gIC5wci14eHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLVhYUyk7IH1cbiAgLnByLXhzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1YUyk7IH1cbiAgLnByLXMge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLVMpOyB9XG4gIC5wci1tIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1NKTsgfVxuICAucHItbCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tTCk7IH1cbiAgLnByLXhsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1YTCk7IH1cbiAgLnByLXh4bCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tWFhMKTsgfVxuICAucHIteHh4bCB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tWFhYTCk7IH0gfVxuIiwiQHVzZSBcIkAvc3R5bGVzL2Z1bmN0aW9uc1wiIGFzICo7XG5cbi8qIEZvdW5kYXRpb25zIFxuQGltcG9ydCBcImZvdW5kYXRpb25zL3Rva2Vuc1wiO1xuQGltcG9ydCBcImZvdW5kYXRpb25zL3Jlc2V0XCI7Ki9cbkBpbXBvcnQgXCJmb3VuZGF0aW9ucy9iYXNlXCI7XG5cbkBwcm9wZXJ0eSAtLXJlc3BvbnNpdmUtc2NhbGUtcmF3IHtcbiAgc3ludGF4OiBcIjxsZW5ndGg+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMHB4O1xufVxuXG5AbGF5ZXIgZm91bmRhdGlvbnMge1xuICA6cm9vdCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgLyogVHlwb2dyYXBoeSAqL1xuICAgIC0tZm9udC1mYW1pbHktcHJpbWFyeTogXCJJVEMgQXZhbnQgR2FyZGUgR290aGljIFByb1wiLCAtYXBwbGUtc3lzdGVtLFxuICAgICAgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIHNhbnMtc2VyaWY7XG4gICAgLS1mdy1saWdodDogMjAwO1xuICAgIC0tZnctbm9ybWFsOiA0MDA7XG4gICAgLS1mdy1tZWRpdW06IDUwMDtcbiAgICAtLWZ3LXNlbWlib2xkOiA2MDA7XG4gICAgLS1mdy1ib2xkOiA3MDA7XG5cbiAgICAvKiBDb2xvdXJzICovXG4gICAgLS1jLUJHOiAjZWRlZGVkO1xuICAgIC0tYy1TTFYtQmxhY2s6IGJsYWNrO1xuICAgIC0tYy1TTFYtV2hpdGU6IHdoaXRlO1xuICAgIC0tYy1TTFYtTGlnaHQtR3JleTogI2Q0ZDRkNDtcbiAgICAtLWMtU0xWLUdyZXk6ICNhOWE4YTk7XG4gICAgLS1jLVNMVi1HcmV5LTM6ICM2YzZjNmM7XG4gICAgLS1jLVNMVi1EYXJrLUdyZXk6ICM1NTU7XG4gICAgLS1jLVNMVi1HcmVlbjogIzg4Yzg2ZjtcbiAgICAtLWMtU0xWLU9yYW5nZTogI2ZjYjQ0NTtcbiAgICAtLWMtU0xWLUJsdWU6ICM3OWIzZTI7XG4gICAgLS1jLVNMVi1SZWQ6ICNmMTY2NmE7XG4gICAgLS1jLUZvcm0tR3JlZW46ICMzMjliMmI7XG5cbiAgICAvKiBTZW1hbnRpYyBjb2xvdXJzICovXG4gICAgLS1jLVByaW1hcnk6IHZhcigtLWMtU0xWLUJsYWNrKTtcbiAgICAtLWMtU2Vjb25kYXJ5OiB2YXIoLS1jLVNMVi1EYXJrLUdyZXkpO1xuICAgIC0tYy1Gb2N1czogdmFyKC0tYy1TTFYtR3JleSk7XG4gICAgLS1jLUVycm9yOiB2YXIoLS1jLVNMVi1SZWQpO1xuICAgIC0tYy1TdWNjZXNzOiB2YXIoLS1jLUZvcm0tR3JlZW4pO1xuICAgIC0tYy10ZXh0OiB2YXIoLS1jLVNMVi1CbGFjayk7XG4gICAgLS1jLWJhY2tncm91bmQ6IHZhcigtLWMtU0xWLVdoaXRlKTtcbiAgICAtLWMtTWVtYmVyLUFjY2VzczogdmFyKC0tYy1TTFYtQmx1ZSk7XG4gICAgLS1jLU1lbWJlci1TdHVkZW50OiB2YXIoLS1jLVNMVi1HcmVlbik7XG4gICAgLS1jLU1lbWJlci1GYW1pbHk6IHZhcigtLWMtU0xWLU9yYW5nZSk7XG4gICAgLS1jLU1lbWJlci1DdWx0dXJhbDogdmFyKC0tYy1TTFYtUmVkKTtcblxuICAgIC8qIFNrZWxldG9uIENvbG91cnMgKi9cbiAgICAtLWMtc2stQkc6ICNlMGUwZTA7XG4gICAgLS12LXNrLWhpZ2hsaWdodC1vZmZzZXQ6IDAuMDYzNTtcbiAgICAtLWMtc2stSGlnaGxpZ2h0OiBva2xjaChcbiAgICAgIGZyb20gdmFyKC0tYy1zay1CRykgY2FsYyhjbGFtcCgwLCBsICsgdmFyKC0tdi1zay1oaWdobGlnaHQtb2Zmc2V0KSwgMSkpIGNcbiAgICAgICAgaFxuICAgICk7XG5cbiAgICAvKiBTcGFjaW5nICovXG4gICAgLS1OOiAwcmVtO1xuICAgIC0tWFhTOiAwLjVyZW07XG4gICAgLS1YUzogMC43NXJlbTtcbiAgICAtLVM6IDFyZW07XG4gICAgLS1NOiAxLjVyZW07XG4gICAgLS1MOiAycmVtO1xuICAgIC0tWEw6IDNyZW07XG4gICAgLS1YWEw6IDRyZW07XG4gICAgLS1YWFhMOiA1LjYyNXJlbTtcblxuICAgIC8qIExheW91dCAqL1xuICAgIC8qIFxuICAgIElNUE9SVEFOVDogSWYgd2UgdXBkYXRlIHRoZSBtYXgtd2lkdGggb3IgbWluLXdpZHRoIHdlIG5lZWQgdG8gdXNlIHB4IHZhbHVlcyBhcyBvdXIgY2FsY3MgZG9uJ3Qgc3VwcG9ydCByZW1zXG4gICAgKi9cbiAgICAtLW1heC13aWR0aDogMTE2OHB4O1xuICAgIC0tbWluLXdpZHRoOiA0NDhweDtcbiAgICAtLXJlc3BvbnNpdmUtcmFuZ2U6IGNhbGModmFyKC0tbWF4LXdpZHRoKSAtIHZhcigtLW1pbi13aWR0aCkpO1xuICAgIC0tcmVzcG9uc2l2ZS1zY2FsZS1yYXc6IGNhbGMoMTAwdncgLSB2YXIoLS1taW4td2lkdGgpKTtcbiAgICAtLXJlc3BvbnNpdmUtc2NhbGU6IGNhbGMoXG4gICAgICB0YW4oYXRhbjIodmFyKC0tcmVzcG9uc2l2ZS1zY2FsZS1yYXcpLCB2YXIoLS1yZXNwb25zaXZlLXJhbmdlKSkpIC8gMVxuICAgICk7XG4gICAgLS1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtLWd1dHRlci1wYWdlOiBjbGFtcCgyMHB4LCA0dncsIHZhcigtLUwpKTtcblxuICAgIC8qIFRpbWluZ3MgKi9cbiAgICAtLWVhc2UtY2lyY3VsYXItaW4tb3V0OiBjdWJpYy1iZXppZXIoMC44NSwgMCwgMC4xNSwgMSk7XG4gICAgLS1lYXNlLWJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNywgMS41NSk7XG4gICAgLS1lYXNlLXF1YWQtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7XG4gIH1cblxuICAvKiBSZXNldHMgYW5kIG5vcm1hbGlzYXRpb25zICovXG4gICoge1xuICAgIGJveC1zaXppbmc6IHZhcigtLWJveC1zaXppbmcpO1xuICB9XG5cbiAgaHRtbCxcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgaW5wdXQge1xuICAgIC8qIFJlc2V0IGJyb3dzZXIgc3R5bGluZyAqL1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC8qIFJlbW92ZSBhdXRvZmlsbCBiYWNrZ3JvdW5kICovXG4gIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG4gIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG4gIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwMDBweCB2YXIoLS1jLWJhY2tncm91bmQpIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIERlZmF1bHQgZWxlbWVudCBzdHlsZXMgKi9cblx0aHRtbCB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtU0xWLUJsYWNrKTtcblx0fVxuXG5cdGJvZHkge1xuXHRcdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRcdG1hcmdpbjogMDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1iYWNrZ3JvdW5kKTtcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdH1cblxuICBib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG5cbiAgICAvKiBEZWZhdWx0IHRleHQgc3R5bGVzICovXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZS1jbGFtcCgxNnB4LCAxOHB4KTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LW1lZGl1bSk7XG4gICAgbGluZS1oZWlnaHQ6IHJlc3BvbnNpdmUtY2xhbXAoMjVweCwgMjZweCk7XG4gICAgY29sb3I6IHZhcigtLWMtdGV4dCk7XG4gICAgbGVhZGluZy10cmltOiBib3RoO1xuICAgIHRleHQtZWRnZTogY2FwO1xuICB9XG5cbiAgLnAxIHtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG5cbiAgaDQge1xuICAgIG1hcmdpbjogdmFyKC0tTSkgMDtcbiAgICBsZWFkaW5nLXRyaW06IGJvdGg7XG4gICAgdGV4dC1lZGdlOiBjYXA7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZnctc2VtaWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICB9XG5cbiAgaDUge1xuICAgIGZvbnQtZmFtaWx5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCI7XG4gICAgZm9udC1zaXplOiB2YXIoLS1TKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LXNlbWlib2xkKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tTSk7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cblxuICB1bCB7XG4gICAgcGFkZGluZzogMCAwIDAgMS4zNzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZ2FwOiB2YXIoLS1YWFMpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAolwiO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMS4zNzVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xLjM3NXJlbTtcbiAgfVxufVxuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb250c1wiO1xuXG4vKiBCbG9ja3MgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL2Jsb2Nrcy9mZWF0dXJlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ibG9ja3MvcHJpdmFjeVwiO1xuXG4vKiBDb21wb25lbnRzICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYXJkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkZXItZm9vdGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9sYXlvdXRcIjtcblxuLyogVUkgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL3VpL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3VpL3N3aXRjaGVzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy91aS9zZWxlY3QtaW5wdXRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3VpL3RleHQtaW5wdXRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3VpL2RvbmF0aW9uLW9wdGlvbnNcIjtcblxuLyogVmFyaWFudHMgKi9cbkBpbXBvcnQgXCJ2YXJpYW50cy90ZXh0XCI7XG5cbi8qIFV0aWxpdGllcyB0byBjb21lIGF0IHRoZSBlbmQgdG8gb3ZlcnJpZGUgb3RoZXIgc3R5bGVzICovXG5AaW1wb3J0IFwidXRpbGl0aWVzL2luZGV4XCI7XG5cbkBtaXhpbiBsb2FkaW5nLXNwaW5uZXItaW5saW5lKCRhY3RpdmVDb2xvcjogI2ZmZiwgJHNpemU6IDE2cHgsICRib3JkZXI6IDJweCwgJHRpbWU6IDAuOHMpIHtcbiAgQGtleWZyYW1lcyBzcGlubmVyLWlubGluZSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG4gIH1cblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2l6ZTtcbiAgaGVpZ2h0OiAkc2l6ZTtcblxuICBib3JkZXI6IHNvbGlkICRib3JkZXIgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICBib3JkZXItdG9wLWNvbG9yOiAkYWN0aXZlQ29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBhbmltYXRpb246IHNwaW5uZXItaW5saW5lICR0aW1lIGxpbmVhciBpbmZpbml0ZTtcbn0iLCIgIC5ncmVjYXB0Y2hhLWJhZGdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH0iLCIvKiBzdHlsZXMvZm9udHMuY3NzICovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJVEMgQXZhbnQgR2FyZGUgR290aGljIFByb1wiO1xuICBzcmM6IHVybChcIi9mb250cy9BdmFudC1HYXJkZS9JVENBdmFudEdhcmRlUHJvLVhMdC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSVRDIEF2YW50IEdhcmRlIEdvdGhpYyBQcm9cIjtcbiAgc3JjOiB1cmwoXCIvZm9udHMvQXZhbnQtR2FyZGUvSVRDQXZhbnRHYXJkZVByby1YTHRPYmwub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXdlaWdodDogMjAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL0F2YW50LUdhcmRlL0lUQ0F2YW50R2FyZGVQcm8tQmsub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL0F2YW50LUdhcmRlL0lUQ0F2YW50R2FyZGVQcm8tQmtPYmwub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL0F2YW50LUdhcmRlL0lUQ0F2YW50R2FyZGVQcm8tTWQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL0F2YW50LUdhcmRlL0lUQ0F2YW50R2FyZGVQcm8tTWRPYmwub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL0F2YW50LUdhcmRlL0lUQ0F2YW50R2FyZGVQcm8tRGVtaS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSVRDIEF2YW50IEdhcmRlIEdvdGhpYyBQcm9cIjtcbiAgc3JjOiB1cmwoXCIvZm9udHMvQXZhbnQtR2FyZGUvSVRDQXZhbnRHYXJkZVByby1EZW1pT2JsLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJVEMgQXZhbnQgR2FyZGUgR290aGljIFByb1wiO1xuICBzcmM6IHVybChcIi9mb250cy9BdmFudC1HYXJkZS9JVENBdmFudEdhcmRlUHJvLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklUQyBBdmFudCBHYXJkZSBHb3RoaWMgUHJvXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL0F2YW50LUdhcmRlL0lUQ0F2YW50R2FyZGVQcm8tQm9sZE9ibC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuIiwiLmZlYXR1cmUtaW5uZXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZlYXR1cmUtaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLU0pO1xufSIsIi8qIFByaXZhY3kgcG9saWN5ICovXG4ucHJpdmFjeS1wb2xpY3kge1xuXHRjb2xvcjogdmFyKC0tYy1TTFYtR3JleS0zKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1YUyk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLVhMKTtcbn0iLCIuY2FyZCB7XG5cdHBhZGRpbmc6IHZhcigtLUwpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jLWJhY2tncm91bmQpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1TKTtcbn0iLCIvKlxuSGVhZGVyL0Zvb3RlclxuKi9cblxuOmlzKGhlYWRlciwgZm9vdGVyKSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtU0xWLUJsYWNrKTtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6IHZhcigtLWMtU0xWLVdoaXRlKTtcbn1cblxuLmxheW91dC1pbm5lciB7XG4gIHBhZGRpbmc6IHZhcigtLU0pIGNsYW1wKHZhcigtLVMpLCB2YXIoLS1MKSwgNXZ3KTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgcGxhY2UtY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmxvZ28td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5pbmZvLWxpbmstd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tWFMpO1xufVxuXG4uaW5mby1saW5rLXdyYXBwZXIgYSxcbi5pbmZvLWxpbmstd3JhcHBlciBhOnZpc2l0ZWQge1xuICBjb2xvcjogdmFyKC0tYy1TTFYtV2hpdGUpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5pbmZvLWxpbmstd3JhcHBlciAuaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pbmZvLWxpbmstd3JhcHBlciAuaW5mby10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmluZm8tbGluay13cmFwcGVyIC5pbmZvLXRleHQsXG4gIC5pbmZvLWxpbmstd3JhcHBlciAuc2VwYXJhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmluZm8tbGluay13cmFwcGVyIC5pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuXG4gIC5pbmZvLWxpbmstd3JhcHBlciB7XG4gICAgZ2FwOiB2YXIoLS1TKTtcbiAgfVxuXG59XG5cbmZvb3RlciB7XG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbn1cblxuI2Zvb3Rlci1saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tWFhMKTtcbn1cblxuI2Zvb3Rlci1saW5rcyBhLFxuI2Zvb3Rlci1saW5rcyBhOnZpc2l0ZWQge1xuICBjb2xvcjogdmFyKC0tYy1TTFYtV2hpdGUpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZW1pYm9sZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbn1cblxuI2Zvb3Rlci1saW5rcyBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbkBjb250YWluZXIgKG1heC13aWR0aDogODQwcHgpIHtcbiAgZm9vdGVyIC5sYXlvdXQtaW5uZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLUwpO1xuICAgIHBhZGRpbmc6IHZhcigtLVhYTCkgMDtcbiAgfVxuXG4gICNmb290ZXItbGlua3Mge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1MKTtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgOmlzKCNmb290ZXItbGlua3MgYSwgI2Zvb3Rlci1saW5rcyBhOnZpc2l0ZWQpIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLyogT3V0ZXIgd3JhcHBlciAoZnVsbCB3aWR0aCArIGJhY2tncm91bmQpICovXG4ucGFnZS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLyogSW5uZXIgY29udGFpbmVyIChjZW50cmVkLCBmaXhlZCB3aWR0aCkgKi9cbi5wYWdlLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDU3MnB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3V0dGVyLXBhZ2UpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWd1dHRlci1wYWdlKTtcbn1cblxuLmZlYXR1cmUtaW5uZXIge1xuICAgIG1heC13aWR0aDogNzcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG4uY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xufSIsIi5jbyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNpIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcblx0cGFkZGluZzogdmFyKC0tTSkgdmFyKC0tZ3V0dGVyLXBhZ2UpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi8qIE1haW4gY29udGVudCB3cmFwcGVyICovXG4uY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogcmVzcG9uc2l2ZS1jbGFtcCh2YXIoLS1YTCksIHZhcigtLUwpLCB0cnVlKTtcblxuXHQvKiBDb250YWluZXIgcXVlcmllcyAqL1xuXHRjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG5cdGNvbnRhaW5lci1uYW1lOiBjb250ZW50O1xufSIsIi8qIEJ1dHRvbnMgKi9cblxuLmJ1dHRvbnMge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1YTCk7XG59XG5cbi8qIEJVVFRPTiBCQVNFICovXG4uYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxNnB4OyAvKiBmYWxsYmFjayBmb3IgcmVzcG9uc2l2ZS1jbGFtcCAqL1xuICBmb250LXdlaWdodDogdmFyKC0tZnctYm9sZCk7XG5cbiAgcGFkZGluZzogdmFyKC0tUykgMS44NzVyZW0gdmFyKC0tWFMpO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtUHJpbWFyeSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtUHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jLVNMVi1XaGl0ZSk7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMTsgLyogSU1QT1JUQU5UOiBmaXggd2VpcmQgdmVydGljYWwgc2l6aW5nICovXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBGVUxMIFdJRFRIICh5b3XigJlsbCB1c2UgdGhpcyBhIGxvdCkgKi9cbi53LTEwMCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBIT1ZFUiAqL1xuLmJ1dHRvbjpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtU2Vjb25kYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLVNlY29uZGFyeSk7XG59XG5cbi8qIERJU0FCTEVEICovXG4uYnV0dG9uLmRpc2FibGVkLFxuLmJ1dHRvbjpkaXNhYmxlZCB7XG4gIC0tYy1lbGVtZW50OiB2YXIoLS1jLVNMVi1HcmV5KTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1lbGVtZW50KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLWVsZW1lbnQpO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZBUklBTlRTXG49PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFNFQ09OREFSWSAqL1xuLmJ1dHRvbi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWMtUHJpbWFyeSk7XG59XG5cbi5idXR0b24tc2Vjb25kYXJ5Om5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1QcmltYXJ5KTtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4vKiBJQ09OICovXG4uYnV0dG9uLWljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWMtUHJpbWFyeSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5idXR0b24taWNvbjpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLyogVEVYVCAqL1xuLmJ1dHRvbi10ZXh0IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qIExvYWRpbmcgc3RhdGUgKi9cbi5idXR0b24tLWxvYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmJ1dHRvbi1sb2FkaW5nLWlubmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gIH1cblxuICAmLmlzLWxvYWRpbmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLVByaW1hcnkpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLVByaW1hcnkpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGN1cnNvcjogd2FpdDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLXRleHQtaW5uZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYnV0dG9uLWxvYWRpbmctaW5uZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1zcGlubmVyIHtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMjUpO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tYy1TTFYtV2hpdGUpO1xuXG4gICAgICBhbmltYXRpb246IGJ1dHRvbi1zcGlubmVyIDAuOHMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJ1dHRvbi1zcGlubmVyIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59IiwiLyogU3dpdGNoICovXG4uc3dpdGNoIHtcbiAgLS1zei1Td2l0Y2g6IDEuMTI1cmVtO1xuICAtLXN6LVN3aXRjaC1XaWR0aDogY2FsYyh2YXIoLS1zei1Td2l0Y2gpICogMi41KTtcbiAgLS1wLVN3aXRjaDogY2FsYyh2YXIoLS1zei1Td2l0Y2gpIC8gNC41KTtcbiAgLS1jLVN3aXRjaC1BY3RpdmU6IHZhcigtLWMtU0xWLUdyZWVuKTtcbiAgLS1jLVN3aXRjaC1Gb2N1czogdmFyKC0tYy1Gb2N1cyk7XG59XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuLnN3aXRjaC1sYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnN3aXRjaC13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3otU3dpdGNoKTtcbn1cblxuLnN3aXRjaC10cmF5IHtcbiAgd2lkdGg6IHZhcigtLXN6LVN3aXRjaC1XaWR0aCk7XG4gIGhlaWdodDogdmFyKC0tc3otU3dpdGNoKTtcbiAgcGFkZGluZzogdmFyKC0tcC1Td2l0Y2gpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLVNMVi1HcmV5KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3otU3dpdGNoKTtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyB2YXIoLS1lYXNlLWNpcmN1bGFyLWluLW91dCk7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uc3dpdGNoLWhhbmRsZSB7XG4gIHdpZHRoOiB2YXIoLS1zei1Td2l0Y2gpO1xuICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLVNMVi1CbGFjayk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXN6LVN3aXRjaCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICB0b3A6IDUwJTtcbiAgbGVmdDogdmFyKC0tcC1Td2l0Y2gpO1xuXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgdmFyKC0tZWFzZS1jaXJjdWxhci1pbi1vdXQpO1xufVxuXG4uc3dpdGNoLWxhYmVsLXRleHQge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLyogRm9jdXMgYWNjZXNzaWJpbGl0eSAqL1xuLnN3aXRjaC1pbnB1dDpmb2N1cy12aXNpYmxlICsgLnN3aXRjaC13cmFwcGVyIC5zd2l0Y2gtdHJheSB7XG4gIG91dGxpbmU6IGNhbGModmFyKC0tcC1Td2l0Y2gpIC8gMikgc29saWQgdmFyKC0tYy1Td2l0Y2gtRm9jdXMpO1xuICBvdXRsaW5lLW9mZnNldDogY2FsYyh2YXIoLS1wLVN3aXRjaCkgLyAyKTtcbn1cblxuLnN3aXRjaC1pbnB1dDpjaGVja2VkICsgLnN3aXRjaC13cmFwcGVyIC5zd2l0Y2gtaGFuZGxlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoXG4gICAgY2FsYyh2YXIoLS1zei1Td2l0Y2gtV2lkdGgpIC0gdmFyKC0tc3otU3dpdGNoKSAtIHZhcigtLXAtU3dpdGNoKSArIDRweClcbiAgKTtcbn1cblxuLnN3aXRjaC1pbnB1dDpjaGVja2VkICsgLnN3aXRjaC13cmFwcGVyIC5zd2l0Y2gtdHJheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtU3dpdGNoLUFjdGl2ZSk7XG59XG5cbi5zd2l0Y2gtbGFiZWwuZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5zd2l0Y2gtdHJheS5kaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5zd2l0Y2gtZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1YWFMpO1xufVxuXG4vKiBVc2VkIGZvciB0aGUgaW50ZXJlc3RzIHNlY3Rpb24gKi9cbi5pbnB1dC1ncm91cC5pbnB1dC1ncm91cC0tc3dpdGNoZXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdhcDogdmFyKC0tUyk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1MKTsgLyoga2VlcCB5b3VyIHNwYWNpbmcgY29uc2lzdGVudCAqL1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmlucHV0LWdyb3VwLmlucHV0LWdyb3VwLS1zd2l0Y2hlcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn0iLCIvKiBTZWxlY3QgSW5wdXQgKi9cbi5zZWxlY3QtaW5wdXQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogQ29udGFpbmVyICovXG4uc2VsZWN0LWlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLVNMVi1HcmV5KTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogdmFyKC0tUyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogRm9jdXMgc3RhdGUgKENTUy1vbmx5IHVzaW5nIDpmb2N1cy13aXRoaW4pICovXG4uc2VsZWN0LWlucHV0OmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1Gb2N1cyk7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBtYXJnaW46IC0xcHg7XG59XG5cbi8qIElubmVyIHdyYXBwZXIgKi9cbi5zZWxlY3QtaW5wdXQtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIEZsb2F0aW5nIGxhYmVsICovXG4uc2VsZWN0LWlucHV0LWxhYmVsIHtcbiAgaGVpZ2h0OiAwLjhlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyB2YXIoLS1lYXNlLWNpcmN1bGFyLWluLW91dCk7XG4gIGNvbG9yOiB2YXIoLS1jLVNMVi1HcmV5LTMpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogRkxPQVQgU1RBVEUgKi9cbi5zZWxlY3QtaW5wdXQ6Zm9jdXMtd2l0aGluIC5zZWxlY3QtaW5wdXQtbGFiZWwsXG4uc2VsZWN0LWlucHV0Lmhhcy12YWx1ZSAuc2VsZWN0LWlucHV0LWxhYmVsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1YUyk7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiBOYXRpdmUgc2VsZWN0ICovXG4uc2VsZWN0LW5hdGl2ZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xuICBmb250LXdlaWdodDogdmFyKC0tZnctbWVkaXVtKTtcblxuICBwYWRkaW5nLXRvcDogMWVtO1xuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuXG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBPcHRpb25hbCBkcm9wZG93biBhcnJvdyAqL1xuLnNlbGVjdC1pbnB1dC1pbm5lcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzZjNmM2Yycgc3Ryb2tlLXdpZHRoPScxLjUnJTNFJTNDcGF0aCBkPSdNNSA3LjVMMTAgMTIuNUwxNSA3LjUnLyUzRSUzQy9zdmclM0VcIikgbm8tcmVwZWF0IGNlbnRlcjtcbn1cblxuLyogRGVzY3JpcHRpb24gKi9cbi5pbnB1dC1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLVhYUyk7XG4gIGNvbG9yOiB2YXIoLS1jLVNMVi1HcmV5LTMpO1xufVxuXG4vKiBPcHRpb25hbCBkaXNhYmxlZCAqL1xuLnNlbGVjdC1pbnB1dDpoYXMoc2VsZWN0OmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtQkcpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtQkcpO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufSIsIi8qIEdyb3VwaW5nICovXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLU0pO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tTCk7XG59XG5cbi8qIFRleHQgaW5wdXQgKi9cbi50ZXh0LWlucHV0LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLVhTKTtcbn1cblxuLmlucHV0LWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnRleHQtaW5wdXQge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtU0xWLUdyZXkpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiB2YXIoLS1TKTtcbn1cblxuLnRleHQtaW5wdXQuZm9jdXNlZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1Gb2N1cyk7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBtYXJnaW46IC0xcHg7XG59XG5cbi50ZXh0LWlucHV0LWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xufVxuXG4udGV4dC1pbnB1dC1sYWJlbCB7XG4gIGhlaWdodDogMC44ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2xhdGU6IDAgLTUwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIHZhcigtLWVhc2UtY2lyY3VsYXItaW4tb3V0KTtcbiAgY29sb3I6IHZhcigtLWMtU0xWLUdyZXktMyk7XG59XG5cbi8qIEZMT0FUIFNUQVRFICovXG4udGV4dC1pbnB1dDppcyguZm9jdXNlZCwgLmhhcy12YWx1ZSkgLnRleHQtaW5wdXQtbGFiZWwge1xuICBmb250LXNpemU6IHZhcigtLVhTKTtcbiAgdG9wOiAwO1xuICB0cmFuc2xhdGU6IDAgMDtcbiAgY29sb3I6IHZhcigtLWMtU0xWLUdyZXktMyk7XG59XG5cbi8qIElOUFVUICovXG4udGV4dC1pbnB1dCBpbnB1dCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgcGFkZGluZy10b3A6IDFlbTtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIERJU0FCTEVEIC8gUEVORElORyAqL1xuOmlzKC5wZW5kaW5nLCAuZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuOmlzKC5wZW5kaW5nLCAuZGlzYWJsZWQpICoge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLUJHKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLUJHKTtcbiAgY29sb3I6IHZhcigtLWMtU0xWLUdyZXktMyk7XG59XG5cbi8qIFZBUklBTlRTICovXG4uaW52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1FcnJvcik7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBtYXJnaW46IC0xcHg7XG59XG5cbi52YWxpZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYy1TdWNjZXNzKTtcbn1cblxuLyogRVJST1IgKi9cbi5pbnB1dC1lcnJvciB7XG4gIGNvbG9yOiB2YXIoLS1jLUVycm9yKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gIC8qbWFyZ2luLXRvcDogMTRweDsqL1xufVxuXG4uaW5wdXQtZXJyb3I6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwLjVweDtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvaWNvbnMvcmVkLWNyb3NzLWljb24uc3ZnXCIpO1xufVxuXG4vKiBVVElMSVRJRVMgKi9cbi5wZW5kaW5nIC50ZXh0LWlucHV0LWxhYmVsIHtcbiAgb3BhY2l0eTogMC40O1xufVxuXG4ucHJlLXZhbHVlIC50ZXh0LWlucHV0LWxhYmVsIHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLyogVGV4dGFyZWEgKi9cbi50ZXh0LWlucHV0IHRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nLXRvcDogMS40ZW07XG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi50ZXh0LWlucHV0LnRleHQtYXJlYSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4udGV4dC1pbnB1dC50ZXh0LWFyZWEgLnRleHQtaW5wdXQtbGFiZWwge1xuICB0b3A6IDA7XG4gIHRyYW5zbGF0ZTogMCAwO1xuICBmb250LXNpemU6IHZhcigtLVhTKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi50ZXh0LWlucHV0LnRleHQtYXJlYSAudGV4dC1pbnB1dC1pbm5lciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuIiwiLyogUGF5bWVudCBidXR0b25zICovXG4uZG9uYXRpb24tZ3JvdXAge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdhcDogdmFyKC0tTSk7XG4gIGdyaWQtYXV0by1yb3dzOiAxZnI7IC8qIPCflKUgVEhJUyBpcyB0aGUga2V5ICovXG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5kb25hdGlvbi1ncm91cCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cblxuLmRvbmF0aW9uLW9wdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiA0My41cHg7IC8qIPCfkYggbWF0Y2ggeW91ciB0ZXh0IGlucHV0IEVYQUNUTFkgKi9cbiAgcGFkZGluZzogdmFyKC0tUykgdmFyKC0tUyk7IC8qIGhvcml6b250YWwgb25seSAqL1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtU0xWLUdyZXkpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5kb25hdGlvbi1vcHRpb24gaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZG9uYXRpb24tb3B0aW9uIHNwYW4ge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOyAvKiBpbXBvcnRhbnQgKi9cbn1cblxuLmRvbmF0aW9uLW9wdGlvbjpoYXMoaW5wdXQ6Y2hlY2tlZCkge1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jLVNMVi1HcmVlbik7XG59XG5cbi5kb25hdGlvbi1vcHRpb246aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWMtU0xWLUdyZXktMyk7XG59XG5cbi50ZXh0LWlucHV0LXdyYXBwZXIgKyAuaW5wdXQtZ3JvdXAge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1NKTtcbn1cblxuLmRvbmF0aW9uLWdyb3VwICsgLmlucHV0LWVycm9yIHtcbiAgbWFyZ2luOjA7XG59XG5cbi5kb25hdGlvbi1ncm91cC5pbnZhbGlkOm5vdCg6aGFzKGlucHV0OmNoZWNrZWQpKSAuZG9uYXRpb24tb3B0aW9uIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLUVycm9yKTtcbn1cblxuLyogQm9va3BsYXRlcyAqL1xuLmRvbmF0aW9uLWdyb3VwLS1jYXJkcyB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZG9uYXRpb24tZ3JvdXAtLWNhcmRzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuZG9uYXRpb24tY2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAyODBweDtcbiAgfVxufVxuXG4uZG9uYXRpb24tb3B0aW9uLS1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiBhdXRvOyAvKiBvdmVycmlkZSBmaXhlZCBoZWlnaHQgKi9cblxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLVNMVi1HcmV5KTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jYXJkLW1lZGlhIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uY2FyZC1tZWRpYSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcmQtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tWFhTKTtcbn1cblxuLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZ3LXNlbWlib2xkKTtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4uZG9uYXRpb24tb3B0aW9uLS1jYXJkOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLVNMVi1HcmV5LTMpO1xufSIsIkBsYXllciB2YXJpYW50cyB7XG5cdC50ZXh0LWxhYmVsIHtcblx0XHRjb2xvcjogIzViNjA2NDtcblx0fVxuXG5cdC5jYXB0aW9uIHtcblx0XHRmb250LXNpemU6IDAuNzVyZW07XG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRjb2xvcjogdmFyKC0tYy1TTFYtRGFyay1HcmV5KTtcblx0fVxuXG5cdHAge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAyNnB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjM2cHg7XG5cdH1cblxuXHQucDIge1xuXHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjMycHg7XG5cdH1cblxuXHQucDMge1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjI4cHg7XG5cdH1cblxuXHQucDUge1xuXHRcdGZvbnQtc2l6ZTogOXB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuMThweDtcblx0fVxuXG5cdC8qIEZpeCBDTVMgPHA+IGluc2lkZSAucDMgKi9cblx0LnAzIHAge1xuXHRcdG1hcmdpbjogMDtcblx0XHRmb250OiBpbmhlcml0O1xuXHRcdGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHR9XG5cblx0LnAzLS1hbGxvdy1zcGFjaW5nIHAge1xuXHRcdG1hcmdpbi1ibG9jazogMWVtOyAvKiByZXN0b3JlIGJyb3dzZXItbGlrZSBzcGFjaW5nICovXG5cdH1cblxuXHQuYzIge1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjI0cHg7XG5cdH1cbn0iLCJAbGF5ZXIgdXRpbGl0aWVzIHtcblxuXHQudGV4dC1jZW50ZXIge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdC5tZW51LW9wZW4ge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0bWF4LWhlaWdodDogMTAwdmg7XG5cdH1cblxuXHQubGluZS10ZXh0IHtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRoZWlnaHQ6IDAuOGVtO1xuXHR9XG5cblx0LmZ3LWJvbGQge1xuXHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1mdy1ib2xkKTtcblx0fVxuXG5cdC50ZXh0LXNlY29uZGFyeSB7XG5cdFx0Y29sb3I6IHZhcigtLWMtU2Vjb25kYXJ5KTtcblx0fVxuXG5cdC8qIEFuaW1hdGlvbnMgKi9cblx0LnNrZWxldG9uLXB1bHNlIHtcblx0XHRhbmltYXRpb246IHNrZWxldG9uLXB1bHNlIDEuNXMgdmFyKC0tZWFzZS1jaXJjdWxhci1pbi1vdXQpIGluZmluaXRlO1xuXHR9XG5cblx0QGtleWZyYW1lcyBza2VsZXRvbi1wdWxzZSB7XG5cdFx0MCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG5cdFx0NTAlIHsgb3BhY2l0eTogMC40OyB9XG5cdH1cblxuXHQuc2tlbGV0b24td2F2ZSB7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0OTBkZWcsXG5cdFx0XHR2YXIoLS1jLXNrLUJHKSAwJSxcblx0XHRcdHZhcigtLWMtc2stSGlnaGxpZ2h0KSA1MCUsXG5cdFx0XHR2YXIoLS1jLXNrLUJHKSAxMDAlXG5cdFx0KTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcblx0XHRhbmltYXRpb246IHNrZWxldG9uLXdhdmUgMS41cyB2YXIoLS1lYXNlLWNpcmN1bGFyLWluLW91dCkgaW5maW5pdGU7XG5cdH1cblxuXHRAa2V5ZnJhbWVzIHNrZWxldG9uLXdhdmUge1xuXHRcdDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwOyB9XG5cdFx0MTAwJSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7IH1cblx0fVxuXG5cdGJvZHkuaXMtcHJvY2Vzc2luZzo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdGluc2V0OiAwO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcblx0XHR6LWluZGV4OiA5OTk5O1xuXHR9XG5cblx0Ym9keS5pcy1wcm9jZXNzaW5nOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogNTAlO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR3aWR0aDogNDBweDtcblx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0Ym9yZGVyOiAzcHggc29saWQgIzAwMDtcblx0XHRib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0YW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlO1xuXHRcdHotaW5kZXg6IDEwMDAwO1xuXHR9XG5cblx0QGtleWZyYW1lcyBzcGluIHtcblx0XHR0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgzNjBkZWcpOyB9XG5cdH1cblxuXHQvKiBNYXJnaW4gLSBBbGwgc2lkZXMgKi9cblx0Lm0tMCB7IG1hcmdpbjogdmFyKC0tTik7IH1cblx0Lm0teHhzIHsgbWFyZ2luOiB2YXIoLS1YWFMpOyB9XG5cdC5tLXhzIHsgbWFyZ2luOiB2YXIoLS1YUyk7IH1cblx0Lm0tcyB7IG1hcmdpbjogdmFyKC0tUyk7IH1cblx0Lm0tbSB7IG1hcmdpbjogdmFyKC0tTSk7IH1cblx0Lm0tbCB7IG1hcmdpbjogdmFyKC0tTCk7IH1cblx0Lm0teGwgeyBtYXJnaW46IHZhcigtLVhMKTsgfVxuXHQubS14eGwgeyBtYXJnaW46IHZhcigtLVhYTCk7IH1cblx0Lm0teHh4bCB7IG1hcmdpbjogdmFyKC0tWFhYTCk7IH1cblxuXHQvKiBNYXJnaW4gLSBUb3AgKi9cblx0Lm10LTAgeyBtYXJnaW4tdG9wOiB2YXIoLS1OKTsgfVxuXHQubXQteHhzIHsgbWFyZ2luLXRvcDogdmFyKC0tWFhTKTsgfVxuXHQubXQteHMgeyBtYXJnaW4tdG9wOiB2YXIoLS1YUyk7IH1cblx0Lm10LXMgeyBtYXJnaW4tdG9wOiB2YXIoLS1TKTsgfVxuXHQubXQtbSB7IG1hcmdpbi10b3A6IHZhcigtLU0pOyB9XG5cdC5tdC1sIHsgbWFyZ2luLXRvcDogdmFyKC0tTCk7IH1cblx0Lm10LXhsIHsgbWFyZ2luLXRvcDogdmFyKC0tWEwpOyB9XG5cdC5tdC14eGwgeyBtYXJnaW4tdG9wOiB2YXIoLS1YWEwpOyB9XG5cdC5tdC14eHhsIHsgbWFyZ2luLXRvcDogdmFyKC0tWFhYTCk7IH1cblxuXHQvKiBNYXJnaW4gLSBCb3R0b20gKi9cblx0Lm1iLTAgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1OKTsgfVxuXHQubWIteHhzIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tWFhTKTsgfVxuXHQubWIteHMgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1YUyk7IH1cblx0Lm1iLXMgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1TKTsgfVxuXHQubWItbSB7IG1hcmdpbi1ib3R0b206IHZhcigtLU0pOyB9XG5cdC5tYi1sIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tTCk7IH1cblx0Lm1iLXhsIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tWEwpOyB9XG5cdC5tYi14eGwgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1YWEwpOyB9XG5cdC5tYi14eHhsIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tWFhYTCk7IH1cblxuXHQvKiBNYXJnaW4gLSBMZWZ0ICovXG5cdC5tbC0wIHsgbWFyZ2luLWxlZnQ6IHZhcigtLU4pOyB9XG5cdC5tbC14eHMgeyBtYXJnaW4tbGVmdDogdmFyKC0tWFhTKTsgfVxuXHQubWwteHMgeyBtYXJnaW4tbGVmdDogdmFyKC0tWFMpOyB9XG5cdC5tbC1zIHsgbWFyZ2luLWxlZnQ6IHZhcigtLVMpOyB9XG5cdC5tbC1tIHsgbWFyZ2luLWxlZnQ6IHZhcigtLU0pOyB9XG5cdC5tbC1sIHsgbWFyZ2luLWxlZnQ6IHZhcigtLUwpOyB9XG5cdC5tbC14bCB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1YTCk7IH1cblx0Lm1sLXh4bCB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1YWEwpOyB9XG5cdC5tbC14eHhsIHsgbWFyZ2luLWxlZnQ6IHZhcigtLVhYWEwpOyB9XG5cblx0LyogTWFyZ2luIC0gUmlnaHQgKi9cblx0Lm1yLTAgeyBtYXJnaW4tcmlnaHQ6IHZhcigtLU4pOyB9XG5cdC5tci14eHMgeyBtYXJnaW4tcmlnaHQ6IHZhcigtLVhYUyk7IH1cblx0Lm1yLXhzIHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1YUyk7IH1cblx0Lm1yLXMgeyBtYXJnaW4tcmlnaHQ6IHZhcigtLVMpOyB9XG5cdC5tci1tIHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1NKTsgfVxuXHQubXItbCB7IG1hcmdpbi1yaWdodDogdmFyKC0tTCk7IH1cblx0Lm1yLXhsIHsgbWFyZ2luLXJpZ2h0OiB2YXIoLS1YTCk7IH1cblx0Lm1yLXh4bCB7IG1hcmdpbi1yaWdodDogdmFyKC0tWFhMKTsgfVxuXHQubXIteHh4bCB7IG1hcmdpbi1yaWdodDogdmFyKC0tWFhYTCk7IH1cblxuXHQucHQtMCB7IHBhZGRpbmctdG9wOiAwOyB9XG5cdC5wYi0wIHsgcGFkZGluZy1ib3R0b206IDA7IH1cblx0LnBsLTAgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblx0LnByLTAgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cdC5wLTAgeyBwYWRkaW5nOiAwOyB9XG5cblx0LyogUGFkZGluZyAtIEFsbCAqL1xuXHQucC0wIHsgcGFkZGluZzogdmFyKC0tTik7IH1cblx0LnAteHhzIHsgcGFkZGluZzogdmFyKC0tWFhTKTsgfVxuXHQucC14cyB7IHBhZGRpbmc6IHZhcigtLVhTKTsgfVxuXHQucC1zIHsgcGFkZGluZzogdmFyKC0tUyk7IH1cblx0LnAtbSB7IHBhZGRpbmc6IHZhcigtLU0pOyB9XG5cdC5wLWwgeyBwYWRkaW5nOiB2YXIoLS1MKTsgfVxuXHQucC14bCB7IHBhZGRpbmc6IHZhcigtLVhMKTsgfVxuXHQucC14eGwgeyBwYWRkaW5nOiB2YXIoLS1YWEwpOyB9XG5cdC5wLXh4eGwgeyBwYWRkaW5nOiB2YXIoLS1YWFhMKTsgfVxuXG5cdC8qIFBhZGRpbmcgLSBUb3AgKi9cblx0LnB0LTAgeyBwYWRkaW5nLXRvcDogdmFyKC0tTik7IH1cblx0LnB0LXh4cyB7IHBhZGRpbmctdG9wOiB2YXIoLS1YWFMpOyB9XG5cdC5wdC14cyB7IHBhZGRpbmctdG9wOiB2YXIoLS1YUyk7IH1cblx0LnB0LXMgeyBwYWRkaW5nLXRvcDogdmFyKC0tUyk7IH1cblx0LnB0LW0geyBwYWRkaW5nLXRvcDogdmFyKC0tTSk7IH1cblx0LnB0LWwgeyBwYWRkaW5nLXRvcDogdmFyKC0tTCk7IH1cblx0LnB0LXhsIHsgcGFkZGluZy10b3A6IHZhcigtLVhMKTsgfVxuXHQucHQteHhsIHsgcGFkZGluZy10b3A6IHZhcigtLVhYTCk7IH1cblx0LnB0LXh4eGwgeyBwYWRkaW5nLXRvcDogdmFyKC0tWFhYTCk7IH1cblxuXHQvKiBQYWRkaW5nIC0gQm90dG9tICovXG5cdC5wYi0wIHsgcGFkZGluZy1ib3R0b206IHZhcigtLU4pOyB9XG5cdC5wYi14eHMgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tWFhTKTsgfVxuXHQucGIteHMgeyBwYWRkaW5nLWJvdHRvbTogdmFyKC0tWFMpOyB9XG5cdC5wYi1zIHsgcGFkZGluZy1ib3R0b206IHZhcigtLVMpOyB9XG5cdC5wYi1tIHsgcGFkZGluZy1ib3R0b206IHZhcigtLU0pOyB9XG5cdC5wYi1sIHsgcGFkZGluZy1ib3R0b206IHZhcigtLUwpOyB9XG5cdC5wYi14bCB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1YTCk7IH1cblx0LnBiLXh4bCB7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1YWEwpOyB9XG5cdC5wYi14eHhsIHsgcGFkZGluZy1ib3R0b206IHZhcigtLVhYWEwpOyB9XG5cblx0LyogUGFkZGluZyAtIExlZnQgKi9cblx0LnBsLTAgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLU4pOyB9XG5cdC5wbC14eHMgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLVhYUyk7IH1cblx0LnBsLXhzIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1YUyk7IH1cblx0LnBsLXMgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLVMpOyB9XG5cdC5wbC1tIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1NKTsgfVxuXHQucGwtbCB7IHBhZGRpbmctbGVmdDogdmFyKC0tTCk7IH1cblx0LnBsLXhsIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1YTCk7IH1cblx0LnBsLXh4bCB7IHBhZGRpbmctbGVmdDogdmFyKC0tWFhMKTsgfVxuXHQucGwteHh4bCB7IHBhZGRpbmctbGVmdDogdmFyKC0tWFhYTCk7IH1cblxuXHQvKiBQYWRkaW5nIC0gUmlnaHQgKi9cblx0LnByLTAgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1OKTsgfVxuXHQucHIteHhzIHsgcGFkZGluZy1yaWdodDogdmFyKC0tWFhTKTsgfVxuXHQucHIteHMgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1YUyk7IH1cblx0LnByLXMgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1TKTsgfVxuXHQucHItbSB7IHBhZGRpbmctcmlnaHQ6IHZhcigtLU0pOyB9XG5cdC5wci1sIHsgcGFkZGluZy1yaWdodDogdmFyKC0tTCk7IH1cblx0LnByLXhsIHsgcGFkZGluZy1yaWdodDogdmFyKC0tWEwpOyB9XG5cdC5wci14eGwgeyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1YWEwpOyB9XG5cdC5wci14eHhsIHsgcGFkZGluZy1yaWdodDogdmFyKC0tWFhYTCk7IH1cbn0iXX0= */
