@charset "UTF-8";
@layer reset, base, parts, components, lp;
:root {
  /* COLOR */
  --color-brand: #56D6F2;
  --color-second: #F4FF1D;
  --color-surface: #ffffff;
  --color-black: #333333;
  --color-btblue-50: #D9F1F6;
  --color-btblue-100: #B6E6F2;
  --color-btblue-200: #96E1F2;
  --color-btblue-300: #76DBF2;
  --color-btblue-400: #56D6F2;
  --color-btblue-500: #42AECA;
  --color-btblue-600: #2481A2;
  --color-btblue-700: #105970;
  --color-gray-light: #F4F4F4;
  --color-gray-medium: #D9D9D9;
  --color-gray-dark: #8F8F8F;
  --color-text: var(--color-black);
  --color-text-medium: #888888;
  --color-text-light: #999999;
  --color-text-on-accent: var(--color-surface);
  --color-border-light: #D9D9D9;
  --color-border-medium: #9C9C9C;
  --color-border-dark: #333333;
  --color-bg: #F8F8F8;
  --color-bg-table: #ebebeb;
  --font-feature-settings: "palt" 1,;
  --font-family-ja: "Satoshi", "heisei-kaku-gothic-std", sans-serif;
  --font-family-en: "Satoshi", sans-serif;
  --line-height-xxsmall:120%;
  --line-height-xsmall:150%;
  --line-height-small:160%;
  --line-height-medium:185%;
  --line-height-large:240%;
  --letter-spacing-medium: 0.05em;
  --font-weight-regular: 300;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --padding-sp: 24;
  --width-container: 1440px;
  --width-container-wide: 1440px;
  --fs-xxxs: 8;
  --fs-xxs: 11;
  --fs-xs: 13;
  --fs-s: 14;
  --fs-m: 16;
  --fs-l: 18;
  --fs-xl: 20;
  --fs-xxl: 24;
  --fs-xxxl: 28;
  --fs-xxxxl: 32;
  --fs-xxxxxl: 48;
  --fs-xxxxxxl: 64;
  --border-radius-pill: 999px;
  --border-radius-circle: 50%;
  --border-radius-small: 5;
  --border-radius-medium: 10;
  --border-radius-large: 20;
  --transition-speed-fast: .2s;
  --transition-speed: .4s;
  --transition-speed-slow: .6s;
  --bezier: cubic-bezier(0.4, 0, 0.2, 1);
}
@media print, screen and (min-width: 768px) {
  :root {
    --fs-xxxs: 10;
    --fs-xxs: 12;
    --fs-xs: 14;
    --fs-s: 16;
    --fs-m: 18;
    --fs-l: 20;
    --fs-xl: 24;
    --fs-xxl: 28;
    --fs-xxxl: 32;
    --fs-xxxxl: 48;
    --fs-xxxxxl: 64;
    --fs-xxxxxxl: 72;
  }
}
@media print, screen and (min-width: 768px) {
  :root {
    --border-radius-small: 10;
    --border-radius-medium: 20;
    --border-radius-large: 40;
  }
}

@layer reset {
  html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: unset;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
  }
  html {
    line-height: 1;
  }
  ol, ul {
    list-style: none;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  caption, th, td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
  }
  q, blockquote {
    quotes: none;
  }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none;
  }
  a img {
    border: none;
  }
  article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
    display: block;
  }
}
@layer base {
  * {
    box-sizing: border-box;
  }
  *:before,
*:after {
    box-sizing: border-box;
  }
  *:focus {
    outline: none;
  }
  html {
    font-size: calc(var(--fs-s) / 375 * 100vw);
    height: 100%;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  @media print, screen and (min-width: 768px) {
    html {
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  body {
    color: var(--color-text);
    font-feature-settings: var(--font-feature-settings);
    font-family: var(--font-family-ja);
    font-weight: var(--font-weight-medium);
    font-optical-sizing: auto;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    font-size: calc(var(--fs-m) / 375 * 100vw);
    display: grid;
    grid-template: "header" auto "main" auto "footer" 1fr/100%;
    min-height: 100vh;
    background-image: linear-gradient(180deg, #E3E7E9 18.27%, #C2CCD0 63.46%, #526D7B 83.17%);
    background-color: #E3E7E9;
  }
  @media print, screen and (min-width: 768px) {
    body {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    }
  }
  body.is-fixed, body.fixed {
    overflow: hidden;
  }
  body.reverse {
    background: linear-gradient(180deg, #526D7B 78.89%, #C2CCD0 90.67%, #E3E7E9 100%);
  }
  body.top {
    background: linear-gradient(180deg, #E3E7E9 15.38%, #C2CCD0 29.81%, #526D7B 39.9%, #99A9B1 81.25%, #D6DCDF 100%);
  }
  strong {
    font-weight: var(--font-weight-bold);
  }
  label {
    cursor: pointer;
  }
  a {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
  }
  a[href^="tel:"] {
    color: inherit;
  }
  abbr {
    text-decoration: none;
  }
  button {
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: inherit;
  }
  @media print, screen and (min-width: 768px) {
    br.sp-only {
      display: none;
    }
  }
  br.pc-only {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    br.pc-only {
      display: inline;
    }
  }
  :where(button, [type=button], [type=reset], [type=submit]) {
    touch-action: manipulation;
  }
  :where(:-moz-any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
    cursor: pointer;
  }
  :where(:any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
    cursor: pointer;
  }
  :focus:not(:focus-visible) {
    outline: none;
  }
  sup,
sub {
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    position: relative;
    font-size: 0.75em;
  }
  sup {
    bottom: 0.75ex;
  }
  sub {
    top: 0.5ex;
  }
  img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  .svg_def {
    display: none;
  }
  svg {
    height: auto;
  }
  pre {
    white-space: pre-wrap;
  }
  html.lenis,
html.lenis body {
    height: auto;
  }
  .lenis.lenis-smooth {
    scroll-behavior: auto !important;
  }
  .lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
  }
  .lenis.lenis-stopped {
    overflow: hidden;
  }
  .lenis.lenis-scrolling iframe {
    pointer-events: none;
  }
  html.is-changing .transition-fade {
    transition: opacity 0.5s;
    opacity: 1;
  }
  html.is-animating .transition-fade {
    transition: opacity 0.5s;
    opacity: 0;
  }
  .hidden-sp {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    .hidden-sp {
      display: unset;
    }
  }
  @media print, screen and (min-width: 768px) {
    .hidden-pc {
      display: none;
    }
  }
  @media print, screen and (min-width: 1080px) {
    .hidden-over-tbl {
      display: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .hidden-over-tb {
      display: none;
    }
  }
  @media print, screen and (min-width: 375px) {
    .hidden-over-sp {
      display: none;
    }
  }
  .visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  main {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    grid-area: main;
    padding-top: calc(60 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    main {
      padding-top: min(100px, calc(100 / 1440 * 100vw));
    }
  }
  header {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: header;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 100;
    transition: translate var(--transition-speed-slow) var(--bezier);
  }
  body.is-down header {
    translate: 0 -120%;
    transition-timing-function: var(--bezier);
  }
  body.is-fixed header {
    translate: 0 -120%;
    transition-timing-function: var(--bezier);
  }
  header .inner {
    padding-inline: calc(16 / 375 * 100vw);
    position: relative;
    height: calc(64 / 375 * 100vw);
    display: flex;
    align-items: center;
    gap: calc(12 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    header .inner {
      height: min(100px, calc(100 / 1440 * 100vw));
      justify-content: space-between;
      padding-inline: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  header .inner #logo {
    position: relative;
    z-index: 100;
  }
  header .inner #logo a {
    display: block;
    width: calc(136 / 375 * 100vw);
    aspect-ratio: 136/24;
    -webkit-mask-image: url(/images/logo.svg);
    mask-image: url(/images/logo.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--color-black);
    transition: background-color var(--transition-speed-fast) var(--bezier);
  }
  @media (any-hover: hover) {
    header .inner #logo a:hover {
      background-color: var(--color-text-medium);
      background-color: var(--color-text-medium);
    }
  }
  @media print, screen and (min-width: 768px) {
    header .inner #logo a {
      width: min(244px, calc(244 / 1440 * 100vw));
    }
  }
  header .inner #contactButton a {
    border-radius: var(--border-radius-pill);
    background-color: var(--color-brand);
    padding: calc(4 / 375 * 100vw) calc(12 / 375 * 100vw);
    border: calc(0.6 / 375 * 100vw) solid var(--color-border-dark);
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 175%;
    transition: background-color var(--transition-speed-fast) var(--bezier);
  }
  @media (any-hover: hover) {
    header .inner #contactButton a:hover {
      background-color: var(--color-second);
      background-color: var(--color-second);
    }
  }
  @media print, screen and (min-width: 768px) {
    header .inner #contactButton a {
      padding: min(10px, calc(10 / 1440 * 100vw)) min(32px, calc(32 / 1440 * 100vw));
      border-width: 1px;
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      white-space: nowrap;
      background-color: var(--color-surface);
    }
  }
  header .inner #menuButton {
    cursor: pointer;
    position: absolute;
    right: calc(16 / 375 * 100vw);
    z-index: 103;
    aspect-ratio: 1/1;
    width: calc(30 / 375 * 100vw);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  @media print, screen and (min-width: 768px) {
    header .inner #menuButton {
      display: none;
    }
  }
  header .inner #menuButton .lines {
    position: relative;
    width: calc(30 / 375 * 100vw);
    height: calc(30 / 375 * 100vw);
  }
  header .inner #menuButton .lines span {
    position: absolute;
    left: calc(4 / 375 * 100vw);
    width: calc(22 / 375 * 100vw);
    height: calc(2 / 375 * 100vw);
    background: var(--color-black);
    border-radius: var(--border-radius-pill);
    transition: transform var(--transition-speed) var(--bezier), background-color var(--transition-speed) var(--bezier) 0.2s, top var(--transition-speed) var(--bezier) 0.2s;
  }
  header .inner #menuButton .lines span.line01 {
    top: calc(6 / 375 * 100vw);
  }
  header .inner #menuButton .lines span.line02 {
    top: calc(14 / 375 * 100vw);
  }
  header .inner #menuButton .lines span.line03 {
    top: calc(22 / 375 * 100vw);
  }
  header .inner #menuButton.show .lines span {
    top: calc(15 / 375 * 100vw);
    transition: background-color var(--transition-speed) var(--bezier), top var(--transition-speed) var(--bezier), opacity var(--transition-speed) var(--bezier), transform var(--transition-speed) var(--bezier) 0.2s;
  }
  header .inner #menuButton.show .lines span.line01 {
    transform: rotateZ(45deg);
  }
  header .inner #menuButton.show .lines span.line02 {
    transform: rotateZ(-45deg);
  }
  header .inner #menuButton.show .lines span.line03 {
    opacity: 0;
  }
  header .inner #gnav {
    position: fixed;
    top: 0;
    right: 0;
    width: calc(280 / 375 * 100vw);
    min-height: calc(522 / 375 * 100vw);
    z-index: 102;
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
    background-color: var(--color-surface);
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--transition-speed-slow) var(--bezier);
    box-shadow: -176px 0 49px 0 rgba(0, 0, 0, 0), -113px 0 45px 0 rgba(0, 0, 0, 0.01), -63px 0 38px 0 rgba(0, 0, 0, 0.03), -28px 0 28px 0 rgba(0, 0, 0, 0.04), -7px 0 15px 0 rgba(0, 0, 0, 0.05);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
  }
  @media print, screen and (min-width: 768px) {
    header .inner #gnav {
      position: static;
      opacity: 1;
      padding-inline: unset;
      background-color: transparent;
      padding-block: unset;
      pointer-events: auto;
      min-height: unset;
      border-radius: unset;
      box-shadow: none;
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
    }
  }
  header .inner #gnav.show {
    pointer-events: auto;
    opacity: 1;
  }
  header .inner #gnav.show .gnavinner {
    translate: 0;
    opacity: 1;
  }
  header .inner #gnav .gnavinner {
    padding: calc(64 / 375 * 100vw) calc(16 / 375 * 100vw);
    height: 100%;
    overflow: auto;
    scrollbar-color: transparent transparent;
    opacity: 0;
    transition: opacity var(--transition-speed-slow) var(--bezier), translate var(--transition-speed-slow) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    header .inner #gnav .gnavinner {
      opacity: 1;
      translate: 0;
      padding: unset;
      border: none;
      background-color: transparent;
    }
  }
  @media print, screen and (min-width: 768px) {
    header .inner #gnav .gnavinner .main:not(.lp) li:first-child {
      display: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    header .inner #gnav .gnavinner .main {
      display: flex;
      justify-content: center;
      gap: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  header .inner #gnav .gnavinner .main li {
    font-size: calc(var(--fs-l) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    header .inner #gnav .gnavinner .main li {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    }
  }
  header .inner #gnav .gnavinner .main li a {
    display: block;
    padding-block: calc(4 / 375 * 100vw);
    transition: color 0.3s var(--bezier);
  }
  header .inner #gnav .gnavinner .main li a:hover {
    color: var(--color-brand);
  }
  @media print, screen and (min-width: 768px) {
    header .inner #gnav .gnavinner .main li a {
      padding-block: min(12px, calc(12 / 1440 * 100vw));
      padding-inline: unset;
    }
  }
  header .inner #gnav .gnavinner .main li a.is-active {
    color: var(--color-brand);
  }
  header .inner #gnav .gnavinner .sub {
    border-top: 1px solid #e5e5e5;
    margin-top: calc(24 / 375 * 100vw);
    padding-top: calc(28 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    header .inner #gnav .gnavinner .sub {
      display: none;
    }
  }
  header .inner #gnav .gnavinner .sub li a {
    display: block;
    padding-block: calc(8 / 375 * 100vw);
    font-size: calc(var(--fs-xs) / 375 * 100vw);
  }
  header .inner #gnav .gnavinner .logo {
    margin-top: calc(36 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    header .inner #gnav .gnavinner .logo {
      display: none;
    }
  }
  header .inner #gnav .gnavinner .logo a img {
    width: calc(128 / 375 * 100vw);
  }
  .reverse header .inner #logo a {
    background-color: var(--color-surface);
    transition: background-color var(--transition-speed-fast) var(--bezier);
  }
  @media (any-hover: hover) {
    .reverse header .inner #logo a:hover {
      background-color: var(--color-gray-medium);
      background-color: var(--color-gray-medium);
    }
  }
  @media print, screen and (min-width: 768px) {
    .reverse header .inner #gnav .gnavinner .main li a {
      color: var(--color-surface);
      transition: color 0.3s var(--bezier);
    }
    .reverse header .inner #gnav .gnavinner .main li a:hover {
      color: var(--color-brand);
    }
    .reverse header .inner #gnav .gnavinner .main li a.is-active {
      color: var(--color-brand);
    }
  }
  .reverse header .inner #menuButton .lines span {
    background-color: var(--color-surface);
  }
  .reverse header .inner #menuButton.show .lines span {
    background-color: var(--color-black);
  }
  #pagetop {
    position: fixed;
    bottom: calc(24 / 375 * 100vw);
    right: calc(24 / 375 * 100vw);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-speed-slow) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    #pagetop {
      bottom: min(50px, calc(50 / 1440 * 100vw));
      right: min(50px, calc(50 / 1440 * 100vw));
    }
  }
  #pagetop a {
    transition: opacity 0.3s var(--bezier);
  }
  #pagetop a:hover {
    opacity: 0.7;
  }
  #pagetop a img {
    width: calc(48 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pagetop a img {
      width: min(64px, calc(64 / 1440 * 100vw));
    }
  }
  #pagetop.is-scroll {
    opacity: 1;
    pointer-events: all;
  }
  #pagetop.is-bottom {
    opacity: 0;
    pointer-events: none;
  }
  footer {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    position: relative;
    grid-area: footer;
    padding-block: calc(64 / 375 * 100vw) calc(24 / 375 * 100vw);
    background-color: var(--color-black);
    color: var(--color-text-on-accent);
  }
  @media print, screen and (min-width: 768px) {
    footer {
      padding-block: min(90px, calc(90 / 1440 * 100vw)) min(48px, calc(48 / 1440 * 100vw));
    }
  }
  footer .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1260px, calc(1260 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    footer .inner {
      display: grid;
      grid-template: "logo footnav" auto "copyright copyright" auto/60% auto;
      grid-gap: min(84px, calc(84 / 1440 * 100vw)) 0;
    }
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav {
      grid-area: footnav;
      display: grid;
      grid-template-columns: 1fr 1fr;
    }
  }
  footer .inner .footnav .unit .main {
    line-height: var(--line-height-xsmall);
  }
  footer .inner .footnav .unit .main > li {
    font-size: calc(var(--fs-m) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit .main > li {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    }
  }
  footer .inner .footnav .unit .main > li:first-child {
    padding-top: unset;
  }
  footer .inner .footnav .unit .main > li a {
    display: block;
    padding-block: calc(12 / 375 * 100vw);
    transition: color 0.3s var(--bezier);
  }
  footer .inner .footnav .unit .main > li a:hover {
    color: var(--color-brand);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit .main > li a {
      padding-block: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  footer .inner .footnav .unit .main > li ul {
    padding-bottom: calc(12 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit .main > li ul {
      padding-bottom: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  footer .inner .footnav .unit .main > li ul li {
    font-size: calc(var(--fs-s) / 375 * 100vw);
    font-weight: var(--font-weight-medium);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit .main > li ul li {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    }
  }
  footer .inner .footnav .unit .main > li ul li:first-child a {
    padding-top: unset;
  }
  footer .inner .footnav .unit .main > li ul li a {
    padding-block: calc(4 / 375 * 100vw);
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    gap: calc(4 / 375 * 100vw);
  }
  footer .inner .footnav .unit .main > li ul li a::before {
    content: "・";
    display: block;
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit .main > li ul li a {
      padding-block: min(6px, calc(6 / 1440 * 100vw));
      gap: min(4px, calc(4 / 1440 * 100vw));
    }
  }
  footer .inner .footnav .unit .sub {
    border-top: 1px solid var(--color-border-light);
    margin-top: calc(64 / 375 * 100vw);
    padding-top: calc(24 / 375 * 100vw);
    line-height: var(--line-height-xsmall);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit .sub {
      border-top: none;
      margin-top: unset;
      padding-top: unset;
    }
  }
  footer .inner .footnav .unit .sub li a {
    display: block;
    padding-block: calc(4 / 375 * 100vw);
    transition: color 0.3s var(--bezier);
    font-size: calc(var(--fs-s) / 375 * 100vw);
  }
  footer .inner .footnav .unit .sub li a:hover {
    color: var(--color-brand);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit .sub li a {
      padding-block: min(12px, calc(12 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    }
  }
  footer .inner .logo {
    margin-top: calc(64 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .logo {
      grid-area: logo;
      margin-top: unset;
    }
  }
  footer .inner .logo .image {
    display: block;
    width: calc(128 / 375 * 100vw);
    aspect-ratio: 99/17;
    -webkit-mask-image: url(/images/logo.svg);
    mask-image: url(/images/logo.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--color-text-on-accent);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .logo .image {
      width: min(243px, calc(243 / 1440 * 100vw));
    }
  }
  footer .inner .copyright {
    margin-top: calc(12 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .copyright {
      margin-top: unset;
      grid-area: copyright;
    }
  }
  @media print, screen and (min-width: 768px){
    footer .inner .footnav {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
    }
    footer .inner .logo {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    footer .inner .copyright {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
      -ms-grid-column-span: 3;
    }
  }
  footer .inner .copyright p {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .copyright p {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
      font-weight: var(--font-weight-regular);
    }
  }
}
@layer parts {
  .fadeUp {
    opacity: 0;
    transition: opacity var(--transition-speed-slow) 0.5s;
  }
  .fadeUp.is-active {
    opacity: 1;
  }
  .pTitle .en {
    font-size: calc(var(--fs-xxxxxl) / 375 * 100vw);
    font-weight: var(--font-weight-regular);
    text-transform: uppercase;
    translate: calc(-3 / 375 * 100vw) 0;
  }
  @media print, screen and (min-width: 768px) {
    .pTitle .en {
      font-size: min(calc(var(--fs-xxxxxxl) * 1px), calc(var(--fs-xxxxxxl) / 1440 * 100vw));
      translate: max(-3px, calc(-3 / 1440 * 100vw)) 0;
    }
  }
  .pTitle .en span {
    text-transform: none;
  }
  .pTitle .ja {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 175%;
    margin-top: calc(4 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pTitle .ja {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      margin-top: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  .pSubtitle {
    text-align: center;
  }
  .pSubtitle.reverse .ja {
    margin-top: calc(4 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pSubtitle.reverse .ja {
      margin-top: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  .pSubtitle.reverse .en {
    margin-top: unset;
  }
  .pSubtitle .ja {
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 175%;
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    .pSubtitle .ja {
      line-height: 160%;
      font-size: min(calc(var(--fs-xxl) * 1px), calc(var(--fs-xxl) / 1440 * 100vw));
    }
  }
  .pSubtitle .en {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    text-transform: uppercase;
    margin-top: calc(4 / 375 * 100vw);
    display: grid;
    grid-template-columns: auto auto auto;
    gap: calc(4 / 375 * 100vw);
    align-items: center;
    justify-content: center;
  }
  @media print, screen and (min-width: 768px) {
    .pSubtitle .en {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      gap: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .pSubtitle .en::before, .pSubtitle .en::after {
    content: "";
    display: block;
    width: calc(8 / 375 * 100vw);
    height: calc(8 / 375 * 100vw);
    background-color: var(--color-second);
    border-radius: var(--border-radius-circle);
  }
  @media print, screen and (min-width: 768px) {
    .pSubtitle .en::before, .pSubtitle .en::after {
      width: min(13px, calc(13 / 1440 * 100vw));
      height: min(13px, calc(13 / 1440 * 100vw));
    }
  }
  .pSubtitle .en::after {
    background-color: transparent;
  }
  .pBox {
    border-radius: calc(var(--border-radius-medium) / 375 * 100vw);
    background: var(--color-surface);
    aspect-ratio: 1/1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: calc(16 / 375 * 100vw);
    gap: calc(16 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pBox {
      border-radius: min(15px, calc(15 / 1440 * 100vw));
      padding: min(24px, calc(24 / 1440 * 100vw));
      gap: min(24px, calc(24 / 1440 * 100vw));
      width: min(253px, calc(253 / 1440 * 100vw));
    }
  }
  .pBox img {
    width: calc(60 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pBox img {
      width: min(100px, calc(100 / 1440 * 100vw));
    }
  }
  .pBox figcaption {
    display: flex;
    align-items: center;
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
    min-height: calc(34 / 375 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pBox figcaption {
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
      min-height: min(55px, calc(55 / 1440 * 100vw));
    }
  }
  .pButton {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: calc(16 / 375 * 100vw);
    align-items: center;
    position: relative;
    overflow: hidden;
    border-radius: calc(var(--border-radius-medium) / 375 * 100vw);
    border: 1px solid var(--color-border-dark);
    background: var(--color-surface);
    color: var(--color-text);
    padding: calc(12 / 375 * 100vw) calc(16 / 375 * 100vw);
    transition: background-color var(--transition-speed-fast) var(--bezier);
  }
  @media (any-hover: hover) {
    .pButton:hover {
      background-color: var(--color-brand);
      background-color: var(--color-brand);
    }
  }
  @media print, screen and (min-width: 768px) {
    .pButton {
      gap: min(16px, calc(16 / 1440 * 100vw));
      padding: min(12px, calc(12 / 1440 * 100vw)) min(40px, calc(40 / 1440 * 100vw));
      min-width: min(210px, calc(210 / 1440 * 100vw));
      width: -moz-fit-content;
      width: fit-content;
      justify-content: center;
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
    }
  }
  .pButton::after {
    content: "";
    position: relative;
    z-index: 1;
    display: block;
    width: calc(32 / 375 * 100vw);
    height: calc(32 / 375 * 100vw);
    -webkit-mask-image: url(/images/arrow_button.svg);
    mask-image: url(/images/arrow_button.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: var(--color-text);
  }
  @media print, screen and (min-width: 768px) {
    .pButton::after {
      width: min(32px, calc(32 / 1440 * 100vw));
      height: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  .pButton span {
    position: relative;
    z-index: 1;
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .pButton span {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  .pButton.transparent {
    background-color: transparent;
    border-color: var(--color-surface);
    color: var(--color-text-on-accent);
    transition: background-color var(--transition-speed-fast) var(--bezier);
    transition: color 0.3s var(--bezier);
    transition: border-color var(--transition-speed-fast) var(--bezier);
    transition: all var(--transition-speed-fast) var(--bezier);
  }
  @media (any-hover: hover) {
    .pButton.transparent:hover {
      background-color: var(--color-second);
      background-color: var(--color-second);
    }
  }
  .pButton.transparent:hover {
    color: var(--color-btblue-700);
  }
  @media (any-hover: hover) {
    .pButton.transparent:hover {
      border-color: var(--color-brand);
      border-color: var(--color-brand);
    }
  }
  .pButton.transparent::after {
    background-color: var(--color-text-on-accent);
    transition: background-color var(--transition-speed-fast) var(--bezier);
  }
  @media (any-hover: hover) {
    .pButton.transparent:hover::after {
      background-color: var(--color-btblue-700);
    }
  }
  .pSub {
    text-transform: none;
  }
  .stage {
    filter: drop-shadow(0 4px 60px rgba(0, 0, 0, 0.15));
    -webkit-backdrop-filter: blur(22.5px);
    backdrop-filter: blur(22.5px);
    border-radius: calc(var(--border-radius-medium) / 375 * 100vw);
    background: linear-gradient(177deg, rgba(255, 255, 255, 0.8) 0.53%, rgba(255, 255, 255, 0.9) 101.19%);
  }
  @media print, screen and (min-width: 768px) {
    .stage {
      width: min(1260px, calc(1260 / 1440 * 100vw));
      margin-inline: auto;
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
      filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
    }
  }
  .bgTop {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    background-image: url(/images/bg_top.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 750/2376;
  }
  @media print, screen and (min-width: 768px) {
    .bgTop {
      background-image: url(/images/bg_top_pc.webp);
      aspect-ratio: 2880/3466;
    }
  }
  @media print, screen and (min-width: 768px) {
    .reverse .bgTop {
      background-image: url(/images/bg_top_dark_pc.webp);
      aspect-ratio: 2880/4111;
    }
  }
  @media print, screen and (min-width: 768px) {
    .top .bgTop {
      background-image: url(/images/bg_top_toppage_pc.webp);
      aspect-ratio: 2880/4472;
    }
  }
  .bgPlan {
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    background-image: url(/images/bg_plan.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 750/2880;
  }
  @media print, screen and (min-width: 768px) {
    .bgPlan {
      background-image: url(/images/bg_plan_pc.webp);
      aspect-ratio: 2880/5129;
      translate: 0 max(-916px, calc(-916 / 1440 * 100vw));
    }
  }
}
@layer components {
  .breadCrumb {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .breadCrumb {
      margin-top: min(180px, calc(180 / 1440 * 100vw));
    }
  }
  .breadCrumb .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .breadCrumb .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1260px, calc(1260 / 1440 * 100vw));
    }
  }
  .breadCrumb .inner ul {
    display: flex;
    flex-wrap: wrap;
    gap: calc(2 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .breadCrumb .inner ul {
      gap: min(2px, calc(2 / 1440 * 100vw));
    }
  }
  .breadCrumb .inner ul li {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 160%;
    display: flex;
    gap: calc(2 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .breadCrumb .inner ul li {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
      gap: min(2px, calc(2 / 1440 * 100vw));
    }
  }
  .breadCrumb .inner ul li::before {
    content: "ー";
  }
  .breadCrumb .inner ul li:first-child::before {
    display: none;
  }
  .breadCrumb .inner ul li a {
    transition: color 0.3s var(--bezier);
  }
  .breadCrumb .inner ul li a:hover {
    color: var(--color-brand);
  }
  .reverse .breadCrumb {
    color: var(--color-surface);
  }
  .anchorLink {
    margin-top: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .anchorLink {
      margin-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .anchorLink .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .anchorLink .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .anchorLink .inner ul {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
    }
  }
  .anchorLink .inner ul li {
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
    letter-spacing: 0.07em;
    border-bottom: 1px solid var(--color-border-light);
  }
  @media print, screen and (min-width: 768px) {
    .anchorLink .inner ul li {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      border-bottom: none;
      border-right: 1px solid var(--color-border-light);
    }
    .anchorLink .inner ul li:last-child {
      border-right: none;
    }
  }
  .anchorLink .inner ul li a {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding-block: calc(16 / 375 * 100vw);
    transition: color 0.3s var(--bezier);
    gap: calc(8 / 375 * 100vw);
  }
  .anchorLink .inner ul li a:hover {
    color: var(--color-brand);
  }
  @media print, screen and (min-width: 768px) {
    .anchorLink .inner ul li a {
      padding-block: min(8px, calc(8 / 1440 * 100vw));
      padding-inline: min(40px, calc(40 / 1440 * 100vw));
      gap: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .anchorLink .inner ul li a::after {
    content: "";
    display: block;
    width: calc(14 / 375 * 100vw);
    height: calc(14 / 375 * 100vw);
    background-image: url("/images/arrow_anchor.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  @media print, screen and (min-width: 768px) {
    .anchorLink .inner ul li a::after {
      width: min(8px, calc(8 / 1440 * 100vw));
      height: min(18px, calc(18 / 1440 * 100vw));
    }
  }
  .pageTitle {
    margin-top: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pageTitle {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
    }
  }
  .pageTitle .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pageTitle .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1260px, calc(1260 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .pageTitle .inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
    }
  }
  .pageTitle .inner .lead {
    margin-top: calc(32 / 375 * 100vw);
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .pageTitle .inner .lead {
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
      margin-top: unset;
      line-height: 160%;
    }
  }
  .pageTitle .inner .lead.small {
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 175%;
    font-weight: var(--font-weight-medium);
  }
  @media print, screen and (min-width: 768px) {
    .pageTitle .inner .lead.small {
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
      line-height: 200%;
    }
  }
  .reverse .pageTitle {
    color: var(--color-surface);
  }
  .planSlider {
    padding-block: calc(120 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planSlider {
      padding-block: min(180px, calc(180 / 1440 * 100vw));
    }
  }
  .planSlider .title {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
    color: var(--color-text-on-accent);
  }
  @media print, screen and (min-width: 768px) {
    .planSlider .title {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1260px, calc(1260 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .planSlider .title {
      display: grid;
      grid-template: "title button" auto "lead button" auto/1fr auto;
      gap: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .planSlider .title .pTitle {
      grid-area: title;
    }
  }
  @media print, screen and (min-width: 768px) {
    .planSlider .title .pTitle .en {
      font-size: min(calc(var(--fs-xxxxl) * 1px), calc(var(--fs-xxxxl) / 1440 * 100vw));
    }
  }
  .planSlider .title .lead {
    margin-top: calc(32 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .planSlider .title .lead {
      grid-area: lead;
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      margin-top: unset;
    }
  }
  .planSlider .title .button {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    .planSlider .title .button {
      grid-area: button;
      display: block;
    }
  }
  .planSlider .title .button .pButton {
    transition: background-color var(--transition-speed-fast) var(--bezier);
  }
  @media (any-hover: hover) {
    .planSlider .title .button .pButton:hover {
      background-color: var(--color-second);
      background-color: var(--color-second);
    }
  }
  .planSlider .spButton {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
    margin-top: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planSlider .spButton {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1260px, calc(1260 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .planSlider .spButton {
      display: none;
    }
  }
  .planSlider .spButton .pButton {
    transition: background-color var(--transition-speed-fast) var(--bezier);
  }
  @media (any-hover: hover) {
    .planSlider .spButton .pButton:hover {
      background-color: var(--color-second);
      background-color: var(--color-second);
    }
  }
  .planSlider #planSlide {
    margin-top: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide {
      margin-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide {
    padding-inline: calc(8 / 375 * 100vw);
    height: auto;
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide {
      padding-inline: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner {
    display: grid;
    grid-template: "bg" 1fr "planTitle" auto/auto;
    height: 100%;
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-medium) / 375 * 100vw);
    padding: calc(24 / 375 * 100vw);
    grid-area: bg;
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg {
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      padding: min(32px, calc(32 / 1440 * 100vw));
      display: grid;
      grid-template: "top image" auto "bottom image" auto/1fr min(323px, calc(323 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .image {
      grid-area: image;
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .top {
    margin-top: calc(24 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .top {
      margin-top: unset;
      grid-area: top;
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .top .num {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 160%;
    text-transform: uppercase;
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .top .num {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom {
    margin-top: calc(16 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom {
      padding-right: min(40px, calc(40 / 1440 * 100vw));
      margin-top: unset;
      grid-area: bottom;
      align-self: end;
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom .plan {
    font-weight: var(--font-weight-bold);
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom .plan {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom .tag {
    margin-top: calc(12 / 375 * 100vw);
    display: flex;
    gap: calc(2 / 375 * 100vw);
    flex-wrap: wrap;
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom .tag {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      gap: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom .tag li {
    border-radius: var(--border-radius-pill);
    border: 1px solid var(--color-black);
    padding: calc(5 / 375 * 100vw) calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom .tag li {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
      padding: min(5px, calc(5 / 1440 * 100vw)) min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom .outline {
    margin-top: calc(24 / 375 * 100vw);
    list-style: disc;
    margin-left: 1em;
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom .outline {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom .outline li {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 200%;
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom .outline li {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .planTitle {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    color: var(--color-text-on-accent);
    margin-top: calc(24 / 375 * 100vw);
    grid-area: planTitle;
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .planTitle {
      margin-top: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .planTitle .en {
    font-size: calc(var(--fs-xxl) / 375 * 100vw);
    text-transform: uppercase;
    font-weight: 400;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: calc(8 / 375 * 100vw);
    align-items: center;
    line-height: 120%;
    letter-spacing: -0.01em;
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .planTitle .en {
      letter-spacing: unset;
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
      gap: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .planTitle .en::before {
    content: "";
    display: block;
    width: calc(8 / 375 * 100vw);
    height: calc(8 / 375 * 100vw);
    background-color: var(--color-second);
    border-radius: var(--border-radius-circle);
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .planTitle .en::before {
      width: min(15px, calc(15 / 1440 * 100vw));
      height: min(15px, calc(15 / 1440 * 100vw));
    }
  }
  .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .planTitle .ja {
    margin-top: calc(4 / 375 * 100vw);
    font-size: calc(var(--fs-xs) / 375 * 100vw);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .planTitle .ja {
      margin-top: min(4px, calc(4 / 1440 * 100vw));
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .contactArea {
    padding: calc(64 / 375 * 100vw) calc(24 / 375 * 100vw);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw) calc(var(--border-radius-large) / 375 * 100vw) 0 0;
    background: linear-gradient(172deg, rgba(255, 255, 255, 0.3) 23.52%, rgba(255, 255, 255, 0.9) 95.64%);
    box-shadow: 0 4px 40px 0 rgba(0, 0, 0, 0.12);
    -webkit-backdrop-filter: blur(22.5px);
    backdrop-filter: blur(22.5px);
  }
  @media print, screen and (min-width: 768px) {
    .contactArea {
      padding-block: min(90px, calc(90 / 1440 * 100vw));
      padding-inline: unset;
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw)) min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw)) 0 0;
    }
  }
  .planTopCaption + .contactArea {
    margin-top: calc(160 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopCaption + .contactArea {
      margin-top: min(300px, calc(300 / 1440 * 100vw));
    }
  }
  .topWrapper.bottom + .contactArea {
    margin-top: calc(120 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topWrapper.bottom + .contactArea {
      margin-top: unset;
    }
  }
  .stage.contact + .contactArea {
    margin-top: calc(120 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .stage.contact + .contactArea {
      margin-top: min(180px, calc(180 / 1440 * 100vw));
    }
  }
  .contactArea .inner {
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
    background: var(--color-btblue-50, #D9F1F6);
    padding: calc(40 / 375 * 100vw) calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .contactArea .inner {
      width: min(1260px, calc(1260 / 1440 * 100vw));
      margin-inline: auto;
      padding: min(80px, calc(80 / 1440 * 100vw)) min(108px, calc(108 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .contactArea .inner .title {
      display: grid;
      grid-template-columns: 1fr min(612px, calc(612 / 1440 * 100vw));
      align-items: start;
    }
  }
  .contactArea .inner .title .lead {
    margin-top: calc(32 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .contactArea .inner .title .lead {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      font-weight: var(--font-weight-bold);
      line-height: 160%;
      margin-top: unset;
    }
  }
  .contactArea .inner .button {
    margin-top: calc(80 / 375 * 100vw);
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .contactArea .inner .button {
      margin-top: min(80px, calc(80 / 1440 * 100vw));
    }
  }
  .contactArea .inner .button::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(-22 / 375 * 100vw);
    left: calc(144 / 375 * 100vw);
    width: calc(56 / 375 * 100vw);
    height: calc(56 / 375 * 100vw);
    background-image: url(/images/icon_contact.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  @media print, screen and (min-width: 768px) {
    .contactArea .inner .button::after {
      width: min(127px, calc(127 / 1440 * 100vw));
      height: min(127px, calc(127 / 1440 * 100vw));
      top: max(-52px, calc(-52 / 1440 * 100vw));
      left: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  .contactArea .inner .button a {
    display: grid;
    grid-template-columns: auto auto;
    gap: calc(16 / 375 * 100vw);
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius-pill);
    background: var(--color-brand);
    padding: calc(16 / 375 * 100vw) calc(24 / 375 * 100vw) calc(16 / 375 * 100vw) calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .contactArea .inner .button a {
      gap: min(40px, calc(40 / 1440 * 100vw));
      padding: min(54px, calc(54 / 1440 * 100vw)) min(40px, calc(40 / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    .contactArea .inner .button a:hover::before {
      translate: 0 0;
    }
  }
  .contactArea .inner .button a::after {
    content: "";
    position: relative;
    z-index: 1;
    display: block;
    width: calc(30 / 375 * 100vw);
    height: calc(30 / 375 * 100vw);
    background-image: url(/images/arrow_contact.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  @media print, screen and (min-width: 768px) {
    .contactArea .inner .button a::after {
      width: min(80px, calc(80 / 1440 * 100vw));
      height: min(80px, calc(80 / 1440 * 100vw));
    }
  }
  .contactArea .inner .button a::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background-color: var(--color-second);
    border-radius: var(--border-radius-pill);
    z-index: 0;
    translate: -120% 0;
    transition: translate var(--transition-speed-slow) var(--bezier);
  }
  .contactArea .inner .button a span {
    position: relative;
    z-index: 1;
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 175%;
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    .contactArea .inner .button a span {
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
      line-height: 160%;
    }
  }
  .stage.plan {
    margin-top: calc(40 / 375 * 100vw);
    padding-block: calc(64 / 375 * 100vw) calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .stage.plan {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      padding-block: min(120px, calc(120 / 1440 * 100vw)) min(180px, calc(180 / 1440 * 100vw));
    }
  }
  .stage.planSP {
    margin-top: calc(40 / 375 * 100vw);
    padding-block: calc(80 / 375 * 100vw) calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .stage.planSP {
      margin-top: unset;
      padding-block: unset;
      filter: unset;
      border-radius: unset;
      -webkit-backdrop-filter: unset;
      backdrop-filter: unset;
      background: unset;
    }
  }
  .stage.planPC {
    filter: unset;
    -webkit-backdrop-filter: unset;
    backdrop-filter: unset;
    border-radius: unset;
    background: unset;
  }
  @media print, screen and (min-width: 768px) {
    .stage.planPC {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      padding-block: min(120px, calc(120 / 1440 * 100vw)) min(140px, calc(140 / 1440 * 100vw));
      width: min(1260px, calc(1260 / 1440 * 100vw));
      margin-inline: auto;
      -webkit-backdrop-filter: blur(22.5px);
      backdrop-filter: blur(22.5px);
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
      filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
      background: linear-gradient(177deg, rgba(255, 255, 255, 0.8) 0.53%, rgba(255, 255, 255, 0.9) 101.19%);
    }
  }
  .planMV {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planMV {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner {
      display: grid;
      grid-template: "top image" auto "bottom image" auto/1fr 1fr;
    }
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner .image {
      grid-area: image;
    }
  }
  .planMV .inner .top {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner .top {
      margin-top: unset;
      grid-area: top;
      padding-right: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  .planMV .inner .top .num {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 160%;
    text-transform: uppercase;
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner .top .num {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
    }
  }
  .planMV .inner .top .plan {
    margin-top: calc(24 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner .top .plan {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
    }
  }
  .planMV .inner .top .plan h1 {
    font-weight: var(--font-weight-bold);
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner .top .plan h1 {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
    }
  }
  .planMV .inner .top .plan .en {
    font-size: calc(var(--fs-l) / 375 * 100vw);
    line-height: 175%;
    letter-spacing: 0.036em;
    text-transform: uppercase;
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner .top .plan .en {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      margin-top: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  .planMV .inner .top .tag {
    margin-top: calc(24 / 375 * 100vw);
    display: flex;
    gap: calc(4 / 375 * 100vw);
    flex-wrap: wrap;
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner .top .tag {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
      gap: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  .planMV .inner .top .tag li {
    border-radius: var(--border-radius-pill);
    border: 1px solid var(--color-black);
    padding: calc(5 / 375 * 100vw) calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner .top .tag li {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
      padding: min(5px, calc(5 / 1440 * 100vw)) min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .planMV .inner .bottom {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner .bottom {
      padding-right: min(40px, calc(40 / 1440 * 100vw));
      margin-top: unset;
      grid-area: bottom;
      align-self: end;
    }
  }
  .planMV .inner .bottom .lead {
    font-size: calc(var(--fs-l) / 375 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner .bottom .lead {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .planMV .inner .bottom .outline {
    margin-top: calc(16 / 375 * 100vw);
    list-style: disc;
    margin-left: 1em;
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner .bottom .outline {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .planMV .inner .bottom .outline li {
    font-size: calc(var(--fs-xs) / 375 * 100vw);
    line-height: 200%;
  }
  @media print, screen and (min-width: 768px) {
    .planMV .inner .bottom .outline li {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  .planRecommend {
    margin-top: calc(120 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planRecommend {
      margin-top: min(180px, calc(180 / 1440 * 100vw));
    }
  }
  .planRecommend .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planRecommend .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .planRecommend .inner .list {
    margin-top: calc(40 / 375 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(12 / 375 * 100vw) calc(16 / 375 * 100vw);
    align-items: center;
  }
  @media print, screen and (min-width: 768px) {
    .planRecommend .inner .list {
      display: flex;
      flex-wrap: wrap;
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      gap: min(32px, calc(32 / 1440 * 100vw)) min(32px, calc(32 / 1440 * 100vw));
      justify-content: center;
    }
  }
  .planFeature {
    margin-top: calc(80 / 375 * 100vw);
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
    overflow: hidden;
  }
  @media print, screen and (min-width: 768px) {
    .planFeature {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .planFeature {
      margin-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .planFeature .inner {
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
    padding-block: calc(42 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planFeature .inner {
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      padding-block: min(80px, calc(80 / 1440 * 100vw)) min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .planFeature .inner .list {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planFeature .inner .list {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
    }
  }
  .planFeatureUnit {
    padding-inline: calc(32 / 375 * 100vw);
    margin-top: calc(80 / 375 * 100vw);
    position: relative;
  }
  .planFeatureUnit:first-child {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    .planFeatureUnit:nth-child(even) {
      grid-template: "image text" auto/min(355px, calc(355 / 1440 * 100vw)) 1fr;
    }
  }
  @media print, screen and (min-width: 768px) {
    .planFeatureUnit {
      padding-inline: min(108px, calc(108 / 1440 * 100vw));
      margin-top: min(48px, calc(48 / 1440 * 100vw));
      display: grid;
      grid-template: "text image" auto/1fr min(355px, calc(355 / 1440 * 100vw));
      gap: min(76px, calc(76 / 1440 * 100vw));
      align-items: center;
    }
  }
  .planFeatureUnit .text {
    position: relative;
    z-index: 1;
  }
  @media print, screen and (min-width: 768px) {
    .planFeatureUnit .text {
      grid-area: text;
    }
  }
  .planFeatureUnit .text .num {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 160%;
    text-transform: uppercase;
    color: var(--color-brand);
  }
  @media print, screen and (min-width: 768px) {
    .planFeatureUnit .text .num {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    }
  }
  .planFeatureUnit .text h3 {
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xxxxl) / 375 * 100vw);
    font-weight: var(--font-weight-black);
    line-height: 120%;
    letter-spacing: -0.1em;
  }
  @media print, screen and (min-width: 768px) {
    .planFeatureUnit .text h3 {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxxxl) * 1px), calc(var(--fs-xxxxl) / 1440 * 100vw));
    }
  }
  .planFeatureUnit .text .desc {
    margin-top: calc(16 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .planFeatureUnit .text .desc {
      margin-top: min(32px, calc(32 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  .planFeatureUnit .image {
    margin-top: calc(32 / 375 * 100vw);
    text-align: center;
    position: relative;
    z-index: 1;
  }
  @media print, screen and (min-width: 768px) {
    .planFeatureUnit .image {
      grid-area: image;
      margin-top: unset;
      width: min(355px, calc(355 / 1440 * 100vw));
      aspect-ratio: 355/323;
      place-content: center;
    }
  }
  .planFeatureUnit .image picture {
    display: block;
  }
  .planFeatureUnit .image .shadow {
    filter: drop-shadow(0 0 30px rgba(0, 0, 0, 0.1));
  }
  @media print, screen and (min-width: 768px) {
    .planFeatureUnit .image .shadow {
      filter: drop-shadow(0 0 40px 0 rgba(0, 0, 0, 0.15));
    }
  }
  .planFeatureUnit .image .height01 {
    height: calc(198 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planFeatureUnit .image .height01 {
      height: auto;
    }
  }
  .planCase {
    padding-top: calc(120 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planCase {
      padding-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .planCase .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planCase .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .planCase .inner .list {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planCase .inner .list {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
    }
  }
  .planCase .inner .list .unit {
    padding-block: calc(32 / 375 * 100vw);
    padding-inline: calc(24 / 375 * 100vw);
    margin-top: calc(24 / 375 * 100vw);
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
  }
  .planCase .inner .list .unit:first-child {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    .planCase .inner .list .unit {
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
      padding-block: min(46px, calc(46 / 1440 * 100vw));
      padding-inline: min(50px, calc(50 / 1440 * 100vw));
      margin-top: min(40px, calc(40 / 1440 * 100vw));
      display: grid;
      justify-content: space-between;
      grid-template: "num image" auto "text image" auto/min(410px, calc(410 / 1440 * 100vw)) min(453px, calc(453 / 1440 * 100vw));
    }
  }
  .planCase .inner .list .unit .num {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 160%;
    text-transform: uppercase;
  }
  @media print, screen and (min-width: 768px) {
    .planCase .inner .list .unit .num {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
    }
  }
  .planCase .inner .list .unit .text {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planCase .inner .list .unit .text {
      grid-area: text;
    }
  }
  .planCase .inner .list .unit .text h3 {
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .planCase .inner .list .unit .text h3 {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
    }
  }
  .planCase .inner .list .unit .text .desc {
    margin-top: calc(16 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .planCase .inner .list .unit .text .desc {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  .planCase .inner .list .unit .image {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planCase .inner .list .unit .image {
      grid-area: image;
      margin-top: unset;
      width: min(453px, calc(453 / 1440 * 100vw));
    }
  }
  .planOption {
    padding-top: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planOption {
      padding-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .planOption .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planOption .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .planOption .inner .list {
    margin-top: calc(40 / 375 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(12 / 375 * 100vw) calc(16 / 375 * 100vw);
    align-items: center;
  }
  @media print, screen and (min-width: 768px) {
    .planOption .inner .list {
      display: flex;
      flex-wrap: wrap;
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      gap: min(32px, calc(32 / 1440 * 100vw)) min(32px, calc(32 / 1440 * 100vw));
    }
  }
  .planDetail {
    margin-top: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planDetail {
      margin-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .planDetail .inner {
    padding-top: calc(64 / 375 * 100vw);
    border-top: 1px solid var(--color-border-light);
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planDetail .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .planDetail .inner {
      padding-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .planDetail .inner .table {
    margin-top: calc(24 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planDetail .inner .table {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      padding-inline: min(106px, calc(106 / 1440 * 100vw));
    }
  }
  .planDetail .inner .table table {
    width: 100%;
  }
  .planDetail .inner .table table tr {
    display: block;
    padding-block: calc(32 / 375 * 100vw);
    border-bottom: 1px solid var(--color-border-medium);
  }
  @media print, screen and (min-width: 768px) {
    .planDetail .inner .table table tr {
      display: table-row;
      padding-block: unset;
    }
  }
  .planDetail .inner .table table tr th {
    display: block;
    color: var(--color-btblue-500);
    font-size: calc(var(--fs-xs) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .planDetail .inner .table table tr th {
      display: table-cell;
      padding-block: min(32px, calc(32 / 1440 * 100vw));
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      color: var(--color-text);
      vertical-align: top;
      width: 28%;
    }
  }
  .planDetail .inner .table table tr td {
    display: block;
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xs) / 375 * 100vw);
    line-height: 200%;
  }
  @media print, screen and (min-width: 768px) {
    .planDetail .inner .table table tr td {
      display: table-cell;
      margin-top: unset;
      padding-block: min(32px, calc(32 / 1440 * 100vw));
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      width: 72%;
    }
  }
  .planDetail .inner .table table tr td ul {
    list-style: disc;
    margin-left: 1.25em;
  }
  .path-01,
.path-02,
.path-03,
.path-04,
.path-06,
.path-07 {
    position: absolute;
    z-index: 0;
    mix-blend-mode: multiply;
  }
  .path-01,
.path-06 {
    width: calc(410 / 375 * 100vw);
    left: calc(11 / 375 * 100vw);
    top: calc(150 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .path-01,
.path-06 {
      width: min(737px, calc(737 / 1440 * 100vw));
      left: min(310px, calc(310 / 1440 * 100vw));
      top: min(34px, calc(34 / 1440 * 100vw));
    }
  }
  @media print, screen and (max-width: 767px) {
    .b2b-standard .path-01,
.b2b-standard .path-06 {
      top: calc(170 / 375 * 100vw);
    }
  }
  @media print, screen and (max-width: 767px) {
    .advanced .path-01,
.advanced .path-06 {
      top: calc(170 / 375 * 100vw);
    }
  }
  .path-02,
.path-07 {
    width: calc(460 / 375 * 100vw);
    left: 0;
    top: calc(230 / 375 * 100vw);
    rotate: z -10.705deg;
  }
  @media print, screen and (min-width: 768px) {
    .path-02,
.path-07 {
      width: min(1000px, calc(1000 / 1440 * 100vw));
      left: min(50px, calc(50 / 1440 * 100vw));
      top: min(10px, calc(10 / 1440 * 100vw));
      rotate: z 0deg;
    }
  }
  @media print, screen and (max-width: 767px) {
    .standard .path-02,
.standard .path-07 {
      top: calc(190 / 375 * 100vw);
    }
  }
  @media print, screen and (max-width: 767px) {
    .b2b-standard .path-02,
.b2b-standard .path-07 {
      top: calc(200 / 375 * 100vw);
    }
  }
  @media print, screen and (max-width: 767px) {
    .advanced .path-02,
.advanced .path-07 {
      top: calc(210 / 375 * 100vw);
    }
  }
  .path-03 {
    width: calc(344 / 375 * 100vw);
    left: calc(11 / 375 * 100vw);
    top: calc(160 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .path-03 {
      width: min(860px, calc(860 / 1440 * 100vw));
      left: min(310px, calc(310 / 1440 * 100vw));
      top: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  @media print, screen and (max-width: 767px) {
    .standard .path-03 {
      top: calc(220 / 375 * 100vw);
    }
  }
  @media print, screen and (max-width: 767px) {
    .b2b-standard .path-03 {
      top: calc(220 / 375 * 100vw);
    }
  }
  @media print, screen and (max-width: 767px) {
    .advanced .path-03 {
      top: calc(190 / 375 * 100vw);
    }
  }
  .path-04 {
    width: calc(400 / 375 * 100vw);
    left: calc(11 / 375 * 100vw);
    top: calc(220 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .path-04 {
      width: min(850px, calc(850 / 1440 * 100vw));
      left: min(60px, calc(60 / 1440 * 100vw));
      top: min(34px, calc(34 / 1440 * 100vw));
    }
  }
  @media print, screen and (max-width: 767px) {
    .standard .path-04 {
      top: calc(270 / 375 * 100vw);
    }
  }
  @media print, screen and (max-width: 767px) {
    .b2b-standard .path-04 {
      top: calc(240 / 375 * 100vw);
    }
  }
  .planTopMigration .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopMigration .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .planTopMigration .inner .title {
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    display: grid;
    grid-template-columns: auto auto;
    gap: calc(12 / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    justify-content: center;
    text-align: center;
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .planTopMigration .inner .title {
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
      gap: min(24px, calc(24 / 1440 * 100vw));
      line-height: 150%;
    }
  }
  .planTopMigration .inner .title::before {
    content: "";
    display: block;
    width: calc(8 / 375 * 100vw);
    height: calc(8 / 375 * 100vw);
    background-color: var(--color-second);
    border-radius: var(--border-radius-circle);
    translate: 0 calc(12 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopMigration .inner .title::before {
      width: min(13px, calc(13 / 1440 * 100vw));
      height: min(13px, calc(13 / 1440 * 100vw));
      translate: 0 min(18px, calc(18 / 1440 * 100vw));
    }
  }
  .planTopMigration .inner picture {
    display: block;
    margin-top: calc(64 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopMigration .inner picture {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
    }
  }
  .planTopPlans {
    margin-top: calc(126 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans {
      margin-top: min(180px, calc(180 / 1440 * 100vw));
    }
  }
  .planTopPlans .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1260px, calc(1260 / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .lead {
    margin-top: calc(24 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .lead {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
      width: min(830px, calc(830 / 1440 * 100vw));
      margin-inline: auto;
    }
  }
  .planTopPlans .inner .lead p {
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .lead p {
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list {
    margin-top: calc(64 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list {
      margin-top: min(128px, calc(128 / 1440 * 100vw));
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 1px;
    }
  }
  .planTopPlans .inner .list .unit {
    border-top: 1px solid var(--color-border-light);
    padding-block: calc(52 / 375 * 100vw) calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit {
      padding-block: unset;
      border-top: none;
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 5;
      gap: 0;
    }
  }
  .planTopPlans .inner .list .unit:first-child {
    border-bottom: 1px solid var(--color-border-light);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit:first-child {
      border-bottom: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit:first-child .unitInner {
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw)) 0 0 min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit:last-child .unitInner {
      border-radius: 0 min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw)) min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw)) 0;
    }
  }
  .planTopPlans .inner .list .unit.highlight {
    padding-top: unset;
    margin-top: calc(100 / 375 * 100vw);
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit.highlight {
      margin-top: unset;
    }
  }
  .planTopPlans .inner .list .unit.highlight::before {
    content: "人気 No.1 !";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    translate: 0 -100%;
    display: block;
    text-align: center;
    font-size: calc(var(--fs-l) / 375 * 100vw);
    line-height: 160%;
    padding: calc(16 / 375 * 100vw);
    background-color: var(--color-brand);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw) calc(var(--border-radius-large) / 375 * 100vw) 0 0;
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit.highlight::before {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      padding: min(12px, calc(12 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw)) min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw)) 0 0;
    }
  }
  .planTopPlans .inner .list .unit.highlight .unitInner {
    padding-block: calc(52 / 375 * 100vw);
    border-color: var(--color-brand);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit.highlight .unitInner {
      padding-block: min(40px, calc(40 / 1440 * 100vw)) min(40px, calc(40 / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner {
    padding-inline: calc(28 / 375 * 100vw);
    border: 4px solid transparent;
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner {
      padding-inline: min(20px, calc(20 / 1440 * 100vw));
      padding-block: min(40px, calc(40 / 1440 * 100vw)) min(40px, calc(40 / 1440 * 100vw));
      background-color: var(--color-surface);
      display: inherit;
      grid-template-rows: inherit;
      grid-row: inherit;
      gap: 0;
    }
  }
  .planTopPlans .inner .list .unit .unitInner .title {
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .title {
      align-self: center;
    }
  }
  .planTopPlans .inner .list .unit .unitInner .title .ja {
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 130%;
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .title .ja {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .title .en {
    font-size: calc(var(--fs-s) / 375 * 100vw);
    margin-top: calc(12 / 375 * 100vw);
    text-transform: uppercase;
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .title .en {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      margin-top: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .outline {
    margin-top: calc(36 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .outline {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .outline .desc {
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 165%;
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .outline .desc {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .outline .tags {
    margin-top: calc(12 / 375 * 100vw);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: calc(4 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .outline .tags {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      gap: min(3px, calc(3 / 1440 * 100vw));
      justify-content: flex-start;
    }
  }
  .planTopPlans .inner .list .unit .unitInner .outline .tags li {
    border-radius: var(--border-radius-pill);
    border: 1px solid var(--color-black);
    padding: calc(5 / 375 * 100vw) calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .outline .tags li {
      font-size: min(calc(var(--fs-xxxs) * 1px), calc(var(--fs-xxxs) / 1440 * 100vw));
      padding: min(4px, calc(4 / 1440 * 100vw)) min(6px, calc(6 / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .priceBox {
    margin-top: calc(26 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .priceBox {
      margin-top: min(26px, calc(26 / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .priceBox .price {
    text-align: center;
    line-height: 150%;
  }
  .planTopPlans .inner .list .unit .unitInner .priceBox .price .withoutTax {
    display: flex;
    align-items: baseline;
    justify-content: center;
  }
  .planTopPlans .inner .list .unit .unitInner .priceBox .price .withoutTax strong {
    font-weight: var(--font-weight-bold);
    font-size: calc(var(--fs-xxxl) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .priceBox .price .withoutTax strong {
      font-size: min(calc(var(--fs-xxl) * 1px), calc(var(--fs-xxl) / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .priceBox .price .withoutTax span {
    font-size: calc(var(--fs-m) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .priceBox .price .withoutTax span {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .priceBox .price .withoutTax i {
    font-size: calc(var(--fs-xs) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .priceBox .price .withoutTax i {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .priceBox .price .withTax {
    font-size: calc(var(--fs-xs) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .priceBox .price .withTax {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .priceBox .price .estimate {
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    line-height: 150%;
    text-align: center;
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .priceBox .price .estimate {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .detail {
    margin-top: calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .detail {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .detail dt {
    margin-top: calc(16 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 150%;
    color: var(--color-text-medium);
    background-color: var(--color-btblue-50);
    padding: calc(2 / 375 * 100vw) calc(12 / 375 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .detail dt {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      padding: min(2px, calc(2 / 1440 * 100vw)) min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .detail dt:first-child {
    margin-top: unset;
  }
  .planTopPlans .inner .list .unit .unitInner .detail dd {
    margin-top: calc(6 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .detail dd {
      margin-top: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .detail dd.deadline {
    font-size: calc(var(--fs-l) / 375 * 100vw);
    line-height: 175%;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .detail dd.deadline {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .detail dd ul {
    list-style: disc;
    margin-left: 1.25em;
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 200%;
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .detail dd ul {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .detail dd ul.small {
    font-size: calc(var(--fs-xs) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .detail dd ul.small {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .detail dd ul strong {
    color: var(--color-btblue-500);
    font-weight: var(--font-weight-bold);
  }
  .planTopPlans .inner .list .unit .unitInner .button {
    margin-top: calc(65 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .button {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  .planTopPlans .inner .list .unit .unitInner .button .pButton {
    border-radius: calc(var(--border-radius-small) / 375 * 100vw);
    grid-template-columns: 1fr;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .button .pButton {
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
      padding-inline: min(24px, calc(24 / 1440 * 100vw));
      min-width: unset;
      width: 100%;
    }
  }
  .planTopPlans .inner .list .unit .unitInner .button .pButton::after {
    content: none;
  }
  .planTopPlans .inner .list .unit .unitInner .button .pButton span {
    font-size: calc(var(--fs-s) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopPlans .inner .list .unit .unitInner .button .pButton span {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  .planTopCaption {
    margin-top: calc(16 / 375 * 100vw);
    text-align: center;
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 160%;
    color: var(--color-text-on-accent);
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .planTopCaption {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1260px, calc(1260 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .planTopCaption {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
      text-align: right;
    }
  }
  .caseWrapper {
    margin-top: calc(80 / 375 * 100vw);
    padding-block: calc(40 / 375 * 100vw) calc(120 / 375 * 100vw);
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .caseWrapper {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      padding-block: min(120px, calc(120 / 1440 * 100vw)) min(180px, calc(180 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
    }
  }
  .caseList .unit {
    padding-bottom: calc(120 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit {
      padding-bottom: min(100px, calc(100 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit:first-child .top {
      padding-top: unset;
    }
  }
  .caseList .unit:first-child .top::before {
    display: none;
  }
  .caseList .unit:last-child {
    padding-bottom: unset;
  }
  .caseList .unit .top {
    padding-top: calc(40 / 375 * 100vw);
    padding-inline: calc(var(--padding-sp) / 375 * 100vw);
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .top {
      padding-top: min(120px, calc(120 / 1440 * 100vw));
      padding-inline: min(76px, calc(76 / 1440 * 100vw));
      width: min(1260px, calc(1260 / 1440 * 100vw));
      margin-inline: auto;
    }
  }
  .caseList .unit .top::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: calc(var(--padding-sp) / 375 * 100vw);
    right: calc(var(--padding-sp) / 375 * 100vw);
    height: 1px;
    background-color: var(--color-gray-medium);
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .top::before {
      left: 0;
      right: 0;
    }
  }
  .caseList .unit .top .num {
    font-size: calc(var(--fs-xxxs) / 375 * 100vw);
    line-height: 160%;
    text-transform: uppercase;
    display: grid;
    align-items: center;
    grid-template-columns: auto 1fr;
    gap: calc(2 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .top .num {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      grid-template-columns: auto 1fr;
      gap: min(14px, calc(14 / 1440 * 100vw));
    }
  }
  .caseList .unit .top .num::before {
    content: "";
    display: block;
    width: calc(8 / 375 * 100vw);
    height: calc(8 / 375 * 100vw);
    border-radius: var(--border-radius-circle);
    background-color: var(--color-second);
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .top .num::before {
      width: min(13px, calc(13 / 1440 * 100vw));
      height: min(13px, calc(13 / 1440 * 100vw));
    }
  }
  .caseList .unit .top .lead {
    margin-top: calc(16 / 375 * 100vw);
    font-size: calc(var(--fs-l) / 375 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .top .lead {
      margin-top: min(20px, calc(20 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxl) * 1px), calc(var(--fs-xxl) / 1440 * 100vw));
      line-height: 150%;
      font-weight: var(--font-weight-bold);
    }
  }
  .caseList .unit .caseSlider {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .caseSlider {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  .caseList .unit .caseSlider .swiper-wrapper .swiper-slide {
    background-color: var(--color-bg);
    border-radius: calc(var(--border-radius-small) / 375 * 100vw);
    padding: calc(24 / 375 * 100vw) calc(52 / 375 * 100vw);
    width: calc(312 / 375 * 100vw);
    margin-inline: calc(8 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .caseSlider .swiper-wrapper .swiper-slide {
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      padding: min(40px, calc(40 / 1440 * 100vw)) min(84px, calc(84 / 1440 * 100vw));
      width: min(506px, calc(506 / 1440 * 100vw));
      margin-inline: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .caseList .unit .caseSlider .swiper-wrapper .swiper-slide img {
    box-shadow: 0 0 9.249px 1.233px rgba(0, 0, 0, 0.15);
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .caseSlider .swiper-wrapper .swiper-slide img {
      box-shadow: 0 0 15px 2px rgba(0, 0, 0, 0.15);
    }
  }
  .caseList .unit .bottom {
    margin-top: calc(80 / 375 * 100vw);
    padding-inline: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .bottom {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      padding-inline: min(76px, calc(76 / 1440 * 100vw));
      width: min(1260px, calc(1260 / 1440 * 100vw));
      margin-inline: auto;
    }
  }
  .caseList .unit .bottom .client {
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    line-height: 150%;
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .bottom .client {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .caseList .unit .bottom .tag {
    margin-top: calc(16 / 375 * 100vw);
    display: flex;
    gap: calc(4 / 375 * 100vw);
    flex-wrap: wrap;
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .bottom .tag {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      gap: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  .caseList .unit .bottom .tag li {
    border-radius: var(--border-radius-pill);
    border: 1px solid var(--color-black);
    padding: calc(5 / 375 * 100vw) calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .bottom .tag li {
      font-size: min(calc(var(--fs-xxxs) * 1px), calc(var(--fs-xxxs) / 1440 * 100vw));
      padding: min(5px, calc(5 / 1440 * 100vw)) min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .caseList .unit .bottom .info {
    margin-top: calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .bottom .info {
      margin-top: min(32px, calc(32 / 1440 * 100vw));
      display: grid;
      grid-template: "block-1 block-3" auto "block-2 block-4" auto/1fr min(678px, calc(678 / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw)) min(40px, calc(40 / 1440 * 100vw));
    }
  }
  .caseList .unit .bottom .info dl.block-1 {
    grid-area: block-1;
  }
  .caseList .unit .bottom .info dl.block-2 {
    grid-area: block-2;
  }
  .caseList .unit .bottom .info dl.block-3 {
    grid-area: block-3;
  }
  .caseList .unit .bottom .info dl.block-4 {
    grid-area: block-4;
  }
  @media print, screen and (min-width: 768px){
    .caseList .unit .bottom .info dl.block-1 {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .caseList .unit .bottom .info dl.block-2 {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
    }
    .caseList .unit .bottom .info dl.block-3 {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
    }
    .caseList .unit .bottom .info dl.block-4 {
      -ms-grid-row: 3;
      -ms-grid-column: 3;
    }
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .bottom .info dl {
      display: grid;
      grid-template-columns: min(75px, calc(75 / 1440 * 100vw)) 1fr;
      gap: 0 min(32px, calc(32 / 1440 * 100vw));
    }
  }
  .caseList .unit .bottom .info dl dt {
    margin-top: calc(16 / 375 * 100vw);
    font-size: calc(var(--fs-xs) / 375 * 100vw);
    line-height: 160%;
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .bottom .info dl dt {
      margin-top: unset;
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 200%;
    }
  }
  .caseList .unit .bottom .info dl dd {
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .caseList .unit .bottom .info dl dd {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 200%;
    }
  }
  .caseList .unit .bottom .info dl dd ul {
    list-style: disc;
    margin-left: 1.25em;
  }
  .solutionWrapper {
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionWrapper {
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
    }
  }
  .solutionWrapper.top {
    margin-top: calc(80 / 375 * 100vw);
    padding-block: calc(40 / 375 * 100vw) calc(120 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionWrapper.top {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      padding-block: min(120px, calc(120 / 1440 * 100vw)) min(180px, calc(180 / 1440 * 100vw));
    }
  }
  .solutionWrapper.bottom {
    margin-top: calc(96 / 375 * 100vw);
    padding-block: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionWrapper.bottom {
      margin-top: min(180px, calc(180 / 1440 * 100vw));
      padding-block: min(180px, calc(180 / 1440 * 100vw));
    }
  }
  #solutionSlide {
    margin-top: calc(40 / 375 * 100vw);
    overflow: hidden;
    display: flex;
    width: 100%;
  }
  @media print, screen and (min-width: 768px) {
    #solutionSlide {
      margin-top: min(80px, calc(80 / 1440 * 100vw));
    }
  }
  #solutionSlide img {
    width: auto;
    height: 100%;
    max-width: none;
    animation: infinity-scroll-left 70s infinite linear 0.5s both;
    height: calc(196 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #solutionSlide img {
      height: min(316px, calc(316 / 1440 * 100vw));
      animation-duration: 90s;
    }
  }
  @keyframes infinity-scroll-left {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-100%);
    }
  }
  .solutionStrength .inner .solutionStrengthTitle {
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    line-height: 160%;
    font-weight: var(--font-weight-bold);
    text-align: center;
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: center;
    gap: calc(12 / 375 * 100vw);
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionStrength .inner .solutionStrengthTitle {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .solutionStrength .inner .solutionStrengthTitle {
      font-size: min(calc(var(--fs-xxl) * 1px), calc(var(--fs-xxl) / 1440 * 100vw));
      gap: min(24px, calc(24 / 1440 * 100vw));
      justify-content: start;
      font-weight: var(--font-weight-medium);
    }
  }
  .solutionStrength .inner .solutionStrengthTitle::before {
    content: "";
    display: block;
    width: calc(8 / 375 * 100vw);
    height: calc(8 / 375 * 100vw);
    background-color: var(--color-second);
    border-radius: var(--border-radius-circle);
  }
  @media print, screen and (min-width: 768px) {
    .solutionStrength .inner .solutionStrengthTitle::before {
      width: min(13px, calc(13 / 1440 * 100vw));
      height: min(13px, calc(13 / 1440 * 100vw));
    }
  }
  #solutionStrengthList {
    margin-top: calc(32 / 375 * 100vw);
    background-color: var(--color-btblue-50);
    border-radius: calc(var(--border-radius-small) / 375 * 100vw) calc(var(--border-radius-small) / 375 * 100vw) 0 0;
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      background-color: transparent;
      border-radius: unset;
      padding-left: calc(var(--padding-sp) / 375 * 100vw);
      padding-right: calc(var(--padding-sp) / 375 * 100vw);
      position: relative;
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    #solutionStrengthList {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  #solutionStrengthList .unit {
    padding: calc(40 / 375 * 100vw) calc(24 / 375 * 100vw) calc(64 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList .unit {
      margin-top: min(80px, calc(80 / 1440 * 100vw));
      padding: min(51px, calc(51 / 1440 * 100vw));
      background-color: var(--color-btblue-50);
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      display: grid;
      grid-template: "top image" 1fr "bottom image" auto/1fr min(487px, calc(487 / 1440 * 100vw));
      gap: 0 min(80px, calc(80 / 1440 * 100vw));
      position: sticky;
      top: 0;
    }
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList .unit .image {
      grid-area: image;
    }
  }
  #solutionStrengthList .unit .top {
    margin-top: calc(24 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList .unit .top {
      margin-top: unset;
      grid-area: top;
    }
  }
  #solutionStrengthList .unit .top .num {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 160%;
    text-transform: uppercase;
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList .unit .top .num {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
    }
  }
  #solutionStrengthList .unit .top .title {
    margin-top: calc(24 / 375 * 100vw);
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList .unit .top .title {
      margin-top: min(42px, calc(42 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxl) * 1px), calc(var(--fs-xxl) / 1440 * 100vw));
    }
  }
  #solutionStrengthList .unit .top .lead {
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList .unit .top .lead {
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  #solutionStrengthList .unit .top .tags {
    margin-top: calc(24 / 375 * 100vw);
    display: flex;
    flex-wrap: wrap;
    gap: calc(4 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList .unit .top .tags {
      margin-top: min(32px, calc(32 / 1440 * 100vw));
      gap: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  #solutionStrengthList .unit .top .tags li {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 160%;
    border-radius: var(--border-radius-pill);
    border: 1px solid var(--color-black);
    padding: calc(2 / 375 * 100vw) calc(12 / 375 * 100vw);
    background-color: var(--color-surface);
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList .unit .top .tags li {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
      padding: min(5px, calc(5 / 1440 * 100vw)) min(12px, calc(12 / 1440 * 100vw));
    }
  }
  #solutionStrengthList .unit .bottom {
    margin-top: calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList .unit .bottom {
      margin-top: unset;
      grid-area: bottom;
    }
  }
  #solutionStrengthList .unit .bottom .outline {
    list-style: disc;
    margin-left: 1em;
  }
  #solutionStrengthList .unit .bottom .outline li {
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 200%;
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList .unit .bottom .outline li {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  #solutionStrengthList .unit .bottom .button {
    margin-top: calc(24 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList .unit .bottom .button {
      margin-top: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    #solutionStrengthList .unit .bottom .button .pButton {
      grid-template-columns: 1fr;
    }
    #solutionStrengthList .unit .bottom .button .pButton::after {
      content: none;
    }
  }
  .solutionHowto {
    margin-top: calc(120 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionHowto {
      margin-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .solutionHowto .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionHowto .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .solutionHowto .inner .pTitle .en {
      font-size: min(calc(var(--fs-xxxxl) * 1px), calc(var(--fs-xxxxl) / 1440 * 100vw));
    }
  }
  .solutionHowto .inner .lead {
    margin-top: calc(32 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .solutionHowto .inner .lead {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
      line-height: 185%;
    }
  }
  .solutionHowto .inner .image {
    display: block;
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionHowto .inner .image {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
    }
  }
  .stage.solution {
    margin-top: calc(120 / 375 * 100vw);
    padding-block: calc(80 / 375 * 100vw);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .stage.solution {
      margin-top: min(180px, calc(180 / 1440 * 100vw));
      padding-block: min(120px, calc(120 / 1440 * 100vw)) min(152px, calc(152 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
    }
  }
  .solutionSupport .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .solutionSupport .inner .solutionSupportTitle .ja {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: center;
    gap: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportTitle .ja {
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
      gap: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .solutionSupport .inner .solutionSupportTitle .ja::before {
    content: "";
    display: block;
    width: calc(8 / 375 * 100vw);
    height: calc(8 / 375 * 100vw);
    background-color: var(--color-second);
    border-radius: var(--border-radius-circle);
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportTitle .ja::before {
      width: min(13px, calc(13 / 1440 * 100vw));
      height: min(13px, calc(13 / 1440 * 100vw));
    }
  }
  .solutionSupport .inner .solutionSupportTitle .lead {
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
    padding-inline: calc(24 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportTitle .lead {
      padding-inline: unset;
      text-align: center;
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  .solutionSupport .inner .solutionSupportList {
    margin-top: calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      display: grid;
      grid-template: "unit1 unit2" auto "unit4 unit3" auto/1fr 1fr;
    }
  }
  .solutionSupport .inner .solutionSupportList .unit {
    padding: calc(40 / 375 * 100vw) calc(24 / 375 * 100vw);
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit {
      padding: min(40px, calc(40 / 1440 * 100vw));
      display: grid;
      grid-template-rows: 1fr auto;
      min-height: min(398px, calc(398 / 1440 * 100vw));
    }
  }
  .solutionSupport .inner .solutionSupportList .unit::before {
    content: "";
    display: block;
    position: absolute;
    height: calc(30 / 375 * 100vw);
    width: 100%;
    left: 0;
    top: 0;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit::before {
      height: min(100px, calc(100 / 1440 * 100vw));
      width: min(40px, calc(40 / 1440 * 100vw));
      clip-path: polygon(0 0, 100% 50%, 0 100%);
      left: 0;
      top: 50%;
      translate: 0 -50%;
    }
  }
  .solutionSupport .inner .solutionSupportList .unit:nth-child(1) {
    background-color: var(--color-btblue-50);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw) calc(var(--border-radius-large) / 375 * 100vw) 0 0;
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit:nth-child(1) {
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw)) 0 0 0;
      grid-area: unit1;
    }
  }
  .solutionSupport .inner .solutionSupportList .unit:nth-child(2) {
    background-color: var(--color-btblue-100);
  }
  .solutionSupport .inner .solutionSupportList .unit:nth-child(2)::before {
    background-color: var(--color-btblue-50);
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit:nth-child(2) {
      border-radius: 0 min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw)) 0 0;
      grid-area: unit2;
    }
  }
  .solutionSupport .inner .solutionSupportList .unit:nth-child(3) {
    background-color: var(--color-btblue-200);
  }
  .solutionSupport .inner .solutionSupportList .unit:nth-child(3)::before {
    background-color: var(--color-btblue-100);
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit:nth-child(3)::before {
      height: min(40px, calc(40 / 1440 * 100vw));
      width: min(100px, calc(100 / 1440 * 100vw));
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      left: 50%;
      top: 0;
      translate: -50% 0;
    }
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit:nth-child(3) {
      border-radius: 0 0 min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw)) 0;
      grid-area: unit3;
    }
  }
  .solutionSupport .inner .solutionSupportList .unit:nth-child(4) {
    background-color: var(--color-btblue-300);
    border-radius: 0 0 calc(var(--border-radius-large) / 375 * 100vw) calc(var(--border-radius-large) / 375 * 100vw);
  }
  .solutionSupport .inner .solutionSupportList .unit:nth-child(4)::before {
    background-color: var(--color-btblue-200);
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit:nth-child(4)::before {
      clip-path: polygon(0 50%, 100% 0, 100% 100%);
      right: 0;
      left: auto;
    }
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit:nth-child(4) {
      border-radius: 0 0 0 min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      grid-area: unit4;
    }
  }
  @media print, screen and (min-width: 768px){
    .solutionSupport .inner .solutionSupportList .unit:nth-child(1) {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .solutionSupport .inner .solutionSupportList .unit:nth-child(2) {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
    }
    .solutionSupport .inner .solutionSupportList .unit:nth-child(3) {
      -ms-grid-row: 2;
      -ms-grid-column: 2;
    }
    .solutionSupport .inner .solutionSupportList .unit:nth-child(4) {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit .top {
      display: flex;
      justify-content: space-between;
      align-items: start;
    }
  }
  .solutionSupport .inner .solutionSupportList .unit .top .num {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit .top .num {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  .solutionSupport .inner .solutionSupportList .unit .top .title {
    margin-top: calc(4 / 375 * 100vw);
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit .top .title {
      margin-top: unset;
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      line-height: 175%;
    }
  }
  .solutionSupport .inner .solutionSupportList .unit .bottom .outline {
    margin-top: calc(32 / 375 * 100vw);
    list-style: disc;
    margin-left: 1em;
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit .bottom .outline {
      margin-top: unset;
    }
  }
  .solutionSupport .inner .solutionSupportList .unit .bottom .outline li {
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 200%;
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit .bottom .outline li {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  .solutionSupport .inner .solutionSupportList .unit .bottom .result {
    margin-top: calc(24 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 150%;
    background-color: var(--color-surface);
    padding: calc(12 / 375 * 100vw) calc(16 / 375 * 100vw) calc(14 / 375 * 100vw);
    border-radius: calc(var(--border-radius-small) / 375 * 100vw);
    display: grid;
    grid-template-columns: auto auto;
    gap: calc(19 / 375 * 100vw);
    align-items: center;
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit .bottom .result {
      margin-top: min(32px, calc(32 / 1440 * 100vw));
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 185%;
      padding: min(8px, calc(8 / 1440 * 100vw)) min(20px, calc(20 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
      gap: min(23px, calc(23 / 1440 * 100vw));
    }
  }
  .solutionSupport .inner .solutionSupportList .unit .bottom .result::before {
    content: "";
    display: block;
    width: calc(36 / 375 * 100vw);
    height: calc(36 / 375 * 100vw);
    background-image: url(/images/solution/icon_support.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  @media print, screen and (min-width: 768px) {
    .solutionSupport .inner .solutionSupportList .unit .bottom .result::before {
      width: min(36px, calc(36 / 1440 * 100vw));
      height: min(36px, calc(36 / 1440 * 100vw));
    }
  }
  .solutionFeature {
    margin-top: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature {
      margin-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .solutionFeature .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .solutionFeature .inner .solutionFeatureTitle .ja {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: center;
    gap: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature .inner .solutionFeatureTitle .ja {
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
      gap: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .solutionFeature .inner .solutionFeatureTitle .ja::before {
    content: "";
    display: block;
    width: calc(8 / 375 * 100vw);
    height: calc(8 / 375 * 100vw);
    background-color: var(--color-second);
    border-radius: var(--border-radius-circle);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature .inner .solutionFeatureTitle .ja::before {
      width: min(13px, calc(13 / 1440 * 100vw));
      height: min(13px, calc(13 / 1440 * 100vw));
    }
  }
  .solutionFeature .inner .solutionFeatureList {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature .inner .solutionFeatureList {
      margin-top: min(76px, calc(76 / 1440 * 100vw));
    }
  }
  .solutionFeature .inner .solutionFeatureList .unit {
    margin-top: calc(24 / 375 * 100vw);
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
    padding: calc(32 / 375 * 100vw) calc(24 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature .inner .solutionFeatureList .unit {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
      padding: min(51px, calc(51 / 1440 * 100vw));
      display: grid;
      grid-template: "top image" 1fr "bottom image" auto/1fr min(487px, calc(487 / 1440 * 100vw));
      gap: 0 min(108px, calc(108 / 1440 * 100vw));
    }
  }
  .solutionFeature .inner .solutionFeatureList .unit:first-child {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature .inner .solutionFeatureList .unit .top {
      grid-area: top;
    }
  }
  .solutionFeature .inner .solutionFeatureList .unit .top .en {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 160%;
    text-transform: uppercase;
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature .inner .solutionFeatureList .unit .top .en {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
    }
  }
  .solutionFeature .inner .solutionFeatureList .unit .top .title {
    margin-top: calc(32 / 375 * 100vw);
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature .inner .solutionFeatureList .unit .top .title {
      margin-top: min(106px, calc(106 / 1440 * 100vw));
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      line-height: 160%;
    }
  }
  .solutionFeature .inner .solutionFeatureList .unit .bottom {
    margin-top: calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature .inner .solutionFeatureList .unit .bottom {
      margin-top: unset;
      grid-area: bottom;
    }
  }
  .solutionFeature .inner .solutionFeatureList .unit .bottom .lead {
    font-size: calc(var(--fs-l) / 375 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature .inner .solutionFeatureList .unit .bottom .lead {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .solutionFeature .inner .solutionFeatureList .unit .bottom .desc {
    margin-top: calc(16 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature .inner .solutionFeatureList .unit .bottom .desc {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 185%;
    }
  }
  .solutionFeature .inner .solutionFeatureList .unit .image {
    margin-top: calc(40 / 375 * 100vw);
    display: block;
  }
  @media print, screen and (min-width: 768px) {
    .solutionFeature .inner .solutionFeatureList .unit .image {
      margin-top: unset;
      grid-area: image;
    }
  }
  .solutionFAQ .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1260px, calc(1260 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ .inner {
      display: grid;
      grid-template-columns: min(323px, calc(323 / 1440 * 100vw)) 1fr;
    }
  }
  .solutionFAQ .inner .solutionFAQList {
    margin-top: calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ .inner .solutionFAQList {
      margin-top: unset;
    }
  }
  .solutionFAQ .inner .solutionFAQList .unit {
    padding-block: calc(32 / 375 * 100vw);
    border-top: 1px solid var(--color-border-light);
  }
  .solutionFAQ .inner .solutionFAQList .unit:last-child {
    border-bottom: 1px solid var(--color-border-light);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ .inner .solutionFAQList .unit {
      padding-block: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  .solutionFAQ .inner .solutionFAQList .unit.is-active .q::before {
    scale: 0 0;
  }
  .solutionFAQ .inner .solutionFAQList .unit.is-active .a {
    opacity: 1;
  }
  .solutionFAQ .inner .solutionFAQList .unit .q {
    display: grid;
    grid-template: "q arrow" auto/1fr calc(24 / 375 * 100vw);
    gap: calc(16 / 375 * 100vw);
    cursor: pointer;
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ .inner .solutionFAQList .unit .q {
      grid-template: "q arrow" auto/1fr min(24px, calc(24 / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .solutionFAQ .inner .solutionFAQList .unit .q::before, .solutionFAQ .inner .solutionFAQList .unit .q::after {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: arrow;
    content: "";
    display: block;
    background-color: var(--color-border-dark);
  }
  .solutionFAQ .inner .solutionFAQList .unit .q::before {
    width: calc(1 / 375 * 100vw);
    height: calc(13 / 375 * 100vw);
    margin-top: calc(7 / 375 * 100vw);
    margin-left: calc(6 / 375 * 100vw);
    transition: scale var(--transition-speed-fast) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ .inner .solutionFAQList .unit .q::before {
      width: min(1px, calc(1 / 1440 * 100vw));
      height: min(13px, calc(13 / 1440 * 100vw));
      margin-top: min(9px, calc(9 / 1440 * 100vw));
      margin-left: min(6px, calc(6 / 1440 * 100vw));
    }
  }
  .solutionFAQ .inner .solutionFAQList .unit .q::after {
    height: calc(1 / 375 * 100vw);
    width: calc(13 / 375 * 100vw);
    margin-top: calc(13 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ .inner .solutionFAQList .unit .q::after {
      height: min(1px, calc(1 / 1440 * 100vw));
      width: min(13px, calc(13 / 1440 * 100vw));
      margin-top: min(15px, calc(15 / 1440 * 100vw));
    }
  }
  .solutionFAQ .inner .solutionFAQList .unit .q h3 {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    font-size: calc(var(--fs-l) / 375 * 100vw);
    line-height: 160%;
    grid-area: q;
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ .inner .solutionFAQList .unit .q h3 {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      line-height: 175%;
    }
  }
  .solutionFAQ .inner .solutionFAQList .unit .a {
    max-height: 0;
    overflow: hidden;
    will-change: max-height;
    transition: all var(--transition-speed-fast) var(--bezier);
    opacity: 0;
  }
  .solutionFAQ .inner .solutionFAQList .unit .a .text {
    padding-top: calc(20 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ .inner .solutionFAQList .unit .a .text {
      padding-top: min(20px, calc(20 / 1440 * 100vw));
      padding-right: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  .solutionFAQ .inner .solutionFAQList .unit .a .text p, .solutionFAQ .inner .solutionFAQList .unit .a .text ul {
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
    margin-bottom: 1.25em;
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ .inner .solutionFAQList .unit .a .text p, .solutionFAQ .inner .solutionFAQList .unit .a .text ul {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 185%;
    }
  }
  .solutionFAQ .inner .solutionFAQList .unit .a .text p:last-child, .solutionFAQ .inner .solutionFAQList .unit .a .text ul:last-child {
    margin-bottom: unset;
  }
  .solutionFAQ .inner .solutionFAQList .unit .a .text ul {
    list-style: disc;
    margin-left: 1em;
  }
  .solutionFAQ .inner .solutionFAQList .unit .a .text a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .solutionFAQ .inner .solutionFAQList .unit .a .text a:hover {
      text-decoration: none;
    }
  }
  .stage.contact {
    margin-top: calc(80 / 375 * 100vw);
    padding-block: calc(80 / 375 * 100vw) calc(64 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .stage.contact {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      padding-block: min(120px, calc(120 / 1440 * 100vw)) min(64px, calc(64 / 1440 * 100vw));
    }
  }
  .contactIntro .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .contactIntro .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .contactIntro .inner .ja {
    text-align: center;
    margin-top: calc(4 / 375 * 100vw);
    font-size: calc(var(--fs-m) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .contactIntro .inner .ja {
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
    }
  }
  .contactIntro .inner .lead {
    text-align: center;
    margin-top: calc(24 / 375 * 100vw);
    font-size: calc(var(--fs-xs) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .contactIntro .inner .lead {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  .contactIntro .inner .indicator {
    margin-top: calc(40 / 375 * 100vw);
    display: grid;
    grid-template-columns: 1fr 1fr;
    font-size: calc(var(--fs-l) / 375 * 100vw);
    line-height: 150%;
    font-weight: var(--font-weight-bold);
    color: var(--color-btblue-700);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .contactIntro .inner .indicator {
      width: min(614px, calc(614 / 1440 * 100vw));
      margin-inline: auto;
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .contactIntro .inner .indicator li {
    padding: calc(12 / 375 * 100vw) calc(24 / 375 * 100vw);
    background-color: var(--color-btblue-50);
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .contactIntro .inner .indicator li {
      padding: min(16px, calc(16 / 1440 * 100vw)) min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .contactIntro .inner .indicator li::before {
    position: absolute;
    content: "";
    display: block;
    left: 0;
    top: 0;
    bottom: 0;
    width: calc(12 / 375 * 100vw);
    height: 100%;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    background-color: var(--color-btblue-50);
  }
  @media print, screen and (min-width: 768px) {
    .contactIntro .inner .indicator li::before {
      width: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .contactIntro .inner .indicator li:first-child {
    border-radius: calc(var(--border-radius-small) / 375 * 100vw) 0 0 calc(var(--border-radius-small) / 375 * 100vw);
  }
  .contactIntro .inner .indicator li:first-child::before {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    .contactIntro .inner .indicator li:first-child {
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw)) 0 0 min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
    }
  }
  .contactIntro .inner .indicator li:last-child {
    border-radius: 0 calc(var(--border-radius-small) / 375 * 100vw) calc(var(--border-radius-small) / 375 * 100vw) 0;
    background-color: var(--color-btblue-200);
  }
  @media print, screen and (min-width: 768px) {
    .contactIntro .inner .indicator li:last-child {
      border-radius: 0 min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw)) min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw)) 0;
    }
  }
  .contactIntro .inner .frame {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .contactIntro .inner .frame {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      width: min(828px, calc(828 / 1440 * 100vw));
      margin-inline: auto;
    }
  }
  .stage.toppage {
    padding-block: calc(120 / 375 * 100vw) calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .stage.toppage {
      padding-block: min(180px, calc(180 / 1440 * 100vw)) min(120px, calc(120 / 1440 * 100vw));
      margin-top: max(-196px, calc(-196 / 1440 * 100vw));
      background: linear-gradient(172deg, rgba(255, 255, 255, 0.3) 23.52%, rgba(255, 255, 255, 0.9) 95.64%);
      box-shadow: 0 4px 40px 0 rgba(0, 0, 0, 0.12);
      filter: unset;
    }
  }
  .topWrapper {
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topWrapper {
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
    }
  }
  .topWrapper.top {
    padding-block: calc(64 / 375 * 100vw) calc(110 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topWrapper.top {
      padding-block: min(100px, calc(100 / 1440 * 100vw)) min(100px, calc(100 / 1440 * 100vw));
    }
  }
  .topWrapper.bottom {
    margin-top: calc(120 / 375 * 100vw);
    padding-block: calc(64 / 375 * 100vw) calc(47 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topWrapper.bottom {
      margin-top: min(180px, calc(180 / 1440 * 100vw));
      padding-block: min(120px, calc(120 / 1440 * 100vw)) min(210px, calc(210 / 1440 * 100vw));
    }
  }
  .topMV {
    margin-top: calc(38 / 375 * 100vw);
    padding-bottom: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topMV {
      margin-top: unset;
      padding-bottom: unset;
      position: relative;
      z-index: 2;
    }
  }
  .topMV .inner {
    padding-inline: calc(24 / 375 * 100vw);
    overflow: hidden;
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner {
      display: grid;
      grid-template: ". text image image" auto ". button image image" 1fr/1fr min(585px, calc(585 / 1440 * 100vw)) min(675px, calc(675 / 1440 * 100vw)) 1fr;
      padding-inline: unset;
    }
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .text {
      padding-top: min(98px, calc(98 / 1440 * 100vw));
      grid-area: text;
    }
  }
  .topMV .inner .text .title {
    font-size: calc(var(--fs-xxxxl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .text .title {
      font-size: min(calc(var(--fs-xxxxl) * 1px), calc(var(--fs-xxxxl) / 1440 * 100vw));
      line-height: 150%;
    }
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .text .title p.sp {
      display: none;
    }
  }
  .topMV .inner .text .title p.pc {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .text .title p.pc {
      display: block;
    }
  }
  .topMV .inner .text .title .line {
    overflow: hidden;
  }
  .topMV .inner .text .lead {
    margin-top: calc(16 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 170%;
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .text .lead {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      line-height: 200%;
    }
  }
  .topMV .inner .image {
    margin-top: calc(14 / 375 * 100vw);
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .image {
      margin-top: unset;
      grid-area: image;
    }
  }
  .topMV .inner .image .phones {
    position: relative;
    z-index: 2;
  }
  .topMV .inner .image .phones .phone-01 {
    width: calc(213 / 375 * 100vw);
    margin-left: auto;
    margin-right: calc(6 / 375 * 100vw);
    display: block;
    position: relative;
    z-index: 3;
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .image .phones .phone-01 {
      width: min(390px, calc(390 / 1440 * 100vw));
      margin-left: min(203px, calc(203 / 1440 * 100vw));
      margin-right: unset;
    }
  }
  .topMV .inner .image .phones .phone-02 {
    width: calc(197 / 375 * 100vw);
    margin-top: calc(-197 / 375 * 100vw);
    margin-left: calc(26 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .image .phones .phone-02 {
      width: min(360px, calc(360 / 1440 * 100vw));
      margin-top: max(-204px, calc(-204 / 1440 * 100vw));
      margin-left: min(17px, calc(17 / 1440 * 100vw));
    }
  }
  .topMV .inner .image .path {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .topMV .inner .image .path svg {
    width: calc(250 / 375 * 100vw);
    position: absolute;
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .image .path svg {
      width: min(511px, calc(511 / 1440 * 100vw));
    }
  }
  .topMV .inner .image .path svg:nth-child(1) {
    top: calc(112 / 375 * 100vw);
    left: calc(-12 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .image .path svg:nth-child(1) {
      top: min(24px, calc(24 / 1440 * 100vw));
      left: min(80px, calc(80 / 1440 * 100vw));
    }
  }
  .topMV .inner .image .path svg:nth-child(2) {
    top: calc(24 / 375 * 100vw);
    left: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .image .path svg:nth-child(2) {
      top: min(262px, calc(262 / 1440 * 100vw));
      left: max(-13px, calc(-13 / 1440 * 100vw));
    }
  }
  .topMV .inner .image .path svg:nth-child(3) {
    top: calc(70 / 375 * 100vw);
    left: calc(244 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .image .path svg:nth-child(3) {
      top: min(204px, calc(204 / 1440 * 100vw));
      left: min(518px, calc(518 / 1440 * 100vw));
    }
  }
  .topMV .inner .buttons {
    margin-top: calc(35 / 375 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .buttons {
      margin-top: min(80px, calc(80 / 1440 * 100vw));
      grid-area: button;
      justify-self: start;
    }
  }
  .topMV .inner .buttons .title {
    font-size: calc(var(--fs-s) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 175%;
    display: grid;
    grid-template-columns: auto auto auto;
    justify-content: center;
    align-items: center;
    gap: calc(12 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .buttons .title {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .topMV .inner .buttons .title::before, .topMV .inner .buttons .title::after {
    content: "";
    display: block;
    width: calc(20 / 375 * 100vw);
    height: calc(2 / 375 * 100vw);
    background-color: var(--color-brand);
    rotate: z -120deg;
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .buttons .title::before, .topMV .inner .buttons .title::after {
      width: min(20px, calc(20 / 1440 * 100vw));
      height: min(2px, calc(2 / 1440 * 100vw));
    }
  }
  .topMV .inner .buttons .title::after {
    rotate: z 120deg;
  }
  .topMV .inner .buttons .button {
    margin-top: calc(6 / 375 * 100vw);
    display: grid;
    grid-template-columns: auto auto;
    gap: calc(8 / 375 * 100vw);
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius-pill);
    background: var(--color-brand);
    padding: calc(14 / 375 * 100vw) calc(24 / 375 * 100vw) calc(14 / 375 * 100vw) calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .buttons .button {
      margin-top: min(12px, calc(12 / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
      padding: min(24px, calc(24 / 1440 * 100vw)) min(40px, calc(40 / 1440 * 100vw)) min(24px, calc(24 / 1440 * 100vw)) min(50px, calc(50 / 1440 * 100vw));
      width: -moz-fit-content;
      width: fit-content;
    }
  }
  @media (any-hover: hover) {
    .topMV .inner .buttons .button:hover::before {
      translate: 0 0;
    }
  }
  .topMV .inner .buttons .button::after {
    content: "";
    position: relative;
    z-index: 1;
    display: block;
    width: calc(36 / 375 * 100vw);
    height: calc(36 / 375 * 100vw);
    background-image: url(/images/arrow_contact.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .buttons .button::after {
      width: min(36px, calc(36 / 1440 * 100vw));
      height: min(36px, calc(36 / 1440 * 100vw));
    }
  }
  .topMV .inner .buttons .button::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background-color: var(--color-second);
    border-radius: var(--border-radius-pill);
    z-index: 0;
    translate: -120% 0;
    transition: translate var(--transition-speed-slow) var(--bezier);
  }
  .topMV .inner .buttons .button span {
    position: relative;
    z-index: 1;
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 160%;
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .buttons .button span {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      line-height: 160%;
    }
  }
  .topMV .inner .buttons .partner {
    margin-top: calc(12 / 375 * 100vw);
    display: flex;
    justify-content: flex-end;
    gap: calc(12 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .buttons .partner {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .topMV .inner .buttons .partner dt {
    font-size: calc(var(--fs-xxxs) / 375 * 100vw);
    text-transform: uppercase;
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .buttons .partner dt {
      font-size: min(calc(var(--fs-xxxs) * 1px), calc(var(--fs-xxxs) / 1440 * 100vw));
    }
  }
  .topMV .inner .buttons .partner dd img {
    width: calc(92 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .buttons .partner dd img {
      width: min(92px, calc(92 / 1440 * 100vw));
    }
  }
  .topMV .inner .badge {
    position: absolute;
    z-index: 2;
    top: calc(102 / 375 * 100vw);
    right: calc(16 / 375 * 100vw);
    aspect-ratio: 1/1;
    border-radius: var(--border-radius-pill);
    background: linear-gradient(135deg, var(--color-brand-Secondary, #F4FF1D) 63.54%, rgba(255, 255, 255, 0) 81.57%), var(--color-white-white, #FFF);
    display: flex;
    flex-direction: column;
    gap: calc(8 / 375 * 100vw);
    justify-content: center;
    padding: calc(15 / 375 * 100vw);
    min-width: calc(110 / 375 * 100vw);
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.15);
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .badge {
      top: auto;
      bottom: min(342px, calc(342 / 1440 * 100vw));
      left: calc(50% + min(516px, calc(516 / 1440 * 100vw)));
      right: auto;
      min-width: min(180px, calc(180 / 1440 * 100vw));
      padding: min(22px, calc(22 / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .topMV .inner .badge .desc {
    font-size: calc(var(--fs-xxxs) / 375 * 100vw);
    line-height: 160%;
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .badge .desc {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    }
  }
  .topMV .inner .badge .makeshop {
    text-align: center;
  }
  .topMV .inner .badge .makeshop img {
    width: calc(54 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topMV .inner .badge .makeshop img {
      width: min(89px, calc(89 / 1440 * 100vw));
    }
  }
  .topAbout .inner .title {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .title {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .topAbout .inner .title .en {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    display: flex;
    align-items: center;
    gap: calc(4 / 375 * 100vw);
  }
  .topAbout .inner .title .en::before {
    content: "";
    display: block;
    width: calc(8 / 375 * 100vw);
    height: calc(8 / 375 * 100vw);
    background-color: var(--color-second);
    border-radius: var(--border-radius-circle);
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .title .en {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
    .topAbout .inner .title .en::before {
      width: min(15px, calc(15 / 1440 * 100vw));
      height: min(15px, calc(15 / 1440 * 100vw));
    }
  }
  .topAbout .inner .title .heading {
    margin-top: calc(40 / 375 * 100vw);
    font-size: calc(var(--fs-xxl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .title .heading {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxxxl) * 1px), calc(var(--fs-xxxxl) / 1440 * 100vw));
      line-height: 150%;
    }
  }
  .topAbout .inner .title .lead {
    margin-top: calc(24 / 375 * 100vw);
    font-size: calc(var(--fs-l) / 375 * 100vw);
    line-height: 200%;
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .title .lead {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
      line-height: 240%;
    }
  }
  .topAbout .inner .image {
    margin-top: calc(80 / 375 * 100vw);
    overflow: hidden;
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .image {
      margin-top: max(-40px, calc(-40 / 1440 * 100vw));
      text-align: center;
      overflow: visible;
    }
  }
  .topAbout .inner .image .cart {
    margin-top: calc(44 / 375 * 100vw);
    width: calc(374 / 375 * 100vw);
    translate: calc(-78 / 375 * 100vw) 0;
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .image .cart {
      margin-top: min(100px, calc(100 / 1440 * 100vw));
      width: min(657px, calc(657 / 1440 * 100vw));
      translate: 0 max(-10px, calc(-10 / 1440 * 100vw));
    }
  }
  .topAbout .inner .image .spring {
    position: absolute;
    z-index: 1;
    top: 0;
    right: calc(32 / 375 * 100vw);
    width: calc(140 / 375 * 100vw);
    animation: rotate 30s linear infinite;
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .image .spring {
      width: min(300px, calc(300 / 1440 * 100vw));
      right: min(156px, calc(156 / 1440 * 100vw));
    }
  }
  @keyframes rotate {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
  .topAbout .inner .badges {
    margin-top: calc(130 / 375 * 100vw);
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .badges {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .badges {
      margin-top: min(180px, calc(180 / 1440 * 100vw));
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  .topAbout .inner .badges .unit {
    margin-top: calc(32 / 375 * 100vw);
    display: grid;
    grid-template-columns: calc(108 / 375 * 100vw) 1fr;
    gap: calc(32 / 375 * 100vw);
    align-items: center;
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .badges .unit {
      margin-top: unset;
      display: block;
      text-align: center;
    }
  }
  .topAbout .inner .badges .unit:first-child {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .badges .unit .badge img {
      width: min(280px, calc(280 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .badges .unit .text {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  .topAbout .inner .badges .unit .text .heading {
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 130%;
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .badges .unit .text .heading {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      line-height: 160%;
    }
  }
  .topAbout .inner .badges .unit .text .desc {
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 140%;
  }
  @media print, screen and (min-width: 768px) {
    .topAbout .inner .badges .unit .text .desc {
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 175%;
    }
  }
  .topFeatures {
    margin-top: calc(120 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topFeatures {
      margin-top: min(120px, calc(120 / 1440 * 100vw));
      padding-left: calc(var(--padding-sp) / 375 * 100vw);
      padding-right: calc(var(--padding-sp) / 375 * 100vw);
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    .topFeatures {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .topFeatures .inner {
    padding-inline: calc(48 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topFeatures .inner {
      padding-inline: unset;
      background-color: var(--color-surface);
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      padding-block: min(120px, calc(120 / 1440 * 100vw));
      padding-inline: min(108px, calc(108 / 1440 * 100vw));
    }
  }
  .topFeatures .inner .title .en {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(4 / 375 * 100vw);
  }
  .topFeatures .inner .title .en::before {
    content: "";
    display: block;
    width: calc(8 / 375 * 100vw);
    height: calc(8 / 375 * 100vw);
    background-color: var(--color-second);
    border-radius: var(--border-radius-circle);
  }
  @media print, screen and (min-width: 768px) {
    .topFeatures .inner .title .en {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
    .topFeatures .inner .title .en::before {
      width: min(13px, calc(13 / 1440 * 100vw));
      height: min(13px, calc(13 / 1440 * 100vw));
    }
  }
  .topFeatures .inner .title .ja {
    text-align: center;
    margin-top: calc(24 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .topFeatures .inner .title .ja {
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxl) * 1px), calc(var(--fs-xxl) / 1440 * 100vw));
      line-height: 160%;
      font-weight: var(--font-weight-bold);
      letter-spacing: 0.05em;
    }
  }
  .topFeatures .inner .migration {
    margin-top: calc(64 / 375 * 100vw);
    display: block;
  }
  @media print, screen and (min-width: 768px) {
    .topFeatures .inner .migration {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
    }
  }
  .topFeatures .inner .heading {
    margin-top: calc(24 / 375 * 100vw);
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .topFeatures .inner .heading {
      margin-top: min(32px, calc(32 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      line-height: 160%;
      font-weight: var(--font-weight-bold);
    }
  }
  .topFeatures .inner .lead {
    margin-top: calc(16 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .topFeatures .inner .lead {
      margin-top: min(12px, calc(12 / 1440 * 100vw));
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 185%;
    }
  }
  @media print, screen and (min-width: 768px) {
    .topFeatures .inner .row {
      margin-top: min(80px, calc(80 / 1440 * 100vw));
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  .topFeatures .inner .row .unit {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topFeatures .inner .row .unit {
      margin-top: unset;
    }
  }
  .topSolution .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topSolution .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1260px, calc(1260 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .topSolution .inner {
      display: grid;
      grid-template: "title list" min(292px, calc(292 / 1440 * 100vw)) "button list" auto/min(378px, calc(378 / 1440 * 100vw)) 1fr;
      gap: 0 min(54px, calc(54 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .topSolution .inner .pTitle {
      grid-area: title;
    }
  }
  @media print, screen and (min-width: 768px) {
    .topSolution .inner .pTitle .en {
      font-size: min(calc(var(--fs-xxxxl) * 1px), calc(var(--fs-xxxxl) / 1440 * 100vw));
    }
  }
  .topSolution .inner .pTitle .lead {
    margin-top: calc(32 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .topSolution .inner .pTitle .lead {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .topSolution .inner .list {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topSolution .inner .list {
      grid-area: list;
      margin-top: unset;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  .topSolution .inner .list .unit {
    margin-top: calc(16 / 375 * 100vw);
    background-color: var(--color-btblue-100);
    border-radius: calc(var(--border-radius-medium) / 375 * 100vw);
    padding: calc(24 / 375 * 100vw);
    height: calc(318 / 375 * 100vw);
    display: grid;
    grid-template-rows: 1fr auto auto;
  }
  @media print, screen and (min-width: 768px) {
    .topSolution .inner .list .unit {
      margin-top: unset;
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      padding: min(24px, calc(24 / 1440 * 100vw));
      height: min(348px, calc(348 / 1440 * 100vw));
    }
  }
  .topSolution .inner .list .unit:first-child {
    margin-top: unset;
  }
  .topSolution .inner .list .unit .image {
    text-align: right;
  }
  .topSolution .inner .list .unit .image img {
    width: calc(120 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topSolution .inner .list .unit .image img {
      width: min(140px, calc(140 / 1440 * 100vw));
    }
  }
  .topSolution .inner .list .unit .heading {
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .topSolution .inner .list .unit .heading {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      line-height: 160%;
    }
  }
  .topSolution .inner .list .unit .lead {
    margin-top: calc(4 / 375 * 100vw);
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .topSolution .inner .list .unit .lead {
      margin-top: min(4px, calc(4 / 1440 * 100vw));
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 185%;
    }
  }
  .topSolution .inner .button {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topSolution .inner .button {
      grid-area: button;
      margin-top: unset;
    }
  }
  .solutionFAQ.toppage {
    margin-top: calc(120 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ.toppage {
      margin-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ.toppage .inner {
      display: grid;
      grid-template: "title list" min(292px, calc(292 / 1440 * 100vw)) "button list" auto/min(378px, calc(378 / 1440 * 100vw)) 1fr;
      gap: 0 min(54px, calc(54 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ.toppage .inner .pTitle {
      grid-area: title;
    }
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ.toppage .inner .pTitle .en {
      font-size: min(calc(var(--fs-xxxxl) * 1px), calc(var(--fs-xxxxl) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ.toppage .inner .solutionFAQList {
      grid-area: list;
    }
  }
  .solutionFAQ.toppage .inner .button {
    margin-top: calc(64 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .solutionFAQ.toppage .inner .button {
      grid-area: button;
      margin-top: unset;
    }
  }
  @media print, screen and (min-width: 768px) {
    .topCase .inner {
      display: grid;
      grid-template: ". title button ." auto "list list list list" auto/1fr min(630px, calc(630 / 1440 * 100vw)) min(630px, calc(630 / 1440 * 100vw)) 1fr;
      gap: min(82px, calc(82 / 1440 * 100vw)) 0;
      overflow: hidden;
    }
  }
  .topCase .inner .pTitle {
    padding-inline: calc(24 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topCase .inner .pTitle {
      grid-area: title;
      padding-inline: unset;
    }
  }
  .topCase .inner .topCaseSlider {
    margin-top: calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topCase .inner .topCaseSlider {
      grid-area: list;
      margin-top: unset;
      width: min(1292px, calc(1292 / 1440 * 100vw));
      margin-inline: auto;
      overflow: visible;
    }
  }
  .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide {
    width: calc(300 / 375 * 100vw);
    margin-inline: calc(12 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide {
      width: min(399px, calc(399 / 1440 * 100vw));
      margin-inline: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a {
    display: block;
  }
  .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .image {
    border-radius: calc(var(--border-radius-medium) / 375 * 100vw);
    background-color: var(--color-bg);
    padding-block: calc(22 / 375 * 100vw);
    padding-inline: calc(24 / 375 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .image {
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
      padding-block: min(28px, calc(28 / 1440 * 100vw));
      padding-inline: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .image img {
    width: calc(200 / 375 * 100vw);
    box-shadow: 0 0 8.893px 1.186px rgba(0, 0, 0, 0.15);
  }
  @media print, screen and (min-width: 768px) {
    .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .image img {
      width: min(266px, calc(266 / 1440 * 100vw));
      box-shadow: 0 0 11.828px 1.577px rgba(0, 0, 0, 0.15);
    }
  }
  .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .tags {
    margin-top: calc(24 / 375 * 100vw);
    display: flex;
    gap: calc(4 / 375 * 100vw);
    flex-wrap: wrap;
  }
  @media print, screen and (min-width: 768px) {
    .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .tags {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      gap: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .tags li {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 175%;
    padding: calc(2 / 375 * 100vw) calc(12 / 375 * 100vw);
    background-color: var(--color-surface);
    border: 1px solid var(--color-black);
    border-radius: var(--border-radius-pill);
  }
  @media print, screen and (min-width: 768px) {
    .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .tags li {
      font-size: min(calc(var(--fs-xxxs) * 1px), calc(var(--fs-xxxs) / 1440 * 100vw));
      padding: min(2px, calc(2 / 1440 * 100vw)) min(8px, calc(8 / 1440 * 100vw));
    }
  }
  .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .text {
    margin-top: calc(16 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .text {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .text .heading {
    font-size: calc(var(--fs-m) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .text .heading {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      line-height: 160%;
    }
  }
  .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .text .lead {
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .topCase .inner .topCaseSlider .swiper-wrapper .swiper-slide a .text .lead {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  .topCase .inner .button {
    margin-top: calc(64 / 375 * 100vw);
    padding-inline: calc(24 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .topCase .inner .button {
      margin-top: unset;
      grid-area: button;
      padding-left: unset;
      justify-self: end;
      align-self: center;
    }
  }
  /**
   * Swiper 11.1.15
   * Most modern mobile touch slider and framework with hardware accelerated transitions
   * https://swiperjs.com
   *
   * Copyright 2014-2024 Vladimir Kharlampidi
   *
   * Released under the MIT License
   *
   * Released on: November 18, 2024
   */
  @font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, 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");
    font-weight: 400;
    font-style: normal;
  }
  :root {
    --swiper-theme-color:#007aff;
  }
  :host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
  }
  .swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block;
  }
  .swiper-vertical > .swiper-wrapper {
    flex-direction: column;
  }
  .swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
  }
  .swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
    transform: translate3d(0px, 0, 0);
  }
  .swiper-horizontal {
    touch-action: pan-y;
  }
  .swiper-vertical {
    touch-action: pan-x;
  }
  .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
  }
  .swiper-slide-invisible-blank {
    visibility: hidden;
  }
  .swiper-autoheight, .swiper-autoheight .swiper-slide {
    height: auto;
  }
  .swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
  }
  .swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden;
  }
  .swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
  }
  .swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
  }
  .swiper-3d {
    perspective: 1200px;
  }
  .swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
    transform-style: preserve-3d;
  }
  .swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
  }
  .swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  .swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory;
  }
  .swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory;
  }
  .swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none;
  }
  .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none;
  }
  .swiper-css-mode.swiper-centered > .swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999;
  }
  .swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
  }
  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before);
  }
  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
  }
  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before);
  }
  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
  }
  .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
  }
  .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
  .swiper-lazy-preloader-white {
    --swiper-preloader-color:#fff;
  }
  .swiper-lazy-preloader-black {
    --swiper-preloader-color:#000;
  }
  @keyframes swiper-preloader-spin {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  .swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
  }
  .swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
  }
  .swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size);
  }
  .swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size);
  }
  :root {
    --swiper-navigation-size:44px;
  }
  .swiper-button-next, .swiper-button-prev {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
  }
  .swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
    display: none !important;
  }
  .swiper-button-next svg, .swiper-button-prev svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    transform-origin: center;
  }
  .swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg);
  }
  .swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto;
  }
  .swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
  }
  .swiper-button-lock {
    display: none;
  }
  .swiper-button-next:after, .swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
  }
  .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    content: "prev";
  }
  .swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
  }
  .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
    content: "next";
  }
  .swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 0.3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
  }
  .swiper-pagination.swiper-pagination-hidden {
    opacity: 0;
  }
  .swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
    display: none !important;
  }
  .swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%;
  }
  .swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0;
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1);
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
  .swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  }
  button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
  }
  .swiper-pagination-bullet:only-child {
    display: none !important;
  }
  .swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
  }
  .swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0px, -50%, 0);
  }
  .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
  }
  .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
  }
  .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: 0.2s transform, 0.2s top;
  }
  .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
  }
  .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 0.2s transform, 0.2s left;
  }
  .swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 0.2s transform, 0.2s right;
  }
  .swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit);
  }
  .swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
    position: absolute;
  }
  .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }
  .swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  .swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
  }
  .swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
  }
  .swiper-pagination-lock {
    display: none;
  }
  .swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
  }
  .swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important;
  }
  .swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }
  .swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }
  .swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    left: 0;
    top: 0;
  }
  .swiper-scrollbar-cursor-drag {
    cursor: move;
  }
  .swiper-scrollbar-lock {
    display: none;
  }
  .swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  .swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
  }
  .swiper-slide-zoomed {
    cursor: move;
    touch-action: none;
  }
  .swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000;
  }
  .swiper-free-mode > .swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto;
  }
  .swiper-grid > .swiper-wrapper {
    flex-wrap: wrap;
  }
  .swiper-grid-column > .swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column;
  }
  .swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out;
  }
  .swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
  }
  .swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  .swiper-fade .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper.swiper-cube {
    overflow: visible;
  }
  .swiper-cube .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%;
  }
  .swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  .swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0;
  }
  .swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible;
  }
  .swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    z-index: 0;
  }
  .swiper-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px);
  }
  .swiper-cube .swiper-slide-next + .swiper-slide {
    pointer-events: auto;
    visibility: visible;
  }
  .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
    z-index: 0;
    backface-visibility: hidden;
  }
  .swiper.swiper-flip {
    overflow: visible;
  }
  .swiper-flip .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
  }
  .swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  .swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    z-index: 0;
    backface-visibility: hidden;
  }
  .swiper-creative .swiper-slide {
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height;
  }
  .swiper.swiper-cards {
    overflow: visible;
  }
  .swiper-cards .swiper-slide {
    transform-origin: center bottom;
    backface-visibility: hidden;
    overflow: hidden;
  }
}
@layer lp {
  body.lp {
    background-image: none;
    background-color: var(--color-btblue-50);
  }
  body.lp header .inner {
    padding-right: calc(54 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    body.lp header .inner {
      padding-right: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  body.lp header .inner #contactButton {
    margin-left: auto;
  }
  body.lp header .inner #contactButton a {
    background-color: var(--color-second);
    transition: background-color var(--transition-speed-fast) var(--bezier);
  }
  @media (any-hover: hover) {
    body.lp header .inner #contactButton a:hover {
      background-color: var(--color-brand);
      background-color: var(--color-brand);
    }
  }
  @media print, screen and (min-width: 768px) {
    body.lp header .inner #contactButton a {
      background-color: var(--color-surface);
      transition: background-color var(--transition-speed-fast) var(--bezier);
    }
  }
  @media print and (any-hover: hover), screen and (min-width: 768px) and (any-hover: hover) {
    body.lp header .inner #contactButton a:hover {
      background-color: var(--color-second);
      background-color: var(--color-second);
    }
  }
  body.lp main {
    padding-top: unset;
  }
  body.lp footer {
    background-color: transparent;
    padding-block: calc(80 / 375 * 100vw) calc(32 / 375 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    body.lp footer {
      padding-block: min(120px, calc(120 / 1440 * 100vw)) min(32px, calc(32 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    body.lp footer .inner {
      display: block;
    }
  }
  body.lp footer .inner .copy {
    font-size: calc(var(--fs-m) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
    color: var(--color-text);
  }
  @media print, screen and (min-width: 768px) {
    body.lp footer .inner .copy {
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  body.lp footer .inner .logo {
    margin-top: calc(18 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    body.lp footer .inner .logo {
      margin-top: min(18px, calc(18 / 1440 * 100vw));
    }
  }
  body.lp footer .inner .logo .image {
    display: block;
    width: calc(260 / 375 * 100vw);
    margin-inline: auto;
    background-color: var(--color-text);
    transition: opacity 0.3s var(--bezier);
  }
  body.lp footer .inner .logo .image:hover {
    opacity: 0.7;
  }
  @media print, screen and (min-width: 768px) {
    body.lp footer .inner .logo .image {
      width: min(300px, calc(300 / 1440 * 100vw));
    }
  }
  body.lp footer .inner .copyright {
    margin-top: calc(80 / 375 * 100vw);
    color: var(--color-text);
  }
  @media print, screen and (min-width: 768px) {
    body.lp footer .inner .copyright {
      margin-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  body.lp footer .inner .copyright p {
    font-weight: var(--font-weight-regular);
  }
  body.lp .icons {
    position: absolute;
    filter: drop-shadow(0 10px 20px rgba(86, 214, 242, 0.8));
  }
  .LPmainVisual {
    background-color: var(--color-btblue-100);
    padding-block: calc(171 / 375 * 100vw) calc(97 / 375 * 100vw);
    position: relative;
    z-index: 2;
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual {
      padding-block: min(190px, calc(190 / 1440 * 100vw)) min(97px, calc(97 / 1440 * 100vw));
    }
  }
  .LPmainVisual .inner {
    padding-inline: calc(24 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner {
      padding-left: calc(var(--padding-sp) / 375 * 100vw);
      padding-right: calc(var(--padding-sp) / 375 * 100vw);
      display: grid;
      grid-template: "text image" auto "button image" 1fr/1fr min(628px, calc(628 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    .LPmainVisual .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1260px, calc(1260 / 1440 * 100vw));
    }
  }
  .LPmainVisual .inner .image {
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .image {
      grid-area: image;
      padding-bottom: min(62px, calc(62 / 1440 * 100vw));
    }
  }
  .LPmainVisual .inner .image img {
    width: calc(268 / 375 * 100vw);
    box-shadow: 0 0 100px 0 #2ea7c2;
    border-radius: calc(var(--border-radius-small) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .image img {
      width: min(628px, calc(628 / 1440 * 100vw));
      box-shadow: 0 0 200px 0 #3cc7e6;
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
    }
  }
  .LPmainVisual .inner .text {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .text {
      margin-top: unset;
      grid-area: text;
      padding-left: min(76px, calc(76 / 1440 * 100vw));
    }
  }
  .LPmainVisual .inner .text .title {
    font-size: calc(var(--fs-xxxxl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .text .title {
      font-size: min(44px, calc(44 / 1440 * 100vw));
      line-height: 140%;
    }
  }
  .LPmainVisual .inner .text .lead {
    margin-top: calc(16 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .text .lead {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  .LPmainVisual .inner .buttons {
    margin-top: calc(35 / 375 * 100vw);
    padding-inline: calc(22 / 375 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .buttons {
      margin-top: unset;
      grid-area: button;
      justify-self: start;
      align-self: end;
      padding-inline: min(76px, calc(76 / 1440 * 100vw)) 0;
    }
  }
  @media print, screen and (min-width: 768px){
    .planSlider .title .pTitle {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planSlider .title .lead {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
    }
    .planSlider .title .button {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topMV .inner .buttons {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topSolution .inner .pTitle {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .topSolution .inner .button {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFAQ.toppage .inner .pTitle {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .solutionFAQ.toppage .inner .button {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topCase .inner .pTitle {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .topCase .inner .button {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .LPmainVisual .inner .buttons {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
  }
  .LPmainVisual .inner .buttons .title {
    font-size: calc(var(--fs-s) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 175%;
    display: grid;
    grid-template-columns: auto auto auto;
    justify-content: center;
    align-items: center;
    gap: calc(12 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .buttons .title {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .LPmainVisual .inner .buttons .title::before, .LPmainVisual .inner .buttons .title::after {
    content: "";
    display: block;
    width: calc(20 / 375 * 100vw);
    height: calc(2 / 375 * 100vw);
    background-color: var(--color-text);
    rotate: z -120deg;
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .buttons .title::before, .LPmainVisual .inner .buttons .title::after {
      width: min(20px, calc(20 / 1440 * 100vw));
      height: min(2px, calc(2 / 1440 * 100vw));
    }
  }
  .LPmainVisual .inner .buttons .title::after {
    rotate: z 120deg;
  }
  .LPmainVisual .inner .buttons .button {
    margin-top: calc(6 / 375 * 100vw);
    display: grid;
    grid-template-columns: auto auto;
    gap: calc(8 / 375 * 100vw);
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius-pill);
    background: var(--color-second);
    padding: calc(14 / 375 * 100vw) calc(22 / 375 * 100vw) calc(14 / 375 * 100vw) calc(40 / 375 * 100vw);
    margin-inline: auto;
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .buttons .button {
      margin-top: min(12px, calc(12 / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
      padding: min(24px, calc(24 / 1440 * 100vw)) min(40px, calc(40 / 1440 * 100vw)) min(24px, calc(24 / 1440 * 100vw)) min(50px, calc(50 / 1440 * 100vw));
      width: -moz-fit-content;
      width: fit-content;
    }
  }
  @media (any-hover: hover) {
    .LPmainVisual .inner .buttons .button:hover::before {
      translate: 0 0;
    }
  }
  .LPmainVisual .inner .buttons .button::after {
    content: "";
    position: relative;
    z-index: 1;
    display: block;
    width: calc(36 / 375 * 100vw);
    height: calc(36 / 375 * 100vw);
    background-image: url(/images/arrow_contact.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .buttons .button::after {
      width: min(36px, calc(36 / 1440 * 100vw));
      height: min(36px, calc(36 / 1440 * 100vw));
    }
  }
  .LPmainVisual .inner .buttons .button::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background-color: var(--color-brand);
    border-radius: var(--border-radius-pill);
    z-index: 0;
    translate: -120% 0;
    transition: translate var(--transition-speed-slow) var(--bezier);
  }
  .LPmainVisual .inner .buttons .button span {
    position: relative;
    z-index: 1;
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 160%;
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .buttons .button span {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      line-height: 160%;
    }
  }
  .LPmainVisual .inner .buttons .partner {
    margin-top: calc(12 / 375 * 100vw);
    display: flex;
    justify-content: flex-end;
    gap: calc(12 / 375 * 100vw);
    padding-right: calc(12 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .buttons .partner {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
      padding-right: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .LPmainVisual .inner .buttons .partner dt {
    font-size: calc(var(--fs-xxxs) / 375 * 100vw);
    text-transform: uppercase;
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .buttons .partner dt {
      font-size: min(calc(var(--fs-xxxs) * 1px), calc(var(--fs-xxxs) / 1440 * 100vw));
    }
  }
  .LPmainVisual .inner .buttons .partner dd img {
    width: calc(92 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .inner .buttons .partner dd img {
      width: min(92px, calc(92 / 1440 * 100vw));
    }
  }
  .LPmainVisual .icon {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .icon {
      display: block;
      position: absolute;
      top: 0;
      width: 100%;
      height: min(300px, calc(300 / 1440 * 100vw));
      z-index: -1;
      pointer-events: none;
      overflow: hidden;
    }
  }
  @media print, screen and (min-width: 768px) {
    .LPmainVisual .icon .icon_bag {
      width: min(267px, calc(267 / 1440 * 100vw));
      top: min(69px, calc(69 / 1440 * 100vw));
      left: auto;
      right: 50%;
      translate: min(740px, calc(740 / 1440 * 100vw)) 0;
      z-index: -1;
    }
  }
  .LPicons {
    position: absolute;
    top: 0;
    width: 100%;
    height: calc(898 / 375 * 100vw);
    left: 0;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
  }
  @media print, screen and (min-width: 768px) {
    .LPicons {
      height: min(866px, calc(866 / 1440 * 100vw));
    }
  }
  .LPicons .icons.icon_heart {
    width: calc(171 / 375 * 100vw);
    bottom: calc(32 / 375 * 100vw);
    left: calc(-65 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPicons .icons.icon_heart {
      width: min(261px, calc(261 / 1440 * 100vw));
      bottom: min(178px, calc(178 / 1440 * 100vw));
      left: 50%;
      translate: max(-182px, calc(-182 / 1440 * 100vw)) 0;
    }
  }
  .LPicons .icons.icon_music {
    width: calc(116 / 375 * 100vw);
    top: calc(63 / 375 * 100vw);
    right: calc(50 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPicons .icons.icon_music {
      width: min(216px, calc(216 / 1440 * 100vw));
      top: min(250px, calc(250 / 1440 * 100vw));
      right: auto;
      left: 50%;
      translate: max(-776px, calc(-776 / 1440 * 100vw)) 0;
    }
  }
  .LPicons .icons.icon_star {
    width: calc(141 / 375 * 100vw);
    bottom: 0;
    left: calc(16 / 375 * 100vw);
    z-index: 4;
  }
  @media print, screen and (min-width: 768px) {
    .LPicons .icons.icon_star {
      width: min(216px, calc(216 / 1440 * 100vw));
      bottom: min(113px, calc(113 / 1440 * 100vw));
      left: 50%;
      translate: max(-57px, calc(-57 / 1440 * 100vw)) 0;
    }
  }
  .LPicons .icons.icon_smile {
    width: calc(155 / 375 * 100vw);
    top: calc(268 / 375 * 100vw);
    right: calc(-50 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPicons .icons.icon_smile {
      width: min(236px, calc(236 / 1440 * 100vw));
      top: unset;
      bottom: 0;
      right: 50%;
      translate: min(609px, calc(609 / 1440 * 100vw)) 0;
    }
  }
  .LPicons .icons.icon_bag {
    width: calc(142 / 375 * 100vw);
    top: calc(98 / 375 * 100vw);
    left: calc(-13 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPicons .icons.icon_bag {
      display: none;
    }
  }
  .LPicons .icons.icon_bag_02 {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    .LPicons .icons.icon_bag_02 {
      display: block;
      width: min(216px, calc(216 / 1440 * 100vw));
      top: min(452px, calc(452 / 1440 * 100vw));
      left: 50%;
      translate: max(-838px, calc(-838 / 1440 * 100vw)) 0;
    }
  }
  .LPwrapper {
    background-color: var(--color-btblue-300);
  }
  .LPquiestion {
    padding-block: calc(42 / 375 * 100vw) 0;
    background-color: var(--color-btblue-50);
    border-radius: 0 0 calc(var(--border-radius-large) / 375 * 100vw) calc(var(--border-radius-large) / 375 * 100vw);
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .LPquiestion {
      padding-block: min(46px, calc(46 / 1440 * 100vw)) 0;
      border-radius: 0 0 min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw)) min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .LPquiestion::after {
      position: absolute;
      content: "";
      display: block;
      width: min(121px, calc(121 / 1440 * 100vw));
      height: min(64px, calc(64 / 1440 * 100vw));
      clip-path: polygon(50% 100%, 0 0, 100% 0);
      background-color: var(--color-btblue-50);
      right: 50%;
      translate: min(437px, calc(437 / 1440 * 100vw)) 0;
      bottom: max(-64px, calc(-64 / 1440 * 100vw));
      z-index: 2;
    }
  }
  .LPquiestion .inner {
    padding-inline: calc(16 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPquiestion .inner {
      padding-left: calc(var(--padding-sp) / 375 * 100vw);
      padding-right: calc(var(--padding-sp) / 375 * 100vw);
      display: grid;
      grid-template: "subtitle subtitle" auto "image q" auto/min(679px, calc(679 / 1440 * 100vw)) 1fr;
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    .LPquiestion .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .LPquiestion .inner .pSubtitle {
    position: relative;
    text-align: center;
    padding-block: calc(22 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPquiestion .inner .pSubtitle {
      padding-block: min(34px, calc(34 / 1440 * 100vw)) min(56px, calc(56 / 1440 * 100vw));
      width: min(836px, calc(836 / 1440 * 100vw));
      margin-inline: auto;
      grid-area: subtitle;
    }
  }
  .LPquiestion .inner .pSubtitle::before {
    position: absolute;
    content: "";
    display: block;
    inset: 0;
    border-radius: var(--border-radius-pill);
    background: radial-gradient(80.65% 80.65% at 50% 50%, var(--color-btblue-200, #96E1F2) 48.08%, var(--color-gray-light, #F4F4F4) 90.87%);
    filter: blur(20px);
  }
  .LPquiestion .inner .pSubtitle .en, .LPquiestion .inner .pSubtitle .ja {
    position: relative;
    z-index: 1;
  }
  .LPquiestion .inner .pSubtitle .ja {
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xxl) / 375 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .LPquiestion .inner .pSubtitle .ja {
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
    }
  }
  .LPquiestion .inner .q {
    margin-top: calc(30 / 375 * 100vw);
    margin-inline: calc(24 / 375 * 100vw);
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
    padding: calc(32 / 375 * 100vw) calc(30 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPquiestion .inner .q {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
      grid-area: q;
      margin-top: unset;
      margin-inline: auto;
      translate: 0 max(-18px, calc(-18 / 1440 * 100vw));
      padding: min(38px, calc(38 / 1440 * 100vw)) min(44px, calc(44 / 1440 * 100vw)) min(38px, calc(38 / 1440 * 100vw)) min(50px, calc(50 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      width: -moz-fit-content;
      width: fit-content;
      align-self: start;
    }
    @media print, screen and (min-width: 768px){
    .solutionFAQ .inner .solutionFAQList .unit .q::before, .solutionFAQ .inner .solutionFAQList .unit .q::after {
        -ms-grid-row: 1;
        -ms-grid-column: 3;
    }
    .solutionFAQ .inner .solutionFAQList .unit .q h3 {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .LPquiestion .inner > h3 {
        -ms-grid-row: 2;
        -ms-grid-column: 2;
    }
    .LPquiestion .inner .pSubtitle {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
    }
    .LPquiestion .inner .q {
        -ms-grid-row: 1;
        -ms-grid-column: 1;
    }
    .LPquiestion .inner > .q {
        -ms-grid-row: 2;
        -ms-grid-column: 2;
    }
    }
  }
  .LPquiestion .inner .q li {
    margin-top: calc(12 / 375 * 100vw);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-l) / 375 * 100vw);
    line-height: 190%;
    font-weight: var(--font-weight-bold);
    align-items: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPquiestion .inner .q li {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .LPquiestion .inner .q li:first-child {
    margin-top: unset;
  }
  .LPquiestion .inner .q li::before {
    content: "";
    display: block;
    background-image: url(/lp/images/check.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: calc(25 / 375 * 100vw);
    height: calc(25 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPquiestion .inner .q li::before {
      width: min(25px, calc(25 / 1440 * 100vw));
      height: min(25px, calc(25 / 1440 * 100vw));
    }
  }
  .LPquiestion .inner .image {
    margin-top: calc(-7 / 375 * 100vw);
    display: block;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPquiestion .inner .image {
      margin-top: unset;
      grid-area: image;
      padding-left: min(107px, calc(107 / 1440 * 100vw));
      padding-top: min(23px, calc(23 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px){
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planFeatureUnit:nth-child(even) > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 1;
    }
    .planFeatureUnit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 3;
    }
    .planCase .inner .list .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    #solutionStrengthList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 3;
      -ms-grid-column-span: 2;
    }
    .LPmainVisual .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
    }
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planMV .inner > .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    #solutionStrengthList .unit > .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planSlider #planSlide .swiper-wrapper .swiper-slide .inner .bg .bottom {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    .planMV .inner > .bottom {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    #solutionStrengthList .unit > .bottom {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .bottom {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
    }
    .planMV .inner .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planFeatureUnit:nth-child(even) > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 1;
    }
    .planFeatureUnit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 3;
    }
    .planCase .inner .list .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    #solutionStrengthList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 3;
      -ms-grid-column-span: 2;
    }
    .LPmainVisual .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
    }
    .planMV .inner .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planMV .inner > .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    #solutionStrengthList .unit > .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planMV .inner .bottom {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    .planMV .inner > .bottom {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    #solutionStrengthList .unit > .bottom {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .bottom {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
    }
    .planFeatureUnit .text {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
    }
    .planFeatureUnit > .text {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planCase .inner .list .unit > .text {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    .topMV .inner > .text {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
    }
    .LPmainVisual .inner > .text {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planFeatureUnit .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planFeatureUnit:nth-child(even) > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 1;
    }
    .planFeatureUnit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 3;
    }
    .planCase .inner .list .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    #solutionStrengthList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 3;
      -ms-grid-column-span: 2;
    }
    .LPmainVisual .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
    }
    .planCase .inner .list .unit .text {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
    }
    .planFeatureUnit > .text {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planCase .inner .list .unit > .text {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    .topMV .inner > .text {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
    }
    .LPmainVisual .inner > .text {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planCase .inner .list .unit .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planFeatureUnit:nth-child(even) > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 1;
    }
    .planFeatureUnit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 3;
    }
    .planCase .inner .list .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    #solutionStrengthList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 3;
      -ms-grid-column-span: 2;
    }
    .LPmainVisual .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
    }
    #solutionStrengthList .unit .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planFeatureUnit:nth-child(even) > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 1;
    }
    .planFeatureUnit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 3;
    }
    .planCase .inner .list .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    #solutionStrengthList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 3;
      -ms-grid-column-span: 2;
    }
    .LPmainVisual .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
    }
    #solutionStrengthList .unit .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planMV .inner > .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    #solutionStrengthList .unit > .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    #solutionStrengthList .unit .bottom {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    .planMV .inner > .bottom {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    #solutionStrengthList .unit > .bottom {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .bottom {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
    }
    .solutionFeature .inner .solutionFeatureList .unit .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planMV .inner > .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    #solutionStrengthList .unit > .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .top {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .solutionFeature .inner .solutionFeatureList .unit .bottom {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    .planMV .inner > .bottom {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    #solutionStrengthList .unit > .bottom {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .bottom {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
    }
    .solutionFeature .inner .solutionFeatureList .unit .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planFeatureUnit:nth-child(even) > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 1;
    }
    .planFeatureUnit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 3;
    }
    .planCase .inner .list .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    #solutionStrengthList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 3;
      -ms-grid-column-span: 2;
    }
    .LPmainVisual .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
    }
    .topMV .inner .text {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
    }
    .planFeatureUnit > .text {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planCase .inner .list .unit > .text {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    .topMV .inner > .text {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
    }
    .LPmainVisual .inner > .text {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .topMV .inner .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planFeatureUnit:nth-child(even) > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 1;
    }
    .planFeatureUnit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 3;
    }
    .planCase .inner .list .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    #solutionStrengthList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 3;
      -ms-grid-column-span: 2;
    }
    .LPmainVisual .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
    }
    .topSolution .inner .list {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFAQ.toppage .inner > .list {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topCase .inner > .list {
      -ms-grid-row: 3;
      -ms-grid-row-span: 1;
      -ms-grid-column: 1;
      -ms-grid-column-span: 7;
    }
    .solutionFAQ.toppage .inner .solutionFAQList {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFAQ.toppage .inner > .solutionFAQList {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topCase .inner > .solutionFAQList {
      -ms-grid-row: 3;
      -ms-grid-row-span: 1;
      -ms-grid-column: 1;
      -ms-grid-column-span: 7;
    }
    .topCase .inner .topCaseSlider {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFAQ.toppage .inner > .topCaseSlider {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topCase .inner > .topCaseSlider {
      -ms-grid-row: 3;
      -ms-grid-row-span: 1;
      -ms-grid-column: 1;
      -ms-grid-column-span: 7;
    }
    .LPmainVisual .inner .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planFeatureUnit:nth-child(even) > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 1;
    }
    .planFeatureUnit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 3;
    }
    .planCase .inner .list .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    #solutionStrengthList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 3;
      -ms-grid-column-span: 2;
    }
    .LPmainVisual .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
    }
    .LPmainVisual .inner .text {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
    }
    .planFeatureUnit > .text {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .planCase .inner .list .unit > .text {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    .topMV .inner > .text {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
    }
    .LPmainVisual .inner > .text {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .LPquiestion .inner .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    .planFeatureUnit:nth-child(even) > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 1;
    }
    .planFeatureUnit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      -ms-grid-column: 3;
    }
    .planCase .inner .list .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
    }
    #solutionStrengthList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .solutionFeature .inner .solutionFeatureList .unit > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 3;
    }
    .topMV .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 3;
      -ms-grid-column-span: 2;
    }
    .LPmainVisual .inner > .image {
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
    }
  }
  .LPabout {
    padding-top: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPabout {
      padding-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .LPabout .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPabout .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .LPabout .inner .pSubtitle .ja {
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xxl) / 375 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .LPabout .inner .pSubtitle .ja {
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
    }
  }
  .LPabout .inner .lead {
    margin-top: calc(24 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .LPabout .inner .lead {
      margin-top: min(32px, calc(32 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
      text-align: center;
    }
  }
  #LPslide {
    margin-top: calc(64 / 375 * 100vw);
    overflow: hidden;
    display: flex;
    width: 100%;
  }
  @media print, screen and (min-width: 768px) {
    #LPslide {
      margin-top: min(80px, calc(80 / 1440 * 100vw));
    }
  }
  #LPslide img {
    width: auto;
    height: 100%;
    max-width: none;
    animation: infinity-scroll-left 70s infinite linear 0.5s both;
    height: calc(98 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #LPslide img {
      height: min(183px, calc(183 / 1440 * 100vw));
      animation-duration: 90s;
    }
  }
  @keyframes infinity-scroll-left {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-100%);
    }
  }
  .LPmerit {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
    overflow: hidden;
    padding-block: calc(120 / 375 * 100vw) calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmerit {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1260px, calc(1260 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .LPmerit {
      overflow: visible;
      padding-block: min(180px, calc(180 / 1440 * 100vw)) min(120px, calc(120 / 1440 * 100vw));
    }
  }
  .LPmerit .inner {
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
    padding-block: calc(40 / 375 * 100vw) calc(64 / 375 * 100vw);
    box-shadow: 0 4px 60px 0 rgba(0, 0, 0, 0.15);
  }
  @media print, screen and (min-width: 768px) {
    .LPmerit .inner {
      background-color: var(--color-gray-light);
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
      padding-block: min(120px, calc(120 / 1440 * 100vw)) min(80px, calc(80 / 1440 * 100vw));
      filter: drop-shadow(0 4px 40px rgba(0, 0, 0, 0.12));
      -webkit-backdrop-filter: blur(22.5px);
      backdrop-filter: blur(22.5px);
    }
  }
  .LPmerit .inner .pSubtitle .ja {
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .LPmerit .inner .pSubtitle .ja {
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxl) * 1px), calc(var(--fs-xxl) / 1440 * 100vw));
    }
  }
  .LPmerit .inner .list {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmerit .inner .list {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      padding-left: calc(var(--padding-sp) / 375 * 100vw);
      padding-right: calc(var(--padding-sp) / 375 * 100vw);
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    .LPmerit .inner .list {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .LPmerit .inner .list .planFeatureUnit {
      margin-top: min(60px, calc(60 / 1440 * 100vw));
    }
    .LPmerit .inner .list .planFeatureUnit.wide {
      margin-top: min(80px, calc(80 / 1440 * 100vw));
    }
  }
  .LPmerit .inner .list .path-01 {
    top: calc(230 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmerit .inner .list .path-01 {
      top: min(30px, calc(30 / 1440 * 100vw));
    }
  }
  .LPmerit .inner .list .path-02 {
    top: calc(290 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmerit .inner .list .path-02 {
      top: 0;
    }
  }
  .LPmerit .inner .list .path-03 {
    top: calc(280 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmerit .inner .list .path-03 {
      top: 0;
    }
  }
  .LPmerit .inner .list .path-04 {
    top: calc(280 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmerit .inner .list .path-04 {
      top: min(50px, calc(50 / 1440 * 100vw));
    }
  }
  .LPmerit .inner .list .path-06 {
    top: calc(200 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmerit .inner .list .path-06 {
      top: 0;
    }
  }
  .LPmerit .inner .list .path-07 {
    top: calc(250 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPmerit .inner .list .path-07 {
      top: max(-20px, calc(-20 / 1440 * 100vw));
    }
  }
  .stage.lpPlan {
    background-color: var(--color-surface);
  }
  @media print, screen and (min-width: 768px) {
    .stage.lpPlan {
      filter: drop-shadow(0 4px 40px rgba(0, 0, 0, 0.12));
    }
  }
  .LPwrapper_02 {
    background-color: var(--color-btblue-100);
    padding-top: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPwrapper_02 {
      padding-top: min(130px, calc(130 / 1440 * 100vw));
    }
  }
  .LPplan .inner {
    padding-inline: calc(24 / 375 * 100vw);
    padding-block: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner {
      padding-left: calc(var(--padding-sp) / 375 * 100vw);
      padding-right: calc(var(--padding-sp) / 375 * 100vw);
      padding-block: min(120px, calc(120 / 1440 * 100vw)) min(170px, calc(170 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    .LPplan .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .LPplan .inner .pSubtitle .logo {
    margin-top: calc(14 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .pSubtitle .logo {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .LPplan .inner .pSubtitle .logo img {
    width: calc(200 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .pSubtitle .logo img {
      width: min(252px, calc(252 / 1440 * 100vw));
    }
  }
  .LPplan .inner .pSubtitle .ja {
    margin-top: calc(24 / 375 * 100vw);
    font-size: calc(var(--fs-xxl) / 375 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .pSubtitle .ja {
      margin-top: min(42px, calc(42 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxl) * 1px), calc(var(--fs-xxl) / 1440 * 100vw));
    }
  }
  .LPplan .inner .lead {
    margin-top: calc(24 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .lead {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  .LPplan .inner .detail {
    padding-inline: calc(32 / 375 * 100vw);
    margin-top: calc(64 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail {
      padding-inline: min(140px, calc(140 / 1440 * 100vw));
      margin-top: min(80px, calc(80 / 1440 * 100vw));
      display: grid;
      grid-template: "content content" auto "deadline deadline" auto "initial monthly" auto/1fr 1fr;
      gap: min(32px, calc(32 / 1440 * 100vw)) min(32px, calc(32 / 1440 * 100vw));
    }
  }
  .LPplan .inner .detail .unit {
    margin-top: calc(24 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail .unit {
      margin-top: unset;
    }
  }
  .LPplan .inner .detail .unit:first-child {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail .unit.content {
      grid-area: content;
    }
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail .unit.deadline {
      grid-area: deadline;
    }
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail .unit.initial {
      grid-area: initial;
    }
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail .unit.monthly {
      grid-area: monthly;
    }
  }
  @media print, screen and (min-width: 768px){
    .LPplan .inner .detail .unit.content {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
      -ms-grid-column-span: 3;
    }
    .LPplan .inner .detail .unit.deadline {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
      -ms-grid-column-span: 3;
    }
    .LPplan .inner .detail .unit.initial {
      -ms-grid-row: 5;
      -ms-grid-column: 1;
    }
    .LPplan .inner .detail .unit.monthly {
      -ms-grid-row: 5;
      -ms-grid-column: 3;
    }
  }
  .LPplan .inner .detail .unit dt {
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 150%;
    text-align: center;
    background-color: var(--color-btblue-100);
    padding: calc(2 / 375 * 100vw) calc(12 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail .unit dt {
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
      padding: min(8px, calc(8 / 1440 * 100vw)) min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .LPplan .inner .detail .unit dd {
    margin-top: calc(12 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail .unit dd {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .LPplan .inner .detail .unit dd ul {
    list-style: disc;
    margin-left: 1.25em;
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 200%;
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail .unit dd ul {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      line-height: 250%;
      width: -moz-fit-content;
      width: fit-content;
      margin-inline: auto;
    }
  }
  .LPplan .inner .detail .unit dd .withoutTax {
    line-height: 150%;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail .unit dd .withoutTax {
      padding-top: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .LPplan .inner .detail .unit dd .withoutTax strong {
    font-size: calc(var(--fs-xxl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail .unit dd .withoutTax strong {
      font-size: min(calc(var(--fs-xxl) * 1px), calc(var(--fs-xxl) / 1440 * 100vw));
    }
  }
  .LPplan .inner .detail .unit dd .withoutTax span {
    font-size: calc(var(--fs-m) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail .unit dd .withoutTax span {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  .LPplan .inner .detail .unit dd .withTax {
    text-align: center;
    font-size: calc(var(--fs-xs) / 375 * 100vw);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .detail .unit dd .withTax {
      font-size: min(calc(var(--fs-xxs) * 1px), calc(var(--fs-xxs) / 1440 * 100vw));
    }
  }
  .LPplan .inner .button {
    margin-top: calc(64 / 375 * 100vw);
    padding-inline: calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .button {
      margin-top: min(80px, calc(80 / 1440 * 100vw));
      padding-inline: min(140px, calc(140 / 1440 * 100vw));
    }
  }
  .LPplan .inner .button .pButton {
    display: block;
    text-align: center;
    padding-block: calc(16 / 375 * 100vw);
    border-radius: calc(var(--border-radius-small) / 375 * 100vw);
    width: auto;
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .button .pButton {
      padding-block: min(32px, calc(32 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
    }
  }
  .LPplan .inner .button .pButton::after {
    content: none;
  }
  .LPplan .inner .button .pButton span {
    font-size: calc(var(--fs-s) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPplan .inner .button .pButton span {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .LPflow {
    padding-block: calc(80 / 375 * 100vw) calc(76 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPflow {
      padding-block: min(120px, calc(120 / 1440 * 100vw)) min(140px, calc(140 / 1440 * 100vw));
    }
  }
  .LPflow .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPflow .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .LPflow .inner .pSubtitle .ja {
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xxl) / 375 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .LPflow .inner .pSubtitle .ja {
      margin-top: min(42px, calc(42 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
    }
  }
  .LPflow .inner .lead {
    margin-top: calc(24 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPflow .inner .lead {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  .LPflow .inner .list {
    margin-top: calc(64 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPflow .inner .list {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
    }
  }
  .LPflow .inner .list .unit {
    margin-top: calc(76 / 375 * 100vw);
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
    padding: calc(24 / 375 * 100vw) calc(40 / 375 * 100vw) calc(40 / 375 * 100vw);
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .LPflow .inner .list .unit {
      margin-top: min(92px, calc(92 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
      padding: min(9px, calc(9 / 1440 * 100vw)) min(51px, calc(51 / 1440 * 100vw)) min(9px, calc(9 / 1440 * 100vw)) min(63px, calc(63 / 1440 * 100vw));
      display: grid;
      grid-template-columns: 1fr auto;
      gap: min(26px, calc(26 / 1440 * 100vw));
      align-items: center;
      width: min(830px, calc(830 / 1440 * 100vw));
      margin-inline: auto;
    }
  }
  .LPflow .inner .list .unit:first-child {
    margin-top: unset;
  }
  .LPflow .inner .list .unit::after {
    content: "";
    display: block;
    position: absolute;
    bottom: calc(-52 / 375 * 100vw);
    left: 50%;
    translate: -50% 0;
    width: calc(20 / 375 * 100vw);
    height: calc(31 / 375 * 100vw);
    background-image: url(/lp/images/flow_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPflow .inner .list .unit::after {
      width: min(20px, calc(20 / 1440 * 100vw));
      height: min(45px, calc(45 / 1440 * 100vw));
      bottom: max(-68px, calc(-68 / 1440 * 100vw));
      background-image: url(/lp/images/flow_arrow_pc.svg);
    }
  }
  .LPflow .inner .list .unit:last-child::after {
    content: none;
  }
  @media print, screen and (min-width: 768px) {
    .LPflow .inner .list .unit dl {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: min(40px, calc(40 / 1440 * 100vw));
      align-items: center;
    }
  }
  .LPflow .inner .list .unit dl dt {
    color: var(--color-brand);
    font-size: calc(var(--fs-xl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .LPflow .inner .list .unit dl dt {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
    }
  }
  .LPflow .inner .list .unit dl dd {
    font-size: calc(var(--fs-l) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .LPflow .inner .list .unit dl dd {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .LPflow .inner .list .unit .image {
    display: block;
    position: absolute;
    right: 0;
    bottom: calc(-21 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPflow .inner .list .unit .image {
      position: static;
    }
  }
  .LPflow .inner .list .unit .image img {
    width: calc(100 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPflow .inner .list .unit .image img {
      width: min(200px, calc(200 / 1440 * 100vw));
    }
  }
  .LPletsstart {
    background: linear-gradient(0deg, var(--color-btblue-100, #B6E6F2) 0%, var(--color-brand-Primary, #56D6F2) 72.79%);
    padding-block: calc(120 / 375 * 100vw);
    position: relative;
    padding-inline: calc(24 / 375 * 100vw);
    overflow: hidden;
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart {
      padding-inline: unset;
      padding-block: min(90px, calc(90 / 1440 * 100vw));
    }
  }
  .LPletsstart .inner {
    padding-inline: calc(32 / 375 * 100vw);
    padding-block: calc(64 / 375 * 100vw);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
    background: var(--color-btblue-50);
    box-shadow: 0 4px 60px 0 rgba(0, 0, 0, 0.15);
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart .inner {
      padding-left: calc(var(--padding-sp) / 375 * 100vw);
      padding-right: calc(var(--padding-sp) / 375 * 100vw);
      padding-block: min(56px, calc(56 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      box-shadow: 0 4px 40px 0 rgba(0, 0, 0, 0.12);
      -webkit-backdrop-filter: blur(7.5px);
      backdrop-filter: blur(7.5px);
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    .LPletsstart .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1260px, calc(1260 / 1440 * 100vw));
    }
  }
  .LPletsstart .inner .title {
    text-align: center;
    font-size: calc(var(--fs-xxl) / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart .inner .title {
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
    }
  }
  .LPletsstart .inner .lead {
    margin-top: calc(24 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart .inner .lead {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  .LPletsstart .inner .button {
    margin-top: calc(40 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart .inner .button {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  .LPletsstart .inner .button a {
    display: grid;
    grid-template-columns: auto auto;
    gap: calc(16 / 375 * 100vw);
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius-pill);
    background: var(--color-second);
    padding: calc(16 / 375 * 100vw) calc(24 / 375 * 100vw) calc(16 / 375 * 100vw) calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart .inner .button a {
      gap: min(16px, calc(16 / 1440 * 100vw));
      padding: min(24px, calc(24 / 1440 * 100vw)) min(40px, calc(40 / 1440 * 100vw)) min(24px, calc(24 / 1440 * 100vw)) min(50px, calc(50 / 1440 * 100vw));
      width: min(400px, calc(400 / 1440 * 100vw));
      margin-inline: auto;
    }
  }
  @media (any-hover: hover) {
    .LPletsstart .inner .button a:hover::before {
      translate: 0 0;
    }
  }
  .LPletsstart .inner .button a::after {
    content: "";
    position: relative;
    z-index: 1;
    display: block;
    width: calc(30 / 375 * 100vw);
    height: calc(30 / 375 * 100vw);
    background-image: url(/images/arrow_contact.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart .inner .button a::after {
      width: min(28px, calc(28 / 1440 * 100vw));
      height: min(28px, calc(28 / 1440 * 100vw));
    }
  }
  .LPletsstart .inner .button a::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background-color: var(--color-brand);
    border-radius: var(--border-radius-pill);
    z-index: 0;
    translate: -120% 0;
    transition: translate var(--transition-speed-slow) var(--bezier);
  }
  .LPletsstart .inner .button a span {
    position: relative;
    z-index: 1;
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 175%;
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart .inner .button a span {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      line-height: 160%;
    }
  }
  .LPletsstart .icon_heart {
    top: calc(52 / 375 * 100vw);
    left: calc(-15 / 375 * 100vw);
    width: calc(160 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart .icon_heart {
      width: min(289px, calc(289 / 1440 * 100vw));
      top: min(100px, calc(100 / 1440 * 100vw));
      left: 50%;
      translate: max(-720px, calc(-720 / 1440 * 100vw)) 0;
    }
  }
  .LPletsstart .icon_bag {
    top: calc(5 / 375 * 100vw);
    left: calc(44 / 375 * 100vw);
    width: calc(132 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart .icon_bag {
      width: min(246px, calc(246 / 1440 * 100vw));
      top: min(271px, calc(271 / 1440 * 100vw));
      left: 50%;
      translate: max(-573px, calc(-573 / 1440 * 100vw)) 0;
    }
  }
  .LPletsstart .icon_smile {
    top: calc(39 / 375 * 100vw);
    right: calc(11 / 375 * 100vw);
    width: calc(145 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart .icon_smile {
      width: min(241px, calc(241 / 1440 * 100vw));
      top: min(27px, calc(27 / 1440 * 100vw));
      right: 50%;
      translate: min(720px, calc(720 / 1440 * 100vw)) 0;
    }
  }
  .LPletsstart .icon_star {
    bottom: calc(32 / 375 * 100vw);
    right: calc(-19 / 375 * 100vw);
    width: calc(141 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart .icon_star {
      width: min(237px, calc(237 / 1440 * 100vw));
      bottom: 0;
      right: 50%;
      translate: min(633px, calc(633 / 1440 * 100vw)) 0;
    }
  }
  .LPletsstart .icon_music {
    bottom: 0;
    right: calc(89 / 375 * 100vw);
    width: calc(108 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPletsstart .icon_music {
      width: min(290px, calc(290 / 1440 * 100vw));
      bottom: min(119px, calc(119 / 1440 * 100vw));
      right: 50%;
      translate: min(554px, calc(554 / 1440 * 100vw)) 0;
    }
  }
  .LPitemList {
    padding-block: calc(80 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPitemList {
      padding-block: min(120px, calc(120 / 1440 * 100vw)) min(180px, calc(180 / 1440 * 100vw));
    }
  }
  .LPitemList .inner {
    padding-left: calc(var(--padding-sp) / 375 * 100vw);
    padding-right: calc(var(--padding-sp) / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPitemList .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1108px, calc(1108 / 1440 * 100vw));
    }
  }
  .LPitemList .inner .pSubtitle .ja {
    margin-top: calc(12 / 375 * 100vw);
    font-size: calc(var(--fs-xxl) / 375 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .LPitemList .inner .pSubtitle .ja {
      margin-top: min(8px, calc(8 / 1440 * 100vw));
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
    }
  }
  .LPitemList .inner .lead {
    margin-top: calc(24 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPitemList .inner .lead {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  .LPitemList .inner .list {
    margin-top: calc(40 / 375 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(12 / 375 * 100vw) calc(16 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPitemList .inner .list {
      margin-top: min(80px, calc(80 / 1440 * 100vw));
      grid-template-columns: repeat(4, 1fr);
      gap: min(32px, calc(32 / 1440 * 100vw)) min(32px, calc(32 / 1440 * 100vw));
    }
  }
  .LPitemList .inner .list .unit {
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-medium) / 375 * 100vw);
    padding: calc(30 / 375 * 100vw) calc(16 / 375 * 100vw) calc(16 / 375 * 100vw);
    text-align: center;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
  @media print, screen and (min-width: 768px) {
    .LPitemList .inner .list .unit {
      border-radius: min(15px, calc(15 / 1440 * 100vw));
      padding: min(50px, calc(50 / 1440 * 100vw)) min(24px, calc(24 / 1440 * 100vw)) min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .LPitemList .inner .list .unit img {
    width: calc(60 / 375 * 100vw);
    margin-inline: auto;
  }
  @media print, screen and (min-width: 768px) {
    .LPitemList .inner .list .unit img {
      width: min(100px, calc(100 / 1440 * 100vw));
    }
  }
  .LPitemList .inner .list .unit figcaption {
    font-size: calc(var(--fs-xxs) / 375 * 100vw);
    line-height: 150%;
    min-height: calc(34 / 375 * 100vw);
    font-weight: var(--font-weight-bold);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPitemList .inner .list .unit figcaption {
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
      min-height: min(55px, calc(55 / 1440 * 100vw));
    }
  }
  .faqWrapper {
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
    padding-block: calc(64 / 375 * 100vw) calc(80 / 375 * 100vw);
    box-shadow: 0 4px 60px 0 rgba(0, 0, 0, 0.15);
  }
  @media print, screen and (min-width: 768px) {
    .faqWrapper {
      padding-block: min(180px, calc(180 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
      box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.25);
      -webkit-backdrop-filter: blur(22.5px);
      backdrop-filter: blur(22.5px);
    }
  }
  .LPcontactArea {
    margin-top: calc(64 / 375 * 100vw);
    padding: calc(80 / 375 * 100vw) calc(24 / 375 * 100vw);
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
    background: var(--color-brand);
    box-shadow: 0 4px 40px 0 rgba(0, 0, 0, 0.12);
    -webkit-backdrop-filter: blur(22.5px);
    backdrop-filter: blur(22.5px);
  }
  @media print, screen and (min-width: 768px) {
    .LPcontactArea {
      margin-top: min(120px, calc(120 / 1440 * 100vw));
      padding-block: min(95px, calc(95 / 1440 * 100vw));
      padding-inline: unset;
      border-radius: min(calc(var(--border-radius-large) * 1px), calc(var(--border-radius-large) / 1440 * 100vw));
    }
  }
  .LPcontactArea .inner {
    border-radius: calc(var(--border-radius-large) / 375 * 100vw);
    background: var(--color-btblue-50);
    padding: calc(40 / 375 * 100vw) calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPcontactArea .inner {
      width: min(1260px, calc(1260 / 1440 * 100vw));
      margin-inline: auto;
      padding: min(80px, calc(80 / 1440 * 100vw)) min(108px, calc(108 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      box-shadow: 0 4px 40px 0 rgba(0, 0, 0, 0.12);
      -webkit-backdrop-filter: blur(7.5px);
      backdrop-filter: blur(7.5px);
    }
  }
  @media print, screen and (min-width: 768px) {
    .LPcontactArea .inner .title {
      display: grid;
      grid-template-columns: 1fr min(640px, calc(640 / 1440 * 100vw));
      align-items: start;
    }
  }
  .LPcontactArea .inner .title .lead {
    margin-top: calc(32 / 375 * 100vw);
    font-size: calc(var(--fs-s) / 375 * 100vw);
    line-height: 175%;
  }
  @media print, screen and (min-width: 768px) {
    .LPcontactArea .inner .title .lead {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
      line-height: 160%;
      margin-top: min(4px, calc(4 / 1440 * 100vw));
    }
  }
  .LPcontactArea .inner .button {
    margin-top: calc(80 / 375 * 100vw);
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .LPcontactArea .inner .button {
      margin-top: min(80px, calc(80 / 1440 * 100vw));
    }
  }
  .LPcontactArea .inner .button::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(-36 / 375 * 100vw);
    left: calc(144 / 375 * 100vw);
    width: calc(56 / 375 * 100vw);
    height: calc(56 / 375 * 100vw);
    background-image: url(/images/icon_contact.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPcontactArea .inner .button::after {
      width: min(127px, calc(127 / 1440 * 100vw));
      height: min(127px, calc(127 / 1440 * 100vw));
      top: max(-52px, calc(-52 / 1440 * 100vw));
      left: min(56px, calc(56 / 1440 * 100vw));
    }
  }
  .LPcontactArea .inner .button a {
    display: grid;
    grid-template-columns: auto auto;
    gap: calc(16 / 375 * 100vw);
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius-pill);
    background: var(--color-second);
    padding: calc(16 / 375 * 100vw) calc(24 / 375 * 100vw) calc(16 / 375 * 100vw) calc(32 / 375 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .LPcontactArea .inner .button a {
      gap: min(40px, calc(40 / 1440 * 100vw));
      padding: min(54px, calc(54 / 1440 * 100vw)) min(40px, calc(40 / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    .LPcontactArea .inner .button a:hover::before {
      translate: 0 0;
    }
  }
  .LPcontactArea .inner .button a::after {
    content: "";
    position: relative;
    z-index: 1;
    display: block;
    width: calc(30 / 375 * 100vw);
    height: calc(30 / 375 * 100vw);
    background-image: url(/images/arrow_contact.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  @media print, screen and (min-width: 768px) {
    .LPcontactArea .inner .button a::after {
      width: min(80px, calc(80 / 1440 * 100vw));
      height: min(80px, calc(80 / 1440 * 100vw));
    }
  }
  .LPcontactArea .inner .button a::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background-color: var(--color-brand);
    border-radius: var(--border-radius-pill);
    z-index: 0;
    translate: -120% 0;
    transition: translate var(--transition-speed-slow) var(--bezier);
  }
  .LPcontactArea .inner .button a span {
    position: relative;
    z-index: 1;
    font-size: calc(var(--fs-m) / 375 * 100vw);
    line-height: 175%;
    font-weight: var(--font-weight-bold);
  }
  @media print, screen and (min-width: 768px) {
    .LPcontactArea .inner .button a span {
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
      line-height: 160%;
    }
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJfcmVzZXQuc2NzcyIsIjxubyBzb3VyY2U+IiwiX2hlYWRlci5zY3NzIiwiX2Zvb3Rlci5zY3NzIiwiX3BhcnRzLnNjc3MiLCJfc3RhZ2VzLnNjc3MiLCJfYmcuc2NzcyIsIl9icmVhZGNydW1iLnNjc3MiLCJfYW5jaG9ybGluay5zY3NzIiwiX3BhZ2V0aXRsZS5zY3NzIiwiX3BsYW5zbGlkZXIuc2NzcyIsIl9jb250YWN0YXJlYS5zY3NzIiwiX3BsYW4uc2NzcyIsIl9jYXNlLnNjc3MiLCJfc29sdXRpb24uc2NzcyIsIl9jb250YWN0LnNjc3MiLCJfdG9wcGFnZS5zY3NzIiwiX3N3aXBlci5zY3NzIiwiX2xwLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDR2hCLHlDQUFBO0FBRUE7RUFDRSxVQUFBO0VBQ0Esc0JBQUE7RUFFQSx1QkFBQTtFQUVBLHdCQUFBO0VBRUEsc0JBQUE7RUFFQSwwQkFBQTtFQUNBLDJCQUFBO0VBQ0EsMkJBQUE7RUFDQSwyQkFBQTtFQUNBLDJCQUFBO0VBQ0EsMkJBQUE7RUFDQSwyQkFBQTtFQUNBLDJCQUFBO0VBRUEsMkJBQUE7RUFDQSw0QkFBQTtFQUNBLDBCQUFBO0VBRUEsZ0NBQUE7RUFDQSw0QkFBQTtFQUNBLDJCQUFBO0VBQ0EsNENBQUE7RUFFQSw2QkFBQTtFQUNBLDhCQUFBO0VBQ0EsNEJBQUE7RUFFQSxtQkFBQTtFQUNBLHlCQUFBO0VBRUEsa0NBQUE7RUFFQSxpRUFBQTtFQUNBLHVDQUFBO0VBRUEsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLHdCQUFBO0VBQ0EseUJBQUE7RUFDQSx3QkFBQTtFQUVBLCtCQUFBO0VBRUEsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLHVCQUFBO0VBQ0Esd0JBQUE7RUFFQSxnQkFBQTtFQUVBLHlCQUFBO0VBQ0EsOEJBQUE7RUFFQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxVQUFB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QSxtQkFBQTtJSjQ2Q0k7SWExMENRO01UbEdaLGdCQUFBO01BQUEsbUJBQUE7SUo0NkNJO0lhMXpDUTtNVGxIWixnQkFBQTtNQUFBLG1CQUFBO0lKaThDSTtJYS8wQ1E7TVRsSFosZ0JBQUE7TUFBQSxtQkFBQTtJSmk4Q0k7SWEvMENRO01UbEhaLGdCQUFBO01BQUEsbUJBQUE7SUppOENJO0lhLzBDUTtNVGxIWixnQkFBQTtNQUFBLG1CQUFBO0lKaThDSTtJZTk0Q0E7TVhuREosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKa3hESTtJZS90REE7TVhuREosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKa3hESTtJZS90REE7TVhuREosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKa3hESTtJZS90REE7TVhuREosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKa3hESTtJZS90REE7TVhuREosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKa3hESTtJZS90REE7TVhuREosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKa3hESTtJZS90REE7TVhuREosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKa3hESTtJZS90REE7TVhuREosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO01BQUEsd0JBQUE7SUpreERJO0llL3REQTtNWG5ESixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7TUFBQSx3QkFBQTtJSmt4REk7SWUxdERBO01YeERKLGdCQUFBO01BQUEsbUJBQUE7SUo0eERJO0llcHVEQTtNWHhESixnQkFBQTtNQUFBLG1CQUFBO0lKNHhESTtJZXB1REE7TVh4REosZ0JBQUE7TUFBQSxtQkFBQTtJSjR4REk7SWVwdURBO01YeERKLGdCQUFBO01BQUEsbUJBQUE7SUo0eERJO0lldHFEQTtNWHRISixnQkFBQTtNQUFBLG1CQUFBO0lKdTJESTtJZWp2REE7TVh0SEosZ0JBQUE7TUFBQSxtQkFBQTtJSnUyREk7SWVqdkRBO01YdEhKLGdCQUFBO01BQUEsbUJBQUE7SUp1MkRJO0llanZEQTtNWHRISixnQkFBQTtNQUFBLG1CQUFBO0lKdTJESTtJZXpvREY7TVg5TkYsZ0JBQUE7TUFBQSxtQkFBQTtJSjYrREk7SWUvd0RGO01YOU5GLGdCQUFBO01BQUEsbUJBQUE7SUo2K0RJO0llL3dERjtNWDlORixnQkFBQTtNQUFBLG1CQUFBO0lKNitESTtJZS93REY7TVg5TkYsZ0JBQUE7TUFBQSxtQkFBQTtJSjYrREk7SWUvd0RGO01YOU5GLGdCQUFBO01BQUEsbUJBQUE7SUo2K0RJO0llM3VERjtNWGxRRixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUoraEVJO0llN3hERjtNWGxRRixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUoraEVJO0llN3hERjtNWGxRRixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUoraEVJO0llN3hERjtNWGxRRixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUoraEVJO0llN3hERjtNWGxRRixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUoraEVJO0llN3hERjtNWGxRRixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUoraEVJO0llN3hERjtNWGxRRixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUoraEVJO0llN3hERjtNWGxRRixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7TUFBQSx3QkFBQTtJSitoRUk7SWU3eERGO01YbFFGLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtNQUFBLHdCQUFBO0lKK2hFSTtJZXR0REk7TVh6VVIsZ0JBQUE7TUFBQSxtQkFBQTtJSnFuRUk7SWU1eURJO01YelVSLGdCQUFBO01BQUEsbUJBQUE7SUpxbkVJO0llNXlESTtNWHpVUixnQkFBQTtNQUFBLG1CQUFBO0lKcW5FSTtJZTV5REk7TVh6VVIsZ0JBQUE7TUFBQSxtQkFBQTtJSnFuRUk7SWU1eURJO01YelVSLGdCQUFBO01BQUEsbUJBQUE7SUpxbkVJO0llcnhESTtNWGhXUixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUpvcEVJO0llcHpESTtNWGhXUixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUpvcEVJO0llcHpESTtNWGhXUixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUpvcEVJO0llcHpESTtNWGhXUixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUpvcEVJO0llcHpESTtNWGhXUixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUpvcEVJO0llcHpESTtNWGhXUixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUpvcEVJO0llcHpESTtNWGhXUixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUpvcEVJO0llcHpESTtNWGhXUixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7TUFBQSx3QkFBQTtJSm9wRUk7SWVwekRJO01YaFdSLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtNQUFBLHdCQUFBO0lKb3BFSTtJaUJqaUVBO01ibkhKLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSndzR0k7SWlCcmxHQTtNYm5ISixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUp3c0dJO0lpQnJsR0E7TWJuSEosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKd3NHSTtJaUJybEdBO01ibkhKLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSndzR0k7SWlCcmxHQTtNYm5ISixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUp3c0dJO0lpQnJsR0E7TWJuSEosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKd3NHSTtJaUJybEdBO01ibkhKLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSndzR0k7SWlCcmxHQTtNYm5ISixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7TUFBQSx3QkFBQTtJSndzR0k7SWlCcmxHQTtNYm5ISixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7TUFBQSx3QkFBQTtJSndzR0k7SWlCaGxHQTtNYnhISixnQkFBQTtNQUFBLG1CQUFBO0lKaXRHSTtJaUJ6bEdBO01ieEhKLGdCQUFBO01BQUEsbUJBQUE7SUppdEdJO0lpQnpsR0E7TWJ4SEosZ0JBQUE7TUFBQSxtQkFBQTtJSml0R0k7SWlCemxHQTtNYnhISixnQkFBQTtNQUFBLG1CQUFBO0lKaXRHSTtJaUJqaUdBO01iaExKLGdCQUFBO01BQUEsbUJBQUE7SUpxeEdJO0lpQnJtR0E7TWJoTEosZ0JBQUE7TUFBQSxtQkFBQTtJSnF4R0k7SWlCcm1HQTtNYmhMSixnQkFBQTtNQUFBLG1CQUFBO0lKcXhHSTtJaUJybUdBO01iaExKLGdCQUFBO01BQUEsbUJBQUE7SUpxeEdJO0lpQnZ3Rkk7TWI5Z0JSLGdCQUFBO01BQUEsbUJBQUE7SUpzckhJO0lpQnhxR0k7TWI5Z0JSLGdCQUFBO01BQUEsbUJBQUE7SUpzckhJO0lpQnhxR0k7TWI5Z0JSLGdCQUFBO01BQUEsbUJBQUE7SUpzckhJO0lpQnhxR0k7TWI5Z0JSLGdCQUFBO01BQUEsbUJBQUE7SUpzckhJO0lpQi9vR0k7TWJ2aUJSLGdCQUFBO01BQUEsbUJBQUE7SUpzdEhJO0lpQi9xR0k7TWJ2aUJSLGdCQUFBO01BQUEsbUJBQUE7SUpzdEhJO0lpQi9xR0k7TWJ2aUJSLGdCQUFBO01BQUEsbUJBQUE7SUpzdEhJO0lpQi9xR0k7TWJ2aUJSLGdCQUFBO01BQUEsbUJBQUE7SUpzdEhJO0lpQnRwR0k7TWJoa0JSLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSnF2SEk7SWlCcnJHSTtNYmhrQlIsZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKcXZISTtJaUJyckdJO01iaGtCUixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUpxdkhJO0lpQnJyR0k7TWJoa0JSLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSnF2SEk7SWlCcnJHSTtNYmhrQlIsZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKcXZISTtJaUJyckdJO01iaGtCUixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUpxdkhJO0lpQnJyR0k7TWJoa0JSLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSnF2SEk7SWlCcnJHSTtNYmhrQlIsZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO01BQUEsd0JBQUE7SUpxdkhJO0lpQnJyR0k7TWJoa0JSLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtNQUFBLHdCQUFBO0lKcXZISTtJbUIvckhBO01mdERKLGdCQUFBO01BQUEsbUJBQUE7SUppa0lJO0ltQjNnSUE7TWZ0REosZ0JBQUE7TUFBQSxtQkFBQTtJSmlrSUk7SW1CM2dJQTtNZnRESixnQkFBQTtNQUFBLG1CQUFBO0lKaWtJSTtJbUIzZ0lBO01mdERKLGdCQUFBO01BQUEsbUJBQUE7SUppa0lJO0ltQjNnSUE7TWZ0REosZ0JBQUE7TUFBQSxtQkFBQTtJSmlrSUk7SW1CNStIQTtNZnJGSixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUprbklJO0ltQjdoSUE7TWZyRkosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKa25JSTtJbUI3aElBO01mckZKLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSmtuSUk7SW1CN2hJQTtNZnJGSixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUprbklJO0ltQjdoSUE7TWZyRkosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKa25JSTtJbUI3aElBO01mckZKLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSmtuSUk7SW1CN2hJQTtNZnJGSixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUprbklJO0ltQjdoSUE7TWZyRkosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO01BQUEsd0JBQUE7SUprbklJO0ltQjdoSUE7TWZyRkosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO01BQUEsd0JBQUE7SUprbklJO0ltQi9nSEE7TWZubUJKLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSjZ0Skk7SW1CMW5JQTtNZm5tQkosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKNnRKSTtJbUIxbklBO01mbm1CSixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7TUFBQSx3QkFBQTtJSjZ0Skk7SW1CL2hJQTtNZjlyQkosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKMHpKSTtJbUI1bklBO01mOXJCSixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUowekpJO0ltQjVuSUE7TWY5ckJKLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtNQUFBLHdCQUFBO0lKMHpKSTtJbUI1bElBO01mOXRCSixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUpnMkpJO0ltQmxvSUE7TWY5dEJKLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSmcySkk7SW1CbG9JQTtNZjl0QkosZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO01BQUEsd0JBQUE7SUpnMkpJO0lxQjV2SkE7TWpCcEdKLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSjByTEk7SXFCdGxMQTtNakJwR0osZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKMHJMSTtJcUJ0bExBO01qQnBHSixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUowckxJO0lxQnRsTEE7TWpCcEdKLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSjByTEk7SXFCdGxMQTtNakJwR0osZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO0lKMHJMSTtJcUJ0bExBO01qQnBHSixnQkFBQTtNQUFBLHFCQUFBO01BQUEsbUJBQUE7SUowckxJO0lxQnRsTEE7TWpCcEdKLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtJSjByTEk7SXFCdGxMQTtNakJwR0osZ0JBQUE7TUFBQSxxQkFBQTtNQUFBLG1CQUFBO01BQUEsd0JBQUE7SUowckxJO0lxQnRsTEE7TWpCcEdKLGdCQUFBO01BQUEscUJBQUE7TUFBQSxtQkFBQTtNQUFBLHdCQUFBO0lKMHJMSTtJcUJya0xBO01qQnJI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UjtFRTNsT0E7SW1CdXhDTTtNQVlJLHlDQUFBO01BQ0EsMENBQUE7SXJCNHpMUjtFQUNGO0VxQjF6TE07SUFDRSxXQUFBO0lBQ0EsY0FBQTtJQUNBLGtCQUFBO0lBQ0EsUUFBQTtJQUNBLG9DQUFBO0lBQ0Esd0NBQUE7SUFDQSxVQUFBO0lBQ0Esa0JBQUE7SUFDQSxnRUFBQTtFckI0ekxSO0VxQjF6TE07SUFDRSxrQkFBQTtJQUNBLFVBQUE7SUFDQSwwQ0FBQTtJQUNBLGlCQUFBO0lBQ0Esb0NBQUE7RXJCNHpMUjtFRW5uT0E7SW1Ca3pDTTtNQU9JLCtFQUFBO01BQ0EsaUJBQUE7SXJCOHpMUjtFQUNGO0FBQ0YiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGxheWVyIHJlc2V0LCBiYXNlLCBwYXJ0cywgY29tcG9uZW50cywgbHA7XG46cm9vdCB7XG4gIC8qIENPTE9SICovXG4gIC0tY29sb3ItYnJhbmQ6ICM1NkQ2RjI7XG4gIC0tY29sb3Itc2Vjb25kOiAjRjRGRjFEO1xuICAtLWNvbG9yLXN1cmZhY2U6ICNmZmZmZmY7XG4gIC0tY29sb3ItYmxhY2s6ICMzMzMzMzM7XG4gIC0tY29sb3ItYnRibHVlLTUwOiAjRDlGMUY2O1xuICAtLWNvbG9yLWJ0Ymx1ZS0xMDA6ICNCNkU2RjI7XG4gIC0tY29sb3ItYnRibHVlLTIwMDogIzk2RTFGMjtcbiAgLS1jb2xvci1idGJsdWUtMzAwOiAjNzZEQkYyO1xuICAtLWNvbG9yLWJ0Ymx1ZS00MDA6ICM1NkQ2RjI7XG4gIC0tY29sb3ItYnRibHVlLTUwMDogIzQyQUVDQTtcbiAgLS1jb2xvci1idGJsdWUtNjAwOiAjMjQ4MUEyO1xuICAtLWNvbG9yLWJ0Ymx1ZS03MDA6ICMxMDU5NzA7XG4gIC0tY29sb3ItZ3JheS1saWdodDogI0Y0RjRGNDtcbiAgLS1jb2xvci1ncmF5LW1lZGl1bTogI0Q5RDlEOTtcbiAgLS1jb2xvci1ncmF5LWRhcms6ICM4RjhGOEY7XG4gIC0tY29sb3ItdGV4dDogdmFyKC0tY29sb3ItYmxhY2spO1xuICAtLWNvbG9yLXRleHQtbWVkaXVtOiAjODg4ODg4O1xuICAtLWNvbG9yLXRleHQtbGlnaHQ6ICM5OTk5OTk7XG4gIC0tY29sb3ItdGV4dC1vbi1hY2NlbnQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAtLWNvbG9yLWJvcmRlci1saWdodDogI0Q5RDlEOTtcbiAgLS1jb2xvci1ib3JkZXItbWVkaXVtOiAjOUM5QzlDO1xuICAtLWNvbG9yLWJvcmRlci1kYXJrOiAjMzMzMzMzO1xuICAtLWNvbG9yLWJnOiAjRjhGOEY4O1xuICAtLWNvbG9yLWJnLXRhYmxlOiAjZWJlYmViO1xuICAtLWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJwYWx0XCIgMSw7XG4gIC0tZm9udC1mYW1pbHktamE6IFwiU2F0b3NoaVwiLCBcImhlaXNlaS1rYWt1LWdvdGhpYy1zdGRcIiwgc2Fucy1zZXJpZjtcbiAgLS1mb250LWZhbWlseS1lbjogXCJTYXRvc2hpXCIsIHNhbnMtc2VyaWY7XG4gIC0tbGluZS1oZWlnaHQteHhzbWFsbDoxMjAlO1xuICAtLWxpbmUtaGVpZ2h0LXhzbWFsbDoxNTAlO1xuICAtLWxpbmUtaGVpZ2h0LXNtYWxsOjE2MCU7XG4gIC0tbGluZS1oZWlnaHQtbWVkaXVtOjE4NSU7XG4gIC0tbGluZS1oZWlnaHQtbGFyZ2U6MjQwJTtcbiAgLS1sZXR0ZXItc3BhY2luZy1tZWRpdW06IDAuMDVlbTtcbiAgLS1mb250LXdlaWdodC1yZWd1bGFyOiAzMDA7XG4gIC0tZm9udC13ZWlnaHQtbWVkaXVtOiA1MDA7XG4gIC0tZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuICAtLWZvbnQtd2VpZ2h0LWJsYWNrOiA5MDA7XG4gIC0tcGFkZGluZy1zcDogMjQ7XG4gIC0td2lkdGgtY29udGFpbmVyOiAxNDQwcHg7XG4gIC0td2lkdGgtY29udGFpbmVyLXdpZGU6IDE0NDBweDtcbiAgLS1mcy14eHhzOiA4O1xuICAtLWZzLXh4czogMTE7XG4gIC0tZnMteHM6IDEzO1xuICAtLWZzLXM6IDE0O1xuICAtLWZzLW06IDE2O1xuICAtLWZzLWw6IDE4O1xuICAtLWZzLXhsOiAyMDtcbiAgLS1mcy14eGw6IDI0O1xuICAtLWZzLXh4eGw6IDI4O1xuICAtLWZzLXh4eHhsOiAzMjtcbiAgLS1mcy14eHh4eGw6IDQ4O1xuICAtLWZzLXh4eHh4eGw6IDY0O1xuICAtLWJvcmRlci1yYWRpdXMtcGlsbDogOTk5cHg7XG4gIC0tYm9yZGVyLXJhZGl1cy1jaXJjbGU6IDUwJTtcbiAgLS1ib3JkZXItcmFkaXVzLXNtYWxsOiA1O1xuICAtLWJvcmRlci1yYWRpdXMtbWVkaXVtOiAxMDtcbiAgLS1ib3JkZXItcmFkaXVzLWxhcmdlOiAyMDtcbiAgLS10cmFuc2l0aW9uLXNwZWVkLWZhc3Q6IC4ycztcbiAgLS10cmFuc2l0aW9uLXNwZWVkOiAuNHM7XG4gIC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93OiAuNnM7XG4gIC0tYmV6aWVyOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWZzLXh4eHM6IDEwO1xuICAgIC0tZnMteHhzOiAxMjtcbiAgICAtLWZzLXhzOiAxNDtcbiAgICAtLWZzLXM6IDE2O1xuICAgIC0tZnMtbTogMTg7XG4gICAgLS1mcy1sOiAyMDtcbiAgICAtLWZzLXhsOiAyNDtcbiAgICAtLWZzLXh4bDogMjg7XG4gICAgLS1mcy14eHhsOiAzMjtcbiAgICAtLWZzLXh4eHhsOiA0ODtcbiAgICAtLWZzLXh4eHh4bDogNjQ7XG4gICAgLS1mcy14eHh4eHhsOiA3MjtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWJvcmRlci1yYWRpdXMtc21hbGw6IDEwO1xuICAgIC0tYm9yZGVyLXJhZGl1cy1tZWRpdW06IDIwO1xuICAgIC0tYm9yZGVyLXJhZGl1cy1sYXJnZTogNDA7XG4gIH1cbn1cblxuQGxheWVyIHJlc2V0IHtcbiAgaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLCBjZW50ZXIsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLCB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHVuc2V0O1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgb2wsIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG4gIGNhcHRpb24sIHRoLCB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgcSwgYmxvY2txdW90ZSB7XG4gICAgcXVvdGVzOiBub25lO1xuICB9XG4gIHE6YmVmb3JlLCBxOmFmdGVyLCBibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbiAgYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gICo6YmVmb3JlLFxuKjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAqOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBodG1sIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbSkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGJvZHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWZvbnQtZmVhdHVyZS1zZXR0aW5ncyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWphKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBmb250LW9wdGljYWwtc2l6aW5nOiBhdXRvO1xuICAgIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzc1ICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJoZWFkZXJcIiBhdXRvIFwibWFpblwiIGF1dG8gXCJmb290ZXJcIiAxZnIvMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjRTNFN0U5IDE4LjI3JSwgI0MyQ0NEMCA2My40NiUsICM1MjZEN0IgODMuMTclKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTNFN0U5O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGJvZHkge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBib2R5LmlzLWZpeGVkLCBib2R5LmZpeGVkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIGJvZHkucmV2ZXJzZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzUyNkQ3QiA3OC44OSUsICNDMkNDRDAgOTAuNjclLCAjRTNFN0U5IDEwMCUpO1xuICB9XG4gIGJvZHkudG9wIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjRTNFN0U5IDE1LjM4JSwgI0MyQ0NEMCAyOS44MSUsICM1MjZEN0IgMzkuOSUsICM5OUE5QjEgODEuMjUlLCAjRDZEQ0RGIDEwMCUpO1xuICB9XG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIGxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBhW2hyZWZePVwidGVsOlwiXSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgYWJiciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGJyLnNwLW9ubHkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgYnIucGMtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBici5wYy1vbmx5IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gIH1cbiAgOndoZXJlKGJ1dHRvbiwgW3R5cGU9YnV0dG9uXSwgW3R5cGU9cmVzZXRdLCBbdHlwZT1zdWJtaXRdKSB7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cbiAgOndoZXJlKDphbnktbGluayxcbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdLFxubGFiZWxbZm9yXSxcbnNlbGVjdCxcbnN1bW1hcnksXG5bcm9sZT10YWJdLFxuW3JvbGU9YnV0dG9uXSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICA6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICBzdXAsXG5zdWIge1xuICAgIGhlaWdodDogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICB9XG4gIHN1cCB7XG4gICAgYm90dG9tOiAwLjc1ZXg7XG4gIH1cbiAgc3ViIHtcbiAgICB0b3A6IDAuNWV4O1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG4gIC5zdmdfZGVmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIHByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB9XG4gIGh0bWwubGVuaXMsXG5odG1sLmxlbmlzIGJvZHkge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAubGVuaXMubGVuaXMtc21vb3RoIHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAubGVuaXMubGVuaXMtc21vb3RoIFtkYXRhLWxlbmlzLXByZXZlbnRdIHtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB9XG4gIC5sZW5pcy5sZW5pcy1zdG9wcGVkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5sZW5pcy5sZW5pcy1zY3JvbGxpbmcgaWZyYW1lIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICBodG1sLmlzLWNoYW5naW5nIC50cmFuc2l0aW9uLWZhZGUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIGh0bWwuaXMtYW5pbWF0aW5nIC50cmFuc2l0aW9uLWZhZGUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5oaWRkZW4tc3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmhpZGRlbi1zcCB7XG4gICAgICBkaXNwbGF5OiB1bnNldDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmhpZGRlbi1wYyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4MHB4KSB7XG4gICAgLmhpZGRlbi1vdmVyLXRibCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGlkZGVuLW92ZXItdGIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gICAgLmhpZGRlbi1vdmVyLXNwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC52aXN1YWxseS1oaWRkZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgfVxuICBtYWluIHtcbiAgICBncmlkLWFyZWE6IG1haW47XG4gICAgcGFkZGluZy10b3A6IGNhbGMoNjAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgbWFpbiB7XG4gICAgICBwYWRkaW5nLXRvcDogbWluKDEwMHB4LCBjYWxjKDEwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBoZWFkZXIge1xuICAgIGdyaWQtYXJlYTogaGVhZGVyO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gIH1cbiAgYm9keS5pcy1kb3duIGhlYWRlciB7XG4gICAgdHJhbnNsYXRlOiAwIC0xMjAlO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1iZXppZXIpO1xuICB9XG4gIGJvZHkuaXMtZml4ZWQgaGVhZGVyIHtcbiAgICB0cmFuc2xhdGU6IDAgLTEyMCU7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWJlemllcik7XG4gIH1cbiAgaGVhZGVyIC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGhlYWRlciAuaW5uZXIge1xuICAgICAgaGVpZ2h0OiBtaW4oMTAwcHgsIGNhbGMoMTAwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgaGVhZGVyIC5pbm5lciAjbG9nbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgfVxuICBoZWFkZXIgLmlubmVyICNsb2dvIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDEzNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBhc3BlY3QtcmF0aW86IDEzNi8yNDtcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9sb2dvLnN2Zyk7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIGhlYWRlciAuaW5uZXIgI2xvZ28gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW1lZGl1bSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW1lZGl1bSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGhlYWRlciAuaW5uZXIgI2xvZ28gYSB7XG4gICAgICB3aWR0aDogbWluKDI0NHB4LCBjYWxjKDI0NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBoZWFkZXIgLmlubmVyICNjb250YWN0QnV0dG9uIGEge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIHBhZGRpbmc6IGNhbGMoNCAvIDM3NSAqIDEwMHZ3KSBjYWxjKDEyIC8gMzc1ICogMTAwdncpO1xuICAgIGJvcmRlcjogY2FsYygwLjYgLyAzNzUgKiAxMDB2dykgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgaGVhZGVyIC5pbm5lciAjY29udGFjdEJ1dHRvbiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBoZWFkZXIgLmlubmVyICNjb250YWN0QnV0dG9uIGEge1xuICAgICAgcGFkZGluZzogbWluKDEwcHgsIGNhbGMoMTAgLyAxNDQwICogMTAwdncpKSBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgfVxuICB9XG4gIGhlYWRlciAuaW5uZXIgI21lbnVCdXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gICAgei1pbmRleDogMTAzO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIHdpZHRoOiBjYWxjKDMwIC8gMzc1ICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBoZWFkZXIgLmlubmVyICNtZW51QnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIGhlYWRlciAuaW5uZXIgI21lbnVCdXR0b24gLmxpbmVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGNhbGMoMzAgLyAzNzUgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDMwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIGhlYWRlciAuaW5uZXIgI21lbnVCdXR0b24gLmxpbmVzIHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKDQgLyAzNzUgKiAxMDB2dyk7XG4gICAgd2lkdGg6IGNhbGMoMjIgLyAzNzUgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDIgLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllciksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSAwLjJzLCB0b3AgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSAwLjJzO1xuICB9XG4gIGhlYWRlciAuaW5uZXIgI21lbnVCdXR0b24gLmxpbmVzIHNwYW4ubGluZTAxIHtcbiAgICB0b3A6IGNhbGMoNiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBoZWFkZXIgLmlubmVyICNtZW51QnV0dG9uIC5saW5lcyBzcGFuLmxpbmUwMiB7XG4gICAgdG9wOiBjYWxjKDE0IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIGhlYWRlciAuaW5uZXIgI21lbnVCdXR0b24gLmxpbmVzIHNwYW4ubGluZTAzIHtcbiAgICB0b3A6IGNhbGMoMjIgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgaGVhZGVyIC5pbm5lciAjbWVudUJ1dHRvbi5zaG93IC5saW5lcyBzcGFuIHtcbiAgICB0b3A6IGNhbGMoMTUgLyAzNzUgKiAxMDB2dyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCB0b3AgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSwgb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSAwLjJzO1xuICB9XG4gIGhlYWRlciAuaW5uZXIgI21lbnVCdXR0b24uc2hvdyAubGluZXMgc3Bhbi5saW5lMDEge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7XG4gIH1cbiAgaGVhZGVyIC5pbm5lciAjbWVudUJ1dHRvbi5zaG93IC5saW5lcyBzcGFuLmxpbmUwMiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKC00NWRlZyk7XG4gIH1cbiAgaGVhZGVyIC5pbm5lciAjbWVudUJ1dHRvbi5zaG93IC5saW5lcyBzcGFuLmxpbmUwMyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICBoZWFkZXIgLmlubmVyICNnbmF2IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiBjYWxjKDI4MCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDUyMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICB6LWluZGV4OiAxMDI7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpO1xuICAgIGJveC1zaGFkb3c6IC0xNzZweCAwIDQ5cHggMCByZ2JhKDAsIDAsIDAsIDApLCAtMTEzcHggMCA0NXB4IDAgcmdiYSgwLCAwLCAwLCAwLjAxKSwgLTYzcHggMCAzOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjAzKSwgLTI4cHggMCAyOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA0KSwgLTdweCAwIDE1cHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGhlYWRlciAuaW5uZXIgI2duYXYge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHVuc2V0O1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiB1bnNldDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogbm9uZTtcbiAgICB9XG4gIH1cbiAgaGVhZGVyIC5pbm5lciAjZ25hdi5zaG93IHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIGhlYWRlciAuaW5uZXIgI2duYXYuc2hvdyAuZ25hdmlubmVyIHtcbiAgICB0cmFuc2xhdGU6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBoZWFkZXIgLmlubmVyICNnbmF2IC5nbmF2aW5uZXIge1xuICAgIHBhZGRpbmc6IGNhbGMoNjQgLyAzNzUgKiAxMDB2dykgY2FsYygxNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpLCB0cmFuc2xhdGUgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGhlYWRlciAuaW5uZXIgI2duYXYgLmduYXZpbm5lciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNsYXRlOiAwO1xuICAgICAgcGFkZGluZzogdW5zZXQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgaGVhZGVyIC5pbm5lciAjZ25hdiAuZ25hdmlubmVyIC5tYWluOm5vdCgubHApIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGhlYWRlciAuaW5uZXIgI2duYXYgLmduYXZpbm5lciAubWFpbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBnYXA6IG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGhlYWRlciAuaW5uZXIgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLWwpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGhlYWRlciAuaW5uZXIgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGhlYWRlciAuaW5uZXIgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDQgLyAzNzUgKiAxMDB2dyk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyB2YXIoLS1iZXppZXIpO1xuICB9XG4gIGhlYWRlciAuaW5uZXIgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaSBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGhlYWRlciAuaW5uZXIgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaSBhIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgfVxuICB9XG4gIGhlYWRlciAuaW5uZXIgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaSBhLmlzLWFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgfVxuICBoZWFkZXIgLmlubmVyICNnbmF2IC5nbmF2aW5uZXIgLnN1YiB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygyOCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBoZWFkZXIgLmlubmVyICNnbmF2IC5nbmF2aW5uZXIgLnN1YiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBoZWFkZXIgLmlubmVyICNnbmF2IC5nbmF2aW5uZXIgLnN1YiBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDggLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBoZWFkZXIgLmlubmVyICNnbmF2IC5nbmF2aW5uZXIgLmxvZ28ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzYgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgaGVhZGVyIC5pbm5lciAjZ25hdiAuZ25hdmlubmVyIC5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIGhlYWRlciAuaW5uZXIgI2duYXYgLmduYXZpbm5lciAubG9nbyBhIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoMTI4IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIC5yZXZlcnNlIGhlYWRlciAuaW5uZXIgI2xvZ28gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnJldmVyc2UgaGVhZGVyIC5pbm5lciAjbG9nbyBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktbWVkaXVtKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktbWVkaXVtKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnJldmVyc2UgaGVhZGVyIC5pbm5lciAjZ25hdiAuZ25hdmlubmVyIC5tYWluIGxpIGEge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyB2YXIoLS1iZXppZXIpO1xuICAgIH1cbiAgICAucmV2ZXJzZSBoZWFkZXIgLmlubmVyICNnbmF2IC5nbmF2aW5uZXIgLm1haW4gbGkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIH1cbiAgICAucmV2ZXJzZSBoZWFkZXIgLmlubmVyICNnbmF2IC5nbmF2aW5uZXIgLm1haW4gbGkgYS5pcy1hY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG4gIH1cbiAgLnJldmVyc2UgaGVhZGVyIC5pbm5lciAjbWVudUJ1dHRvbiAubGluZXMgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIH1cbiAgLnJldmVyc2UgaGVhZGVyIC5pbm5lciAjbWVudUJ1dHRvbi5zaG93IC5saW5lcyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIH1cbiAgI3BhZ2V0b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgcmlnaHQ6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2V0b3Age1xuICAgICAgYm90dG9tOiBtaW4oNTBweCwgY2FsYyg1MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcmlnaHQ6IG1pbig1MHB4LCBjYWxjKDUwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNwYWdldG9wIGEge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyB2YXIoLS1iZXppZXIpO1xuICB9XG4gICNwYWdldG9wIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuICAjcGFnZXRvcCBhIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoNDggLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2V0b3AgYSBpbWcge1xuICAgICAgd2lkdGg6IG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNwYWdldG9wLmlzLXNjcm9sbCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG4gICNwYWdldG9wLmlzLWJvdHRvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICBmb290ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBncmlkLWFyZWE6IGZvb3RlcjtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDY0IC8gMzc1ICogMTAwdncpIGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbig5MHB4LCBjYWxjKDkwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDQ4cHgsIGNhbGMoNDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjYwcHgsIGNhbGMoMTI2MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcImxvZ28gZm9vdG5hdlwiIGF1dG8gXCJjb3B5cmlnaHQgY29weXJpZ2h0XCIgYXV0by82MCUgYXV0bztcbiAgICAgIGdyaWQtZ2FwOiBtaW4oODRweCwgY2FsYyg4NCAvIDE0NDAgKiAxMDB2dykpIDA7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYge1xuICAgICAgZ3JpZC1hcmVhOiBmb290bmF2O1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiAudW5pdCAubWFpbiB7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhzbWFsbCk7XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiAudW5pdCAubWFpbiA+IGxpIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbSkgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgLm1haW4gPiBsaSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgLm1haW4gPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IHVuc2V0O1xuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgLm1haW4gPiBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IC5tYWluID4gbGkgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IC5tYWluID4gbGkgYSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IC5tYWluID4gbGkgdWwge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgLm1haW4gPiBsaSB1bCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWluKDEycHgsIGNhbGMoMTIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiAudW5pdCAubWFpbiA+IGxpIHVsIGxpIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiAudW5pdCAubWFpbiA+IGxpIHVsIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiAudW5pdCAubWFpbiA+IGxpIHVsIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IC5tYWluID4gbGkgdWwgbGkgYSB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg0IC8gMzc1ICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBnYXA6IGNhbGMoNCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IC5tYWluID4gbGkgdWwgbGkgYTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuODu1wiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgLm1haW4gPiBsaSB1bCBsaSBhIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbig2cHgsIGNhbGMoNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oNHB4LCBjYWxjKDQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiAudW5pdCAuc3ViIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDY0IC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14c21hbGwpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgLnN1YiB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXRvcDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgLnN1YiBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDQgLyAzNzUgKiAxMDB2dyk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyB2YXIoLS1iZXppZXIpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IC5zdWIgbGkgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IC5zdWIgbGkgYSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5sb2dvIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDY0IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmxvZ28ge1xuICAgICAgZ3JpZC1hcmVhOiBsb2dvO1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIGZvb3RlciAuaW5uZXIgLmxvZ28gLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygxMjggLyAzNzUgKiAxMDB2dyk7XG4gICAgYXNwZWN0LXJhdGlvOiA5OS8xNztcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9sb2dvLnN2Zyk7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmxvZ28gLmltYWdlIHtcbiAgICAgIHdpZHRoOiBtaW4oMjQzcHgsIGNhbGMoMjQzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGZvb3RlciAuaW5uZXIgLmNvcHlyaWdodCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5jb3B5cmlnaHQge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICBncmlkLWFyZWE6IGNvcHlyaWdodDtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuY29weXJpZ2h0IHAge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHMpIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmNvcHlyaWdodCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuICAgIH1cbiAgfVxufVxuQGxheWVyIHBhcnRzIHtcbiAgLmZhZGVVcCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgMC41cztcbiAgfVxuICAuZmFkZVVwLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAucFRpdGxlIC5lbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4eHh4bCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNsYXRlOiBjYWxjKC0zIC8gMzc1ICogMTAwdncpIDA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBUaXRsZSAuZW4ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eHh4eHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHh4eHh4bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHRyYW5zbGF0ZTogbWF4KC0zcHgsIGNhbGMoLTMgLyAxNDQwICogMTAwdncpKSAwO1xuICAgIH1cbiAgfVxuICAucFRpdGxlIC5lbiBzcGFuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAucFRpdGxlIC5qYSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wVGl0bGUgLmphIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14cykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFN1YnRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnBTdWJ0aXRsZS5yZXZlcnNlIC5qYSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wU3VidGl0bGUucmV2ZXJzZSAuamEge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wU3VidGl0bGUucmV2ZXJzZSAuZW4ge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICB9XG4gIC5wU3VidGl0bGUgLmphIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbSkgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wU3VidGl0bGUgLmphIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wU3VidGl0bGUgLmVuIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIGF1dG87XG4gICAgZ2FwOiBjYWxjKDQgLyAzNzUgKiAxMDB2dyk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFN1YnRpdGxlIC5lbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4cykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFN1YnRpdGxlIC5lbjo6YmVmb3JlLCAucFN1YnRpdGxlIC5lbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoOCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoOCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFN1YnRpdGxlIC5lbjo6YmVmb3JlLCAucFN1YnRpdGxlIC5lbjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IG1pbigxM3B4LCBjYWxjKDEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigxM3B4LCBjYWxjKDEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wU3VidGl0bGUgLmVuOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLnBCb3gge1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogY2FsYygxNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBnYXA6IGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBCb3gge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKDE1cHgsIGNhbGMoMTUgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB3aWR0aDogbWluKDI1M3B4LCBjYWxjKDI1MyAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEJveCBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDYwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQm94IGltZyB7XG4gICAgICB3aWR0aDogbWluKDEwMHB4LCBjYWxjKDEwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEJveCBmaWdjYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMzQgLyAzNzUgKiAxMDB2dyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQm94IGZpZ2NhcHRpb24ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1tKSAqIDFweCksIGNhbGModmFyKC0tZnMtbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1pbi1oZWlnaHQ6IG1pbig1NXB4LCBjYWxjKDU1IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgZ2FwOiBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgLyAzNzUgKiAxMDB2dyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBwYWRkaW5nOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpIGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBCdXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEJ1dHRvbiB7XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpIG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtaW4td2lkdGg6IG1pbigyMTBweCwgY2FsYygyMTAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQnV0dG9uOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvYXJyb3dfYnV0dG9uLnN2Zyk7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQnV0dG9uOjphZnRlciB7XG4gICAgICB3aWR0aDogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBCdXR0b24gc3BhbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQnV0dG9uIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBCdXR0b24udHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtZmFzdCkgdmFyKC0tYmV6aWVyKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIHZhcigtLWJlemllcik7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtZmFzdCkgdmFyKC0tYmV6aWVyKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wQnV0dG9uLnRyYW5zcGFyZW50OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgIH1cbiAgfVxuICAucEJ1dHRvbi50cmFuc3BhcmVudDpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS03MDApO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wQnV0dG9uLnRyYW5zcGFyZW50OmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgfVxuICB9XG4gIC5wQnV0dG9uLnRyYW5zcGFyZW50OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wQnV0dG9uLnRyYW5zcGFyZW50OmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtNzAwKTtcbiAgICB9XG4gIH1cbiAgLnBTdWIge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5zdGFnZSB7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDRweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMi41cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzdkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAwLjUzJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDEwMS4xOSUpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zdGFnZSB7XG4gICAgICB3aWR0aDogbWluKDEyNjBweCwgY2FsYygxMjYwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpKTtcbiAgICB9XG4gIH1cbiAgLmJnVG9wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYmdfdG9wLndlYnApO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYXNwZWN0LXJhdGlvOiA3NTAvMjM3NjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmdUb3Age1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYmdfdG9wX3BjLndlYnApO1xuICAgICAgYXNwZWN0LXJhdGlvOiAyODgwLzM0NjY7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXZlcnNlIC5iZ1RvcCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9iZ190b3BfZGFya19wYy53ZWJwKTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMjg4MC80MTExO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wIC5iZ1RvcCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9iZ190b3BfdG9wcGFnZV9wYy53ZWJwKTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMjg4MC80NDcyO1xuICAgIH1cbiAgfVxuICAuYmdQbGFuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9iZ19wbGFuLndlYnApO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYXNwZWN0LXJhdGlvOiA3NTAvMjg4MDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYmdQbGFuIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2JnX3BsYW5fcGMud2VicCk7XG4gICAgICBhc3BlY3QtcmF0aW86IDI4ODAvNTEyOTtcbiAgICAgIHRyYW5zbGF0ZTogMCBtYXgoLTkxNnB4LCBjYWxjKC05MTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbn1cbkBsYXllciBjb21wb25lbnRzIHtcbiAgLmJyZWFkQ3J1bWIge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNDAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmJyZWFkQ3J1bWIge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDE4MHB4LCBjYWxjKDE4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuYnJlYWRDcnVtYiAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5icmVhZENydW1iIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjYwcHgsIGNhbGMoMTI2MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuYnJlYWRDcnVtYiAuaW5uZXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogY2FsYygyIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5icmVhZENydW1iIC5pbm5lciB1bCB7XG4gICAgICBnYXA6IG1pbigycHgsIGNhbGMoMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuYnJlYWRDcnVtYiAuaW5uZXIgdWwgbGkge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiBjYWxjKDIgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmJyZWFkQ3J1bWIgLmlubmVyIHVsIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMnB4LCBjYWxjKDIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmJyZWFkQ3J1bWIgLmlubmVyIHVsIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi44O8XCI7XG4gIH1cbiAgLmJyZWFkQ3J1bWIgLmlubmVyIHVsIGxpOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmJyZWFkQ3J1bWIgLmlubmVyIHVsIGxpIGEge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICAuYnJlYWRDcnVtYiAuaW5uZXIgdWwgbGkgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgfVxuICAucmV2ZXJzZSAuYnJlYWRDcnVtYiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICB9XG4gIC5hbmNob3JMaW5rIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5hbmNob3JMaW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigxMjBweCwgY2FsYygxMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmFuY2hvckxpbmsgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYW5jaG9yTGluayAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTEwOHB4LCBjYWxjKDExMDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFuY2hvckxpbmsgLmlubmVyIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG4gIC5hbmNob3JMaW5rIC5pbm5lciB1bCBsaSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFuY2hvckxpbmsgLmlubmVyIHVsIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB9XG4gICAgLmFuY2hvckxpbmsgLmlubmVyIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cbiAgfVxuICAuYW5jaG9yTGluayAuaW5uZXIgdWwgbGkgYSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygxNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIHZhcigtLWJlemllcik7XG4gICAgZ2FwOiBjYWxjKDggLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgLmFuY2hvckxpbmsgLmlubmVyIHVsIGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFuY2hvckxpbmsgLmlubmVyIHVsIGxpIGEge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmFuY2hvckxpbmsgLmlubmVyIHVsIGxpIGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDE0IC8gMzc1ICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygxNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL2Fycm93X2FuY2hvci5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5hbmNob3JMaW5rIC5pbm5lciB1bCBsaSBhOjphZnRlciB7XG4gICAgICB3aWR0aDogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigxOHB4LCBjYWxjKDE4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wYWdlVGl0bGUge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoODAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2VUaXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGFnZVRpdGxlIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2VUaXRsZSAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTI2MHB4LCBjYWxjKDEyNjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2VUaXRsZSAuaW5uZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICB9XG4gIH1cbiAgLnBhZ2VUaXRsZSAuaW5uZXIgLmxlYWQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhsKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2VUaXRsZSAuaW5uZXIgLmxlYWQge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHh4bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgfVxuICB9XG4gIC5wYWdlVGl0bGUgLmlubmVyIC5sZWFkLnNtYWxsIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbSkgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2VUaXRsZSAuaW5uZXIgLmxlYWQuc21hbGwge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1tKSAqIDFweCksIGNhbGModmFyKC0tZnMtbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMDAlO1xuICAgIH1cbiAgfVxuICAucmV2ZXJzZSAucGFnZVRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIH1cbiAgLnBsYW5TbGlkZXIge1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoMTIwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuU2xpZGVyIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigxODBweCwgY2FsYygxODAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5TbGlkZXIgLnRpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuU2xpZGVyIC50aXRsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjYwcHgsIGNhbGMoMTI2MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblNsaWRlciAudGl0bGUge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwidGl0bGUgYnV0dG9uXCIgYXV0byBcImxlYWQgYnV0dG9uXCIgYXV0by8xZnIgYXV0bztcbiAgICAgIGdhcDogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5TbGlkZXIgLnRpdGxlIC5wVGl0bGUge1xuICAgICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5TbGlkZXIgLnRpdGxlIC5wVGl0bGUgLmVuIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHh4eGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHh4bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5TbGlkZXIgLnRpdGxlIC5sZWFkIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDMyIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblNsaWRlciAudGl0bGUgLmxlYWQge1xuICAgICAgZ3JpZC1hcmVhOiBsZWFkO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1sKSAqIDFweCksIGNhbGModmFyKC0tZnMtbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAucGxhblNsaWRlciAudGl0bGUgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblNsaWRlciAudGl0bGUgLmJ1dHRvbiB7XG4gICAgICBncmlkLWFyZWE6IGJ1dHRvbjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAucGxhblNsaWRlciAudGl0bGUgLmJ1dHRvbiAucEJ1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBsYW5TbGlkZXIgLnRpdGxlIC5idXR0b24gLnBCdXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgfVxuICB9XG4gIC5wbGFuU2xpZGVyIC5zcEJ1dHRvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg4MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblNsaWRlciAuc3BCdXR0b24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTI2MHB4LCBjYWxjKDEyNjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5TbGlkZXIgLnNwQnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5wbGFuU2xpZGVyIC5zcEJ1dHRvbiAucEJ1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBsYW5TbGlkZXIgLnNwQnV0dG9uIC5wQnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgIH1cbiAgfVxuICAucGxhblNsaWRlciAjcGxhblNsaWRlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuU2xpZGVyICNwbGFuU2xpZGUge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDEyMHB4LCBjYWxjKDEyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblNsaWRlciAjcGxhblNsaWRlIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIHtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyg4IC8gMzc1ICogMTAwdncpO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblNsaWRlciAjcGxhblNsaWRlIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblNsaWRlciAjcGxhblNsaWRlIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlOiBcImJnXCIgMWZyIFwicGxhblRpdGxlXCIgYXV0by9hdXRvO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAucGxhblNsaWRlciAjcGxhblNsaWRlIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAuYmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmc6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgZ3JpZC1hcmVhOiBiZztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblNsaWRlciAjcGxhblNsaWRlIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAuYmcge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJ0b3AgaW1hZ2VcIiBhdXRvIFwiYm90dG9tIGltYWdlXCIgYXV0by8xZnIgbWluKDMyM3B4LCBjYWxjKDMyMyAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblNsaWRlciAjcGxhblNsaWRlIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAuYmcgLmltYWdlIHtcbiAgICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgfVxuICB9XG4gIC5wbGFuU2xpZGVyICNwbGFuU2xpZGUgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIC5iZyAudG9wIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuU2xpZGVyICNwbGFuU2xpZGUgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIC5iZyAudG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgZ3JpZC1hcmVhOiB0b3A7XG4gICAgfVxuICB9XG4gIC5wbGFuU2xpZGVyICNwbGFuU2xpZGUgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIC5iZyAudG9wIC5udW0ge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5TbGlkZXIgI3BsYW5TbGlkZSAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLmJnIC50b3AgLm51bSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5TbGlkZXIgI3BsYW5TbGlkZSAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLmJnIC5ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5TbGlkZXIgI3BsYW5TbGlkZSAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLmJnIC5ib3R0b20ge1xuICAgICAgcGFkZGluZy1yaWdodDogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgZ3JpZC1hcmVhOiBib3R0b207XG4gICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgfVxuICB9XG4gIC5wbGFuU2xpZGVyICNwbGFuU2xpZGUgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIC5iZyAuYm90dG9tIC5wbGFuIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuU2xpZGVyICNwbGFuU2xpZGUgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIC5iZyAuYm90dG9tIC5wbGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuU2xpZGVyICNwbGFuU2xpZGUgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIC5iZyAuYm90dG9tIC50YWcge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IGNhbGMoMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5TbGlkZXIgI3BsYW5TbGlkZSAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLmJnIC5ib3R0b20gLnRhZyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5TbGlkZXIgI3BsYW5TbGlkZSAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLmJnIC5ib3R0b20gLnRhZyBsaSB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgcGFkZGluZzogY2FsYyg1IC8gMzc1ICogMTAwdncpIGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4cykgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5TbGlkZXIgI3BsYW5TbGlkZSAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLmJnIC5ib3R0b20gLnRhZyBsaSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4cykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbig1cHgsIGNhbGMoNSAvIDE0NDAgKiAxMDB2dykpIG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuU2xpZGVyICNwbGFuU2xpZGUgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIC5iZyAuYm90dG9tIC5vdXRsaW5lIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblNsaWRlciAjcGxhblNsaWRlIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAuYmcgLmJvdHRvbSAub3V0bGluZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblNsaWRlciAjcGxhblNsaWRlIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAuYmcgLmJvdHRvbSAub3V0bGluZSBsaSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDIwMCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5TbGlkZXIgI3BsYW5TbGlkZSAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLmJnIC5ib3R0b20gLm91dGxpbmUgbGkge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblNsaWRlciAjcGxhblNsaWRlIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAucGxhblRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgZ3JpZC1hcmVhOiBwbGFuVGl0bGU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5TbGlkZXIgI3BsYW5TbGlkZSAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLnBsYW5UaXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblNsaWRlciAjcGxhblNsaWRlIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAucGxhblRpdGxlIC5lbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4bCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICBnYXA6IGNhbGMoOCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuU2xpZGVyICNwbGFuU2xpZGUgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIC5wbGFuVGl0bGUgLmVuIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiB1bnNldDtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4eGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuU2xpZGVyICNwbGFuU2xpZGUgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIC5wbGFuVGl0bGUgLmVuOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoOCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoOCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblNsaWRlciAjcGxhblNsaWRlIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAucGxhblRpdGxlIC5lbjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiBtaW4oMTVweCwgY2FsYygxNSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oMTVweCwgY2FsYygxNSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblNsaWRlciAjcGxhblNsaWRlIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAucGxhblRpdGxlIC5qYSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0IC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5TbGlkZXIgI3BsYW5TbGlkZSAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLnBsYW5UaXRsZSAuamEge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDRweCwgY2FsYyg0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29udGFjdEFyZWEge1xuICAgIHBhZGRpbmc6IGNhbGMoNjQgLyAzNzUgKiAxMDB2dykgY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMzc1ICogMTAwdncpIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgLyAzNzUgKiAxMDB2dykgMCAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzJkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSAyMy41MiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSA5NS42NCUpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMi41cHgpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWN0QXJlYSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oOTBweCwgY2FsYyg5MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDE0NDAgKiAxMDB2dykpIDAgMDtcbiAgICB9XG4gIH1cbiAgLnBsYW5Ub3BDYXB0aW9uICsgLmNvbnRhY3RBcmVhIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcENhcHRpb24gKyAuY29udGFjdEFyZWEge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDMwMHB4LCBjYWxjKDMwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wV3JhcHBlci5ib3R0b20gKyAuY29udGFjdEFyZWEge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTIwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BXcmFwcGVyLmJvdHRvbSArIC5jb250YWN0QXJlYSB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLnN0YWdlLmNvbnRhY3QgKyAuY29udGFjdEFyZWEge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTIwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zdGFnZS5jb250YWN0ICsgLmNvbnRhY3RBcmVhIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigxODBweCwgY2FsYygxODAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbnRhY3RBcmVhIC5pbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1idGJsdWUtNTAsICNEOUYxRjYpO1xuICAgIHBhZGRpbmc6IGNhbGMoNDAgLyAzNzUgKiAxMDB2dykgY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFjdEFyZWEgLmlubmVyIHtcbiAgICAgIHdpZHRoOiBtaW4oMTI2MHB4LCBjYWxjKDEyNjAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICBwYWRkaW5nOiBtaW4oODBweCwgY2FsYyg4MCAvIDE0NDAgKiAxMDB2dykpIG1pbigxMDhweCwgY2FsYygxMDggLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFjdEFyZWEgLmlubmVyIC50aXRsZSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgbWluKDYxMnB4LCBjYWxjKDYxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIH1cbiAgfVxuICAuY29udGFjdEFyZWEgLmlubmVyIC50aXRsZSAubGVhZCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhY3RBcmVhIC5pbm5lciAudGl0bGUgLmxlYWQge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLmNvbnRhY3RBcmVhIC5pbm5lciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFjdEFyZWEgLmlubmVyIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDgwcHgsIGNhbGMoODAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbnRhY3RBcmVhIC5pbm5lciAuYnV0dG9uOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKC0yMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsZWZ0OiBjYWxjKDE0NCAvIDM3NSAqIDEwMHZ3KTtcbiAgICB3aWR0aDogY2FsYyg1NiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoNTYgLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9jb250YWN0LndlYnApO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFjdEFyZWEgLmlubmVyIC5idXR0b246OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBtaW4oMTI3cHgsIGNhbGMoMTI3IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigxMjdweCwgY2FsYygxMjcgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHRvcDogbWF4KC01MnB4LCBjYWxjKC01MiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGVmdDogbWluKDU2cHgsIGNhbGMoNTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbnRhY3RBcmVhIC5pbm5lciAuYnV0dG9uIGEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgZ2FwOiBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgcGFkZGluZzogY2FsYygxNiAvIDM3NSAqIDEwMHZ3KSBjYWxjKDI0IC8gMzc1ICogMTAwdncpIGNhbGMoMTYgLyAzNzUgKiAxMDB2dykgY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFjdEFyZWEgLmlubmVyIC5idXR0b24gYSB7XG4gICAgICBnYXA6IG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oNTRweCwgY2FsYyg1NCAvIDE0NDAgKiAxMDB2dykpIG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5jb250YWN0QXJlYSAuaW5uZXIgLmJ1dHRvbiBhOmhvdmVyOjpiZWZvcmUge1xuICAgICAgdHJhbnNsYXRlOiAwIDA7XG4gICAgfVxuICB9XG4gIC5jb250YWN0QXJlYSAuaW5uZXIgLmJ1dHRvbiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygzMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMzAgLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYXJyb3dfY29udGFjdC5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFjdEFyZWEgLmlubmVyIC5idXR0b24gYTo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IG1pbig4MHB4LCBjYWxjKDgwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbig4MHB4LCBjYWxjKDgwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb250YWN0QXJlYSAuaW5uZXIgLmJ1dHRvbiBhOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zbGF0ZTogLTEyMCUgMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIC5jb250YWN0QXJlYSAuaW5uZXIgLmJ1dHRvbiBhIHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1tKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhY3RBcmVhIC5pbm5lciAuYnV0dG9uIGEgc3BhbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4eGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgfVxuICB9XG4gIC5zdGFnZS5wbGFuIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoNjQgLyAzNzUgKiAxMDB2dykgY2FsYyg4MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc3RhZ2UucGxhbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDEyMHB4LCBjYWxjKDEyMCAvIDE0NDAgKiAxMDB2dykpIG1pbigxODBweCwgY2FsYygxODAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnN0YWdlLnBsYW5TUCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpIGNhbGMoNDAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnN0YWdlLnBsYW5TUCB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHVuc2V0O1xuICAgICAgZmlsdGVyOiB1bnNldDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0O1xuICAgICAgYmFja2Ryb3AtZmlsdGVyOiB1bnNldDtcbiAgICAgIGJhY2tncm91bmQ6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAuc3RhZ2UucGxhblBDIHtcbiAgICBmaWx0ZXI6IHVuc2V0O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogdW5zZXQ7XG4gICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XG4gICAgYmFja2dyb3VuZDogdW5zZXQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnN0YWdlLnBsYW5QQyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDEyMHB4LCBjYWxjKDEyMCAvIDE0NDAgKiAxMDB2dykpIG1pbigxNDBweCwgY2FsYygxNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHdpZHRoOiBtaW4oMTI2MHB4LCBjYWxjKDEyNjAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjIuNXB4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTc3ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgMC41MyUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAxMDEuMTklKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5NViB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5NViB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMTA4cHgsIGNhbGMoMTEwOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbk1WIC5pbm5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJ0b3AgaW1hZ2VcIiBhdXRvIFwiYm90dG9tIGltYWdlXCIgYXV0by8xZnIgMWZyO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbk1WIC5pbm5lciAuaW1hZ2Uge1xuICAgICAgZ3JpZC1hcmVhOiBpbWFnZTtcbiAgICB9XG4gIH1cbiAgLnBsYW5NViAuaW5uZXIgLnRvcCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbk1WIC5pbm5lciAudG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgZ3JpZC1hcmVhOiB0b3A7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhbk1WIC5pbm5lciAudG9wIC5udW0ge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5NViAuaW5uZXIgLnRvcCAubnVtIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhbk1WIC5pbm5lciAudG9wIC5wbGFuIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuTVYgLmlubmVyIC50b3AgLnBsYW4ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDY0cHgsIGNhbGMoNjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5NViAuaW5uZXIgLnRvcCAucGxhbiBoMSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14bCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5NViAuaW5uZXIgLnRvcCAucGxhbiBoMSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuTVYgLmlubmVyIC50b3AgLnBsYW4gLmVuIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDM2ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbk1WIC5pbm5lciAudG9wIC5wbGFuIC5lbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLXRvcDogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuTVYgLmlubmVyIC50b3AgLnRhZyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogY2FsYyg0IC8gMzc1ICogMTAwdncpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbk1WIC5pbm5lciAudG9wIC50YWcge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuTVYgLmlubmVyIC50b3AgLnRhZyBsaSB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgcGFkZGluZzogY2FsYyg1IC8gMzc1ICogMTAwdncpIGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4cykgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5NViAuaW5uZXIgLnRvcCAudGFnIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDVweCwgY2FsYyg1IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDEycHgsIGNhbGMoMTIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5NViAuaW5uZXIgLmJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbk1WIC5pbm5lciAuYm90dG9tIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIGdyaWQtYXJlYTogYm90dG9tO1xuICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgIH1cbiAgfVxuICAucGxhbk1WIC5pbm5lciAuYm90dG9tIC5sZWFkIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5NViAuaW5uZXIgLmJvdHRvbSAubGVhZCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhbk1WIC5pbm5lciAuYm90dG9tIC5vdXRsaW5lIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbk1WIC5pbm5lciAuYm90dG9tIC5vdXRsaW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuTVYgLmlubmVyIC5ib3R0b20gLm91dGxpbmUgbGkge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDIwMCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5NViAuaW5uZXIgLmJvdHRvbSAub3V0bGluZSBsaSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblJlY29tbWVuZCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMjAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5SZWNvbW1lbmQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDE4MHB4LCBjYWxjKDE4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblJlY29tbWVuZCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuUmVjb21tZW5kIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMTA4cHgsIGNhbGMoMTEwOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblJlY29tbWVuZCAuaW5uZXIgLmxpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNDAgLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KSBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5SZWNvbW1lbmQgLmlubmVyIC5saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpIG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgLnBsYW5GZWF0dXJlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5GZWF0dXJlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDExMDhweCwgY2FsYygxMTA4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuRmVhdHVyZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTIwcHgsIGNhbGMoMTIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuRmVhdHVyZSAuaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg0MiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbkZlYXR1cmUgLmlubmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oODBweCwgY2FsYyg4MCAvIDE0NDAgKiAxMDB2dykpIG1pbigxMjBweCwgY2FsYygxMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5GZWF0dXJlIC5pbm5lciAubGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbkZlYXR1cmUgLmlubmVyIC5saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuRmVhdHVyZVVuaXQge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKDMyIC8gMzc1ICogMTAwdncpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoODAgLyAzNzUgKiAxMDB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5wbGFuRmVhdHVyZVVuaXQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuRmVhdHVyZVVuaXQ6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwiaW1hZ2UgdGV4dFwiIGF1dG8vbWluKDM1NXB4LCBjYWxjKDM1NSAvIDE0NDAgKiAxMDB2dykpIDFmcjtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5GZWF0dXJlVW5pdCB7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKDEwOHB4LCBjYWxjKDEwOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLXRvcDogbWluKDQ4cHgsIGNhbGMoNDggLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcInRleHQgaW1hZ2VcIiBhdXRvLzFmciBtaW4oMzU1cHgsIGNhbGMoMzU1IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbig3NnB4LCBjYWxjKDc2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuICAucGxhbkZlYXR1cmVVbml0IC50ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbkZlYXR1cmVVbml0IC50ZXh0IHtcbiAgICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICB9XG4gIH1cbiAgLnBsYW5GZWF0dXJlVW5pdCAudGV4dCAubnVtIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5GZWF0dXJlVW5pdCAudGV4dCAubnVtIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5GZWF0dXJlVW5pdCAudGV4dCBoMyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHh4eGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ibGFjayk7XG4gICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjFlbTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbkZlYXR1cmVVbml0IC50ZXh0IGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4eHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHh4eGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuRmVhdHVyZVVuaXQgLnRleHQgLmRlc2Mge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuRmVhdHVyZVVuaXQgLnRleHQgLmRlc2Mge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbSkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuRmVhdHVyZVVuaXQgLmltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDMyIC8gMzc1ICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbkZlYXR1cmVVbml0IC5pbWFnZSB7XG4gICAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICB3aWR0aDogbWluKDM1NXB4LCBjYWxjKDM1NSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYXNwZWN0LXJhdGlvOiAzNTUvMzIzO1xuICAgICAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuICAucGxhbkZlYXR1cmVVbml0IC5pbWFnZSBwaWN0dXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAucGxhbkZlYXR1cmVVbml0IC5pbWFnZSAuc2hhZG93IHtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5GZWF0dXJlVW5pdCAuaW1hZ2UgLnNoYWRvdyB7XG4gICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA0MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuRmVhdHVyZVVuaXQgLmltYWdlIC5oZWlnaHQwMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDE5OCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbkZlYXR1cmVVbml0IC5pbWFnZSAuaGVpZ2h0MDEge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAucGxhbkNhc2Uge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDEyMCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbkNhc2Uge1xuICAgICAgcGFkZGluZy10b3A6IG1pbigxMjBweCwgY2FsYygxMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5DYXNlIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5DYXNlIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMTA4cHgsIGNhbGMoMTEwOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhbkNhc2UgLmlubmVyIC5saXN0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuQ2FzZSAuaW5uZXIgLmxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDY0cHgsIGNhbGMoNjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5DYXNlIC5pbm5lciAubGlzdCAudW5pdCB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgLnBsYW5DYXNlIC5pbm5lciAubGlzdCAudW5pdDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5DYXNlIC5pbm5lciAubGlzdCAudW5pdCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbig0NnB4LCBjYWxjKDQ2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKDUwcHgsIGNhbGMoNTAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJudW0gaW1hZ2VcIiBhdXRvIFwidGV4dCBpbWFnZVwiIGF1dG8vbWluKDQxMHB4LCBjYWxjKDQxMCAvIDE0NDAgKiAxMDB2dykpIG1pbig0NTNweCwgY2FsYyg0NTMgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5DYXNlIC5pbm5lciAubGlzdCAudW5pdCAubnVtIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuQ2FzZSAuaW5uZXIgLmxpc3QgLnVuaXQgLm51bSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5DYXNlIC5pbm5lciAubGlzdCAudW5pdCAudGV4dCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbkNhc2UgLmlubmVyIC5saXN0IC51bml0IC50ZXh0IHtcbiAgICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICB9XG4gIH1cbiAgLnBsYW5DYXNlIC5pbm5lciAubGlzdCAudW5pdCAudGV4dCBoMyB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhsKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5DYXNlIC5pbm5lciAubGlzdCAudW5pdCAudGV4dCBoMyB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuQ2FzZSAuaW5uZXIgLmxpc3QgLnVuaXQgLnRleHQgLmRlc2Mge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuQ2FzZSAuaW5uZXIgLmxpc3QgLnVuaXQgLnRleHQgLmRlc2Mge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtcykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuQ2FzZSAuaW5uZXIgLmxpc3QgLnVuaXQgLmltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuQ2FzZSAuaW5uZXIgLmxpc3QgLnVuaXQgLmltYWdlIHtcbiAgICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIHdpZHRoOiBtaW4oNDUzcHgsIGNhbGMoNDUzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuT3B0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg4MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbk9wdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogbWluKDEyMHB4LCBjYWxjKDEyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhbk9wdGlvbiAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuT3B0aW9uIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMTA4cHgsIGNhbGMoMTEwOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhbk9wdGlvbiAuaW5uZXIgLmxpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNDAgLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KSBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5PcHRpb24gLmlubmVyIC5saXN0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpIG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuRGV0YWlsIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuRGV0YWlsIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigxMjBweCwgY2FsYygxMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5EZXRhaWwgLmlubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbkRldGFpbCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTEwOHB4LCBjYWxjKDExMDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5EZXRhaWwgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiBtaW4oMTIwcHgsIGNhbGMoMTIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuRGV0YWlsIC5pbm5lciAudGFibGUge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5EZXRhaWwgLmlubmVyIC50YWJsZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IG1pbigxMDZweCwgY2FsYygxMDYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5EZXRhaWwgLmlubmVyIC50YWJsZSB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnBsYW5EZXRhaWwgLmlubmVyIC50YWJsZSB0YWJsZSB0ciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLW1lZGl1bSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5EZXRhaWwgLmlubmVyIC50YWJsZSB0YWJsZSB0ciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLnBsYW5EZXRhaWwgLmlubmVyIC50YWJsZSB0YWJsZSB0ciB0aCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MDApO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuRGV0YWlsIC5pbm5lciAudGFibGUgdGFibGUgdHIgdGgge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHdpZHRoOiAyOCU7XG4gICAgfVxuICB9XG4gIC5wbGFuRGV0YWlsIC5pbm5lciAudGFibGUgdGFibGUgdHIgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhbkRldGFpbCAuaW5uZXIgLnRhYmxlIHRhYmxlIHRyIHRkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgd2lkdGg6IDcyJTtcbiAgICB9XG4gIH1cbiAgLnBsYW5EZXRhaWwgLmlubmVyIC50YWJsZSB0YWJsZSB0ciB0ZCB1bCB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICBtYXJnaW4tbGVmdDogMS4yNWVtO1xuICB9XG4gIC5wYXRoLTAxLFxuLnBhdGgtMDIsXG4ucGF0aC0wMyxcbi5wYXRoLTA0LFxuLnBhdGgtMDYsXG4ucGF0aC0wNyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICB9XG4gIC5wYXRoLTAxLFxuLnBhdGgtMDYge1xuICAgIHdpZHRoOiBjYWxjKDQxMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsZWZ0OiBjYWxjKDExIC8gMzc1ICogMTAwdncpO1xuICAgIHRvcDogY2FsYygxNTAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhdGgtMDEsXG4ucGF0aC0wNiB7XG4gICAgICB3aWR0aDogbWluKDczN3B4LCBjYWxjKDczNyAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGVmdDogbWluKDMxMHB4LCBjYWxjKDMxMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgdG9wOiBtaW4oMzRweCwgY2FsYygzNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuYjJiLXN0YW5kYXJkIC5wYXRoLTAxLFxuLmIyYi1zdGFuZGFyZCAucGF0aC0wNiB7XG4gICAgICB0b3A6IGNhbGMoMTcwIC8gMzc1ICogMTAwdncpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuYWR2YW5jZWQgLnBhdGgtMDEsXG4uYWR2YW5jZWQgLnBhdGgtMDYge1xuICAgICAgdG9wOiBjYWxjKDE3MCAvIDM3NSAqIDEwMHZ3KTtcbiAgICB9XG4gIH1cbiAgLnBhdGgtMDIsXG4ucGF0aC0wNyB7XG4gICAgd2lkdGg6IGNhbGMoNDYwIC8gMzc1ICogMTAwdncpO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiBjYWxjKDIzMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICByb3RhdGU6IHogLTEwLjcwNWRlZztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGF0aC0wMixcbi5wYXRoLTA3IHtcbiAgICAgIHdpZHRoOiBtaW4oMTAwMHB4LCBjYWxjKDEwMDAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxlZnQ6IG1pbig1MHB4LCBjYWxjKDUwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB0b3A6IG1pbigxMHB4LCBjYWxjKDEwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICByb3RhdGU6IHogMGRlZztcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnN0YW5kYXJkIC5wYXRoLTAyLFxuLnN0YW5kYXJkIC5wYXRoLTA3IHtcbiAgICAgIHRvcDogY2FsYygxOTAgLyAzNzUgKiAxMDB2dyk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5iMmItc3RhbmRhcmQgLnBhdGgtMDIsXG4uYjJiLXN0YW5kYXJkIC5wYXRoLTA3IHtcbiAgICAgIHRvcDogY2FsYygyMDAgLyAzNzUgKiAxMDB2dyk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5hZHZhbmNlZCAucGF0aC0wMixcbi5hZHZhbmNlZCAucGF0aC0wNyB7XG4gICAgICB0b3A6IGNhbGMoMjEwIC8gMzc1ICogMTAwdncpO1xuICAgIH1cbiAgfVxuICAucGF0aC0wMyB7XG4gICAgd2lkdGg6IGNhbGMoMzQ0IC8gMzc1ICogMTAwdncpO1xuICAgIGxlZnQ6IGNhbGMoMTEgLyAzNzUgKiAxMDB2dyk7XG4gICAgdG9wOiBjYWxjKDE2MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGF0aC0wMyB7XG4gICAgICB3aWR0aDogbWluKDg2MHB4LCBjYWxjKDg2MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGVmdDogbWluKDMxMHB4LCBjYWxjKDMxMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgdG9wOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuc3RhbmRhcmQgLnBhdGgtMDMge1xuICAgICAgdG9wOiBjYWxjKDIyMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmIyYi1zdGFuZGFyZCAucGF0aC0wMyB7XG4gICAgICB0b3A6IGNhbGMoMjIwIC8gMzc1ICogMTAwdncpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuYWR2YW5jZWQgLnBhdGgtMDMge1xuICAgICAgdG9wOiBjYWxjKDE5MCAvIDM3NSAqIDEwMHZ3KTtcbiAgICB9XG4gIH1cbiAgLnBhdGgtMDQge1xuICAgIHdpZHRoOiBjYWxjKDQwMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsZWZ0OiBjYWxjKDExIC8gMzc1ICogMTAwdncpO1xuICAgIHRvcDogY2FsYygyMjAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhdGgtMDQge1xuICAgICAgd2lkdGg6IG1pbig4NTBweCwgY2FsYyg4NTAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxlZnQ6IG1pbig2MHB4LCBjYWxjKDYwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB0b3A6IG1pbigzNHB4LCBjYWxjKDM0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5zdGFuZGFyZCAucGF0aC0wNCB7XG4gICAgICB0b3A6IGNhbGMoMjcwIC8gMzc1ICogMTAwdncpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuYjJiLXN0YW5kYXJkIC5wYXRoLTA0IHtcbiAgICAgIHRvcDogY2FsYygyNDAgLyAzNzUgKiAxMDB2dyk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wTWlncmF0aW9uIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BNaWdyYXRpb24gLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDExMDhweCwgY2FsYygxMTA4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wTWlncmF0aW9uIC5pbm5lciAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14bCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICBnYXA6IGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcE1pZ3JhdGlvbiAuaW5uZXIgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4eGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICB9XG4gIH1cbiAgLnBsYW5Ub3BNaWdyYXRpb24gLmlubmVyIC50aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDggLyAzNzUgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDggLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgdHJhbnNsYXRlOiAwIGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BNaWdyYXRpb24gLmlubmVyIC50aXRsZTo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiBtaW4oMTNweCwgY2FsYygxMyAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oMTNweCwgY2FsYygxMyAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgdHJhbnNsYXRlOiAwIG1pbigxOHB4LCBjYWxjKDE4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wTWlncmF0aW9uIC5pbm5lciBwaWN0dXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDY0IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wTWlncmF0aW9uIC5pbm5lciBwaWN0dXJlIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wUGxhbnMge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTI2IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wUGxhbnMge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDE4MHB4LCBjYWxjKDE4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BQbGFucyAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTI2MHB4LCBjYWxjKDEyNjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxlYWQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxlYWQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHdpZHRoOiBtaW4oODMwcHgsIGNhbGMoODMwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGVhZCBwIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxlYWQgcCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLW0pICogMXB4KSwgY2FsYyh2YXIoLS1mcy1tKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTI4cHgsIGNhbGMoMTI4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICAgIGdhcDogMXB4O1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg1MiAvIDM3NSAqIDEwMHZ3KSBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHVuc2V0O1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7XG4gICAgICBncmlkLXJvdzogc3BhbiA1O1xuICAgICAgZ2FwOiAwO1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQ6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQ6Zmlyc3QtY2hpbGQgLnVuaXRJbm5lciB7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDE0NDAgKiAxMDB2dykpIDAgMCBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdDpsYXN0LWNoaWxkIC51bml0SW5uZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQuaGlnaGxpZ2h0IHtcbiAgICBwYWRkaW5nLXRvcDogdW5zZXQ7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMDAgLyAzNzUgKiAxMDB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0LmhpZ2hsaWdodCB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQuaGlnaGxpZ2h0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi5Lq65rCXIE5vLjEgIVwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2xhdGU6IDAgLTEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1sKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICBwYWRkaW5nOiBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMzc1ICogMTAwdncpIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgLyAzNzUgKiAxMDB2dykgMCAwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0LmhpZ2hsaWdodDo6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDE0NDAgKiAxMDB2dykpIDAgMDtcbiAgICB9XG4gIH1cbiAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQuaGlnaGxpZ2h0IC51bml0SW5uZXIge1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoNTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQuaGlnaGxpZ2h0IC51bml0SW5uZXIge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKSBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIHtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYygyOCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKSBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBpbmhlcml0O1xuICAgICAgZ3JpZC1yb3c6IGluaGVyaXQ7XG4gICAgICBnYXA6IDA7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLnRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAudGl0bGUge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC50aXRsZSAuamEge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14bCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLnRpdGxlIC5qYSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLnRpdGxlIC5lbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC50aXRsZSAuZW4ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLXRvcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAub3V0bGluZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzNiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5vdXRsaW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLm91dGxpbmUgLmRlc2Mge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTY1JTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5vdXRsaW5lIC5kZXNjIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5vdXRsaW5lIC50YWdzIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiBjYWxjKDQgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAub3V0bGluZSAudGFncyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oM3B4LCBjYWxjKDMgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gIH1cbiAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAub3V0bGluZSAudGFncyBsaSB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgcGFkZGluZzogY2FsYyg1IC8gMzc1ICogMTAwdncpIGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4cykgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAub3V0bGluZSAudGFncyBsaSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4eHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDRweCwgY2FsYyg0IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDZweCwgY2FsYyg2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLnByaWNlQm94IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI2IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLnByaWNlQm94IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigyNnB4LCBjYWxjKDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLnByaWNlQm94IC5wcmljZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICB9XG4gIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLnByaWNlQm94IC5wcmljZSAud2l0aG91dFRheCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAucHJpY2VCb3ggLnByaWNlIC53aXRob3V0VGF4IHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHhsKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5wcmljZUJveCAucHJpY2UgLndpdGhvdXRUYXggc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5wcmljZUJveCAucHJpY2UgLndpdGhvdXRUYXggc3BhbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLnByaWNlQm94IC5wcmljZSAud2l0aG91dFRheCBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtcykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLnByaWNlQm94IC5wcmljZSAud2l0aG91dFRheCBpIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHMpIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLnByaWNlQm94IC5wcmljZSAud2l0aG91dFRheCBpIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5wcmljZUJveCAucHJpY2UgLndpdGhUYXgge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAucHJpY2VCb3ggLnByaWNlIC53aXRoVGF4IHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5wcmljZUJveCAucHJpY2UgLmVzdGltYXRlIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAucHJpY2VCb3ggLnByaWNlIC5lc3RpbWF0ZSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLmRldGFpbCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5kZXRhaWwge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAuZGV0YWlsIGR0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tZWRpdW0pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MCk7XG4gICAgcGFkZGluZzogY2FsYygyIC8gMzc1ICogMTAwdncpIGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLmRldGFpbCBkdCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDJweCwgY2FsYygyIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDEycHgsIGNhbGMoMTIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAuZGV0YWlsIGR0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5kZXRhaWwgZGQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5kZXRhaWwgZGQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLmRldGFpbCBkZC5kZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLWwpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5kZXRhaWwgZGQuZGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1sKSAqIDFweCksIGNhbGModmFyKC0tZnMtbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAuZGV0YWlsIGRkIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1ZW07XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAyMDAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLmRldGFpbCBkZCB1bCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLmRldGFpbCBkZCB1bC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5kZXRhaWwgZGQgdWwuc21hbGwge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLmRldGFpbCBkZCB1bCBzdHJvbmcge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtNTAwKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIH1cbiAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDY1IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5idXR0b24gLnBCdXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLmJ1dHRvbiAucEJ1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAucGxhblRvcFBsYW5zIC5pbm5lciAubGlzdCAudW5pdCAudW5pdElubmVyIC5idXR0b24gLnBCdXR0b246OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG4gIC5wbGFuVG9wUGxhbnMgLmlubmVyIC5saXN0IC51bml0IC51bml0SW5uZXIgLmJ1dHRvbiAucEJ1dHRvbiBzcGFuIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBsYW5Ub3BQbGFucyAuaW5uZXIgLmxpc3QgLnVuaXQgLnVuaXRJbm5lciAuYnV0dG9uIC5wQnV0dG9uIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBsYW5Ub3BDYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbGFuVG9wQ2FwdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjYwcHgsIGNhbGMoMTI2MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGxhblRvcENhcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIC5jYXNlV3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg4MCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpIGNhbGMoMTIwIC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNhc2VXcmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oMTIwcHgsIGNhbGMoMTIwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDE4MHB4LCBjYWxjKDE4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jYXNlTGlzdCAudW5pdCB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTIwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jYXNlTGlzdCAudW5pdCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWluKDEwMHB4LCBjYWxjKDEwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY2FzZUxpc3QgLnVuaXQ6Zmlyc3QtY2hpbGQgLnRvcCB7XG4gICAgICBwYWRkaW5nLXRvcDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5jYXNlTGlzdCAudW5pdDpmaXJzdC1jaGlsZCAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmNhc2VMaXN0IC51bml0Omxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiB1bnNldDtcbiAgfVxuICAuY2FzZUxpc3QgLnVuaXQgLnRvcCB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoNDAgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jYXNlTGlzdCAudW5pdCAudG9wIHtcbiAgICAgIHBhZGRpbmctdG9wOiBtaW4oMTIwcHgsIGNhbGMoMTIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKDc2cHgsIGNhbGMoNzYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHdpZHRoOiBtaW4oMTI2MHB4LCBjYWxjKDEyNjAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgfVxuICB9XG4gIC5jYXNlTGlzdCAudW5pdCAudG9wOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIHJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktbWVkaXVtKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY2FzZUxpc3QgLnVuaXQgLnRvcDo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbiAgLmNhc2VMaXN0IC51bml0IC50b3AgLm51bSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4eHMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgZ2FwOiBjYWxjKDIgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNhc2VMaXN0IC51bml0IC50b3AgLm51bSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgICAgZ2FwOiBtaW4oMTRweCwgY2FsYygxNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY2FzZUxpc3QgLnVuaXQgLnRvcCAubnVtOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoOCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoOCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY2FzZUxpc3QgLnVuaXQgLnRvcCAubnVtOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbigxM3B4LCBjYWxjKDEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigxM3B4LCBjYWxjKDEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jYXNlTGlzdCAudW5pdCAudG9wIC5sZWFkIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1sKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY2FzZUxpc3QgLnVuaXQgLnRvcCAubGVhZCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB9XG4gIH1cbiAgLmNhc2VMaXN0IC51bml0IC5jYXNlU2xpZGVyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jYXNlTGlzdCAudW5pdCAuY2FzZVNsaWRlciB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY2FzZUxpc3QgLnVuaXQgLmNhc2VTbGlkZXIgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmc6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dykgY2FsYyg1MiAvIDM3NSAqIDEwMHZ3KTtcbiAgICB3aWR0aDogY2FsYygzMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgbWFyZ2luLWlubGluZTogY2FsYyg4IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jYXNlTGlzdCAudW5pdCAuY2FzZVNsaWRlciAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKSBtaW4oODRweCwgY2FsYyg4NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgd2lkdGg6IG1pbig1MDZweCwgY2FsYyg1MDYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jYXNlTGlzdCAudW5pdCAuY2FzZVNsaWRlciAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSBpbWcge1xuICAgIGJveC1zaGFkb3c6IDAgMCA5LjI0OXB4IDEuMjMzcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY2FzZUxpc3QgLnVuaXQgLmNhc2VTbGlkZXIgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgaW1nIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxNXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIH1cbiAgfVxuICAuY2FzZUxpc3QgLnVuaXQgLmJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg4MCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY2FzZUxpc3QgLnVuaXQgLmJvdHRvbSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IG1pbig3NnB4LCBjYWxjKDc2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB3aWR0aDogbWluKDEyNjBweCwgY2FsYygxMjYwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIH1cbiAgfVxuICAuY2FzZUxpc3QgLnVuaXQgLmJvdHRvbSAuY2xpZW50IHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY2FzZUxpc3QgLnVuaXQgLmJvdHRvbSAuY2xpZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jYXNlTGlzdCAudW5pdCAuYm90dG9tIC50YWcge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IGNhbGMoNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNhc2VMaXN0IC51bml0IC5ib3R0b20gLnRhZyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNhc2VMaXN0IC51bml0IC5ib3R0b20gLnRhZyBsaSB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgcGFkZGluZzogY2FsYyg1IC8gMzc1ICogMTAwdncpIGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4cykgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNhc2VMaXN0IC51bml0IC5ib3R0b20gLnRhZyBsaSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4eHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDVweCwgY2FsYyg1IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDEycHgsIGNhbGMoMTIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNhc2VMaXN0IC51bml0IC5ib3R0b20gLmluZm8ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNhc2VMaXN0IC51bml0IC5ib3R0b20gLmluZm8ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcImJsb2NrLTEgYmxvY2stM1wiIGF1dG8gXCJibG9jay0yIGJsb2NrLTRcIiBhdXRvLzFmciBtaW4oNjc4cHgsIGNhbGMoNjc4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNhc2VMaXN0IC51bml0IC5ib3R0b20gLmluZm8gZGwuYmxvY2stMSB7XG4gICAgZ3JpZC1hcmVhOiBibG9jay0xO1xuICB9XG4gIC5jYXNlTGlzdCAudW5pdCAuYm90dG9tIC5pbmZvIGRsLmJsb2NrLTIge1xuICAgIGdyaWQtYXJlYTogYmxvY2stMjtcbiAgfVxuICAuY2FzZUxpc3QgLnVuaXQgLmJvdHRvbSAuaW5mbyBkbC5ibG9jay0zIHtcbiAgICBncmlkLWFyZWE6IGJsb2NrLTM7XG4gIH1cbiAgLmNhc2VMaXN0IC51bml0IC5ib3R0b20gLmluZm8gZGwuYmxvY2stNCB7XG4gICAgZ3JpZC1hcmVhOiBibG9jay00O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jYXNlTGlzdCAudW5pdCAuYm90dG9tIC5pbmZvIGRsIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbig3NXB4LCBjYWxjKDc1IC8gMTQ0MCAqIDEwMHZ3KSkgMWZyO1xuICAgICAgZ2FwOiAwIG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jYXNlTGlzdCAudW5pdCAuYm90dG9tIC5pbmZvIGRsIGR0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jYXNlTGlzdCAudW5pdCAuYm90dG9tIC5pbmZvIGRsIGR0IHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMDAlO1xuICAgIH1cbiAgfVxuICAuY2FzZUxpc3QgLnVuaXQgLmJvdHRvbSAuaW5mbyBkbCBkZCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jYXNlTGlzdCAudW5pdCAuYm90dG9tIC5pbmZvIGRsIGRkIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtcykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgICB9XG4gIH1cbiAgLmNhc2VMaXN0IC51bml0IC5ib3R0b20gLmluZm8gZGwgZGQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVlbTtcbiAgfVxuICAuc29sdXRpb25XcmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvbldyYXBwZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvbldyYXBwZXIudG9wIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoNDAgLyAzNzUgKiAxMDB2dykgY2FsYygxMjAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uV3JhcHBlci50b3Age1xuICAgICAgbWFyZ2luLXRvcDogbWluKDY0cHgsIGNhbGMoNjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigxMjBweCwgY2FsYygxMjAgLyAxNDQwICogMTAwdncpKSBtaW4oMTgwcHgsIGNhbGMoMTgwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvbldyYXBwZXIuYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDk2IC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoODAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uV3JhcHBlci5ib3R0b20ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDE4MHB4LCBjYWxjKDE4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDE4MHB4LCBjYWxjKDE4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjc29sdXRpb25TbGlkZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NvbHV0aW9uU2xpZGUge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDgwcHgsIGNhbGMoODAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3NvbHV0aW9uU2xpZGUgaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGFuaW1hdGlvbjogaW5maW5pdHktc2Nyb2xsLWxlZnQgNzBzIGluZmluaXRlIGxpbmVhciAwLjVzIGJvdGg7XG4gICAgaGVpZ2h0OiBjYWxjKDE5NiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc29sdXRpb25TbGlkZSBpbWcge1xuICAgICAgaGVpZ2h0OiBtaW4oMzE2cHgsIGNhbGMoMzE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDkwcztcbiAgICB9XG4gIH1cbiAgQGtleWZyYW1lcyBpbmZpbml0eS1zY3JvbGwtbGVmdCB7XG4gICAgZnJvbSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvblN0cmVuZ3RoIC5pbm5lciAuc29sdXRpb25TdHJlbmd0aFRpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25TdHJlbmd0aCAuaW5uZXIgLnNvbHV0aW9uU3RyZW5ndGhUaXRsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMTA4cHgsIGNhbGMoMTEwOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25TdHJlbmd0aCAuaW5uZXIgLnNvbHV0aW9uU3RyZW5ndGhUaXRsZSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uU3RyZW5ndGggLmlubmVyIC5zb2x1dGlvblN0cmVuZ3RoVGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYyg4IC8gMzc1ICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYyg4IC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvblN0cmVuZ3RoIC5pbm5lciAuc29sdXRpb25TdHJlbmd0aFRpdGxlOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbigxM3B4LCBjYWxjKDEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigxM3B4LCBjYWxjKDEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNzb2x1dGlvblN0cmVuZ3RoTGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtNTApO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAzNzUgKiAxMDB2dykgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDM3NSAqIDEwMHZ3KSAwIDA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NvbHV0aW9uU3RyZW5ndGhMaXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0O1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc29sdXRpb25TdHJlbmd0aExpc3Qge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTEwOHB4LCBjYWxjKDExMDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3NvbHV0aW9uU3RyZW5ndGhMaXN0IC51bml0IHtcbiAgICBwYWRkaW5nOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpIGNhbGMoMjQgLyAzNzUgKiAxMDB2dykgY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc29sdXRpb25TdHJlbmd0aExpc3QgLnVuaXQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDgwcHgsIGNhbGMoODAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbig1MXB4LCBjYWxjKDUxIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtNTApO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcInRvcCBpbWFnZVwiIDFmciBcImJvdHRvbSBpbWFnZVwiIGF1dG8vMWZyIG1pbig0ODdweCwgY2FsYyg0ODcgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogMCBtaW4oODBweCwgY2FsYyg4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NvbHV0aW9uU3RyZW5ndGhMaXN0IC51bml0IC5pbWFnZSB7XG4gICAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgIH1cbiAgfVxuICAjc29sdXRpb25TdHJlbmd0aExpc3QgLnVuaXQgLnRvcCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc29sdXRpb25TdHJlbmd0aExpc3QgLnVuaXQgLnRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIGdyaWQtYXJlYTogdG9wO1xuICAgIH1cbiAgfVxuICAjc29sdXRpb25TdHJlbmd0aExpc3QgLnVuaXQgLnRvcCAubnVtIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNzb2x1dGlvblN0cmVuZ3RoTGlzdCAudW5pdCAudG9wIC5udW0ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNzb2x1dGlvblN0cmVuZ3RoTGlzdCAudW5pdCAudG9wIC50aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc29sdXRpb25TdHJlbmd0aExpc3QgLnVuaXQgLnRvcCAudGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDQycHgsIGNhbGMoNDIgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjc29sdXRpb25TdHJlbmd0aExpc3QgLnVuaXQgLnRvcCAubGVhZCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NvbHV0aW9uU3RyZW5ndGhMaXN0IC51bml0IC50b3AgLmxlYWQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLW0pICogMXB4KSwgY2FsYyh2YXIoLS1mcy1tKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjc29sdXRpb25TdHJlbmd0aExpc3QgLnVuaXQgLnRvcCAudGFncyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IGNhbGMoNCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc29sdXRpb25TdHJlbmd0aExpc3QgLnVuaXQgLnRvcCAudGFncyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3NvbHV0aW9uU3RyZW5ndGhMaXN0IC51bml0IC50b3AgLnRhZ3MgbGkge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIHBhZGRpbmc6IGNhbGMoMiAvIDM3NSAqIDEwMHZ3KSBjYWxjKDEyIC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNzb2x1dGlvblN0cmVuZ3RoTGlzdCAudW5pdCAudG9wIC50YWdzIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDVweCwgY2FsYyg1IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDEycHgsIGNhbGMoMTIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3NvbHV0aW9uU3RyZW5ndGhMaXN0IC51bml0IC5ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NvbHV0aW9uU3RyZW5ndGhMaXN0IC51bml0IC5ib3R0b20ge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICBncmlkLWFyZWE6IGJvdHRvbTtcbiAgICB9XG4gIH1cbiAgI3NvbHV0aW9uU3RyZW5ndGhMaXN0IC51bml0IC5ib3R0b20gLm91dGxpbmUge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgfVxuICAjc29sdXRpb25TdHJlbmd0aExpc3QgLnVuaXQgLmJvdHRvbSAub3V0bGluZSBsaSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAyMDAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNzb2x1dGlvblN0cmVuZ3RoTGlzdCAudW5pdCAuYm90dG9tIC5vdXRsaW5lIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtcykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICNzb2x1dGlvblN0cmVuZ3RoTGlzdCAudW5pdCAuYm90dG9tIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3NvbHV0aW9uU3RyZW5ndGhMaXN0IC51bml0IC5ib3R0b20gLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc29sdXRpb25TdHJlbmd0aExpc3QgLnVuaXQgLmJvdHRvbSAuYnV0dG9uIC5wQnV0dG9uIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgICAjc29sdXRpb25TdHJlbmd0aExpc3QgLnVuaXQgLmJvdHRvbSAuYnV0dG9uIC5wQnV0dG9uOjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25Ib3d0byB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMjAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uSG93dG8ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDEyMHB4LCBjYWxjKDEyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25Ib3d0byAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvbkhvd3RvIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMTA4cHgsIGNhbGMoMTEwOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25Ib3d0byAuaW5uZXIgLnBUaXRsZSAuZW4ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eHh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4eHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25Ib3d0byAuaW5uZXIgLmxlYWQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvbkhvd3RvIC5pbm5lciAubGVhZCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1tKSAqIDFweCksIGNhbGModmFyKC0tZnMtbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxODUlO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25Ib3d0byAuaW5uZXIgLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvbkhvd3RvIC5pbm5lciAuaW1hZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDY0cHgsIGNhbGMoNjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnN0YWdlLnNvbHV0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEyMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnN0YWdlLnNvbHV0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigxODBweCwgY2FsYygxODAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigxMjBweCwgY2FsYygxMjAgLyAxNDQwICogMTAwdncpKSBtaW4oMTUycHgsIGNhbGMoMTUyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvblN1cHBvcnQgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDExMDhweCwgY2FsYygxMTA4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvblN1cHBvcnQgLmlubmVyIC5zb2x1dGlvblN1cHBvcnRUaXRsZSAuamEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhsKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydFRpdGxlIC5qYSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4eGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0VGl0bGUgLmphOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoOCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoOCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0VGl0bGUgLmphOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbigxM3B4LCBjYWxjKDEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigxM3B4LCBjYWxjKDEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvblN1cHBvcnQgLmlubmVyIC5zb2x1dGlvblN1cHBvcnRUaXRsZSAubGVhZCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydFRpdGxlIC5sZWFkIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1tKSAqIDFweCksIGNhbGModmFyKC0tZnMtbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDY0cHgsIGNhbGMoNjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcInVuaXQxIHVuaXQyXCIgYXV0byBcInVuaXQ0IHVuaXQzXCIgYXV0by8xZnIgMWZyO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0TGlzdCAudW5pdCB7XG4gICAgcGFkZGluZzogY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KSBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0TGlzdCAudW5pdCB7XG4gICAgICBwYWRkaW5nOiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiBtaW4oMzk4cHgsIGNhbGMoMzk4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvblN1cHBvcnQgLmlubmVyIC5zb2x1dGlvblN1cHBvcnRMaXN0IC51bml0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogY2FsYygzMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDUwJSAxMDAlKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0TGlzdCAudW5pdDo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogbWluKDEwMHB4LCBjYWxjKDEwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgd2lkdGg6IG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDUwJSwgMCAxMDAlKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zbGF0ZTogMCAtNTAlO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0TGlzdCAudW5pdDpudGgtY2hpbGQoMSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MCk7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDM3NSAqIDEwMHZ3KSBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMzc1ICogMTAwdncpIDAgMDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0TGlzdCAudW5pdDpudGgtY2hpbGQoMSkge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgLyAxNDQwICogMTAwdncpKSAwIDAgMDtcbiAgICAgIGdyaWQtYXJlYTogdW5pdDE7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvblN1cHBvcnQgLmlubmVyIC5zb2x1dGlvblN1cHBvcnRMaXN0IC51bml0Om50aC1jaGlsZCgyKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTEwMCk7XG4gIH1cbiAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3QgLnVuaXQ6bnRoLWNoaWxkKDIpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3QgLnVuaXQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgLyAxNDQwICogMTAwdncpKSAwIDA7XG4gICAgICBncmlkLWFyZWE6IHVuaXQyO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0TGlzdCAudW5pdDpudGgtY2hpbGQoMykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS0yMDApO1xuICB9XG4gIC5zb2x1dGlvblN1cHBvcnQgLmlubmVyIC5zb2x1dGlvblN1cHBvcnRMaXN0IC51bml0Om50aC1jaGlsZCgzKTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtMTAwKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0TGlzdCAudW5pdDpudGgtY2hpbGQoMyk6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB3aWR0aDogbWluKDEwMHB4LCBjYWxjKDEwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCA1MCUgMTAwJSk7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2xhdGU6IC01MCUgMDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3QgLnVuaXQ6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDE0NDAgKiAxMDB2dykpIDA7XG4gICAgICBncmlkLWFyZWE6IHVuaXQzO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0TGlzdCAudW5pdDpudGgtY2hpbGQoNCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS0zMDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMzc1ICogMTAwdncpIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3QgLnVuaXQ6bnRoLWNoaWxkKDQpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS0yMDApO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvblN1cHBvcnQgLmlubmVyIC5zb2x1dGlvblN1cHBvcnRMaXN0IC51bml0Om50aC1jaGlsZCg0KTo6YmVmb3JlIHtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDUwJSwgMTAwJSAwLCAxMDAlIDEwMCUpO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0TGlzdCAudW5pdDpudGgtY2hpbGQoNCkge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdyaWQtYXJlYTogdW5pdDQ7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvblN1cHBvcnQgLmlubmVyIC5zb2x1dGlvblN1cHBvcnRMaXN0IC51bml0IC50b3Age1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3QgLnVuaXQgLnRvcCAubnVtIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0TGlzdCAudW5pdCAudG9wIC5udW0ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3QgLnVuaXQgLnRvcCAudGl0bGUge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25TdXBwb3J0IC5pbm5lciAuc29sdXRpb25TdXBwb3J0TGlzdCAudW5pdCAudG9wIC50aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3QgLnVuaXQgLmJvdHRvbSAub3V0bGluZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3QgLnVuaXQgLmJvdHRvbSAub3V0bGluZSB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3QgLnVuaXQgLmJvdHRvbSAub3V0bGluZSBsaSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAyMDAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvblN1cHBvcnQgLmlubmVyIC5zb2x1dGlvblN1cHBvcnRMaXN0IC51bml0IC5ib3R0b20gLm91dGxpbmUgbGkge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3QgLnVuaXQgLmJvdHRvbSAucmVzdWx0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBwYWRkaW5nOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpIGNhbGMoMTYgLyAzNzUgKiAxMDB2dykgY2FsYygxNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgZ2FwOiBjYWxjKDE5IC8gMzc1ICogMTAwdncpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uU3VwcG9ydCAuaW5uZXIgLnNvbHV0aW9uU3VwcG9ydExpc3QgLnVuaXQgLmJvdHRvbSAucmVzdWx0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE4NSU7XG4gICAgICBwYWRkaW5nOiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKSBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigyM3B4LCBjYWxjKDIzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvblN1cHBvcnQgLmlubmVyIC5zb2x1dGlvblN1cHBvcnRMaXN0IC51bml0IC5ib3R0b20gLnJlc3VsdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDM2IC8gMzc1ICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygzNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9zb2x1dGlvbi9pY29uX3N1cHBvcnQud2VicCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvblN1cHBvcnQgLmlubmVyIC5zb2x1dGlvblN1cHBvcnRMaXN0IC51bml0IC5ib3R0b20gLnJlc3VsdDo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiBtaW4oMzZweCwgY2FsYygzNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oMzZweCwgY2FsYygzNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25GZWF0dXJlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvbkZlYXR1cmUge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDEyMHB4LCBjYWxjKDEyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25GZWF0dXJlIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRmVhdHVyZSAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTEwOHB4LCBjYWxjKDExMDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uRmVhdHVyZSAuaW5uZXIgLnNvbHV0aW9uRmVhdHVyZVRpdGxlIC5qYSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25GZWF0dXJlIC5pbm5lciAuc29sdXRpb25GZWF0dXJlVGl0bGUgLmphIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4eGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvbkZlYXR1cmUgLmlubmVyIC5zb2x1dGlvbkZlYXR1cmVUaXRsZSAuamE6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYyg4IC8gMzc1ICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYyg4IC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvbkZlYXR1cmUgLmlubmVyIC5zb2x1dGlvbkZlYXR1cmVUaXRsZSAuamE6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogbWluKDEzcHgsIGNhbGMoMTMgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDEzcHgsIGNhbGMoMTMgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uRmVhdHVyZSAuaW5uZXIgLnNvbHV0aW9uRmVhdHVyZUxpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNDAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRmVhdHVyZSAuaW5uZXIgLnNvbHV0aW9uRmVhdHVyZUxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDc2cHgsIGNhbGMoNzYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uRmVhdHVyZSAuaW5uZXIgLnNvbHV0aW9uRmVhdHVyZUxpc3QgLnVuaXQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nOiBjYWxjKDMyIC8gMzc1ICogMTAwdncpIGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRmVhdHVyZSAuaW5uZXIgLnNvbHV0aW9uRmVhdHVyZUxpc3QgLnVuaXQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDUxcHgsIGNhbGMoNTEgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcInRvcCBpbWFnZVwiIDFmciBcImJvdHRvbSBpbWFnZVwiIGF1dG8vMWZyIG1pbig0ODdweCwgY2FsYyg0ODcgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogMCBtaW4oMTA4cHgsIGNhbGMoMTA4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvbkZlYXR1cmUgLmlubmVyIC5zb2x1dGlvbkZlYXR1cmVMaXN0IC51bml0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25GZWF0dXJlIC5pbm5lciAuc29sdXRpb25GZWF0dXJlTGlzdCAudW5pdCAudG9wIHtcbiAgICAgIGdyaWQtYXJlYTogdG9wO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25GZWF0dXJlIC5pbm5lciAuc29sdXRpb25GZWF0dXJlTGlzdCAudW5pdCAudG9wIC5lbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25GZWF0dXJlIC5pbm5lciAuc29sdXRpb25GZWF0dXJlTGlzdCAudW5pdCAudG9wIC5lbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uRmVhdHVyZSAuaW5uZXIgLnNvbHV0aW9uRmVhdHVyZUxpc3QgLnVuaXQgLnRvcCAudGl0bGUge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhsKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRmVhdHVyZSAuaW5uZXIgLnNvbHV0aW9uRmVhdHVyZUxpc3QgLnVuaXQgLnRvcCAudGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDEwNnB4LCBjYWxjKDEwNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1sKSAqIDFweCksIGNhbGModmFyKC0tZnMtbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25GZWF0dXJlIC5pbm5lciAuc29sdXRpb25GZWF0dXJlTGlzdCAudW5pdCAuYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDMyIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvbkZlYXR1cmUgLmlubmVyIC5zb2x1dGlvbkZlYXR1cmVMaXN0IC51bml0IC5ib3R0b20ge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICBncmlkLWFyZWE6IGJvdHRvbTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uRmVhdHVyZSAuaW5uZXIgLnNvbHV0aW9uRmVhdHVyZUxpc3QgLnVuaXQgLmJvdHRvbSAubGVhZCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLWwpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvbkZlYXR1cmUgLmlubmVyIC5zb2x1dGlvbkZlYXR1cmVMaXN0IC51bml0IC5ib3R0b20gLmxlYWQge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1sKSAqIDFweCksIGNhbGModmFyKC0tZnMtbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uRmVhdHVyZSAuaW5uZXIgLnNvbHV0aW9uRmVhdHVyZUxpc3QgLnVuaXQgLmJvdHRvbSAuZGVzYyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRmVhdHVyZSAuaW5uZXIgLnNvbHV0aW9uRmVhdHVyZUxpc3QgLnVuaXQgLmJvdHRvbSAuZGVzYyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxODUlO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25GZWF0dXJlIC5pbm5lciAuc29sdXRpb25GZWF0dXJlTGlzdCAudW5pdCAuaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNDAgLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRmVhdHVyZSAuaW5uZXIgLnNvbHV0aW9uRmVhdHVyZUxpc3QgLnVuaXQgLmltYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgZ3JpZC1hcmVhOiBpbWFnZTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uRkFRIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRkFRIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjYwcHgsIGNhbGMoMTI2MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25GQVEgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbigzMjNweCwgY2FsYygzMjMgLyAxNDQwICogMTAwdncpKSAxZnI7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvbkZBUSAuaW5uZXIgLnNvbHV0aW9uRkFRTGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25GQVEgLmlubmVyIC5zb2x1dGlvbkZBUUxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvbkZBUSAuaW5uZXIgLnNvbHV0aW9uRkFRTGlzdCAudW5pdCB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgfVxuICAuc29sdXRpb25GQVEgLmlubmVyIC5zb2x1dGlvbkZBUUxpc3QgLnVuaXQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRkFRIC5pbm5lciAuc29sdXRpb25GQVFMaXN0IC51bml0IHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvbkZBUSAuaW5uZXIgLnNvbHV0aW9uRkFRTGlzdCAudW5pdC5pcy1hY3RpdmUgLnE6OmJlZm9yZSB7XG4gICAgc2NhbGU6IDAgMDtcbiAgfVxuICAuc29sdXRpb25GQVEgLmlubmVyIC5zb2x1dGlvbkZBUUxpc3QgLnVuaXQuaXMtYWN0aXZlIC5hIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5zb2x1dGlvbkZBUSAuaW5uZXIgLnNvbHV0aW9uRkFRTGlzdCAudW5pdCAucSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlOiBcInEgYXJyb3dcIiBhdXRvLzFmciBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICAgIGdhcDogY2FsYygxNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRkFRIC5pbm5lciAuc29sdXRpb25GQVFMaXN0IC51bml0IC5xIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwicSBhcnJvd1wiIGF1dG8vMWZyIG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvbkZBUSAuaW5uZXIgLnNvbHV0aW9uRkFRTGlzdCAudW5pdCAucTo6YmVmb3JlLCAuc29sdXRpb25GQVEgLmlubmVyIC5zb2x1dGlvbkZBUUxpc3QgLnVuaXQgLnE6OmFmdGVyIHtcbiAgICBncmlkLWFyZWE6IGFycm93O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuICB9XG4gIC5zb2x1dGlvbkZBUSAuaW5uZXIgLnNvbHV0aW9uRkFRTGlzdCAudW5pdCAucTo6YmVmb3JlIHtcbiAgICB3aWR0aDogY2FsYygxIC8gMzc1ICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygxMyAvIDM3NSAqIDEwMHZ3KTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDcgLyAzNzUgKiAxMDB2dyk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICB0cmFuc2l0aW9uOiBzY2FsZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRkFRIC5pbm5lciAuc29sdXRpb25GQVFMaXN0IC51bml0IC5xOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbigxcHgsIGNhbGMoMSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oMTNweCwgY2FsYygxMyAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLXRvcDogbWluKDlweCwgY2FsYyg5IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4tbGVmdDogbWluKDZweCwgY2FsYyg2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5zb2x1dGlvbkZBUSAuaW5uZXIgLnNvbHV0aW9uRkFRTGlzdCAudW5pdCAucTo6YWZ0ZXIge1xuICAgIGhlaWdodDogY2FsYygxIC8gMzc1ICogMTAwdncpO1xuICAgIHdpZHRoOiBjYWxjKDEzIC8gMzc1ICogMTAwdncpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTMgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRkFRIC5pbm5lciAuc29sdXRpb25GQVFMaXN0IC51bml0IC5xOjphZnRlciB7XG4gICAgICBoZWlnaHQ6IG1pbigxcHgsIGNhbGMoMSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgd2lkdGg6IG1pbigxM3B4LCBjYWxjKDEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTVweCwgY2FsYygxNSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25GQVEgLmlubmVyIC5zb2x1dGlvbkZBUUxpc3QgLnVuaXQgLnEgaDMge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1sKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICBncmlkLWFyZWE6IHE7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRkFRIC5pbm5lciAuc29sdXRpb25GQVFMaXN0IC51bml0IC5xIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uRkFRIC5pbm5lciAuc29sdXRpb25GQVFMaXN0IC51bml0IC5hIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lsbC1jaGFuZ2U6IG1heC1oZWlnaHQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtZmFzdCkgdmFyKC0tYmV6aWVyKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5zb2x1dGlvbkZBUSAuaW5uZXIgLnNvbHV0aW9uRkFRTGlzdCAudW5pdCAuYSAudGV4dCB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMjAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRkFRIC5pbm5lciAuc29sdXRpb25GQVFMaXN0IC51bml0IC5hIC50ZXh0IHtcbiAgICAgIHBhZGRpbmctdG9wOiBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1yaWdodDogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uRkFRIC5pbm5lciAuc29sdXRpb25GQVFMaXN0IC51bml0IC5hIC50ZXh0IHAsIC5zb2x1dGlvbkZBUSAuaW5uZXIgLnNvbHV0aW9uRkFRTGlzdCAudW5pdCAuYSAudGV4dCB1bCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVlbTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25GQVEgLmlubmVyIC5zb2x1dGlvbkZBUUxpc3QgLnVuaXQgLmEgLnRleHQgcCwgLnNvbHV0aW9uRkFRIC5pbm5lciAuc29sdXRpb25GQVFMaXN0IC51bml0IC5hIC50ZXh0IHVsIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtcykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTg1JTtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uRkFRIC5pbm5lciAuc29sdXRpb25GQVFMaXN0IC51bml0IC5hIC50ZXh0IHA6bGFzdC1jaGlsZCwgLnNvbHV0aW9uRkFRIC5pbm5lciAuc29sdXRpb25GQVFMaXN0IC51bml0IC5hIC50ZXh0IHVsOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICB9XG4gIC5zb2x1dGlvbkZBUSAuaW5uZXIgLnNvbHV0aW9uRkFRTGlzdCAudW5pdCAuYSAudGV4dCB1bCB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICB9XG4gIC5zb2x1dGlvbkZBUSAuaW5uZXIgLnNvbHV0aW9uRkFRTGlzdCAudW5pdCAuYSAudGV4dCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAuc29sdXRpb25GQVEgLmlubmVyIC5zb2x1dGlvbkZBUUxpc3QgLnVuaXQgLmEgLnRleHQgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIC5zdGFnZS5jb250YWN0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoODAgLyAzNzUgKiAxMDB2dykgY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc3RhZ2UuY29udGFjdCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDEyMHB4LCBjYWxjKDEyMCAvIDE0NDAgKiAxMDB2dykpIG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb250YWN0SW50cm8gLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFjdEludHJvIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMTA4cHgsIGNhbGMoMTEwOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29udGFjdEludHJvIC5pbm5lciAuamEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFjdEludHJvIC5pbm5lciAuamEge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4eGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29udGFjdEludHJvIC5pbm5lciAubGVhZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFjdEludHJvIC5pbm5lciAubGVhZCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1tKSAqIDFweCksIGNhbGModmFyKC0tZnMtbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbnRhY3RJbnRybyAuaW5uZXIgLmluZGljYXRvciB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtNzAwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhY3RJbnRybyAuaW5uZXIgLmluZGljYXRvciB7XG4gICAgICB3aWR0aDogbWluKDYxNHB4LCBjYWxjKDYxNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29udGFjdEludHJvIC5pbm5lciAuaW5kaWNhdG9yIGxpIHtcbiAgICBwYWRkaW5nOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpIGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTUwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhY3RJbnRybyAuaW5uZXIgLmluZGljYXRvciBsaSB7XG4gICAgICBwYWRkaW5nOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpIG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb250YWN0SW50cm8gLmlubmVyIC5pbmRpY2F0b3IgbGk6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAwIDEwMCUsIDEwMCUgNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtNTApO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWN0SW50cm8gLmlubmVyIC5pbmRpY2F0b3IgbGk6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbnRhY3RJbnRybyAuaW5uZXIgLmluZGljYXRvciBsaTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDM3NSAqIDEwMHZ3KSAwIDAgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICAuY29udGFjdEludHJvIC5pbm5lciAuaW5kaWNhdG9yIGxpOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhY3RJbnRybyAuaW5uZXIgLmluZGljYXRvciBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAxNDQwICogMTAwdncpKSAwIDAgbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb250YWN0SW50cm8gLmlubmVyIC5pbmRpY2F0b3IgbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzc1ICogMTAwdncpIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAzNzUgKiAxMDB2dykgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtMjAwKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFjdEludHJvIC5pbm5lciAuaW5kaWNhdG9yIGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAxNDQwICogMTAwdncpKSAwO1xuICAgIH1cbiAgfVxuICAuY29udGFjdEludHJvIC5pbm5lciAuZnJhbWUge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNDAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhY3RJbnRybyAuaW5uZXIgLmZyYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB3aWR0aDogbWluKDgyOHB4LCBjYWxjKDgyOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB9XG4gIH1cbiAgLnN0YWdlLnRvcHBhZ2Uge1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoMTIwIC8gMzc1ICogMTAwdncpIGNhbGMoODAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnN0YWdlLnRvcHBhZ2Uge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDE4MHB4LCBjYWxjKDE4MCAvIDE0NDAgKiAxMDB2dykpIG1pbigxMjBweCwgY2FsYygxMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi10b3A6IG1heCgtMTk2cHgsIGNhbGMoLTE5NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE3MmRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpIDIzLjUyJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDk1LjY0JSk7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCA0MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgIGZpbHRlcjogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC50b3BXcmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BXcmFwcGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wV3JhcHBlci50b3Age1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoNjQgLyAzNzUgKiAxMDB2dykgY2FsYygxMTAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcFdyYXBwZXIudG9wIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigxMDBweCwgY2FsYygxMDAgLyAxNDQwICogMTAwdncpKSBtaW4oMTAwcHgsIGNhbGMoMTAwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BXcmFwcGVyLmJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMjAgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KSBjYWxjKDQ3IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BXcmFwcGVyLmJvdHRvbSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTgwcHgsIGNhbGMoMTgwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oMTIwcHgsIGNhbGMoMTIwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDIxMHB4LCBjYWxjKDIxMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wTVYge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzggLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoODAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcE1WIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgcGFkZGluZy1ib3R0b206IHVuc2V0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbiAgLnRvcE1WIC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wTVYgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcIi4gdGV4dCBpbWFnZSBpbWFnZVwiIGF1dG8gXCIuIGJ1dHRvbiBpbWFnZSBpbWFnZVwiIDFmci8xZnIgbWluKDU4NXB4LCBjYWxjKDU4NSAvIDE0NDAgKiAxMDB2dykpIG1pbig2NzVweCwgY2FsYyg2NzUgLyAxNDQwICogMTAwdncpKSAxZnI7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BNViAuaW5uZXIgLnRleHQge1xuICAgICAgcGFkZGluZy10b3A6IG1pbig5OHB4LCBjYWxjKDk4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBncmlkLWFyZWE6IHRleHQ7XG4gICAgfVxuICB9XG4gIC50b3BNViAuaW5uZXIgLnRleHQgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHh4eGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wTVYgLmlubmVyIC50ZXh0IC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4eHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHh4eGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcE1WIC5pbm5lciAudGV4dCAudGl0bGUgcC5zcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAudG9wTVYgLmlubmVyIC50ZXh0IC50aXRsZSBwLnBjIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BNViAuaW5uZXIgLnRleHQgLnRpdGxlIHAucGMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC50b3BNViAuaW5uZXIgLnRleHQgLnRpdGxlIC5saW5lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC50b3BNViAuaW5uZXIgLnRleHQgLmxlYWQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BNViAuaW5uZXIgLnRleHQgLmxlYWQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgICB9XG4gIH1cbiAgLnRvcE1WIC5pbm5lciAuaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTQgLyAzNzUgKiAxMDB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BNViAuaW5uZXIgLmltYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgZ3JpZC1hcmVhOiBpbWFnZTtcbiAgICB9XG4gIH1cbiAgLnRvcE1WIC5pbm5lciAuaW1hZ2UgLnBob25lcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbiAgLnRvcE1WIC5pbm5lciAuaW1hZ2UgLnBob25lcyAucGhvbmUtMDEge1xuICAgIHdpZHRoOiBjYWxjKDIxMyAvIDM3NSAqIDEwMHZ3KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wTVYgLmlubmVyIC5pbWFnZSAucGhvbmVzIC5waG9uZS0wMSB7XG4gICAgICB3aWR0aDogbWluKDM5MHB4LCBjYWxjKDM5MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLWxlZnQ6IG1pbigyMDNweCwgY2FsYygyMDMgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1yaWdodDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC50b3BNViAuaW5uZXIgLmltYWdlIC5waG9uZXMgLnBob25lLTAyIHtcbiAgICB3aWR0aDogY2FsYygxOTcgLyAzNzUgKiAxMDB2dyk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtMTk3IC8gMzc1ICogMTAwdncpO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI2IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BNViAuaW5uZXIgLmltYWdlIC5waG9uZXMgLnBob25lLTAyIHtcbiAgICAgIHdpZHRoOiBtaW4oMzYwcHgsIGNhbGMoMzYwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4tdG9wOiBtYXgoLTIwNHB4LCBjYWxjKC0yMDQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBtaW4oMTdweCwgY2FsYygxNyAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wTVYgLmlubmVyIC5pbWFnZSAucGF0aCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC50b3BNViAuaW5uZXIgLmltYWdlIC5wYXRoIHN2ZyB7XG4gICAgd2lkdGg6IGNhbGMoMjUwIC8gMzc1ICogMTAwdncpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wTVYgLmlubmVyIC5pbWFnZSAucGF0aCBzdmcge1xuICAgICAgd2lkdGg6IG1pbig1MTFweCwgY2FsYyg1MTEgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnRvcE1WIC5pbm5lciAuaW1hZ2UgLnBhdGggc3ZnOm50aC1jaGlsZCgxKSB7XG4gICAgdG9wOiBjYWxjKDExMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsZWZ0OiBjYWxjKC0xMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wTVYgLmlubmVyIC5pbWFnZSAucGF0aCBzdmc6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRvcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxlZnQ6IG1pbig4MHB4LCBjYWxjKDgwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BNViAuaW5uZXIgLmltYWdlIC5wYXRoIHN2ZzpudGgtY2hpbGQoMikge1xuICAgIHRvcDogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsZWZ0OiBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BNViAuaW5uZXIgLmltYWdlIC5wYXRoIHN2ZzpudGgtY2hpbGQoMikge1xuICAgICAgdG9wOiBtaW4oMjYycHgsIGNhbGMoMjYyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsZWZ0OiBtYXgoLTEzcHgsIGNhbGMoLTEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BNViAuaW5uZXIgLmltYWdlIC5wYXRoIHN2ZzpudGgtY2hpbGQoMykge1xuICAgIHRvcDogY2FsYyg3MCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsZWZ0OiBjYWxjKDI0NCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wTVYgLmlubmVyIC5pbWFnZSAucGF0aCBzdmc6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRvcDogbWluKDIwNHB4LCBjYWxjKDIwNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGVmdDogbWluKDUxOHB4LCBjYWxjKDUxOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wTVYgLmlubmVyIC5idXR0b25zIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDM1IC8gMzc1ICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wTVYgLmlubmVyIC5idXR0b25zIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig4MHB4LCBjYWxjKDgwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBncmlkLWFyZWE6IGJ1dHRvbjtcbiAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgfVxuICB9XG4gIC50b3BNViAuaW5uZXIgLmJ1dHRvbnMgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wTVYgLmlubmVyIC5idXR0b25zIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wTVYgLmlubmVyIC5idXR0b25zIC50aXRsZTo6YmVmb3JlLCAudG9wTVYgLmlubmVyIC5idXR0b25zIC50aXRsZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMjAgLyAzNzUgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDIgLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIHJvdGF0ZTogeiAtMTIwZGVnO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BNViAuaW5uZXIgLmJ1dHRvbnMgLnRpdGxlOjpiZWZvcmUsIC50b3BNViAuaW5uZXIgLmJ1dHRvbnMgLnRpdGxlOjphZnRlciB7XG4gICAgICB3aWR0aDogbWluKDIwcHgsIGNhbGMoMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDJweCwgY2FsYygyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BNViAuaW5uZXIgLmJ1dHRvbnMgLnRpdGxlOjphZnRlciB7XG4gICAgcm90YXRlOiB6IDEyMGRlZztcbiAgfVxuICAudG9wTVYgLmlubmVyIC5idXR0b25zIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgIGdhcDogY2FsYyg4IC8gMzc1ICogMTAwdncpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgcGFkZGluZzogY2FsYygxNCAvIDM3NSAqIDEwMHZ3KSBjYWxjKDI0IC8gMzc1ICogMTAwdncpIGNhbGMoMTQgLyAzNzUgKiAxMDB2dykgY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wTVYgLmlubmVyIC5idXR0b25zIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDEycHgsIGNhbGMoMTIgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKSBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpIG1pbig1MHB4LCBjYWxjKDUwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC50b3BNViAuaW5uZXIgLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIHRyYW5zbGF0ZTogMCAwO1xuICAgIH1cbiAgfVxuICAudG9wTVYgLmlubmVyIC5idXR0b25zIC5idXR0b246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDM2IC8gMzc1ICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygzNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9hcnJvd19jb250YWN0LnN2Zyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BNViAuaW5uZXIgLmJ1dHRvbnMgLmJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IG1pbigzNnB4LCBjYWxjKDM2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigzNnB4LCBjYWxjKDM2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BNViAuaW5uZXIgLmJ1dHRvbnMgLmJ1dHRvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2xhdGU6IC0xMjAlIDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICAudG9wTVYgLmlubmVyIC5idXR0b25zIC5idXR0b24gc3BhbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wTVYgLmlubmVyIC5idXR0b25zIC5idXR0b24gc3BhbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgfVxuICB9XG4gIC50b3BNViAuaW5uZXIgLmJ1dHRvbnMgLnBhcnRuZXIge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wTVYgLmlubmVyIC5idXR0b25zIC5wYXJ0bmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BNViAuaW5uZXIgLmJ1dHRvbnMgLnBhcnRuZXIgZHQge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BNViAuaW5uZXIgLmJ1dHRvbnMgLnBhcnRuZXIgZHQge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eHhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHh4cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnRvcE1WIC5pbm5lciAuYnV0dG9ucyAucGFydG5lciBkZCBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDkyIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BNViAuaW5uZXIgLmJ1dHRvbnMgLnBhcnRuZXIgZGQgaW1nIHtcbiAgICAgIHdpZHRoOiBtaW4oOTJweCwgY2FsYyg5MiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wTVYgLmlubmVyIC5iYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiBjYWxjKDEwMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICByaWdodDogY2FsYygxNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLWJyYW5kLVNlY29uZGFyeSwgI0Y0RkYxRCkgNjMuNTQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDgxLjU3JSksIHZhcigtLWNvbG9yLXdoaXRlLXdoaXRlLCAjRkZGKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBjYWxjKDggLyAzNzUgKiAxMDB2dyk7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogY2FsYygxNSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBtaW4td2lkdGg6IGNhbGMoMTEwIC8gMzc1ICogMTAwdncpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BNViAuaW5uZXIgLmJhZGdlIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogbWluKDM0MnB4LCBjYWxjKDM0MiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGVmdDogY2FsYyg1MCUgKyBtaW4oNTE2cHgsIGNhbGMoNTE2IC8gMTQ0MCAqIDEwMHZ3KSkpO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IG1pbigxODBweCwgY2FsYygxODAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbigyMnB4LCBjYWxjKDIyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BNViAuaW5uZXIgLmJhZGdlIC5kZXNjIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHh4cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BNViAuaW5uZXIgLmJhZGdlIC5kZXNjIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnRvcE1WIC5pbm5lciAuYmFkZ2UgLm1ha2VzaG9wIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnRvcE1WIC5pbm5lciAuYmFkZ2UgLm1ha2VzaG9wIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoNTQgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcE1WIC5pbm5lciAuYmFkZ2UgLm1ha2VzaG9wIGltZyB7XG4gICAgICB3aWR0aDogbWluKDg5cHgsIGNhbGMoODkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnRvcEFib3V0IC5pbm5lciAudGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BBYm91dCAuaW5uZXIgLnRpdGxlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDExMDhweCwgY2FsYygxMTA4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BBYm91dCAuaW5uZXIgLnRpdGxlIC5lbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYyg0IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIC50b3BBYm91dCAuaW5uZXIgLnRpdGxlIC5lbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDggLyAzNzUgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDggLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcEFib3V0IC5pbm5lciAudGl0bGUgLmVuIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICAgIC50b3BBYm91dCAuaW5uZXIgLnRpdGxlIC5lbjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiBtaW4oMTVweCwgY2FsYygxNSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oMTVweCwgY2FsYygxNSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wQWJvdXQgLmlubmVyIC50aXRsZSAuaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHhsKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcEFib3V0IC5pbm5lciAudGl0bGUgLmhlYWRpbmcge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHh4eGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHh4bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIH1cbiAgfVxuICAudG9wQWJvdXQgLmlubmVyIC50aXRsZSAubGVhZCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDIwMCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcEFib3V0IC5pbm5lciAudGl0bGUgLmxlYWQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDY0cHgsIGNhbGMoNjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbSkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMjQwJTtcbiAgICB9XG4gIH1cbiAgLnRvcEFib3V0IC5pbm5lciAuaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoODAgLyAzNzUgKiAxMDB2dyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcEFib3V0IC5pbm5lciAuaW1hZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogbWF4KC00MHB4LCBjYWxjKC00MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG4gIC50b3BBYm91dCAuaW5uZXIgLmltYWdlIC5jYXJ0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQ0IC8gMzc1ICogMTAwdncpO1xuICAgIHdpZHRoOiBjYWxjKDM3NCAvIDM3NSAqIDEwMHZ3KTtcbiAgICB0cmFuc2xhdGU6IGNhbGMoLTc4IC8gMzc1ICogMTAwdncpIDA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcEFib3V0IC5pbm5lciAuaW1hZ2UgLmNhcnQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDEwMHB4LCBjYWxjKDEwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgd2lkdGg6IG1pbig2NTdweCwgY2FsYyg2NTcgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHRyYW5zbGF0ZTogMCBtYXgoLTEwcHgsIGNhbGMoLTEwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BBYm91dCAuaW5uZXIgLmltYWdlIC5zcHJpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICB3aWR0aDogY2FsYygxNDAgLyAzNzUgKiAxMDB2dyk7XG4gICAgYW5pbWF0aW9uOiByb3RhdGUgMzBzIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wQWJvdXQgLmlubmVyIC5pbWFnZSAuc3ByaW5nIHtcbiAgICAgIHdpZHRoOiBtaW4oMzAwcHgsIGNhbGMoMzAwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICByaWdodDogbWluKDE1NnB4LCBjYWxjKDE1NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgZnJvbSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gIH1cbiAgLnRvcEFib3V0IC5pbm5lciAuYmFkZ2VzIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEzMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wQWJvdXQgLmlubmVyIC5iYWRnZXMge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTEwOHB4LCBjYWxjKDExMDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcEFib3V0IC5pbm5lciAuYmFkZ2VzIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigxODBweCwgY2FsYygxODAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgZ2FwOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wQWJvdXQgLmlubmVyIC5iYWRnZXMgLnVuaXQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoMTA4IC8gMzc1ICogMTAwdncpIDFmcjtcbiAgICBnYXA6IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wQWJvdXQgLmlubmVyIC5iYWRnZXMgLnVuaXQge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgLnRvcEFib3V0IC5pbm5lciAuYmFkZ2VzIC51bml0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wQWJvdXQgLmlubmVyIC5iYWRnZXMgLnVuaXQgLmJhZGdlIGltZyB7XG4gICAgICB3aWR0aDogbWluKDI4MHB4LCBjYWxjKDI4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wQWJvdXQgLmlubmVyIC5iYWRnZXMgLnVuaXQgLnRleHQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnRvcEFib3V0IC5pbm5lciAuYmFkZ2VzIC51bml0IC50ZXh0IC5oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wQWJvdXQgLmlubmVyIC5iYWRnZXMgLnVuaXQgLnRleHQgLmhlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgfVxuICB9XG4gIC50b3BBYm91dCAuaW5uZXIgLmJhZGdlcyAudW5pdCAudGV4dCAuZGVzYyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbSkgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcEFib3V0IC5pbm5lciAuYmFkZ2VzIC51bml0IC50ZXh0IC5kZXNjIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgIH1cbiAgfVxuICAudG9wRmVhdHVyZXMge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTIwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BGZWF0dXJlcyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTIwcHgsIGNhbGMoMTIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BGZWF0dXJlcyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMTA4cHgsIGNhbGMoMTEwOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wRmVhdHVyZXMgLmlubmVyIHtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyg0OCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wRmVhdHVyZXMgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigxMjBweCwgY2FsYygxMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oMTA4cHgsIGNhbGMoMTA4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BGZWF0dXJlcyAuaW5uZXIgLnRpdGxlIC5lbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiBjYWxjKDQgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgLnRvcEZlYXR1cmVzIC5pbm5lciAudGl0bGUgLmVuOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoOCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoOCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wRmVhdHVyZXMgLmlubmVyIC50aXRsZSAuZW4ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gICAgLnRvcEZlYXR1cmVzIC5pbm5lciAudGl0bGUgLmVuOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbigxM3B4LCBjYWxjKDEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigxM3B4LCBjYWxjKDEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BGZWF0dXJlcyAuaW5uZXIgLnRpdGxlIC5qYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BGZWF0dXJlcyAuaW5uZXIgLnRpdGxlIC5qYSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIH1cbiAgfVxuICAudG9wRmVhdHVyZXMgLmlubmVyIC5taWdyYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcEZlYXR1cmVzIC5pbm5lciAubWlncmF0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BGZWF0dXJlcyAuaW5uZXIgLmhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhsKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcEZlYXR1cmVzIC5pbm5lciAuaGVhZGluZyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgfVxuICB9XG4gIC50b3BGZWF0dXJlcyAuaW5uZXIgLmxlYWQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BGZWF0dXJlcyAuaW5uZXIgLmxlYWQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDEycHgsIGNhbGMoMTIgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtcykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTg1JTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcEZlYXR1cmVzIC5pbm5lciAucm93IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig4MHB4LCBjYWxjKDgwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdhcDogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnRvcEZlYXR1cmVzIC5pbm5lciAucm93IC51bml0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BGZWF0dXJlcyAuaW5uZXIgLnJvdyAudW5pdCB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLnRvcFNvbHV0aW9uIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcFNvbHV0aW9uIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjYwcHgsIGNhbGMoMTI2MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wU29sdXRpb24gLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcInRpdGxlIGxpc3RcIiBtaW4oMjkycHgsIGNhbGMoMjkyIC8gMTQ0MCAqIDEwMHZ3KSkgXCJidXR0b24gbGlzdFwiIGF1dG8vbWluKDM3OHB4LCBjYWxjKDM3OCAvIDE0NDAgKiAxMDB2dykpIDFmcjtcbiAgICAgIGdhcDogMCBtaW4oNTRweCwgY2FsYyg1NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wU29sdXRpb24gLmlubmVyIC5wVGl0bGUge1xuICAgICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcFNvbHV0aW9uIC5pbm5lciAucFRpdGxlIC5lbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4eHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHh4eGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BTb2x1dGlvbiAuaW5uZXIgLnBUaXRsZSAubGVhZCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcFNvbHV0aW9uIC5pbm5lciAucFRpdGxlIC5sZWFkIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wU29sdXRpb24gLmlubmVyIC5saXN0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BTb2x1dGlvbiAuaW5uZXIgLmxpc3Qge1xuICAgICAgZ3JpZC1hcmVhOiBsaXN0O1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdhcDogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnRvcFNvbHV0aW9uIC5pbm5lciAubGlzdCAudW5pdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtMTAwKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygzMTggLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvIGF1dG87XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcFNvbHV0aW9uIC5pbm5lciAubGlzdCAudW5pdCB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oMzQ4cHgsIGNhbGMoMzQ4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BTb2x1dGlvbiAuaW5uZXIgLmxpc3QgLnVuaXQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICB9XG4gIC50b3BTb2x1dGlvbiAuaW5uZXIgLmxpc3QgLnVuaXQgLmltYWdlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAudG9wU29sdXRpb24gLmlubmVyIC5saXN0IC51bml0IC5pbWFnZSBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDEyMCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wU29sdXRpb24gLmlubmVyIC5saXN0IC51bml0IC5pbWFnZSBpbWcge1xuICAgICAgd2lkdGg6IG1pbigxNDBweCwgY2FsYygxNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnRvcFNvbHV0aW9uIC5pbm5lciAubGlzdCAudW5pdCAuaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhsKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcFNvbHV0aW9uIC5pbm5lciAubGlzdCAudW5pdCAuaGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgfVxuICB9XG4gIC50b3BTb2x1dGlvbiAuaW5uZXIgLmxpc3QgLnVuaXQgLmxlYWQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbSkgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcFNvbHV0aW9uIC5pbm5lciAubGlzdCAudW5pdCAubGVhZCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNHB4LCBjYWxjKDQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtcykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTg1JTtcbiAgICB9XG4gIH1cbiAgLnRvcFNvbHV0aW9uIC5pbm5lciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BTb2x1dGlvbiAuaW5uZXIgLmJ1dHRvbiB7XG4gICAgICBncmlkLWFyZWE6IGJ1dHRvbjtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAuc29sdXRpb25GQVEudG9wcGFnZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMjAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRkFRLnRvcHBhZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDEyMHB4LCBjYWxjKDEyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc29sdXRpb25GQVEudG9wcGFnZSAuaW5uZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwidGl0bGUgbGlzdFwiIG1pbigyOTJweCwgY2FsYygyOTIgLyAxNDQwICogMTAwdncpKSBcImJ1dHRvbiBsaXN0XCIgYXV0by9taW4oMzc4cHgsIGNhbGMoMzc4IC8gMTQ0MCAqIDEwMHZ3KSkgMWZyO1xuICAgICAgZ2FwOiAwIG1pbig1NHB4LCBjYWxjKDU0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvbkZBUS50b3BwYWdlIC5pbm5lciAucFRpdGxlIHtcbiAgICAgIGdyaWQtYXJlYTogdGl0bGU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvbkZBUS50b3BwYWdlIC5pbm5lciAucFRpdGxlIC5lbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4eHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHh4eGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zb2x1dGlvbkZBUS50b3BwYWdlIC5pbm5lciAuc29sdXRpb25GQVFMaXN0IHtcbiAgICAgIGdyaWQtYXJlYTogbGlzdDtcbiAgICB9XG4gIH1cbiAgLnNvbHV0aW9uRkFRLnRvcHBhZ2UgLmlubmVyIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNjQgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvbHV0aW9uRkFRLnRvcHBhZ2UgLmlubmVyIC5idXR0b24ge1xuICAgICAgZ3JpZC1hcmVhOiBidXR0b247XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcENhc2UgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcIi4gdGl0bGUgYnV0dG9uIC5cIiBhdXRvIFwibGlzdCBsaXN0IGxpc3QgbGlzdFwiIGF1dG8vMWZyIG1pbig2MzBweCwgY2FsYyg2MzAgLyAxNDQwICogMTAwdncpKSBtaW4oNjMwcHgsIGNhbGMoNjMwIC8gMTQ0MCAqIDEwMHZ3KSkgMWZyO1xuICAgICAgZ2FwOiBtaW4oODJweCwgY2FsYyg4MiAvIDE0NDAgKiAxMDB2dykpIDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuICAudG9wQ2FzZSAuaW5uZXIgLnBUaXRsZSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcENhc2UgLmlubmVyIC5wVGl0bGUge1xuICAgICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLnRvcENhc2UgLmlubmVyIC50b3BDYXNlU2xpZGVyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDMyIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BDYXNlIC5pbm5lciAudG9wQ2FzZVNsaWRlciB7XG4gICAgICBncmlkLWFyZWE6IGxpc3Q7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIHdpZHRoOiBtaW4oMTI5MnB4LCBjYWxjKDEyOTIgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cbiAgLnRvcENhc2UgLmlubmVyIC50b3BDYXNlU2xpZGVyIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIHtcbiAgICB3aWR0aDogY2FsYygzMDAgLyAzNzUgKiAxMDB2dyk7XG4gICAgbWFyZ2luLWlubGluZTogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wQ2FzZSAuaW5uZXIgLnRvcENhc2VTbGlkZXIgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUge1xuICAgICAgd2lkdGg6IG1pbigzOTlweCwgY2FsYygzOTkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BDYXNlIC5pbm5lciAudG9wQ2FzZVNsaWRlciAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudG9wQ2FzZSAuaW5uZXIgLnRvcENhc2VTbGlkZXIgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgYSAuaW1hZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDIyIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wQ2FzZSAuaW5uZXIgLnRvcENhc2VTbGlkZXIgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgYSAuaW1hZ2Uge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oMjhweCwgY2FsYygyOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BDYXNlIC5pbm5lciAudG9wQ2FzZVNsaWRlciAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSBhIC5pbWFnZSBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDIwMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBib3gtc2hhZG93OiAwIDAgOC44OTNweCAxLjE4NnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcENhc2UgLmlubmVyIC50b3BDYXNlU2xpZGVyIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIGEgLmltYWdlIGltZyB7XG4gICAgICB3aWR0aDogbWluKDI2NnB4LCBjYWxjKDI2NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDExLjgyOHB4IDEuNTc3cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB9XG4gIH1cbiAgLnRvcENhc2UgLmlubmVyIC50b3BDYXNlU2xpZGVyIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIGEgLnRhZ3Mge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IGNhbGMoNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcENhc2UgLmlubmVyIC50b3BDYXNlU2xpZGVyIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIGEgLnRhZ3Mge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BDYXNlIC5pbm5lciAudG9wQ2FzZVNsaWRlciAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSBhIC50YWdzIGxpIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICBwYWRkaW5nOiBjYWxjKDIgLyAzNzUgKiAxMDB2dykgY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wQ2FzZSAuaW5uZXIgLnRvcENhc2VTbGlkZXIgLnN3aXBlci13cmFwcGVyIC5zd2lwZXItc2xpZGUgYSAudGFncyBsaSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4eHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHhzKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDJweCwgY2FsYygyIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BDYXNlIC5pbm5lciAudG9wQ2FzZVNsaWRlciAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSBhIC50ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BDYXNlIC5pbm5lciAudG9wQ2FzZVNsaWRlciAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSBhIC50ZXh0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BDYXNlIC5pbm5lciAudG9wQ2FzZVNsaWRlciAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSBhIC50ZXh0IC5oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbSkgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BDYXNlIC5pbm5lciAudG9wQ2FzZVNsaWRlciAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSBhIC50ZXh0IC5oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICB9XG4gIH1cbiAgLnRvcENhc2UgLmlubmVyIC50b3BDYXNlU2xpZGVyIC5zd2lwZXItd3JhcHBlciAuc3dpcGVyLXNsaWRlIGEgLnRleHQgLmxlYWQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BDYXNlIC5pbm5lciAudG9wQ2FzZVNsaWRlciAuc3dpcGVyLXdyYXBwZXIgLnN3aXBlci1zbGlkZSBhIC50ZXh0IC5sZWFkIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudG9wQ2FzZSAuaW5uZXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wQ2FzZSAuaW5uZXIgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIGdyaWQtYXJlYTogYnV0dG9uO1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogU3dpcGVyIDExLjEuMTVcbiAgICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAgICogaHR0cHM6Ly9zd2lwZXJqcy5jb21cbiAgICpcbiAgICogQ29weXJpZ2h0IDIwMTQtMjAyNCBWbGFkaW1pciBLaGFybGFtcGlkaVxuICAgKlxuICAgKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAgICpcbiAgICogUmVsZWFzZWQgb246IE5vdmVtYmVyIDE4LCAyMDI0XG4gICAqL1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogc3dpcGVyLWljb25zO1xuICAgIHNyYzogdXJsKFwiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUFcIik7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cbiAgOnJvb3Qge1xuICAgIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiMwMDdhZmY7XG4gIH1cbiAgOmhvc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAuc3dpcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tc3dpcGVyLXdyYXBwZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sIGluaXRpYWwpO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICB9XG4gIC5zd2lwZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWlvcyAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgfVxuICAuc3dpcGVyLWhvcml6b250YWwge1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIH1cbiAgLnN3aXBlci12ZXJ0aWNhbCB7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgfVxuICAuc3dpcGVyLXNsaWRlIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC5zd2lwZXItYXV0b2hlaWdodCwgLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgfVxuICAuc3dpcGVyLWJhY2tmYWNlLWhpZGRlbiAuc3dpcGVyLXNsaWRlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC5zd2lwZXItM2Quc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlciB7XG4gICAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItd3JhcHBlciB7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgfVxuICAuc3dpcGVyLTNkIHtcbiAgICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xuICB9XG4gIC5zd2lwZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdywgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlIHtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB9XG4gIC5zd2lwZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydCBzdGFydDtcbiAgfVxuICAuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgfVxuICAuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBzY3JvbGwtc25hcC10eXBlOiBub25lO1xuICB9XG4gIC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xuICB9XG4gIC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWNlbnRlcmVkID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb3JkZXI6IDk5OTk7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgICBzY3JvbGwtc25hcC1hbGlnbjogY2VudGVyIGNlbnRlcjtcbiAgICBzY3JvbGwtc25hcC1zdG9wOiBhbHdheXM7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMXB4O1xuICAgIGhlaWdodDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7XG4gIH1cbiAgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdywgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgICB3aWR0aDogNDJweDtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gICAgbWFyZ2luLXRvcDogLTIxcHg7XG4gICAgei1pbmRleDogMTA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MgLnN3aXBlci1zbGlkZS12aXNpYmxlIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIsIC5zd2lwZXI6bm90KC5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MpIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICAgIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgfVxuICAuc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlIHtcbiAgICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6I2ZmZjtcbiAgfVxuICAuc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrIHtcbiAgICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IzAwMDtcbiAgfVxuICBAa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gICAgMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gIH1cbiAgLnN3aXBlci12aXJ0dWFsIC5zd2lwZXItc2xpZGUge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgfVxuICAuc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWhvcml6b250YWwgLnN3aXBlci13cmFwcGVyOjphZnRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IHZhcigtLXN3aXBlci12aXJ0dWFsLXNpemUpO1xuICB9XG4gIC5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLXZlcnRpY2FsIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItdmlydHVhbC1zaXplKTtcbiAgfVxuICA6cm9vdCB7XG4gICAgLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOjQ0cHg7XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tdG9wLW9mZnNldCwgNTAlKTtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKSAvIDQ0ICogMjcpO1xuICAgIGhlaWdodDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygwcHggLSB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKSAvIDIpO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgfVxuICAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zNTtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWhpZGRlbiwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWhpZGRlbiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1uYXZpZ2F0aW9uLWRpc2FibGVkIC5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dCBzdmcsIC5zd2lwZXItYnV0dG9uLXByZXYgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIH1cbiAgLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCBzdmcsIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIC5zd2lwZXItYnV0dG9uLXByZXYsIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIGxlZnQ6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwgMTBweCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgcmlnaHQ6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwgMTBweCk7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBzd2lwZXItaWNvbnM7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGZvbnQtdmFyaWFudDogaW5pdGlhbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLCAuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgICBjb250ZW50OiBcInByZXZcIjtcbiAgfVxuICAuc3dpcGVyLWJ1dHRvbi1uZXh0LCAuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICByaWdodDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2lkZXMtb2Zmc2V0LCAxMHB4KTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwibmV4dFwiO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1kaXNhYmxlZCA+IC5zd2lwZXItcGFnaW5hdGlvbiwgLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwsIC5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sIC5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XG4gICAgYm90dG9tOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1ib3R0b20sIDhweCk7XG4gICAgdG9wOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi10b3AsIGF1dG8pO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIHdpZHRoOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtd2lkdGgsIHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplLCA4cHgpKTtcbiAgICBoZWlnaHQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQsIHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplLCA4cHgpKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWJvcmRlci1yYWRpdXMsIDUwJSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLWNvbG9yLCAjMDAwKTtcbiAgICBvcGFjaXR5OiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eSwgMC4yKTtcbiAgfVxuICBidXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0Om9ubHktY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LW9wYWNpdHksIDEpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cywgLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgICByaWdodDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcmlnaHQsIDhweCk7XG4gICAgbGVmdDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tbGVmdCwgYXV0byk7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsIC5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBtYXJnaW46IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXAsIDZweCkgMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMsIC5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogOHB4O1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LCAuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2l0aW9uOiAwLjJzIHRyYW5zZm9ybSwgMC4ycyB0b3A7XG4gIH1cbiAgLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwgLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBtYXJnaW46IDAgdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwLCA0cHgpO1xuICB9XG4gIC5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYywgLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwgLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgdHJhbnNpdGlvbjogMC4ycyB0cmFuc2Zvcm0sIDAuMnMgbGVmdDtcbiAgfVxuICAuc3dpcGVyLWhvcml6b250YWwuc3dpcGVyLXJ0bCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgdHJhbnNpdGlvbjogMC4ycyB0cmFuc2Zvcm0sIDAuMnMgcmlnaHQ7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24tY29sb3IsIGluaGVyaXQpO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItYmctY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4yNSkpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIH1cbiAgLnN3aXBlci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIH1cbiAgLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbCwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLCAuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemUsIDRweCk7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLCAuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgICB3aWR0aDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItc2l6ZSwgNHB4KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1zY3JvbGxiYXIge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1cywgMTBweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJnLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICB9XG4gIC5zd2lwZXItc2Nyb2xsYmFyLWRpc2FibGVkID4gLnN3aXBlci1zY3JvbGxiYXIsIC5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciwgLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1ob3Jpem9udGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsIDElKTtcbiAgICBib3R0b206IHZhcigtLXN3aXBlci1zY3JvbGxiYXItYm90dG9tLCA0cHgpO1xuICAgIHRvcDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci10b3AsIGF1dG8pO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIGhlaWdodDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaXplLCA0cHgpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsIDElKSk7XG4gIH1cbiAgLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci12ZXJ0aWNhbCwgLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1sZWZ0LCBhdXRvKTtcbiAgICByaWdodDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1yaWdodCwgNHB4KTtcbiAgICB0b3A6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LCAxJSk7XG4gICAgei1pbmRleDogNTA7XG4gICAgd2lkdGg6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2l6ZSwgNHB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIgKiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwgMSUpKTtcbiAgfVxuICAuc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItZHJhZy1iZy1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjUpKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJvcmRlci1yYWRpdXMsIDEwcHgpO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gIH1cbiAgLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzLCAuc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLCAuc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICB9XG4gIC5zd2lwZXIgLnN3aXBlci1ub3RpZmljYXRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IC0xMDAwO1xuICB9XG4gIC5zd2lwZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLnN3aXBlci1ncmlkID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnN3aXBlci1ncmlkLWNvbHVtbiA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnN3aXBlci1mYWRlLnN3aXBlci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG4gIC5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG4gIC5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC5zd2lwZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbiAgLnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuICAuc3dpcGVyLnN3aXBlci1jdWJlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1jdWJlLnN3aXBlci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB9XG4gIC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsIC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsIC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnN3aXBlci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgei1pbmRleDogMDtcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZS5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZS5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZS5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgei1pbmRleDogMDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnN3aXBlci5zd2lwZXItZmxpcCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gIC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuICAuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWZsaXAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgei1pbmRleDogMDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnN3aXBlci1jcmVhdGl2ZSAuc3dpcGVyLXNsaWRlIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIGhlaWdodDtcbiAgfVxuICAuc3dpcGVyLnN3aXBlci1jYXJkcyB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLnN3aXBlci1jYXJkcyAuc3dpcGVyLXNsaWRlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5AbGF5ZXIgbHAge1xuICBib2R5LmxwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MCk7XG4gIH1cbiAgYm9keS5scCBoZWFkZXIgLmlubmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDU0IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGJvZHkubHAgaGVhZGVyIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBib2R5LmxwIGhlYWRlciAuaW5uZXIgI2NvbnRhY3RCdXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIGJvZHkubHAgaGVhZGVyIC5pbm5lciAjY29udGFjdEJ1dHRvbiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIGJvZHkubHAgaGVhZGVyIC5pbm5lciAjY29udGFjdEJ1dHRvbiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgYm9keS5scCBoZWFkZXIgLmlubmVyICNjb250YWN0QnV0dG9uIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtZmFzdCkgdmFyKC0tYmV6aWVyKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50IGFuZCAoYW55LWhvdmVyOiBob3ZlciksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIGJvZHkubHAgaGVhZGVyIC5pbm5lciAjY29udGFjdEJ1dHRvbiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgIH1cbiAgfVxuICBib2R5LmxwIG1haW4ge1xuICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgfVxuICBib2R5LmxwIGZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg4MCAvIDM3NSAqIDEwMHZ3KSBjYWxjKDMyIC8gMzc1ICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5LmxwIGZvb3RlciB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oMTIwcHgsIGNhbGMoMTIwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgYm9keS5scCBmb290ZXIgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICBib2R5LmxwIGZvb3RlciAuaW5uZXIgLmNvcHkge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1tKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGJvZHkubHAgZm9vdGVyIC5pbm5lciAuY29weSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLW0pICogMXB4KSwgY2FsYyh2YXIoLS1mcy1tKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBib2R5LmxwIGZvb3RlciAuaW5uZXIgLmxvZ28ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTggLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgYm9keS5scCBmb290ZXIgLmlubmVyIC5sb2dvIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigxOHB4LCBjYWxjKDE4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGJvZHkubHAgZm9vdGVyIC5pbm5lciAubG9nbyAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDI2MCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyB2YXIoLS1iZXppZXIpO1xuICB9XG4gIGJvZHkubHAgZm9vdGVyIC5pbm5lciAubG9nbyAuaW1hZ2U6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5LmxwIGZvb3RlciAuaW5uZXIgLmxvZ28gLmltYWdlIHtcbiAgICAgIHdpZHRoOiBtaW4oMzAwcHgsIGNhbGMoMzAwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGJvZHkubHAgZm9vdGVyIC5pbm5lciAuY29weXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5LmxwIGZvb3RlciAuaW5uZXIgLmNvcHlyaWdodCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTIwcHgsIGNhbGMoMTIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGJvZHkubHAgZm9vdGVyIC5pbm5lciAuY29weXJpZ2h0IHAge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgfVxuICBib2R5LmxwIC5pY29ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxMHB4IDIwcHggcmdiYSg4NiwgMjE0LCAyNDIsIDAuOCkpO1xuICB9XG4gIC5MUG1haW5WaXN1YWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS0xMDApO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoMTcxIC8gMzc1ICogMTAwdncpIGNhbGMoOTcgLyAzNzUgKiAxMDB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQbWFpblZpc3VhbCB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oMTkwcHgsIGNhbGMoMTkwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDk3cHgsIGNhbGMoOTcgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQbWFpblZpc3VhbCAuaW5uZXIge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUG1haW5WaXN1YWwgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJ0ZXh0IGltYWdlXCIgYXV0byBcImJ1dHRvbiBpbWFnZVwiIDFmci8xZnIgbWluKDYyOHB4LCBjYWxjKDYyOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUG1haW5WaXN1YWwgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEyNjBweCwgY2FsYygxMjYwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUG1haW5WaXN1YWwgLmlubmVyIC5pbWFnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUG1haW5WaXN1YWwgLmlubmVyIC5pbWFnZSB7XG4gICAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgICAgcGFkZGluZy1ib3R0b206IG1pbig2MnB4LCBjYWxjKDYyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUG1haW5WaXN1YWwgLmlubmVyIC5pbWFnZSBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDI2OCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTAwcHggMCAjMmVhN2MyO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQbWFpblZpc3VhbCAuaW5uZXIgLmltYWdlIGltZyB7XG4gICAgICB3aWR0aDogbWluKDYyOHB4LCBjYWxjKDYyOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDIwMHB4IDAgIzNjYzdlNjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBtYWluVmlzdWFsIC5pbm5lciAudGV4dCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBtYWluVmlzdWFsIC5pbm5lciAudGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICAgIHBhZGRpbmctbGVmdDogbWluKDc2cHgsIGNhbGMoNzYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQbWFpblZpc3VhbCAuaW5uZXIgLnRleHQgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHh4eGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBtYWluVmlzdWFsIC5pbm5lciAudGV4dCAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiBtaW4oNDRweCwgY2FsYyg0NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgfVxuICB9XG4gIC5MUG1haW5WaXN1YWwgLmlubmVyIC50ZXh0IC5sZWFkIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBtYWluVmlzdWFsIC5pbm5lciAudGV4dCAubGVhZCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1tKSAqIDFweCksIGNhbGModmFyKC0tZnMtbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQbWFpblZpc3VhbCAuaW5uZXIgLmJ1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzUgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMjIgLyAzNzUgKiAxMDB2dyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUG1haW5WaXN1YWwgLmlubmVyIC5idXR0b25zIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgZ3JpZC1hcmVhOiBidXR0b247XG4gICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IG1pbig3NnB4LCBjYWxjKDc2IC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgLkxQbWFpblZpc3VhbCAuaW5uZXIgLmJ1dHRvbnMgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBtYWluVmlzdWFsIC5pbm5lciAuYnV0dG9ucyAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQbWFpblZpc3VhbCAuaW5uZXIgLmJ1dHRvbnMgLnRpdGxlOjpiZWZvcmUsIC5MUG1haW5WaXN1YWwgLmlubmVyIC5idXR0b25zIC50aXRsZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMjAgLyAzNzUgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDIgLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgcm90YXRlOiB6IC0xMjBkZWc7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQbWFpblZpc3VhbCAuaW5uZXIgLmJ1dHRvbnMgLnRpdGxlOjpiZWZvcmUsIC5MUG1haW5WaXN1YWwgLmlubmVyIC5idXR0b25zIC50aXRsZTo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IG1pbigyMHB4LCBjYWxjKDIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigycHgsIGNhbGMoMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBtYWluVmlzdWFsIC5pbm5lciAuYnV0dG9ucyAudGl0bGU6OmFmdGVyIHtcbiAgICByb3RhdGU6IHogMTIwZGVnO1xuICB9XG4gIC5MUG1haW5WaXN1YWwgLmlubmVyIC5idXR0b25zIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgIGdhcDogY2FsYyg4IC8gMzc1ICogMTAwdncpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgIHBhZGRpbmc6IGNhbGMoMTQgLyAzNzUgKiAxMDB2dykgY2FsYygyMiAvIDM3NSAqIDEwMHZ3KSBjYWxjKDE0IC8gMzc1ICogMTAwdncpIGNhbGMoNDAgLyAzNzUgKiAxMDB2dyk7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBtYWluVmlzdWFsIC5pbm5lciAuYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpIG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKSBtaW4oNTBweCwgY2FsYyg1MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAuTFBtYWluVmlzdWFsIC5pbm5lciAuYnV0dG9ucyAuYnV0dG9uOmhvdmVyOjpiZWZvcmUge1xuICAgICAgdHJhbnNsYXRlOiAwIDA7XG4gICAgfVxuICB9XG4gIC5MUG1haW5WaXN1YWwgLmlubmVyIC5idXR0b25zIC5idXR0b246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDM2IC8gMzc1ICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygzNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9hcnJvd19jb250YWN0LnN2Zyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUG1haW5WaXN1YWwgLmlubmVyIC5idXR0b25zIC5idXR0b246OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBtaW4oMzZweCwgY2FsYygzNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oMzZweCwgY2FsYygzNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBtYWluVmlzdWFsIC5pbm5lciAuYnV0dG9ucyAuYnV0dG9uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNsYXRlOiAtMTIwJSAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gIH1cbiAgLkxQbWFpblZpc3VhbCAuaW5uZXIgLmJ1dHRvbnMgLmJ1dHRvbiBzcGFuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbSkgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUG1haW5WaXN1YWwgLmlubmVyIC5idXR0b25zIC5idXR0b24gc3BhbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgfVxuICB9XG4gIC5MUG1haW5WaXN1YWwgLmlubmVyIC5idXR0b25zIC5wYXJ0bmVyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBtYWluVmlzdWFsIC5pbm5lciAuYnV0dG9ucyAucGFydG5lciB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1yaWdodDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQbWFpblZpc3VhbCAuaW5uZXIgLmJ1dHRvbnMgLnBhcnRuZXIgZHQge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHhzKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUG1haW5WaXN1YWwgLmlubmVyIC5idXR0b25zIC5wYXJ0bmVyIGR0IHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHh4cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4eHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUG1haW5WaXN1YWwgLmlubmVyIC5idXR0b25zIC5wYXJ0bmVyIGRkIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoOTIgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQbWFpblZpc3VhbCAuaW5uZXIgLmJ1dHRvbnMgLnBhcnRuZXIgZGQgaW1nIHtcbiAgICAgIHdpZHRoOiBtaW4oOTJweCwgY2FsYyg5MiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBtYWluVmlzdWFsIC5pY29uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUG1haW5WaXN1YWwgLmljb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogbWluKDMwMHB4LCBjYWxjKDMwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUG1haW5WaXN1YWwgLmljb24gLmljb25fYmFnIHtcbiAgICAgIHdpZHRoOiBtaW4oMjY3cHgsIGNhbGMoMjY3IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB0b3A6IG1pbig2OXB4LCBjYWxjKDY5IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIHRyYW5zbGF0ZTogbWluKDc0MHB4LCBjYWxjKDc0MCAvIDE0NDAgKiAxMDB2dykpIDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIH1cbiAgLkxQaWNvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKDg5OCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBpY29ucyB7XG4gICAgICBoZWlnaHQ6IG1pbig4NjZweCwgY2FsYyg4NjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQaWNvbnMgLmljb25zLmljb25faGVhcnQge1xuICAgIHdpZHRoOiBjYWxjKDE3MSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBib3R0b206IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGVmdDogY2FsYygtNjUgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQaWNvbnMgLmljb25zLmljb25faGVhcnQge1xuICAgICAgd2lkdGg6IG1pbigyNjFweCwgY2FsYygyNjEgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvdHRvbTogbWluKDE3OHB4LCBjYWxjKDE3OCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNsYXRlOiBtYXgoLTE4MnB4LCBjYWxjKC0xODIgLyAxNDQwICogMTAwdncpKSAwO1xuICAgIH1cbiAgfVxuICAuTFBpY29ucyAuaWNvbnMuaWNvbl9tdXNpYyB7XG4gICAgd2lkdGg6IGNhbGMoMTE2IC8gMzc1ICogMTAwdncpO1xuICAgIHRvcDogY2FsYyg2MyAvIDM3NSAqIDEwMHZ3KTtcbiAgICByaWdodDogY2FsYyg1MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBpY29ucyAuaWNvbnMuaWNvbl9tdXNpYyB7XG4gICAgICB3aWR0aDogbWluKDIxNnB4LCBjYWxjKDIxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgdG9wOiBtaW4oMjUwcHgsIGNhbGMoMjUwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zbGF0ZTogbWF4KC03NzZweCwgY2FsYygtNzc2IC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgLkxQaWNvbnMgLmljb25zLmljb25fc3RhciB7XG4gICAgd2lkdGg6IGNhbGMoMTQxIC8gMzc1ICogMTAwdncpO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBjYWxjKDE2IC8gMzc1ICogMTAwdncpO1xuICAgIHotaW5kZXg6IDQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQaWNvbnMgLmljb25zLmljb25fc3RhciB7XG4gICAgICB3aWR0aDogbWluKDIxNnB4LCBjYWxjKDIxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm90dG9tOiBtaW4oMTEzcHgsIGNhbGMoMTEzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2xhdGU6IG1heCgtNTdweCwgY2FsYygtNTcgLyAxNDQwICogMTAwdncpKSAwO1xuICAgIH1cbiAgfVxuICAuTFBpY29ucyAuaWNvbnMuaWNvbl9zbWlsZSB7XG4gICAgd2lkdGg6IGNhbGMoMTU1IC8gMzc1ICogMTAwdncpO1xuICAgIHRvcDogY2FsYygyNjggLyAzNzUgKiAxMDB2dyk7XG4gICAgcmlnaHQ6IGNhbGMoLTUwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGljb25zIC5pY29ucy5pY29uX3NtaWxlIHtcbiAgICAgIHdpZHRoOiBtaW4oMjM2cHgsIGNhbGMoMjM2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB0b3A6IHVuc2V0O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIHRyYW5zbGF0ZTogbWluKDYwOXB4LCBjYWxjKDYwOSAvIDE0NDAgKiAxMDB2dykpIDA7XG4gICAgfVxuICB9XG4gIC5MUGljb25zIC5pY29ucy5pY29uX2JhZyB7XG4gICAgd2lkdGg6IGNhbGMoMTQyIC8gMzc1ICogMTAwdncpO1xuICAgIHRvcDogY2FsYyg5OCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsZWZ0OiBjYWxjKC0xMyAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBpY29ucyAuaWNvbnMuaWNvbl9iYWcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLkxQaWNvbnMgLmljb25zLmljb25fYmFnXzAyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGljb25zIC5pY29ucy5pY29uX2JhZ18wMiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBtaW4oMjE2cHgsIGNhbGMoMjE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB0b3A6IG1pbig0NTJweCwgY2FsYyg0NTIgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zbGF0ZTogbWF4KC04MzhweCwgY2FsYygtODM4IC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgLkxQd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTMwMCk7XG4gIH1cbiAgLkxQcXVpZXN0aW9uIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDQyIC8gMzc1ICogMTAwdncpIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTUwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDM3NSAqIDEwMHZ3KSBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMzc1ICogMTAwdncpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBxdWllc3Rpb24ge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDQ2cHgsIGNhbGMoNDYgLyAxNDQwICogMTAwdncpKSAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBxdWllc3Rpb246OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBtaW4oMTIxcHgsIGNhbGMoMTIxIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDEwMCUsIDAgMCwgMTAwJSAwKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MCk7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNsYXRlOiBtaW4oNDM3cHgsIGNhbGMoNDM3IC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICAgIGJvdHRvbTogbWF4KC02NHB4LCBjYWxjKC02NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbiAgLkxQcXVpZXN0aW9uIC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQcXVpZXN0aW9uIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwic3VidGl0bGUgc3VidGl0bGVcIiBhdXRvIFwiaW1hZ2UgcVwiIGF1dG8vbWluKDY3OXB4LCBjYWxjKDY3OSAvIDE0NDAgKiAxMDB2dykpIDFmcjtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBxdWllc3Rpb24gLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDExMDhweCwgY2FsYygxMTA4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUHF1aWVzdGlvbiAuaW5uZXIgLnBTdWJ0aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDIyIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUHF1aWVzdGlvbiAuaW5uZXIgLnBTdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oMzRweCwgY2FsYygzNCAvIDE0NDAgKiAxMDB2dykpIG1pbig1NnB4LCBjYWxjKDU2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB3aWR0aDogbWluKDgzNnB4LCBjYWxjKDgzNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIGdyaWQtYXJlYTogc3VidGl0bGU7XG4gICAgfVxuICB9XG4gIC5MUHF1aWVzdGlvbiAuaW5uZXIgLnBTdWJ0aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBpbnNldDogMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg4MC42NSUgODAuNjUlIGF0IDUwJSA1MCUsIHZhcigtLWNvbG9yLWJ0Ymx1ZS0yMDAsICM5NkUxRjIpIDQ4LjA4JSwgdmFyKC0tY29sb3ItZ3JheS1saWdodCwgI0Y0RjRGNCkgOTAuODclKTtcbiAgICBmaWx0ZXI6IGJsdXIoMjBweCk7XG4gIH1cbiAgLkxQcXVpZXN0aW9uIC5pbm5lciAucFN1YnRpdGxlIC5lbiwgLkxQcXVpZXN0aW9uIC5pbm5lciAucFN1YnRpdGxlIC5qYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLkxQcXVpZXN0aW9uIC5pbm5lciAucFN1YnRpdGxlIC5qYSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHhsKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBxdWllc3Rpb24gLmlubmVyIC5wU3VidGl0bGUgLmphIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHh4bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQcXVpZXN0aW9uIC5pbm5lciAucSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBtYXJnaW4taW5saW5lOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZzogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KSBjYWxjKDMwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUHF1aWVzdGlvbiAuaW5uZXIgLnEge1xuICAgICAgZ3JpZC1hcmVhOiBxO1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgdHJhbnNsYXRlOiAwIG1heCgtMThweCwgY2FsYygtMTggLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbigzOHB4LCBjYWxjKDM4IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDQ0cHgsIGNhbGMoNDQgLyAxNDQwICogMTAwdncpKSBtaW4oMzhweCwgY2FsYygzOCAvIDE0NDAgKiAxMDB2dykpIG1pbig1MHB4LCBjYWxjKDUwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgfVxuICB9XG4gIC5MUHF1aWVzdGlvbiAuaW5uZXIgLnEgbGkge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdhcDogY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtbCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE5MCU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQcXVpZXN0aW9uIC5pbm5lciAucSBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1sKSAqIDFweCksIGNhbGModmFyKC0tZnMtbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQcXVpZXN0aW9uIC5pbm5lciAucSBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gIH1cbiAgLkxQcXVpZXN0aW9uIC5pbm5lciAucSBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvbHAvaW1hZ2VzL2NoZWNrLnN2Zyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHdpZHRoOiBjYWxjKDI1IC8gMzc1ICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygyNSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBxdWllc3Rpb24gLmlubmVyIC5xIGxpOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbigyNXB4LCBjYWxjKDI1IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigyNXB4LCBjYWxjKDI1IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUHF1aWVzdGlvbiAuaW5uZXIgLmltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKC03IC8gMzc1ICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBxdWllc3Rpb24gLmlubmVyIC5pbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgICBwYWRkaW5nLWxlZnQ6IG1pbigxMDdweCwgY2FsYygxMDcgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctdG9wOiBtaW4oMjNweCwgY2FsYygyMyAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBhYm91dCB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoODAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQYWJvdXQge1xuICAgICAgcGFkZGluZy10b3A6IG1pbigxMjBweCwgY2FsYygxMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQYWJvdXQgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBhYm91dCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTEwOHB4LCBjYWxjKDExMDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQYWJvdXQgLmlubmVyIC5wU3VidGl0bGUgLmphIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGFib3V0IC5pbm5lciAucFN1YnRpdGxlIC5qYSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4eGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUGFib3V0IC5pbm5lciAubGVhZCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQYWJvdXQgLmlubmVyIC5sZWFkIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLW0pICogMXB4KSwgY2FsYyh2YXIoLS1mcy1tKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuICAjTFBzbGlkZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI0xQc2xpZGUge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDgwcHgsIGNhbGMoODAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI0xQc2xpZGUgaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGFuaW1hdGlvbjogaW5maW5pdHktc2Nyb2xsLWxlZnQgNzBzIGluZmluaXRlIGxpbmVhciAwLjVzIGJvdGg7XG4gICAgaGVpZ2h0OiBjYWxjKDk4IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNMUHNsaWRlIGltZyB7XG4gICAgICBoZWlnaHQ6IG1pbigxODNweCwgY2FsYygxODMgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogOTBzO1xuICAgIH1cbiAgfVxuICBAa2V5ZnJhbWVzIGluZmluaXR5LXNjcm9sbC1sZWZ0IHtcbiAgICBmcm9tIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG4gIH1cbiAgLkxQbWVyaXQge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygxMjAgLyAzNzUgKiAxMDB2dykgY2FsYyg4MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBtZXJpdCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjYwcHgsIGNhbGMoMTI2MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBtZXJpdCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigxODBweCwgY2FsYygxODAgLyAxNDQwICogMTAwdncpKSBtaW4oMTIwcHgsIGNhbGMoMTIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUG1lcml0IC5pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpIGNhbGMoNjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQbWVyaXQgLmlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktbGlnaHQpO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oMTIwcHgsIGNhbGMoMTIwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDgwcHgsIGNhbGMoODAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA0cHggNDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpKTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMi41cHgpO1xuICAgIH1cbiAgfVxuICAuTFBtZXJpdCAuaW5uZXIgLnBTdWJ0aXRsZSAuamEge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhsKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBtZXJpdCAuaW5uZXIgLnBTdWJ0aXRsZSAuamEge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQbWVyaXQgLmlubmVyIC5saXN0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUG1lcml0IC5pbm5lciAubGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBtZXJpdCAuaW5uZXIgLmxpc3Qge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTEwOHB4LCBjYWxjKDExMDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQbWVyaXQgLmlubmVyIC5saXN0IC5wbGFuRmVhdHVyZVVuaXQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDYwcHgsIGNhbGMoNjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gICAgLkxQbWVyaXQgLmlubmVyIC5saXN0IC5wbGFuRmVhdHVyZVVuaXQud2lkZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oODBweCwgY2FsYyg4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBtZXJpdCAuaW5uZXIgLmxpc3QgLnBhdGgtMDEge1xuICAgIHRvcDogY2FsYygyMzAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQbWVyaXQgLmlubmVyIC5saXN0IC5wYXRoLTAxIHtcbiAgICAgIHRvcDogbWluKDMwcHgsIGNhbGMoMzAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQbWVyaXQgLmlubmVyIC5saXN0IC5wYXRoLTAyIHtcbiAgICB0b3A6IGNhbGMoMjkwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUG1lcml0IC5pbm5lciAubGlzdCAucGF0aC0wMiB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG4gIC5MUG1lcml0IC5pbm5lciAubGlzdCAucGF0aC0wMyB7XG4gICAgdG9wOiBjYWxjKDI4MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBtZXJpdCAuaW5uZXIgLmxpc3QgLnBhdGgtMDMge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuICAuTFBtZXJpdCAuaW5uZXIgLmxpc3QgLnBhdGgtMDQge1xuICAgIHRvcDogY2FsYygyODAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQbWVyaXQgLmlubmVyIC5saXN0IC5wYXRoLTA0IHtcbiAgICAgIHRvcDogbWluKDUwcHgsIGNhbGMoNTAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQbWVyaXQgLmlubmVyIC5saXN0IC5wYXRoLTA2IHtcbiAgICB0b3A6IGNhbGMoMjAwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUG1lcml0IC5pbm5lciAubGlzdCAucGF0aC0wNiB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG4gIC5MUG1lcml0IC5pbm5lciAubGlzdCAucGF0aC0wNyB7XG4gICAgdG9wOiBjYWxjKDI1MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBtZXJpdCAuaW5uZXIgLmxpc3QgLnBhdGgtMDcge1xuICAgICAgdG9wOiBtYXgoLTIwcHgsIGNhbGMoLTIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5zdGFnZS5scFBsYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zdGFnZS5scFBsYW4ge1xuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDRweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC4xMikpO1xuICAgIH1cbiAgfVxuICAuTFB3cmFwcGVyXzAyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtMTAwKTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg4MCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFB3cmFwcGVyXzAyIHtcbiAgICAgIHBhZGRpbmctdG9wOiBtaW4oMTMwcHgsIGNhbGMoMTMwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUHBsYW4gLmlubmVyIHtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUHBsYW4gLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oMTIwcHgsIGNhbGMoMTIwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDE3MHB4LCBjYWxjKDE3MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUHBsYW4gLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDExMDhweCwgY2FsYygxMTA4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUHBsYW4gLmlubmVyIC5wU3VidGl0bGUgLmxvZ28ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTQgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQcGxhbiAuaW5uZXIgLnBTdWJ0aXRsZSAubG9nbyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBwbGFuIC5pbm5lciAucFN1YnRpdGxlIC5sb2dvIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoMjAwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUHBsYW4gLmlubmVyIC5wU3VidGl0bGUgLmxvZ28gaW1nIHtcbiAgICAgIHdpZHRoOiBtaW4oMjUycHgsIGNhbGMoMjUyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUHBsYW4gLmlubmVyIC5wU3VidGl0bGUgLmphIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUHBsYW4gLmlubmVyIC5wU3VidGl0bGUgLmphIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig0MnB4LCBjYWxjKDQyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQcGxhbiAuaW5uZXIgLmxlYWQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBwbGFuIC5pbm5lciAubGVhZCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1tKSAqIDFweCksIGNhbGModmFyKC0tZnMtbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQcGxhbiAuaW5uZXIgLmRldGFpbCB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBwbGFuIC5pbm5lciAuZGV0YWlsIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oMTQwcHgsIGNhbGMoMTQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oODBweCwgY2FsYyg4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwiY29udGVudCBjb250ZW50XCIgYXV0byBcImRlYWRsaW5lIGRlYWRsaW5lXCIgYXV0byBcImluaXRpYWwgbW9udGhseVwiIGF1dG8vMWZyIDFmcjtcbiAgICAgIGdhcDogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKSBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBwbGFuIC5pbm5lciAuZGV0YWlsIC51bml0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUHBsYW4gLmlubmVyIC5kZXRhaWwgLnVuaXQge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5MUHBsYW4gLmlubmVyIC5kZXRhaWwgLnVuaXQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUHBsYW4gLmlubmVyIC5kZXRhaWwgLnVuaXQuY29udGVudCB7XG4gICAgICBncmlkLWFyZWE6IGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUHBsYW4gLmlubmVyIC5kZXRhaWwgLnVuaXQuZGVhZGxpbmUge1xuICAgICAgZ3JpZC1hcmVhOiBkZWFkbGluZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQcGxhbiAuaW5uZXIgLmRldGFpbCAudW5pdC5pbml0aWFsIHtcbiAgICAgIGdyaWQtYXJlYTogaW5pdGlhbDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQcGxhbiAuaW5uZXIgLmRldGFpbCAudW5pdC5tb250aGx5IHtcbiAgICAgIGdyaWQtYXJlYTogbW9udGhseTtcbiAgICB9XG4gIH1cbiAgLkxQcGxhbiAuaW5uZXIgLmRldGFpbCAudW5pdCBkdCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtMTAwKTtcbiAgICBwYWRkaW5nOiBjYWxjKDIgLyAzNzUgKiAxMDB2dykgY2FsYygxMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBwbGFuIC5pbm5lciAuZGV0YWlsIC51bml0IGR0IHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbSkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKSBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBwbGFuIC5pbm5lciAuZGV0YWlsIC51bml0IGRkIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUHBsYW4gLmlubmVyIC5kZXRhaWwgLnVuaXQgZGQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQcGxhbiAuaW5uZXIgLmRldGFpbCAudW5pdCBkZCB1bCB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICBtYXJnaW4tbGVmdDogMS4yNWVtO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBwbGFuIC5pbm5lciAuZGV0YWlsIC51bml0IGRkIHVsIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMjUwJTtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgfVxuICB9XG4gIC5MUHBsYW4gLmlubmVyIC5kZXRhaWwgLnVuaXQgZGQgLndpdGhvdXRUYXgge1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBwbGFuIC5pbm5lciAuZGV0YWlsIC51bml0IGRkIC53aXRob3V0VGF4IHtcbiAgICAgIHBhZGRpbmctdG9wOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBwbGFuIC5pbm5lciAuZGV0YWlsIC51bml0IGRkIC53aXRob3V0VGF4IHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXh4bCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUHBsYW4gLmlubmVyIC5kZXRhaWwgLnVuaXQgZGQgLndpdGhvdXRUYXggc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBwbGFuIC5pbm5lciAuZGV0YWlsIC51bml0IGRkIC53aXRob3V0VGF4IHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1tKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBwbGFuIC5pbm5lciAuZGV0YWlsIC51bml0IGRkIC53aXRob3V0VGF4IHNwYW4ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQcGxhbiAuaW5uZXIgLmRldGFpbCAudW5pdCBkZCAud2l0aFRheCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQcGxhbiAuaW5uZXIgLmRldGFpbCAudW5pdCBkZCAud2l0aFRheCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4cykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQcGxhbiAuaW5uZXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBwbGFuIC5pbm5lciAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig4MHB4LCBjYWxjKDgwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKDE0MHB4LCBjYWxjKDE0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBwbGFuIC5pbm5lciAuYnV0dG9uIC5wQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygxNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzc1ICogMTAwdncpO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUHBsYW4gLmlubmVyIC5idXR0b24gLnBCdXR0b24ge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBwbGFuIC5pbm5lciAuYnV0dG9uIC5wQnV0dG9uOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxuICAuTFBwbGFuIC5pbm5lciAuYnV0dG9uIC5wQnV0dG9uIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBwbGFuIC5pbm5lciAuYnV0dG9uIC5wQnV0dG9uIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1sKSAqIDFweCksIGNhbGModmFyKC0tZnMtbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQZmxvdyB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg4MCAvIDM3NSAqIDEwMHZ3KSBjYWxjKDc2IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGZsb3cge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDEyMHB4LCBjYWxjKDEyMCAvIDE0NDAgKiAxMDB2dykpIG1pbigxNDBweCwgY2FsYygxNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQZmxvdyAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGZsb3cgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDExMDhweCwgY2FsYygxMTA4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUGZsb3cgLmlubmVyIC5wU3VidGl0bGUgLmphIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGZsb3cgLmlubmVyIC5wU3VidGl0bGUgLmphIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig0MnB4LCBjYWxjKDQyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4eGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBmbG93IC5pbm5lciAubGVhZCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGZsb3cgLmlubmVyIC5sZWFkIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLW0pICogMXB4KSwgY2FsYyh2YXIoLS1mcy1tKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBmbG93IC5pbm5lciAubGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBmbG93IC5pbm5lciAubGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBmbG93IC5pbm5lciAubGlzdCAudW5pdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg3NiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMzc1ICogMTAwdncpO1xuICAgIHBhZGRpbmc6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dykgY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KSBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBmbG93IC5pbm5lciAubGlzdCAudW5pdCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oOTJweCwgY2FsYyg5MiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oOXB4LCBjYWxjKDkgLyAxNDQwICogMTAwdncpKSBtaW4oNTFweCwgY2FsYyg1MSAvIDE0NDAgKiAxMDB2dykpIG1pbig5cHgsIGNhbGMoOSAvIDE0NDAgKiAxMDB2dykpIG1pbig2M3B4LCBjYWxjKDYzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgIGdhcDogbWluKDI2cHgsIGNhbGMoMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogbWluKDgzMHB4LCBjYWxjKDgzMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB9XG4gIH1cbiAgLkxQZmxvdyAuaW5uZXIgLmxpc3QgLnVuaXQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICB9XG4gIC5MUGZsb3cgLmlubmVyIC5saXN0IC51bml0OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiBjYWxjKC01MiAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gICAgd2lkdGg6IGNhbGMoMjAgLyAzNzUgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDMxIC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvbHAvaW1hZ2VzL2Zsb3dfYXJyb3cuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQZmxvdyAuaW5uZXIgLmxpc3QgLnVuaXQ6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oNDVweCwgY2FsYyg0NSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm90dG9tOiBtYXgoLTY4cHgsIGNhbGMoLTY4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2xwL2ltYWdlcy9mbG93X2Fycm93X3BjLnN2Zyk7XG4gICAgfVxuICB9XG4gIC5MUGZsb3cgLmlubmVyIC5saXN0IC51bml0Omxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGZsb3cgLmlubmVyIC5saXN0IC51bml0IGRsIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgICAgZ2FwOiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgLkxQZmxvdyAuaW5uZXIgLmxpc3QgLnVuaXQgZGwgZHQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhsKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQZmxvdyAuaW5uZXIgLmxpc3QgLnVuaXQgZGwgZHQge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBmbG93IC5pbm5lciAubGlzdCAudW5pdCBkbCBkZCB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLWwpIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBmbG93IC5pbm5lciAubGlzdCAudW5pdCBkbCBkZCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLWwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBmbG93IC5pbm5lciAubGlzdCAudW5pdCAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IGNhbGMoLTIxIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGZsb3cgLmlubmVyIC5saXN0IC51bml0IC5pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgfVxuICAuTFBmbG93IC5pbm5lciAubGlzdCAudW5pdCAuaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogY2FsYygxMDAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQZmxvdyAuaW5uZXIgLmxpc3QgLnVuaXQgLmltYWdlIGltZyB7XG4gICAgICB3aWR0aDogbWluKDIwMHB4LCBjYWxjKDIwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBsZXRzc3RhcnQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB2YXIoLS1jb2xvci1idGJsdWUtMTAwLCAjQjZFNkYyKSAwJSwgdmFyKC0tY29sb3ItYnJhbmQtUHJpbWFyeSwgIzU2RDZGMikgNzIuNzklKTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKDEyMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBsZXRzc3RhcnQge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDkwcHgsIGNhbGMoOTAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQbGV0c3N0YXJ0IC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQbGV0c3N0YXJ0IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBhZGRpbmctc3ApIC8gMzc1ICogMTAwdncpO1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDU2cHgsIGNhbGMoNTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCA0MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig3LjVweCk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQbGV0c3N0YXJ0IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjYwcHgsIGNhbGMoMTI2MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBsZXRzc3RhcnQgLmlubmVyIC50aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBsZXRzc3RhcnQgLmlubmVyIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXh4eGwpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14eHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBsZXRzc3RhcnQgLmlubmVyIC5sZWFkIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQbGV0c3N0YXJ0IC5pbm5lciAubGVhZCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1tKSAqIDFweCksIGNhbGModmFyKC0tZnMtbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQbGV0c3N0YXJ0IC5pbm5lciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGxldHNzdGFydCAuaW5uZXIgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBsZXRzc3RhcnQgLmlubmVyIC5idXR0b24gYSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICBnYXA6IGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgcGFkZGluZzogY2FsYygxNiAvIDM3NSAqIDEwMHZ3KSBjYWxjKDI0IC8gMzc1ICogMTAwdncpIGNhbGMoMTYgLyAzNzUgKiAxMDB2dykgY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBsZXRzc3RhcnQgLmlubmVyIC5idXR0b24gYSB7XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpIG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKSBtaW4oNTBweCwgY2FsYyg1MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgd2lkdGg6IG1pbig0MDBweCwgY2FsYyg0MDAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgfVxuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5MUGxldHNzdGFydCAuaW5uZXIgLmJ1dHRvbiBhOmhvdmVyOjpiZWZvcmUge1xuICAgICAgdHJhbnNsYXRlOiAwIDA7XG4gICAgfVxuICB9XG4gIC5MUGxldHNzdGFydCAuaW5uZXIgLmJ1dHRvbiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygzMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMzAgLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYXJyb3dfY29udGFjdC5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBsZXRzc3RhcnQgLmlubmVyIC5idXR0b24gYTo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IG1pbigyOHB4LCBjYWxjKDI4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigyOHB4LCBjYWxjKDI4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUGxldHNzdGFydCAuaW5uZXIgLmJ1dHRvbiBhOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNsYXRlOiAtMTIwJSAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gIH1cbiAgLkxQbGV0c3N0YXJ0IC5pbm5lciAuYnV0dG9uIGEgc3BhbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBsZXRzc3RhcnQgLmlubmVyIC5idXR0b24gYSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICB9XG4gIH1cbiAgLkxQbGV0c3N0YXJ0IC5pY29uX2hlYXJ0IHtcbiAgICB0b3A6IGNhbGMoNTIgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGVmdDogY2FsYygtMTUgLyAzNzUgKiAxMDB2dyk7XG4gICAgd2lkdGg6IGNhbGMoMTYwIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGxldHNzdGFydCAuaWNvbl9oZWFydCB7XG4gICAgICB3aWR0aDogbWluKDI4OXB4LCBjYWxjKDI4OSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgdG9wOiBtaW4oMTAwcHgsIGNhbGMoMTAwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2xhdGU6IG1heCgtNzIwcHgsIGNhbGMoLTcyMCAvIDE0NDAgKiAxMDB2dykpIDA7XG4gICAgfVxuICB9XG4gIC5MUGxldHNzdGFydCAuaWNvbl9iYWcge1xuICAgIHRvcDogY2FsYyg1IC8gMzc1ICogMTAwdncpO1xuICAgIGxlZnQ6IGNhbGMoNDQgLyAzNzUgKiAxMDB2dyk7XG4gICAgd2lkdGg6IGNhbGMoMTMyIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGxldHNzdGFydCAuaWNvbl9iYWcge1xuICAgICAgd2lkdGg6IG1pbigyNDZweCwgY2FsYygyNDYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHRvcDogbWluKDI3MXB4LCBjYWxjKDI3MSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNsYXRlOiBtYXgoLTU3M3B4LCBjYWxjKC01NzMgLyAxNDQwICogMTAwdncpKSAwO1xuICAgIH1cbiAgfVxuICAuTFBsZXRzc3RhcnQgLmljb25fc21pbGUge1xuICAgIHRvcDogY2FsYygzOSAvIDM3NSAqIDEwMHZ3KTtcbiAgICByaWdodDogY2FsYygxMSAvIDM3NSAqIDEwMHZ3KTtcbiAgICB3aWR0aDogY2FsYygxNDUgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQbGV0c3N0YXJ0IC5pY29uX3NtaWxlIHtcbiAgICAgIHdpZHRoOiBtaW4oMjQxcHgsIGNhbGMoMjQxIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB0b3A6IG1pbigyN3B4LCBjYWxjKDI3IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNsYXRlOiBtaW4oNzIwcHgsIGNhbGMoNzIwIC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgLkxQbGV0c3N0YXJ0IC5pY29uX3N0YXIge1xuICAgIGJvdHRvbTogY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgICByaWdodDogY2FsYygtMTkgLyAzNzUgKiAxMDB2dyk7XG4gICAgd2lkdGg6IGNhbGMoMTQxIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGxldHNzdGFydCAuaWNvbl9zdGFyIHtcbiAgICAgIHdpZHRoOiBtaW4oMjM3cHgsIGNhbGMoMjM3IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNsYXRlOiBtaW4oNjMzcHgsIGNhbGMoNjMzIC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgLkxQbGV0c3N0YXJ0IC5pY29uX211c2ljIHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IGNhbGMoODkgLyAzNzUgKiAxMDB2dyk7XG4gICAgd2lkdGg6IGNhbGMoMTA4IC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGxldHNzdGFydCAuaWNvbl9tdXNpYyB7XG4gICAgICB3aWR0aDogbWluKDI5MHB4LCBjYWxjKDI5MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm90dG9tOiBtaW4oMTE5cHgsIGNhbGMoMTE5IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgdHJhbnNsYXRlOiBtaW4oNTU0cHgsIGNhbGMoNTU0IC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgLkxQaXRlbUxpc3Qge1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoODAgLyAzNzUgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQaXRlbUxpc3Qge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDEyMHB4LCBjYWxjKDEyMCAvIDE0NDAgKiAxMDB2dykpIG1pbigxODBweCwgY2FsYygxODAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQaXRlbUxpc3QgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGFkZGluZy1zcCkgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1wYWRkaW5nLXNwKSAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBpdGVtTGlzdCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTEwOHB4LCBjYWxjKDExMDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQaXRlbUxpc3QgLmlubmVyIC5wU3VidGl0bGUgLmphIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEyIC8gMzc1ICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eGwpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGl0ZW1MaXN0IC5pbm5lciAucFN1YnRpdGxlIC5qYSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4eGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUGl0ZW1MaXN0IC5pbm5lciAubGVhZCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGl0ZW1MaXN0IC5pbm5lciAubGVhZCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1tKSAqIDFweCksIGNhbGModmFyKC0tZnMtbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQaXRlbUxpc3QgLmlubmVyIC5saXN0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDQwIC8gMzc1ICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IGNhbGMoMTIgLyAzNzUgKiAxMDB2dykgY2FsYygxNiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBpdGVtTGlzdCAuaW5uZXIgLmxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDgwcHgsIGNhbGMoODAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICBnYXA6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQaXRlbUxpc3QgLmlubmVyIC5saXN0IC51bml0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDM3NSAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nOiBjYWxjKDMwIC8gMzc1ICogMTAwdncpIGNhbGMoMTYgLyAzNzUgKiAxMDB2dykgY2FsYygxNiAvIDM3NSAqIDEwMHZ3KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7XG4gICAgZ3JpZC1yb3c6IHNwYW4gMjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBpdGVtTGlzdCAuaW5uZXIgLmxpc3QgLnVuaXQge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKDE1cHgsIGNhbGMoMTUgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbig1MHB4LCBjYWxjKDUwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKSBtaW4oMjRweCwgY2FsYygyNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBpdGVtTGlzdCAuaW5uZXIgLmxpc3QgLnVuaXQgaW1nIHtcbiAgICB3aWR0aDogY2FsYyg2MCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGl0ZW1MaXN0IC5pbm5lciAubGlzdCAudW5pdCBpbWcge1xuICAgICAgd2lkdGg6IG1pbigxMDBweCwgY2FsYygxMDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQaXRlbUxpc3QgLmlubmVyIC5saXN0IC51bml0IGZpZ2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMzQgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBpdGVtTGlzdCAuaW5uZXIgLmxpc3QgLnVuaXQgZmlnY2FwdGlvbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLW0pICogMXB4KSwgY2FsYyh2YXIoLS1mcy1tKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWluLWhlaWdodDogbWluKDU1cHgsIGNhbGMoNTUgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmZhcVdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg2NCAvIDM3NSAqIDEwMHZ3KSBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDYwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5mYXFXcmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbigxODBweCwgY2FsYygxODAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm94LXNoYWRvdzogMCA0cHggMzBweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjIuNXB4KTtcbiAgICB9XG4gIH1cbiAgLkxQY29udGFjdEFyZWEge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNjQgLyAzNzUgKiAxMDB2dyk7XG4gICAgcGFkZGluZzogY2FsYyg4MCAvIDM3NSAqIDEwMHZ3KSBjYWxjKDI0IC8gMzc1ICogMTAwdncpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMi41cHgpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGNvbnRhY3RBcmVhIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigxMjBweCwgY2FsYygxMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbig5NXB4LCBjYWxjKDk1IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAqIDFweCksIGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQY29udGFjdEFyZWEgLmlubmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MCk7XG4gICAgcGFkZGluZzogY2FsYyg0MCAvIDM3NSAqIDEwMHZ3KSBjYWxjKDMyIC8gMzc1ICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGNvbnRhY3RBcmVhIC5pbm5lciB7XG4gICAgICB3aWR0aDogbWluKDEyNjBweCwgY2FsYygxMjYwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgcGFkZGluZzogbWluKDgwcHgsIGNhbGMoODAgLyAxNDQwICogMTAwdncpKSBtaW4oMTA4cHgsIGNhbGMoMTA4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm94LXNoYWRvdzogMCA0cHggNDBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNy41cHgpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBjb250YWN0QXJlYSAuaW5uZXIgLnRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBtaW4oNjQwcHgsIGNhbGMoNjQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgfVxuICB9XG4gIC5MUGNvbnRhY3RBcmVhIC5pbm5lciAudGl0bGUgLmxlYWQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzIgLyAzNzUgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5MUGNvbnRhY3RBcmVhIC5pbm5lciAudGl0bGUgLmxlYWQge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1sKSAqIDFweCksIGNhbGModmFyKC0tZnMtbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgbWFyZ2luLXRvcDogbWluKDRweCwgY2FsYyg0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5MUGNvbnRhY3RBcmVhIC5pbm5lciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDgwIC8gMzc1ICogMTAwdncpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBjb250YWN0QXJlYSAuaW5uZXIgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oODBweCwgY2FsYyg4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuTFBjb250YWN0QXJlYSAuaW5uZXIgLmJ1dHRvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygtMzYgLyAzNzUgKiAxMDB2dyk7XG4gICAgbGVmdDogY2FsYygxNDQgLyAzNzUgKiAxMDB2dyk7XG4gICAgd2lkdGg6IGNhbGMoNTYgLyAzNzUgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDU2IC8gMzc1ICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fY29udGFjdC53ZWJwKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLkxQY29udGFjdEFyZWEgLmlubmVyIC5idXR0b246OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBtaW4oMTI3cHgsIGNhbGMoMTI3IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbigxMjdweCwgY2FsYygxMjcgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHRvcDogbWF4KC01MnB4LCBjYWxjKC01MiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGVmdDogbWluKDU2cHgsIGNhbGMoNTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQY29udGFjdEFyZWEgLmlubmVyIC5idXR0b24gYSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICBnYXA6IGNhbGMoMTYgLyAzNzUgKiAxMDB2dyk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgcGFkZGluZzogY2FsYygxNiAvIDM3NSAqIDEwMHZ3KSBjYWxjKDI0IC8gMzc1ICogMTAwdncpIGNhbGMoMTYgLyAzNzUgKiAxMDB2dykgY2FsYygzMiAvIDM3NSAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBjb250YWN0QXJlYSAuaW5uZXIgLmJ1dHRvbiBhIHtcbiAgICAgIGdhcDogbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbig1NHB4LCBjYWxjKDU0IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDQwcHgsIGNhbGMoNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLkxQY29udGFjdEFyZWEgLmlubmVyIC5idXR0b24gYTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIHRyYW5zbGF0ZTogMCAwO1xuICAgIH1cbiAgfVxuICAuTFBjb250YWN0QXJlYSAuaW5uZXIgLmJ1dHRvbiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYygzMCAvIDM3NSAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMzAgLyAzNzUgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYXJyb3dfY29udGFjdC5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBjb250YWN0QXJlYSAuaW5uZXIgLmJ1dHRvbiBhOjphZnRlciB7XG4gICAgICB3aWR0aDogbWluKDgwcHgsIGNhbGMoODAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDgwcHgsIGNhbGMoODAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLkxQY29udGFjdEFyZWEgLmlubmVyIC5idXR0b24gYTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zbGF0ZTogLTEyMCUgMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIC5MUGNvbnRhY3RBcmVhIC5pbm5lciAuYnV0dG9uIGEgc3BhbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzc1ICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuTFBjb250YWN0QXJlYSAuaW5uZXIgLmJ1dHRvbiBhIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHh4bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuQGxheWVyIHJlc2V0LCBiYXNlLCBwYXJ0cywgY29tcG9uZW50cywgbHA7XG5cbjpyb290IHtcbiAgLyogQ09MT1IgKi9cbiAgLS1jb2xvci1icmFuZDogIzU2RDZGMjtcblxuICAtLWNvbG9yLXNlY29uZDogI0Y0RkYxRDtcblxuICAtLWNvbG9yLXN1cmZhY2U6ICNmZmZmZmY7XG5cbiAgLS1jb2xvci1ibGFjazogIzMzMzMzMztcblxuICAtLWNvbG9yLWJ0Ymx1ZS01MDogI0Q5RjFGNjtcbiAgLS1jb2xvci1idGJsdWUtMTAwOiAjQjZFNkYyO1xuICAtLWNvbG9yLWJ0Ymx1ZS0yMDA6ICM5NkUxRjI7XG4gIC0tY29sb3ItYnRibHVlLTMwMDogIzc2REJGMjtcbiAgLS1jb2xvci1idGJsdWUtNDAwOiAjNTZENkYyO1xuICAtLWNvbG9yLWJ0Ymx1ZS01MDA6ICM0MkFFQ0E7XG4gIC0tY29sb3ItYnRibHVlLTYwMDogIzI0ODFBMjtcbiAgLS1jb2xvci1idGJsdWUtNzAwOiAjMTA1OTcwO1xuXG4gIC0tY29sb3ItZ3JheS1saWdodDogI0Y0RjRGNDtcbiAgLS1jb2xvci1ncmF5LW1lZGl1bTogI0Q5RDlEOTtcbiAgLS1jb2xvci1ncmF5LWRhcms6ICM4RjhGOEY7XG5cbiAgLS1jb2xvci10ZXh0OiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tY29sb3ItdGV4dC1tZWRpdW06ICM4ODg4ODg7XG4gIC0tY29sb3ItdGV4dC1saWdodDogIzk5OTk5OTtcbiAgLS1jb2xvci10ZXh0LW9uLWFjY2VudDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG5cbiAgLS1jb2xvci1ib3JkZXItbGlnaHQ6ICNEOUQ5RDk7XG4gIC0tY29sb3ItYm9yZGVyLW1lZGl1bTogIzlDOUM5QztcbiAgLS1jb2xvci1ib3JkZXItZGFyazogIzMzMzMzMzsgXG5cbiAgLS1jb2xvci1iZzogI0Y4RjhGODtcbiAgLS1jb2xvci1iZy10YWJsZTogI2ViZWJlYjtcblxuICAtLWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJwYWx0XCIgMSw7XG5cbiAgLS1mb250LWZhbWlseS1qYTogXCJTYXRvc2hpXCIsIFwiaGVpc2VpLWtha3UtZ290aGljLXN0ZFwiLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtZmFtaWx5LWVuOiBcIlNhdG9zaGlcIiwgc2Fucy1zZXJpZjtcblxuICAtLWxpbmUtaGVpZ2h0LXh4c21hbGw6MTIwJTtcbiAgLS1saW5lLWhlaWdodC14c21hbGw6MTUwJTtcbiAgLS1saW5lLWhlaWdodC1zbWFsbDoxNjAlO1xuICAtLWxpbmUtaGVpZ2h0LW1lZGl1bToxODUlO1xuICAtLWxpbmUtaGVpZ2h0LWxhcmdlOjI0MCU7XG5cbiAgLS1sZXR0ZXItc3BhY2luZy1tZWRpdW06IDAuMDVlbTtcblxuICAtLWZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDMwMDtcbiAgLS1mb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiAgLS1mb250LXdlaWdodC1ib2xkOiA3MDA7XG4gIC0tZm9udC13ZWlnaHQtYmxhY2s6IDkwMDtcblxuICAtLXBhZGRpbmctc3A6IDI0O1xuXG4gIC0td2lkdGgtY29udGFpbmVyOiAxNDQwcHg7XG4gIC0td2lkdGgtY29udGFpbmVyLXdpZGU6IDE0NDBweDtcblxuICAtLWZzLXh4eHM6IDg7XG4gIC0tZnMteHhzOiAxMTtcbiAgLS1mcy14czogMTM7XG4gIC0tZnMtczogMTQ7XG4gIC0tZnMtbTogMTY7XG4gIC0tZnMtbDogMTg7XG4gIC0tZnMteGw6IDIwO1xuICAtLWZzLXh4bDogMjQ7XG4gIC0tZnMteHh4bDogMjg7XG4gIC0tZnMteHh4eGw6IDMyO1xuICAtLWZzLXh4eHh4bDogNDg7XG4gIC0tZnMteHh4eHh4bDogNjQ7XG5cbiAgXG5cbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgLS1mcy14eHhzOiAxMDtcbiAgICAtLWZzLXh4czogMTI7XG4gICAgLS1mcy14czogMTQ7XG4gICAgLS1mcy1zOiAxNjtcbiAgICAtLWZzLW06IDE4O1xuICAgIC0tZnMtbDogMjA7XG4gICAgLS1mcy14bDogMjQ7XG4gICAgLS1mcy14eGw6IDI4O1xuICAgIC0tZnMteHh4bDogMzI7XG4gICAgLS1mcy14eHh4bDogNDg7XG4gICAgLS1mcy14eHh4eGw6IDY0O1xuICAgIC0tZnMteHh4eHh4bDogNzI7XG4gIH1cblxuICAtLWJvcmRlci1yYWRpdXMtcGlsbDogOTk5cHg7XG4gIC0tYm9yZGVyLXJhZGl1cy1jaXJjbGU6IDUwJTtcblxuICAtLWJvcmRlci1yYWRpdXMtc21hbGw6IDU7XG4gIC0tYm9yZGVyLXJhZGl1cy1tZWRpdW06IDEwO1xuICAtLWJvcmRlci1yYWRpdXMtbGFyZ2U6IDIwO1xuXG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIC0tYm9yZGVyLXJhZGl1cy1zbWFsbDogMTA7XG4gICAgLS1ib3JkZXItcmFkaXVzLW1lZGl1bTogMjA7XG4gICAgLS1ib3JkZXItcmFkaXVzLWxhcmdlOiA0MDtcbiAgfVxuXG4gIC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0OiAuMnM7XG4gIC0tdHJhbnNpdGlvbi1zcGVlZDogLjRzO1xuICAtLXRyYW5zaXRpb24tc3BlZWQtc2xvdzogLjZzO1xuICAtLWJlemllcjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuJHJlc3BvbnNpdmUtZGVidWctbW9kZTogZmFsc2U7XG5cbkBsYXllciByZXNldCB7XG4gIEBpbXBvcnQgXCJyZXNldFwiO1xufVxuXG5AbGF5ZXIgYmFzZSB7XG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgKjpiZWZvcmUsXG4gICo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgKjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICBodG1sIHtcbiAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBmb250LXNpemU6IHBjKC0tZnMtbSk7XG4gICAgfVxuICB9XG4gIGJvZHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWZvbnQtZmVhdHVyZS1zZXR0aW5ncyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWphKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBmb250LW9wdGljYWwtc2l6aW5nOiBhdXRvO1xuICAgIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXG4gICAgXCJoZWFkZXJcIiBhdXRvXG4gICAgXCJtYWluXCIgYXV0b1xuICAgIFwiZm9vdGVyXCIgMWZyXG4gICAgLyAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNFM0U3RTkgMTguMjclLCAjQzJDQ0QwIDYzLjQ2JSwgIzUyNkQ3QiA4My4xNyUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFM0U3RTk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBmb250LXNpemU6IHBjKC0tZnMteHMpO1xuICAgIH1cbiAgICAmLmlzLWZpeGVkLCAmLmZpeGVkIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgICYucmV2ZXJzZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjNTI2RDdCIDc4Ljg5JSwgI0MyQ0NEMCA5MC42NyUsICNFM0U3RTkgMTAwJSk7XG4gICAgfVxuICAgICYudG9wIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNFM0U3RTkgMTUuMzglLCAjQzJDQ0QwIDI5LjgxJSwgIzUyNkQ3QiAzOS45JSwgIzk5QTlCMSA4MS4yNSUsICNENkRDREYgMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIH1cbiAgbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICZbaHJlZl49XCJ0ZWw6XCJdIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuICBhYmJyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIH1cbiAgYnIge1xuICAgICYuc3Atb25seSB7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5wYy1vbmx5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICA6d2hlcmUoYnV0dG9uLCBbdHlwZT0nYnV0dG9uJ10sIFt0eXBlPSdyZXNldCddLCBbdHlwZT0nc3VibWl0J10pIHtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuICA6d2hlcmUoXG4gICAgICA6YW55LWxpbmssXG4gICAgICBidXR0b24sXG4gICAgICBbdHlwZT0nYnV0dG9uJ10sXG4gICAgICBbdHlwZT0ncmVzZXQnXSxcbiAgICAgIFt0eXBlPSdzdWJtaXQnXSxcbiAgICAgIGxhYmVsW2Zvcl0sXG4gICAgICBzZWxlY3QsXG4gICAgICBzdW1tYXJ5LFxuICAgICAgW3JvbGU9J3RhYiddLFxuICAgICAgW3JvbGU9J2J1dHRvbiddXG4gICAgKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIHN1cCxcbiAgc3ViIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgfVxuICBzdXAge1xuICAgIGJvdHRvbTogLjc1ZXg7XG4gIH1cbiAgc3ViIHtcbiAgICB0b3A6IC41ZXg7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbiAgLnN2Z19kZWYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgc3ZnIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgcHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIH1cbiAgaHRtbC5sZW5pcyxcbiAgaHRtbC5sZW5pcyBib2R5IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmxlbmlzLmxlbmlzLXNtb290aCB7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxlbmlzLmxlbmlzLXNtb290aCBbZGF0YS1sZW5pcy1wcmV2ZW50XSB7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgfVxuICAubGVuaXMubGVuaXMtc3RvcHBlZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAubGVuaXMubGVuaXMtc2Nyb2xsaW5nIGlmcmFtZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgaHRtbC5pcy1jaGFuZ2luZyAudHJhbnNpdGlvbi1mYWRlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgaHRtbC5pcy1hbmltYXRpbmcgLnRyYW5zaXRpb24tZmFkZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXM7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAuaGlkZGVuLXNwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGRpc3BsYXk6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAuaGlkZGVuLXBje1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5oaWRkZW4tb3Zlci10Ymwge1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmhpZGRlbi1vdmVyLXRiIHtcbiAgICBAaW5jbHVkZSBtcSh0Yikge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmhpZGRlbi1vdmVyLXNwIHtcbiAgICBAaW5jbHVkZSBtcShzcCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAudmlzdWFsbHktaGlkZGVuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgbWFpbiB7XG4gICAgZ3JpZC1hcmVhOiBtYWluO1xuICAgIHBhZGRpbmctdG9wOiB2dyg2MHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwYygxMDBweCk7XG4gICAgfVxuICB9XG4gIEBpbXBvcnQgXCJoZWFkZXJcIjtcbiAgQGltcG9ydCBcImZvb3RlclwiO1xufVxuXG5AbGF5ZXIgcGFydHMge1xuICBAaW1wb3J0IFwicGFydHNcIjtcbiAgQGltcG9ydCBcInN0YWdlc1wiO1xuICBAaW1wb3J0IFwiYmdcIjtcbn1cblxuQGxheWVyIGNvbXBvbmVudHMge1xuICBAaW1wb3J0IFwiYnJlYWRjcnVtYlwiO1xuICBAaW1wb3J0IFwiYW5jaG9ybGlua1wiO1xuICBAaW1wb3J0IFwicGFnZXRpdGxlXCI7XG4gIEBpbXBvcnQgXCJwbGFuc2xpZGVyXCI7XG4gIEBpbXBvcnQgXCJjb250YWN0YXJlYVwiO1xuICBAaW1wb3J0IFwicGxhblwiO1xuICBAaW1wb3J0IFwiY2FzZVwiO1xuICBAaW1wb3J0IFwic29sdXRpb25cIjtcbiAgQGltcG9ydCBcImNvbnRhY3RcIjtcbiAgQGltcG9ydCBcInRvcHBhZ2VcIjtcbiAgQGltcG9ydCBcInN3aXBlclwiO1xufVxuXG5AbGF5ZXIgbHAge1xuICBAaW1wb3J0IFwibHBcIjtcbn0iLCJcbiRicmVha3BvaW50czogKFxuICAnbWluJzogJ3ByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NHB4KScsXG4gICdzcCc6ICdwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNzVweCknLFxuICAnc3BsJzogJ3ByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSknLFxuICAnbGVzcy10Yic6ICdwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCknLFxuICAndGInOiAncHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpJyxcbiAgJ3RibCc6ICdwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDgwcHgpJyxcbiAgJ3BjJzogJ3ByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCknLFxuICAncGNsYXJnZSc6ICdwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpJyxcbikgIWRlZmF1bHQ7XG5cbkBtaXhpbiBtcSgkYnJlYWtwb2ludDogdGIpIHtcbiAgQG1lZGlhICN7bWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KX0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AZnVuY3Rpb24gaXMtY3NzLXZhcigkdmFsdWUpIHtcbiAgJGZpcnN0LWNoYXJzOiBzdHItc2xpY2UoI3skdmFsdWV9LCAxLCAyKTtcbiAgQHJldHVybiAkZmlyc3QtY2hhcnMgPT0gJy0tJyBvciBzdHItaW5kZXgoI3skdmFsdWV9LCAndmFyKC0tJykgIT0gbnVsbDtcbn1cbkBtaXhpbiBwZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1peGluIGhvdmVyT3AoJG9wOjAuNjUpIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogJG9wO1xuICAgIH1cbiAgfVxufVxuQG1peGluIGhvdmVyQ29sb3IoJGNvbG9yKSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtZmFzdCkgdmFyKC0tYmV6aWVyKTtcbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAaWYgaXMtY3NzLXZhcigkY29sb3IpIHtcbiAgICAgICAgQGlmIHN0ci1pbmRleCgjeyRjb2xvcn0sICd2YXIoJykgIT0gbnVsbCB7XG4gICAgICAgICAgY29sb3I6ICN7JGNvbG9yfTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgY29sb3I6IHZhcigjeyRjb2xvcn0pO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBob3ZlckJHQ29sb3IoJGNvbG9yKSB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIEBpZiBpcy1jc3MtdmFyKCRjb2xvcikge1xuICAgICAgICBAaWYgc3RyLWluZGV4KCN7JGNvbG9yfSwgJ3ZhcignKSAhPSBudWxsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2xvcn07XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjb2xvcn0pO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuQG1peGluIGhvdmVyQm9yZGVyQ29sb3IoJGNvbG9yKSB7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICBAaWYgaXMtY3NzLXZhcigkY29sb3IpIHtcbiAgICAgICAgQGlmIHN0ci1pbmRleCgjeyRjb2xvcn0sICd2YXIoJykgIT0gbnVsbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjeyRjb2xvcn07XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCN7JGNvbG9yfSk7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBjb250YWluZXIoJHdpZHRoOjEyNjBweCkge1xuICBwYWRkaW5nLWxlZnQ6IHZ3KC0tcGFkZGluZy1zcCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZ3KC0tcGFkZGluZy1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICBAaWYgJHdpZHRoID09IHNtYWxse1xuICAgICAgd2lkdGg6IHBjKDExMDhweCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB3aWR0aDogcGMoJHdpZHRoKTtcbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBwYWRkaW5nTFIge1xuICBwYWRkaW5nLWxlZnQ6IHZ3KC0tcGFkZGluZy1zcCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZ3KC0tcGFkZGluZy1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICB9XG59XG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xuICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuICB9XG4gIEByZXR1cm4gJG51bWJlcjtcbn1cblxuQGZ1bmN0aW9uIHZ3KCRweCwgJGJhc2U6IDM3NXB4KSB7XG4gIEBpZiBpcy1jc3MtdmFyKCRweCkge1xuICAgIEBpZiBzdHItaW5kZXgoI3skcHh9LCAndmFyKCcpICE9IG51bGwge1xuICAgICAgQHJldHVybiBjYWxjKCN7JHB4fSAvICN7c3RyaXAtdW5pdCgkYmFzZSl9ICogMTAwdncpO1xuICAgIH1cbiAgICBAcmV0dXJuIGNhbGModmFyKCN7JHB4fSkgLyAje3N0cmlwLXVuaXQoJGJhc2UpfSAqIDEwMHZ3KTtcbiAgfVxuXG4gICR2YWx1ZTogJHB4O1xuICBAaWYgKHVuaXQoJHB4KSAhPSAncHgnKSB7XG4gICAgQHdhcm4gJ3Z3KCnjga7lvJXmlbDjgatweOS7peWkluOBruWApOOCkuaMh+WumuOBl+OBpuOCguioiOeul+OBp+OBjeOBvuOBm+OCkyc7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgJHZhbHVlOiBjYWxjKCN7c3RyaXAtdW5pdCgkcHgpfSAvICN7c3RyaXAtdW5pdCgkYmFzZSl9ICogMTAwdncpO1xuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIHBjKCRweCwgJGJhc2U6IDE0NDBweCkge1xuICBAaWYgaXMtY3NzLXZhcigkcHgpIHtcbiAgICBAaWYgc3RyLWluZGV4KCN7JHB4fSwgJ3ZhcignKSAhPSBudWxsIHtcbiAgICAgICR2dy12YWx1ZTogY2FsYygjeyRweH0gLyAje3N0cmlwLXVuaXQoJGJhc2UpfSAqIDEwMHZ3KTtcbiAgICAgIEByZXR1cm4gbWluKGNhbGMoI3skcHh9ICogMXB4KSwgI3skdnctdmFsdWV9KTtcbiAgICB9XG4gICAgJHZ3LXZhbHVlOiBjYWxjKHZhcigjeyRweH0pIC8gI3tzdHJpcC11bml0KCRiYXNlKX0gKiAxMDB2dyk7XG4gICAgQHJldHVybiBtaW4oY2FsYyh2YXIoI3skcHh9KSAqIDFweCksICN7JHZ3LXZhbHVlfSk7XG4gIH1cblxuICAkdmFsdWU6ICRweDtcbiAgQGlmICh1bml0KCRweCkgIT0gJ3B4Jykge1xuICAgIEB3YXJuICdwYygp44Gu5byV5pWw44GrcHjku6XlpJbjga7lgKTjgpLmjIflrprjgZfjgabjgoLoqIjnrpfjgafjgY3jgb7jgZvjgpMnO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gICR2YWx1ZTogY2FsYygje3N0cmlwLXVuaXQoJHB4KX0gLyAje3N0cmlwLXVuaXQoJGJhc2UpfSAqIDEwMHZ3KTtcbiAgQHJldHVybiBtaW4oI3skcHh9LCAjeyR2YWx1ZX0pO1xufVxuXG5cbkBmdW5jdGlvbiBwY21heCgkcHgsICRiYXNlOiAxNDQwcHgpIHtcbiAgQGlmIGlzLWNzcy12YXIoJHB4KSB7XG4gICAgQGlmIHN0ci1pbmRleCgjeyRweH0sICd2YXIoJykgIT0gbnVsbCB7XG4gICAgICAkdnctdmFsdWU6IGNhbGMoI3skcHh9IC8gI3tzdHJpcC11bml0KCRiYXNlKX0gKiAxMDB2dyk7XG4gICAgICBAcmV0dXJuIG1heChjYWxjKCN7JHB4fSAqIDFweCksICN7JHZ3LXZhbHVlfSk7XG4gICAgfVxuICAgICR2dy12YWx1ZTogY2FsYyh2YXIoI3skcHh9KSAvICN7c3RyaXAtdW5pdCgkYmFzZSl9ICogMTAwdncpO1xuICAgIEByZXR1cm4gbWF4KGNhbGModmFyKCN7JHB4fSkgKiAxcHgpLCAjeyR2dy12YWx1ZX0pO1xuICB9XG5cbiAgJHZhbHVlOiAkcHg7XG4gIEBpZiAodW5pdCgkcHgpICE9ICdweCcpIHtcbiAgICBAd2FybiAncGNtYXgoKeOBruW8leaVsOOBq3B45Lul5aSW44Gu5YCk44KS5oyH5a6a44GX44Gm44KC6KiI566X44Gn44GN44G+44Gb44KTJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICAkdmFsdWU6IGNhbGMoI3tzdHJpcC11bml0KCRweCl9IC8gI3tzdHJpcC11bml0KCRiYXNlKX0gKiAxMDB2dyk7XG4gIEByZXR1cm4gbWF4KCN7JHB4fSwgI3skdmFsdWV9KTtcbn1cblxuXG5AbWl4aW4gc3BfcGMge1xuICAmLnNwIHtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAmLnBjIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uKCRzaXplOm1lZGl1bSwgJGNvbG9yOmRlZmF1bHQpIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZTogXG4gICAgXCJiZWZvcmUgdGV4dCBhZnRlclwiIGF1dG9cbiAgICAvIDFmciBhdXRvIDFmcjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICBwYWRkaW5nOiB2dygxOHB4KSB2dygxOHB4KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM4RDVCO1xuICBnYXA6IHZ3KDEycHgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzIHZhcigtLWJlemllcik7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtaW4td2lkdGg6IHZ3KDI2MHB4KTtcbiAgQGluY2x1ZGUgaG92ZXJPcDtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgIHBhZGRpbmc6IHBjKDE4cHgpIHBjKDE2cHgpO1xuICAgIGdhcDogcGMoMTJweCk7XG4gICAgbWluLXdpZHRoOiBwYygyODZweCk7XG4gIH1cbiAgJlt0YXJnZXQ9XCJfYmxhbmtcIl0ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fZXh0ZXJuYWwuc3ZnKTtcbiAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgICB3aWR0aDogdncoMTRweCk7XG4gICAgICBoZWlnaHQ6IHZ3KDE0cHgpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICB3aWR0aDogcGMoMThweCk7XG4gICAgICAgIGhlaWdodDogcGMoMThweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgZ3JpZC1hcmVhOiBiZWZvcmU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZ3KDIwcHgpO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICBncmlkLWFyZWE6IGFmdGVyO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2dygyMHB4KTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzhENUI7XG4gICAgbWFzay1pbWFnZTogdXJsKCcvaW1hZ2VzL2Fycm93X2J1dHRvbi5zdmcnKTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgLjNzIHZhcigtLWJlemllcik7XG4gICAgdHJhbnNsYXRlOiB2dygtMnB4KSAwO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IHBjKDIwcHgpO1xuICAgICAgdHJhbnNsYXRlOiBwYygtMnB4KSAwO1xuICAgIH1cbiAgfVxuICBAaWYgJGNvbG9yID09IHJldmVyc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIH1cblxuICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkc2l6ZSA9PSBhcHBseSB7XG4gICAgbWluLXdpZHRoOiB2dygyODBweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtaW4td2lkdGg6IHBjKDUwMHB4KTtcbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBob3Zlck9wKCRvcDowLjcpIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogJG9wO1xuICB9XG59XG5AbWl4aW4gaG92ZXJDb2xvcigkY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpKSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4zcyB2YXIoLS1iZXppZXIpO1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBncmlkKCRjb2xzLCRnYXAtdmVydCwkZ2FwLWhvcml6KSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRjb2xzLCAxZnIpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxLCBhdXRvKTtcbiAgZ3JpZC1nYXA6ICRnYXAtdmVydCAkZ2FwLWhvcml6O1xufVxuXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuQG1peGluIHNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiB2dygtLW1hcmdpbi1zZWN0aW9uKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLXNlY3Rpb24tcGMpO1xuICB9XG59XG5AbWl4aW4gbW9kdWxlIHtcbiAgbWFyZ2luLXRvcDogdncoLS1tYXJnaW4tbW9kdWxlKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLW1vZHVsZS1wYyk7XG4gIH1cbn1cbkBtaXhpbiBwYXJ0cyB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tbWFyZ2luLXBhcnRzKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLXBhcnRzLXBjKTtcbiAgfVxufVxuQG1peGluIGhlYWRpbmctc21hbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteHNtYWxsKTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgZ2FwOiB2dyg4cHgpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGhpcmQtd2Vhayk7XG4gIFxuICBAaW5jbHVkZSBtcSB7XG4gICAgZm9udC1zaXplOiBwYygtLWZzLXhsKTtcbiAgICBnYXA6IHBjKDE2cHgpO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxbGg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2ljb25faGVhZGluZy5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjFlbSk7XG4gICAgd2lkdGg6IHZ3KDEwcHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IHBjKDE2cHgpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaGFzaHRhZygkc2l6ZTpkZWZhdWx0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgZm9udC1zaXplOiB2dygtLWZzLXh4eHhzKTtcbiAgcGFkZGluZzogdncoNnB4KSB2dygxMHB4KSB2dyg0cHgpO1xuICBkaXNwbGF5OiBpbmxpbmUgZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGdhcDogdncoM3B4KTtcbiAgXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tZnMtbSk7XG4gICAgcGFkZGluZzogcGMoMTBweCkgcGMoMjBweCkgcGMoN3B4KTtcbiAgICBnYXA6IHBjKDEwcHgpO1xuICB9XG4gIEBpZiAkc2l6ZSA9PSBsYXJnZSB7XG4gICAgZm9udC1zaXplOiB2dygtLWZzLXh4cyk7XG4gICAgcGFkZGluZzogdncoOHB4KSB2dygxNnB4KSB2dyg2cHgpO1xuICAgIGdhcDogdncoNnB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICAgIHBhZGRpbmc6IHBjKDE0cHgpIHBjKDIwcHgpIHBjKDEycHgpO1xuICAgICAgZ2FwOiBwYygxMHB4KTtcbiAgICB9XG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnIyc7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gIH1cbn1cbkBtaXhpbiBuZXdzbGlzdCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTFlMWUxO1xuICBsaSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMWUxZTE7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgXCJkYXRlIGNhdFwiIGF1dG9cbiAgICAgICAgXCJ0aXRsZSB0aXRsZVwiIGF1dG9cbiAgICAgICAgLyBhdXRvIDFmcjtcbiAgICAgIHBhZGRpbmc6IHZ3KDIwcHgpIDA7XG4gICAgICBjb2x1bW4tZ2FwOiB2dygxNXB4KTtcbiAgICAgIHJvdy1nYXA6IHZ3KDE1cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIHBhZGRpbmc6IHBjKDMwcHgpIDA7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICAgXCJkYXRlIGNhdCB0aXRsZVwiIGF1dG9cbiAgICAgICAgICAvIGF1dG8gYXV0byAxZnI7XG4gICAgICAgIGNvbHVtbi1nYXA6IHBjKDMwcHgpO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICB9XG4gICAgICAuZGF0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14cyk7XG4gICAgICAgIFxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgZ3JpZC1hcmVhOiBkYXRlO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1tKTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbGFyZ2UpO1xuICAgICAgICAgIHdpZHRoOiBwYygxMjVweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jYXQge1xuICAgICAgICBncmlkLWFyZWE6IGNhdDtcbiAgICAgICAgaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHh4cyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgIHBhZGRpbmc6IHZ3KDRweCkgdncoMTBweCk7XG4gICAgICAgICAgbWluLXdpZHRoOiB2dygxMTVweCk7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IHBjKDE2NHB4KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHBjKDhweCkgcGMoMTBweCkgcGMoMTBweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGgyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBncmlkLWFyZWE6IHRpdGxlO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14c21hbGwpO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXNtYWxsKTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIGZzKCRmdHMsICRsaW46IDE0LCRsczowKSB7XG4gICRyZW06IGNhbGMoJGZ0cyAvIDEwKTtcbiAgJGxpblM6IGNhbGMoJGxpbiAvICRmdHMpO1xuICAkbHNtOiBjYWxjKCRscyAqIDAuMDAxKTtcbiAgZm9udC1zaXplOiAjeyRmdHN9cHg7XG4gIGZvbnQtc2l6ZTogI3skcmVtfXJlbTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5TO1xuICBsZXR0ZXItc3BhY2luZzogI3skbHNtfWVtO1xuICBcbn1cblxuQG1peGluIHRleHQoJHNpemU6bWVkaXVtKXtcbiAgQGlmICRzaXplID09IHh4c21hbGwge1xuICAgIFxuICAgIEBpbmNsdWRlIGZzKDEwLDE2LDUwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDEyLDE4LDUwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IHhzbWFsbCB7XG4gICAgXG4gICAgQGluY2x1ZGUgZnMoMTEsMTgsNTApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMTMsMjEsNTApO1xuICAgIH1cbiAgfVxuICBAaWYgJHNpemUgPT0gc21hbGwge1xuICAgIEBpbmNsdWRlIGZzKDEyLDIyLDUwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDE0LDI4LDUwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IG1lZGl1bSB7XG4gICAgXG4gICAgQGluY2x1ZGUgZnMoMTUsMjgsNTApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMTYsMzQsNTApO1xuICAgIH1cbiAgfVxuICBAaWYgJHNpemUgPT0gbGFyZ2Uge1xuICAgIFxuICAgIEBpbmNsdWRlIGZzKDE2LDMwLDUwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDE4LDMyLDUwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IHhsYXJnZSB7XG4gICAgXG4gICAgQGluY2x1ZGUgZnMoMTgsMzIsNTApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMjAsMzQsNTApO1xuICAgIH1cbiAgfVxuICBAaWYgJHNpemUgPT0gY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgZnMoMTEsMTgsNTApO1xuICAgIGNvbG9yOiAkZ3JheTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDEzLDIxLDUwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IGhlYWRpbmctbGFyZ2Uge1xuICAgIGZvbnQtZmFtaWx5OnZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgQGluY2x1ZGUgZnMoMjAsMzQsNTApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMzIsNTgsNTApO1xuICAgIH1cbiAgfVxuICBAaWYgJHNpemUgPT0gaGVhZGluZy1tZWRpdW0ge1xuICAgIGZvbnQtZmFtaWx5OnZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgQGluY2x1ZGUgZnMoMTcsMjUsMTAwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDI2LDQ2LDEwMCk7XG4gICAgfVxuICB9XG4gIEBpZiAkc2l6ZSA9PSBoZWFkaW5nLXNtYWxsIHtcbiAgICBmb250LWZhbWlseTp2YXIoLS1mb250LWZhbWlseS1lbik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIEBpbmNsdWRlIGZzKDE0LDIwLDEwMCk7XG4gICAgQGluY2x1ZGUgbXEodGJsKSB7XG4gICAgICBAaW5jbHVkZSBmcygyMCwzMCwxMDApO1xuICAgIH1cbiAgfVxuICBAaWYgJHNpemUgPT0gaGVhZGluZy14c21hbGwge1xuICAgIGZvbnQtZmFtaWx5OnZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgQGluY2x1ZGUgZnMoMTQsMjAsMTAwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDIwLDMwLDEwMCk7XG4gICAgfVxuICB9XG4gIEBpZiAkc2l6ZSA9PSBoZWFkaW5nLXh4c21hbGwge1xuICAgIGZvbnQtZmFtaWx5OnZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgQGluY2x1ZGUgZnMoMTQsMjAsMTAwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDIwLDMwLDEwMCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzbGlja2RvdHMoJHdpZHRoOjhweCwkaGVpZ2h0OjhweCkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGhpcmQtd2Vhayk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0b3BtYXJnaW4oJHNpemU6bWVkaXVtKXtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgQGluY2x1ZGUgbXEodGJsKSB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxuICBAaWYgJHNpemUgPT0gc21hbGwge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgQGluY2x1ZGUgbXEodGJsKSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkc2l6ZSA9PSBsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRzaXplID09IHhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkc2l6ZSA9PSB4eGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIG1hcmdpbi10b3A6IDEyMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBoZWFkaW5nTFAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGkge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBAaW5jbHVkZSBmcygxNiwyMiw1MCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGluY2x1ZGUgbXEodGJsKSB7XG4gICAgICBAaW5jbHVkZSBmcygxOCwyNSw1MCk7XG4gICAgfVxuICB9XG4gIGgxIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgQGluY2x1ZGUgZnMoMzAsMzYsNTApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMzYsNDYsNTApO1xuICAgIH1cbiAgfVxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIEBpbmNsdWRlIGZzKDE0LDI0LDUwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDE2LDMyLDUwKTtcbiAgICB9XG4gIH1cbn0iLCJodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLCBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsIGIsIHUsIGksIGNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLCBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiB1bnNldDtcbiAgYm9yZGVyOiAwO1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMTtcbn1cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuY2FwdGlvbiwgdGgsIHRkIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbnEsIGJsb2NrcXVvdGUge1xuICBxdW90ZXM6IG5vbmU7XG59XG5xOmJlZm9yZSwgcTphZnRlciwgYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBjb250ZW50OiBub25lO1xufVxuYSBpbWcge1xuICBib3JkZXI6IG5vbmU7XG59XG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24sIHN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsbnVsbCwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbmhlYWRlciB7XG4gIGdyaWQtYXJlYTogaGVhZGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKTtcbiAgYm9keS5pcy1kb3duICYge1xuICAgIHRyYW5zbGF0ZTogMCAtMTIwJTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBib2R5LmlzLWZpeGVkICYge1xuICAgIHRyYW5zbGF0ZTogMCAtMTIwJTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tYmV6aWVyKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIHBhZGRpbmctaW5saW5lOiB2dygxNnB4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiB2dyg2NHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2dygxMnB4KTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBoZWlnaHQ6IHBjKDEwMHB4KTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBwYyg0MHB4KTtcbiAgICB9XG4gICAgI2xvZ28ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTAwO1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogdncoMTM2cHgpO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEzNiAvIDI0O1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9sb2dvLnN2Zyk7XG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICBAaW5jbHVkZSBob3ZlckJHQ29sb3IodmFyKC0tY29sb3ItdGV4dC1tZWRpdW0pKTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgd2lkdGg6IHBjKDI0NHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAjY29udGFjdEJ1dHRvbiB7XG4gICAgICBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICBwYWRkaW5nOiB2dyg0cHgpIHZ3KDEycHgpO1xuICAgICAgICBib3JkZXI6IHZ3KC42cHgpIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyQkdDb2xvcih2YXIoLS1jb2xvci1zZWNvbmQpKTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgcGFkZGluZzogcGMoMTBweCkgcGMoMzJweCk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhzKTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICNtZW51QnV0dG9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiB2dygxNnB4KTtcbiAgICAgIHotaW5kZXg6IDEwMztcbiAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICB3aWR0aDogdncoMzBweCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgLmxpbmVzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogdncoMzBweCk7XG4gICAgICAgIGhlaWdodDogdncoMzBweCk7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiB2dyg0cHgpO1xuICAgICAgICAgIHdpZHRoOiB2dygyMnB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHZ3KDJweCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLFxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpIC4ycyxcbiAgICAgICAgICAgIHRvcCB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpIC4yc1xuICAgICAgICAgIDtcbiAgICAgICAgICAmLmxpbmUwMSB7XG4gICAgICAgICAgICB0b3A6IHZ3KDZweCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYubGluZTAyIHtcbiAgICAgICAgICAgIHRvcDogdncoMTRweCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYubGluZTAzIHtcbiAgICAgICAgICAgIHRvcDogdncoMjJweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnNob3cge1xuICAgICAgICAubGluZXMge1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdG9wOiB2dygxNXB4KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSxcbiAgICAgICAgICAgICAgdG9wIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllciksXG4gICAgICAgICAgICAgIG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcikgLjJzXG4gICAgICAgICAgICA7XG4gICAgICAgICAgICAmLmxpbmUwMSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmxpbmUwMiB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigtNDVkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5saW5lMDMge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAjZ25hdiB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiB2dygyODBweCk7XG4gICAgICBtaW4taGVpZ2h0OiB2dyg1MjJweCk7XG4gICAgICB6LWluZGV4OiAxMDI7XG4gICAgICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKTtcbiAgICAgIGJveC1zaGFkb3c6IC0xNzZweCAwIDQ5cHggMCByZ2JhKDAsIDAsIDAsIDAuMDApLCAtMTEzcHggMCA0NXB4IDAgcmdiYSgwLCAwLCAwLCAwLjAxKSwgLTYzcHggMCAzOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjAzKSwgLTI4cHggMCAyOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA0KSwgLTdweCAwIDE1cHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHVuc2V0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG4gICAgICB9XG4gICAgICAmLnNob3cge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLmduYXZpbm5lciB7XG4gICAgICAgICAgdHJhbnNsYXRlOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5nbmF2aW5uZXIge1xuICAgICAgICBwYWRkaW5nOiB2dyg2NHB4KSB2dygxNnB4KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllciksIHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zbGF0ZTogMDtcbiAgICAgICAgICBwYWRkaW5nOiB1bnNldDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1haW4ge1xuICAgICAgICAgICY6bm90KC5scCkge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IHBjKDQwcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtbCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdncoNHB4KTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXJDb2xvcih2YXIoLS1jb2xvci1icmFuZCkpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogcGMoMTJweCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zdWIge1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB2dygyOHB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZ3KDhweCk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB2dygzNnB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiB2dygxMjhweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5yZXZlcnNlICYge1xuICAgIC5pbm5lciAjbG9nbyBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgQGluY2x1ZGUgaG92ZXJCR0NvbG9yKHZhcigtLWNvbG9yLWdyYXktbWVkaXVtKSk7XG4gICAgfVxuICAgIC5pbm5lciAjZ25hdiAuZ25hdmlubmVyIC5tYWluIGxpIGEge1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyQ29sb3IodmFyKC0tY29sb3ItYnJhbmQpKTtcbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmlubmVyICNtZW51QnV0dG9uIC5saW5lcyBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIH1cbiAgICAuaW5uZXIgI21lbnVCdXR0b24uc2hvdyAubGluZXMgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbiNwYWdldG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IHZ3KDI0cHgpO1xuICByaWdodDogdncoMjRweCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBib3R0b206IHBjKDUwcHgpO1xuICAgIHJpZ2h0OiBwYyg1MHB4KTtcbiAgfVxuICBhIHtcbiAgICBAaW5jbHVkZSBob3Zlck9wO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogdncoNDhweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgd2lkdGg6IHBjKDY0cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmlzLXNjcm9sbCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG4gICYuaXMtYm90dG9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5mb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGdyaWQtYXJlYTogZm9vdGVyO1xuICBwYWRkaW5nLWJsb2NrOiB2dyg2NHB4KSB2dygyNHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBwYyg5MHB4KSBwYyg0OHB4KTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcbiAgICAgIFwibG9nbyBmb290bmF2XCIgYXV0b1xuICAgICAgXCJjb3B5cmlnaHQgY29weXJpZ2h0XCIgYXV0b1xuICAgICAgLyA2MCUgYXV0bztcbiAgICAgIGdyaWQtZ2FwOiBwYyg4NHB4KSAwO1xuICAgIH1cbiAgICAuZm9vdG5hdiB7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBmb290bmF2O1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICB9XG4gICAgICAudW5pdCB7XG4gICAgICAgIC5tYWluIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteHNtYWxsKTtcbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1tKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdncoMTJweCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyQ29sb3IodmFyKC0tY29sb3ItYnJhbmQpKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogcGMoMTJweCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHZ3KDEycHgpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcGMoMTJweCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2dyg0cHgpO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICAgICAgICAgICAgICAgIGdhcDogdncoNHB4KTtcbiAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi44O7XCI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDZweCk7XG4gICAgICAgICAgICAgICAgICAgIGdhcDogcGMoNHB4KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnN1YiB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdncoNjRweCk7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHZ3KDI0cHgpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14c21hbGwpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZ3KDRweCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyQ29sb3IodmFyKC0tY29sb3ItYnJhbmQpKTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBwYygxMnB4KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5sb2dvIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDY0cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGdyaWQtYXJlYTogbG9nbztcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICB9XG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IHZ3KDEyOHB4KTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiA5OSAvIDE3O1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9sb2dvLnN2Zyk7XG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICB3aWR0aDogcGMoMjQzcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgbWFyZ2luLXRvcDogdncoMTJweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIGdyaWQtYXJlYTogY29weXJpZ2h0O1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHMpO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4cyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbi5mYWRlVXAge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgLjVzO1xuICAmLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi5wVGl0bGUge1xuICAuZW4ge1xuICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHh4eGwpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIFxuICAgIHRyYW5zbGF0ZTogdncoLTNweCkgMDtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHh4eHhsKTtcbiAgICAgIHRyYW5zbGF0ZTogcGNtYXgoLTNweCkgMDtcbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmphIHtcbiAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICBtYXJnaW4tdG9wOiB2dyg0cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhzKTtcbiAgICAgIG1hcmdpbi10b3A6IHBjKDhweCk7XG4gICAgfVxuICB9XG59XG4ucFN1YnRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAmLnJldmVyc2Uge1xuICAgIC5qYSB7XG4gICAgICBtYXJnaW4tdG9wOiB2dyg0cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDhweCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5lbiB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLmphIHtcbiAgICBmb250LXNpemU6IHZ3KC0tZnMtbSk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICBmb250LXNpemU6IHBjKC0tZnMteHhsKTtcbiAgICB9XG4gIH1cbiAgLmVuIHtcbiAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIFxuICAgIG1hcmdpbi10b3A6IHZ3KDRweCk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBhdXRvO1xuICAgIGdhcDogdncoNHB4KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4cyk7XG4gICAgICBtYXJnaW4tdG9wOiBwYyg4cHgpO1xuICAgICAgZ2FwOiBwYygxMnB4KTtcbiAgICB9XG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IHZ3KDhweCk7XG4gICAgICBoZWlnaHQ6IHZ3KDhweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIHdpZHRoOiBwYygxM3B4KTtcbiAgICAgICAgaGVpZ2h0OiBwYygxM3B4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLnBCb3gge1xuICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IHZ3KDE2cHgpO1xuICBnYXA6IHZ3KDE2cHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBib3JkZXItcmFkaXVzOiBwYygxNXB4KTtcbiAgICBwYWRkaW5nOiBwYygyNHB4KTtcbiAgICBnYXA6IHBjKDI0cHgpO1xuICAgIHdpZHRoOiBwYygyNTNweCk7XG4gIH1cbiAgaW1nIHtcbiAgICB3aWR0aDogdncoNjBweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoMTAwcHgpO1xuICAgIH1cbiAgfVxuICBmaWdjYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiB2dygtLWZzLXh4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIG1pbi1oZWlnaHQ6IHZ3KDM0cHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1tKTtcbiAgICAgIG1pbi1oZWlnaHQ6IHBjKDU1cHgpO1xuICAgIH1cbiAgfVxufVxuXG4ucEJ1dHRvbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gIGdhcDogdncoMTZweCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgcGFkZGluZzogdncoMTJweCkgdncoMTZweCk7XG4gIEBpbmNsdWRlIGhvdmVyQkdDb2xvcih2YXIoLS1jb2xvci1icmFuZCkpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBnYXA6IHBjKDE2cHgpO1xuICAgIHBhZGRpbmc6IHBjKDEycHgpIHBjKDQwcHgpO1xuICAgIG1pbi13aWR0aDogcGMoMjEwcHgpO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtc21hbGwpO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdncoMzJweCk7XG4gICAgaGVpZ2h0OiB2dygzMnB4KTtcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9hcnJvd19idXR0b24uc3ZnKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoMzJweCk7XG4gICAgICBoZWlnaHQ6IHBjKDMycHgpO1xuICAgIH1cbiAgfVxuICBzcGFuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXNpemU6IHZ3KC0tZnMtbSk7XG4gICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgfVxuICB9XG4gICYudHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICBAaW5jbHVkZSBob3ZlckJHQ29sb3IodmFyKC0tY29sb3Itc2Vjb25kKSk7XG4gICAgQGluY2x1ZGUgaG92ZXJDb2xvcih2YXIoLS1jb2xvci1idGJsdWUtNzAwKSk7XG4gICAgQGluY2x1ZGUgaG92ZXJCb3JkZXJDb2xvcih2YXIoLS1jb2xvci1icmFuZCkpO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gICAgfVxuICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtNzAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucFN1YiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnN0YWdlIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDRweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjIuNXB4KTtcbiAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzdkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44MCkgMC41MyUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MCkgMTAxLjE5JSk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHdpZHRoOiBwYygxMjYwcHgpO1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpKTtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmJnVG9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYmdfdG9wLndlYnApO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGFzcGVjdC1yYXRpbzogNzUwIC8gMjM3NjtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYmdfdG9wX3BjLndlYnApO1xuICAgIGFzcGVjdC1yYXRpbzogMjg4MCAvIDM0NjY7XG4gIH1cbiAgLnJldmVyc2UgJiB7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9iZ190b3BfZGFya19wYy53ZWJwKTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMjg4MCAvIDQxMTE7XG4gICAgfVxuICB9XG4gIC50b3AgJiB7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9iZ190b3BfdG9wcGFnZV9wYy53ZWJwKTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMjg4MCAvIDQ0NzI7XG4gICAgfVxuICB9XG59XG4uYmdQbGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2JnX3BsYW4ud2VicCk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYXNwZWN0LXJhdGlvOiA3NTAgLyAyODgwO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9iZ19wbGFuX3BjLndlYnApO1xuICAgIGFzcGVjdC1yYXRpbzogMjg4MCAvIDUxMjk7XG4gICAgdHJhbnNsYXRlOiAwIHBjbWF4KC05MTZweCk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5icmVhZENydW1iIHtcbiAgbWFyZ2luLXRvcDogdncoNDBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKDE4MHB4KTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZ2FwOiB2dygycHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGdhcDogcGMoMnB4KTtcbiAgICAgIH1cbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXh4cyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IHZ3KDJweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHMpO1xuICAgICAgICAgIGdhcDogcGMoMnB4KTtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICfjg7wnO1xuICAgICAgICB9XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBob3ZlckNvbG9yKHZhcigtLWNvbG9yLWJyYW5kKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnJldmVyc2UgJiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uYW5jaG9yTGluayB7XG4gIG1hcmdpbi10b3A6IHZ3KDgwcHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYygxMjBweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoc21hbGwpO1xuICAgIHVsIHtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLWwpO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2dygxNnB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBob3ZlckNvbG9yKHZhcigtLWNvbG9yLWJyYW5kKSk7XG4gICAgICAgICAgZ2FwOiB2dyg4cHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogcGMoOHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiBwYyg0MHB4KTtcbiAgICAgICAgICAgIGdhcDogcGMoMjRweCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogdncoMTRweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHZ3KDE0cHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2Fycm93X2FuY2hvci5zdmcnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IHBjKDhweCk7XG4gICAgICAgICAgICAgIGhlaWdodDogcGMoMThweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucGFnZVRpdGxlIHtcbiAgbWFyZ2luLXRvcDogdncoODBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKDY0cHgpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICB9XG4gICAgLmxlYWQge1xuICAgICAgbWFyZ2luLXRvcDogdncoMzJweCk7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMteGwpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eGwpO1xuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICB9XG4gICAgICAmLnNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1tKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAucmV2ZXJzZSAmIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wbGFuU2xpZGVyIHtcbiAgcGFkZGluZy1ibG9jazogdncoMTIwcHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBwYygxODBweCk7XG4gIH1cbiAgLnRpdGxlIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgXCJ0aXRsZSBidXR0b25cIiBhdXRvXG4gICAgICBcImxlYWQgYnV0dG9uXCIgYXV0b1xuICAgICAgLyAxZnIgYXV0bztcbiAgICAgIGdhcDogcGMoNDBweCk7XG4gICAgfVxuICAgIC5wVGl0bGUge1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGdyaWQtYXJlYTogdGl0bGU7XG4gICAgICB9XG4gICAgICAuZW4ge1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHh4eGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5sZWFkIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDMycHgpO1xuICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBsZWFkO1xuICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgfVxuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBidXR0b247XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLnBCdXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBob3ZlckJHQ29sb3IodmFyKC0tY29sb3Itc2Vjb25kKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zcEJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIG1hcmdpbi10b3A6IHZ3KDgwcHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnBCdXR0b24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXJCR0NvbG9yKHZhcigtLWNvbG9yLXNlY29uZCkpO1xuICAgIH1cbiAgfVxuICAjcGxhblNsaWRlIHtcbiAgICBtYXJnaW4tdG9wOiB2dyg4MHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIG1hcmdpbi10b3A6IHBjKDEyMHB4KTtcbiAgICB9XG4gICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdncoOHB4KTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZTogcGMoMTZweCk7XG4gICAgICAgIH1cbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICAgICBcImJnXCIgMWZyXG4gICAgICAgICAgICBcInBsYW5UaXRsZVwiIGF1dG9cbiAgICAgICAgICAgIC8gYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgLmJnIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gICAgICAgICAgICBwYWRkaW5nOiB2dygyNHB4KTtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogYmc7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHBjKDMycHgpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICAgICAgICAgIFwidG9wIGltYWdlXCIgYXV0b1xuICAgICAgICAgICAgICAgIFwiYm90dG9tIGltYWdlXCIgYXV0b1xuICAgICAgICAgICAgICAgIC8gMWZyIHBjKDMyM3B4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50b3Age1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2dygyNHB4KTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiB0b3A7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLm51bSB7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXh4cyk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJvdHRvbSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBwYyg0MHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgICBncmlkLWFyZWE6IGJvdHRvbTtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLnBsYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtbSk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC50YWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDEycHgpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZ2FwOiB2dygycHgpO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDI0cHgpO1xuICAgICAgICAgICAgICAgICAgZ2FwOiBwYyg4cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogdncoNXB4KSB2dygxMnB4KTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHMpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHMpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBwYyg1cHgpIHBjKDEycHgpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAub3V0bGluZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoMjRweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHMpO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwMCU7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhzKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnBsYW5UaXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICAgICAgICBncmlkLWFyZWE6IHBsYW5UaXRsZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBwYygzMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5lbiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eGwpO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICAgICAgICAgICAgZ2FwOiB2dyg4cHgpO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB1bnNldDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHh4bCk7XG4gICAgICAgICAgICAgICAgZ2FwOiBwYygxMnB4KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiB2dyg4cHgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogdncoOHB4KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBwYygxNXB4KTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogcGMoMTVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuamEge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2dyg0cHgpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHMpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoNHB4KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbnRhY3RBcmVhIHtcbiAgcGFkZGluZzogdncoNjRweCkgdncoMjRweCk7XG4gIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgdncoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSAwIDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNzJkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMCkgMjMuNTIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTApIDk1LjY0JSk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjIuNXB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgcGFkZGluZy1ibG9jazogcGMoOTBweCk7XG4gICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIHBjKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIDAgMDtcbiAgfVxuICAucGxhblRvcENhcHRpb24gKyAmIHtcbiAgICBtYXJnaW4tdG9wOiB2dygxNjBweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtYXJnaW4tdG9wOiBwYygzMDBweCk7XG4gICAgfVxuICB9XG4gIC50b3BXcmFwcGVyLmJvdHRvbSArICYge1xuICAgIG1hcmdpbi10b3A6IHZ3KDEyMHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAuc3RhZ2UuY29udGFjdCArICYge1xuICAgIG1hcmdpbi10b3A6IHZ3KDEyMHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIG1hcmdpbi10b3A6IHBjKDE4MHB4KTtcbiAgICB9XG4gIH1cbiAgLmlubmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MCwgI0Q5RjFGNik7XG4gICAgcGFkZGluZzogdncoNDBweCkgdncoMzJweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoMTI2MHB4KTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICBwYWRkaW5nOiBwYyg4MHB4KSBwYygxMDhweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIHBjKDYxMnB4KTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgfVxuICAgICAgLmxlYWQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygzMnB4KTtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhsKTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiB2dyg4MHB4KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYyg4MHB4KTtcbiAgICAgIH1cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogdncoLTIycHgpO1xuICAgICAgICBsZWZ0OiB2dygxNDRweCk7XG4gICAgICAgIHdpZHRoOiB2dyg1NnB4KTtcbiAgICAgICAgaGVpZ2h0OiB2dyg1NnB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9jb250YWN0LndlYnApO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgd2lkdGg6IHBjKDEyN3B4KTtcbiAgICAgICAgICBoZWlnaHQ6IHBjKDEyN3B4KTtcbiAgICAgICAgICB0b3A6IHBjbWF4KC01MnB4KTtcbiAgICAgICAgICBsZWZ0OiBwYyg1NnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgICAgICBnYXA6IHZ3KDE2cHgpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgIHBhZGRpbmc6IHZ3KDE2cHgpIHZ3KDI0cHgpIHZ3KDE2cHgpIHZ3KDMycHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBnYXA6IHBjKDQwcHgpO1xuICAgICAgICAgIHBhZGRpbmc6IHBjKDU0cHgpIHBjKDQwcHgpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgdHJhbnNsYXRlOiAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogdncoMzBweCk7XG4gICAgICAgICAgaGVpZ2h0OiB2dygzMHB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9hcnJvd19jb250YWN0LnN2Zyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgd2lkdGg6IHBjKDgwcHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBwYyg4MHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgdHJhbnNsYXRlOiAtMTIwJSAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHhsKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uc3RhZ2Uge1xuICAmLnBsYW4ge1xuICAgIG1hcmdpbi10b3A6IHZ3KDQwcHgpO1xuICAgIHBhZGRpbmctYmxvY2s6IHZ3KDY0cHgpIHZ3KDgwcHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luLXRvcDogcGMoNjRweCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBwYygxMjBweCkgcGMoMTgwcHgpO1xuICAgIH1cbiAgfVxuICAmLnBsYW5TUCB7XG4gICAgbWFyZ2luLXRvcDogdncoNDBweCk7XG4gICAgcGFkZGluZy1ibG9jazogdncoODBweCkgdncoNDBweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHVuc2V0O1xuICAgICAgZmlsdGVyOiB1bnNldDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0O1xuICAgICAgYmFja2Ryb3AtZmlsdGVyOiB1bnNldDtcbiAgICAgIGJhY2tncm91bmQ6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAmLnBsYW5QQyB7XG4gICAgZmlsdGVyOiB1bnNldDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IHVuc2V0O1xuICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0O1xuICAgIGJhY2tncm91bmQ6IHVuc2V0O1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luLXRvcDogcGMoNjRweCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBwYygxMjBweCkgcGMoMTQwcHgpO1xuICAgICAgd2lkdGg6IHBjKDEyNjBweCk7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIyLjVweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTc3ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODApIDAuNTMlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTApIDEwMS4xOSUpO1xuICAgIH1cbiAgfVxufVxuLnBsYW5NViB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcihzbWFsbCk7XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgXCJ0b3AgaW1hZ2VcIiBhdXRvXG4gICAgICAgIFwiYm90dG9tIGltYWdlXCIgYXV0b1xuICAgICAgICAvIDFmciAxZnI7XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBpbWFnZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiB2dyg0MHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgZ3JpZC1hcmVhOiB0b3A7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHBjKDQwcHgpO1xuICAgICAgfVxuICAgICAgLm51bSB7XG4gICAgICAgIFxuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucGxhbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBwYyg2NHB4KTtcbiAgICAgICAgfVxuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14bCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZW4ge1xuICAgICAgICAgIFxuICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1sKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAzNmVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBwYyg4cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRhZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IHZ3KDRweCk7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoNDBweCk7XG4gICAgICAgICAgZ2FwOiBwYyg4cHgpO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICBwYWRkaW5nOiB2dyg1cHgpIHZ3KDEycHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHMpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4cyk7XG4gICAgICAgICAgICBwYWRkaW5nOiBwYyg1cHgpIHBjKDEycHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYm90dG9tIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDQwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHBjKDQwcHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgZ3JpZC1hcmVhOiBib3R0b207XG4gICAgICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICAgIH1cbiAgICAgIC5sZWFkIHtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLWwpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAub3V0bGluZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhzKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuLnBsYW5SZWNvbW1lbmQge1xuICBtYXJnaW4tdG9wOiB2dygxMjBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKDE4MHB4KTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcihzbWFsbCk7XG4gICAgLmxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogdncoNDBweCk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdhcDogdncoMTJweCkgdncoMTZweCk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNjRweCk7XG4gICAgICAgIGdhcDogcGMoMzJweCkgcGMoMzJweCk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnBsYW5GZWF0dXJlIHtcbiAgbWFyZ2luLXRvcDogdncoODBweCk7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcihzbWFsbCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKDEyMHB4KTtcbiAgfVxuICAuaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4gICAgcGFkZGluZy1ibG9jazogdncoNDJweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDgwcHgpIHBjKDEyMHB4KTtcbiAgICB9XG4gICAgLmxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogdncoNDBweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNjRweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ucGxhbkZlYXR1cmVVbml0IHtcbiAgcGFkZGluZy1pbmxpbmU6IHZ3KDMycHgpO1xuICBtYXJnaW4tdG9wOiB2dyg4MHB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgfVxuICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICBcImltYWdlIHRleHRcIiBhdXRvXG4gICAgICAgIC8gcGMoMzU1cHgpIDFmcjtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHBjKDEwOHB4KTtcbiAgICBtYXJnaW4tdG9wOiBwYyg0OHB4KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICBcInRleHQgaW1hZ2VcIiBhdXRvXG4gICAgICAvIDFmciBwYygzNTVweCk7XG4gICAgZ2FwOiBwYyg3NnB4KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC50ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICB9XG4gICAgLm51bSB7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaDMge1xuICAgICAgbWFyZ2luLXRvcDogdncoMTJweCk7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMteHh4eGwpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJsYWNrKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjFlbTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYygxNnB4KTtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eHhsKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRlc2Mge1xuICAgICAgbWFyZ2luLXRvcDogdncoMTZweCk7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYygzMnB4KTtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IHZ3KDMycHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIHdpZHRoOiBwYygzNTVweCk7XG4gICAgICBhc3BlY3QtcmF0aW86IDM1NSAvIDMyMztcbiAgICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgcGljdHVyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLnNoYWRvdyB7XG4gICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xMCkpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmhlaWdodDAxIHtcbiAgICAgIGhlaWdodDogdncoMTk4cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5wbGFuQ2FzZSB7XG4gIHBhZGRpbmctdG9wOiB2dygxMjBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctdG9wOiBwYygxMjBweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoc21hbGwpO1xuICAgIC5saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDQwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDY0cHgpO1xuICAgICAgfVxuICAgICAgLnVuaXQge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2dygzMnB4KTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZ3KDI0cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygyNHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgICAgcGFkZGluZy1ibG9jazogcGMoNDZweCk7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHBjKDUwcHgpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDQwcHgpO1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICAgICBcIm51bSBpbWFnZVwiIGF1dG9cbiAgICAgICAgICAgIFwidGV4dCBpbWFnZVwiIGF1dG9cbiAgICAgICAgICAgIC8gcGMoNDEwcHgpIHBjKDQ1M3B4KTtcbiAgICAgICAgfVxuICAgICAgICAubnVtIHtcbiAgICAgICAgICBcbiAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB2dyg0MHB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhsKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14bCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoMTZweCk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB2dyg0MHB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgIHdpZHRoOiBwYyg0NTNweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ucGxhbk9wdGlvbiB7XG4gIHBhZGRpbmctdG9wOiB2dyg4MHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgcGFkZGluZy10b3A6IHBjKDEyMHB4KTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcihzbWFsbCk7XG4gICAgLmxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogdncoNDBweCk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdhcDogdncoMTJweCkgdncoMTZweCk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNjRweCk7XG4gICAgICAgIGdhcDogcGMoMzJweCkgcGMoMzJweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ucGxhbkRldGFpbCB7XG4gIG1hcmdpbi10b3A6IHZ3KDgwcHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYygxMjBweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogdncoNjRweCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKHNtYWxsKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwYygxMjBweCk7XG4gICAgfVxuICAgIC50YWJsZSB7XG4gICAgICBtYXJnaW4tdG9wOiB2dygyNHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYyg2NHB4KTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHBjKDEwNnB4KTtcbiAgICAgIH1cbiAgICAgIHRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2dygzMnB4KTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLW1lZGl1bSk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB1bnNldDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGgge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTUwMCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHMpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogcGMoMzJweCk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICB3aWR0aDogMjglO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDEycHgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhzKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBwYygzMnB4KTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgICB3aWR0aDogNzIlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMS4yNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnBhdGgtMDEsXG4ucGF0aC0wMixcbi5wYXRoLTAzLFxuLnBhdGgtMDQsXG4ucGF0aC0wNixcbi5wYXRoLTA3IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAwO1xuICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG59XG4ucGF0aC0wMSxcbi5wYXRoLTA2IHtcbiAgd2lkdGg6IHZ3KDQxMHB4KTtcbiAgbGVmdDogdncoMTFweCk7XG4gIHRvcDogdncoMTUwcHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICB3aWR0aDogcGMoNzM3cHgpO1xuICAgIGxlZnQ6IHBjKDMxMHB4KTtcbiAgICB0b3A6IHBjKDM0cHgpO1xuICB9XG4gIC5iMmItc3RhbmRhcmQgJiB7XG4gICAgQGluY2x1ZGUgbXEobGVzcy10Yikge1xuICAgICAgdG9wOiB2dygxNzBweCk7XG4gICAgfVxuICB9XG4gIC5hZHZhbmNlZCAmIHtcbiAgICBAaW5jbHVkZSBtcShsZXNzLXRiKSB7XG4gICAgICB0b3A6IHZ3KDE3MHB4KTtcbiAgICB9XG4gIH1cbn1cbi5wYXRoLTAyLFxuLnBhdGgtMDcge1xuICB3aWR0aDogdncoNDYwcHgpO1xuICBsZWZ0OiB2dygwKTtcbiAgdG9wOiB2dygyMzBweCk7XG4gIHJvdGF0ZTogeiAtMTAuNzA1ZGVnO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICB3aWR0aDogcGMoMTAwMHB4KTtcbiAgICBsZWZ0OiBwYyg1MHB4KTtcbiAgICB0b3A6IHBjKDEwcHgpO1xuICAgIHJvdGF0ZTogeiAwZGVnO1xuICB9XG4gIC5zdGFuZGFyZCAmIHtcbiAgICBAaW5jbHVkZSBtcShsZXNzLXRiKSB7XG4gICAgICB0b3A6IHZ3KDE5MHB4KTtcbiAgICB9XG4gIH1cbiAgLmIyYi1zdGFuZGFyZCAmIHtcbiAgICBAaW5jbHVkZSBtcShsZXNzLXRiKSB7XG4gICAgICB0b3A6IHZ3KDIwMHB4KTtcbiAgICB9XG4gIH1cbiAgLmFkdmFuY2VkICYge1xuICAgIEBpbmNsdWRlIG1xKGxlc3MtdGIpIHtcbiAgICAgIHRvcDogdncoMjEwcHgpO1xuICAgIH1cbiAgfVxufVxuLnBhdGgtMDMge1xuICB3aWR0aDogdncoMzQ0cHgpO1xuICBsZWZ0OiB2dygxMXB4KTtcbiAgdG9wOiB2dygxNjBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHdpZHRoOiBwYyg4NjBweCk7XG4gICAgbGVmdDogcGMoMzEwcHgpO1xuICAgIHRvcDogcGMoMjRweCk7XG4gIH1cbiAgLnN0YW5kYXJkICYge1xuICAgIEBpbmNsdWRlIG1xKGxlc3MtdGIpIHtcbiAgICAgIHRvcDogdncoMjIwcHgpO1xuICAgIH1cbiAgfVxuICAuYjJiLXN0YW5kYXJkICYge1xuICAgIEBpbmNsdWRlIG1xKGxlc3MtdGIpIHtcbiAgICAgIHRvcDogdncoMjIwcHgpO1xuICAgIH1cbiAgfVxuICAuYWR2YW5jZWQgJiB7XG4gICAgQGluY2x1ZGUgbXEobGVzcy10Yikge1xuICAgICAgdG9wOiB2dygxOTBweCk7XG4gICAgfVxuICB9XG59XG4ucGF0aC0wNCB7XG4gIHdpZHRoOiB2dyg0MDBweCk7XG4gIGxlZnQ6IHZ3KDExcHgpO1xuICB0b3A6IHZ3KDIyMHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgd2lkdGg6IHBjKDg1MHB4KTtcbiAgICBsZWZ0OiBwYyg2MHB4KTtcbiAgICB0b3A6IHBjKDM0cHgpO1xuICB9XG4gIC5zdGFuZGFyZCAmIHtcbiAgICBAaW5jbHVkZSBtcShsZXNzLXRiKSB7XG4gICAgICB0b3A6IHZ3KDI3MHB4KTtcbiAgICB9XG4gIH1cbiAgLmIyYi1zdGFuZGFyZCAmIHtcbiAgICBAaW5jbHVkZSBtcShsZXNzLXRiKSB7XG4gICAgICB0b3A6IHZ3KDI0MHB4KTtcbiAgICB9XG4gIH1cbn1cbi5wbGFuVG9wTWlncmF0aW9uIHtcbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoc21hbGwpO1xuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMteGwpO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgICAgZ2FwOiB2dygxMnB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eGwpO1xuICAgICAgICBnYXA6IHBjKDI0cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgIH1cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IHZ3KDhweCk7XG4gICAgICAgIGhlaWdodDogdncoOHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgICAgICB0cmFuc2xhdGU6IDAgdncoMTJweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHdpZHRoOiBwYygxM3B4KTtcbiAgICAgICAgICBoZWlnaHQ6IHBjKDEzcHgpO1xuICAgICAgICAgIHRyYW5zbGF0ZTogMCBwYygxOHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBwaWN0dXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogdncoNjRweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNjRweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ucGxhblRvcFBsYW5zIHtcbiAgbWFyZ2luLXRvcDogdncoMTI2cHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYygxODBweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgLmxlYWQge1xuICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNDBweCk7XG4gICAgICAgIHdpZHRoOiBwYyg4MzBweCk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDY0cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDEyOHB4KTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICAgICAgZ2FwOiAxcHg7XG4gICAgICB9XG4gICAgICAudW5pdCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2dyg1MnB4KSB2dyg0MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgcGFkZGluZy1ibG9jazogdW5zZXQ7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogc3ViZ3JpZDtcbiAgICAgICAgICBncmlkLXJvdzogc3BhbiA1O1xuICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC51bml0SW5uZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIDAgMCBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAudW5pdElubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIHBjKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIHBjKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaGlnaGxpZ2h0IHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQ7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdncoMTAwcHgpO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ+S6uuawlyBOby4xICEnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNsYXRlOiAwIC0xMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtbCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZ3KDE2cHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSB2dygtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIDAgMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHBjKDEycHgpO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC51bml0SW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogdncoNTJweCk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBwYyg0MHB4KSBwYyg0MHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnVuaXRJbm5lciB7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZ3KDI4cHgpO1xuICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHBjKDIwcHgpO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogcGMoNDBweCkgcGMoNDBweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGluaGVyaXQ7XG4gICAgICAgICAgICBncmlkLXJvdzogaW5oZXJpdDtcbiAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuamEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteGwpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteGwpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZW4ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDEycHgpO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhzKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBwYygxNnB4KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAub3V0bGluZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2dygzNnB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTY1JTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4cyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50YWdzIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMTJweCk7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgIGdhcDogdncoNHB4KTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoMTZweCk7XG4gICAgICAgICAgICAgICAgZ2FwOiBwYygzcHgpO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogdncoNXB4KSB2dygxMnB4KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHhzKTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHBjKDRweCkgcGMoNnB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnByaWNlQm94IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDI2cHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDI2cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIC53aXRob3V0VGF4IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXh4eGwpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eGwpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1tKTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhzKTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHhzKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLndpdGhUYXgge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14cyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHhzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmVzdGltYXRlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteGwpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuZGV0YWlsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDMycHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDQwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZHQge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB2dygxNnB4KTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbWVkaXVtKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTUwKTtcbiAgICAgICAgICAgICAgcGFkZGluZzogdncoMnB4KSB2dygxMnB4KTtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHMpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHBjKDJweCkgcGMoMTJweCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoNnB4KTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoOHB4KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLmRlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtbCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMS4yNWVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuc21hbGwge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhzKTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHhzKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtNTAwKTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2dyg2NXB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBwYyg0MHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wQnV0dG9uIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogcGMoMjRweCk7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ucGxhblRvcENhcHRpb24ge1xuICBtYXJnaW4tdG9wOiB2dygxNnB4KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICBmb250LXNpemU6IHBjKC0tZnMteHhzKTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNhc2VXcmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogdncoODBweCk7XG4gIHBhZGRpbmctYmxvY2s6IHZ3KDQwcHgpIHZ3KDEyMHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKDY0cHgpO1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDEyMHB4KSBwYygxODBweCk7XG4gICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbiAgfVxufVxuLmNhc2VMaXN0IHtcbiAgLnVuaXQge1xuICAgIHBhZGRpbmctYm90dG9tOiB2dygxMjBweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcGMoMTAwcHgpO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC50b3Age1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdW5zZXQ7XG4gICAgfVxuICAgIC50b3Age1xuICAgICAgcGFkZGluZy10b3A6IHZ3KDQwcHgpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZ3KC0tcGFkZGluZy1zcCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHBjKDEyMHB4KTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHBjKDc2cHgpO1xuICAgICAgICB3aWR0aDogcGMoMTI2MHB4KTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIH1cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IHZ3KC0tcGFkZGluZy1zcCk7XG4gICAgICAgIHJpZ2h0OiB2dygtLXBhZGRpbmctc3ApO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS1tZWRpdW0pO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubnVtIHtcbiAgICAgICAgXG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHhzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgIGdhcDogdncoMnB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhzKTtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgICAgICAgIGdhcDogcGMoMTRweCk7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogdncoOHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHZ3KDhweCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICB3aWR0aDogcGMoMTNweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHBjKDEzcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmxlYWQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygxNnB4KTtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLWwpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoMjBweCk7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4bCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jYXNlU2xpZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDQwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDQwcHgpO1xuICAgICAgfVxuICAgICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgICAgcGFkZGluZzogdncoMjRweCkgdncoNTJweCk7XG4gICAgICAgICAgd2lkdGg6IHZ3KDMxMnB4KTtcbiAgICAgICAgICBtYXJnaW4taW5saW5lOiB2dyg4cHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gICAgICAgICAgICBwYWRkaW5nOiBwYyg0MHB4KSBwYyg4NHB4KTtcbiAgICAgICAgICAgIHdpZHRoOiBwYyg1MDZweCk7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBwYygxNnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA5LjI0OXB4IDEuMjMzcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTVweCAycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJvdHRvbSB7XG4gICAgICBtYXJnaW4tdG9wOiB2dyg4MHB4KTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2dygtLXBhZGRpbmctc3ApO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDY0cHgpO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogcGMoNzZweCk7XG4gICAgICAgIHdpZHRoOiBwYygxMjYwcHgpO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgfVxuICAgICAgLmNsaWVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14bCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRhZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IHZ3KDRweCk7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoMTZweCk7XG4gICAgICAgICAgZ2FwOiBwYyg4cHgpO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICBwYWRkaW5nOiB2dyg1cHgpIHZ3KDEycHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHMpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eHMpO1xuICAgICAgICAgICAgcGFkZGluZzogcGMoNXB4KSBwYygxMnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5pbmZvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMzJweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDMycHgpO1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgICAgIFwiYmxvY2stMSBibG9jay0zXCIgYXV0b1xuICAgICAgICAgICAgXCJibG9jay0yIGJsb2NrLTRcIiBhdXRvXG4gICAgICAgICAgICAvIDFmciBwYyg2NzhweCk7XG4gICAgICAgICAgZ2FwOiBwYygxNnB4KSBwYyg0MHB4KTtcbiAgICAgICAgfVxuICAgICAgICBkbCB7XG4gICAgICAgICAgJi5ibG9jay0xIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogYmxvY2stMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5ibG9jay0yIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogYmxvY2stMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5ibG9jay0zIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogYmxvY2stMztcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5ibG9jay00IHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogYmxvY2stNDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBwYyg3NXB4KSAxZnI7XG4gICAgICAgICAgICBnYXA6IDAgcGMoMzJweCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGR0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhzKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBkZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMS4yNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnNvbHV0aW9uV3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuICB9XG4gICYudG9wIHtcbiAgICBtYXJnaW4tdG9wOiB2dyg4MHB4KTtcbiAgICBwYWRkaW5nLWJsb2NrOiB2dyg0MHB4KSB2dygxMjBweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtYXJnaW4tdG9wOiBwYyg2NHB4KTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDEyMHB4KSBwYygxODBweCk7XG4gICAgfVxuICB9XG4gICYuYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiB2dyg5NnB4KTtcbiAgICBwYWRkaW5nLWJsb2NrOiB2dyg4MHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIG1hcmdpbi10b3A6IHBjKDE4MHB4KTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDE4MHB4KTtcbiAgICB9XG4gIH1cbn1cbiNzb2x1dGlvblNsaWRlIHtcbiAgbWFyZ2luLXRvcDogdncoNDBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYyg4MHB4KTtcbiAgfVxuICBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgYW5pbWF0aW9uIDppbmZpbml0eS1zY3JvbGwtbGVmdCA3MHMgaW5maW5pdGUgbGluZWFyIDAuNXMgYm90aDtcbiAgICBoZWlnaHQ6IHZ3KDE5NnB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGhlaWdodDogcGMoMzE2cHgpO1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA5MHM7XG4gICAgfVxuICB9XG4gIEBrZXlmcmFtZXMgaW5maW5pdHktc2Nyb2xsLWxlZnQge1xuICAgIGZyb20ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIH1cbiAgfVxufVxuLnNvbHV0aW9uU3RyZW5ndGgge1xuICAuaW5uZXIge1xuICAgIC5zb2x1dGlvblN0cmVuZ3RoVGl0bGUge1xuICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhsKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiB2dygxMnB4KTtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcihzbWFsbCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4bCk7XG4gICAgICAgIGdhcDogcGMoMjRweCk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgfVxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogdncoOHB4KTtcbiAgICAgICAgaGVpZ2h0OiB2dyg4cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHdpZHRoOiBwYygxM3B4KTtcbiAgICAgICAgICBoZWlnaHQ6IHBjKDEzcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4jc29sdXRpb25TdHJlbmd0aExpc3Qge1xuICBtYXJnaW4tdG9wOiB2dygzMnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTUwKTtcbiAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSB2dygtLWJvcmRlci1yYWRpdXMtc21hbGwpIDAgMDtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoNjRweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKHNtYWxsKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnVuaXQge1xuICAgIHBhZGRpbmc6IHZ3KDQwcHgpIHZ3KDI0cHgpIHZ3KDY0cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luLXRvcDogcGMoODBweCk7XG4gICAgICBwYWRkaW5nOiBwYyg1MXB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MCk7XG4gICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgXCJ0b3AgaW1hZ2VcIiAxZnJcbiAgICAgIFwiYm90dG9tIGltYWdlXCIgYXV0b1xuICAgICAgLyAxZnIgcGMoNDg3cHgpO1xuICAgICAgZ2FwOiAwIHBjKDgwcHgpO1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgLmltYWdlIHtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgICAgfVxuICAgIH1cbiAgICAudG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICBncmlkLWFyZWE6IHRvcDtcbiAgICAgIH1cbiAgICAgIC5udW0ge1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygyNHB4KTtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhsKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoNDJweCk7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4bCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5sZWFkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMTJweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDhweCk7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGFncyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogdncoNHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoMzJweCk7XG4gICAgICAgICAgZ2FwOiBwYyg4cHgpO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICBwYWRkaW5nOiB2dygycHgpIHZ3KDEycHgpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4cyk7XG4gICAgICAgICAgICBwYWRkaW5nOiBwYyg1cHgpIHBjKDEycHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYm90dG9tIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDMycHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICBncmlkLWFyZWE6IGJvdHRvbTtcbiAgICAgIH1cbiAgICAgIC5vdXRsaW5lIHtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1tKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygyNHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoMzJweCk7XG4gICAgICAgIH1cbiAgICAgICAgLnBCdXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbi5zb2x1dGlvbkhvd3RvIHtcbiAgbWFyZ2luLXRvcDogdncoMTIwcHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYygxMjBweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoc21hbGwpO1xuICAgIC5wVGl0bGUge1xuICAgICAgLmVuIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eHhsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubGVhZCB7XG4gICAgICBtYXJnaW4tdG9wOiB2dygzMnB4KTtcbiAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDQwcHgpO1xuICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxODUlO1xuICAgICAgfVxuICAgIH1cbiAgICAuaW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiB2dyg0MHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYyg2NHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnN0YWdlLnNvbHV0aW9uIHtcbiAgbWFyZ2luLXRvcDogdncoMTIwcHgpO1xuICBwYWRkaW5nLWJsb2NrOiB2dyg4MHB4KTtcbiAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoMTgwcHgpO1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDEyMHB4KSBwYygxNTJweCk7XG4gICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbiAgfVxufVxuLnNvbHV0aW9uU3VwcG9ydCB7XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKHNtYWxsKTtcbiAgICAuc29sdXRpb25TdXBwb3J0VGl0bGUge1xuICAgICAgLmphIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZ3KDEycHgpO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteGwpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHh4bCk7XG4gICAgICAgICAgZ2FwOiBwYygyNHB4KTtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiB2dyg4cHgpO1xuICAgICAgICAgIGhlaWdodDogdncoOHB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYygxM3B4KTtcbiAgICAgICAgICAgIGhlaWdodDogcGMoMTNweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubGVhZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDEycHgpO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdncoMjRweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoOHB4KTtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNvbHV0aW9uU3VwcG9ydExpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogdncoMzJweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNjRweCk7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgIFwidW5pdDEgdW5pdDJcIiBhdXRvXG4gICAgICAgIFwidW5pdDQgdW5pdDNcIiBhdXRvXG4gICAgICAgIC8gMWZyIDFmcjtcbiAgICAgIH1cbiAgICAgIC51bml0IHtcbiAgICAgICAgcGFkZGluZzogdncoNDBweCkgdncoMjRweCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgcGFkZGluZzogcGMoNDBweCk7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHBjKDM5OHB4KTtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBoZWlnaHQ6IHZ3KDMwcHgpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgNTAlIDEwMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgaGVpZ2h0OiBwYygxMDBweCk7XG4gICAgICAgICAgICB3aWR0aDogcGMoNDBweCk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDUwJSwgMCAxMDAlKTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zbGF0ZTogMCAtNTAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTUwKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtbGFyZ2UpIHZ3KC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgMCAwO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgMCAwIDA7XG4gICAgICAgICAgICBncmlkLWFyZWE6IHVuaXQxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTEwMCk7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSAwIDA7XG4gICAgICAgICAgICBncmlkLWFyZWE6IHVuaXQyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTIwMCk7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS0xMDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGhlaWdodDogcGMoNDBweCk7XG4gICAgICAgICAgICAgIHdpZHRoOiBwYygxMDBweCk7XG4gICAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgNTAlIDEwMCUpO1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHBjKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIDA7XG4gICAgICAgICAgICBncmlkLWFyZWE6IHVuaXQzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTMwMCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHZ3KC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgdncoLS1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTIwMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgNTAlLCAxMDAlIDAsIDEwMCUgMTAwJSk7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIHBjKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pO1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiB1bml0NDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRvcCB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAubnVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHMpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoNHB4KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14bCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLWwpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJvdHRvbSB7XG4gICAgICAgICAgLm91dGxpbmUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMzJweCk7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5yZXN1bHQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgICAgICAgcGFkZGluZzogdncoMTJweCkgdncoMTZweCkgdncoMTRweCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtc21hbGwpO1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgICAgICAgICAgZ2FwOiB2dygxOXB4KTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoMzJweCk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4NSU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHBjKDhweCkgcGMoMjBweCk7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgICAgICAgIGdhcDogcGMoMjNweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHdpZHRoOiB2dygzNnB4KTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiB2dygzNnB4KTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvc29sdXRpb24vaWNvbl9zdXBwb3J0LndlYnApO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHBjKDM2cHgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcGMoMzZweCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zb2x1dGlvbkZlYXR1cmUge1xuICBtYXJnaW4tdG9wOiB2dyg4MHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoMTIwcHgpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKHNtYWxsKTtcbiAgICAuc29sdXRpb25GZWF0dXJlVGl0bGUge1xuICAgICAgLmphIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZ3KDEycHgpO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteGwpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHh4bCk7XG4gICAgICAgICAgZ2FwOiBwYygyNHB4KTtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiB2dyg4cHgpO1xuICAgICAgICAgIGhlaWdodDogdncoOHB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYygxM3B4KTtcbiAgICAgICAgICAgIGhlaWdodDogcGMoMTNweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zb2x1dGlvbkZlYXR1cmVMaXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDQwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDc2cHgpO1xuICAgICAgfVxuICAgICAgLnVuaXQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygyNHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4gICAgICAgIHBhZGRpbmc6IHZ3KDMycHgpIHZ3KDI0cHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBwYyg0MHB4KTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuICAgICAgICAgIHBhZGRpbmc6IHBjKDUxcHgpO1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgICBcInRvcCBpbWFnZVwiIDFmclxuICAgICAgICAgIFwiYm90dG9tIGltYWdlXCIgYXV0b1xuICAgICAgICAgIC8gMWZyIHBjKDQ4N3B4KTtcbiAgICAgICAgICBnYXA6IDAgcGMoMTA4cHgpO1xuICAgICAgICB9XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICAgIC50b3Age1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiB0b3A7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5lbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMzJweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteGwpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoMTA2cHgpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYm90dG9tIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB2dygzMnB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBib3R0b207XG4gICAgICAgICAgfVxuICAgICAgICAgIC5sZWFkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1sKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMTZweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBwYygxNnB4KTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTg1JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDQwcHgpO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uc29sdXRpb25GQVEge1xuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcGMoMzIzcHgpIDFmcjtcbiAgICB9XG4gICAgLnNvbHV0aW9uRkFRTGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiB2dygzMnB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIH1cbiAgICAgIC51bml0IHtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdncoMzJweCk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDMycHgpO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAucSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBzY2FsZTogMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuYSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucSB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlOiBcbiAgICAgICAgICAgIFwicSBhcnJvd1wiIGF1dG9cbiAgICAgICAgICAgIC8gMWZyIHZ3KDI0cHgpO1xuICAgICAgICAgIGdhcDogdncoMTZweCk7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgICAgICAgXCJxIGFycm93XCIgYXV0b1xuICAgICAgICAgICAgICAvIDFmciBwYygyNHB4KTtcbiAgICAgICAgICAgIGdhcDogcGMoMTZweCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBhcnJvdztcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogdncoMXB4KTtcbiAgICAgICAgICAgIGhlaWdodDogdncoMTNweCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2dyg3cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHZ3KDZweCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBzY2FsZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IHBjKDFweCk7XG4gICAgICAgICAgICAgIGhlaWdodDogcGMoMTNweCk7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDlweCk7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwYyg2cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IHZ3KDFweCk7XG4gICAgICAgICAgICB3aWR0aDogdncoMTNweCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2dygxM3B4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBoZWlnaHQ6IHBjKDFweCk7XG4gICAgICAgICAgICAgIHdpZHRoOiBwYygxM3B4KTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoMTVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1sKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBxO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgd2lsbC1jaGFuZ2U6IG1heC1oZWlnaHQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtZmFzdCkgdmFyKC0tYmV6aWVyKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiB2dygyMHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcGMoMjBweCk7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHBjKDQwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCwgdWwge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTg1JTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnN0YWdlIHtcbiAgJi5jb250YWN0IHtcbiAgICBtYXJnaW4tdG9wOiB2dyg4MHB4KTtcbiAgICBwYWRkaW5nLWJsb2NrOiB2dyg4MHB4KSB2dyg2NHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIG1hcmdpbi10b3A6IHBjKDY0cHgpO1xuICAgICAgcGFkZGluZy1ibG9jazogcGMoMTIwcHgpIHBjKDY0cHgpO1xuICAgIH1cbiAgfVxufVxuLmNvbnRhY3RJbnRybyB7XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKHNtYWxsKTtcbiAgICAuamEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogdncoNHB4KTtcbiAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1tKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDhweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHhsKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxlYWQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMteHMpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNDBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1tKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmluZGljYXRvciB7XG4gICAgICBtYXJnaW4tdG9wOiB2dyg0MHB4KTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMtbCk7XG4gICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtNzAwKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB3aWR0aDogcGMoNjE0cHgpO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiBwYyg2NHB4KTtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLWwpO1xuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nOiB2dygxMnB4KSB2dygyNHB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTUwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBwYWRkaW5nOiBwYygxNnB4KSBwYygyNHB4KTtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIHBkO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB3aWR0aDogdncoMTJweCk7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAgMTAwJSwgMTAwJSA1MCUpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MCk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICB3aWR0aDogcGMoMjRweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgMCAwIHZ3KC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAwIDAgcGMoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIHZ3KC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS0yMDApO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCBwYygtLWJvcmRlci1yYWRpdXMtc21hbGwpIHBjKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZyYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDQwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDY0cHgpO1xuICAgICAgICB3aWR0aDogcGMoODI4cHgpO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnN0YWdlLnRvcHBhZ2Uge1xuICBwYWRkaW5nLWJsb2NrOiB2dygxMjBweCkgdncoODBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDE4MHB4KSBwYygxMjBweCk7XG4gICAgbWFyZ2luLXRvcDogcGNtYXgoLTE5NnB4KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTcyZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzApIDIzLjUyJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkwKSA5NS42NCUpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGZpbHRlcjogdW5zZXQ7XG4gIH1cbn1cbi50b3BXcmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4gIH1cbiAgJi50b3Age1xuICAgIHBhZGRpbmctYmxvY2s6IHZ3KDY0cHgpIHZ3KDExMHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDEwMHB4KSBwYygxMDBweCk7XG4gICAgfVxuICB9XG4gICYuYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiB2dygxMjBweCk7XG4gICAgcGFkZGluZy1ibG9jazogdncoNjRweCkgdncoNDdweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtYXJnaW4tdG9wOiBwYygxODBweCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBwYygxMjBweCkgcGMoMjEwcHgpO1xuICAgIH1cbiAgfVxufVxuLnRvcE1WIHtcbiAgbWFyZ2luLXRvcDogdncoMzhweCk7XG4gIHBhZGRpbmctYm90dG9tOiB2dyg4MHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgcGFkZGluZy1ib3R0b206IHVuc2V0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG4gIC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZ3KDI0cHgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXG4gICAgICBcIi4gdGV4dCBpbWFnZSBpbWFnZVwiIGF1dG9cbiAgICAgIFwiLiBidXR0b24gaW1hZ2UgaW1hZ2VcIiAxZnJcbiAgICAgIC8gMWZyIHBjKDU4NXB4KSBwYyg2NzVweCkgMWZyO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHBjKDk4cHgpO1xuICAgICAgICBncmlkLWFyZWE6IHRleHQ7XG4gICAgICB9XG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHh4eGwpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHh4eGwpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgIEBpbmNsdWRlIHNwX3BjO1xuICAgICAgICB9XG4gICAgICAgIC5saW5lIHtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubGVhZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNzAlO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDE0cHgpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgICAgfVxuICAgICAgLnBob25lcyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgLnBob25lLTAxIHtcbiAgICAgICAgICB3aWR0aDogdncoMjEzcHgpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogdncoNnB4KTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYygzOTBweCk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcGMoMjAzcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB1bnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBob25lLTAyIHtcbiAgICAgICAgICB3aWR0aDogdncoMTk3cHgpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KC0xOTdweCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHZ3KDI2cHgpO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICB3aWR0aDogcGMoMzYwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcGNtYXgoLTIwNHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwYygxN3B4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgICAgLnBhdGgge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogdncoMjUwcHgpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYyg1MTFweCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIHRvcDogdncoMTEycHgpO1xuICAgICAgICAgICAgbGVmdDogdncoLTEycHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIHRvcDogcGMoMjRweCk7XG4gICAgICAgICAgICAgIGxlZnQ6IHBjKDgwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICB0b3A6IHZ3KDI0cHgpO1xuICAgICAgICAgICAgbGVmdDogdncoNDBweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgdG9wOiBwYygyNjJweCk7XG4gICAgICAgICAgICAgIGxlZnQ6IHBjbWF4KC0xM3B4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgdG9wOiB2dyg3MHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IHZ3KDI0NHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICB0b3A6IHBjKDIwNHB4KTtcbiAgICAgICAgICAgICAgbGVmdDogcGMoNTE4cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYnV0dG9ucyB7XG4gICAgICBtYXJnaW4tdG9wOiB2dygzNXB4KTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYyg4MHB4KTtcbiAgICAgICAgZ3JpZC1hcmVhOiBidXR0b247XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICB9XG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIGF1dG87XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZ3KDEycHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgZ2FwOiBwYygxNnB4KTtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogdncoMjBweCk7XG4gICAgICAgICAgaGVpZ2h0OiB2dygycHgpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICByb3RhdGU6IHogLTEyMGRlZztcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYygyMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogcGMoMnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHJvdGF0ZTogeiAxMjBkZWc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dyg2cHgpO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2dyg4cHgpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgIHBhZGRpbmc6IHZ3KDE0cHgpIHZ3KDI0cHgpIHZ3KDE0cHgpIHZ3KDQwcHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBwYygxMnB4KTtcbiAgICAgICAgICBnYXA6IHBjKDE2cHgpO1xuICAgICAgICAgIHBhZGRpbmc6IHBjKDI0cHgpIHBjKDQwcHgpIHBjKDI0cHgpIHBjKDUwcHgpO1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIHRyYW5zbGF0ZTogMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IHZ3KDM2cHgpO1xuICAgICAgICAgIGhlaWdodDogdncoMzZweCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYXJyb3dfY29udGFjdC5zdmcpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYygzNnB4KTtcbiAgICAgICAgICAgIGhlaWdodDogcGMoMzZweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgIHRyYW5zbGF0ZTogLTEyMCUgMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1tKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBhcnRuZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygxMnB4KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiB2dygxMnB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoMTZweCk7XG4gICAgICAgICAgZ2FwOiBwYygxNnB4KTtcbiAgICAgICAgfVxuICAgICAgICBkdCB7XG4gICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXh4eHMpO1xuICAgICAgICAgIFxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHh4cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRkIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IHZ3KDkycHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBwYyg5MnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0b3A6IHZ3KDEwMnB4KTtcbiAgICAgIHJpZ2h0OiB2dygxNnB4KTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3ItYnJhbmQtU2Vjb25kYXJ5LCAjRjRGRjFEKSA2My41NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMCkgODEuNTclKSwgdmFyKC0tY29sb3Itd2hpdGUtd2hpdGUsICNGRkYpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IHZ3KDhweCk7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IHZ3KDE1cHgpO1xuICAgICAgbWluLXdpZHRoOiB2dygxMTBweCk7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogcGMoMzQycHgpO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSArIHBjKDUxNnB4KSk7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IHBjKDE4MHB4KTtcbiAgICAgICAgcGFkZGluZzogcGMoMjJweCk7XG4gICAgICAgIGdhcDogcGMoMTZweCk7XG4gICAgICB9XG4gICAgICAuZGVzYyB7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHhzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1ha2VzaG9wIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiB2dyg1NHB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYyg4OXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50b3BBYm91dCB7XG4gIC5pbm5lciB7XG4gICAgLnRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcihzbWFsbCk7XG4gICAgICAuZW4ge1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICAgICAgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdncoNHB4KTtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogdncoOHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHZ3KDhweCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLWwpO1xuICAgICAgICAgIGdhcDogcGMoMTZweCk7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYygxNXB4KTtcbiAgICAgICAgICAgIGhlaWdodDogcGMoMTVweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDQwcHgpO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhsKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoMjRweCk7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eHhsKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmxlYWQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygyNHB4KTtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLWwpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoNjRweCk7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiB2dyg4MHB4KTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGNtYXgoLTQwcHgpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgfVxuICAgICAgLmNhcnQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dyg0NHB4KTtcbiAgICAgICAgd2lkdGg6IHZ3KDM3NHB4KTtcbiAgICAgICAgdHJhbnNsYXRlOiB2dygtNzhweCkgMDtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoMTAwcHgpO1xuICAgICAgICAgIHdpZHRoOiBwYyg2NTdweCk7XG4gICAgICAgICAgdHJhbnNsYXRlOiAwIHBjbWF4KC0xMHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNwcmluZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogdncoMzJweCk7XG4gICAgICAgIHdpZHRoOiB2dygxNDBweCk7XG4gICAgICAgIGFuaW1hdGlvbjogcm90YXRlIDMwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHdpZHRoOiBwYygzMDBweCk7XG4gICAgICAgICAgcmlnaHQ6IHBjKDE1NnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGtleWZyYW1lcyByb3RhdGUge1xuICAgICAgICBmcm9tIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICB0byB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYmFkZ2VzIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDEzMHB4KTtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcihzbWFsbCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoMTgwcHgpO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICBnYXA6IHBjKDMycHgpO1xuICAgICAgfVxuICAgICAgLnVuaXQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygzMnB4KTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2dygxMDhweCkgMWZyO1xuICAgICAgICBnYXA6IHZ3KDMycHgpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLmJhZGdlIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBwYygyODBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDQwcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteGwpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXhsKTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDEycHgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoOHB4KTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50b3BGZWF0dXJlcyB7XG4gIG1hcmdpbi10b3A6IHZ3KDEyMHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoMTIwcHgpO1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcihzbWFsbCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBwYWRkaW5nLWlubGluZTogdncoNDhweCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pO1xuICAgICAgcGFkZGluZy1ibG9jazogcGMoMTIwcHgpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHBjKDEwOHB4KTtcbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgIC5lbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHMpO1xuICAgICAgICBcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogdncoNHB4KTtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogdncoOHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHZ3KDhweCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgIGdhcDogcGMoMTZweCk7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYygxM3B4KTtcbiAgICAgICAgICAgIGhlaWdodDogcGMoMTNweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuamEge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBwYyg4cHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eGwpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5taWdyYXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogdncoNjRweCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYyg2NHB4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRpbmcge1xuICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMteGwpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoMzJweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14bCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5sZWFkIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoMTJweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4NSU7XG4gICAgICB9XG4gICAgfVxuICAgIC5yb3cge1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDgwcHgpO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBnYXA6IHBjKDMycHgpO1xuICAgICAgfVxuICAgICAgLnVuaXQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dyg0MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50b3BTb2x1dGlvbiB7XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgXCJ0aXRsZSBsaXN0XCIgcGMoMjkycHgpXG4gICAgICAgIFwiYnV0dG9uIGxpc3RcIiBhdXRvXG4gICAgICAgIC8gcGMoMzc4cHgpIDFmcjtcbiAgICAgIGdhcDogMCBwYyg1NHB4KTtcbiAgICB9XG4gICAgLnBUaXRsZSB7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICAgIH1cbiAgICAgIC5lbiB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHh4bCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5sZWFkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMzJweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDQwcHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiB2dyg0MHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBncmlkLWFyZWE6IGxpc3Q7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBnYXA6IHBjKDMycHgpO1xuICAgICAgfVxuICAgICAgLnVuaXQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygxNnB4KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTEwMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pO1xuICAgICAgICBwYWRkaW5nOiB2dygyNHB4KTtcbiAgICAgICAgaGVpZ2h0OiB2dygzMThweCk7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIGF1dG8gYXV0bztcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gICAgICAgICAgcGFkZGluZzogcGMoMjRweCk7XG4gICAgICAgICAgaGVpZ2h0OiBwYygzNDhweCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IHZ3KDEyMHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICB3aWR0aDogcGMoMTQwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhsKTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmxlYWQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDRweCk7XG4gICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoNHB4KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxODUlO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiB2dyg0MHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBncmlkLWFyZWE6IGJ1dHRvbjtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uc29sdXRpb25GQVEudG9wcGFnZSB7XG4gIG1hcmdpbi10b3A6IHZ3KDEyMHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoMTIwcHgpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgXCJ0aXRsZSBsaXN0XCIgcGMoMjkycHgpXG4gICAgICAgIFwiYnV0dG9uIGxpc3RcIiBhdXRvXG4gICAgICAgIC8gcGMoMzc4cHgpIDFmcjtcbiAgICAgIGdhcDogMCBwYyg1NHB4KTtcbiAgICB9XG4gICAgLnBUaXRsZSB7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICAgIH1cbiAgICAgIC5lbiB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHh4bCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNvbHV0aW9uRkFRTGlzdCB7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBsaXN0O1xuICAgICAgfVxuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDY0cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGdyaWQtYXJlYTogYnV0dG9uO1xuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50b3BDYXNlIHtcbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICBcIi4gdGl0bGUgYnV0dG9uIC5cIiBhdXRvXG4gICAgICAgIFwibGlzdCBsaXN0IGxpc3QgbGlzdFwiIGF1dG9cbiAgICAgICAgLyAxZnIgcGMoNjMwcHgpIHBjKDYzMHB4KSAxZnI7XG4gICAgICBnYXA6IHBjKDgycHgpIDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAucFRpdGxlIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2dygyNHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBncmlkLWFyZWE6IHRpdGxlO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuICAgIC50b3BDYXNlU2xpZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDMycHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGdyaWQtYXJlYTogbGlzdDtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiBwYygxMjkycHgpO1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIH1cbiAgICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgIHdpZHRoOiB2dygzMDBweCk7XG4gICAgICAgICAgbWFyZ2luLWlubGluZTogdncoMTJweCk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICB3aWR0aDogcGMoMzk5cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZTogcGMoMTZweCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2dygyMnB4KTtcbiAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZ3KDI0cHgpO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogcGMoMjhweCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHBjKDMycHgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHZ3KDIwMHB4KTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgOC44OTNweCAxLjE4NnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogcGMoMjY2cHgpO1xuICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDExLjgyOHB4IDEuNTc3cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50YWdzIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGdhcDogdncoNHB4KTtcbiAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICAgICAgICAgICAgICBnYXA6IHBjKDhweCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHMpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZ3KDJweCkgdncoMTJweCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHh4cyk7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiBwYygycHgpIHBjKDhweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDE2cHgpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBwYygxNnB4KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAubGVhZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMTJweCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoMTZweCk7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogdncoNjRweCk7XG4gICAgICBwYWRkaW5nLWlubGluZTogdncoMjRweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIGdyaWQtYXJlYTogYnV0dG9uO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qKlxuICogU3dpcGVyIDExLjEuMTVcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwczovL3N3aXBlcmpzLmNvbVxuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMjQgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogTm92ZW1iZXIgMTgsIDIwMjRcbiAqL1xuXG4gQGZvbnQtZmFjZXtmb250LWZhbWlseTpzd2lwZXItaWNvbnM7c3JjOnVybCgnZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUEnKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9OnJvb3R7LS1zd2lwZXItdGhlbWUtY29sb3I6IzAwN2FmZn06aG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87ei1pbmRleDoxfS5zd2lwZXJ7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MDt6LWluZGV4OjE7ZGlzcGxheTpibG9ja30uc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnN3aXBlci13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxO2Rpc3BsYXk6ZmxleDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbixpbml0aWFsKTtib3gtc2l6aW5nOmNvbnRlbnQtYm94fS5zd2lwZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLC5zd2lwZXItaW9zIC5zd2lwZXItc2xpZGUsLnN3aXBlci13cmFwcGVye3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsMCwwKX0uc3dpcGVyLWhvcml6b250YWx7dG91Y2gtYWN0aW9uOnBhbi15fS5zd2lwZXItdmVydGljYWx7dG91Y2gtYWN0aW9uOnBhbi14fS5zd2lwZXItc2xpZGV7ZmxleC1zaHJpbms6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO2Rpc3BsYXk6YmxvY2t9LnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmt7dmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1hdXRvaGVpZ2h0LC5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRle2hlaWdodDphdXRvfS5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxoZWlnaHR9LnN3aXBlci1iYWNrZmFjZS1oaWRkZW4gLnN3aXBlci1zbGlkZXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5zd2lwZXItM2Quc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlcntwZXJzcGVjdGl2ZToxMjAwcHh9LnN3aXBlci0zZCAuc3dpcGVyLXdyYXBwZXJ7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5zd2lwZXItM2R7cGVyc3BlY3RpdmU6MTIwMHB4fS5zd2lwZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdywuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVye292ZXJmbG93OmF1dG87c2Nyb2xsYmFyLXdpZHRoOm5vbmU7LW1zLW92ZXJmbG93LXN0eWxlOm5vbmV9LnN3aXBlci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uc3dpcGVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRle3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0IHN0YXJ0fS5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci13cmFwcGVye3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnl9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVye3Njcm9sbC1zbmFwLXR5cGU6eSBtYW5kYXRvcnl9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItZnJlZS1tb2RlPi5zd2lwZXItd3JhcHBlcntzY3JvbGwtc25hcC10eXBlOm5vbmV9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItZnJlZS1tb2RlPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRle3Njcm9sbC1zbmFwLWFsaWduOm5vbmV9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQ+LnN3aXBlci13cmFwcGVyOjpiZWZvcmV7Y29udGVudDonJztmbGV4LXNocmluazowO29yZGVyOjk5OTl9LnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQ+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGV7c2Nyb2xsLXNuYXAtYWxpZ246Y2VudGVyIGNlbnRlcjtzY3JvbGwtc25hcC1zdG9wOmFsd2F5c30uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKX0uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXdyYXBwZXI6OmJlZm9yZXtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjFweDt3aWR0aDp2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKX0uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGR7bWFyZ2luLWJsb2NrLXN0YXJ0OnZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKX0uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVyOjpiZWZvcmV7d2lkdGg6MTAwJTttaW4td2lkdGg6MXB4O2hlaWdodDp2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKX0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxMH0uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93e2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTUpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9te2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLWxhenktcHJlbG9hZGVye3dpZHRoOjQycHg7aGVpZ2h0OjQycHg7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTttYXJnaW4tbGVmdDotMjFweDttYXJnaW4tdG9wOi0yMXB4O3otaW5kZXg6MTA7dHJhbnNmb3JtLW9yaWdpbjo1MCU7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjo0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtib3JkZXItcmFkaXVzOjUwJTtib3JkZXItdG9wLWNvbG9yOnRyYW5zcGFyZW50fS5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MgLnN3aXBlci1zbGlkZS12aXNpYmxlIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIsLnN3aXBlcjpub3QoLnN3aXBlci13YXRjaC1wcm9ncmVzcykgLnN3aXBlci1sYXp5LXByZWxvYWRlcnthbmltYXRpb246c3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcn0uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRley0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojZmZmfS5zd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2t7LS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiMwMDB9QGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LnN3aXBlci12aXJ0dWFsIC5zd2lwZXItc2xpZGV7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1ob3Jpem9udGFsIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXJ7aGVpZ2h0OjFweDt3aWR0aDp2YXIoLS1zd2lwZXItdmlydHVhbC1zaXplKX0uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci12ZXJ0aWNhbCAuc3dpcGVyLXdyYXBwZXI6OmFmdGVye3dpZHRoOjFweDtoZWlnaHQ6dmFyKC0tc3dpcGVyLXZpcnR1YWwtc2l6ZSl9OnJvb3R7LS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOjQ0cHh9LnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLWJ1dHRvbi1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi10b3Atb2Zmc2V0LDUwJSk7d2lkdGg6Y2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gNDQgKiAyNyk7aGVpZ2h0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO21hcmdpbi10b3A6Y2FsYygwcHggLSAodmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDIpKTt6LWluZGV4OjEwO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKX0uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQsLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVke29wYWNpdHk6LjM1O2N1cnNvcjphdXRvO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWhpZGRlbiwuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24taGlkZGVue29wYWNpdHk6MDtjdXJzb3I6YXV0bztwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1wcmV2e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnN3aXBlci1idXR0b24tbmV4dCBzdmcsLnN3aXBlci1idXR0b24tcHJldiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvbnRhaW47dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9LnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCBzdmcsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tcHJldiBzdmd7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5zd2lwZXItYnV0dG9uLXByZXYsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dHtsZWZ0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwxMHB4KTtyaWdodDphdXRvfS5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tcHJldntyaWdodDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQsMTBweCk7bGVmdDphdXRvfS5zd2lwZXItYnV0dG9uLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsLnN3aXBlci1idXR0b24tcHJldjphZnRlcntmb250LWZhbWlseTpzd2lwZXItaWNvbnM7Zm9udC1zaXplOnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO3RleHQtdHJhbnNmb3JtOm5vbmUhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOjA7Zm9udC12YXJpYW50OmluaXRpYWw7bGluZS1oZWlnaHQ6MX0uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXJ7Y29udGVudDoncHJldid9LnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2e3JpZ2h0OnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpZGVzLW9mZnNldCwxMHB4KTtsZWZ0OmF1dG99LnN3aXBlci1idXR0b24tbmV4dDphZnRlciwuc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVye2NvbnRlbnQ6J25leHQnfS5zd2lwZXItcGFnaW5hdGlvbntwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2l0aW9uOi4zcyBvcGFjaXR5O3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7ei1pbmRleDoxMH0uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVue29wYWNpdHk6MH0uc3dpcGVyLXBhZ2luYXRpb24tZGlzYWJsZWQ+LnN3aXBlci1wYWdpbmF0aW9uLC5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1kaXNhYmxlZHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cywuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLC5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9ue2JvdHRvbTp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1ib3R0b20sOHB4KTt0b3A6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tdG9wLGF1dG8pO2xlZnQ6MDt3aWR0aDoxMDAlfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZTowfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2Zvcm06c2NhbGUoLjMzKTtwb3NpdGlvbjpyZWxhdGl2ZX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle3RyYW5zZm9ybTpzY2FsZSgxKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW57dHJhbnNmb3JtOnNjYWxlKDEpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldnt0cmFuc2Zvcm06c2NhbGUoLjY2KX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldnt0cmFuc2Zvcm06c2NhbGUoLjMzKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHR7dHJhbnNmb3JtOnNjYWxlKC42Nil9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHR7dHJhbnNmb3JtOnNjYWxlKC4zMyl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt3aWR0aDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtd2lkdGgsdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemUsOHB4KSk7aGVpZ2h0OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQsdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXNpemUsOHB4KSk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYm9yZGVyLXJhZGl1cyw1MCUpO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLWNvbG9yLCMwMDApO29wYWNpdHk6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLW9wYWNpdHksIC4yKX1idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtib3gtc2hhZG93Om5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtjdXJzb3I6cG9pbnRlcn0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0Om9ubHktY2hpbGR7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXtvcGFjaXR5OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1vcGFjaXR5LCAxKTtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpfS5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHN7cmlnaHQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcmlnaHQsOHB4KTtsZWZ0OnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWxlZnQsYXV0byk7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LC01MCUsMCl9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7bWFyZ2luOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXAsNnB4KSAwO2Rpc3BsYXk6YmxvY2t9LnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6OHB4fS5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyB0b3B9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e21hcmdpbjowIHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ob3Jpem9udGFsLWdhcCw0cHgpfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMsLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2hpdGUtc3BhY2U6bm93cmFwfS5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCwuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgbGVmdH0uc3dpcGVyLWhvcml6b250YWwuc3dpcGVyLXJ0bD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyByaWdodH0uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb257Y29sb3I6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24tY29sb3IsaW5oZXJpdCl9LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItYmctY29sb3IscmdiYSgwLDAsMCwuMjUpKTtwb3NpdGlvbjphYnNvbHV0ZX0uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGx7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0cmFuc2Zvcm06c2NhbGUoMCk7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IHRvcH0uc3dpcGVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGx7dHJhbnNmb3JtLW9yaWdpbjpyaWdodCB0b3B9LnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhciwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbCwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGV7d2lkdGg6MTAwJTtoZWlnaHQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItc2l6ZSw0cHgpO2xlZnQ6MDt0b3A6MH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbCwuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcnt3aWR0aDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1zaXplLDRweCk7aGVpZ2h0OjEwMCU7bGVmdDowO3RvcDowfS5zd2lwZXItcGFnaW5hdGlvbi1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXNjcm9sbGJhcntib3JkZXItcmFkaXVzOnZhcigtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1cywxMHB4KTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3VjaC1hY3Rpb246bm9uZTtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1zY3JvbGxiYXItYmctY29sb3IscmdiYSgwLDAsMCwuMSkpfS5zd2lwZXItc2Nyb2xsYmFyLWRpc2FibGVkPi5zd2lwZXItc2Nyb2xsYmFyLC5zd2lwZXItc2Nyb2xsYmFyLnN3aXBlci1zY3JvbGxiYXItZGlzYWJsZWR7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1zY3JvbGxiYXIsLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1ob3Jpem9udGFse3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsMSUpO2JvdHRvbTp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJvdHRvbSw0cHgpO3RvcDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXRvcCxhdXRvKTt6LWluZGV4OjUwO2hlaWdodDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpemUsNHB4KTt3aWR0aDpjYWxjKDEwMCUgLSAyICogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsMSUpKX0uc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLXZlcnRpY2FsLC5zd2lwZXItdmVydGljYWw+LnN3aXBlci1zY3JvbGxiYXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWxlZnQsYXV0byk7cmlnaHQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1yaWdodCw0cHgpO3RvcDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwxJSk7ei1pbmRleDo1MDt3aWR0aDp2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpemUsNHB4KTtoZWlnaHQ6Y2FsYygxMDAlIC0gMiAqIHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LDElKSl9LnN3aXBlci1zY3JvbGxiYXItZHJhZ3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXNjcm9sbGJhci1kcmFnLWJnLWNvbG9yLHJnYmEoMCwwLDAsLjUpKTtib3JkZXItcmFkaXVzOnZhcigtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1cywxMHB4KTtsZWZ0OjA7dG9wOjB9LnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWd7Y3Vyc29yOm1vdmV9LnN3aXBlci1zY3JvbGxiYXItbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci16b29tLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcn0uc3dpcGVyLXpvb20tY29udGFpbmVyPmNhbnZhcywuc3dpcGVyLXpvb20tY29udGFpbmVyPmltZywuc3dpcGVyLXpvb20tY29udGFpbmVyPnN2Z3ttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb250YWlufS5zd2lwZXItc2xpZGUtem9vbWVke2N1cnNvcjptb3ZlO3RvdWNoLWFjdGlvbjpub25lfS5zd2lwZXIgLnN3aXBlci1ub3RpZmljYXRpb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3otaW5kZXg6LTEwMDB9LnN3aXBlci1mcmVlLW1vZGU+LnN3aXBlci13cmFwcGVye3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O21hcmdpbjowIGF1dG99LnN3aXBlci1ncmlkPi5zd2lwZXItd3JhcHBlcntmbGV4LXdyYXA6d3JhcH0uc3dpcGVyLWdyaWQtY29sdW1uPi5zd2lwZXItd3JhcHBlcntmbGV4LXdyYXA6d3JhcDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnN3aXBlci1mYWRlLnN3aXBlci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eX0uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci5zd2lwZXItY3ViZXtvdmVyZmxvdzp2aXNpYmxlfS5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjE7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNmb3JtLW9yaWdpbjowIDA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1jdWJlLnN3aXBlci1ydGwgLnN3aXBlci1zbGlkZXt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMH0uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldntwb2ludGVyLWV2ZW50czphdXRvO3Zpc2liaWxpdHk6dmlzaWJsZX0uc3dpcGVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvd3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjBweDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29wYWNpdHk6LjY7ei1pbmRleDowfS5zd2lwZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93OmJlZm9yZXtjb250ZW50OicnO2JhY2tncm91bmQ6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtmaWx0ZXI6Ymx1cig1MHB4KX0uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0Ky5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6YXV0bzt2aXNpYmlsaXR5OnZpc2libGV9LnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1jdWJlLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci5zd2lwZXItZmxpcHtvdmVyZmxvdzp2aXNpYmxlfS5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjF9LnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWZsaXAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHt6LWluZGV4OjA7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uc3dpcGVyLWNyZWF0aXZlIC5zd2lwZXItc2xpZGV7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eSxoZWlnaHR9LnN3aXBlci5zd2lwZXItY2FyZHN7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWNhcmRzIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47b3ZlcmZsb3c6aGlkZGVufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuYm9keS5scCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS01MCk7XG4gIGhlYWRlciB7XG4gICAgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZ3KDU0cHgpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBwYyg0MHB4KTtcbiAgICAgIH1cbiAgICAgICNjb250YWN0QnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgICAgICAgQGluY2x1ZGUgaG92ZXJCR0NvbG9yKHZhcigtLWNvbG9yLWJyYW5kKSk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3ZlckJHQ29sb3IodmFyKC0tY29sb3Itc2Vjb25kKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIG1haW4ge1xuICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgfVxuICBmb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYmxvY2s6IHZ3KDgwcHgpIHZ3KDMycHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBwYygxMjBweCkgcGMoMzJweCk7XG4gICAgfVxuICAgIC5pbm5lciB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmNvcHkge1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1tKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmxvZ28ge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygxOHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDE4cHgpO1xuICAgICAgICB9XG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IHZ3KDI2MHB4KTtcbiAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICAgIEBpbmNsdWRlIGhvdmVyT3A7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgd2lkdGg6IHBjKDMwMHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jb3B5cmlnaHQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dyg4MHB4KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoMTIwcHgpO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG4gIC5pY29ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxMHB4IDIwcHggcmdiYSg4NiwgMjE0LCAyNDIsIDAuODApKTtcbiAgfVxufVxuLkxQbWFpblZpc3VhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS0xMDApO1xuICBwYWRkaW5nLWJsb2NrOiB2dygxNzFweCkgdncoOTdweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgcGFkZGluZy1ibG9jazogcGMoMTkwcHgpIHBjKDk3cHgpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZ3KDI0cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFxuICAgICAgXCJ0ZXh0IGltYWdlXCIgYXV0b1xuICAgICAgXCJidXR0b24gaW1hZ2VcIiAxZnJcbiAgICAgIC8gMWZyIHBjKDYyOHB4KTtcbiAgICB9XG4gICAgLmltYWdlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcGMoNjJweCk7XG4gICAgICB9XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogdncoMjY4cHgpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMTAwcHggMCAjMmVhN2MyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtc21hbGwpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICB3aWR0aDogcGMoNjI4cHgpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAyMDBweCAwICMzY2M3ZTY7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiB2dyg0MHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHBjKDc2cHgpO1xuICAgICAgfVxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXh4eHhsKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYyg0NHB4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmxlYWQge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygxNnB4KTtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoMjRweCk7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5idXR0b25zIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDM1cHgpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZ3KDIycHgpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICBncmlkLWFyZWE6IGJ1dHRvbjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogcGMoNzZweCkgMDtcbiAgICAgIH1cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0bztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdncoMTJweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgICBnYXA6IHBjKDE2cHgpO1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiB2dygyMHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHZ3KDJweCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICAgICAgcm90YXRlOiB6IC0xMjBkZWc7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICB3aWR0aDogcGMoMjBweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHBjKDJweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICByb3RhdGU6IHogMTIwZGVnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoNnB4KTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdncoOHB4KTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc2Vjb25kKTtcbiAgICAgICAgcGFkZGluZzogdncoMTRweCkgdncoMjJweCkgdncoMTRweCkgdncoNDBweCk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDEycHgpO1xuICAgICAgICAgIGdhcDogcGMoMTZweCk7XG4gICAgICAgICAgcGFkZGluZzogcGMoMjRweCkgcGMoNDBweCkgcGMoMjRweCkgcGMoNTBweCk7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgdHJhbnNsYXRlOiAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogdncoMzZweCk7XG4gICAgICAgICAgaGVpZ2h0OiB2dygzNnB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9hcnJvd19jb250YWN0LnN2Zyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgd2lkdGg6IHBjKDM2cHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBwYygzNnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICB0cmFuc2xhdGU6IC0xMjAlIDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtbSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLWwpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wYXJ0bmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMTJweCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogdncoMTJweCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZ3KDEycHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBwYygxNnB4KTtcbiAgICAgICAgICBnYXA6IHBjKDE2cHgpO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHBjKDE2cHgpO1xuICAgICAgICB9XG4gICAgICAgIGR0IHtcbiAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHh4cyk7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHhzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZGQge1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogdncoOTJweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IHBjKDkycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHBjKDMwMHB4KTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuaWNvbl9iYWcge1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIHdpZHRoOiBwYygyNjdweCk7XG4gICAgICAgIHRvcDogcGMoNjlweCk7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIHRyYW5zbGF0ZTogcGMoNzQwcHgpIDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uTFBpY29ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiB2dyg4OThweCk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBoZWlnaHQ6IHBjKDg2NnB4KTtcbiAgfVxuICAuaWNvbnMge1xuICAgICYuaWNvbl9oZWFydCB7XG4gICAgICB3aWR0aDogdncoMTcxcHgpO1xuICAgICAgYm90dG9tOiB2dygzMnB4KTtcbiAgICAgIGxlZnQ6IHZ3KC02NXB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB3aWR0aDogcGMoMjYxcHgpO1xuICAgICAgICBib3R0b206IHBjKDE3OHB4KTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2xhdGU6IHBjbWF4KC0xODJweCkgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pY29uX211c2ljIHtcbiAgICAgIHdpZHRoOiB2dygxMTZweCk7XG4gICAgICB0b3A6IHZ3KDYzcHgpO1xuICAgICAgcmlnaHQ6IHZ3KDUwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIHdpZHRoOiBwYygyMTZweCk7XG4gICAgICAgIHRvcDogcGMoMjUwcHgpO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2xhdGU6IHBjbWF4KC03NzZweCkgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pY29uX3N0YXIge1xuICAgICAgd2lkdGg6IHZ3KDE0MXB4KTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IHZ3KDE2cHgpO1xuICAgICAgei1pbmRleDogNDtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB3aWR0aDogcGMoMjE2cHgpO1xuICAgICAgICBib3R0b206IHBjKDExM3B4KTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2xhdGU6IHBjbWF4KC01N3B4KSAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmljb25fc21pbGUge1xuICAgICAgd2lkdGg6IHZ3KDE1NXB4KTtcbiAgICAgIHRvcDogdncoMjY4cHgpO1xuICAgICAgcmlnaHQ6IHZ3KC01MHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB3aWR0aDogcGMoMjM2cHgpO1xuICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIHRyYW5zbGF0ZTogcGMoNjA5cHgpIDA7XG4gICAgICB9XG4gICAgfVxuICAgICYuaWNvbl9iYWcge1xuICAgICAgd2lkdGg6IHZ3KDE0MnB4KTtcbiAgICAgIHRvcDogdncoOThweCk7XG4gICAgICBsZWZ0OiB2dygtMTNweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pY29uX2JhZ18wMiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogcGMoMjE2cHgpO1xuICAgICAgICB0b3A6IHBjKDQ1MnB4KTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2xhdGU6IHBjbWF4KC04MzhweCkgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG59XG4uTFB3cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTMwMCk7XG59XG4uTFBxdWllc3Rpb24ge1xuICBwYWRkaW5nLWJsb2NrOiB2dyg0MnB4KSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtNTApO1xuICBib3JkZXItcmFkaXVzOiAwIDAgdncoLS1ib3JkZXItcmFkaXVzLWxhcmdlKSB2dygtLWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDQ2cHgpIDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIHBjKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSkgcGMoLS1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBAaW5jbHVkZSBwZDtcbiAgICAgIHdpZHRoOiBwYygxMjFweCk7XG4gICAgICBoZWlnaHQ6IHBjKDY0cHgpO1xuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAxMDAlLCAwIDAsIDEwMCUgMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idGJsdWUtNTApO1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIHRyYW5zbGF0ZTogcGMoNDM3cHgpIDA7XG4gICAgICBib3R0b206IHBjbWF4KC02NHB4KTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG4gIC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZ3KDE2cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyKHNtYWxsKTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgXCJzdWJ0aXRsZSBzdWJ0aXRsZVwiIGF1dG9cbiAgICAgIFwiaW1hZ2UgcVwiIGF1dG9cbiAgICAgIC8gcGMoNjc5cHgpIDFmcjtcbiAgICB9XG4gICAgLnBTdWJ0aXRsZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2dygyMnB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiBwYygzNHB4KSBwYyg1NnB4KTtcbiAgICAgICAgd2lkdGg6IHBjKDgzNnB4KTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgZ3JpZC1hcmVhOiBzdWJ0aXRsZTtcbiAgICAgIH1cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHBkO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1waWxsKTtcbiAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDgwLjY1JSA4MC42NSUgYXQgNTAlIDUwJSwgdmFyKC0tY29sb3ItYnRibHVlLTIwMCwgIzk2RTFGMikgNDguMDglLCB2YXIoLS1jb2xvci1ncmF5LWxpZ2h0LCAjRjRGNEY0KSA5MC44NyUpO1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgICB9XG4gICAgICAuZW4sIC5qYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICAgIC5qYSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDEycHgpO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhsKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDhweCk7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eGwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gICAgLnEge1xuICAgICAgbWFyZ2luLXRvcDogdncoMzBweCk7XG4gICAgICBtYXJnaW4taW5saW5lOiB2dygyNHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbiAgICAgIHBhZGRpbmc6IHZ3KDMycHgpIHZ3KDMwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGdyaWQtYXJlYTogcTtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIHRyYW5zbGF0ZTogMCBwY21heCgtMThweCk7XG4gICAgICAgIHBhZGRpbmc6IHBjKDM4cHgpIHBjKDQ0cHgpIHBjKDM4cHgpIHBjKDUwcHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIH1cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMTJweCk7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgIGdhcDogdncoMTJweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1sKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE5MCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoMTZweCk7XG4gICAgICAgICAgZ2FwOiBwYygxNnB4KTtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXRcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvbHAvaW1hZ2VzL2NoZWNrLnN2Zyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIHdpZHRoOiB2dygyNXB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHZ3KDI1cHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgd2lkdGg6IHBjKDI1cHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBwYygyNXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KC03cHgpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcGMoMTA3cHgpO1xuICAgICAgICBwYWRkaW5nLXRvcDogcGMoMjNweCk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxufVxuLkxQYWJvdXQge1xuICBwYWRkaW5nLXRvcDogdncoODBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctdG9wOiBwYygxMjBweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoc21hbGwpO1xuICAgIC5wU3VidGl0bGUge1xuICAgICAgLmphIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMTJweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eGwpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoOHB4KTtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHh4bCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmxlYWQge1xuICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYygzMnB4KTtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4jTFBzbGlkZSB7XG4gIG1hcmdpbi10b3A6IHZ3KDY0cHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoODBweCk7XG4gIH1cbiAgaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGFuaW1hdGlvbiA6aW5maW5pdHktc2Nyb2xsLWxlZnQgNzBzIGluZmluaXRlIGxpbmVhciAwLjVzIGJvdGg7XG4gICAgaGVpZ2h0OiB2dyg5OHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGhlaWdodDogcGMoMTgzcHgpO1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA5MHM7XG4gICAgfVxuICB9XG4gIEBrZXlmcmFtZXMgaW5maW5pdHktc2Nyb2xsLWxlZnQge1xuICAgIGZyb20ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICB0byB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIH1cbiAgfVxufVxuLkxQbWVyaXQge1xuICBAaW5jbHVkZSBjb250YWluZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgcGFkZGluZy1ibG9jazogdncoMTIwcHgpIHZ3KDgwcHgpOyBcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZy1ibG9jazogcGMoMTgwcHgpIHBjKDEyMHB4KTtcbiAgfVxuICAuaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4gICAgcGFkZGluZy1ibG9jazogdncoNDBweCkgdncoNjRweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LWxpZ2h0KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBwYygxMjBweCkgcGMoODBweCk7XG4gICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgNHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjEyKSk7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjIuNXB4KTtcbiAgICB9XG4gICAgLnBTdWJ0aXRsZSB7XG4gICAgICAuamEge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygxMnB4KTtcbiAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhsKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDhweCk7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4bCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogdncoNDBweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNjRweCk7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcihzbWFsbCk7XG4gICAgICB9XG4gICAgICAucGxhbkZlYXR1cmVVbml0IHtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoNjBweCk7XG4gICAgICAgICAgJi53aWRlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDgwcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBhdGgtMDEge1xuICAgICAgICB0b3A6IHZ3KDIzMHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgdG9wOiBwYygzMHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBhdGgtMDIge1xuICAgICAgICB0b3A6IHZ3KDI5MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucGF0aC0wMyB7XG4gICAgICAgIHRvcDogdncoMjgwcHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wYXRoLTA0IHtcbiAgICAgICAgdG9wOiB2dygyODBweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHRvcDogcGMoNTBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wYXRoLTA2IHtcbiAgICAgICAgdG9wOiB2dygyMDBweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBhdGgtMDcge1xuICAgICAgICB0b3A6IHZ3KDI1MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgdG9wOiBwY21heCgtMjBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zdGFnZS5scFBsYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDRweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC4xMikpO1xuICB9XG59XG4uTFB3cmFwcGVyXzAyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnRibHVlLTEwMCk7XG4gIHBhZGRpbmctdG9wOiB2dyg4MHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgcGFkZGluZy10b3A6IHBjKDEzMHB4KTtcbiAgfVxufVxuLkxQcGxhbiB7XG4gIC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZ3KDI0cHgpO1xuICAgIHBhZGRpbmctYmxvY2s6IHZ3KDgwcHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyKHNtYWxsKTtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDEyMHB4KSBwYygxNzBweCk7XG4gICAgfVxuICAgIC5wU3VidGl0bGUge1xuICAgICAgLmxvZ28ge1xuICAgICAgICBtYXJnaW4tdG9wOiB2dygxNHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoMjRweCk7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogdncoMjAwcHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgd2lkdGg6IHBjKDI1MnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5qYSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhsKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDQycHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5sZWFkIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoMjRweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1tKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRldGFpbCB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdncoMzJweCk7XG4gICAgICBtYXJnaW4tdG9wOiB2dyg2NHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogcGMoMTQwcHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiBwYyg4MHB4KTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgXCJjb250ZW50IGNvbnRlbnRcIiBhdXRvXG4gICAgICAgIFwiZGVhZGxpbmUgZGVhZGxpbmVcIiBhdXRvXG4gICAgICAgIFwiaW5pdGlhbCBtb250aGx5XCIgYXV0b1xuICAgICAgICAvIDFmciAxZnI7XG4gICAgICAgIGdhcDogcGMoMzJweCkgcGMoMzJweCk7XG4gICAgICB9XG4gICAgICAudW5pdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgICAmLmNvbnRlbnQge1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBjb250ZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmRlYWRsaW5lIHtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogZGVhZGxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaW5pdGlhbCB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IGluaXRpYWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYubW9udGhseSB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IG1vbnRobHk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGR0IHtcbiAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ0Ymx1ZS0xMDApO1xuICAgICAgICAgIHBhZGRpbmc6IHZ3KDJweCkgdncoMTJweCk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbSk7XG4gICAgICAgICAgICBwYWRkaW5nOiBwYyg4cHgpIHBjKDEycHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdncoMTJweCk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBwYygxNnB4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjI1ZW07XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNTAlO1xuICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC53aXRob3V0VGF4IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBwYygxMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eGwpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eGwpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLndpdGhUYXgge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhzKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDY0cHgpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZ3KDMycHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDgwcHgpO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogcGMoMTQwcHgpO1xuICAgICAgfVxuICAgICAgLnBCdXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2dygxNnB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDMycHgpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4uTFBmbG93IHtcbiAgcGFkZGluZy1ibG9jazogdncoODBweCkgdncoNzZweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDEyMHB4KSBwYygxNDBweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoc21hbGwpO1xuICAgIC5wU3VidGl0bGUge1xuICAgICAgLmphIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMTJweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eGwpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoNDJweCk7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5sZWFkIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoMjRweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1tKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogdncoNjRweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcGMoNjRweCk7XG4gICAgICB9XG4gICAgICAudW5pdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDc2cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbiAgICAgICAgcGFkZGluZzogdncoMjRweCkgdncoNDBweCkgdncoNDBweCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoOTJweCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbiAgICAgICAgICBwYWRkaW5nOiBwYyg5cHgpIHBjKDUxcHgpIHBjKDlweCkgcGMoNjNweCk7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICAgIGdhcDogcGMoMjZweCk7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogcGMoODMwcHgpO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IHZ3KC01MnB4KTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gICAgICAgICAgd2lkdGg6IHZ3KDIwcHgpO1xuICAgICAgICAgIGhlaWdodDogdncoMzFweCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9scC9pbWFnZXMvZmxvd19hcnJvdy5zdmcpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYygyMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogcGMoNDVweCk7XG4gICAgICAgICAgICBib3R0b206IHBjbWF4KC02OHB4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvbHAvaW1hZ2VzL2Zsb3dfYXJyb3dfcGMuc3ZnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkbCB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICAgICAgICAgIGdhcDogcGMoNDBweCk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkdCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXhsKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14bCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGRkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1sKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiB2dygtMjFweCk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IHZ3KDEwMHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICB3aWR0aDogcGMoMjAwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cbi5MUGxldHNzdGFydCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB2YXIoLS1jb2xvci1idGJsdWUtMTAwLCAjQjZFNkYyKSAwJSwgdmFyKC0tY29sb3ItYnJhbmQtUHJpbWFyeSwgIzU2RDZGMikgNzIuNzklKTtcbiAgcGFkZGluZy1ibG9jazogdncoMTIwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctaW5saW5lOiB2dygyNHB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDkwcHgpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZ3KDMycHgpO1xuICAgIHBhZGRpbmctYmxvY2s6IHZ3KDY0cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYnRibHVlLTUwKTtcbiAgICBib3gtc2hhZG93OiAwIDRweCA2MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDU2cHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCA0MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig3LjVweCk7XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhsKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHhsKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxlYWQge1xuICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYygxNnB4KTtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgICAgfVxuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDQwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDQwcHgpO1xuICAgICAgfVxuICAgICAgXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdncoMTZweCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgICAgIHBhZGRpbmc6IHZ3KDE2cHgpIHZ3KDI0cHgpIHZ3KDE2cHgpIHZ3KDMycHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBnYXA6IHBjKDE2cHgpO1xuICAgICAgICAgIHBhZGRpbmc6IHBjKDI0cHgpIHBjKDQwcHgpIHBjKDI0cHgpIHBjKDUwcHgpO1xuICAgICAgICAgIHdpZHRoOiBwYyg0MDBweCk7XG4gICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIHRyYW5zbGF0ZTogMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IHZ3KDMwcHgpO1xuICAgICAgICAgIGhlaWdodDogdncoMzBweCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYXJyb3dfY29udGFjdC5zdmcpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYygyOHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogcGMoMjhweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgdHJhbnNsYXRlOiAtMTIwJSAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLW0pO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pY29uIHtcbiAgICAmX2hlYXJ0IHtcbiAgICAgIHRvcDogdncoNTJweCk7XG4gICAgICBsZWZ0OiB2dygtMTVweCk7XG4gICAgICB3aWR0aDogdncoMTYwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIHdpZHRoOiBwYygyODlweCk7XG4gICAgICAgIHRvcDogcGMoMTAwcHgpO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zbGF0ZTogcGNtYXgoLTcyMHB4KSAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmX2JhZyB7XG4gICAgICB0b3A6IHZ3KDVweCk7XG4gICAgICBsZWZ0OiB2dyg0NHB4KTtcbiAgICAgIHdpZHRoOiB2dygxMzJweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgd2lkdGg6IHBjKDI0NnB4KTtcbiAgICAgICAgdG9wOiBwYygyNzFweCk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNsYXRlOiBwY21heCgtNTczcHgpIDA7XG4gICAgICB9XG4gICAgfVxuICAgICZfc21pbGUge1xuICAgICAgdG9wOiB2dygzOXB4KTtcbiAgICAgIHJpZ2h0OiB2dygxMXB4KTtcbiAgICAgIHdpZHRoOiB2dygxNDVweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgd2lkdGg6IHBjKDI0MXB4KTtcbiAgICAgICAgdG9wOiBwYygyN3B4KTtcbiAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgdHJhbnNsYXRlOiBwYyg3MjBweCkgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9zdGFyIHtcbiAgICAgIGJvdHRvbTogdncoMzJweCk7XG4gICAgICByaWdodDogdncoLTE5cHgpO1xuICAgICAgd2lkdGg6IHZ3KDE0MXB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB3aWR0aDogcGMoMjM3cHgpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIHRyYW5zbGF0ZTogcGMoNjMzcHgpIDA7XG4gICAgICB9XG4gICAgfVxuICAgICZfbXVzaWMge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IHZ3KDg5cHgpO1xuICAgICAgd2lkdGg6IHZ3KDEwOHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICB3aWR0aDogcGMoMjkwcHgpO1xuICAgICAgICBib3R0b206IHBjKDExOXB4KTtcbiAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgdHJhbnNsYXRlOiBwYyg1NTRweCkgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5MUGl0ZW1MaXN0IHtcbiAgcGFkZGluZy1ibG9jazogdncoODBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDEyMHB4KSBwYygxODBweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoc21hbGwpO1xuICAgIC5wU3VidGl0bGUge1xuICAgICAgLmphIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMTJweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eGwpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoOHB4KTtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHh4bCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmxlYWQge1xuICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgICAgfVxuICAgIH1cbiAgICAubGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiB2dyg0MHB4KTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ2FwOiB2dygxMnB4KSB2dygxNnB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYyg4MHB4KTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgZ2FwOiBwYygzMnB4KSBwYygzMnB4KTtcbiAgICAgIH1cbiAgICAgIC51bml0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pO1xuICAgICAgICBwYWRkaW5nOiB2dygzMHB4KSB2dygxNnB4KSB2dygxNnB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7XG4gICAgICAgIGdyaWQtcm93OiBzcGFuIDI7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHBjKDE1cHgpO1xuICAgICAgICAgIHBhZGRpbmc6IHBjKDUwcHgpIHBjKDI0cHgpIHBjKDI0cHgpO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IHZ3KDYwcHgpO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICB3aWR0aDogcGMoMTAwcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHhzKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiB2dygzNHB4KTtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgICAgICAgICAgbWluLWhlaWdodDogcGMoNTVweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbi5mYXFXcmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZ3KC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4gIHBhZGRpbmctYmxvY2s6IHZ3KDY0cHgpIHZ3KDgwcHgpO1xuICBib3gtc2hhZG93OiAwIDRweCA2MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgcGFkZGluZy1ibG9jazogcGMoMTgwcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMzBweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIyLjVweCk7XG4gIH1cbn1cbi5MUGNvbnRhY3RBcmVhIHtcbiAgbWFyZ2luLXRvcDogdncoNjRweCk7XG4gIHBhZGRpbmc6IHZ3KDgwcHgpIHZ3KDI0cHgpO1xuICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjIuNXB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoMTIwcHgpO1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDk1cHgpO1xuICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1idGJsdWUtNTApO1xuICAgIHBhZGRpbmc6IHZ3KDQwcHgpIHZ3KDMycHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IHBjKDEyNjBweCk7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgcGFkZGluZzogcGMoODBweCkgcGMoMTA4cHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCA0MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig3LjVweCk7XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgcGMoNjQwcHgpO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICB9XG4gICAgICAubGVhZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDMycHgpO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNzUlO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtbCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoNHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDgwcHgpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDgwcHgpO1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiB2dygtMzZweCk7XG4gICAgICAgIGxlZnQ6IHZ3KDE0NHB4KTtcbiAgICAgICAgd2lkdGg6IHZ3KDU2cHgpO1xuICAgICAgICBoZWlnaHQ6IHZ3KDU2cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2NvbnRhY3Qud2VicCk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICB3aWR0aDogcGMoMTI3cHgpO1xuICAgICAgICAgIGhlaWdodDogcGMoMTI3cHgpO1xuICAgICAgICAgIHRvcDogcGNtYXgoLTUycHgpO1xuICAgICAgICAgIGxlZnQ6IHBjKDU2cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdncoMTZweCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZCk7XG4gICAgICAgIHBhZGRpbmc6IHZ3KDE2cHgpIHZ3KDI0cHgpIHZ3KDE2cHgpIHZ3KDMycHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBnYXA6IHBjKDQwcHgpO1xuICAgICAgICAgIHBhZGRpbmc6IHBjKDU0cHgpIHBjKDQwcHgpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgdHJhbnNsYXRlOiAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogdncoMzBweCk7XG4gICAgICAgICAgaGVpZ2h0OiB2dygzMHB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9hcnJvd19jb250YWN0LnN2Zyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgd2lkdGg6IHBjKDgwcHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiBwYyg4MHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCk7XG4gICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICB0cmFuc2xhdGU6IC0xMjAlIDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtbSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eGwpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0= */
